/* Shared typography scale for the brand and intake pages. */
body{font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
header{height:auto;min-height:88px;gap:24px;padding-top:18px;padding-bottom:18px}
nav{font-size:12px;line-height:1.5;gap:24px}
.preview{font-size:12px;line-height:1.6;letter-spacing:.25px}
h1,.intake-title{font-size:clamp(52px,6.5vw,90px);line-height:1.02;letter-spacing:-3px;font-weight:400}
h2{font-size:clamp(34px,3.8vw,52px);line-height:1.14;letter-spacing:-1.5px;font-weight:400}
.product-link h3{font-size:28px;line-height:1.25;letter-spacing:-.6px}
p,.intro p,.bodycopy,.hero p{font-size:16px;line-height:1.75}
.eyebrow{font-size:11px;line-height:1.65;letter-spacing:1.4px}
.tiny,.intro p.tiny,.product-link p.tiny{font-size:12px;line-height:1.7}
.button{font-family:inherit;font-size:12px;line-height:1.5;letter-spacing:.5px}
.herofoot,.strip,.gallery figcaption{font-size:11px;line-height:1.6;letter-spacing:.7px}
.currency-picker,.currency-note{font-size:12px;line-height:1.5}
.currency-picker select{font-family:inherit;font-size:14px}
.hero-offer>span,.hero-offer small,.price small,.product-price small{font-size:12px;line-height:1.6}
label{font-size:12px;line-height:1.5;letter-spacing:.5px}
input,select{font-family:inherit;font-size:16px}
.check{font-size:13px;line-height:1.6}
summary{font-size:16px;line-height:1.6}
details p{font-size:15px;line-height:1.75}
.model{font-size:16px;line-height:1.6;flex-wrap:wrap;gap:6px 18px}
.model small{font-size:12px;line-height:1.6}
@media(max-width:800px){
 header{min-height:78px}nav{gap:18px;font-size:11px}
 nav a.navcta{font-size:11px}
 h1,.intake-title{font-size:clamp(44px,9vw,68px);letter-spacing:-2px}
 h2{font-size:36px;letter-spacing:-1px}
 .product-link h3{font-size:26px}
 .hero p{font-size:16px}.herofoot,.gallery figcaption,.strip{font-size:11px}
 .currency-toolbar{flex-wrap:wrap;gap:8px 20px}.currency-note{font-size:12px}
 .hero .eyebrow{font-size:11px}
}
@media(max-width:440px){
 h2{font-size:32px}nav{font-size:11px;gap:12px}
 .preview{font-size:11px}.logo{font-size:21px}
}

/* Vector navigation icons and accessible invitation dialog. */
.arrow-icon{width:18px;height:18px;display:inline-block;vertical-align:middle;flex-shrink:0}
.navcta{display:inline-flex;align-items:center;gap:8px}
#invitation-dialog{color:var(--paper);background:#1b2018;border:1px solid #d4ed6355;padding:48px;max-width:560px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow:auto}
#invitation-dialog::backdrop{background:#000b;backdrop-filter:blur(6px)}
#invitation-dialog h2{margin:24px 0}#invitation-dialog p{margin-bottom:22px}
.dialog-close{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;background:transparent;color:var(--paper);font-size:28px;cursor:pointer}
:focus-visible{outline:2px solid var(--lime);outline-offset:5px}
@media(max-width:600px){#invitation-dialog{padding:40px 24px 28px}header{gap:12px}nav .navcta{max-width:150px}.hero .button{max-width:100%;gap:20px}.button{white-space:normal}.fields{grid-template-columns:1fr}}
