@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');

:root {
  --ink: #071c2b;
  --ink-soft: #123247;
  --teal: #0b6871;
  --sea: #55c8c4;
  --coral: #ff6f61;
  --coral-pale: #ffd8d3;
  --paper: #f5f0e8;
  --mist: #dce9e8;
  --white: #fffdf9;
  --line: rgba(7, 28, 43, .16);
  --display: 'Playfair Display', Georgia, serif;
  --sans: 'DM Sans', Arial, sans-serif;
  --mono: 'DM Mono', monospace;
  --wrap: min(1180px, calc(100% - 56px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 16px; line-height: 1.5; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.wrap { width: var(--wrap); margin-inline: auto; }
.section { padding-block: 128px; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 99; padding: 9px 13px; transform: translateY(-150%); background: var(--white); color: var(--ink); border-radius: 4px; font-weight: 700; }
.skip-link:focus { transform: translateY(0); }
.announcement { min-height: 33px; display: flex; justify-content: center; align-items: center; gap: 8px; padding: 7px 16px; background: var(--ink); color: rgba(255,255,255,.82); font: 500 10px/1 var(--mono); letter-spacing: .16em; text-align: center; }
.status-dot { width: 6px; height: 6px; display: inline-block; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 3px rgba(255,111,97,.15); }
.site-header { position: relative; z-index: 10; width: var(--wrap); min-height: 84px; display: flex; align-items: center; justify-content: space-between; margin: 0 auto; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); letter-spacing: -.045em; }
.brand-mark { width: 32px; height: 32px; object-fit: contain; }
.brand span { position: relative; display: flex; align-items: baseline; gap: 3px; font-size: 17px; line-height: .9; }
.brand strong { font-weight: 700; }
.brand em { color: var(--coral); font-style: normal; font-weight: 700; }
.brand small { position: absolute; top: 19px; left: 1px; color: var(--teal); font: 500 7px/1 var(--mono); letter-spacing: .27em; }
.site-nav { display: flex; align-items: center; gap: 27px; font-size: 13px; font-weight: 600; }
.site-nav > a:not(.nav-cta) { position: relative; padding-block: 8px; }
.site-nav > a:not(.nav-cta)::after { content: ''; position: absolute; right: 0; bottom: 3px; left: 0; height: 1px; background: var(--coral); transform: scaleX(0); transform-origin: right; transition: transform .25s ease; }
.site-nav > a:not(.nav-cta):hover::after, .site-nav > a:not(.nav-cta):focus-visible::after { transform: scaleX(1); transform-origin: left; }
.nav-cta { padding: 10px 14px; border: 1px solid var(--ink); border-radius: 100px; transition: background .2s ease, color .2s ease; }
.nav-cta:hover, .nav-cta:focus-visible { background: var(--ink); color: var(--white); }
.nav-toggle { display: none; border: 0; background: transparent; }
.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 20px; padding: 12px 20px; border: 1px solid transparent; border-radius: 100px; font-size: 13px; font-weight: 700; letter-spacing: -.01em; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button span { font-size: 18px; line-height: 0; }
.button-coral { background: var(--coral); color: var(--ink); }
.button-coral:hover { background: #ff8579; }
.button-light { background: var(--paper); color: var(--ink); }
.button-light:hover { background: var(--white); }
.text-link, .arrow-link { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; }
.text-link span, .arrow-link span { font-size: 18px; transition: transform .2s ease; }
.text-link:hover span, .arrow-link:hover span { transform: translateX(4px); }
.eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 20px; color: var(--teal); font: 500 10px/1.3 var(--mono); letter-spacing: .14em; }
.eyebrow span { color: var(--coral); }
.hero { position: relative; min-height: 676px; overflow: hidden; background: var(--ink); color: var(--white); }
.hero-copy { position: relative; z-index: 2; padding-top: 110px; padding-bottom: 52px; }
.hero-copy .eyebrow { color: rgba(255,255,255,.64); }
.hero h1, .page-hero h1, .tool-hero h1, .contact-page h1 { max-width: 800px; margin: 0; font-family: var(--display); font-size: clamp(52px, 7vw, 98px); font-weight: 600; letter-spacing: -.065em; line-height: .93; }
h1 i, h2 i { color: var(--coral); font-weight: inherit; }
.hero-summary { max-width: 460px; margin: 30px 0 26px; color: rgba(255,255,255,.72); font-size: 17px; line-height: 1.55; }
.hero-actions { display: flex; align-items: center; gap: 25px; }
.hero .text-link { color: var(--white); }
.hero-stats { display: flex; gap: 42px; margin: 92px 0 0; }
.hero-stats div { display: flex; align-items: center; gap: 10px; }
.hero-stats dt { color: var(--coral); font: 500 11px var(--mono); }
.hero-stats dd { margin: 0; color: rgba(255,255,255,.76); font-size: 11px; font-weight: 600; line-height: 1.15; }
.hero-media { position: absolute; top: 0; right: 0; width: 51%; height: 100%; margin: 0; overflow: hidden; }
.hero-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, var(--ink) 0%, rgba(7,28,43,.55) 22%, rgba(7,28,43,.08) 62%), linear-gradient(0deg, rgba(7,28,43,.5), transparent 40%); }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 65% 50%; filter: saturate(.8) contrast(1.03); }
.hero-media figcaption { position: absolute; right: 27px; bottom: 22px; z-index: 1; display: flex; align-items: center; gap: 7px; color: rgba(255,255,255,.72); font: 500 8px var(--mono); letter-spacing: .15em; }
.hero-media figcaption span { width: 5px; height: 5px; border-radius: 50%; background: var(--coral); }
.hero-orbit { position: absolute; z-index: 1; width: 540px; height: 540px; border: 1px solid rgba(85,200,196,.18); border-radius: 50%; }
.orbit-one { top: 105px; left: -285px; }
.orbit-two { top: 194px; left: -190px; width: 360px; height: 360px; border-color: rgba(255,111,97,.18); }
.intro-section { background: var(--paper); }
.section-kicker { display: flex; justify-content: space-between; padding-bottom: 24px; border-bottom: 1px solid var(--line); color: var(--teal); font: 500 10px var(--mono); letter-spacing: .12em; }
.section-kicker b { color: var(--coral); font-weight: 500; }
.intro-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 10%; padding-top: 50px; }
.intro-layout h2, .studio-copy h2, .tools-heading h2, .section-heading h2, .sources-section h2, .context-layout h2, .calculator-copy h2, .sleep-panel h2 { margin: 0; font-family: var(--display); font-size: clamp(40px, 4vw, 63px); font-weight: 600; letter-spacing: -.06em; line-height: .98; }
.intro-body { padding-top: 8px; }
.intro-body p { max-width: 420px; margin: 0 0 16px; color: var(--ink-soft); font-size: 17px; line-height: 1.6; }
.arrow-link { margin-top: 17px; border-bottom: 1px solid var(--ink); }
.path-section { background: var(--mist); }
.section-topline { display: flex; align-items: end; justify-content: space-between; padding-bottom: 38px; }
.section-topline > p:last-child { max-width: 275px; margin: 0; color: var(--ink-soft); font-size: 13px; }
.growth-path { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.path-step { position: relative; min-height: 400px; padding: 25px 34px 28px; border-right: 1px solid var(--line); }
.path-step:first-child { border-left: 1px solid var(--line); }
.step-number { color: var(--coral); font: 500 10px var(--mono); }
.path-icon { display: grid; width: 58px; height: 58px; place-items: center; margin: 44px 0 26px; border-radius: 50%; background: var(--ink); color: var(--sea); font-size: 24px; }
.loop-icon { color: var(--coral); transform: rotate(-25deg); }
.star-icon { color: var(--coral); }
.path-step h3 { margin: 0 0 13px; font-family: var(--display); font-size: 31px; font-weight: 600; letter-spacing: -.055em; line-height: .95; }
.path-step p { max-width: 300px; margin: 0; color: var(--ink-soft); font-size: 13px; line-height: 1.52; }
.path-step a { position: absolute; right: 31px; bottom: 25px; left: 31px; display: flex; justify-content: space-between; padding-top: 16px; border-top: 1px solid var(--line); font-size: 12px; font-weight: 700; }
.path-step a span { color: var(--coral); font-size: 16px; }
.studio-section { background: var(--ink); color: var(--white); }
.studio-layout { display: grid; grid-template-columns: .9fr 1fr; align-items: center; gap: 11%; }
.studio-art { position: relative; min-height: 470px; overflow: hidden; background: #0a4657; }
.studio-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(140deg, rgba(7,28,43,.15), rgba(7,28,43,.72)); }
.studio-art img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.art-label { position: absolute; z-index: 1; right: 20px; bottom: 17px; color: rgba(255,255,255,.78); font: 10px var(--mono); letter-spacing: .12em; }
.studio-copy .eyebrow { color: rgba(255,255,255,.64); }
.studio-copy p:not(.eyebrow) { max-width: 480px; margin: 28px 0 21px; color: rgba(255,255,255,.74); font-size: 16px; line-height: 1.65; }
.check-list { padding: 0; margin: 0; list-style: none; }
.check-list li { display: flex; gap: 10px; padding-block: 9px; border-top: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.9); font-size: 13px; }
.check-list li span { color: var(--coral); font-weight: 700; }
.tool-section { display: grid; grid-template-columns: .75fr 1.25fr; gap: 8%; }
.tools-heading h2 { font-size: clamp(44px, 4.2vw, 64px); }
.tool-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.tool-card { display: flex; min-height: 365px; flex-direction: column; justify-content: space-between; padding: 22px; background: var(--ink); color: var(--white); transition: transform .25s ease, box-shadow .25s ease; }
.tool-card:hover { transform: translateY(-6px); box-shadow: 11px 12px 0 var(--coral); }
.tool-card-top { display: flex; justify-content: space-between; color: rgba(255,255,255,.7); font: 9px var(--mono); letter-spacing: .11em; }
.tool-card-top span:last-child { color: var(--coral); font-size: 17px; }
.tool-symbol { display: inline-block; color: var(--coral); font-family: var(--display); font-size: 58px; line-height: 1; }
.tool-card h3 { margin: 12px 0 12px; font-family: var(--display); font-size: 36px; font-weight: 600; letter-spacing: -.06em; line-height: .88; }
.tool-card p { max-width: 230px; margin: 0; color: rgba(255,255,255,.72); font-size: 12px; line-height: 1.45; }
.tool-card small { font: 500 10px var(--mono); letter-spacing: .13em; }
.sleep-card { background: var(--teal); }
.sleep-card .tool-symbol { color: var(--coral-pale); }
.sleep-card .tool-card-top span:last-child { color: var(--coral-pale); }
.consultation-section { background: var(--coral); padding-block: 105px; }
.consultation-layout { display: grid; grid-template-columns: .95fr 1fr; gap: 12%; }
.consultation-copy h2 { max-width: 520px; margin: 0; font-family: var(--display); font-size: clamp(46px, 5.3vw, 73px); font-weight: 600; letter-spacing: -.07em; line-height: .92; }
.consultation-copy h2 i { color: var(--ink); }
.consultation-copy > p:not(.eyebrow):not(.contact-note) { max-width: 450px; margin: 24px 0 0; font-size: 17px; line-height: 1.55; }
.contact-note { margin-top: 22px; color: rgba(7,28,43,.66); font-size: 11px; line-height: 1.45; }
.contact-note a { color: var(--ink); font-weight: 700; text-decoration: underline; text-decoration-color: rgba(7,28,43,.35); text-underline-offset: 3px; }
.contact-note a:hover { text-decoration-color: var(--ink); }
.lead-form, .contact-form { display: grid; gap: 14px; padding: 28px; background: var(--ink); color: var(--white); }
.lead-form label, .contact-form label, .calculator-form label, #bedtime-form > label { display: grid; gap: 8px; color: rgba(255,255,255,.66); font: 500 9px var(--mono); letter-spacing: .12em; }
.lead-form input, .lead-form select, .contact-form input, .contact-form select, .contact-form textarea { width: 100%; padding: 10px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.25); outline: 0; background: transparent; color: var(--white); font: 15px var(--sans); }
.lead-form option, .contact-form option { color: var(--ink); }
.lead-form input::placeholder, .contact-form input::placeholder, .contact-form textarea::placeholder { color: rgba(255,255,255,.45); }
.lead-form input:focus, .lead-form select:focus, .contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--sea); }
.lead-form .button { margin-top: 9px; }
.form-message { min-height: 0; margin: 0; color: var(--coral-pale); font-size: 12px; }
.site-footer { padding-block: 47px 25px; background: var(--ink); color: var(--white); }
.footer-grid { display: grid; grid-template-columns: 1.1fr 1.1fr 1.2fr; row-gap: 36px; }
.footer-brand { color: var(--white); }
.footer-grid > p { margin: 3px 0; color: rgba(255,255,255,.65); font-size: 13px; }
.footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px 20px; font-size: 12px; }
.footer-links a:hover { color: var(--sea); }
.footer-grid > small { grid-column: 1 / -1; padding-top: 19px; border-top: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.46); font: 9px var(--mono); letter-spacing: .06em; }

/* Inner pages */
.page-hero, .tool-hero { padding-block: 100px 110px; }
.page-hero h1, .tool-hero h1 { max-width: 900px; }
.page-hero > p:last-child, .tool-hero > p:last-child { max-width: 540px; margin: 27px 0 0; color: var(--ink-soft); font-size: 17px; line-height: 1.6; }
.service-intro { padding-block: 78px; background: var(--ink); color: var(--white); }
.manifesto { display: grid; grid-template-columns: .35fr 1.65fr; gap: 20px; }
.manifesto-number { color: var(--coral); font: 500 10px var(--mono); letter-spacing: .12em; }
.manifesto p { max-width: 825px; margin: 0; font-family: var(--display); font-size: clamp(30px, 3.6vw, 52px); font-weight: 600; letter-spacing: -.06em; line-height: 1.08; }
.manifesto i { color: var(--sea); }
.service-list { padding-top: 30px; }
.service-row { display: grid; grid-template-columns: 9% 38% 1fr; gap: 4%; padding-block: 58px; border-bottom: 1px solid var(--line); }
.service-index { color: var(--coral); font: 500 10px var(--mono); }
.service-title p { margin: 0 0 14px; color: var(--teal); font: 500 9px var(--mono); letter-spacing: .12em; }
.service-title h2 { margin: 0; font-family: var(--display); font-size: clamp(32px, 3.2vw, 49px); font-weight: 600; letter-spacing: -.06em; line-height: .94; }
.service-detail > p { max-width: 390px; margin: 0; color: var(--ink-soft); font-size: 15px; line-height: 1.55; }
.service-detail ul { display: grid; grid-template-columns: 1fr 1fr; gap: 5px 12px; padding: 0; margin: 21px 0 0; list-style: none; }
.service-detail li { color: var(--teal); font-size: 12px; }
.service-detail li::before { content: '— '; color: var(--coral); }
.principles-section { padding-block: 94px; background: var(--mist); }
.principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6%; margin-top: 42px; }
.principles article { padding-top: 20px; border-top: 1px solid var(--line); }
.principles span { color: var(--coral); font: 10px var(--mono); }
.principles h3 { margin: 26px 0 13px; font-family: var(--display); font-size: 29px; font-weight: 600; letter-spacing: -.05em; line-height: .95; }
.principles p { margin: 0; color: var(--ink-soft); font-size: 13px; line-height: 1.5; }
.cta-band { padding-block: 95px; background: var(--teal); color: var(--white); text-align: center; }
.cta-band p { color: rgba(255,255,255,.7); font: 10px var(--mono); letter-spacing: .14em; }
.cta-band h2 { margin: 18px auto 28px; font-family: var(--display); font-size: clamp(45px, 5.2vw, 73px); font-weight: 600; letter-spacing: -.07em; line-height: .94; }
.cta-band h2 i { color: var(--coral-pale); }

/* Tool pages */
.tool-hero { max-width: 860px; }
.tool-hero p:last-child { max-width: 570px; }
.medical-notice { display: flex; gap: 16px; margin-bottom: 48px; padding: 22px 25px; border-left: 4px solid var(--coral); background: var(--coral-pale); }
.notice-icon { display: grid; flex: 0 0 24px; height: 24px; place-items: center; border-radius: 50%; background: var(--ink); color: var(--coral-pale); font: 500 13px var(--mono); }
.medical-notice strong { font-size: 15px; }
.medical-notice p { margin: 5px 0 0; color: var(--ink-soft); font-size: 13px; line-height: 1.55; }
.glucose-tool { padding-top: 0; }
.calculator-shell { display: grid; grid-template-columns: .95fr 1fr; overflow: hidden; background: var(--ink); color: var(--white); }
.calculator-copy { padding: 54px; background: linear-gradient(135deg, #073042, var(--ink)); }
.calculator-copy .eyebrow { color: rgba(255,255,255,.6); }
.calculator-copy h2 { max-width: 360px; }
.calculator-copy p:not(.eyebrow) { max-width: 380px; margin: 22px 0 0; color: rgba(255,255,255,.68); font-size: 14px; line-height: 1.57; }
.calculator-form { display: grid; align-content: center; gap: 26px; padding: 54px; background: #0f4659; }
.calculator-form select, .calculator-form input { width: 100%; padding: 11px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.33); outline: 0; background: transparent; color: var(--white); font-size: 16px; }
.calculator-form option { color: var(--ink); }
.calculator-form select:focus, .calculator-form input:focus { border-color: var(--sea); }
.calculator-form input::placeholder { color: rgba(255,255,255,.4); }
.tool-result { min-height: 45px; margin: 0; padding: 13px 14px; border-left: 2px solid var(--coral); background: rgba(7,28,43,.24); color: rgba(255,255,255,.8); font-size: 12px; line-height: 1.45; }
.tool-result strong { color: var(--coral-pale); }
.reference-table-section { padding-bottom: 105px; }
.section-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 40px; }
.reference-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.reference-card { padding: 30px; background: var(--white); }
.accent-card { background: var(--mist); }
.ref-card-top { display: flex; justify-content: space-between; align-items: start; gap: 15px; }
.ref-card-top span { max-width: 260px; color: var(--teal); font: 500 10px/1.45 var(--mono); letter-spacing: .1em; }
.ref-card-top b { color: var(--coral); font: 500 19px var(--display); }
.ref-explain { min-height: 63px; margin: 25px 0; color: var(--ink-soft); font-size: 13px; line-height: 1.5; }
.reference-card dl { margin: 0; }
.reference-card dl div { display: flex; justify-content: space-between; gap: 12px; padding: 13px 0; border-top: 1px solid var(--line); }
.reference-card dt { font-size: 13px; font-weight: 700; }
.reference-card dd { margin: 0; color: var(--teal); font: 500 12px var(--mono); }
.context-section, .sleep-context { padding-block: 105px; background: var(--ink); color: var(--white); }
.context-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 13%; }
.context-layout .eyebrow { color: rgba(255,255,255,.62); }
.context-points { display: grid; gap: 20px; }
.context-points p { margin: 0; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.74); font-size: 14px; line-height: 1.6; }
.context-points b { color: var(--sea); }
.sources-section { padding-block: 98px; }
.sources-section > p:not(.eyebrow) { max-width: 620px; margin: 23px 0; color: var(--ink-soft); font-size: 15px; }
.source-links { display: grid; max-width: 730px; border-top: 1px solid var(--line); }
.source-links a { display: flex; justify-content: space-between; gap: 10px; padding: 15px 0; border-bottom: 1px solid var(--line); color: var(--teal); font-size: 13px; font-weight: 700; }
.source-links a span { color: var(--coral); font-size: 17px; }
.sleep-hero { padding-bottom: 80px; }
.sleep-calculator { display: grid; grid-template-columns: .85fr 1.15fr; overflow: hidden; background: var(--ink); color: var(--white); }
.sleep-visual { position: relative; min-height: 510px; overflow: hidden; background: #0a5765; }
.sleep-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(130deg, rgba(7,28,43,.03), rgba(7,28,43,.5)); }
.moon-glow { position: absolute; top: 18%; left: 18%; width: 290px; height: 290px; border-radius: 50%; background: radial-gradient(circle, rgba(255,216,211,.98) 0 17%, rgba(255,216,211,.7) 18%, rgba(255,216,211,0) 70%); filter: blur(2px); }
.moon-shape { position: absolute; top: 21%; left: 26%; width: 220px; height: 220px; border-radius: 50%; background: var(--coral-pale); box-shadow: inset -42px -8px 0 #0a5765; }
.sleep-visual p { position: absolute; z-index: 1; left: 34px; bottom: 28px; margin: 0; color: var(--white); font: 600 36px/.87 var(--display); letter-spacing: -.06em; }
.sleep-visual i { color: var(--coral-pale); }
.star { position: absolute; z-index: 1; color: var(--coral-pale); }
.star-a { top: 12%; right: 18%; font-size: 24px; }.star-b { top: 39%; right: 10%; }.star-c { top: 17%; left: 12%; font-size: 30px; }
.sleep-panel { padding: 54px; background: var(--ink); }
.sleep-panel .eyebrow { color: rgba(255,255,255,.6); }
.sleep-panel h2 { margin-bottom: 35px; }
#bedtime-form { display: grid; gap: 21px; }
#bedtime-form input[type="time"] { width: 100%; padding: 11px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.33); outline: 0; background: transparent; color: var(--white); font-size: 21px; }
.sleep-options { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.sleep-options label { display: flex; align-items: center; gap: 9px; padding: 12px; border: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.72); font-size: 11px; line-height: 1.3; cursor: pointer; }
.sleep-options input { accent-color: var(--coral); }
.sleep-options b { display: block; color: var(--white); font-size: 12px; }
.sleep-note { margin: 18px 0 0; color: rgba(255,255,255,.47); font-size: 11px; line-height: 1.45; }
.suggestions-section { padding-block: 91px 105px; }
.suggestions-header { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 30px; }
.suggestions-header p:last-child { max-width: 300px; margin: 0; color: var(--ink-soft); font-size: 12px; }
.bedtime-results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.sleep-result { padding: 25px; border: 1px solid var(--line); background: var(--white); }
.sleep-result.featured { border-color: var(--teal); background: var(--teal); color: var(--white); }
.sleep-result span { display: block; color: var(--coral); font: 500 10px var(--mono); letter-spacing: .12em; }
.sleep-result.featured span { color: var(--coral-pale); }
.sleep-result strong { display: block; margin: 19px 0 8px; font-family: var(--display); font-size: 42px; font-weight: 600; letter-spacing: -.06em; line-height: 1; }
.sleep-result small { color: var(--ink-soft); font-size: 12px; }.sleep-result.featured small { color: rgba(255,255,255,.68); }
.contact-page { display: grid; grid-template-columns: 1fr .9fr; gap: 11%; padding-block: 96px 120px; }
.contact-page h1 { max-width: 680px; font-size: clamp(45px, 5.5vw, 76px); }
.contact-page-copy > p:not(.eyebrow) { max-width: 490px; margin: 27px 0 0; color: var(--ink-soft); font-size: 16px; line-height: 1.6; }
.direct-contact { display: grid; margin-top: 35px; border-top: 1px solid var(--line); }
.direct-contact a { position: relative; display: grid; gap: 5px; padding: 14px 32px 14px 0; border-bottom: 1px solid var(--line); transition: color .2s ease, padding-left .2s ease; }
.direct-contact a:hover, .direct-contact a:focus-visible { padding-left: 7px; color: var(--teal); }
.direct-contact span { color: var(--teal); font: 500 9px var(--mono); letter-spacing: .12em; }
.direct-contact strong { font-family: var(--display); font-size: clamp(19px, 1.75vw, 25px); font-weight: 600; letter-spacing: -.04em; line-height: 1; }
.direct-contact b { position: absolute; top: 50%; right: 2px; color: var(--coral); font-size: 18px; font-weight: 400; transform: translateY(-50%); }
.contact-aside { margin-top: 56px; padding: 20px 0; border-top: 1px solid var(--line); }
.contact-aside span { color: var(--teal); font: 500 10px var(--mono); letter-spacing: .12em; }
.contact-aside p { max-width: 390px; margin: 10px 0 0 !important; color: var(--ink) !important; font-family: var(--display); font-size: 21px !important; font-weight: 600; line-height: 1.15 !important; }
.contact-form { align-self: start; padding: 32px; }
.contact-form textarea { min-height: 82px; resize: vertical; }
.form-disclosure { margin: 3px 0 0; color: rgba(255,255,255,.44); font-size: 10px; line-height: 1.45; }

/* Programs page */
.program-hero { max-width: 1000px; padding-block: 97px 103px; }
.program-hero h1 { max-width: 930px; margin: 0; font-family: var(--display); font-size: clamp(49px, 6.1vw, 87px); font-weight: 600; letter-spacing: -.068em; line-height: .94; }
.program-hero > p:last-child { max-width: 590px; margin: 29px 0 0; color: var(--ink-soft); font-size: 17px; line-height: 1.6; }
.programs-section { background: var(--mist); }
.programs-intro { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 41px; }
.programs-intro .eyebrow { margin: 0; }
.programs-intro > p { max-width: 340px; margin: 0; color: var(--ink-soft); font-family: var(--display); font-size: 22px; font-weight: 600; line-height: 1.12; }
.programs-grid { display: grid; grid-template-columns: repeat(3, 1fr); align-items: stretch; gap: 17px; }
.program-card { position: relative; display: flex; min-height: 790px; flex-direction: column; padding: 27px; }
.program-card-light { background: var(--white); }.program-card-dark { background: var(--ink); color: var(--white); }.program-card-teal { background: var(--teal); color: var(--white); }
.program-card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.program-card-head span { color: var(--coral); font: 500 10px var(--mono); }.program-card-head p { margin: 0; color: var(--teal); font: 500 9px var(--mono); letter-spacing: .11em; text-align: right; }
.program-card-dark .program-card-head p, .program-card-teal .program-card-head p { color: rgba(255,255,255,.62); }.program-card-teal .program-card-head span { color: var(--coral-pale); }
.program-card h2 { margin: 47px 0 17px; font-family: var(--display); font-size: clamp(38px, 3.3vw, 51px); font-weight: 600; letter-spacing: -.065em; line-height: .88; }.program-card-dark h2 i { color: var(--coral); }.program-card-light h2 i { color: var(--coral); }.program-card-teal h2 i { color: var(--coral-pale); }
.program-summary { min-height: 75px; margin: 0; color: var(--ink-soft); font-size: 13px; line-height: 1.55; }.program-card-dark .program-summary, .program-card-teal .program-summary { color: rgba(255,255,255,.74); }
.program-includes { margin-top: 34px; }.program-includes h3 { margin: 0 0 16px; color: var(--teal); font: 500 9px var(--mono); letter-spacing: .12em; }.program-card-dark .program-includes h3, .program-card-teal .program-includes h3 { color: var(--sea); }
.program-includes ul { display: grid; gap: 10px; padding: 0; margin: 0; list-style: none; }.program-includes li { position: relative; padding-left: 14px; font-size: 12px; line-height: 1.35; }.program-includes li::before { content: '·'; position: absolute; left: 0; color: var(--coral); font-size: 16px; line-height: .8; }.program-card-teal .program-includes li::before { color: var(--coral-pale); }
.program-fit { margin-top: auto; padding-top: 22px; border-top: 1px solid var(--line); }.program-card-dark .program-fit, .program-card-teal .program-fit { border-color: rgba(255,255,255,.2); }.program-fit span { color: var(--coral); font: 500 9px var(--mono); letter-spacing: .12em; }.program-card-teal .program-fit span { color: var(--coral-pale); }.program-fit p { margin: 8px 0 0; font-family: var(--display); font-size: 17px; font-weight: 600; line-height: 1.07; }.program-card-dark .program-fit p, .program-card-teal .program-fit p { color: rgba(255,255,255,.9); }
.program-principles { padding-block: 107px; background: var(--ink); color: var(--white); }.program-principles > .wrap { display: grid; grid-template-columns: .73fr 1.27fr; gap: 13%; }.program-principles .eyebrow { color: rgba(255,255,255,.62); }.program-principles h2 { max-width: 420px; margin: 0; font-family: var(--display); font-size: clamp(39px, 4vw, 57px); font-weight: 600; letter-spacing: -.06em; line-height: .96; }.expectation-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }.expectation-list article { padding: 20px 0 24px; border-top: 1px solid rgba(255,255,255,.18); }.expectation-list span { color: var(--coral); font: 10px var(--mono); }.expectation-list h3 { margin: 20px 0 8px; color: var(--sea); font-family: var(--display); font-size: 23px; font-weight: 600; letter-spacing: -.04em; }.expectation-list p { margin: 0; color: rgba(255,255,255,.68); font-size: 12px; line-height: 1.5; }
.fit-section { padding-block: 105px; background: var(--coral); }.fit-layout { display: grid; grid-template-columns: .95fr 1fr; gap: 13%; }.fit-layout h2 { margin: 0; font-family: var(--display); font-size: clamp(39px, 4.2vw, 62px); font-weight: 600; letter-spacing: -.065em; line-height: .95; }.fit-layout h2 i { color: var(--ink); }.fit-copy { max-width: 515px; }.fit-copy p { margin: 0 0 19px; color: var(--ink-soft); font-size: 15px; line-height: 1.57; }.fit-copy .button { margin-top: 10px; background: var(--ink); color: var(--white); }.fit-copy .button:hover { background: var(--ink-soft); }

@media (max-width: 850px) {
  :root { --wrap: min(100% - 40px, 680px); }
  .site-header { min-height: 72px; }.nav-toggle { display: grid; gap: 5px; padding: 10px 0 10px 10px; }.nav-toggle span { display: block; width: 25px; height: 1px; background: var(--ink); }.site-nav { position: absolute; top: 71px; right: 0; left: 0; display: none; align-items: stretch; gap: 0; padding: 12px 20px 20px; background: var(--paper); border-bottom: 1px solid var(--line); box-shadow: 0 12px 18px rgba(7,28,43,.09); }.site-nav.is-open { display: grid; }.site-nav > a { padding: 12px 0 !important; }.nav-cta { margin-top: 6px; text-align: center; }.hero { min-height: auto; }.hero-copy { padding-top: 72px; padding-bottom: 44px; }.hero-media { position: relative; width: 100%; height: 355px; }.hero-media::after { background: linear-gradient(0deg, var(--ink), transparent 60%); }.hero-stats { margin-top: 65px; }.intro-layout, .studio-layout, .calculator-shell, .sleep-calculator, .contact-page, .program-principles > .wrap, .fit-layout { grid-template-columns: 1fr; gap: 42px; }.studio-art { min-height: 380px; }.tool-section { grid-template-columns: 1fr; gap: 42px; }.path-step { min-height: 370px; padding-inline: 22px; }.path-step a { right: 20px; left: 20px; }.calculator-copy, .calculator-form, .sleep-panel { padding: 38px; }.sleep-visual { min-height: 390px; }.reference-grid { grid-template-columns: 1fr; }.context-layout { grid-template-columns: 1fr; gap: 42px; }.service-row { grid-template-columns: 7% 40% 1fr; gap: 3%; }.footer-grid { grid-template-columns: 1fr 1fr; }.footer-links { justify-content: flex-start; }.programs-grid { grid-template-columns: 1fr; }.program-card { min-height: 0; }.program-summary { min-height: 0; }.programs-intro { align-items: flex-start; flex-direction: column; gap: 14px; }.program-principles > .wrap { gap: 45px; }
}
@media (max-width: 620px) {
  :root { --wrap: calc(100% - 32px); }.announcement { font-size: 8px; }.brand-mark { width: 28px; height: 28px; }.brand span { font-size: 15px; }.brand small { top: 17px; }.hero-copy { padding-top: 58px; }.hero h1, .page-hero h1, .tool-hero h1, .contact-page h1, .program-hero h1 { font-size: clamp(45px, 13vw, 62px); }.hero-summary { font-size: 15px; }.hero-actions { align-items: flex-start; flex-direction: column; gap: 16px; }.hero-stats { gap: 17px; margin-top: 48px; }.hero-stats div { gap: 7px; }.hero-stats dd { font-size: 10px; }.hero-media { height: 290px; }.section { padding-block: 75px; }.intro-layout { padding-top: 35px; }.intro-layout h2, .studio-copy h2, .tools-heading h2, .section-heading h2, .sources-section h2, .context-layout h2, .calculator-copy h2, .sleep-panel h2 { font-size: 42px; }.intro-body p { font-size: 15px; }.section-topline, .suggestions-header, .section-heading { align-items: flex-start; flex-direction: column; gap: 12px; }.section-topline > p:last-child { max-width: 100%; }.growth-path, .tool-cards, .bedtime-results, .principles { grid-template-columns: 1fr; }.path-step { min-height: 325px; border-left: 1px solid var(--line); }.path-icon { margin-block: 30px 20px; }.studio-layout { gap: 34px; }.studio-art { min-height: 300px; }.tool-card { min-height: 300px; }.consultation-section { padding-block: 70px; }.consultation-layout { gap: 37px; }.lead-form, .contact-form { padding: 21px; }.footer-grid { grid-template-columns: 1fr; gap: 24px; }.footer-grid > small { margin-top: 7px; }.page-hero, .tool-hero, .program-hero { padding-block: 58px 68px; }.page-hero > p:last-child, .tool-hero > p:last-child, .program-hero > p:last-child { font-size: 15px; }.service-intro { padding-block: 57px; }.manifesto { grid-template-columns: 1fr; gap: 18px; }.manifesto p { font-size: 31px; }.service-list { padding-top: 0; }.service-row { grid-template-columns: 1fr; gap: 19px; padding-block: 36px; }.service-detail ul { grid-template-columns: 1fr; }.principles { gap: 26px; margin-top: 30px; }.cta-band { padding-block: 72px; }.medical-notice { margin-bottom: 30px; padding: 19px; }.calculator-copy, .calculator-form, .sleep-panel { padding: 27px 22px; }.reference-table-section { padding-bottom: 65px; }.ref-explain { min-height: auto; }.context-section, .sleep-context { padding-block: 71px; }.sleep-visual { min-height: 300px; }.moon-glow { top: 2%; left: 13%; width: 240px; height: 240px; }.moon-shape { top: 7%; left: 25%; width: 175px; height: 175px; }.sleep-options { grid-template-columns: 1fr; }.suggestions-section { padding-block: 65px; }.sleep-result strong { font-size: 39px; }.contact-page { padding-block: 58px 74px; gap: 36px; }.direct-contact { margin-top: 28px; }.direct-contact strong { font-size: 18px; }.contact-aside { margin-top: 38px; }.program-card { padding: 22px; }.program-card h2 { margin-top: 32px; }.program-includes { margin-top: 27px; }.program-principles { padding-block: 72px; }.expectation-list { grid-template-columns: 1fr; }.fit-section { padding-block: 72px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }
