:root { --ink:#153f3d; --cream:#f7f1e7; --coral:#ed705c; --yellow:#f7b95d; --line:rgba(21,63,61,.22); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:"DM Sans", sans-serif; }
a { color:inherit; }
.hero { min-height:760px; position:relative; overflow:hidden; padding:29px clamp(24px,5vw,78px) 34px; background:var(--ink); color:var(--cream); }
nav { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; font-size:14px; }
.wordmark { font-size:21px; font-weight:700; text-decoration:none; letter-spacing:-1px; }.wordmark span { color:var(--coral); }.wordmark.dark { color:var(--ink); }
.nav-link { text-decoration:none; border-bottom:1px solid rgba(247,241,231,.5); padding-bottom:4px; }.nav-link span { margin-left:7px; color:var(--yellow); }
.hero-copy { position:relative; z-index:2; max-width:720px; padding-top:clamp(100px,14vw,190px); }
.eyebrow,.section-label,.card-tag,.number { font-family:"DM Mono", monospace; text-transform:uppercase; letter-spacing:.1em; font-size:11px; font-weight:500; }
.eyebrow { margin:0 0 18px; color:var(--yellow); }
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { letter-spacing:-.05em; line-height:.96; font-weight:600; }
h1 { font-size:clamp(60px,9.6vw,150px); margin:0; } em { font-family:"Playfair Display",serif; font-weight:600; }
.lede { max-width:395px; margin:31px 0 28px; font-size:18px; line-height:1.45; }
.hero-actions { display:flex; align-items:center; gap:27px; }.button { display:inline-flex; align-items:center; gap:24px; padding:15px 18px; text-decoration:none; border-radius:2px; font-size:14px; font-weight:600; }.button-light { background:var(--cream); color:var(--ink); }.button-dark { background:var(--ink); color:var(--cream); }.text-link,.arrow-link { font-size:14px; font-weight:600; }.text-link span,.arrow-link span { margin-left:10px; color:var(--coral); font-size:18px; }
.hero-art { position:absolute; right:0; top:0; width:47%; height:100%; min-width:430px; overflow:hidden; }.sun { position:absolute; width:75%; aspect-ratio:1; background:var(--yellow); border-radius:50%; top:15%; right:-27%; }.arch { position:absolute; border:1px solid rgba(247,241,231,.56); border-bottom:0; border-radius:300px 300px 0 0; }.arch-one { width:470px; height:660px; right:-40px; bottom:-200px; }.arch-two { width:330px; height:460px; right:30px; bottom:-130px; }.arch-three { width:185px; height:280px; right:104px; bottom:-70px; }.hero-art p { position:absolute; bottom:17%; right:14%; font-size:clamp(19px,2.2vw,34px); font-weight:700; line-height:.9; letter-spacing:-.06em; }.scroll-note { position:absolute; left:clamp(24px,5vw,78px); bottom:34px; z-index:2; font-family:"DM Mono",monospace; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }.scroll-note span { display:inline-block; margin-left:9px; color:var(--yellow); }
.intro { display:grid; grid-template-columns:1fr 2fr; gap:30px; padding:clamp(80px,12vw,180px) clamp(24px,12vw,188px); }.section-label { padding-top:15px; }.intro-content { max-width:700px; }.kicker { font-size:15px; font-weight:700; margin-bottom:22px; }.intro h2,.promise h2,.faq h2,.closing h2 { font-size:clamp(45px,6.4vw,92px); margin-bottom:27px; }.intro-content > p:last-child { max-width:530px; font-size:18px; line-height:1.58; }
.pillars { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.pillars article { min-height:400px; padding:32px clamp(25px,4vw,62px); display:flex; flex-direction:column; border-right:1px solid var(--line); }.pillars article:last-child { border:0; }.number { color:var(--coral); }.pillars h3 { margin:auto 0 18px; font-size:clamp(31px,3.5vw,54px); }.pillars p { max-width:270px; line-height:1.5; font-size:15px; }
.promise { padding:clamp(85px,13vw,185px) clamp(24px,12vw,188px); background:var(--yellow); }.promise .eyebrow { color:var(--ink); }.promise-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:65px; align-items:end; }.promise-grid h2 { margin:0; }.promise-grid p { font-size:18px; line-height:1.55; max-width:370px; }.arrow-link { display:inline-block; margin-top:20px; }
.podcast { display:grid; grid-template-columns:.8fr 1.2fr; min-height:620px; background:#e8ded0; }.podcast-art { margin:clamp(30px,5vw,76px); min-height:360px; display:grid; place-items:center; background:var(--coral); border-radius:50% 50% 10px 10px; position:relative; overflow:hidden; }.podcast-art:before,.podcast-art:after { content:""; position:absolute; border:1px solid rgba(21,63,61,.48); border-radius:50%; }.podcast-art:before { width:70%; height:70%; }.podcast-art:after { width:45%; height:45%; }.podcast-art span { position:relative; z-index:1; text-align:center; font-family:"DM Mono",monospace; font-size:clamp(20px,3vw,38px); font-weight:500; line-height:.88; letter-spacing:-.08em; }.podcast-copy { align-self:center; padding:clamp(52px,8vw,122px) clamp(30px,8vw,125px) clamp(52px,8vw,122px) 20px; }.podcast-copy h2 { font-size:clamp(43px,5.7vw,83px); margin-bottom:25px; }.podcast-copy > p:not(.eyebrow) { font-size:17px; max-width:500px; line-height:1.55; }
.lab { padding:clamp(85px,11vw,150px) clamp(24px,8vw,125px); background:#1a1a2e; color:var(--cream); }.lab-heading { display:flex; justify-content:space-between; gap:30px; align-items:flex-end; margin-bottom:58px; }.lab .eyebrow { color:var(--yellow); }.lab h2 { font-size:clamp(44px,6vw,85px); margin:0; }.lab-cards { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(247,241,231,.3); }.lab-cards article { min-height:250px; padding:28px 24px 20px 0; margin-right:24px; border-right:1px solid rgba(247,241,231,.3); display:flex; flex-direction:column; }.lab-cards article:last-child { border:0; }.lab-cards span { color:var(--yellow); font-size:25px; }.lab-cards h3 { font-size:28px; margin:auto 0 13px; }.lab-cards p { max-width:210px; margin:0; font-size:14px; line-height:1.48; color:rgba(247,241,231,.78); }
.experience { display:grid; grid-template-columns:1fr 1fr; }.experience-card { min-height:540px; padding:clamp(35px,5vw,77px); position:relative; }.coral { background:var(--coral); color:var(--ink); }.cream { background:#e8ded0; }.experience-card h3 { font-size:clamp(42px,5vw,78px); margin:100px 0 24px; }.experience-card > p:not(.card-tag) { max-width:370px; line-height:1.55; font-size:17px; }.sparkle { font-size:110px; position:absolute; right:12%; bottom:4%; color:var(--yellow); }.experience-card .button { margin-top:20px; }
.faq { display:grid; grid-template-columns:.9fr 1.1fr; gap:50px; padding:clamp(85px,12vw,170px) clamp(24px,12vw,188px); }.faq h2 { margin:0; }.faq-list { border-top:1px solid var(--line); }.faq details { border-bottom:1px solid var(--line); padding:23px 0; }.faq summary { display:flex; justify-content:space-between; gap:20px; cursor:pointer; font-size:19px; font-weight:600; list-style:none; }.faq summary::-webkit-details-marker { display:none; }.faq summary span { color:var(--coral); font-size:25px; font-weight:400; line-height:.65; }.faq details[open] summary span { transform:rotate(45deg); }.faq details p { max-width:500px; padding-right:30px; margin:17px 0 0; line-height:1.55; }
.closing { padding:clamp(85px,13vw,180px) 24px; text-align:center; background:var(--ink); color:var(--cream); }.closing .eyebrow { color:var(--yellow); }.closing h2 { margin-bottom:32px; } footer { min-height:144px; padding:32px clamp(24px,5vw,78px); display:flex; align-items:flex-end; justify-content:space-between; gap:25px; font-size:12px; } footer p { margin:0; max-width:215px; line-height:1.45; }
@media (max-width:760px) { .hero { min-height:700px; }.hero-art { width:100%; min-width:0; opacity:.65; }.hero-copy { padding-top:120px; }.nav-link { font-size:12px; }.hero-art p { right:10%; bottom:19%; }.hero-actions { align-items:flex-start; flex-direction:column; gap:18px; }.intro,.faq { grid-template-columns:1fr; gap:20px; }.pillars,.experience,.podcast { grid-template-columns:1fr; }.pillars article { min-height:300px; border-right:0; border-bottom:1px solid var(--line); }.pillars article:last-child { border-bottom:0; }.promise-grid { grid-template-columns:1fr; gap:20px; }.podcast-art { min-height:310px; margin-bottom:0; }.podcast-copy { padding:48px 28px 65px; }.lab-heading { display:block; }.lab-heading h2 { margin-top:20px; }.lab-cards { grid-template-columns:1fr 1fr; }.lab-cards article { min-height:230px; border-bottom:1px solid rgba(247,241,231,.3); }.lab-cards article:nth-child(2) { border-right:0; }.experience-card { min-height:460px; }.experience-card h3 { margin-top:75px; } footer { flex-direction:column; align-items:flex-start; }.faq { gap:48px; } }
