:root { --ink:#123047; --gold:#b68748; --paper:#fbf7f0; --peach:#deb1a0; --line:#d9c1ab; --sans:'DM Sans',sans-serif; --serif:'Cormorant Garamond',Georgia,serif; }
* { box-sizing:border-box; } body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); } button,input { font:inherit; } button { cursor:pointer; }
.quiz-shell { min-height:100vh; padding:clamp(28px,7vw,90px) 20px; overflow:hidden; position:relative; background:radial-gradient(circle at 50% 0,#fffdf9 0,transparent 42%),linear-gradient(115deg,#f8f0e6,#fffdf9 45%,#f5ebe4); }
.quiz-shell:after { content:''; position:absolute; inset:0; opacity:.22; pointer-events:none; background-image:radial-gradient(#96775b .55px,transparent .7px); background-size:6px 6px; mix-blend-mode:multiply; }
.quiz-content { position:relative; z-index:1; max-width:840px; margin:auto; text-align:center; }.texture { position:absolute; width:34vw; height:75vh; opacity:.5; background:radial-gradient(ellipse at 30% 70%,var(--peach),transparent 50%),linear-gradient(145deg,transparent 46%,#e8d9c7 47%,transparent 57%); }.texture-left{left:-8vw;bottom:0}.texture-right{right:-10vw;top:12vh;transform:rotate(180deg)}
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-family:var(--serif); font-weight:500; } h1 { font-size:clamp(3.4rem,7vw,5.7rem); line-height:.88; letter-spacing:-.045em; margin:.2em 0 .3em; } h1 em,h2 em { font-weight:400; } h2 { font-size:clamp(2rem,4vw,3rem); line-height:1.02; margin:.6em auto; max-width:610px; } h3 { font-size:1.75rem; font-style:italic; font-weight:400; margin:.2em 0 1em; }.lede,.intro>p:not(.eyebrow):not(.gentle),.optin>p,.result>p { font-size:1.05rem; line-height:1.7; max-width:640px; margin-left:auto; margin-right:auto; }
.eyebrow { color:var(--gold); letter-spacing:.28em; text-transform:uppercase; font-size:.74rem; font-weight:600; }.sprig { color:var(--gold); font-size:1.35em; margin-left:.3em; }.ornament { color:var(--gold); letter-spacing:.35em; font-size:1.1rem; margin:18px 0; }.intro { padding:10vh 0 6vh; }.gentle { margin-top:56px; line-height:1.65; }.gentle em { font-family:var(--serif); font-size:1.3rem; }
.card { background:rgba(255,253,249,.93); border:1px solid #e4d4c5; box-shadow:0 18px 45px rgba(58,37,25,.13); border-radius:18px; padding:clamp(30px,6vw,68px); text-align:center; }.counter { margin-bottom:15px; }.progress { display:flex; align-items:center; justify-content:center; gap:5px; margin:0 auto 28px; }.progress i { display:block; width:18px; height:1px; background:var(--line); }.dot { display:grid; place-items:center; border:1px solid #d8d0c7; height:32px; width:32px; border-radius:50%; color:#6f7371; font-size:.82rem; }.dot.done,.dot.active { border-color:var(--gold); }.dot.active { background:var(--gold); color:white; font-weight:600; }
.answers { display:grid; gap:10px; margin:28px auto; max-width:610px; text-align:left; }.answer { border:1px solid var(--line); background:white; color:var(--ink); border-radius:6px; padding:17px 20px; text-align:left; line-height:1.4; transition:.18s; }.answer:hover,.answer.selected { background:#fff9f1; border-color:var(--gold); transform:translateY(-1px); }.answer b { color:var(--gold); display:inline-block; min-width:28px; font-family:var(--serif); font-size:1.22rem; }.actions { display:flex; justify-content:space-between; gap:18px; align-items:center; }.back,.link-button { border:0; background:transparent; color:var(--ink); padding:10px; }.back:disabled { opacity:.2; cursor:not-allowed; }.button { border:0; color:#fff; background:linear-gradient(110deg,#102d43,#16445e); padding:17px 30px; min-height:58px; letter-spacing:.18em; text-transform:uppercase; font-size:.78rem; font-weight:600; border-radius:5px; box-shadow:0 5px 12px rgba(13,42,62,.16); }.button:hover { filter:brightness(1.1); }.button:disabled { opacity:.55; cursor:not-allowed; }.actions .button { min-width:190px; }
.optin { max-width:690px; margin:auto; }.optin h1 { font-size:clamp(3rem,6vw,4.7rem); }.optin form { margin:30px auto 0; max-width:440px; text-align:left; }.optin label:not(.consent) { display:block; color:#6b6f73; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; margin:14px 0; }.optin input:not([type=checkbox]) { display:block; width:100%; margin-top:6px; padding:16px; border:1px solid var(--line); border-radius:5px; color:var(--ink); background:white; }.optin .button { width:100%; margin-top:18px; }.consent { display:flex; gap:9px; align-items:flex-start; font-size:.78rem; line-height:1.5; margin-top:18px; color:#56636b; }.consent a { color:var(--ink); }.form-note { text-align:center; color:#61707b; font-size:.8rem; margin:18px 0 0; }.error { color:#9b3737; font-size:.85rem; text-align:center; }
.result { max-width:700px; margin:auto; }.result>p { text-align:left; }.what-helps { margin:32px 0; padding:24px; background:#f5ece4; text-align:left; border-left:3px solid var(--gold); }.what-helps h2 { font-size:2rem; margin:0 0 8px; }.what-helps p { line-height:1.6; margin:0; }.universal { border-top:1px solid var(--line); padding-top:28px; }.inbox { background:var(--ink); color:white; padding:22px; border-radius:5px; line-height:1.5; margin:34px 0 14px; }.link-button { text-decoration:underline; font-size:.85rem; }
@media(max-width:600px){ .quiz-shell{padding:28px 14px}.card{padding:28px 20px}.progress{gap:3px}.progress i{width:5px}.dot{width:25px;height:25px;font-size:.68rem}.actions{flex-wrap:wrap}.actions .button{width:100%;order:-1}.answer{padding:14px}.intro{padding:6vh 0}.texture{width:60vw;opacity:.35} }

/* Three-section landing page */
.landing-page { overflow:hidden; background:#f8f0e7; }
.quiz-shell.landing-mode { padding:0; background:#f8f0e7; }
.quiz-shell.landing-mode:after { display:none; }
.landing-hero { min-height:clamp(760px,calc(100svh - 116px),940px); position:relative; isolation:isolate; overflow:hidden; padding:112px 20px 135px; display:grid; place-items:center; background:#f8f0e7; }
.landing-hero:before,.inside-section:before { display:none; }
.wordmark { position:absolute; z-index:2; left:clamp(22px,4.5vw,90px); top:26px; letter-spacing:.22em; color:#af8755; font-family:var(--serif); font-size:clamp(1.05rem,1.7vw,1.55rem); }
.hero-copy { position:relative; z-index:2; max-width:1000px; margin:0 auto; text-align:center; }
.star-divider { width:min(400px,38vw); max-height:80px; object-fit:contain; display:block; margin:0 auto 22px; }
.hero-copy .eyebrow { margin:0 0 30px; font-size:clamp(.64rem,1vw,.82rem); }
.hero-copy h1 { max-width:1100px; margin:0 auto .45em; color:var(--ink); font-size:clamp(3rem,5.25vw,5.75rem); line-height:.9; letter-spacing:-.035em; }
.hero-copy h1 span { font-size:.74em; letter-spacing:.01em; }
.hero-lede { font-family:var(--serif); font-size:clamp(1.12rem,1.55vw,1.45rem); font-weight:600; line-height:1.42; margin:0 auto 34px; }
.hero-moon,.hero-left-art,.hero-right-art { position:absolute; z-index:1; pointer-events:none; height:auto; }
.hero-moon { width:min(35vw,520px); top:58px; right:0; }
.hero-left-art { width:min(36vw,570px); bottom:-70px; left:-15px; }
.hero-right-art { width:min(28vw,460px); bottom:-70px; right:-14px; }
.benefit-strip { min-height:120px; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; gap:18px; padding:21px max(5vw,30px); background:#fbf5ed; color:var(--ink); position:relative; z-index:3; }
.benefit-strip p { display:flex; align-items:center; justify-content:center; gap:16px; margin:0; font-size:clamp(.75rem,1.25vw,1.1rem); line-height:1.25; letter-spacing:.09em; text-transform:uppercase; font-weight:600; }
.benefit-strip img { width:42px; height:42px; object-fit:contain; flex:0 0 42px; }
.inside-section { min-height:850px; padding:100px max(7vw,35px); display:grid; grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr); align-items:center; gap:25px; position:relative; overflow:hidden; background:#f8f0e7; }
.inside-copy,.founder-copy { position:relative; z-index:1; max-width:760px; }
.inside-copy h2,.founder-copy h2 { color:var(--ink); font-size:clamp(3.3rem,5.4vw,6rem); line-height:.89; letter-spacing:-.03em; margin:0 0 38px; }
.section-star { position:absolute; width:48px; height:48px; object-fit:contain; left:-66px; top:10px; }
.inside-copy ul { padding:0 0 0 1.2em; max-width:820px; font-family:var(--serif); font-size:clamp(1.12rem,1.55vw,1.55rem); font-weight:600; line-height:1.48; }
.inside-copy li { margin:0 0 25px; padding-left:.18em; }.inside-copy .button { margin:18px 0 0 4.2rem; }
.inside-art { width:min(48vw,700px); justify-self:end; position:relative; z-index:1; }
.founder-section { min-height:780px; padding:82px max(8vw,35px); display:grid; grid-template-columns:minmax(0,.95fr) minmax(380px,.8fr); align-items:center; gap:30px; overflow:hidden; background:#cc9888; color:#fffaf5; }
.founder-copy h2 { color:#fffaf5; }.founder-copy p { max-width:660px; font-family:var(--serif); font-size:clamp(1.2rem,1.65vw,1.65rem); font-weight:600; line-height:1.55; letter-spacing:.045em; }.founder-copy .button { margin-top:18px; background:#f9f1e9; color:var(--ink); }.founder-art { width:min(43vw,650px); justify-self:end; }
@media(max-width:850px){ .landing-hero{min-height:700px;padding:100px 20px 110px}.hero-moon{width:310px;top:35px;right:-80px;opacity:.7}.hero-left-art{width:390px;left:-100px;bottom:-10px;opacity:.85}.hero-right-art{width:310px;right:-80px;bottom:-18px;opacity:.85}.hero-copy{margin:0}.inside-section,.founder-section{grid-template-columns:1fr;padding:70px 28px}.inside-art,.founder-art{width:min(100%,590px);justify-self:center}.inside-copy .button{margin-left:0}.founder-copy{justify-self:center}.founder-section{padding-bottom:30px}.benefit-strip{grid-template-columns:1fr 1fr;padding:25px}.benefit-strip p{justify-content:flex-start;padding-left:5vw}.section-star{left:-55px;width:39px;height:39px} }
@media(max-width:520px){ .landing-hero{min-height:640px;padding:92px 18px 110px}.wordmark{top:15px;font-size:.9rem}.hero-copy{margin:0}.star-divider{width:220px;margin-bottom:14px}.hero-copy .eyebrow{margin-bottom:20px}.hero-copy h1{font-size:2.7rem}.hero-lede{font-size:1rem;line-height:1.45}.hero-lede br{display:none}.hero-left-art{width:285px;left:-95px;bottom:-25px}.hero-right-art{width:245px;right:-100px;bottom:-25px}.hero-moon{width:230px;right:-100px;top:35px}.benefit-strip{gap:20px 5px}.benefit-strip p{font-size:.64rem;padding:0;gap:7px}.benefit-strip img{width:31px;height:31px;flex-basis:31px}.inside-section,.founder-section{padding:62px 24px}.inside-copy h2,.founder-copy h2{font-size:3.2rem;margin-bottom:25px}.section-star{position:static;display:block;width:30px;height:30px;margin:0 0 12px}.inside-copy ul{font-size:1.14rem;line-height:1.43}.inside-copy li{margin-bottom:18px}.founder-copy p{font-size:1.18rem}.button{padding:16px 18px;min-height:54px;font-size:.7rem} }

/* Question, opt-in, and confirmation screens */
.quiz-shell.screen-mode { padding:0; background:#f8f0e7; }
.quiz-shell.screen-mode:after { display:none; }
.screen-page { width:100%; background:#f8f0e7; }
.quiz-screen { min-height:100svh; position:relative; overflow:hidden; isolation:isolate; padding:48px 20px 58px; background:#f8f0e7; color:var(--ink); }
.quiz-wordmark { position:absolute; z-index:3; left:clamp(24px,4.5vw,88px); top:clamp(26px,4vw,62px); margin:0; color:#af8755; font-family:var(--sans); letter-spacing:.22em; font-size:clamp(.76rem,1.15vw,1rem); }
.quiz-art { position:absolute; pointer-events:none; user-select:none; z-index:1; height:auto; }
.quiz-art-left { width:min(26vw,430px); left:0; bottom:0; }
.quiz-art-right { width:min(24vw,400px); right:0; bottom:0; }
.quiz-art-moon { width:min(20vw,320px); right:clamp(16px,5vw,94px); top:clamp(55px,7vw,120px); }
.quiz-screen-content { position:relative; z-index:2; min-height:calc(100svh - 106px); display:grid; place-items:center; }
.question-flow { width:min(100%,960px); padding:40px 0 10px; text-align:center; }
.question-header { margin:0 auto 40px; }.question-header h1,.gate-flow h1,.result-flow h1 { color:var(--ink); font-size:clamp(2.9rem,4.7vw,5.35rem); line-height:.95; letter-spacing:-.025em; margin:0 0 17px; }
.question-header p,.gate-copy,.result-flow>p { max-width:840px; margin:0 auto; font-family:var(--serif); font-size:clamp(1.08rem,1.55vw,1.45rem); font-weight:600; line-height:1.42; }
.quiz-card { width:min(100%,800px); margin:0 auto; padding:28px clamp(28px,4vw,58px) 26px; background:rgba(255,253,249,.96); border-radius:16px; box-shadow:0 14px 32px rgba(51,33,17,.13); }
.quiz-card .counter { font-family:var(--sans); font-size:1rem; font-weight:600; margin-bottom:14px; }.quiz-card .progress{margin-bottom:22px}.quiz-card h2{font-size:clamp(2rem,3.2vw,3.15rem);max-width:620px;margin:12px auto 24px}.question-star{display:block;width:28px;height:28px;object-fit:contain;margin:0 auto}.quiz-card .answers{margin:22px auto}.quiz-card .answer{padding:15px 18px;font-size:1rem;display:flex;align-items:center;gap:12px}.answer-feather{width:21px;height:21px;object-fit:contain;flex:0 0 21px}.quiz-card .actions{margin-top:4px}.quiz-card .actions .button{min-width:210px}.screen-gentle{font-family:var(--serif);font-size:1.12rem;font-weight:600;line-height:1.35;margin:28px 0 0}.screen-gentle:first-letter{color:var(--gold)}
.gate-flow,.result-flow { width:min(100%,840px); text-align:center; padding-top:60px; }.gate-flow h1{margin-bottom:40px}.gate-copy{font-size:clamp(1.45rem,2.1vw,2rem);line-height:1.45;margin-bottom:48px}.gate-flow form{width:min(100%,620px);margin:0 auto;text-align:left}.gate-flow label:not(.consent){display:block;margin:0 0 22px;color:#a7895e;font-family:var(--serif);font-weight:600;font-size:1.5rem;letter-spacing:.05em}.gate-flow input:not([type=checkbox]){display:block;width:100%;margin-top:8px;border:0;background:#fff;padding:20px 24px;color:var(--ink);font:inherit;box-shadow:0 3px 10px rgba(40,25,13,.04)}.gate-flow .consent{margin:8px 0 16px;color:#59636b}.gate-flow .button{display:block;width:min(100%,360px);margin:16px auto 0}.gate-flow .form-note{margin-bottom:0}.result-flow>p{font-size:clamp(1.35rem,2vw,1.85rem);margin-top:42px}.offer-button{display:inline-flex;align-items:center;justify-content:center;margin-top:40px;text-decoration:none;min-width:230px}.restart-button{display:block;margin:18px auto 0;color:var(--ink)}
@media(max-width:800px){.quiz-screen{padding:80px 18px 35px}.quiz-art-left{width:245px;left:-55px}.quiz-art-right{width:230px;right:-55px}.quiz-art-moon{width:195px;right:-45px;top:55px;opacity:.85}.question-flow{padding-top:45px}.question-header{margin-bottom:28px}.quiz-card{padding:26px 20px}.gate-flow,.result-flow{padding-top:55px}.gate-flow h1{margin-bottom:22px}.gate-copy{margin-bottom:30px}.screen-gentle{padding-bottom:130px}.result-flow{padding-bottom:150px}}
@media(max-width:520px){.quiz-screen{padding:78px 14px 20px}.quiz-wordmark{left:22px;top:25px}.quiz-art-left{width:175px;left:-62px;bottom:-20px;opacity:.8}.quiz-art-right{width:168px;right:-63px;bottom:-22px;opacity:.8}.quiz-art-moon{width:150px;right:-52px;top:57px;opacity:.75}.quiz-screen-content{min-height:calc(100svh - 98px)}.question-flow{padding-top:45px}.question-header h1,.gate-flow h1,.result-flow h1{font-size:2.65rem}.question-header p,.gate-copy,.result-flow>p{font-size:1.05rem}.question-header p br,.gate-copy br,.result-flow>p br{display:none}.quiz-card h2{font-size:2rem}.quiz-card .answer{font-size:.88rem;padding:13px}.answer-feather{width:19px;height:19px;flex-basis:19px}.quiz-card .actions{flex-direction:column}.quiz-card .actions .button{width:100%;order:-1}.screen-gentle{font-size:1rem;margin-top:22px}.gate-flow,.result-flow{padding-top:35px}.gate-copy{font-size:1.28rem;margin-bottom:28px}.gate-flow label:not(.consent){font-size:1.12rem}.gate-flow input:not([type=checkbox]){padding:17px}.result-flow>p{font-size:1.22rem;margin-top:28px}}

/* Shared legal footer and North offer */
.site-footer { position:relative; z-index:4; width:100%; padding:34px 20px 38px; background:#e8d8c7; color:#171717; text-align:center; font-family:var(--serif); }
.site-footer p { margin:0 0 22px; font-size:clamp(.9rem,1.2vw,1.15rem); font-weight:600; }.site-footer nav { display:flex; justify-content:center; flex-wrap:wrap; gap:18px 42px; }.site-footer a { color:inherit; font-size:clamp(.88rem,1.15vw,1.1rem); font-weight:600; text-decoration:none; }.site-footer a:hover,.site-footer a:focus-visible { text-decoration:underline; }
.result-flow { width:min(100%,920px); padding-top:28px; padding-bottom:40px; }.result-flow h1 { font-size:clamp(2.6rem,4.35vw,4.85rem); }.result-flow>p { margin-top:23px; font-size:clamp(1.17rem,1.75vw,1.6rem); }
.north-offer { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(300px,1fr); width:min(100%,760px); margin:28px auto 0; overflow:hidden; border:1px solid #dcccbf; border-radius:14px; background:#fbf7f0; text-align:left; box-shadow:0 8px 20px rgba(59,39,25,.08); }
.north-offer-image { position:relative; min-height:310px; background:#efe4d4; overflow:hidden; }.north-offer-image>img:not(.discount-badge) { display:block; width:100%; height:100%; object-fit:cover; }.discount-badge { position:absolute; z-index:1; width:105px; height:105px; object-fit:contain; left:18px; top:18px; filter:drop-shadow(0 3px 4px rgba(0,0,0,.12)); }
.north-offer-copy { padding:28px 30px 24px; }.north-offer-copy h2 { margin:0; font-size:3rem; text-transform:uppercase; line-height:.85; letter-spacing:.05em; }.product-tagline { margin:10px 0 16px !important; font-family:var(--sans); font-weight:600; font-size:.66rem !important; letter-spacing:.16em; text-transform:uppercase; }.north-offer-copy>p:not(.product-tagline):not(.price):not(.checkout-note) { margin:0; font-family:var(--sans); font-size:.89rem; line-height:1.5; color:#324555; }.price { margin:16px 0 4px !important; font-family:var(--sans); font-size:1.22rem !important; color:#9c9a95; }.price strong { margin-left:11px; color:#b48645; font-size:1.9rem; }.checkout-note { margin:0 0 15px !important; font-family:var(--sans); color:#5a6971; font-size:.66rem !important; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }.north-offer .offer-button { display:flex; width:100%; min-width:0; margin:0; text-align:center; }.decline-offer { display:block; margin:12px auto 0; padding:0; border:0; border-bottom:1px solid currentColor; background:transparent; color:#173a54; font:inherit; font-size:.82rem; cursor:pointer; }.restart-button { margin-top:18px; }
@media(max-width:650px){.north-offer{grid-template-columns:1fr;max-width:420px}.north-offer-image{min-height:260px}.north-offer-copy{padding:25px 22px}.discount-badge{width:90px;height:90px;left:13px;top:13px}.site-footer{padding:28px 18px}.site-footer p{line-height:1.4}.site-footer nav{gap:12px 22px}.result-flow{padding-bottom:28px}}
