/* CONCEPT V3 — flat color, editorial spacing, and a reel of distinct worlds. */
:root {
  --stage: #191a18;
  --paper: #edeae2;
  --ink: #232520;
  --ease: cubic-bezier(.22,.8,.22,1);
  --glass: 255 255 255;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  color: var(--ink);
  background: var(--stage);
  font-synthesis: none;
}
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 90px; }
body { margin: 0; font-size: 16px; line-height: 1.45; -webkit-font-smoothing: antialiased; }
h1,h2,h3,p,ul,ol,figure,dl,dd { margin: 0; }
ul,ol { padding: 0; list-style: none; }
button,input,textarea { font: inherit; }
button,a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 5px; }
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,.plate:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
img,video { display: block; max-width: 100%; height: auto; }
::selection { background: #e9b399; color: #232520; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip { position: fixed; left: 20px; top: -80px; z-index: 90; padding: 12px 20px; background: var(--paper); }
.skip:focus { top: 12px; }
.cta-d { display: none; }
.nav { position: fixed; z-index: 30; top: -8px; left: 0; color: var(--paper); }
.id-block { position: relative; z-index: 2; display: flex; align-items: center; height: 96px; }
.nav-toggle { position: relative; width: 120px; height: 96px; padding: 0; border: 0; display: grid; place-content: center; gap: 7.5px; background: none; color: inherit; }
.nav-toggle span { width: 30px; height: 4.5px; border-radius: 4.5px; background: currentColor; transition: transform .35s var(--ease), opacity .2s; }
.nav.open .nav-toggle span:first-child { transform: translateY(12px) rotate(45deg); }
.nav.open .nav-toggle span:nth-child(2) { opacity: 0; transform: scaleX(.2); }
.nav.open .nav-toggle span:last-child { transform: translateY(-12px) rotate(-45deg); }
.nav-toggle:focus-visible { outline: 0; }
.nav-toggle:focus-visible::before { content: ""; position: absolute; inset: 26px 34px; border-radius: 14px; outline: 2px solid currentColor; }
.nav-links { position: fixed; inset: 0; padding: 120px max(6vw,24px) 60px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-content: center; gap: 14px 48px; background: var(--stage); visibility: hidden; opacity: 0; transition: opacity .35s, visibility .35s; }
.nav.open .nav-links { opacity: 1; visibility: visible; }
.nav-links a { display: block; width: fit-content; font-size: clamp(24px,4vw,52px); font-weight: 500; letter-spacing: -.045em; text-decoration: none; }
.nav-links a:hover { color: #d9b8a0; }
.nav-cta-item { margin-top: 24px; grid-column: 1/-1; }
.nav-cta-item a { font-size: 18px; border-bottom: 1px solid; padding-bottom: 6px; }
.concept-mark,.corner-cta { position: fixed; top: 16px; height: 48px; display: flex; align-items: center; border: 1px solid rgb(var(--glass) / .18); border-radius: 999px; background: linear-gradient(180deg,rgb(var(--glass) / .14),rgb(var(--glass) / .03) 60%), #1d1e1c8a; box-shadow: inset 0 1px 0 rgb(var(--glass) / .33), inset 0 -1px 0 rgb(var(--glass) / .07), inset 0 0 18px rgb(var(--glass) / .05), 0 10px 30px #0000004d, 0 1px 3px #00000040; -webkit-backdrop-filter: blur(18px) saturate(180%); backdrop-filter: blur(18px) saturate(180%); color: #f6f3ec; text-shadow: 0 1px 2px #00000040; white-space: nowrap; }
.concept-mark::before,.corner-cta::before { content: ""; position: absolute; inset: 1px; border-radius: inherit; background: linear-gradient(105deg,rgb(var(--glass) / .17),transparent 30% 70%,rgb(var(--glass) / .08)); pointer-events: none; }
.concept-mark { z-index: 20; left: 50%; transform: translateX(-50%); padding: 0 24px 1px; font: 600 clamp(16px,1.4vw,21px)/1.1 "SF Pro Rounded", ui-rounded, "Helvetica Rounded", "Arial Rounded MT Bold", Helvetica, sans-serif; letter-spacing: -.01em; text-decoration: none; }
.concept-mark i { margin: 0 .5em; font: 200 1.25em/1 "Helvetica Neue", Helvetica, Arial, sans-serif; background: linear-gradient(160deg,#6cb4ff,#a78bfa 40%,#ff6b8b 70%,#ffa24d); -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: none; }
.corner-cta { z-index: 40; right: 24px; justify-content: space-between; gap: 18px; padding: 0 10px 0 20px; font-size: 17px; font-weight: 600; }
.concept-mark:hover,.corner-cta:hover { background-color: #2a2b2899; }
.cta-symbol { display: grid; place-items: center; font-size: 19px; line-height: 1; }
.cta-symbol > * { grid-area: 1/1; }
.corner-cta[aria-expanded="true"] .arr { visibility: hidden; }
.corner-cta[aria-expanded="true"] .cta-symbol::after { content: "×"; grid-area: 1/1; text-align: center; }
.arr { --arr-ink: var(--panel); width: 1.5em; height: 1.5em; flex: none; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; vertical-align: -.4em; clip-path: circle(50%); }
.arr g { stroke-width: 2; clip-path: circle(12px at 14px 14px) view-box; }
.arr-out { stroke: var(--arr-ink); }
.corner-cta .arr { --arr-ink: #1d1e1c; }
.reel-btn .arr { --arr-ink: var(--ink); }
.reel-btn:hover .arr { --arr-ink: var(--panel); }
.chapter-nav { position: fixed; z-index: 20; left: 24px; bottom: 13px; display: flex; gap: 7px; }
.chapter-nav a { color: #95958b; font: 11px/1 ui-monospace,monospace; padding: 9px 7px; text-decoration: none; border-bottom: 1px solid transparent; }
.chapter-nav a[aria-current] { color: var(--paper); border-color: #e5a391; }
.readout { position: fixed; z-index: 20; right: 24px; bottom: 20px; color: #b8b8ad; font-size: 11px; letter-spacing: .02em; }
.readout b { color: var(--paper); font-weight: 500; }
#readout-l { margin-left: 18px; }
.scroll-note { position: fixed; z-index: 20; bottom: 20px; left: 50%; transform: translateX(-50%); color: #95958b; font-size: 11px; }
.scroll-note span { margin-left: 12px; }
.stage { position: relative; }
.track { display: flex; flex-direction: column; gap: 18px; padding: 88px 16px 60px; }
.plate { --panel: var(--paper); --ink: #232520; position: relative; display: flex; flex-direction: column; flex: none; gap: 20px; padding: clamp(24px,3vw,48px); min-width: 0; background: var(--panel); color: var(--ink); border-radius: 22px; overflow: hidden; }
.plate-dean { --panel: #d7c1b1; }
.plate-ladd { --panel: #e9dfb9; }
.plate-marris { --panel: #cbd6be; }
.plate-templates { --panel: #c8c2d6; }
.plate-process { --panel: #30332e; --ink: #eee9df; }
.plate-offer { --panel: #becbd0; }
.plate-end { --panel: #b84d3b; --ink: #fff2e2; }
.idx { flex: none; display: flex; align-items: center; gap: 24px; font: 12px/1.3 ui-monospace,monospace; letter-spacing: .04em; }
.idx span { opacity: .72; }
.plate h2 { font-size: clamp(32px,3.2vw,50px); line-height: 1.02; font-weight: 550; letter-spacing: -.05em; }
.plate h3 { font-size: 21px; line-height: 1.12; font-weight: 550; letter-spacing: -.025em; }
.prose { max-width: 46ch; font-size: clamp(15px,1.25vw,19px); line-height: 1.5; }
.disclaim { font: 12px/1.4 ui-monospace,monospace; text-transform: uppercase; letter-spacing: .04em; opacity: .7; }
.reel-btn { display: inline-flex; width: fit-content; align-items: center; justify-content: space-between; gap: 32px; min-height: 48px; padding: 13px 22px; border: 1px solid currentColor; border-radius: 28px; background: var(--ink); color: var(--panel); text-decoration: none; font-size: 17px; font-weight: 550; transition: background .2s, color .2s; }
.reel-btn:hover { background: transparent; color: var(--ink); }
.plate-motto { min-height: 75svh; }
.motto-block { flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 24px 0 34px; }
.m1 { display: block; font-size: clamp(64px, min(10.2vw,17vh),154px); line-height: .94; font-weight: 600; letter-spacing: -.067em; }
.m1 .line { display: block; }
.m2 { display: block; margin-top: 24px; font-size: clamp(17px,1.6vw,24px); line-height: 1.3; letter-spacing: -.03em; font-weight: 450; }
.hero-aside { position: absolute; right: 48px; top: 46px; font: 12px/1.6 ui-monospace,monospace; text-align: right; opacity: .72; }
.lede { position: absolute; right: 48px; bottom: 48px; width: 26ch; font-size: 19px; line-height: 1.4; letter-spacing: -.01em; }
.motto-block .reel-btn { margin-top: 30px; }
@property --flow { syntax: "<number>"; inherits: false; initial-value: 0; }
@property --rain-angle { syntax: "<angle>"; inherits: false; initial-value: 104deg; }
.grad { background: linear-gradient(var(--rain-angle),#6cb4ff 0%,#a78bfa 8.5%,#ff6b8b 17%,#ffa24d 25%,#ff6b8b 33.5%,#a78bfa 42%,#6cb4ff 50%,#a78bfa 58.5%,#ff6b8b 67%,#ffa24d 75%,#ff6b8b 83.5%,#a78bfa 92%,#6cb4ff 100%); background-size: 200% 130%; background-position: calc((var(--flow) + var(--travel,0)*45)*1%) 50%; background-clip: text; -webkit-background-clip: text; color: transparent; padding: 0 .04em .13em; margin: 0 -.04em -.13em; display: inline-block; }
@keyframes rainbow-flow { to { --flow: 100; } }
@keyframes rainbow-angle { 0%,100% { --rain-angle: 104deg; } 50% { --rain-angle: 76deg; } }
@media(prefers-reduced-motion:no-preference) { .grad { animation: rainbow-flow 10s linear infinite, rainbow-angle 7s ease-in-out infinite; } }
.media-fit { display: flex; justify-content: center; align-items: center; min-width: 0; min-height: 0; }
.mac { position: relative; margin: 0; overflow: hidden; border-radius: 10px; background: #171817; width: 100%; }
.mac-bar { display: flex; align-items: center; gap: 5px; height: 24px; padding-left: 12px; background: #242624; }
.mac-bar i { width: 5px; height: 5px; background: #777b70; border-radius: 50%; }
.mac-bar i:first-child { background: #d78d79; }
.mac img,.mac video { width: 100%; height: auto; aspect-ratio: 8/5; object-fit: contain; }
.frame-cap { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; flex: none; }
.frame-cap h2 { font-size: clamp(26px,2.6vw,40px); }
.frame-cap > a { grid-column: 3; grid-row: 1/3; justify-self: end; font-size: 17px; }
.facts { display: flex; flex-wrap: wrap; gap: 14px 34px; grid-column: 2; font-size: 14px; line-height: 1.25; }
.facts li { max-width: 15ch; cursor: default; }
.facts b { display: block; margin-bottom: 4px; font: italic 400 clamp(38px,3.4vw,54px)/.9 Georgia, serif; letter-spacing: -.04em; }
.plate-dean .media-fit { flex: 1; }
.plate-dean { gap: 24px; }
.ladd-grid { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0,1.65fr) minmax(0,1fr); gap: clamp(24px,4vw,64px); }
.ladd-copy { align-self: end; padding: 0 0 28px; display: flex; flex-direction: column; gap: 22px; }
.ladd-copy h2 { font-size: clamp(40px,5.4vw,82px); max-width: 7ch; }
.ladd-copy .prose { max-width: 27ch; }
.ladd-copy a { font-size: 17px; }
.marris-layout { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 28px; }
.duo { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; }
.duo-row { width: 92%; display: flex; align-items: flex-end; gap: 20px; }
.duo-mac { width: 80%; flex: none; }
.phone { flex: 1; overflow: hidden; border: 5px solid #232520; border-radius: 22px; background: #232520; }
.phone img { aspect-ratio: 390/844; object-fit: cover; }
.marris-copy { display: grid; grid-template-columns: auto minmax(0,1fr) minmax(0,.55fr); gap: 24px; align-items: start; }
.marris-text { display: flex; flex-direction: column; gap: 12px; }
.marris-text h2 { font-size: clamp(28px,3vw,46px); }
.marris-actions { align-self: end; display: flex; flex-direction: column; gap: 16px; text-align: right; font-size: 17px; }
.tpl-head { display: flex; justify-content: space-between; gap: 24px; align-items: start; }
.tpl-head h2 { margin-right: 10%; }
.tpls { flex: 1; min-height: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: repeat(2,minmax(0,1fr)); gap: 20px; padding-bottom: 12px; }
.tpls li { min-width: 0; min-height: 0; }
.tpls li:nth-child(3n+2) { transform: translateY(12px); }
.tpl { height: 100%; display: grid; grid-template-rows: minmax(0,1fr) auto; gap: 9px; text-decoration: none; }
.tpl img { width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: top center; border-radius: 7px; transition: filter .3s; }
.tpl:hover img { filter: brightness(1.08); }
.tpl-copy { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.tpl-name { font-size: 17px; font-weight: 600; letter-spacing: -.02em; white-space: nowrap; }
.tpl-name::after { content: " ↗"; font-size: 12px; }
.tpl-line { font-size: 14px; max-width: 22ch; text-align: right; opacity: .72; }
.plate-process > h2 { font-size: clamp(42px,5vw,76px); }
.steps { flex: 1; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 25px; align-items: start; counter-reset: steps; padding-top: 28px; }
.steps li { padding-top: 18px; border-top: 1px solid #ffffff48; counter-increment: steps; }
.steps li:nth-child(even) { margin-top: 54px; }
.steps li::before { content: "0" counter(steps); display: block; font: italic 30px/1 Georgia, serif; margin-bottom: 24px; color: #c7b89b; }
.steps h3 { margin-bottom: 18px; font-size: 26px; font-weight: 650; letter-spacing: -.04em; }
.steps h3 em { font: italic 400 1.08em Georgia, serif; letter-spacing: -.02em; color: #f3c1a3; }
.steps .prose { font-size: 17px; line-height: 1.55; opacity: .85; }
.step-icon { display: none; }
.offer-grid { flex: 1; min-height: 0; display: grid; grid-template-columns: 1fr .92fr; gap: clamp(28px,5vw,80px); }
.offer-services { display: flex; flex-direction: column; gap: 24px; }
.offer-services h2 { max-width: 17ch; }
.offer-services .grad { color: inherit; background: none; animation: none; }
.spec { display: grid; gap: 16px; }
.spec div { padding-top: 12px; border-top: 1px solid #23252040; }
.spec dt { font-weight: 600; font-size: 16px; margin-bottom: 5px; }
.spec dd { max-width: 48ch; font-size: 16px; line-height: 1.45; }
.chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: auto; }
.chips li { padding: 7px 12px; border: 1px solid #23252040; border-radius: 20px; font-size: 13px; }
.faq { align-self: center; }
.faq details { padding: 17px 0; border-top: 1px solid #23252050; }
.faq details:last-child { border-bottom: 1px solid #23252050; }
.faq summary { position: relative; list-style: none; cursor: pointer; padding-right: 30px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 0; top: 0; font-size: 20px; line-height: 1; }
.faq details[open] summary::after { content: "−"; }
.faq h3 { font-size: 18px; }
.faq p { margin-top: 14px; font-size: 16px; line-height: 1.5; max-width: 45ch; }
.end-grid { flex: 1; min-height: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8%; }
.end-grid > div:first-child { display: flex; flex-direction: column; gap: 16px; }
.portrait-slot { font-size: 42px; letter-spacing: -.08em; font-weight: 500; line-height: 1; }
.portrait-slot span { font-style: italic; opacity: .55; margin: 0 4px; }
.end-grid .prose { font-size: 17px; max-width: 45ch; }
.bio { margin-top: auto; }
.bio li,.contact-list li { display: grid; grid-template-columns: 88px minmax(0,1fr); gap: 14px; padding: 9px 0; border-top: 1px solid #fff2e248; font-size: 15px; }
.bio span,.contact-list span { opacity: .75; }
#contact { align-self: center; }
.contact-title { font-size: clamp(36px,4.5vw,66px) !important; line-height: 1 !important; margin-bottom: 20px; }
.contact-title span { display: block; margin-top: 8px; color: #f3c1a3; }
.contact-list { margin-top: 28px; }
.contact-list a { overflow-wrap: anywhere; }
.legal { flex: none; padding-top: 12px; border-top: 1px solid #fff2e248; font-size: 12px; line-height: 1.5; opacity: .78; }
.copy { font-size: 13px; opacity: .78; }
.vbtn { position: absolute; left: 12px; bottom: 12px; z-index: 2; width: 38px; height: 38px; border: 1px solid #ffffff70; border-radius: 50%; color: white; background: #191a18d9; display: grid; place-items: center; }
.vbtn-icon { width: 9px; height: 11px; border-left: 2px solid; border-right: 2px solid; }
.vbtn[aria-label^="Play"] .vbtn-icon { width: 0; height: 0; border: 0; border-left: 9px solid; border-top: 6px solid transparent; border-bottom: 6px solid transparent; margin-left: 2px; }
.ripple-layer { position: fixed; z-index: 10; inset: 0; width: 100%; height: 100%; pointer-events: none; }

/* Enough vertical room is required for a horizontal composition. */
html.is-reel,html.is-reel body { height: 100%; overflow: clip; }
html.is-reel .stage { height: 100svh; padding: 90px 0 58px; overflow: clip; }
html.is-reel .track { position: relative; flex-direction: row; align-items: stretch; gap: 28px; width: max-content; height: 100%; padding: 0; will-change: transform; touch-action: pan-y; }
html.is-reel .plate { width: min(90vw,1440px); height: 100%; min-height: 0; opacity: calc(.72 + var(--focus,1)*.28); }
html.is-reel .plate-ladd { width: min(92vw,1480px); }
html.is-reel .plate-dean { padding: 24px 28px; }
html.is-reel .plate:focus-visible { outline-offset: -5px; }
html.is-reel .media-fit { container-type: size; height: 100%; }
html.is-reel .media-fit > .mac { width: min(100cqw,calc((100cqh - 24px)*1.6)); }
html.is-reel .duo { container-type: size; }
html.is-reel .duo-row { width: min(94cqw,calc((100cqh - 24px)*2)); }
.is-dragging,.is-dragging * { cursor: default !important; user-select: none !important; }

/* Contact is one continuous expansion from the original trigger. */
#review { --panel: #e2ece5; --ink: #203a32; color-scheme: light; position: fixed; inset: 0; margin: 0; width: 100%; height: 100dvh; max-width: none; max-height: none; padding: 0; border: 0; border-radius: 0; background: #e2ece5e8; color: var(--ink); -webkit-backdrop-filter: blur(28px) saturate(75%); backdrop-filter: blur(28px) saturate(75%); overflow: auto; overscroll-behavior: contain; isolation: isolate; }
#review::backdrop { background: #19352c15; }
#review .corner-cta { background: #ffffff45; border-color: #203a3250; color: var(--ink); box-shadow: none; text-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
#review .corner-cta::before { display: none; }
.review-layout { width: min(1180px,100%); min-height: 100%; margin: auto; padding: 110px 56px 60px; display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: clamp(40px,8vw,120px); }
.eyebrow { font: 12px/1.4 ui-monospace,monospace; letter-spacing: .04em; text-transform: uppercase; }
.review-intro h2 { margin: 32px 0; font-size: clamp(64px,7.6vw,108px); font-weight: 500; line-height: .94; letter-spacing: -.065em; }
.review-intro h2 em { font-family: Georgia,serif; font-weight: 400; }
.review-intro h2 em.grad { padding-right: .14em; margin-right: -.14em; }
.review-intro > p:not(.eyebrow) { max-width: 32ch; font-size: 17px; }
.review-intro > a { display: inline-block; margin-top: 28px; font-size: 17px; overflow-wrap: anywhere; }
.review-intro .review-footnote { margin-top: 48px; font: 11px/1.6 ui-monospace,monospace !important; opacity: .72; }
.modal-form { min-width: 0; }
.modal-form > .eyebrow { margin-bottom: 12px; }
#review-note { font-size: 14px; opacity: .72; margin-bottom: 32px; }
.form-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
label { display: block; font-size: 16px; margin: 20px 0 8px; }
label span { opacity: .72; font-size: 13px; }
input,textarea { display: block; width: 100%; min-width: 0; padding: 12px 0; border: 0; border-bottom: 1px solid #23252055; border-radius: 0; background: transparent; color: var(--ink); font-size: 16px; }
textarea { min-height: 108px; resize: vertical; }
input::placeholder { color: #66685e; }
[aria-invalid="true"] { border-color: #a93429; }
.modal-error { font-size: 12px; color: #a93429; min-height: 20px; margin: 14px 0; }
.modal-form .reel-btn { width: 100%; }
.modal-small { font-size: 13px; opacity: .65; margin-top: 16px; text-align: center; }
.modal-error a { color: inherit; }
.bot { position: absolute; left: -9999px; }
.modal-form button[disabled] { opacity: .6; cursor: progress; }
.modal-form.is-sent > :not(.modal-sent) { display: none; }
.modal-sent { padding: 28px 0; outline: 0; }
.modal-sent-title { margin-bottom: 14px; font-size: clamp(32px,3.4vw,44px); font-weight: 500; line-height: 1; letter-spacing: -.05em; }
.modal-sent p:last-child { max-width: 32ch; font-size: 17px; }
html.contact-open,html.contact-open body,html.menu-open,html.menu-open body { overflow: hidden; }

@media(min-width:1000px) and (max-height:850px) {
  html.is-reel .plate { padding: 24px 32px; gap: 16px; }
  .m1 { font-size: min(10vw,16vh); }
  .motto-block { padding: 12px 0 24px; }
  .motto-block .reel-btn { margin-top: 20px; }
  .hero-aside { top: 26px; right: 32px; }
  .lede { bottom: 32px; right: 32px; }
  .plate h2 { font-size: 36px; }
  .ladd-copy h2 { font-size: 58px; }
  .plate-process > h2 { font-size: 48px; }
  .steps { padding-top: 10px; gap: 20px; }
  .steps li:nth-child(even) { margin-top: 30px; }
  .steps li::before { margin-bottom: 20px; }
  .steps h3 { font-size: 22px; }
  .steps li::before { font-size: 24px; }
  .steps .prose { font-size: 14px; }
  .offer-services { gap: 14px; }
  .spec { gap: 10px; }
  .spec dd { font-size: 14px; }
  .faq details { padding: 13px 0; }
  .faq p { font-size: 14px; }
  .portrait-slot { font-size: 30px; }
  .end-grid > div:first-child { gap: 10px; }
  .end-grid .prose { font-size: 16px; }
  .bio li,.contact-list li { padding: 7px 0; font-size: 13px; }
  .contact-title { font-size: 44px !important; }
  .contact-list { margin-top: 20px; }
}
html:not(.is-reel) .chapter-nav,html:not(.is-reel) .scroll-note,html:not(.is-reel) .readout { display: none; }
html:not(.is-reel) body::before { content: ""; position: fixed; z-index: 20; top: 0; left: 0; right: 0; height: 76px; background: var(--stage); pointer-events: none; }
html:not(.is-reel) .plate { scroll-margin-top: 80px; }
html:not(.is-reel) .tpls { grid-template-rows: auto auto; }
html:not(.is-reel) .tpl img { height: auto; aspect-ratio: 8/5; }
html:not(.is-reel) .steps { padding-bottom: 20px; }
@media(max-width:999px) {
  .concept-mark { top: auto; bottom: calc(14px + env(safe-area-inset-bottom)); height: 44px; padding: 0 20px 1px; font-size: clamp(14px,4vw,17px); }
  .corner-cta { right: 16px; }
  .hero-aside { display: none; }
  .lede { position: static; margin-top: 24px; max-width: 35ch; width: auto; }
  .m1 { font-size: clamp(58px,12vw,110px); }
  .ladd-grid { grid-template-columns: 1fr; gap: 28px; }
  .ladd-copy { padding: 0; gap: 16px; }
  .ladd-copy h2 { max-width: none; }
  .ladd-copy .prose { max-width: 46ch; }
  .steps { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; }
  .steps li:nth-child(even) { margin-top: 36px; }
  .offer-grid { grid-template-columns: 1fr; gap: 36px; }
  .end-grid { gap: 32px; }
  .review-layout { padding: 100px 32px 40px; gap: 40px; }
  .review-intro h2 { font-size: 70px; }
}
@media(max-width:600px) {
  .nav { top: -8px; }
  .id-block { height: 88px; }
  .nav-toggle { width: 104px; height: 88px; }
  .corner-cta { top: 14px; right: 14px; height: 44px; padding: 0 14px; font-size: 13px; gap: 12px; }
  .nav-links { grid-template-columns: 1fr; align-content: start; padding-top: 100px; overflow-y: auto; gap: 16px; }
  .nav-links a { font-size: 28px; }
  .nav-cta-item { margin-top: 14px; }
  .nav-cta-item a { font-size: 16px; }
  .track { padding: 76px 10px 16px; gap: 12px; }
  .plate { padding: 24px 22px; border-radius: 17px; gap: 24px; }
  .plate-motto { min-height: calc(100svh - 92px); }
  .idx { font-size: 11px; gap: 16px; }
  .idx span { max-width: 24ch; }
  .motto-block { padding: 12px 0 16px; }
  .m1 { font-size: clamp(48px,12.8vw,76px); }
  .m2 { font-size: 18px; max-width: 22ch; }
  .lede { font-size: 14px; margin-top: 28px; }
  .motto-block .reel-btn { margin-top: 24px; }
  .frame-cap { grid-template-columns: auto 1fr; gap: 14px; }
  .facts { grid-column: 1/-1; font-size: 13px; gap: 12px 22px; }
  .facts li { max-width: 12ch; }
  .frame-cap > a { grid-column: 1/-1; grid-row: auto; justify-self: start; }
  .ladd-copy h2 { font-size: 44px; }
  .duo-row { width: 100%; gap: 10px; }
  .phone { border-width: 3px; border-radius: 10px; }
  .mac-bar { height: 18px; }
  .marris-copy { grid-template-columns: 1fr; gap: 16px; }
  .marris-actions { text-align: left; gap: 12px; }
  .tpl-head { flex-direction: column; gap: 20px; }
  .tpl-head h2 { margin: 0; }
  .tpls { grid-template-columns: 1fr; gap: 24px; padding-bottom: 0; }
  .tpls li:nth-child(3n+2) { transform: none; }
  .tpl-line { font-size: 13px; }
  .steps { grid-template-columns: 1fr; gap: 28px; }
  .steps li:nth-child(even) { margin-top: 0; margin-left: 24px; }
  .steps li::before { margin-bottom: 18px; }
  .steps h3 { margin-bottom: 12px; }
  .steps .prose { font-size: 15px; }
  .end-grid { grid-template-columns: 1fr; gap: 40px; }
  .end-grid .prose { font-size: 17px; }
  .bio { margin-top: 16px; }
  .contact-title { font-size: 42px !important; }
  .contact-list li,.bio li { font-size: 14px; }
  .legal { font-size: 12px; }
  .review-layout { grid-template-columns: 1fr; align-content: start; padding: 96px 24px 36px; gap: 40px; }
  .review-intro h2 { font-size: 64px; margin: 22px 0; }
  .review-intro > p:not(.eyebrow) { font-size: 15px; }
  .review-intro .review-footnote { display: none; }
  .review-intro > a { margin-top: 18px; }
  .form-pair { gap: 18px; }
  #review-note { margin-bottom: 16px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
@media(forced-colors:active) { .plate,.reel-btn,.corner-cta,.concept-mark { border: 1px solid; } .concept-mark i { color: CanvasText; background: none; } .grad { background: none; color: CanvasText; } .ripple-layer { display: none; } }

/* Accepted V2 window atmosphere and reading progress. */
#review::before { content: ""; position: fixed; z-index: -1; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 10% 20%,#bad5cc70,transparent 55%),radial-gradient(ellipse at 85% 85%,#c4d5e578,transparent 55%); }
#review .corner-cta:hover { background: #ffffff80; }
.scroll-progress { position: fixed; z-index: 60; inset: 0 0 auto; height: 3px; background: #edeae21c; pointer-events: none; }
.scroll-progress span { display: block; width: 100%; height: 100%; clip-path: inset(0 100% 0 0); background: linear-gradient(90deg,#6cb4ff,#a78bfa,#ff6b8b,#ffa24d,#ff6b8b,#a78bfa,#6cb4ff) 0 0/60vw 100% repeat-x; animation: rainbow-run 3.5s linear infinite; }
@keyframes rainbow-run { to { background-position-x: 60vw; } }
#review .corner-cta { border: 1px solid #203a3230; }
@media(max-width:600px) {
  .corner-cta { padding: 0 12px; gap: 10px; }
}
@media(max-width:359px) {
  .nav-toggle { width: 92px; }
  .corner-cta { font-size: 12px; padding: 0 10px; gap: 7px; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  #review { background: #e2ece5; }
  .concept-mark,.corner-cta { background: #2b2c29f2; }
}
@media(forced-colors:active) {
  .scroll-progress span { background: Highlight; }
  #review { background: Canvas; backdrop-filter: none; }
  #review::before { display: none; }
}
