:root {
  --ink: #173f3b;
  --ink-soft: #315e57;
  --forest: #0f4b40;
  --teal: #0b7071;
  --mint: #dcefe5;
  --blue: #dbeaf0;
  --violet: #e9e0f1;
  --gold: #bc934a;
  --gold-light: #ead5a5;
  --cream: #fbfaf5;
  --paper: #fffefa;
  --line: rgba(23,63,59,.16);
  --shadow: 0 24px 70px rgba(26,74,65,.12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.65; }
img { max-width: 100%; display: block; }
a { color: inherit; }
button { font: inherit; }
h1, h2, h3 { margin: 0 0 1rem; font-family: Georgia, "Times New Roman", serif; font-weight: 500; line-height: 1.08; letter-spacing: -.025em; }
h1 { font-size: clamp(3.15rem, 7vw, 6.6rem); }
h2 { font-size: clamp(2.2rem, 4vw, 4.25rem); }
h3 { font-size: 1.85rem; }
p { margin: 0 0 1rem; }
.section-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.narrow { width: min(1000px, calc(100% - 40px)); }
.eyebrow { margin-bottom: 1rem; color: var(--teal); font-size: .78rem; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.small-note { color: var(--ink-soft); font-size: .86rem; }

.site-header, .member-header { position: relative; z-index: 20; display: flex; align-items: center; justify-content: space-between; width: min(1320px, calc(100% - 40px)); margin: 0 auto; padding: 24px 0; }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; font-family: Georgia, serif; font-size: 1.12rem; }
.brand img { width: 78px; height: 52px; object-fit: contain; }
.brand strong { color: var(--forest); }
nav { display: flex; align-items: center; gap: 30px; }
nav a { text-decoration: none; font-size: .9rem; }
.nav-button { padding: 11px 19px; border: 1px solid var(--forest); border-radius: 999px; }

.hero { position: relative; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; min-height: 760px; padding: 70px 0 100px; }
.hero::before { content: ""; position: absolute; left: -24vw; top: -180px; width: 60vw; height: 60vw; border-radius: 50%; background: radial-gradient(circle, rgba(220,239,229,.85), rgba(220,239,229,0) 68%); pointer-events: none; }
.hero-copy { position: relative; z-index: 2; }
.hero h1 { max-width: 720px; }
.hero-lead { max-width: 650px; color: var(--ink-soft); font-size: 1.25rem; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin: 30px 0 15px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 13px 24px; border: 1px solid transparent; border-radius: 999px; font-weight: 700; text-decoration: none; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.primary { color: white; background: linear-gradient(135deg, var(--forest), var(--teal)); box-shadow: 0 13px 30px rgba(15,75,64,.2); }
.secondary { color: var(--forest); background: white; border-color: var(--forest); }
.text-button { color: var(--forest); background: transparent; border: 0; }
.disabled { opacity: .62; cursor: not-allowed; }
.disabled:hover { transform: none; }
.hero-visual { position: relative; display: grid; place-items: center; min-height: 600px; }
.hero-art { position: relative; z-index: 2; width: min(620px, 100%); filter: drop-shadow(0 26px 30px rgba(20,70,60,.13)); }
.halo { position: absolute; width: 540px; height: 540px; border-radius: 50%; background: repeating-radial-gradient(circle, transparent 0 22px, rgba(188,147,74,.18) 23px 24px), radial-gradient(circle, rgba(233,224,241,.7), rgba(219,234,240,.12) 56%, transparent 70%); }

.recognition { display: grid; grid-template-columns: .75fr 1.25fr; align-items: center; gap: 75px; padding: 105px 0 125px; }
.recognition img { width: 100%; filter: drop-shadow(0 20px 28px rgba(15,75,64,.12)); }
.recognition p:not(.eyebrow) { color: var(--ink-soft); font-size: 1.07rem; }

.journey { padding: 115px 0 130px; background: linear-gradient(145deg, #f4faf7, #f3f7fa 52%, #f8f4fb); }
.section-heading { max-width: 790px; margin-bottom: 55px; }
.section-heading > p:last-child { color: var(--ink-soft); font-size: 1.08rem; }
.stage-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.stage { position: relative; overflow: hidden; min-height: 600px; padding: 24px 27px 30px; border: 1px solid rgba(255,255,255,.9); border-radius: 28px; background: rgba(255,255,255,.82); box-shadow: var(--shadow); }
.stage img { width: 100%; aspect-ratio: 1 / .8; object-fit: contain; margin: 10px auto 22px; }
.stage-number { color: var(--gold); font-size: .8rem; font-weight: 800; letter-spacing: .14em; }
.stage p { color: var(--ink-soft); }
.outcome { position: absolute; right: 27px; bottom: 28px; left: 27px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--forest); font-size: .88rem; font-weight: 750; }

.proof { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 70px; padding: 135px 0; }
.proof-copy p:not(.eyebrow) { color: var(--ink-soft); font-size: 1.06rem; }
.card-gallery { position: relative; display: flex; align-items: center; justify-content: center; min-height: 590px; }
.card-gallery::before { content: ""; position: absolute; inset: 8% 3%; border-radius: 50%; background: radial-gradient(circle, rgba(220,239,229,.9), rgba(233,224,241,.35) 48%, transparent 70%); }
.card-gallery img { position: relative; width: 148px; border-radius: 13px; box-shadow: 0 22px 45px rgba(23,63,59,.17); }
.card-gallery img:nth-child(1) { transform: rotate(-13deg) translate(28px, 33px); }
.card-gallery img:nth-child(2) { z-index: 2; transform: rotate(-4deg) translate(10px, -8px); }
.card-gallery img:nth-child(3) { z-index: 3; transform: rotate(5deg) translate(-10px, -20px); }
.card-gallery img:nth-child(4) { transform: rotate(14deg) translate(-28px, 25px); }

.inside { position: relative; overflow: hidden; padding: 120px 0; color: var(--ink); background: linear-gradient(132deg, #fffdf8 0%, #f3f8f6 36%, #eee8f4 70%, #fbf8ef 100%); }
.inside::before { content: ""; position: absolute; width: 650px; height: 650px; left: -320px; top: -240px; border-radius: 50%; border: 1px solid rgba(188,147,74,.22); box-shadow: 0 0 0 46px rgba(11,112,113,.035), 0 0 0 92px rgba(95,55,118,.028); pointer-events: none; }
.inside::after { content: ""; position: absolute; right: -190px; bottom: -230px; width: 540px; height: 540px; border-radius: 50%; background: radial-gradient(circle, rgba(222,202,235,.42), rgba(220,239,229,.12) 55%, transparent 72%); pointer-events: none; }
.inside-grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 80px; }
.inside-grid > * { position: relative; }
.inside-art img { filter: drop-shadow(0 24px 38px rgba(55,37,70,.13)); }
.inside .eyebrow { color: #6c4c82; }
.included-list { margin: 35px 0 0; padding: 0; list-style: none; }
.included-list li { display: grid; grid-template-columns: 1fr 1.25fr; gap: 25px; padding: 20px 0; border-top: 1px solid var(--line); }
.included-list span { color: var(--ink-soft); }

.possibilities { position: relative; overflow: hidden; padding: 125px 0; background: linear-gradient(145deg, #fffdf8, #f7f2fa 54%, #f1f8f6); }
.possibilities::before { content: ""; position: absolute; width: 520px; height: 520px; right: -250px; top: -200px; border-radius: 50%; border: 1px solid rgba(188,147,74,.24); box-shadow: 0 0 0 35px rgba(188,147,74,.04), 0 0 0 70px rgba(11,112,113,.035); }
.possibilities .section-shell { position: relative; }
.possibilities-art { width: min(1080px, 100%); margin: -22px auto 48px; }
.possibilities-art img { width: 100%; filter: drop-shadow(0 22px 32px rgba(55,37,70,.1)); }
.possibility-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.possibility { position: relative; overflow: hidden; min-height: 270px; padding: 30px; border: 1px solid rgba(188,147,74,.42); border-radius: 24px; background: rgba(255,255,255,.78); box-shadow: 0 18px 50px rgba(55,37,70,.07); }
.possibility::before { content: "✦"; display: block; margin-bottom: 42px; color: var(--gold); font-size: 1.2rem; }
.possibility span { display: block; margin-bottom: 18px; color: #4e365e; font-family: Georgia, serif; font-size: 1.4rem; }
.possibility p { color: var(--ink-soft); }

.for-you { padding: 115px 0; background: linear-gradient(105deg, #eef8f3, #eef5f8); }
.split-copy { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; }
.check-list p { position: relative; padding: 0 0 20px 36px; border-bottom: 1px solid var(--line); color: var(--ink-soft); }
.check-list p::before { content: "✦"; position: absolute; left: 0; color: var(--gold); }

.founding { padding: 125px 0; }
.founding-card { display: grid; grid-template-columns: .95fr 1.05fr; overflow: hidden; border: 1px solid var(--line); border-radius: 36px; background: white; box-shadow: var(--shadow); }
.founding-card > img { width: 100%; height: 100%; min-height: 720px; object-fit: cover; }
.founding-copy { padding: 65px; }
.founding-copy > p:not(.eyebrow):not(.small-note) { color: var(--ink-soft); }
.price { display: flex; align-items: center; margin: 30px 0 22px; color: var(--forest); }
.price strong { font-family: Georgia, serif; font-size: 5.5rem; font-weight: 500; line-height: 1; }
.currency { align-self: flex-start; margin: 12px 7px 0 0; font-weight: 800; }
.price-note { align-self: flex-end; margin: 0 0 12px 12px; color: var(--ink-soft); font-size: .85rem; }
.founding-copy ul { padding: 0; list-style: none; }
.founding-copy li { padding: 10px 0 10px 27px; position: relative; }
.founding-copy li::before { content: "✓"; position: absolute; left: 0; color: var(--teal); font-weight: 900; }
.founding-copy .button { width: 100%; margin-top: 20px; }

.questions { padding: 80px 0 130px; }
.accordion { max-width: 900px; margin-left: auto; }
details { border-top: 1px solid var(--line); }
details:last-child { border-bottom: 1px solid var(--line); }
summary { padding: 23px 42px 23px 0; font-family: Georgia, serif; font-size: 1.35rem; cursor: pointer; }
details p { max-width: 730px; padding: 0 0 24px; color: var(--ink-soft); }
.final-invitation { padding: 110px 0; text-align: center; background: linear-gradient(140deg, #edf8f3, #f8f3fb); }
.final-invitation .section-shell { max-width: 850px; }
.final-invitation img { width: min(260px, 70%); margin: 0 auto 26px; }

footer { padding: 30px 0; color: rgba(255,255,255,.82); background: #123b37; font-size: .85rem; }
.footer-grid { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; }
.footer-grid > :last-child { justify-self: end; }
.footer-brand img { filter: drop-shadow(0 4px 8px rgba(0,0,0,.16)); }

.demo-modal { width: min(760px, calc(100% - 30px)); padding: 0; border: 0; border-radius: 28px; color: var(--ink); background: white; box-shadow: 0 40px 110px rgba(8,35,31,.35); }
.demo-modal::backdrop { background: rgba(10,39,35,.72); backdrop-filter: blur(5px); }
.close-modal { position: absolute; z-index: 2; top: 14px; right: 15px; width: 42px; height: 42px; border: 0; border-radius: 50%; background: rgba(255,255,255,.9); color: var(--forest); font-size: 1.8rem; cursor: pointer; }
.demo-content { padding: 35px; }
.demo-visual { position: relative; display: grid; place-items: center; min-height: 360px; margin-bottom: 30px; border-radius: 20px; background: linear-gradient(130deg, #eef8f3, #f4eef7); }
.demo-visual img { max-height: 320px; }
.play-mark { position: absolute; display: grid; place-items: center; width: 74px; height: 74px; padding-left: 5px; border-radius: 50%; color: white; background: rgba(15,75,64,.88); font-size: 2rem; }
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity: 1; transform: none; }

/* Member area */
.member-body { background: #f5f8f6; }
.member-header { width: 100%; padding: 18px max(24px, calc((100% - 1240px) / 2)); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.94); }
.member-actions { display: flex; align-items: center; gap: 18px; color: var(--ink-soft); font-size: .9rem; }
.member-actions button { padding: 8px 15px; border: 1px solid var(--line); border-radius: 999px; color: var(--forest); background: white; }
.member-main { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 55px 0 100px; }
.member-welcome { display: grid; grid-template-columns: 1.35fr .65fr; align-items: center; overflow: hidden; min-height: 330px; padding: 45px 60px; border-radius: 32px; color: white; background: linear-gradient(125deg, #123f39, #0b6f70); }
.member-welcome h1 { max-width: 740px; font-size: clamp(2.7rem, 5vw, 5.3rem); }
.member-welcome p:not(.eyebrow) { max-width: 700px; color: rgba(255,255,255,.78); }
.member-welcome .eyebrow { color: var(--gold-light); }
.member-welcome img { max-height: 300px; margin-left: auto; filter: drop-shadow(0 20px 30px rgba(0,0,0,.15)); }
.progress-panel { margin: 28px 0 42px; padding: 22px 28px; border: 1px solid var(--line); border-radius: 18px; background: white; }
.progress-copy { display: flex; justify-content: space-between; margin-bottom: 13px; }
.progress-copy span { color: var(--ink-soft); }
.progress-track { overflow: hidden; height: 7px; border-radius: 999px; background: #dce8e4; }
.progress-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--gold), var(--teal)); }
.member-stages { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.member-stage { position: relative; padding: 22px 25px 28px; border: 1px solid var(--line); border-radius: 26px; background: rgba(255,255,255,.75); }
.member-stage.active { background: white; box-shadow: var(--shadow); }
.member-stage-art { display: grid; place-items: center; height: 230px; margin-bottom: 20px; border-radius: 18px; background: linear-gradient(145deg, #edf8f3, #f5f0f7); }
.member-stage-art img { max-height: 220px; }
.stage-state { display: inline-block; margin-bottom: 17px; padding: 5px 11px; border-radius: 999px; color: white; background: var(--teal); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.stage-state.quiet { color: var(--ink-soft); background: #e5ece9; }
.member-stage p { min-height: 82px; color: var(--ink-soft); }
.member-stage .button { width: 100%; }
.member-resources { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 80px; margin: 85px 0; }
.resource-card { display: grid; grid-template-columns: 100px 1fr auto; align-items: center; gap: 25px; padding: 18px; border: 1px solid var(--line); border-radius: 22px; background: white; box-shadow: var(--shadow); text-decoration: none; }
.resource-card img { width: 100px; height: 90px; object-fit: contain; border-radius: 15px; background: #edf7f3; }
.resource-card span { display: grid; }
.resource-card small { color: var(--ink-soft); }
.resource-card b { margin-right: 12px; color: var(--teal); }
.member-note { display: grid; grid-template-columns: .55fr 1.45fr; align-items: center; gap: 60px; padding: 40px 65px; border-radius: 30px; background: linear-gradient(135deg, #eee7f3, #edf7f3); }
.member-note img { max-height: 280px; }

@media (max-width: 900px) {
  nav a:not(.nav-button) { display: none; }
  .hero, .recognition, .proof, .inside-grid, .split-copy, .founding-card, .member-resources, .member-note { grid-template-columns: 1fr; }
  .hero { padding-top: 50px; }
  .hero-visual { min-height: 510px; }
  .stage-grid, .member-stages { grid-template-columns: 1fr; }
  .stage { min-height: auto; padding-bottom: 95px; }
  .possibility-grid { grid-template-columns: 1fr 1fr; }
  .proof-copy { order: 2; }
  .founding-card > img { min-height: 430px; }
  .member-welcome { grid-template-columns: 1fr; padding: 40px; }
  .member-welcome img { display: none; }
}

@media (max-width: 600px) {
  .site-header, .member-header { width: calc(100% - 28px); }
  .site-header nav { display: none; }
  .hero { min-height: auto; padding-bottom: 65px; }
  h1 { font-size: 3.25rem; }
  h2 { font-size: 2.45rem; }
  .hero-visual { min-height: 390px; }
  .halo { width: 360px; height: 360px; }
  .floating-card { width: 72px; }
  .recognition, .journey, .proof, .inside, .possibilities, .for-you, .founding { padding-top: 80px; padding-bottom: 80px; }
  .card-gallery { min-height: 390px; }
  .card-gallery img { width: 92px; }
  .included-list li { grid-template-columns: 1fr; gap: 4px; }
  .possibility-grid { grid-template-columns: 1fr; }
  .founding-copy { padding: 35px 26px; }
  .founding-card > img { min-height: 330px; }
  .footer-grid { grid-template-columns: 1fr; text-align: center; }
  .footer-grid > :last-child { justify-self: center; }
  .footer-brand { justify-content: center; }
  .member-actions span { display: none; }
  .member-main { width: min(100% - 24px, 1180px); padding-top: 25px; }
  .member-welcome { padding: 30px 25px; }
  .member-welcome h1 { font-size: 2.8rem; }
  .resource-card { grid-template-columns: 74px 1fr; }
  .resource-card img { width: 74px; height: 74px; }
  .resource-card b { grid-column: 2; }
  .member-note { padding: 30px 25px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
  .reveal { opacity: 1; transform: none; }
}
