/* Final hero sizing takes precedence over the earlier width breakpoints. */
:root{--ink:#242c35;--blue:#526b7c;--deep:#263f55;--paper:#f8f8f5;--line:#dde1df;--muted:#687078;--accent:#b84b43}
.header{background:rgba(248,248,245,.96)}
.header-top{padding:11px 0;gap:24px}
.header-bottom{padding:8px 0;border-color:var(--line)}
.brand{min-width:0;flex-shrink:0;line-height:1;width:224px}
.brand-logo{width:100%;height:auto}
.btn-primary{background:var(--accent)}
.btn-primary:hover{background:#a3413b}
.hero-copy h1 em{color:var(--blue)}
.stage-action .btn{box-shadow:0 6px 25px #263f551a}
.hero-stage:before{inset:10px -35px 38px -20px;background:radial-gradient(ellipse 48% 48% at 52% 50%,#dce5e6 0%,#edf0ec 48%,rgba(248,248,245,0) 100%)}
.craft-flow{position:absolute;left:-35px;top:0;width:calc(100% + 70px);height:calc(100% - 36px);max-width:none;z-index:0;pointer-events:none;opacity:.8}
.master-quip{position:absolute;right:0;top:55px;z-index:6;max-width:165px;padding:12px 14px;color:var(--ink);background:rgba(255,255,255,.94);border:1px solid #d8e0dd;border-radius:15px 15px 15px 3px;font-size:13px;line-height:1.35;box-shadow:0 7px 22px #263f550c;pointer-events:none}
.master-quip[hidden]{display:none}
.has-quip .stage-label{visibility:hidden}
@media(prefers-reduced-motion:reduce){.craft-flow{display:none}}
.hero-stage .hero-sticker{background:#526568}
.specimen-desk{background:#e9eeeb}
.sample-sheet{--sheet-angle:0deg;--drift-range:1;--drift-x:10px;--drift-y:12px;--drift-turn:1.6deg;transform:rotate(var(--sheet-angle));transform-origin:50% 55%;animation:specimen-drift var(--drift-time,17s) linear var(--drift-delay,0s) infinite}
.sample-sheet:nth-child(1){--sheet-angle:-5deg;--drift-time:17s;--drift-delay:-7s;--drift-x:11px;--drift-y:12px;--drift-turn:1.6deg}
.sample-sheet:nth-child(2){--sheet-angle:7deg;--drift-time:21s;--drift-delay:-13s;--drift-x:-10px;--drift-y:11px;--drift-turn:-1.8deg}
.sample-sheet:nth-child(3){--sheet-angle:3deg;--drift-time:19s;--drift-delay:-4s;--drift-x:12px;--drift-y:10px;--drift-turn:-1.5deg}
.sample-sheet:nth-child(4){--sheet-angle:-4deg;--drift-time:23s;--drift-delay:-16s;--drift-x:-9px;--drift-y:-12px;--drift-turn:1.7deg}
.sample-sheet:hover{transform:rotate(var(--sheet-angle))}
.specimen-desk{row-gap:24px}
.sample-spread-caption{margin-top:8px}
.specimen-desk.is-motion-hidden .sample-sheet,.motion-paused .sample-sheet,.page-motion-hidden .sample-sheet{animation-play-state:paused}
/* Closed oval paths keep a constant gentle pace; each card has its own phase. */
@keyframes specimen-drift{
 0%{translate:0px calc(var(--drift-y) * var(--drift-range) * -1.000000);rotate:0deg}
 3.125%{translate:calc(var(--drift-x) * var(--drift-range) * 0.195090) calc(var(--drift-y) * var(--drift-range) * -0.980785);rotate:calc(var(--drift-turn) * var(--drift-range) * 0.195090)}
 6.25%{translate:calc(var(--drift-x) * var(--drift-range) * 0.382683) calc(var(--drift-y) * var(--drift-range) * -0.923880);rotate:calc(var(--drift-turn) * var(--drift-range) * 0.382683)}
 9.375%{translate:calc(var(--drift-x) * var(--drift-range) * 0.555570) calc(var(--drift-y) * var(--drift-range) * -0.831470);rotate:calc(var(--drift-turn) * var(--drift-range) * 0.555570)}
 12.5%{translate:calc(var(--drift-x) * var(--drift-range) * 0.707107) calc(var(--drift-y) * var(--drift-range) * -0.707107);rotate:calc(var(--drift-turn) * var(--drift-range) * 0.707107)}
 15.625%{translate:calc(var(--drift-x) * var(--drift-range) * 0.831470) calc(var(--drift-y) * var(--drift-range) * -0.555570);rotate:calc(var(--drift-turn) * var(--drift-range) * 0.831470)}
 18.75%{translate:calc(var(--drift-x) * var(--drift-range) * 0.923880) calc(var(--drift-y) * var(--drift-range) * -0.382683);rotate:calc(var(--drift-turn) * var(--drift-range) * 0.923880)}
 21.875%{translate:calc(var(--drift-x) * var(--drift-range) * 0.980785) calc(var(--drift-y) * var(--drift-range) * -0.195090);rotate:calc(var(--drift-turn) * var(--drift-range) * 0.980785)}
 25%{translate:calc(var(--drift-x) * var(--drift-range) * 1.000000) 0px;rotate:calc(var(--drift-turn) * var(--drift-range) * 1.000000)}
 28.125%{translate:calc(var(--drift-x) * var(--drift-range) * 0.980785) calc(var(--drift-y) * var(--drift-range) * 0.195090);rotate:calc(var(--drift-turn) * var(--drift-range) * 0.980785)}
 31.25%{translate:calc(var(--drift-x) * var(--drift-range) * 0.923880) calc(var(--drift-y) * var(--drift-range) * 0.382683);rotate:calc(var(--drift-turn) * var(--drift-range) * 0.923880)}
 34.375%{translate:calc(var(--drift-x) * var(--drift-range) * 0.831470) calc(var(--drift-y) * var(--drift-range) * 0.555570);rotate:calc(var(--drift-turn) * var(--drift-range) * 0.831470)}
 37.5%{translate:calc(var(--drift-x) * var(--drift-range) * 0.707107) calc(var(--drift-y) * var(--drift-range) * 0.707107);rotate:calc(var(--drift-turn) * var(--drift-range) * 0.707107)}
 40.625%{translate:calc(var(--drift-x) * var(--drift-range) * 0.555570) calc(var(--drift-y) * var(--drift-range) * 0.831470);rotate:calc(var(--drift-turn) * var(--drift-range) * 0.555570)}
 43.75%{translate:calc(var(--drift-x) * var(--drift-range) * 0.382683) calc(var(--drift-y) * var(--drift-range) * 0.923880);rotate:calc(var(--drift-turn) * var(--drift-range) * 0.382683)}
 46.875%{translate:calc(var(--drift-x) * var(--drift-range) * 0.195090) calc(var(--drift-y) * var(--drift-range) * 0.980785);rotate:calc(var(--drift-turn) * var(--drift-range) * 0.195090)}
 50%{translate:0px calc(var(--drift-y) * var(--drift-range) * 1.000000);rotate:0deg}
 53.125%{translate:calc(var(--drift-x) * var(--drift-range) * -0.195090) calc(var(--drift-y) * var(--drift-range) * 0.980785);rotate:calc(var(--drift-turn) * var(--drift-range) * -0.195090)}
 56.25%{translate:calc(var(--drift-x) * var(--drift-range) * -0.382683) calc(var(--drift-y) * var(--drift-range) * 0.923880);rotate:calc(var(--drift-turn) * var(--drift-range) * -0.382683)}
 59.375%{translate:calc(var(--drift-x) * var(--drift-range) * -0.555570) calc(var(--drift-y) * var(--drift-range) * 0.831470);rotate:calc(var(--drift-turn) * var(--drift-range) * -0.555570)}
 62.5%{translate:calc(var(--drift-x) * var(--drift-range) * -0.707107) calc(var(--drift-y) * var(--drift-range) * 0.707107);rotate:calc(var(--drift-turn) * var(--drift-range) * -0.707107)}
 65.625%{translate:calc(var(--drift-x) * var(--drift-range) * -0.831470) calc(var(--drift-y) * var(--drift-range) * 0.555570);rotate:calc(var(--drift-turn) * var(--drift-range) * -0.831470)}
 68.75%{translate:calc(var(--drift-x) * var(--drift-range) * -0.923880) calc(var(--drift-y) * var(--drift-range) * 0.382683);rotate:calc(var(--drift-turn) * var(--drift-range) * -0.923880)}
 71.875%{translate:calc(var(--drift-x) * var(--drift-range) * -0.980785) calc(var(--drift-y) * var(--drift-range) * 0.195090);rotate:calc(var(--drift-turn) * var(--drift-range) * -0.980785)}
 75%{translate:calc(var(--drift-x) * var(--drift-range) * -1.000000) 0px;rotate:calc(var(--drift-turn) * var(--drift-range) * -1.000000)}
 78.125%{translate:calc(var(--drift-x) * var(--drift-range) * -0.980785) calc(var(--drift-y) * var(--drift-range) * -0.195090);rotate:calc(var(--drift-turn) * var(--drift-range) * -0.980785)}
 81.25%{translate:calc(var(--drift-x) * var(--drift-range) * -0.923880) calc(var(--drift-y) * var(--drift-range) * -0.382683);rotate:calc(var(--drift-turn) * var(--drift-range) * -0.923880)}
 84.375%{translate:calc(var(--drift-x) * var(--drift-range) * -0.831470) calc(var(--drift-y) * var(--drift-range) * -0.555570);rotate:calc(var(--drift-turn) * var(--drift-range) * -0.831470)}
 87.5%{translate:calc(var(--drift-x) * var(--drift-range) * -0.707107) calc(var(--drift-y) * var(--drift-range) * -0.707107);rotate:calc(var(--drift-turn) * var(--drift-range) * -0.707107)}
 90.625%{translate:calc(var(--drift-x) * var(--drift-range) * -0.555570) calc(var(--drift-y) * var(--drift-range) * -0.831470);rotate:calc(var(--drift-turn) * var(--drift-range) * -0.555570)}
 93.75%{translate:calc(var(--drift-x) * var(--drift-range) * -0.382683) calc(var(--drift-y) * var(--drift-range) * -0.923880);rotate:calc(var(--drift-turn) * var(--drift-range) * -0.382683)}
 96.875%{translate:calc(var(--drift-x) * var(--drift-range) * -0.195090) calc(var(--drift-y) * var(--drift-range) * -0.980785);rotate:calc(var(--drift-turn) * var(--drift-range) * -0.195090)}
 100%{translate:0px calc(var(--drift-y) * var(--drift-range) * -1.000000);rotate:0deg}
}
@media(max-width:650px){.sample-sheet{--drift-range:.72}.specimen-desk{row-gap:20px}}
@media(prefers-reduced-motion:reduce){.sample-sheet{animation:none;translate:none;rotate:none}}
.footer{font-size:11px}
.author-credit{font-size:inherit;background:transparent}
.author-credit-title{font-size:inherit;line-height:1.45;font-weight:400}
.author-credit-link{font-size:inherit;font-weight:400;color:var(--muted);gap:5px;margin-top:3px;line-height:1.45;text-decoration:underline;text-underline-offset:3px}
.author-credit-link svg{width:14px;height:14px;color:var(--muted)}
.author-credit-link:hover,.author-credit-link:hover svg{color:var(--ink)}
.author-credit-link:focus-visible{outline-color:var(--blue)}
@media(min-width:651px){
 .cookie-banner{left:20px;right:auto;width:min(400px,calc(100% - 40px));display:block;padding:12px 14px}
 .cookie-banner p{font-size:11px}
 .cookie-actions{margin-top:8px;justify-content:space-between}
 .hero-layout{--hero-budget:min(540px,calc(100svh - var(--header-height,110px) - 42px));height:var(--hero-budget);min-height:0;align-items:start}
 .hero-stage{height:100%;margin-top:0}
 .sprite-canvas{top:0;height:calc(100% - 112px)!important}
 .hero-copy{padding:12px 0 10px}
 .hero-copy .eyebrow{font-size:10px;letter-spacing:.08em;margin-bottom:9px}
 .hero-copy h1{font-size:clamp(40px,min(4.3vw,7.8svh),58px);line-height:1.035;letter-spacing:-.045em}
 .hero-lead{font-size:15px;line-height:1.42;max-width:450px;margin-top:14px}
 .hero-actions{margin:16px 0;gap:8px}
 .hero-actions .btn{min-height:40px;font-size:13px;padding:11px 17px}
 .hero-facts{padding-top:12px;gap:26px}
 .hero-facts b{font-size:22px;line-height:1.25}
 .hero-facts span{font-size:11px;line-height:1.35}
 .hero-note{font-size:10px;line-height:1.4;margin-top:9px;max-width:430px}
 .material-strip{padding:9px 0;font-size:11px;line-height:1.35}
 .stage-label{top:12px;right:0;font-size:11px}
 .stage-label strong{font-size:13px}
 .hero-stage .hero-sticker{display:none}
 .hero-sticker strong{font-size:16px}
 .stage-action-note{display:none}
 .stage-action{bottom:8px;right:0}
 .stage-action .btn{min-height:40px;padding:11px 17px;font-size:13px}
 .motion-pause{width:34px;height:34px}
}
@media(min-width:651px) and (max-height:700px){
 .hero-copy{padding-top:8px}
 .hero-copy .eyebrow{margin-bottom:7px}
 .hero-lead{font-size:14px;margin-top:11px}
 .hero-actions{margin:13px 0}
 .hero-facts{padding-top:10px}
 .hero-note{margin-top:7px}
}
@media(min-width:651px) and (max-height:640px){
 .hero-copy .eyebrow{display:none}
 .hero-copy h1{font-size:clamp(37px,min(4.1vw,7.6svh),49px)}
 .hero-lead{font-size:14px;line-height:1.38;margin-top:10px}
 .hero-actions{margin:12px 0}
 .hero-actions .btn{min-height:37px;font-size:12px;padding:10px 14px}
 .hero-facts b{font-size:21px}
}
@media(max-width:1150px){.header-top{gap:20px}.brand{width:210px}}
@media(max-width:900px){.brand{width:204px}.header-top{gap:16px}}
@media(max-width:650px){
 .brand{width:clamp(130px,43vw,180px);min-width:0}
 .header-top{padding:11px 0;gap:6px}
 .header-phone{font-size:14px}
 .menu-toggle{font-size:23px;padding:2px}
 .sprite-canvas{top:0;height:calc(100% - 100px)!important}
 .hero-stage:before{inset:0 -15px 30px -15px}
 .master-quip{top:24px;max-width:125px;padding:10px 11px;font-size:11px}
 .footer{font-size:10px}
 .footer-note{font-size:10px}
 .author-credit-title,.author-credit-link{font-size:inherit}
}
@media(max-width:350px){.header-phone{font-size:12px}.menu-toggle{font-size:21px}}
