@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#142b20;--green2:#254d37;--coral:#f27d61;--cream:#faf7ef;--muted:#59685e;--line:#dce2d8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--green);font-family:'DM Sans',Arial,sans-serif}h1,h2,h3,.brand{font-family:Manrope,Arial,sans-serif}a{text-decoration:none;color:inherit}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.nav{height:90px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:30px;letter-spacing:-2px;font-weight:800}.flower,.dot{color:var(--coral)}.flower{font-size:32px;margin-right:7px}.nav nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:700}.nav nav a:hover{color:#cf674e}.nav-cta{padding:13px 20px;border:1px solid var(--green);border-radius:100px}.menu{display:none;border:0;background:none;font-size:26px;color:var(--green)}.hero{background:var(--cream);overflow:hidden}.hero-grid{min-height:630px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:35px}.eyebrow{text-transform:uppercase;letter-spacing:2.5px;font-weight:800;font-size:12px;color:#b9644c}.hero h1{font-size:clamp(46px,5.5vw,78px);letter-spacing:-4px;line-height:1.12;margin:20px 0 25px}em{font-style:normal;color:#df755a}.lead{max-width:550px;font-size:19px;line-height:1.75;color:var(--muted)}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;align-items:center;gap:20px;padding:17px 25px;border-radius:100px;font-weight:700;font-size:14px;transition:transform .2s}.btn:hover{transform:translateY(-3px)}.primary{background:var(--green);color:#fff}.ghost{border:1px solid #9eaaa0}.hero-note{font-size:13px;margin-top:48px;font-weight:700;letter-spacing:.5px}.art{height:490px;position:relative}.halo{position:absolute;width:390px;height:390px;background:#f2e6d9;border-radius:50%;top:38px;left:50%;transform:translateX(-50%)}.petal{position:absolute;width:115px;height:168px;background:var(--coral);border-radius:85% 85% 60% 60%;left:calc(50% - 57px);top:100px;transform-origin:50% 120px}.p1{transform:rotate(0deg) translateY(-65px)}.p2{transform:rotate(72deg) translateY(-65px)}.p3{transform:rotate(144deg) translateY(-65px)}.p4{transform:rotate(216deg) translateY(-65px)}.p5{transform:rotate(288deg) translateY(-65px)}.center{position:absolute;width:60px;height:60px;border-radius:50%;background:#f8d4a3;top:201px;left:calc(50% - 30px);box-shadow:0 0 0 9px #f5b28d}.stem{position:absolute;width:8px;height:160px;background:#64845d;top:250px;left:calc(50% - 4px);transform:rotate(12deg);border-radius:10px}.leaf{position:absolute;width:100px;height:42px;background:#64845d;border-radius:100% 0 100% 0;top:330px;left:calc(50% - 100px);transform:rotate(30deg)}.l2{left:50%;top:365px;transform:rotate(155deg)}.art-caption{position:absolute;bottom:12px;right:10px;font-size:13px;letter-spacing:1px;font-weight:700}.intro{padding:110px 0}.intro h2,.section-head h2,.mission h2,.contact h2{font-size:clamp(35px,4vw,55px);line-height:1.18;letter-spacing:-2.4px;margin:18px 0}.intro>p:not(.eyebrow){max-width:790px;color:var(--muted);font-size:19px;line-height:1.8}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:58px}.values>div{border-top:2px solid var(--coral);padding-top:19px}.values strong{display:block;font-size:17px}.values span{display:block;color:var(--muted);margin-top:9px;font-size:14px}.services{background:#f2f5ef;padding:110px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:45px}.section-head h2{max-width:650px}.section-head p{max-width:260px;color:var(--muted);line-height:1.7}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service{background:#fff;border-radius:16px;padding:28px 23px;min-height:360px;display:flex;flex-direction:column}.num{font-size:12px;color:#9aaca0;font-weight:800}.symbol{font-size:46px;color:var(--coral);margin:20px 0 18px}.service h3{font-size:20px;line-height:1.35;letter-spacing:-.6px;margin:0 0 12px}.service p{font-size:14px;line-height:1.75;color:var(--muted);margin:0}.featured{background:var(--green);color:#fff}.featured p{color:#d3e1d5}.pill{align-self:flex-start;font-size:11px;margin-top:auto;border:1px solid #78917f;border-radius:20px;padding:7px 11px}.mission{background:var(--green);color:#fff;padding:115px 0}.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.mission p:not(.eyebrow){color:#cbd9cd;font-size:18px;line-height:1.85}.contact{background:#fff4eb;padding:115px 0}.contact-inner{max-width:830px;text-align:center}.contact h2{font-size:clamp(38px,5vw,66px)}.contact-inner>p:not(.eyebrow){color:var(--muted);font-size:18px;line-height:1.8;max-width:650px;margin:25px auto}.contact-actions{margin-top:30px}.small{font-size:12px!important;margin-top:18px!important}.footer{padding:48px 0}.footer-row{display:flex;justify-content:space-between;align-items:end}.footer p,.footer-row>div:last-child{font-size:13px;color:var(--muted)}.footer-row>div:last-child{display:flex;gap:25px}@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}.hero-grid{grid-template-columns:1fr}.hero-grid>div:first-child{padding-top:65px}.art{height:430px}.mission-grid{gap:30px}.nav nav{gap:15px}}@media(max-width:600px){.wrap{width:min(100% - 36px,1160px)}.nav{height:75px}.menu{display:block}.nav nav{display:none;position:absolute;top:75px;left:0;right:0;background:white;z-index:10;flex-direction:column;padding:25px;box-shadow:0 15px 20px #142b2014}.nav nav.open{display:flex}.hero h1{letter-spacing:-2px}.lead{font-size:16px}.art{height:370px;transform:scale(.8);margin:-20px 0}.intro,.services,.mission,.contact{padding:75px 0}.values,.mission-grid{grid-template-columns:1fr}.section-head{display:block}.cards{grid-template-columns:1fr}.service{min-height:270px}.footer-row{display:block}.footer-row>div:last-child{margin-top:20px;flex-direction:column;gap:10px}}

/* Florish refined scrolling: gentle section landing, never forced on small screens. */
@media (min-width: 901px) and (prefers-reduced-motion: no-preference) {
  html { scroll-snap-type: y proximity; scroll-padding-top: 16px; }
  main > section { scroll-snap-align: start; scroll-snap-stop: normal; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; scroll-snap-type: none; }
}
