:root { --ink:#132135; --ink-soft:#203553; --paper:#f7f1e5; --paper-deep:#e9dfcc; --rust:#ae4231; --rust-deep:#873225; --fog:#aab8c5; --mist:#dce4e6; --line:rgba(19,33,53,.14); --serif:"Fraunces", Georgia, serif; --sans:"Instrument Sans", "Helvetica Neue", sans-serif; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); overflow-x:hidden; } a { color:inherit; text-decoration:none; } button { font:inherit; } .shell { width:min(1170px, calc(100% - 48px)); margin-inline:auto; } .sr-only { position:absolute; width:1px; height:1px; clip:rect(0,0,0,0); overflow:hidden; white-space:nowrap; }
.page-glow { position:fixed; z-index:-1; border-radius:50%; filter:blur(2px); pointer-events:none; } .glow-one { width:680px; height:680px; right:-340px; top:290px; background:radial-gradient(circle, rgba(174,66,49,.11), transparent 68%); } .glow-two { width:700px; height:700px; left:-420px; bottom:0; background:radial-gradient(circle, rgba(92,132,150,.14), transparent 68%); }
.site-header { height:92px; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:5; } .brand { display:inline-flex; align-items:center; gap:10px; font-family:var(--serif); font-size:1.45rem; font-weight:600; letter-spacing:-.04em; } .brand img { border-radius:9px; } .site-nav { display:flex; align-items:center; gap:28px; font-size:.92rem; font-weight:600; } .site-nav > a:not(.nav-cta) { opacity:.72; transition:opacity .2s ease; } .site-nav > a:not(.nav-cta):hover { opacity:1; } .nav-cta { padding:11px 16px; color:var(--paper); background:var(--ink); border-radius:999px; } .menu-toggle { display:none; }
.hero { min-height:690px; display:grid; grid-template-columns:1fr .96fr; align-items:center; gap:42px; padding:68px 0 104px; } .eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 19px; color:var(--rust); font-size:.74rem; letter-spacing:.12em; font-weight:700; text-transform:uppercase; } .eyebrow span { width:22px; height:2px; background:currentColor; } h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-family:var(--serif); letter-spacing:-.055em; } h1 { max-width:650px; margin-bottom:25px; font-size:clamp(3.2rem, 5.5vw, 5.75rem); line-height:.96; font-weight:600; } h1 em { color:var(--rust); font-style:normal; } .hero-text { max-width:570px; color:#4e5e71; font-size:1.13rem; line-height:1.62; } .hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:25px; margin-top:33px; } .button { display:inline-flex; gap:12px; align-items:center; justify-content:center; padding:15px 20px; border-radius:11px; font-weight:700; transition:transform .2s ease, background .2s ease; } .button:hover { transform:translateY(-2px); } .button-primary { color:var(--paper); background:var(--rust); box-shadow:0 12px 20px rgba(135,50,37,.18); } .button-primary:hover { background:var(--rust-deep); } .text-link { display:inline-flex; align-items:center; gap:9px; color:var(--ink); border-bottom:1px solid rgba(19,33,53,.35); padding-bottom:4px; font-weight:600; font-size:.92rem; } .trust-row { display:flex; flex-wrap:wrap; gap:17px; margin-top:48px; color:#596a78; font-size:.78rem; font-weight:600; } .dot { display:inline-block; width:8px; height:8px; margin-right:5px; border-radius:50%; } .dot-red { background:var(--rust); }.dot-blue { background:#597c91; }.dot-paper { background:#b69d69; }
.hero-art { height:550px; position:relative; display:grid; place-items:center; } .orbit { position:absolute; border:1px solid rgba(19,33,53,.11); border-radius:50%; } .orbit-a { width:475px; height:395px; transform:rotate(-18deg); } .orbit-b { width:600px; height:505px; transform:rotate(20deg); border-color:rgba(174,66,49,.16); } .phone-frame { position:relative; z-index:2; width:304px; min-height:539px; overflow:hidden; padding:13px 12px 16px; color:var(--paper); background:var(--ink); border:7px solid #0c1523; border-radius:38px; box-shadow:0 30px 55px rgba(19,33,53,.32); transform:rotate(5deg); } .phone-frame:before { content:""; position:absolute; top:0; left:50%; width:98px; height:21px; background:#0c1523; border-radius:0 0 13px 13px; transform:translateX(-50%); } .phone-status { display:flex; justify-content:space-between; padding:2px 8px 17px; font-size:.61rem; font-weight:700; } .status-icons { letter-spacing:2px; } .phone-topline { display:flex; align-items:center; gap:8px; padding:0 4px 14px; font-size:.9rem; } .phone-topline img { border-radius:7px; } .phone-topline button { margin-left:auto; color:var(--paper); border:0; background:none; font-weight:900; } .topic-tabs { display:flex; gap:15px; overflow:hidden; margin:0 -12px 14px; padding:0 16px 10px; border-bottom:1px solid rgba(247,241,229,.12); color:#aeb9c5; font-size:.65rem; white-space:nowrap; } .topic-tabs .active { color:var(--paper); position:relative; }.topic-tabs .active:after { content:""; position:absolute; left:0; right:0; bottom:-11px; height:2px; background:#d66d59; }.decision-preview { padding:14px; color:var(--ink); background:var(--paper); border-radius:18px; }.person-row { display:flex; align-items:center; gap:7px; font-size:.61rem; }.person-row strong,.person-row small { display:block; }.person-row small { color:#75828d; margin-top:2px; }.avatar { display:grid; place-items:center; width:24px; height:24px; color:white; border-radius:50%; font-size:.62rem; font-weight:700; }.avatar-rust { background:var(--rust); }.category { margin-left:auto; color:var(--rust); font-weight:700; }.decision-preview h2 { margin:17px 0 9px; font-size:1.08rem; line-height:1.06; }.decision-preview h2 span,.preview-topic { color:var(--rust); }.decision-preview p { margin-bottom:12px; color:#63717e; font-size:.63rem; line-height:1.4; }.preview-topic { margin-bottom:12px; font-size:.61rem; font-weight:700; }.preview-option { position:relative; display:flex; width:100%; align-items:center; justify-content:space-between; margin:6px 0; padding:9px; overflow:hidden; color:var(--ink); text-align:left; border:0; border-radius:8px; background:#e8dfce; cursor:pointer; font-size:.61rem; }.preview-option:before { content:""; position:absolute; inset:0 auto 0 0; border-radius:8px; background:rgba(174,66,49,.16); width:0; transition:width .7s cubic-bezier(.22,1,.36,1); }.preview-option span,.preview-option b { position:relative; z-index:1; }.preview-option.selected:before { width:64%; }.preview-option[data-vote="2"].selected:before { width:36%; }.preview-option[data-vote="2"]:before { background:rgba(89,124,145,.16); }.decision-preview footer { display:flex; justify-content:space-between; margin-top:13px; color:#71808b; font-size:.58rem; }.phone-nav { position:absolute; left:0; right:0; bottom:15px; display:flex; justify-content:center; gap:22px; }.phone-nav span { width:5px; height:5px; background:#718097; border-radius:50%; }.phone-nav .nav-active { width:15px; border-radius:99px; background:#d66d59; }.note-card { position:absolute; z-index:3; max-width:170px; padding:12px 14px; background:var(--paper); box-shadow:0 14px 32px rgba(19,33,53,.16); font-size:.72rem; }.note-top { top:65px; left:4px; transform:rotate(-8deg); }.note-top strong { display:block; margin-top:6px; }.tiny-mark { display:grid; place-items:center; width:20px; height:20px; color:white; background:var(--rust); border-radius:5px; font-family:var(--serif); }.note-bottom { right:2px; bottom:55px; display:flex; gap:9px; align-items:flex-start; transform:rotate(7deg); }.note-bottom i { flex:none; width:9px; height:9px; margin-top:3px; border-radius:50%; background:#587c91; }
.path-section { padding:118px 0 124px; }.section-heading { max-width:650px; }.section-heading h2,.topics-intro h2,.closing h2 { margin-bottom:0; font-size:clamp(2.45rem,4vw,4rem); line-height:1.02; }.path-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:53px; }.path-card { position:relative; min-height:275px; padding:28px; overflow:hidden; background:#fdf9f0; border:1px solid var(--line); border-radius:17px; }.path-card:nth-child(2) { background:#edf2f1; }.path-card:nth-child(3) { background:#f1e5d5; }.step-number { position:absolute; top:21px; right:23px; color:#7c8a94; font-size:.7rem; font-weight:700; }.path-icon { display:grid; place-items:center; width:48px; height:48px; margin-bottom:42px; color:var(--rust); border-radius:13px; background:rgba(174,66,49,.1); font-family:var(--serif); font-size:1.8rem; }.vote-icon { display:flex; align-items:center; gap:4px; padding:0 11px; }.vote-icon span { display:block; width:5px; background:var(--rust); border-radius:6px; }.vote-icon span:nth-child(1){height:12px}.vote-icon span:nth-child(2){height:25px}.vote-icon span:nth-child(3){height:18px}.outcome-icon { color:#395d70; background:rgba(57,93,112,.12); font-family:var(--sans); font-size:1.3rem; }.path-card h3 { margin-bottom:9px; font-size:1.65rem; }.path-card p { max-width:290px; margin-bottom:0; color:#5d6b74; font-size:.92rem; line-height:1.55; }
.feature-section { padding:0 0 124px; }.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:48px; }.feature-card { min-height:220px; padding:27px; border:1px solid var(--line); border-radius:17px; background:rgba(255,253,248,.62); }.feature-card span { color:var(--rust); font-size:.72rem; font-weight:800; letter-spacing:.1em; }.feature-card h3 { margin:36px 0 10px; font-size:1.55rem; }.feature-card p { margin:0; color:#5d6b74; font-size:.9rem; line-height:1.55; }
.principles-section { padding:115px 0; color:var(--paper); background:var(--ink); position:relative; overflow:hidden; }.principles-section:before { content:""; position:absolute; inset:0; opacity:.25; background:repeating-radial-gradient(ellipse at 85% 40%, transparent 0 50px, rgba(132,167,179,.25) 51px 52px, transparent 53px 73px); }.principles-grid { position:relative; display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; align-items:center; }.eyebrow.light { color:#d88978; }.principles-copy h2 { font-size:clamp(2.8rem,4.5vw,4.5rem); line-height:.97; }.principles-copy > p:not(.eyebrow) { max-width:430px; color:#b9c5cd; line-height:1.65; }.light-link { color:var(--paper); border-color:rgba(247,241,229,.45); margin-top:18px; }.principle-list { border-top:1px solid rgba(247,241,229,.24); }.principle-list article { display:grid; grid-template-columns:48px 1fr; gap:13px; padding:24px 0; border-bottom:1px solid rgba(247,241,229,.24); }.principle-list span { color:#d88978; font-size:.75rem; font-weight:700; }.principle-list h3 { margin-bottom:8px; font-size:1.65rem; }.principle-list p { max-width:470px; margin:0; color:#b9c5cd; line-height:1.45; }
.topics-section { display:grid; grid-template-columns:.68fr 1.32fr; gap:60px; align-items:center; padding:125px 0; }.topics-intro p:not(.eyebrow) { max-width:315px; margin-top:21px; color:#66737e; line-height:1.6; }.topic-wall { display:grid; grid-template-columns:1fr 1fr; grid-auto-rows:130px; gap:12px; }.topic-card { position:relative; display:flex; flex-direction:column; justify-content:flex-end; padding:18px; overflow:hidden; color:var(--ink); background:#dce6e5; border-radius:14px; transition:transform .22s ease, box-shadow .22s ease; }.topic-card:hover { transform:translateY(-4px); box-shadow:0 13px 24px rgba(19,33,53,.13); }.topic-card:before { content:""; position:absolute; top:-70px; right:-35px; width:170px; height:170px; border:1px solid rgba(19,33,53,.2); border-radius:50%; }.topic-card span { position:relative; font-family:var(--serif); font-size:1.45rem; font-weight:600; letter-spacing:-.04em; }.topic-card small { position:relative; margin-top:4px; color:#526772; font-size:.72rem; font-weight:600; }.topic-card i { position:absolute; right:20px; top:18px; color:rgba(19,33,53,.35); font-size:.67rem; font-style:normal; text-transform:uppercase; letter-spacing:.11em; }.topic-large { grid-row:span 2; background:#d5c6ad; }.topic-rust { color:var(--paper); background:var(--rust); }.topic-rust small { color:#f3c9bd; }.topic-rust:before { border-color:rgba(247,241,229,.35); }.topic-wide { background:#a9c5ce; }.topic-paper { background:#f0e2cc; }
.closing { position:relative; padding:86px 30px 93px; margin-bottom:50px; overflow:hidden; text-align:center; color:var(--paper); background:var(--rust); border-radius:22px; }.closing:before,.closing:after { content:""; position:absolute; width:430px; height:430px; border:1px solid rgba(247,241,229,.25); border-radius:50%; }.closing:before { left:-195px; bottom:-310px; }.closing:after { top:-315px; right:-180px; }.closing > * { position:relative; }.closing-mark img { border-radius:17px; box-shadow:0 10px 20px rgba(0,0,0,.13); }.closing .eyebrow { justify-content:center; margin-top:25px; color:#f6cabc; }.closing h2 { font-size:clamp(2.7rem,4.7vw,4.6rem); }.closing p:not(.eyebrow) { max-width:520px; margin:18px auto 31px; color:#f7ddd4; line-height:1.55; }.closing .button { color:var(--rust-deep); background:var(--paper); }.site-footer { display:grid; grid-template-columns:1fr 1.25fr auto; gap:35px; align-items:center; padding:25px 0 37px; color:#596976; font-size:.78rem; }.site-footer .brand { font-size:1.2rem; color:var(--ink); }.site-footer p { margin:0; line-height:1.4; }.site-footer div { display:flex; gap:15px; align-items:center; white-space:nowrap; }.site-footer div a { color:var(--ink); font-weight:600; }
.reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1); }.reveal.is-visible { opacity:1; transform:none; }.reveal-late { transition-delay:.15s; }.reveal-later { transition-delay:.28s; }
@media (max-width:900px) { .hero { grid-template-columns:1fr; padding-top:38px; }.hero-art { margin-top:15px; }.feature-grid { grid-template-columns:repeat(2,1fr); }.principles-grid,.topics-section { grid-template-columns:1fr; gap:45px; }.topics-intro p:not(.eyebrow) { max-width:520px; }.principles-copy > p:not(.eyebrow) { max-width:600px; }.site-footer { grid-template-columns:1fr; gap:15px; }.site-footer div { flex-wrap:wrap; } }
@media (max-width:650px) { .shell { width:min(100% - 32px, 1170px); }.site-header { height:76px; }.menu-toggle { display:flex; flex-direction:column; gap:5px; border:0; background:transparent; }.menu-toggle span:not(.sr-only) { display:block; width:22px; height:2px; background:var(--ink); transition:transform .2s ease; }.site-nav { display:none; position:absolute; top:67px; left:0; right:0; padding:16px; align-items:stretch; flex-direction:column; background:var(--paper); border:1px solid var(--line); border-radius:12px; box-shadow:0 16px 30px rgba(19,33,53,.12); }.site-nav.open { display:flex; }.nav-cta { text-align:center; }.hero { min-height:auto; padding:42px 0 72px; }.hero-text { font-size:1rem; }.trust-row { gap:10px 16px; margin-top:34px; }.hero-art { height:515px; transform:scale(.91); transform-origin:center top; margin-bottom:-43px; }.orbit-b { width:500px; }.path-section { padding:83px 0; }.path-grid,.feature-grid { grid-template-columns:1fr; margin-top:34px; }.feature-section { padding-bottom:82px; }.path-card { min-height:220px; }.path-card .path-icon { margin-bottom:26px; }.principles-section { padding:78px 0; }.principles-grid { gap:42px; }.principle-list article { grid-template-columns:37px 1fr; }.topics-section { padding:82px 0; }.topic-wall { grid-auto-rows:112px; }.topic-card span { font-size:1.2rem; }.closing { margin-bottom:27px; padding:67px 18px; }.site-footer { padding-bottom:25px; } }
@media (prefers-reduced-motion:reduce) { *,*:before,*:after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; } .reveal { opacity:1; transform:none; } }

/* App identity: use the same navy, paper and coral icon as the iOS app. */
.brand { gap:0; }
.brand-app-icon { display:block; width:48px; height:48px; border-radius:11px; }
.phone-wordmark { display:block; width:auto; height:20px; }
.phone-topline { gap:8px; }
.closing-mark img { display:block; width:72px; height:72px; margin:0 auto; border-radius:16px; box-shadow:0 10px 20px rgba(0,0,0,.13); }
.tiny-mark { display:block; width:9px; height:9px; border-radius:50%; background:var(--rust); }
.site-footer .brand-app-icon { width:38px; height:38px; border-radius:9px; }
