:root{--ink:#1d1d1f;--secondary:#646468;--line:#d2d2d7;--paper:#fff;--focus:#0066cc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:5px}.skip{position:fixed;top:-100px;left:20px;background:white;padding:16px;z-index:20}.skip:focus{top:12px}header{position:sticky;top:0;z-index:10;background:#ffffffd9;backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);border-bottom:1px solid #0000000a}.nav-inner{max-width:1280px;margin:auto;min-height:76px;display:flex;align-items:center;justify-content:space-between;padding:16px 5%;gap:30px}.wordmark img{width:146px;display:block;filter:brightness(0)}nav{display:flex;gap:30px;font-size:13px}nav a{display:inline-flex;align-items:center;min-height:44px}.platform{font-size:11px;color:var(--secondary)}.hero{position:relative;overflow:hidden;isolation:isolate;background:#ed7e39}.hero-backdrop{position:absolute;inset:-4%;z-index:-2;background:linear-gradient(140deg,#ffc641 0%,#f36942 45%,#e9555b 70%,#ffb348);background-image:url('assets/flow-warm.jpg');background-size:cover;background-position:center;animation:drift 22s ease-in-out infinite alternate}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#5d29053b,transparent 75%)}.hero-inner{max-width:1300px;margin:auto;display:grid;grid-template-columns:1.05fr 1fr;gap:10px;align-items:center;min-height:735px;padding:70px 5% 60px}.hero-logo{width:330px;max-width:85%;display:block;margin-bottom:32px}.hero h1{font-size:clamp(44px,4.8vw,72px);line-height:1.045;letter-spacing:-.055em;font-weight:650;color:white;margin:0 0 28px;text-shadow:0 1px 12px #4f1f0712}.hero-copy>p{font-size:20px;color:#fff;line-height:1.5;letter-spacing:-.3px;text-shadow:0 1px 8px #0002}.hero-actions{display:flex;gap:20px;align-items:center;margin-top:30px}.hero-actions>span{font-size:11px;color:#fff;max-width:100px;line-height:1.5}.button{display:inline-flex;align-items:center;gap:30px;border-radius:40px;min-height:52px;padding:15px 23px;font-size:14px;font-weight:550;color:#1d1d1f;transition:background .2s}.glass{background:#ffffffc9;border:1px solid #ffffffe0;box-shadow:0 5px 25px #1d1d1f09;backdrop-filter:blur(26px) saturate(1.3);-webkit-backdrop-filter:blur(26px) saturate(1.3)}.button:hover{background:white}.hero-art{margin:0;position:relative;text-align:center;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center}.hero-art img{height:590px;width:100%;object-fit:contain;filter:drop-shadow(0 24px 25px #4c250c25)}.hero-art figcaption{font-size:12px;color:white;margin-top:6px}.section{max-width:1220px;margin:0 auto;padding:100px 5%}p{line-height:1.6}.eyebrow{font-size:12px;line-height:1.5;letter-spacing:.07em;font-weight:600;color:#68686c}h2{font-size:clamp(38px,4vw,58px);line-height:1.08;letter-spacing:-.05em;font-weight:650;margin:14px 0 25px}h3{font-size:25px;letter-spacing:-.025em;line-height:1.15;font-weight:600}.section-intro{text-align:center;max-width:750px;margin:0 auto 55px}.section-intro>p:last-child:not(.eyebrow){font-size:19px;max-width:650px;margin:0 auto;color:var(--secondary)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.steps p{font-size:16px;color:var(--secondary)}.steps h3{margin:20px 0 12px}.step-icon{display:inline-flex;align-items:center;justify-content:center;font-size:28px;width:50px;height:50px;border-radius:16px;background:#f5f5f7;color:#5d6267}.themes{padding-top:35px}.theme-stage{position:relative;border-radius:32px;overflow:hidden;background:#f0e7d8 url('assets/flow-warm.jpg') center/cover;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5%;padding:45px 6%;min-height:670px}.theme-stage[data-theme="Vibe"]{background:#242424}.theme-stage[data-theme="Miami"]{background:linear-gradient(160deg,#66c7e5,#ffc9ac)}.theme-stage[data-theme="Noir"]{background:linear-gradient(150deg,#505050,#161616)}.theme-stage[data-theme="Fade"]{background:linear-gradient(140deg,#84cce1,#407ab5)}.theme-stage[data-theme="Pop Art"]{background:#169254}.theme-stage[data-theme="Riviera"],.theme-stage[data-theme="Mineral"],.theme-stage[data-theme="Santorini"],.theme-stage[data-theme="Pastels"],.theme-stage[data-theme="Earthtone"]{background-image:url('assets/flow-cool.jpg')}.theme-preview{text-align:center}.theme-preview img{height:555px;max-width:100%;object-fit:contain;border-radius:25px;box-shadow:0 15px 35px #0002;display:inline-block}.theme-panel{padding:30px;border-radius:28px;background:#ffffffe8;box-shadow:0 15px 40px #0000000b}.theme-description{min-height:155px}.theme-description h3{font-size:32px;margin:15px 0 12px}.theme-description p:not(.eyebrow){font-size:16px;color:#515158}.theme-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}button{font:inherit;cursor:pointer;border:1px solid #00000012;background:#ffffffb8;border-radius:24px;padding:11px 16px;min-height:44px;font-size:12px;color:var(--ink);transition:background .2s,box-shadow .2s}button[aria-pressed=true]{background:#1d1d1f;color:white;border-color:#1d1d1f;box-shadow:0 2px 10px #0001}button:hover{box-shadow:0 0 0 1px #777}.fine{font-size:11px!important;color:#646468;line-height:1.7}.pace{padding-top:50px}.mode-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.mode-list article{background:#f5f5f7;border-radius:26px;padding:32px;min-height:235px}.mode-dot{display:block;width:24px;height:24px;border-radius:50%;box-shadow:inset 0 1px 4px #ffffffa0}.relaxed{background:linear-gradient(150deg,#b8e4e0,#cae997)}.classic{background:linear-gradient(150deg,#ffca48,#f16d3c)}.intense{background:linear-gradient(150deg,#215477,#080e26)}.mode-list h3{margin:24px 0 10px}.mode-list p{font-size:15px;color:var(--secondary);margin-bottom:0}.daily{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding-top:30px}.daily-art{background:#e3f1ee url('assets/flow-cool.jpg') center/cover;border-radius:32px;padding:38px;text-align:center}.daily-art img{max-height:480px;max-width:100%;border-radius:24px;box-shadow:0 12px 35px #0002}.daily-copy>p:not(.eyebrow):not(.fine){font-size:18px;color:var(--secondary)}.small-pill{display:inline-block;background:#f5f5f7;border-radius:30px;padding:12px 19px;font-size:12px;line-height:1.5}.press{display:grid;grid-template-columns:1.05fr 1fr;gap:15%;align-items:center;border-top:1px solid #e5e5e9;margin-top:10px}.press>div>p:not(.eyebrow):not(.fine){font-size:18px;color:var(--secondary)}.press-links a{display:flex;align-items:center;justify-content:space-between;padding:25px 0;min-height:70px;border-bottom:1px solid #d2d2d7;font-size:17px}.press-links span{font-size:11px;color:#6e6e73}.press-links i{font-style:normal;margin-left:14px}.press-links a:hover{color:#0066cc}.closing{text-align:center;padding:85px 5% 95px;background:#df7939 url('assets/flow-warm.jpg') center/cover;color:white}.closing>img{width:240px;max-width:70%;margin-bottom:12px}.closing h2{font-size:64px}.closing .small-pill{color:#1d1d1f}.closing h2{margin:25px 0 32px}footer{max-width:1220px;margin:auto;padding:35px 5%;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:11px;color:#6e6e73}footer .wordmark img{width:115px}@keyframes drift{from{transform:scale(1.01) translateY(-1%)}to{transform:scale(1.08) translateY(1%)}}@media(max-width:900px){.hero-inner{min-height:620px;padding-top:55px;padding-bottom:55px}.hero h1{font-size:50px}.hero-logo{width:260px}.hero-art img{height:510px}.hero-copy>p{font-size:17px}.theme-stage{padding:32px 4%;gap:5%}.theme-preview img{height:500px}.theme-panel{padding:23px}.platform{display:none}.steps{gap:28px}.section{padding:75px 5%}.mode-list article{padding:25px}.daily{gap:7%}.press{gap:10%}}@media(max-width:620px){.nav-inner{min-height:64px;padding:10px 5%;gap:16px}.wordmark img{width:115px}nav{font-size:11px;gap:18px}.hero-inner{grid-template-columns:1fr;padding:48px 7% 28px;gap:10px;text-align:center}.hero-logo{width:270px;max-width:85%;margin:0 auto 25px}.hero h1{font-size:48px;letter-spacing:-.05em}.hero-copy>p{font-size:17px}.hero-actions{justify-content:center;margin-top:24px}.hero-art img{height:410px;max-width:360px}.hero-art figcaption{font-size:11px}.hero-art{margin-top:12px}.section{padding:65px 6%}.section-intro{margin-bottom:35px}h2{font-size:39px}.eyebrow{font-size:10px}.section-intro>p:last-child:not(.eyebrow){font-size:17px}.steps{grid-template-columns:1fr;gap:22px}.steps article{display:grid;grid-template-columns:50px 1fr;column-gap:20px}.step-icon{grid-row:1/3}.steps h3{margin:0 0 8px;font-size:22px}.steps p{margin:0;font-size:15px}.themes{padding-top:15px}.theme-stage{grid-template-columns:1fr;padding:30px 20px 20px;gap:30px;border-radius:26px}.theme-preview img{height:450px}.theme-panel{padding:25px;border-radius:24px}.theme-description{min-height:0}.theme-description h3{font-size:28px}.theme-buttons{margin:20px 0}.mode-list{grid-template-columns:1fr;gap:12px}.mode-list article{min-height:0;padding:24px;display:grid;grid-template-columns:24px 1fr;gap:10px 18px}.mode-list .mode-dot{grid-row:1/3}.mode-list h3{margin:0;font-size:22px}.mode-list p{margin:0}.daily{grid-template-columns:1fr;gap:30px;padding-top:0}.daily-art{order:2}.daily-copy{text-align:center}.daily-art img{max-height:450px}.press{grid-template-columns:1fr;gap:20px;margin-top:10px}.press-links a{font-size:16px}.closing{padding:65px 7%}.closing h2{font-size:50px}footer{gap:18px;flex-wrap:wrap}footer .wordmark img{width:105px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-backdrop{animation:none}*{transition:none!important}}@media(prefers-reduced-transparency:reduce){header,.glass{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}}@media(prefers-contrast:more){.fine,.eyebrow{color:#424245}button{border-color:#777}.theme-panel{background:white}}

.hero h1,.hero-copy>p,.hero-actions>span,.hero-art figcaption{color:#1d1d1f;text-shadow:none}.hero:after{background:linear-gradient(90deg,#fff1 0%,transparent 75%)}

/* Native, scroll-scrubbed hero. Geometry is rendered in Xcode at fixed camera framing. */
.hero.hero-scroll{height:340svh;overflow:visible;isolation:isolate;background:#e77e25}
.hero-sticky{position:sticky;top:76px;height:calc(100svh - 76px);min-height:620px;overflow:hidden;isolation:isolate}
.hero-scroll .hero-backdrop{animation:none;inset:0;transform:none}
.hero-scroll:after{display:none}
.hero-sticky:after{display:none}
.hero-scroll .hero-inner{height:100%;min-height:0;padding-top:38px;padding-bottom:58px;gap:3%;grid-template-columns:1.08fr 1fr;align-items:center}
.hero-scroll .hero-copy{min-width:0;text-align:left}
.hero-scroll .hero-logo{display:block;width:100%;max-width:520px;height:auto;margin:0 0 38px;object-fit:contain;object-position:left center}
.hero-scroll h1,.hero-scroll .hero-copy>p,.hero-scroll .hero-actions>span,.hero-scroll .hero-art figcaption{color:#fff;text-shadow:0 1px 12px #54200022}
.hero-scroll h1{font-size:clamp(44px,4.7vw,72px);font-weight:650;letter-spacing:-.055em}
.hero-scroll .hero-copy>p{font-weight:700}
.hero-scroll .hero-actions{justify-content:flex-start}
.hero-scroll .hero-actions>span{font-weight:750;max-width:150px;flex:1;font-size:12px;line-height:1.6}
.hero-scroll .button{color:#fff;background:#4f240037;border-color:#ffffffc0;font-weight:750;box-shadow:0 5px 22px #6633000a}
.hero-scroll .button:hover{background:#4f24005e}
.hero-scroll .hero-art{margin:0;min-width:0;align-self:center;gap:0}
.hero-visual{position:relative;height:min(67svh,660px);width:100%;aspect-ratio:5/7}
.hero-scroll .hero-visual img,.hero-visual canvas{display:block;position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;filter:drop-shadow(0 18px 20px #4c250c16)}
.hero-visual [hidden]{display:none!important}
.hero-scroll .hero-art figcaption{margin:12px 0 0;font-size:12px;font-weight:750;line-height:1.5;min-height:18px;text-align:center}
.hero-scroll-meter{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:12px;color:white;font-size:9px;font-weight:750;letter-spacing:.015em;min-height:22px}
.meter-track{height:3px;width:85px;overflow:hidden;border-radius:3px;background:#ffffff45}
.meter-track>span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:#fff}
.hero-scroll-cue{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:12px;align-items:center;min-height:36px;color:white;font-size:11px;font-weight:750;white-space:nowrap}
.hero-scroll-cue span{font-size:18px}
.hero-scroll.is-settled .hero-scroll-cue{opacity:.4}
.hero-scroll.is-reduced{height:auto}
.hero-scroll.is-reduced .hero-sticky{position:relative;top:0;height:auto;min-height:0}
.hero-scroll.is-reduced .hero-inner{min-height:735px}
.hero-scroll.is-reduced .hero-scroll-meter,.hero-scroll.is-reduced .hero-scroll-cue{display:none}
@media(max-width:900px) and (min-width:621px){.hero-scroll .hero-logo{max-width:430px;margin-bottom:28px}.hero-scroll h1{font-size:46px}.hero-scroll .hero-copy>p{font-size:17px}.hero-scroll .hero-inner{gap:1%}.hero-scroll .hero-actions{gap:12px}.hero-scroll .hero-actions>span{font-size:10px}.hero-scroll .hero-visual{height:min(65svh,530px)}.hero-scroll-meter{gap:8px}.meter-label{display:none}}
@media(max-width:620px){
 .hero.hero-scroll{height:320svh}
 .hero-sticky{top:64px;height:calc(100svh - 64px);min-height:640px}
 .hero-scroll .hero-inner{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:20px 7% 43px}
 .hero-scroll .hero-copy{width:100%}
 .hero-scroll .hero-logo{width:100%;max-width:370px;margin:0 0 21px}
 .hero-scroll h1{font-size:39px;line-height:1.04;margin-bottom:16px}
 .hero-scroll .hero-copy>p{font-size:15px;line-height:1.45;margin:0}
 .hero-scroll .wide{display:none}
 .hero-scroll .hero-actions{margin-top:19px;gap:16px;flex-wrap:nowrap}
 .hero-scroll .button{min-height:46px;padding:12px 18px;font-size:12px;gap:22px}
 .hero-scroll .hero-actions>span{font-size:10px;max-width:118px}
 .hero-scroll .hero-art{width:100%;margin-top:5px}
 .hero-scroll .hero-visual{height:clamp(235px,34svh,345px)}
 .hero-scroll .hero-art figcaption{font-size:10px;margin-top:4px;min-height:15px}
 .hero-scroll-meter{font-size:8px;margin-top:5px;gap:8px}
 .meter-track{width:62px}
 .hero-scroll-cue{bottom:4px;font-size:10px;min-height:28px}
 .hero-scroll.is-reduced .hero-inner{min-height:0;padding-top:35px;padding-bottom:35px}
 .hero-scroll.is-reduced .hero-sticky{min-height:0}
}
@media(max-width:620px) and (max-height:760px){.hero-sticky{min-height:590px}.hero-scroll .hero-inner{padding-top:14px;padding-bottom:32px;gap:3px}.hero-scroll .hero-logo{max-width:290px;margin-bottom:15px}.hero-scroll h1{font-size:33px;margin-bottom:12px}.hero-scroll .hero-copy>p{font-size:13px}.hero-scroll .hero-actions{margin-top:14px}.hero-scroll .hero-visual{height:220px}.hero-scroll .hero-art figcaption{font-size:9px}.hero-scroll-meter{display:none}}
@media(prefers-reduced-motion:reduce){.hero.hero-scroll{height:auto}.hero-scroll .hero-sticky{position:relative;top:0;height:auto}.hero-scroll .hero-inner{min-height:735px}.hero-scroll .hero-scroll-meter,.hero-scroll .hero-scroll-cue{display:none}}
/* Without scripting, keep a normal static hero rather than an empty scroll runway. */
.hero.hero-scroll:not(.is-animated){height:auto}
.hero-scroll:not(.is-animated) .hero-sticky{position:relative;top:0;height:auto}
.hero-scroll:not(.is-animated) .hero-inner{min-height:735px}
.hero-scroll:not(.is-animated) .hero-scroll-meter,.hero-scroll:not(.is-animated) .hero-scroll-cue{display:none}
@media(max-width:620px){.hero-scroll:not(.is-animated) .hero-inner{min-height:0;padding-top:35px;padding-bottom:35px}}

.appearance-groups{display:grid;gap:18px;margin-top:22px}.appearance-group-label{margin:0 0 10px;font-size:11px;line-height:1.4;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#646468}.appearance-groups .theme-buttons{margin:0;gap:8px}.appearance-unlock{min-height:38px;margin:20px 0 0}

header .banner-mark{display:flex;align-items:center;min-width:44px;min-height:44px}header .banner-mark img{width:44px;height:44px;object-fit:contain;filter:none}@media(max-width:620px){header .banner-mark img{width:44px;height:44px}}
