:root{
  --plum:#453660;
  --plum-dark:#332745;
  --cream:#f8f6f0;
  --paper:#fffdf8;
  --sage:#a9d1c4;
  --sage-light:#dcebe0;
  --coral:#e8a291;
  --sun:#e1df9d;
  --lavender:#c5b4cf;
  --sky:#b9cadc;
  --ink:#332a3d;
  --ink-soft:#756c77;
  --line:rgba(69,54,96,.13);
  --shadow:0 18px 50px rgba(51,39,69,.09);
  --ease:cubic-bezier(.23,1,.32,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
a{color:inherit}
button,input,textarea{font:inherit}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}
::selection{background:var(--coral);color:var(--plum)}
.site-shell{min-height:100vh;overflow:hidden;background:var(--cream)}

.site-header{position:relative;z-index:20;background:rgba(248,246,240,.92);border-bottom:1px solid rgba(69,54,96,.06);backdrop-filter:blur(12px)}
.header-inner{max-width:1240px;height:82px;margin:0 auto;padding:0 38px;display:flex;align-items:center;justify-content:space-between}
.brand,.footer-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--plum);font-weight:600;font-size:21px;letter-spacing:-.055em}
.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(69,54,96,.16);background:rgba(255,253,248,.72);color:var(--plum)}
.brand-dot{color:var(--coral)}
.tagline{color:#8c858c;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.page-shell{width:100%}

.garden-hero{position:relative;min-height:690px;display:flex;align-items:center;overflow:hidden}
.hero-texture{position:absolute;inset:0;opacity:.35;pointer-events:none;background-image:radial-gradient(rgba(69,54,96,.14) .7px,transparent .7px);background-size:17px 17px;mask-image:linear-gradient(90deg,#000,transparent 78%)}
.garden-hero-inner{position:relative;z-index:1;width:100%;max-width:1240px;margin:0 auto;padding:76px 38px 72px;display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:center}
.hero-copy{max-width:570px;animation:reveal-up .75s var(--ease) both}
.garden-eyebrow,.section-kicker,.form-kicker{display:flex;align-items:center;gap:12px;color:#8b6466;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:700}
.garden-eyebrow span{display:inline-block;width:38px;height:1px;background:var(--coral)}
.hero-copy h1,.start-copy h2,.philosophy-grid h2,.section-heading-row h2,.reflection-intro h2,.next-step-card h2{font-family:"Playfair Display",Georgia,serif;color:var(--plum);font-weight:500;letter-spacing:-.055em}
.hero-copy h1{max-width:590px;margin:24px 0 0;font-size:clamp(50px,6vw,82px);line-height:.99}
.hero-copy h1 em,.start-copy h2 em,.philosophy-grid h2 em,.section-heading-row h2 em{font-weight:400;font-style:italic;color:#a76762}
.hero-lede{max-width:485px;margin:28px 0 0;color:var(--ink-soft);font-size:15px;line-height:1.82}
.hero-note{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:31px;color:#968f96;font-size:10px;letter-spacing:.04em}
.note-dot{width:6px;height:6px;border-radius:50%;background:#9bbcae}
.note-separator{height:12px;width:1px;background:#d3ccc7;margin:0 3px}

.hero-visual{height:500px;position:relative;animation:reveal-in .9s .08s var(--ease) both}
.orbit-shadow{position:absolute;width:500px;height:110px;left:50%;bottom:4px;transform:translateX(-50%);background:rgba(69,54,96,.11);filter:blur(30px);border-radius:50%}
.orbit-circle{position:absolute;width:244px;height:244px;display:grid;place-items:center;text-align:center;border-radius:50%;color:rgba(57,43,69,.88);font-size:13px;line-height:1.3;transition:transform .45s var(--ease),box-shadow .45s ease}
.orbit-circle strong{font-weight:700}
.orbit-top{top:8px;left:50%;transform:translateX(-50%);background:rgba(169,209,196,.82)}
.orbit-left{top:134px;left:13%;background:rgba(225,223,157,.86)}
.orbit-right{top:134px;right:13%;background:rgba(232,162,145,.86)}
.orbit-bottom{bottom:-5px;left:50%;transform:translateX(-50%);background:rgba(197,180,207,.88)}
.orbit-circle:hover{z-index:4;box-shadow:0 17px 30px rgba(69,54,96,.13)}
.orbit-top:hover,.orbit-bottom:hover{transform:translateX(-50%) translateY(-7px)}
.orbit-left:hover{transform:translateX(-4px) translateY(-7px)}
.orbit-right:hover{transform:translateX(4px) translateY(-7px)}
.orbit-center{z-index:5;position:absolute;width:142px;height:142px;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--plum);border-radius:50%;color:#fffaf2;box-shadow:0 15px 25px rgba(51,39,69,.24)}
.orbit-center small{font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:14px;color:#d8c7cd;line-height:1}
.orbit-center span{font-family:"Playfair Display",Georgia,serif;font-size:28px;font-weight:500;letter-spacing:-.06em}
.orbit-center i{position:absolute;bottom:25px;width:5px;height:5px;border-radius:50%;background:var(--coral)}
.visual-caption{position:absolute;bottom:-20px;right:4%;color:#8b848b;font-size:9px;letter-spacing:.1em;text-transform:uppercase}

.signal-strip{background:var(--plum);color:#eee6ef}
.signal-inner{max-width:1240px;margin:0 auto;padding:15px 38px;display:flex;justify-content:center;align-items:center;gap:28px;font-size:10px;text-transform:uppercase;letter-spacing:.11em}
.signal-inner i{display:block;width:4px;height:4px;border-radius:50%;background:var(--coral)}

.start-section{max-width:1164px;margin:0 auto;padding:96px 38px;display:grid;grid-template-columns:.86fr 1.14fr;gap:90px;align-items:center}
.start-copy h2{font-size:clamp(38px,4.4vw,60px);line-height:1.04;margin:16px 0 22px}
.start-copy>p{max-width:430px;color:var(--ink-soft);font-size:14px;line-height:1.82}
.dimension-list{margin-top:30px;display:grid;grid-template-columns:14px 1fr;gap:11px 11px;color:#675e6b;font-size:12px}
.dimension-dot{width:9px;height:9px;border-radius:50%;margin-top:4px}
.love-dot{background:var(--sage)}.strengths-dot{background:var(--sun)}.needs-dot{background:var(--coral)}.paid-dot{background:var(--lavender)}.lifestyle-dot{background:var(--sky)}
.garden-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:7px}
.start-form{padding:42px 46px}
.start-form h2{font-family:"Playfair Display",Georgia,serif;color:var(--plum);font-size:34px;line-height:1.08;letter-spacing:-.04em;margin:13px 0 12px}
.start-form>p{color:var(--ink-soft);font-size:13px;line-height:1.65;margin-bottom:25px}
.start-form label{display:block;margin:16px 0;color:var(--plum);font-size:12px;font-weight:700}
.start-form label span{font-weight:400;color:#958d96}
input[type=text],input[type=email],textarea{width:100%;margin-top:7px;border:1px solid rgba(69,54,96,.18);border-radius:4px;background:#fbf9f4;color:var(--plum);padding:14px 15px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
input:focus,textarea:focus{border-color:var(--sage);box-shadow:0 0 0 3px rgba(169,209,196,.22)}
input::placeholder,textarea::placeholder{color:#aaa0a7}
.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;border-radius:4px;font-size:12px;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s ease,background .18s ease}
.button.primary{background:var(--plum);color:#fffaf2;box-shadow:0 12px 25px rgba(69,54,96,.14)}
.button.primary:hover{transform:translateY(-2px);box-shadow:0 17px 32px rgba(69,54,96,.22);background:#574370}
.start-form .button.primary{width:100%;margin-top:12px}
.form-note{display:block;margin-top:14px;color:#999098;text-align:center;font-size:10px;line-height:1.45}
.alert{padding:12px 14px;background:#fff1ef;color:#8c352d;border:1px solid rgba(180,63,67,.12);border-radius:4px;margin:14px 0;font-size:12px}

.philosophy-section{background:var(--plum-dark);color:#fffaf2;padding:95px max(38px,calc((100vw - 1164px)/2))}
.light-kicker{color:#d8bec3}
.philosophy-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:90px;margin-top:30px;align-items:start}
.philosophy-grid h2{color:#fffaf2;font-size:clamp(40px,4.8vw,64px);line-height:1.03;margin:0}
.philosophy-grid>div{color:#d8d0d7;font-size:14px;line-height:1.85;padding-top:8px}
.quote-text{font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:22px;line-height:1.45;color:#f0d7d1;margin-top:30px}

.principles-grid{max-width:1164px;margin:0 auto;padding:86px 38px 104px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.principle-card{min-height:310px;padding:29px 27px;border-radius:6px;color:var(--plum);position:relative;overflow:hidden}
.principle-card>span{font-size:9px;text-transform:uppercase;letter-spacing:.14em;font-weight:700}
.principle-card h3{font-family:"Playfair Display",Georgia,serif;font-size:28px;line-height:1.05;letter-spacing:-.04em;font-weight:500;margin:58px 0 16px}
.principle-card p{font-size:12px;line-height:1.7;max-width:260px;margin:0;color:#5f5662}
.coral-card{background:#efb4a5}.sun-card{background:#e8e7ac}.sage-card{background:#b4d8ca}

.journey-stage{min-height:calc(100vh - 190px);display:grid;place-items:center;padding:64px 20px 80px;position:relative}
.journey-stage::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.28;background-image:radial-gradient(rgba(69,54,96,.12) .7px,transparent .7px);background-size:18px 18px;mask-image:radial-gradient(circle at center,#000,transparent 72%)}
.journey-card{position:relative;z-index:1;width:min(100%,780px);background:var(--paper);border:1px solid var(--line);border-radius:7px;box-shadow:0 28px 80px rgba(32,22,44,.12);padding:42px 48px 38px}
.journey-progress{height:3px;background:#e7e1df;margin-bottom:28px}
.journey-progress span{display:block;height:100%;background:var(--coral);transition:width .35s var(--ease)}
.journey-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.journey-topline strong{font-family:"Playfair Display",Georgia,serif;color:var(--plum);font-size:22px;font-weight:500}
.journey-count{color:#9a9198;font-size:11px;margin-top:5px}
.dimension-symbol{width:52px;height:52px;border-radius:50%;margin:24px 0 18px;background:var(--sage)}
.dimension-strengths .dimension-symbol{background:var(--sun)}
.dimension-needs .dimension-symbol{background:var(--coral)}
.dimension-paid .dimension-symbol{background:var(--lavender)}
.dimension-lifestyle .dimension-symbol{background:var(--sky)}
.question-form h1{font-family:"Playfair Display",Georgia,serif;color:var(--plum);font-size:clamp(32px,5vw,49px);font-weight:500;line-height:1.08;letter-spacing:-.045em;margin:0;max-width:680px}
.question-help{color:var(--ink-soft);font-size:13px;line-height:1.6;margin:14px 0 24px}
.question-form textarea{min-height:160px;resize:vertical;font-size:14px;line-height:1.65}
.scale{display:grid;grid-template-columns:repeat(10,1fr);gap:7px;margin-top:29px}
.scale label{position:relative}
.scale label input{position:absolute;opacity:0;pointer-events:none}
.scale label span{height:50px;border:1px solid rgba(69,54,96,.18);border-radius:4px;display:grid;place-items:center;background:#fbf9f4;color:var(--plum);font-weight:700;cursor:pointer;transition:transform .15s var(--ease),background .15s ease,border-color .15s ease,color .15s ease}
.scale label span:hover{transform:translateY(-2px);border-color:rgba(69,54,96,.35)}
.scale label input:checked+span{background:var(--plum);border-color:var(--plum);color:#fffaf2;box-shadow:0 8px 18px rgba(69,54,96,.16)}
.scale-legend{display:flex;justify-content:space-between;gap:15px;color:#9a9198;font-size:10px;margin:8px 2px 0}
.journey-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;padding-top:22px;border-top:1px solid rgba(69,54,96,.09)}
.journey-footer>span{color:#999098;font-size:10px;max-width:220px;line-height:1.45}
.journey-footer .button{min-width:145px}

.result-hero{max-width:1164px;margin:0 auto;padding:76px 38px 72px;display:grid;grid-template-columns:1fr 370px;gap:70px;align-items:center}
.result-copy h1{font-family:"Playfair Display",Georgia,serif;color:var(--plum);font-size:clamp(46px,5.6vw,74px);font-weight:500;line-height:1;letter-spacing:-.06em;margin:20px 0 24px}
.result-copy p{max-width:620px;color:var(--ink-soft);font-size:15px;line-height:1.82}
.result-score-orbit{position:relative;width:330px;height:330px;margin:auto;display:grid;place-items:center}
.result-ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(var(--sage) 0 20%,var(--sun) 20% 40%,var(--coral) 40% 60%,var(--lavender) 60% 80%,var(--sky) 80% 100%);opacity:.82;filter:saturate(.86)}
.result-ring::after{content:"";position:absolute;inset:34px;border-radius:50%;background:var(--cream)}
.score-badge{position:relative;z-index:2;width:205px;height:205px;border-radius:50%;background:var(--plum);color:#fffaf2;display:flex;align-content:center;justify-content:center;flex-wrap:wrap;text-align:center;box-shadow:0 17px 30px rgba(69,54,96,.2)}
.score-badge small{width:100%;font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#d7cdd4}
.score-badge strong{font-family:"Playfair Display",Georgia,serif;font-size:62px;line-height:1;font-weight:500;letter-spacing:-.05em;margin-top:7px}
.score-badge>span{align-self:flex-end;margin:0 0 8px 4px;color:#d8c7cd;font-size:13px}
.score-badge em{width:100%;margin-top:7px;font-family:"Playfair Display",Georgia,serif;font-size:14px;color:#f0d7d1;font-weight:400}

.score-section{background:#f0ede6;padding:86px max(38px,calc((100vw - 1164px)/2)) 98px}
.section-heading-row{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:42px}
.section-heading-row h2{font-size:clamp(38px,4.4vw,58px);line-height:1.04;margin:14px 0 0}
.section-heading-row>p{max-width:390px;margin:0;color:var(--ink-soft);font-size:12px;line-height:1.7}
.score-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.score-card{min-height:220px;padding:24px 22px;border-radius:6px;color:var(--plum);display:flex;flex-direction:column;justify-content:flex-end}
.score-love{background:#b4d8ca}.score-strengths{background:#e8e7ac}.score-needs{background:#efb4a5}.score-paid{background:#ccbcd2}.score-lifestyle{background:#c7d6e4}
.score-label{min-height:42px;font-size:11px;font-weight:700;line-height:1.35}
.score-card strong{font-family:"Playfair Display",Georgia,serif;font-size:50px;font-weight:500;letter-spacing:-.05em;line-height:1;margin:12px 0}
.mini-progress{height:4px;border-radius:99px;background:rgba(69,54,96,.13);overflow:hidden}
.mini-progress i{display:block;height:100%;background:var(--plum);border-radius:inherit}

.reflection-section{background:var(--plum-dark);color:#fffaf2;padding:92px max(38px,calc((100vw - 1164px)/2));display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}
.reflection-intro h2{color:#fffaf2;font-size:clamp(38px,4.2vw,56px);line-height:1.04;margin:16px 0 20px}
.reflection-intro p{color:#d1c8d0;font-size:13px;line-height:1.75;max-width:380px}
.reflection-list{border-top:1px solid rgba(255,250,242,.18)}
.reflection-list details{border-bottom:1px solid rgba(255,250,242,.18)}
.reflection-list summary{list-style:none;cursor:pointer;padding:22px 0;display:flex;justify-content:space-between;gap:20px;font-family:"Playfair Display",Georgia,serif;font-size:18px;line-height:1.35;color:#fffaf2}
.reflection-list summary::-webkit-details-marker{display:none}
.reflection-list summary span{color:#d8bec3;font-family:"DM Sans",sans-serif;font-weight:400}
.reflection-list details[open] summary span{transform:rotate(45deg)}
.reflection-list details p{margin:0;padding:0 30px 23px 0;color:#d5ccd4;font-size:13px;line-height:1.75}

.next-step-card{max-width:1164px;min-height:360px;margin:90px auto;padding:58px 66px;display:flex;align-items:center;justify-content:space-between;gap:60px;position:relative;overflow:hidden;background:var(--plum);border-radius:6px;color:#fffaf2}
.next-step-card::after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;right:-70px;top:-125px;background:rgba(169,209,196,.13);border:1px solid rgba(255,250,242,.16)}
.next-step-card>div{position:relative;z-index:2;max-width:680px}
.next-step-card h2{color:#fffaf2;font-size:clamp(38px,4.4vw,58px);line-height:1.04;margin:14px 0 18px}
.next-step-card p{max-width:600px;color:#d7cdd4;font-size:13px;line-height:1.75}
.button.light{position:relative;z-index:2;white-space:nowrap;background:#fffaf2;color:var(--plum)}
.button.light:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(0,0,0,.15)}

.site-footer{max-width:1164px;margin:0 auto;padding:0 38px 34px;display:flex;align-items:center;gap:22px;color:#8c858c;font-size:10px}
.footer-brand{font-size:17px;color:var(--plum)}
.footer-brand .brand-mark{width:27px;height:27px;font-size:11px}
.site-footer p{margin:0;max-width:580px}
.footer-note{margin-left:auto;white-space:nowrap}

@keyframes reveal-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes reveal-in{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}

@media(max-width:980px){
  .garden-hero-inner{grid-template-columns:1fr;padding-top:54px}.hero-copy{max-width:720px}.hero-visual{width:650px;max-width:100%;margin:0 auto}.orbit-left{left:4%}.orbit-right{right:4%}
  .start-section{grid-template-columns:1fr;gap:45px}.start-copy>p{max-width:650px}.philosophy-grid{gap:45px}.score-grid{grid-template-columns:repeat(3,1fr)}
  .result-hero{grid-template-columns:1fr;gap:30px}.result-score-orbit{margin-left:0}.reflection-section{grid-template-columns:1fr;gap:40px}
}

@media(max-width:720px){
  .header-inner{height:70px;padding:0 18px}.tagline{display:none}.garden-hero-inner{padding:45px 18px 48px}.hero-copy h1{font-size:clamp(44px,13vw,67px)}.hero-lede{font-size:14px;line-height:1.72}.hero-visual{height:370px;margin-top:10px}.orbit-circle{width:174px;height:174px;font-size:10px}.orbit-top{top:0}.orbit-left{top:96px;left:1%}.orbit-right{top:96px;right:1%}.orbit-bottom{bottom:0}.orbit-center{width:105px;height:105px}.orbit-center span{font-size:22px}.orbit-center small{font-size:11px}.orbit-center i{bottom:17px}.orbit-shadow{width:350px}.visual-caption{font-size:8px;right:0;bottom:-16px}
  .signal-inner{padding:14px 18px;text-align:center}.signal-inner span:not(:first-child),.signal-inner i{display:none}
  .start-section{padding:70px 18px}.start-copy h2{font-size:42px}.start-form{padding:31px 24px}.philosophy-section{padding:70px 18px}.philosophy-grid{grid-template-columns:1fr;gap:28px}.philosophy-grid h2{font-size:43px}.principles-grid{grid-template-columns:1fr;padding:58px 18px 75px}.principle-card{min-height:260px}.principle-card h3{margin-top:42px}
  .journey-stage{padding:34px 12px 55px;place-items:start center}.journey-card{padding:31px 23px 27px}.question-form h1{font-size:35px}.scale{grid-template-columns:repeat(5,1fr)}.scale label span{height:47px}.journey-footer{align-items:flex-start;flex-direction:column}.journey-footer .button{width:100%}
  .result-hero{padding:54px 18px 58px}.result-copy h1{font-size:48px}.result-score-orbit{width:280px;height:280px}.score-badge{width:175px;height:175px}.score-badge strong{font-size:53px}
  .score-section{padding:66px 18px}.section-heading-row{display:block}.section-heading-row>p{margin-top:24px}.score-grid{grid-template-columns:1fr}.score-card{min-height:180px}
  .reflection-section{padding:70px 18px}.reflection-intro h2{font-size:42px}.reflection-list summary{font-size:17px}
  .next-step-card{margin:58px 18px;padding:42px 28px;min-height:430px;align-items:flex-start;flex-direction:column;justify-content:center}.next-step-card h2{font-size:42px}.button.light{width:100%}
  .site-footer{padding:0 18px 26px;flex-wrap:wrap;gap:12px}.site-footer p{order:3;width:100%}.footer-note{margin-left:0}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
