:root {
  --forest:#153f2f;
  --forest-2:#0d2e22;
  --leaf:#7ac943;
  --lime:#b9e769;
  --cream:#f5f0e4;
  --paper:#fbfaf5;
  --ink:#173128;
  --muted:#6f776f;
  --coral:#ef8e72;
  --pink:#e9a5bc;
  --yellow:#f1ce60;
  --blue:#9ecbd1;
  --line:rgba(23,49,40,.14);
  --radius:28px;
  --shadow:0 25px 70px rgba(12,46,34,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.55;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;width:100%}
button,input,select,textarea{font:inherit}
.demo-strip{background:var(--lime);color:var(--forest-2);font-size:.78rem;text-align:center;padding:7px 20px;letter-spacing:.04em}
.site-header{position:absolute;top:34px;left:0;right:0;z-index:20;display:flex;align-items:center;gap:24px;padding:24px clamp(22px,5vw,78px);color:white;transition:.25s}
.site-header.scrolled{position:fixed;top:0;background:rgba(13,46,34,.94);backdrop-filter:blur(14px);padding-top:14px;padding-bottom:14px;box-shadow:0 12px 30px rgba(0,0,0,.12)}
.brand{display:inline-flex;align-items:center;gap:11px;min-width:max-content}
.brand-mark{width:38px;height:42px;display:grid;place-items:center}
.brand-mark svg{width:100%;height:100%;fill:var(--lime)}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-text strong{font-size:1.15rem;letter-spacing:.09em}
.brand-text small{font-size:.55rem;letter-spacing:.21em;margin-top:6px;opacity:.82}
.nav{margin-left:auto;display:flex;align-items:center;gap:clamp(16px,2vw,32px);font-size:.82rem;font-weight:600}
.nav a{position:relative}
.nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:2px;background:var(--lime);transition:.2s}
.nav a:hover::after{width:100%}
.nav-cta{background:var(--lime);color:var(--forest-2);padding:12px 18px;border-radius:999px}
.menu-toggle{display:none;margin-left:auto;background:transparent;color:white;border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:8px 13px}
.hero{min-height:800px;height:calc(100vh - 34px);position:relative;display:flex;align-items:center;color:white;overflow:hidden}
.hero-media{position:absolute;inset:0;background-image:url('https://images.unsplash.com/photo-1711098256574-7b497260cdc9?auto=format&fit=crop&w=2200&q=88');background-size:cover;background-position:center 52%;transform:scale(1.015)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,28,20,.84) 0%,rgba(5,28,20,.57) 38%,rgba(5,28,20,.18) 67%,rgba(5,28,20,.18) 100%),linear-gradient(0deg,rgba(5,28,20,.28),transparent 45%)}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:180px;background:linear-gradient(transparent,rgba(10,38,28,.32));pointer-events:none}
.hero-content{position:relative;z-index:2;width:min(760px,88vw);margin-left:clamp(22px,7vw,115px);padding-top:90px}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700;color:#5f7d55;margin:0 0 16px}.eyebrow.light{color:var(--lime)}
h1,h2,h3{font-family:"Fraunces",serif;margin:0;line-height:.98;letter-spacing:-.035em}
h1{font-size:clamp(4.2rem,8vw,8.4rem);max-width:900px} h1 em,h2 em{font-style:italic;color:var(--lime);font-weight:500}
.hero-copy{font-size:clamp(1rem,1.5vw,1.22rem);max-width:590px;margin:28px 0 32px;color:rgba(255,255,255,.88)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:15px 23px;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-lime{background:var(--lime);color:var(--forest-2);box-shadow:0 14px 35px rgba(185,231,105,.18)}.button-glass{border:1px solid rgba(255,255,255,.52);color:white;background:rgba(255,255,255,.06);backdrop-filter:blur(8px)}.button-cream{background:var(--cream);color:var(--forest-2)}
.hero-proof{margin-top:48px;display:flex;align-items:center;gap:12px;font-size:.83rem;color:rgba(255,255,255,.8);flex-wrap:wrap}.stars{letter-spacing:.09em;color:#ffd75d}.divider{width:1px;height:18px;background:rgba(255,255,255,.3)}
.scroll-cue{position:absolute;z-index:3;bottom:34px;right:clamp(22px,5vw,78px);font-size:.78rem;display:flex;gap:12px;align-items:center}.scroll-cue span{width:34px;height:34px;border:1px solid rgba(255,255,255,.38);border-radius:50%;display:grid;place-items:center}
.orb-one,.orb-two{position:absolute;border-radius:50%;filter:blur(1px);opacity:.5}.orb-one{width:260px;height:260px;background:rgba(239,142,114,.24);right:-80px;top:19%}.orb-two{width:180px;height:180px;background:rgba(185,231,105,.18);left:-50px;bottom:8%}
.garden-ribbon{display:grid;grid-template-columns:repeat(4,1fr);background:var(--cream);border-bottom:1px solid var(--line)}.garden-ribbon>div{padding:23px clamp(14px,3vw,42px);border-right:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px}.garden-ribbon>div:last-child{border-right:0}.garden-ribbon span{grid-row:1/3;color:#8eaa7b;font-family:"Fraunces";font-size:1.5rem}.garden-ribbon strong{font-size:.9rem}.garden-ribbon small{font-size:.72rem;color:var(--muted)}
.section{padding:clamp(80px,10vw,150px) clamp(22px,6vw,96px)}
.intro{display:grid;grid-template-columns:1.1fr 1.2fr .55fr;gap:clamp(30px,5vw,90px);align-items:end}.intro h2,.section-heading h2,.faq h2{font-size:clamp(3.2rem,5.5vw,6.2rem)}.intro h2 em,.section-heading h2 em,.faq h2 em{color:#7fad55}.lead{font-family:"Fraunces";font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.3}.intro-copy p:not(.lead){color:var(--muted)}.text-link{display:inline-flex;gap:10px;margin-top:16px;border-bottom:1px solid var(--ink);font-weight:700;padding-bottom:3px}.intro-badge{aspect-ratio:1;border:1px solid var(--line);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-width:170px;background:white}.intro-badge strong{font-family:"Fraunces";font-size:3rem;color:#6ca842}.intro-badge span{font-size:.75rem}
.services{background:#eff1e6}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:55px}.section-heading>p{max-width:400px;color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{min-height:320px;border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.service-card .service-icon{font-size:2.3rem;margin-bottom:auto}.service-card>span{font-size:.7rem;font-weight:700;opacity:.58}.service-card h3{font-size:2rem;margin:7px 0 10px}.service-card p{margin:0;max-width:300px;font-size:.9rem}.coral{background:var(--coral)}.lime{background:var(--lime)}.yellow{background:var(--yellow)}.blue{background:var(--blue)}.pink{background:var(--pink)}.cream{background:var(--cream)}
.feature-split{display:grid;grid-template-columns:1.08fr .92fr;min-height:690px}.feature-photo{background:url('https://images.unsplash.com/photo-1772040942277-b194d9d0b648?auto=format&fit=crop&w=1600&q=88') center/cover no-repeat;min-height:600px}.feature-copy{background:var(--forest);color:white;padding:clamp(55px,7vw,115px);display:flex;flex-direction:column;justify-content:center}.feature-copy h2{font-size:clamp(3rem,4.7vw,5.5rem)}.feature-copy p{color:rgba(255,255,255,.74);max-width:590px}.tick-list{list-style:none;padding:0;margin:20px 0 28px;display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}.tick-list li{font-size:.86rem}.tick-list li::before{content:"✓";color:var(--lime);font-weight:900;margin-right:8px}
.project-filters{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.filter{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;padding:10px 15px;cursor:pointer}.filter.active{background:var(--forest);color:white;border-color:var(--forest)}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.project{grid-column:span 4;position:relative;overflow:hidden;border-radius:24px;min-height:360px;background:#d8ded3;transition:.25s}.project-large{grid-column:span 8;min-height:560px}.project-wide{grid-column:span 8}.project.hidden{display:none}.project img{height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .6s}.project:hover img{transform:scale(1.045)}.project::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(5,28,20,.8))}.project-caption{position:absolute;z-index:2;left:25px;right:25px;bottom:24px;color:white}.project-caption span{font-size:.67rem;text-transform:uppercase;letter-spacing:.15em;color:var(--lime)}.project-caption h3{font-size:2rem;margin:5px 0}.project-caption p{margin:0;font-size:.78rem;color:rgba(255,255,255,.75)}
.style-finder{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#f2eadf}.finder-card{background:var(--forest);color:white;border-radius:38px;padding:clamp(38px,6vw,80px)}.finder-card h2{font-size:clamp(3rem,4.5vw,5rem)}.finder-card>p{color:rgba(255,255,255,.72);max-width:540px}.mood-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:30px 0}.mood-buttons button{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.07);color:white;border-radius:16px;padding:16px;text-align:left;cursor:pointer}.mood-buttons button:hover,.mood-buttons button.active{background:var(--lime);color:var(--forest-2);border-color:var(--lime)}.mood-result{background:rgba(255,255,255,.1);border-radius:18px;padding:18px;font-size:.9rem;min-height:84px}.finder-art{position:relative;min-height:590px;border-radius:38px;background:#f1c963;overflow:hidden}.finder-photo{position:absolute;inset:70px 70px 0;background:url('https://images.unsplash.com/photo-1718131495370-7f825de3c767?auto=format&fit=crop&w=1400&q=86') center/cover no-repeat;border-radius:240px 240px 0 0;box-shadow:0 30px 60px rgba(59,58,19,.2)}.flower{position:absolute;font-family:"Fraunces";font-size:7rem;line-height:1;z-index:2}.f1{left:20px;top:15px;color:#ef8e72}.f2{right:14px;top:35px;color:#173f2f}.f3{right:25px;bottom:15px;color:#e3a1b7}
.process{background:white}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process-grid article{padding:42px 26px;border-right:1px solid var(--line)}.process-grid article:last-child{border-right:0}.process-grid span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--lime);font-family:"Fraunces";font-weight:700}.process-grid h3{font-size:2.1rem;margin:50px 0 12px}.process-grid p{color:var(--muted);font-size:.86rem}
.testimonial-band{display:grid;grid-template-columns:.75fr 1.25fr;gap:55px;background:var(--forest-2);color:white;padding:clamp(70px,8vw,120px) clamp(22px,6vw,96px)}.testimonial-intro{display:flex;flex-direction:column;justify-content:center}.big-rating{display:flex;align-items:center;gap:16px}.big-rating strong{font-family:"Fraunces";font-size:5.6rem}.testimonial-intro>p:last-child{color:rgba(255,255,255,.55)}.review-stack{display:grid;grid-template-columns:1fr 1fr;gap:14px}.review-stack blockquote{margin:0;background:var(--cream);color:var(--ink);border-radius:28px;padding:35px;font-family:"Fraunces";font-size:1.45rem;line-height:1.35;display:flex;flex-direction:column;justify-content:space-between}.review-stack footer{margin-top:45px;display:flex;flex-direction:column;font-family:"DM Sans";font-size:.78rem}.review-stack footer span{color:var(--muted)}
.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.faq-heading{position:sticky;top:120px;align-self:start}.faq-list details{border-top:1px solid var(--line);padding:4px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:25px 0;font-family:"Fraunces";font-size:1.35rem}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-family:"DM Sans";font-size:1.2rem;transition:.2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{color:var(--muted);max-width:700px;margin:0 0 28px}
.contact{position:relative;min-height:760px;padding:clamp(85px,8vw,130px) clamp(22px,6vw,96px);display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;color:white;overflow:hidden}.contact-image{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1764197943918-f0a5b2d739fb?auto=format&fit=crop&w=2200&q=88') center/cover no-repeat}.contact-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,45,33,.93),rgba(10,45,33,.72))}.contact-copy,.contact-form{position:relative;z-index:2}.contact-copy h2{font-size:clamp(3.3rem,5vw,6rem)}.contact-copy p{max-width:500px;color:rgba(255,255,255,.7)}.contact-form{background:rgba(251,250,245,.94);backdrop-filter:blur(12px);color:var(--ink);border-radius:30px;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{font-size:.72rem;font-weight:700;display:grid;gap:7px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--line);background:white;border-radius:14px;padding:13px 14px;color:var(--ink);outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#7fad55}.full{grid-column:1/-1}.form-note{margin:0;font-size:.7rem;color:var(--muted);text-align:center}
.footer{background:#0a251c;color:white;padding:65px clamp(22px,6vw,96px) 25px;display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:40px}.footer-brand p{max-width:330px;color:rgba(255,255,255,.55);font-size:.85rem}.footer h4{margin:0 0 14px;font-size:.8rem;color:var(--lime)}.footer>div:not(.footer-brand):not(.footer-bottom){display:flex;flex-direction:column;gap:8px}.footer a,.footer span{font-size:.78rem;color:rgba(255,255,255,.68)}.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.14);padding-top:20px;display:flex;justify-content:space-between}.footer-bottom strong{color:white;letter-spacing:.08em}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media (max-width:1050px){.nav{position:absolute;top:84px;left:22px;right:22px;margin:0;background:#0d2e22;padding:22px;border-radius:20px;display:none;flex-direction:column;align-items:stretch;box-shadow:0 24px 48px rgba(0,0,0,.28)}.nav.open{display:flex}.nav-cta{text-align:center}.menu-toggle{display:block}.hero{min-height:760px}.garden-ribbon{grid-template-columns:1fr 1fr}.garden-ribbon>div:nth-child(2){border-right:0}.intro{grid-template-columns:1fr 1fr}.intro-badge{display:none}.service-grid{grid-template-columns:1fr 1fr}.feature-split{grid-template-columns:1fr}.project{grid-column:span 6}.project-large,.project-wide{grid-column:span 12}.style-finder{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr 1fr}.process-grid article:nth-child(2){border-right:0}.testimonial-band,.faq,.contact{grid-template-columns:1fr}.faq-heading{position:static}.footer{grid-template-columns:1.5fr 1fr 1fr}.footer>div:nth-child(4){grid-column:2/4}}
@media (max-width:700px){.site-header{top:34px;padding:18px 20px}.site-header.scrolled{top:0}.brand-mark{width:32px}.brand-text strong{font-size:1rem}.hero{height:820px;align-items:flex-end;padding-bottom:130px}.hero-media{background-position:63% center}.hero-shade{background:linear-gradient(0deg,rgba(5,28,20,.9) 0%,rgba(5,28,20,.72) 48%,rgba(5,28,20,.25) 100%)}.hero-content{margin:0 22px;padding:0}.hero h1{font-size:clamp(3.7rem,17vw,5.3rem)}.hero-copy{font-size:.95rem;margin:20px 0}.hero-proof{margin-top:28px}.scroll-cue{display:none}.garden-ribbon{grid-template-columns:1fr}.garden-ribbon>div{border-right:0;border-bottom:1px solid var(--line)}.section{padding:75px 20px}.intro{grid-template-columns:1fr;align-items:start}.intro h2,.section-heading h2,.faq h2{font-size:3.3rem}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:20px}.service-grid{grid-template-columns:1fr}.service-card{min-height:265px}.feature-photo{min-height:420px}.feature-copy{padding:70px 24px}.feature-copy h2{font-size:3.25rem}.tick-list{grid-template-columns:1fr}.project-grid{display:block}.project,.project-large,.project-wide{min-height:390px;margin-bottom:14px}.project-large{min-height:480px}.mood-buttons{grid-template-columns:1fr}.finder-art{min-height:430px}.finder-photo{inset:60px 28px 0}.process-grid{grid-template-columns:1fr}.process-grid article{border-right:0;border-bottom:1px solid var(--line)}.process-grid h3{margin-top:28px}.testimonial-band{padding:75px 20px}.review-stack{grid-template-columns:1fr}.review-stack blockquote{font-size:1.25rem}.faq{gap:35px}.contact{padding:80px 20px;gap:38px}.contact-form{grid-template-columns:1fr}.contact-form label,.contact-form .full{grid-column:1}.footer{grid-template-columns:1fr 1fr;padding:55px 20px 25px}.footer-brand{grid-column:1/-1}.footer>div:nth-child(4){grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}.flower{font-size:5rem}}

/* --- Final polish: consistent spacing and alignment --- */
/* Keep the same visual design, but standardise vertical rhythm site-wide. */
.intro-title .eyebrow,
.section-heading .eyebrow,
.feature-copy .eyebrow,
.finder-card .eyebrow,
.faq-heading .eyebrow,
.contact-copy .eyebrow,
.testimonial-intro .eyebrow {
  margin: 0 0 16px;
}

.intro-title h2,
.section-heading h2,
.feature-copy h2,
.finder-card h2,
.faq-heading h2,
.contact-copy h2 {
  margin: 0;
}

.intro-copy .lead { margin: 0 0 22px; }
.intro-copy p:not(.lead) { margin: 0 0 18px; }

.section-heading {
  align-items: flex-end;
}
.section-heading > div { min-width: 0; }
.section-heading > p {
  margin: 0 0 4px;
  line-height: 1.65;
}

.feature-copy > p:not(.eyebrow) {
  margin: 24px 0 0;
  line-height: 1.7;
}
.feature-copy .tick-list { margin: 26px 0 30px; }

.service-card h3 {
  margin: 8px 0 12px;
  line-height: 1.08;
}
.service-card p { line-height: 1.6; }

.finder-card > p:not(.eyebrow) {
  margin: 24px 0 0;
  line-height: 1.7;
}
.finder-card .mood-buttons { margin: 30px 0 14px; }

.process-grid h3 {
  margin: 44px 0 12px;
  line-height: 1.08;
}
.process-grid p { margin: 0; line-height: 1.65; }

.testimonial-intro .big-rating { margin: 0 0 16px; }
.testimonial-intro > p:last-child { margin: 0; line-height: 1.6; }
.review-stack blockquote { line-height: 1.42; }

.faq-heading h2 { margin: 0; }
.faq-list summary { line-height: 1.25; }
.faq-list details p { line-height: 1.7; }

.contact-copy > p:not(.eyebrow) {
  margin: 24px 0 0;
  line-height: 1.7;
}
.contact-form label { align-content: start; }

@media (max-width:700px){
  .section-heading > p { margin: 20px 0 0; }
  .intro-copy .lead { margin-bottom: 20px; }
  .feature-copy > p:not(.eyebrow),
  .finder-card > p:not(.eyebrow),
  .contact-copy > p:not(.eyebrow) { margin-top: 20px; }
  .process-grid h3 { margin-top: 28px; }
}

/* Feature headline line spacing fix */
.feature-copy h2 em {
  display: block;
  margin-top: 18px;
}

@media (max-width:700px){
  .feature-copy h2 em { margin-top: 14px; }
}
