/* NovaSati: layered motion, clear type, and upright orbital numerals. */
:root { --serif:'Cormorant Garamond',Georgia,serif; --bronze:#715021; }
body { font-size:17px; }
h1,h2,h3 { font-weight:500; }
h2 { font-size:clamp(3.1rem,5.5vw,5.5rem); line-height:1.02; letter-spacing:-.035em; }
.section-label,.little-label,.hero-meta,.scroll-link { font-size:12px; line-height:1.5; }
.micro { font-size:13px; }
.reading-progress { position:fixed; left:0; top:0; width:100%; height:3px; z-index:50; background:#ad8140; transform-origin:left; transform:scaleX(0); }
.header { height:110px; }
.brand { display:flex; align-items:center; gap:12px; }
.brand .brand-symbol { width:76px; height:76px; object-fit:contain; flex-shrink:0; }
.brand .brand-name { margin:0; font:500 32px/1 var(--serif); letter-spacing:-1px; }
.brand-name small { display:block; margin-top:7px; font:500 10px/1.5 var(--sans); letter-spacing:1.7px; }
.header nav { font-size:15px; }
.motion-toggle { width:40px; height:40px; flex-shrink:0; }
.hero { min-height:820px; padding-bottom:55px; }
.hero-meta { align-items:center; }
.method-wordmark { height:clamp(30px,3.1vw,48px); width:clamp(200px,21vw,340px); object-fit:cover; object-position:50% 53%; }
.hero-title { width:67%; padding-top:62px; animation:none; }
.hero-title>p { font:500 clamp(1rem,1.7vw,1.65rem)/1.4 var(--sans); letter-spacing:.06em; margin-bottom:15px; }
.hero h1 { font-size:clamp(3.2rem,6.9vw,7rem); line-height:1.05; letter-spacing:-.04em; text-transform:uppercase; }
.hero-visual { position:absolute; top:155px; right:2%; width:37%; height:550px; }
.hero-image-wrap { top:25px; right:8%; width:83%; height:505px; transform:none; animation:backdrop-in 1.5s cubic-bezier(.2,.7,.2,1) both; border-radius:48% 48% 2px 2px; }
.hero-art { scale:1.1; transform:translateY(var(--drift,0px)); }
.hero-image-wrap .image-caption { display:none; }
.hero-portrait { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:2; animation:portrait-in 1.4s .15s cubic-bezier(.2,.7,.2,1) both; }
.hero-portrait img { object-fit:cover; object-position:46% bottom; transform:translateY(calc(var(--drift,0px) * -.42)); filter:drop-shadow(0 20px 22px #33203030); }
.hero-bottom { margin-top:40px; padding-right:37%; }
.hero-bottom p { font-size:17px; line-height:1.65; }
.hero-bottom .scroll-link { position:absolute; right:0; bottom:0; font-size:12px; }
.hero-number { display:none; }
.button,.nav-buy { transform:translate(var(--button-x,0px),var(--button-y,0px)); font-size:15px; }
.button:hover { transform:translate(var(--button-x,0px),calc(var(--button-y,0px) - 3px)); }
.button span,.nav-buy>span { transition:transform .4s ease; }
.button:hover span,.nav-buy:hover>span { transform:translate(3px,-3px); }
.ticker>div { font-size:16px; }
.pattern-grid { align-items:start; gap:10%; }
.pattern-heading { position:sticky; top:30px; }
.pattern-heading p { max-width:350px; font-size:17px; }
.botanical-frame { width:68%; aspect-ratio:3/4; margin:40px 0 0 10%; border-radius:48% 48% 0 0; overflow:hidden; transform:translateY(calc(var(--drift,0px) * -.35)); }
.botanical-frame img { transform:scale(var(--zoom,1.04)); }
.pattern-list { padding-top:10px; }
.pattern-row { min-height:230px; align-items:center; position:relative; padding-left:14px; transition:background .6s,transform .6s; }
.pattern-row::before { content:''; height:2px; width:100%; background:var(--bronze); position:absolute; bottom:-1px; left:0; transform:scaleX(0); transform-origin:left; transition:transform .8s ease; }
.pattern-row.is-active { background:#b2966d17; transform:translateX(8px); }
.pattern-row.is-active::before { transform:scaleX(1); }
.pattern-row p { font-size:clamp(1.8rem,2.6vw,2.7rem); line-height:1.2; }
.pattern-row>span,.include-row>span { font:500 14px/1.3 var(--sans); font-variant-numeric:lining-nums tabular-nums; }
.pattern-outro { font-size:clamp(2rem,4vw,4rem); line-height:1.12; }
.map-section { border-radius:50% 50% 0 0 / 4% 4% 0 0; }
.map-intro { gap:8%; }
.map-intro h2 { font-size:clamp(2.9rem,4.9vw,5rem); line-height:1.03; }
.map-intro p,.map-benefits p { font-size:17px; }
.orbit-numbers { animation:none!important; transform:none!important; }
.orbit-numbers>span { width:64px; height:64px; margin:-32px; font:400 30px/1 var(--sans); font-variant-numeric:lining-nums tabular-nums; font-style:normal; transform:rotate(var(--angle)) translateY(-160px) rotate(calc(-1 * var(--angle))); }
.orbit-center strong { font:400 clamp(110px,11vw,160px)/1.2 var(--sans); font-variant-numeric:lining-nums; letter-spacing:-.07em; }
.orbit-center span { font-size:12px; }
.orbit-line { animation:orbit-breathe 7s ease-in-out infinite; }
.orbit-line::after { inset:17%; border-style:dashed; }
.map-benefits h3 { font-size:clamp(2rem,2.8vw,2.7rem); line-height:1.12; }
.map-note { font-size:13px; }
.understand { position:relative; }
.understand-photo { border-radius:48% 48% 0 0; }
.understand-photo img { transform:translateY(var(--drift,0px)) scale(1.15); }
.understand h2 { font-size:clamp(2.8rem,4.3vw,4.5rem); line-height:1.06; }
.understand-copy p { font-size:17px; }
.understand-copy strong { font-size:16px; }
.included-top p { font-size:17px; }
.include-row { min-height:112px; position:relative; }
.include-row::after { content:''; position:absolute; bottom:0; left:0; width:100%; height:1px; background:var(--bronze); transform:scaleX(0); transform-origin:left; transition:transform 1.2s ease; }
.include-row.visible::after { transform:scaleX(1); }
.include-row h3 { font-size:clamp(1.7rem,2.6vw,2.3rem); line-height:1.12; }
.include-row p { font-size:16px; line-height:1.5; }
.author { gap:10%; padding-top:65px; padding-bottom:115px; }
.author-photo { height:600px; isolation:isolate; }
.author-backdrop { position:absolute; inset:12% 2% 0 2%; border-radius:48% 48% 0 0; background:#b6a17c; z-index:-1; }
.author-photo .author-cutout { border-radius:0; width:100%; height:100%; object-fit:contain; object-position:bottom; transform:translateY(calc(var(--drift,0px) * -.3)); }
.author-photo .author-original { position:absolute; bottom:-15px; left:-20px; width:30%; height:40%; border-radius:48% 48% 0 0; border:6px solid var(--paper); object-fit:cover; transform:translateY(var(--drift,0px)); box-shadow:0 12px 30px #30232122; }
.author-photo>span { position:absolute; right:0; bottom:-32px; font-size:12px; letter-spacing:1px; }
.author h2 { font-size:clamp(4.5rem,8.2vw,7rem); line-height:.95; }
.author p { font-size:17px; }
.author-signature { font-size:34px; }
.author .text-link { font-size:14px; }
.purchase { isolation:isolate; }
.purchase-bloom { position:absolute; inset:0; z-index:-2; overflow:hidden; }
.purchase-bloom img { object-position:35% 48%; transform:scale(var(--zoom,1.05)); }
.purchase::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#291c24dd,#402735ed 73%); }
.purchase h2 { font-size:clamp(4rem,8.2vw,8.5rem); line-height:1.03; }
.purchase-bottom { grid-template-columns:1fr 1fr; }
.purchase-description p { font-size:20px; }
.price { font:400 clamp(70px,7vw,100px)/1.1 var(--sans); font-variant-numeric:lining-nums tabular-nums; letter-spacing:-.06em; }
.price span { font-size:36px; margin-top:7px; }
.faq h2 { font-size:clamp(3rem,5.3vw,5rem); }
.faq details p { font-size:16px; }
.footer-symbol { width:200px; height:200px; object-fit:contain; }
.footer-legal .disclaimer { font-size:12px; }
.footer-legal summary { font-size:14px; }
.footer-brand span { font-size:12px; }
.motion-word { display:inline-block; vertical-align:baseline; }
.hero .motion-word { animation:word-rise 1s var(--word-delay,0ms) cubic-bezier(.16,.8,.24,1) both; }
.js-motion .reveal .motion-word { opacity:0; transform:translateY(25px); transition:transform .9s var(--word-delay,0ms),opacity .9s var(--word-delay,0ms); }
.js-motion .reveal.visible .motion-word { opacity:1; transform:none; }
.motion-paused .motion-word,.motion-paused .hero-portrait,.motion-paused .hero-image-wrap { animation:none!important; opacity:1!important; transform:none!important; }
.motion-paused .understand-photo img { transform:scale(1.15); }
.motion-paused .purchase-bloom img,.motion-paused .botanical-frame img { transform:none; }
.motion-paused .hero-art,.motion-paused .hero-portrait img,.motion-paused .botanical-frame,.motion-paused .author-cutout,.motion-paused .author-original { transform:none; }
.motion-paused .button,.motion-paused .nav-buy { transform:none; }
@keyframes word-rise { from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)} }
@keyframes portrait-in { from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)} }
@keyframes backdrop-in { from{opacity:0;clip-path:inset(12% 0 0 0 round 48% 48% 0 0)}to{opacity:1;clip-path:inset(0 round 48% 48% 0 0)} }
@keyframes orbit-breathe { 0%,100%{scale:1;opacity:.65}50%{scale:1.035;opacity:1} }
@media(min-width:1500px) { .hero{min-height:920px}.hero-visual{height:650px}.hero-image-wrap{height:600px}.hero-bottom{margin-top:55px} }
@media(max-width:1000px) {
  .hero{min-height:760px}.hero-title{padding-top:50px}.hero h1{font-size:6.9vw}
  .hero-visual{top:175px;height:460px;width:38%}.hero-image-wrap{top:15px;height:420px}
  .hero-bottom{padding-right:35%}.hero-bottom p{font-size:16px}.hero .button{font-size:14px;gap:18px}
  .section-label{font-size:12px}.author-photo{height:480px}.author{gap:7%}
  .orbit-numbers>span{width:54px;height:54px;margin:-27px;font-size:26px}
  .map-intro p,.map-benefits p{font-size:16px}.map-intro h2{font-size:4.9vw}
}
@media(max-width:700px) {
  .header{height:90px;margin:0 5%;gap:10px}.brand{gap:7px}.brand .brand-symbol{width:46px;height:46px}
  .brand .brand-name{font-size:26px}.brand-name small{font-size:8px;letter-spacing:1px;margin-top:5px}
  .motion-toggle{height:34px;width:34px}.nav-buy{font-size:12px;padding:11px;gap:7px}
  .hero{padding:24px 6% 40px;min-height:0}.hero-meta{font-size:12px}.method-wordmark{width:230px;max-width:78%}
  .hero-title{width:100%;padding-top:32px}.hero-title>p{font-size:1rem;letter-spacing:.06em}
  .hero h1{font-size:clamp(2.1rem,10vw,4.5rem);line-height:1.08;letter-spacing:-.045em}
  .hero-visual{position:relative;top:auto;right:auto;width:100%;height:355px;margin:35px 0 28px}
  .hero-image-wrap{position:absolute;top:0;right:0;width:74%;height:100%;margin:0;animation:none;border-radius:48% 48% 0 0}
  .hero-portrait{inset:0;width:100%;height:100%}
  .hero-bottom{padding:0;margin:0}.hero-bottom p{font-size:16px;line-height:1.7}
  .hero-bottom .scroll-link{display:none}.hero .button{font-size:14px}.hero .micro{font-size:12px}
  h2{font-size:clamp(2.65rem,11.4vw,3.8rem);line-height:1.06}.section{padding-top:40px}
  .section-label{font-size:12px;letter-spacing:.8px}.little-label{font-size:12px;letter-spacing:1px}
  .pattern-grid{gap:28px}.pattern-heading{position:relative;top:auto}.pattern-heading p{font-size:16px}
  .botanical-frame{position:absolute;right:-3%;bottom:-6px;width:31%;margin:0;opacity:.5;z-index:-1;border-radius:44% 44% 0 0}
  .pattern-heading p{max-width:73%}.pattern-row{min-height:166px;padding:20px 8px;gap:16px}
  .pattern-row p{font-size:27px;line-height:1.18}.pattern-row.is-active{transform:translateX(3px)}
  .pattern-outro{font-size:32px}.map-section{padding-top:65px}.map-intro h2{font-size:clamp(2.5rem,10.4vw,3.6rem)}
  .map-intro p,.map-benefits p{font-size:16px}.orbit-center strong{font-size:112px}
  .orbit-center span{font-size:12px;letter-spacing:1px}.orbit-numbers>span{width:48px;height:48px;margin:-24px;font-size:25px}
  .map-benefits h3{font-size:33px}.map-note{font-size:12px}.understand h2{font-size:clamp(2.7rem,11vw,3.8rem)}
  .understand-copy p,.included-top p{font-size:16px}.include-row{min-height:110px}.include-row h3{font-size:27px}
  .include-row p{font-size:15px}.author{padding-top:20px;gap:50px;padding-bottom:70px}
  .author-photo{width:95%;height:445px;align-self:center}.author-photo .author-original{left:-7px;bottom:0;width:28%;border-width:4px}
  .author-photo>span{font-size:11px;right:5px;bottom:-27px}.author h2{font-size:72px}.author p{font-size:16px}
  .purchase{padding-top:60px}.purchase h2{font-size:clamp(3.3rem,13vw,4.8rem);line-height:1.07}
  .purchase-bottom{grid-template-columns:1fr}.purchase-description p{font-size:18px}.price{font-size:80px}
  .purchase-action .micro{font-size:12px}.button.light{font-size:14px}.faq h2{font-size:54px}
  .footer-symbol{width:155px;height:155px}.footer-legal p{font-size:12px}.footer-brand span{font-size:11px}
  .ticker>div{font-size:13px}.ticker i{margin:0 26px}
}
@media(max-width:380px) {.brand .brand-name{font-size:23px}.brand .brand-symbol{width:38px;height:38px}.nav-buy{padding:9px}.hero-title>p{font-size:.9rem}.hero-visual{height:315px}.author-photo{height:390px}}
@media(prefers-reduced-motion:reduce) {
  .hero .motion-word,.js-motion .reveal .motion-word{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
  .hero-portrait,.hero-image-wrap,.orbit-line{animation:none!important;opacity:1!important;transform:none!important}
  .hero-art,.hero-portrait img,.botanical-frame,.understand-photo img,.author-cutout,.author-original,.purchase-bloom img{transform:none!important}
}
