@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&family=Poppins:ital,wght@0,500;0,600;1,500&display=swap');


:root{--ink:#173e4a;--blue:#12a9bd;--sky:#dff4f4;--orange:#e66f55;--cream:#fbf8f1;--lime:#dfe79a;--white:#fff;--line:rgba(23,62,74,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:"DM Sans",sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}img{display:block}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Playfair Display",serif;font-weight:500;line-height:1.08;letter-spacing:-.035em}h2{font-size:clamp(2.2rem,4.8vw,4.7rem)}em{color:var(--orange);font-weight:500}.section{padding:110px max(6vw,24px)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:600;color:var(--blue);margin-bottom:24px}
.header{height:96px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;background:rgba(251,248,241,.94);position:relative;z-index:20;border-bottom:1px solid var(--line)}.brand img{width:170px;height:auto}.header nav{display:flex;gap:30px;align-items:center;font-size:.86rem;font-weight:500}.header nav a:not(.nav-cta):hover{color:var(--orange)}.nav-cta{padding:12px 20px;border:1px solid var(--ink);border-radius:99px}.nav-cta:hover{background:var(--ink);color:#fff}.menu-toggle,.hamb{display:none}
.hero{min-height:calc(100vh - 96px);display:grid;grid-template-columns:.92fr 1.08fr;background:var(--sky)}.hero-photo{position:relative;min-height:690px;overflow:hidden}.hero-photo>img{object-fit:cover;object-position:center 26%}.hero-stamp{position:absolute;right:26px;bottom:26px;width:128px;height:128px;border-radius:50%;background:var(--lime);display:flex;align-items:center;justify-content:center;gap:8px;transform:rotate(-8deg);box-shadow:0 12px 40px rgba(23,62,74,.12)}.hero-stamp b{font:500 2.8rem/1 "Playfair Display"}.hero-stamp span{font-size:.68rem;line-height:1.3;text-transform:uppercase;letter-spacing:.08em}.hero-copy{padding:9vh 7vw 7vh;display:flex;flex-direction:column;justify-content:center}.hero h1{font-size:clamp(3.6rem,6.4vw,7.2rem);margin-bottom:28px}.lead{font-size:1.12rem;max-width:610px;color:#355a64;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:28px;margin:34px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:17px 24px;background:var(--orange);color:#fff;border-radius:4px;font-weight:600;line-height:1.2;box-shadow:0 9px 28px rgba(230,111,85,.22);transition:.25s}.btn:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(230,111,85,.3)}.text-link{border-bottom:1px solid var(--ink);font-size:.88rem}.availability{display:flex;align-items:center;gap:12px;font-size:.85rem}.availability i{width:9px;height:9px;border-radius:50%;background:#68a874;box-shadow:0 0 0 5px rgba(104,168,116,.13)}.availability small{color:#64777c}
.manifesto{background:var(--ink);color:white;display:flex;justify-content:center;align-items:center;gap:45px;text-align:center}.manifesto .flower{width:84px;min-width:84px;filter:brightness(0) invert(1);opacity:.92}.manifesto .flower img{width:100%;height:auto}.manifesto p{font:500 clamp(1.6rem,3vw,3rem)/1.45 "Playfair Display";max-width:1000px;margin:0}
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;align-items:center}.about-photo{position:relative;min-height:670px;border-radius:48% 48% 8px 8px;overflow:hidden}.about-photo img{object-fit:cover;object-position:center 30%}.about-copy h2{font-size:clamp(2.5rem,4.4vw,4.5rem)}.about-copy>p{font-size:1rem;color:#46616a;max-width:700px}.credentials{display:flex;flex-wrap:wrap;gap:9px;margin:30px 0}.credentials span{border:1px solid var(--line);padding:8px 13px;border-radius:99px;font-size:.76rem;background:#fff}.about-copy .crp{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--orange)}
.services{background:var(--sky)}.section-head{display:grid;grid-template-columns:1.3fr .7fr;gap:80px;align-items:end;margin-bottom:60px}.section-head h2{margin-bottom:0}.section-head>p{max-width:430px;color:#4a6870}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-grid article{background:#fff;padding:38px;min-height:440px;display:flex;flex-direction:column;position:relative;transition:.3s}.service-grid article:hover{transform:translateY(-7px);box-shadow:0 22px 55px rgba(23,62,74,.1)}.number{position:absolute;right:28px;top:24px;font:italic 1.1rem "Playfair Display";color:var(--orange)}.service-icon{font-size:2.2rem;color:var(--blue);margin:25px 0 50px}.service-grid h3{font:500 2rem "Playfair Display";margin-bottom:16px}.service-grid p{color:#597178;font-size:.92rem}.service-grid small{color:var(--orange);margin-top:auto}.service-grid a{border-top:1px solid var(--line);margin-top:28px;padding-top:16px;display:flex;justify-content:space-between;font-size:.84rem;font-weight:600}
.approach{background:var(--orange);color:#fff;display:grid;grid-template-columns:1.05fr .95fr;gap:8vw}.approach .eyebrow{color:#fff7d0}.approach h2{margin:0}.approach h2 em{color:#fff7d0}.approach-body{padding-top:40px}.approach-body>p{font-size:1.04rem;opacity:.92}.equation{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:45px}.equation span{border:1px solid rgba(255,255,255,.45);padding:9px 14px;border-radius:99px;font-size:.78rem}.equation b{font-size:1.2rem}
.themes{background:#fff}.theme-list{border-top:1px solid var(--line)}.theme-list article{display:grid;grid-template-columns:80px 1fr 1.4fr;gap:35px;align-items:center;padding:32px 0;border-bottom:1px solid var(--line)}.theme-list span{color:var(--orange);font:italic 1rem "Playfair Display"}.theme-list h3{font:500 2rem "Playfair Display";margin:0}.theme-list p{margin:0;color:#557078;max-width:650px}
.dandelion{background:var(--lime);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:7vw}.dandelion h2{font-size:clamp(2.6rem,5vw,5rem)}.dandelion-copy>p:not(.eyebrow){max-width:690px}.dandelion-mark{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.62);border-radius:50%;aspect-ratio:1}.dandelion-mark img{width:62%;height:auto}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.faq h2{font-size:clamp(2.5rem,4.3vw,4.3rem)}.faq-intro{max-width:410px;color:#5a7279}.faq-items{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:24px 0}summary{cursor:pointer;list-style:none;font:500 1.25rem/1.4 "Playfair Display";display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary span{color:var(--orange);font-family:"DM Sans"}details[open] summary span{transform:rotate(45deg)}details p{color:#5c7177;padding-right:45px;margin:15px 0 0}
.contact{background:var(--ink);color:#fff;display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;align-items:center}.contact-image{position:relative;min-height:550px;border-radius:50% 50% 4px 4px;overflow:hidden}.contact-image img{object-fit:cover;object-position:center 30%}.contact h2{font-size:clamp(3rem,5.5vw,5.8rem);max-width:760px}.contact>div:last-child>p:not(.eyebrow){max-width:650px;color:#d2e2e3}.contact .btn{margin-top:18px}.contact-note{font-size:.78rem!important;text-transform:uppercase;letter-spacing:.1em;margin-top:36px}
footer{padding:80px 6vw 24px;background:#f3eee4;display:grid;grid-template-columns:2fr .8fr .8fr;gap:7vw}footer>div:first-child p{max-width:360px;color:#62777c}footer>div:not(.footer-bottom){display:flex;flex-direction:column;gap:8px;font-size:.86rem}footer b{color:var(--orange);text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;margin-bottom:12px}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;margin-top:35px;display:flex;justify-content:space-between;font-size:.72rem}.footer-bottom a{text-decoration:underline}.back-top,.whats-float{position:fixed;right:24px;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:15;box-shadow:0 7px 24px rgba(23,62,74,.2)}.back-top{bottom:84px;background:#fff;color:var(--ink)}.whats-float{bottom:24px;background:#28b764;color:#fff;font-size:1.5rem}
@media(max-width:900px){.header{height:78px;padding:0 20px;position:sticky;top:0}.brand img{width:138px}.hamb{display:flex;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;flex-direction:column;justify-content:center;gap:6px;padding:11px;cursor:pointer}.hamb span{height:1px;background:var(--ink);display:block}.header nav{position:absolute;top:78px;left:0;right:0;background:var(--cream);padding:30px 24px;display:flex;flex-direction:column;align-items:stretch;gap:16px;border-bottom:1px solid var(--line);transform:translateY(-150%);opacity:0;transition:.3s;z-index:-1}.menu-toggle:checked~nav{transform:translateY(0);opacity:1}.nav-cta{text-align:center}.hero{display:flex;flex-direction:column}.hero-photo{order:0;min-height:52vh}.hero-copy{order:1;padding:55px 24px 65px}.hero h1{font-size:clamp(3.2rem,14vw,5rem)}.hero-actions{align-items:stretch;flex-direction:column}.btn{width:100%;text-align:center}.text-link{align-self:flex-start}.hero-stamp{width:104px;height:104px;right:16px;bottom:16px}.hero-stamp b{font-size:2.2rem}.section{padding:78px 24px}.manifesto{flex-direction:column;gap:20px}.about,.approach,.dandelion,.faq,.contact{grid-template-columns:1fr;gap:55px}.about-photo{min-height:530px}.section-head{grid-template-columns:1fr;gap:15px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:390px}.theme-list article{grid-template-columns:42px 1fr;gap:12px}.theme-list p{grid-column:2}.dandelion-mark{max-width:500px}.contact-image{min-height:500px}.faq{gap:30px}footer{grid-template-columns:1fr 1fr;gap:50px}.footer-bottom{flex-direction:column;gap:8px}.back-top,.whats-float{right:16px}}
@media(max-width:520px){.hero-photo{min-height:50vh}.hero-photo>img{object-position:center 20%}.hero-copy{padding-top:46px}.lead{font-size:1rem}.about-photo,.contact-image{min-height:440px}.theme-list h3{font-size:1.55rem}footer{grid-template-columns:1fr}.footer-bottom{grid-column:1}.service-grid article{padding:30px}.manifesto p{font-size:1.45rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


body{font-family:"Montserrat",sans-serif}
h1,h2,h3,.manifesto p,.hero-stamp b,.service-grid h3,.theme-list h3,summary,.number{font-family:"Poppins",sans-serif}
h1,h2{letter-spacing:-.025em}em{font-family:inherit}
.header{height:90px}.brand{display:flex;align-items:center;height:100%}.brand img{width:145px;max-height:68px;object-fit:contain}
.manifesto{flex-direction:column;gap:24px}.manifesto .flower{width:76px;min-width:76px}.manifesto p{font-size:clamp(1.55rem,2.7vw,2.8rem);font-weight:500}
.dandelion-mark{overflow:hidden}.dandelion-mark img{width:78%;height:auto;max-height:80%;object-fit:contain}
.whats-float svg{width:27px;height:27px;display:block}
@media(max-width:900px){.header{height:72px}.header nav{top:72px}.brand img{width:122px;max-height:58px}.hero-stamp{width:88px;height:88px;right:12px;bottom:12px;padding:9px;gap:5px}.hero-stamp b{font-size:1.85rem}.hero-stamp span{font-size:.55rem;line-height:1.2;letter-spacing:.04em}.manifesto .flower{width:64px;min-width:64px}.dandelion-mark{min-height:330px;width:100%;max-width:520px;margin:auto}.dandelion-mark img{width:82%;max-height:78%}}
@media(max-width:380px){.hero-stamp{width:94px;height:94px}.hero-stamp b{font-size:1.8rem}.hero-stamp span{font-size:.52rem}}

.hero-stamp{width:138px;height:138px}
.contact-image{min-height:0;aspect-ratio:1365/2048;background:#f3eee4;border-radius:46% 46% 10px 10px}
.contact-image img{object-fit:contain;object-position:center}
.whats-float img{width:27px;height:27px;display:block;object-fit:contain}
@media(max-width:900px){.hero-stamp{width:104px;height:104px;padding:10px}.hero-stamp b{font-size:2rem}.hero-stamp span{font-size:.58rem;line-height:1.22}.contact-image{min-height:0;aspect-ratio:1365/2048;max-height:none}}
@media(max-width:380px){.hero-stamp{width:96px;height:96px}.hero-stamp b{font-size:1.85rem}.hero-stamp span{font-size:.52rem}}
