/* Generated by scripts/build-home-runtime.py. Edit the source files. */

/* Source: styles.css */
/* Shared heading face, self-hosted under the SIL Open Font License. */
@font-face{font-family:'DM Serif Display';src:url('../assets/dm-serif-display-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'DM Serif Display';src:url('../assets/dm-serif-display-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('../assets/bHYNJqzTyl2lqvmMiRRS6Y16Es.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('../assets/iwWTDc49ENF2tCHbqlNARXw6Ug.woff2') format('woff2');font-weight:500 700;font-display:swap}
@font-face{font-family:Dancing;src:url('../assets/Q7YMGCCX6E4CPFH3XWQ7VIDPFTCQZANM.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--ink:#333432;--muted:#7b7e84;--accent:#5b5c6e;--white:#fff;--serif:'DM Serif Display',Georgia,serif;--sans:Inter,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;color:var(--ink);font:16px/1.5 var(--sans);background:#dce5ed;overflow-x:clip}button,input,textarea,select{font:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}img{max-width:100%;display:block}button{border:0}h1,h2,h3,h4,h5,p{margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--serif);font-weight:400;line-height:1.1}h1{font-size:clamp(64px,7.5vw,108px);letter-spacing:-.035em}h2{font-size:clamp(50px,6vw,86px);letter-spacing:-.03em}h3{font-size:48px;letter-spacing:-.025em}h4{font-size:38px;letter-spacing:-.025em}p{color:var(--muted)}::selection{background:#c2c7d7;color:#333}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #72738c;outline-offset:5px}.ambient{position:fixed;inset:0;z-index:-2;background:radial-gradient(ellipse at 49% 49%,#f3f8fa 0%,#f0f6f9 24%,#dce8ef 58%,#d8dbea 100%);pointer-events:none}.ambient canvas{width:100%;height:100%;display:block}.site-header{position:fixed;inset:0 0 auto;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:32px 40px;height:124px;background:linear-gradient(180deg,rgba(217,221,235,.55),rgba(222,232,240,0));transition:padding .4s,height .4s}.site-header.scrolled{height:104px;padding-block:20px;backdrop-filter:blur(6px);background:linear-gradient(180deg,rgba(220,226,237,.7),rgba(230,239,245,.08))}.wordmark{font-family:Dancing,cursive;font-size:40px;font-weight:700;line-height:1.2}.brand-logo{display:inline-flex;align-items:center;text-decoration:none;line-height:1}.brand-logo img{height:52px;width:auto;max-width:220px;object-fit:contain;display:block;transition:transform .3s ease,height .4s ease}.brand-logo:hover img{transform:scale(1.03)}.site-header.scrolled .brand-logo img{height:42px}.desktop-nav{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:80px;font-size:18px}.desktop-nav a{position:relative}.desktop-nav a:after{content:'';height:1px;background:currentColor;position:absolute;left:0;bottom:-5px;width:100%;transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{transform:scaleX(1)}.button{display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--accent);color:white;border-radius:99px;padding:17px 32px;min-height:58px;line-height:1.5;position:relative;overflow:hidden;transition:background .3s,box-shadow .3s,transform .3s;white-space:nowrap}.button span{display:block;transition:transform .35s,filter .35s}.button:hover{background:#48495b;box-shadow:0 7px 24px #595a6b20;transform:translateY(-2px)}.button:hover span{animation:button-roll .38s both}.button.light{background:#fff;color:var(--ink);box-shadow:0 0 24px #fff7;font-size:16px;padding:15px 28px;min-height:54px}.button.light:hover{background:#f7f8fc}.menu-toggle{display:none;background:none;font-size:18px}.mobile-menu[hidden]{display:none}.sound-control{position:fixed;bottom:40px;left:40px;z-index:110;background:transparent;display:flex;align-items:center;gap:16px;padding:0;text-align:left;color:var(--muted);font-size:14px}.sound-icon{display:grid;place-items:center;background:white;width:48px;height:48px;border-radius:50%;box-shadow:0 0 30px #fffb;transition:transform .3s}.sound-control:hover .sound-icon{transform:scale(1.1)}.sound-icon svg{width:25px;fill:none;stroke:#7b7e84;stroke-width:1.3}.sound-control[aria-pressed=true] .sound-icon path{d:path('M3 12 Q6 1 9 12 T15 12 T21 12 T27 12');animation:sound-wave .8s infinite alternate}.container{width:min(1072px,calc(100% - 48px));margin-inline:auto}.wide{width:min(1280px,calc(100% - 80px));margin-inline:auto}.section{padding-block:120px}.section-heading{text-align:center;margin:0 auto 80px;max-width:1120px}.eyebrow{display:inline-block;background:#ffffffdd;border-radius:99px;color:var(--muted);font-size:14px;padding:8px 16px;margin-bottom:32px}.section-heading p{max-width:640px;margin:24px auto 0}.section-end{text-align:center;margin-top:48px}.section-end p{max-width:530px;margin:0 auto 28px;font-size:14px}.hero{height:100svh;min-height:720px;position:relative;display:flex;align-items:flex-end;justify-content:center;padding:0 20px 12.3vh;isolation:isolate;background:#fceef0 url('../assets/hero-bg.webp') center center / cover no-repeat}.hero-bg{position:absolute;inset:0;z-index:-2;background:url('../assets/hero-bg.webp') center center / cover no-repeat;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 85%,transparent 100%);mask-image:linear-gradient(to bottom,#000 85%,transparent 100%)}.hero-portrait{position:absolute;inset:0;z-index:-1;display:flex;justify-content:center;align-items:center;pointer-events:none;animation:portrait-in 2.2s .2s both;mask-image:linear-gradient(#000 72%,transparent 96%)}.hero-portrait img,.hero-portrait canvas{height:101%;width:auto;max-width:none;aspect-ratio:928/1228;object-fit:contain}.hero-portrait canvas{position:absolute}.hero-portrait.has-depth img{visibility:hidden}.hero-copy{text-align:center;width:100%;will-change:transform,opacity}.hero h1{white-space:nowrap;line-height:1.1}.hero p{font-size:18px;color:var(--ink);margin:22px auto 40px}.hero .button{font-size:18px}.hero h1 .letter{display:inline-block;animation:letter-in 1.2s both;animation-delay:calc(var(--i)*.023s + .15s)}.hero p,.hero .button{animation:rise-in 1.2s .7s both}.manifesto{height:170vh;min-height:1000px;position:relative}.manifesto-inner{position:sticky;top:0;min-height:100vh;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:120px 0}.manifesto blockquote{margin:0;font:48px/1.3 var(--serif);letter-spacing:-.02em}.manifesto .word{display:inline-block;will-change:filter,opacity;transition:filter .2s,opacity .2s}.manifesto cite{font:15px var(--sans);color:var(--muted);margin-top:40px}.services-scroll{height:310vh;position:relative}.services-sticky{position:sticky;top:0;height:100vh;min-height:780px;overflow:hidden;padding-top:125px}.services-sticky .section-heading{margin-bottom:50px;transition:opacity .2s,transform .2s}.service-track{display:flex;gap:58px;align-items:center;width:max-content;padding:15px calc((100vw - 1072px)/2);will-change:transform}.service-card{width:350px;height:470px;border:8px solid white;background:white;border-radius:30px;position:relative;flex-shrink:0;display:flex;flex-direction:column;align-items:center;text-align:center;padding:38px 26px 26px;box-shadow:0 0 40px #fff5;outline:1px solid #eeeeef;outline-offset:-14px;transform:rotate(var(--angle,0deg));transition:box-shadow .35s}.service-card:hover{box-shadow:0 12px 60px #8f94b12e}.service-icon{height:96px;width:96px;margin-bottom:34px;fill:none;stroke:#d3d7e3;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.service-card h3{font-size:46px}.service-card p{font-size:14px;margin-top:18px}.service-card small{font-size:14px;margin-top:auto;padding-top:28px}.mobile-dots{display:none}.journey{padding-top:140px}.journey-layout{display:grid;grid-template-columns:1fr 1.25fr;position:relative;align-items:center;min-height:700px}.journey-face{width:690px;max-width:none;position:relative;margin-left:-180px;mix-blend-mode:multiply;mask-image:linear-gradient(#000 74%,transparent 98%)}.journey-steps{padding:10px 0}.journey-step{display:flex;align-items:center;gap:24px;margin-bottom:66px}.journey-step:nth-child(2){margin-left:60px}.journey-step:nth-child(3){margin-left:120px}.step-number{font:200px/.8 var(--serif);letter-spacing:-.055em;color:white}.journey-step h4{margin-bottom:14px}.journey-step p{font-size:16px;max-width:320px}.care-cta{display:grid;grid-template-columns:1.4fr .7fr;gap:130px;align-items:center;padding-block:120px}.care-cta h3{font-size:48px}.care-cta .cta-copy>p{max-width:510px;margin:24px 0 32px}.client-proof{font-size:14px;color:var(--muted)}.avatars{display:flex;margin:24px 0}.avatars img,.avatars span{height:44px;width:44px;object-fit:cover;border:2px solid #eef4f7;border-radius:50%;margin-left:-10px}.avatars img:first-child{margin-left:0}.avatars span{background:#999eab;color:white;font-size:12px;display:grid;place-items:center}.rating{color:#343434;margin-top:12px}.stars{color:#ef9d00;letter-spacing:1px}.socials{display:flex;gap:26px;justify-content:center;margin:30px 0}.socials a{font-size:19px;transition:transform .2s}.socials a:hover{transform:translateY(-3px)}.approach-grid{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:28px}.approach-card{border-radius:28px;background:#ffffff99;padding:28px;min-height:255px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.approach-card p{font-size:14px;max-width:290px;position:relative;z-index:1;margin-top:60px}.approach-card h4{position:relative;z-index:1}.approach-card img{position:absolute;right:-10%;bottom:-30%;width:75%;mix-blend-mode:multiply;mask-image:linear-gradient(90deg,transparent,#000 35%)}.approach-card:nth-child(3){grid-row:span 2}.approach-card:nth-child(3) img{width:140%;max-width:none;bottom:-6%;right:-45%;mask-image:linear-gradient(transparent,#000 20%)}.approach-card:nth-child(3) p{margin-top:20px;margin-bottom:200px}.approach-card:nth-child(4){grid-column:span 2}.approach-card:nth-child(4) img{width:40%;bottom:-10%;right:0}.approach-signature{font:60px Dancing;position:absolute;right:32px;bottom:40px}.approach-signature small{font:12px var(--sans);display:block;text-align:center;color:var(--muted);letter-spacing:2px}.testimonials{position:relative;padding:220px 0 100px;min-height:1050px;overflow:hidden}.testimonial-backdrop{position:absolute;top:140px;left:0;width:100%;text-align:center;color:white;font:clamp(120px,19vw,280px)/.9 var(--serif);letter-spacing:-.05em;text-shadow:0 0 25px white;pointer-events:none}.testimonial-deck{width:360px;height:470px;position:relative;margin:0 auto}.testimonial-card{position:absolute;inset:0;background:white;border:8px solid white;outline:1px solid #eee;outline-offset:-14px;border-radius:28px;padding:28px 24px;display:flex;flex-direction:column;box-shadow:0 0 40px #fff5;transition:transform .7s cubic-bezier(.22,1,.36,1),opacity .5s}.testimonial-card blockquote{font:32px/1.15 var(--serif);margin:22px 0}.testimonial-card cite{font:14px var(--sans);color:var(--muted);margin-top:auto}.testimonial-card .stars{font-size:18px}.testimonial-controls{position:absolute;left:50%;top:430px;transform:translateX(-50%);width:730px;display:flex;justify-content:space-between;pointer-events:none}.round-button{border-radius:50%;width:56px;height:56px;background:#696c7ac9;color:white;display:grid;place-items:center;font:30px var(--sans);pointer-events:auto;transition:background .2s,transform .2s}.round-button:hover{background:var(--accent);transform:scale(1.08)}.trustpoint{text-align:center;margin-top:85px;font-size:14px}.trustpoint strong{font-size:18px;font-weight:500}.trustpoint strong span{font-size:26px;color:#00b586}.trust-stars{display:flex;justify-content:center;gap:4px;margin:6px 0 16px}.trust-stars span{display:grid;place-items:center;width:30px;height:30px;background:#00b586;color:white;font-size:26px;line-height:1}.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.price-card{background:white;border-radius:28px;padding:32px 24px;min-height:330px;display:flex;flex-direction:column;transition:transform .4s,box-shadow .4s}.price-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #727c9614}.price-card h4{font-size:34px}.price{font:60px var(--serif);margin:28px 0}.price small{font:14px var(--sans);color:var(--muted);margin-right:8px}.price-card p{font-size:14px;margin-top:auto}.stats{text-align:center;padding-block:150px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:90px;margin-bottom:80px}.stat-number{font:110px/1 var(--serif);letter-spacing:-.06em}.stat-grid p{font-size:14px;max-width:240px;margin:20px auto 0}.stats>h4{font-size:32px;line-height:1.35;max-width:950px;margin:0 auto 48px}.journal-grid{display:grid;grid-template-columns:2fr 3.2fr;gap:32px}.article-card{background:white;border-radius:28px;padding:8px;display:flex;flex-direction:column;overflow:hidden;transition:transform .4s}.article-card:hover{transform:translateY(-6px)}.article-copy{padding:24px}.article-copy h3{font-size:34px;line-height:1.2}.article-copy p{font-size:14px;margin-top:16px}.article-image{position:relative;border-radius:20px;overflow:hidden;min-height:250px;flex:1}.article-image img{width:100%;height:100%;object-fit:cover;position:absolute;transition:transform .7s}.article-card:hover img{transform:scale(1.04)}.category-tag{position:absolute;top:12px;left:12px;border-radius:99px;padding:5px 12px;font-size:12px;background:#6e707d99;color:white;z-index:1}.article-card:nth-child(even) .article-image{order:-1;min-height:370px}.journal-grid .article-card{min-height:545px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.faq-column{display:grid;gap:24px}.faq-item{border-radius:26px;background:#fff;overflow:hidden}.faq-item button{padding:25px 24px;width:100%;background:none;text-align:left;display:flex;gap:20px;justify-content:space-between;align-items:start;font-size:18px}.faq-item button span{font-size:24px;font-weight:400;line-height:1;transition:transform .3s}.faq-item button[aria-expanded=true] span{transform:rotate(45deg)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s}.faq-answer>div{overflow:hidden}.faq-answer p{font-size:14px;margin:0 24px 22px;line-height:1.65}.faq-answer p+p{margin-top:24px}.faq-answer.open{grid-template-rows:1fr}.contact-note{text-align:center;margin-top:60px;font-size:14px}.contact-note a{display:inline-block;color:var(--ink);font-size:18px;margin-top:10px}.newsletter{text-align:center;padding:100px 20px 160px}.newsletter h3{font-size:64px}.newsletter>p{margin:22px auto 44px;max-width:680px}.newsletter form{display:flex;gap:10px;width:min(640px,100%);margin:auto}.newsletter input{background:white;border-radius:99px;border:0;padding:16px 24px;min-width:0;flex:1;color:var(--ink)}input::placeholder,textarea::placeholder{color:#a6a8ad}.newsletter .privacy-note{font-size:14px;max-width:490px;margin:32px auto 0}.privacy-note a{color:var(--ink)}.form-status{font-size:14px;line-height:1.6;margin-top:18px;color:var(--accent)}.footer-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:32px}.footer-panel{background:white;border-radius:28px;padding:48px 64px}.footer-panel>p{font-size:14px;margin-bottom:38px}.sitemap{display:grid;grid-template-columns:1fr 1fr;gap:22px 40px}.legal-links{display:grid;gap:22px}.footer-panel a:hover{text-decoration:underline;text-underline-offset:5px}.footer-bottom{text-align:center;padding:60px 0 100px;font-size:14px}.footer-bottom .contact-note{margin-top:0}.footer-bottom .socials{margin:64px 0}.credits{font-size:13px;margin-top:26px}.credits a{color:var(--ink)}.reveal{opacity:0;filter:blur(8px);transform:translateY(36px);transition:opacity 1s ease,filter 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;filter:blur(0);transform:translateY(0)}.page-intro{text-align:center;padding:220px 20px 100px}.page-intro h1{max-width:1200px;margin:auto}.page-intro p{max-width:680px;margin:32px auto 0;font-size:18px}.image-frame{border:8px solid white;border-radius:28px;overflow:hidden}.image-frame img{width:100%;height:100%;object-fit:cover}.about-cover{height:570px}.prose{max-width:760px;margin:auto}.prose h2{font-size:64px;margin-bottom:40px}.prose h3{font-size:44px;margin:50px 0 24px}.prose p{margin-bottom:24px;line-height:1.75}.founder-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.founder-grid .image-frame{height:550px}.founder-grid p{margin:28px 0}.founder-quote{font:36px/1.35 var(--serif);margin:30px 0}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.team-grid .image-frame{height:380px}.team-grid p{text-align:center;margin-top:22px}.service-detail{display:grid;grid-template-columns:300px 1fr;gap:70px;border-bottom:1px solid #fff9;padding:70px 0}.service-detail h2{font-size:64px}.service-detail .service-icon{margin:0 0 30px}.service-detail p{margin-bottom:30px}.service-facts{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:34px 0}.service-facts h4{font-family:var(--serif);font-size:15px;margin-bottom:12px}.service-facts p{font-size:14px}.service-more{padding:0;background:none;margin-bottom:30px;border-bottom:1px solid var(--muted)}.service-facts[hidden]{display:none}.form-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:64px;align-items:start}.form-panel{background:#ffffff8c;border:1px solid white;border-radius:28px;padding:40px}.form-panel h3{margin-bottom:20px}.form-panel>p{margin-bottom:32px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:block;margin-bottom:20px}.field input,.field textarea{width:100%;border:1px solid transparent;background:white;color:var(--ink);border-radius:14px;padding:17px 20px}.field textarea{min-height:150px;resize:vertical}.field-label{display:block;font-size:14px;margin-bottom:8px}.form-panel fieldset{border:0;padding:0;margin:35px 0}.form-panel legend{font:32px var(--serif);margin-bottom:22px}.check-field{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--ink);font-size:15px}.check-field input{width:18px;height:18px;accent-color:var(--accent)}.form-aside{padding-top:35px}.form-aside h4{margin-top:30px;margin-bottom:14px}.form-aside p{line-height:1.7}.form-aside .client-proof{margin-top:30px}.form-note{font-size:13px!important;line-height:1.6;margin:24px 0 0!important}.filter-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:60px}.filter-chip{border-radius:99px;background:#fff8;padding:12px 22px}.filter-chip.active{background:var(--accent);color:white}.empty-filter{grid-column:1/-1;text-align:center;padding:80px 20px;color:var(--muted)}.article-hero{height:520px;margin-bottom:80px}.article-body h2{font-size:48px;margin:50px 0 24px}.article-body h3{font-size:38px}.article-body p{margin-bottom:22px;line-height:1.75}.article-body ul{color:var(--muted);line-height:1.9}.legal-page{padding-top:30px;padding-bottom:100px}.legal-page h2{font-size:42px;margin-top:40px;margin-bottom:20px}.legal-page h3{font-size:32px;margin-top:32px}.legal-page p{line-height:1.75;margin-bottom:20px}.skip-link{position:fixed;left:20px;top:-80px;z-index:200;background:white;padding:10px 20px;border-radius:8px}.skip-link:focus{top:10px}.noscript{padding:200px 40px}.mobile-menu{position:fixed;inset:0;z-index:90;background:rgba(226,234,243,.97);backdrop-filter:blur(20px);padding:140px 30px 60px;display:flex;flex-direction:column;justify-content:center;gap:20px;font:48px var(--serif)}body.menu-open{overflow:hidden}.mobile-menu a{width:fit-content}.mobile-menu a:last-child{font:18px var(--sans);margin-top:25px}.demo-note{font-size:12px;color:var(--muted);margin-top:14px}.article-card[hidden]{display:none}
@keyframes portrait-in{from{opacity:0;filter:blur(12px);transform:scale(1.05)}to{opacity:1;filter:blur(0);transform:scale(1)}}@keyframes letter-in{from{opacity:0;filter:blur(12px);transform:translateY(18px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}@keyframes rise-in{from{opacity:0;transform:translateY(20px);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes button-roll{49%{transform:translateY(-130%);filter:blur(3px)}50%{transform:translateY(130%)}100%{transform:translateY(0)}}@keyframes sound-wave{to{transform:scaleY(.45)}}
@media(min-width:1600px){.hero h1{font-size:124px}.hero{padding-bottom:13vh}.hero-portrait img,.hero-portrait canvas{height:105%}}
@media(max-width:1199px){.desktop-nav{gap:38px}.site-header{padding:28px}.header-book{padding:14px 22px!important}.hero h1{font-size:8.2vw}.hero{min-height:640px;padding-bottom:10vh}.wide{width:calc(100% - 48px)}.journey-face{width:570px;margin-left:-120px}.journey-step:nth-child(2){margin-left:20px}.journey-step:nth-child(3){margin-left:40px}.step-number{font-size:150px}.journey-step h4{font-size:32px}.care-cta{gap:60px}.pricing-grid{grid-template-columns:1fr 1fr}.price-card{min-height:280px}.service-track{padding-inline:80px}.service-card{width:310px;height:440px}.approach-grid{gap:20px}.approach-card{padding:24px}.approach-card h4{font-size:32px}.footer-panel{padding:40px}.hero-portrait{mask-image:linear-gradient(#000 70%,transparent 96%)}.founder-grid{gap:35px}}
@media(max-width:809px){h1{font-size:70px;letter-spacing:-.035em}h2{font-size:56px}h3{font-size:42px}.site-header{height:90px;padding:20px}.site-header.scrolled{height:80px;padding:15px 20px}.wordmark{font-size:32px}.brand-logo img{height:40px;max-width:170px}.desktop-nav,.header-book{display:none}.menu-toggle{display:block}.sound-control{bottom:22px;left:20px}.sound-label{display:none}.sound-icon{width:40px;height:40px}.hero{min-height:700px;max-height:1050px;padding:0 20px 50px}.hero h1{white-space:normal;font-size:70px;max-width:680px;margin:auto}.hero h1 .hero-line{display:block}.hero p{font-size:18px;margin:24px auto 38px;max-width:620px}.hero .button{width:100%;max-width:650px}.hero-portrait{opacity:.85;align-items:flex-start;mask-image:linear-gradient(#000 50%,transparent 80%)}.hero-portrait img,.hero-portrait canvas{height:87%;margin-top:30px}.container,.wide{width:calc(100% - 40px)}.section{padding-block:80px}.section-heading{margin-bottom:48px}.section-heading p{font-size:16px;max-width:550px}.eyebrow{margin-bottom:25px}.manifesto{height:130vh;min-height:750px}.manifesto blockquote{font-size:36px;line-height:1.35}.manifesto-inner{padding:100px 0;min-height:100svh}.services-scroll{height:auto}.services-sticky{position:relative;height:auto;min-height:0;padding:80px 0}.service-track{padding:25px max(20px,calc((100vw - 350px)/2));gap:28px;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;transform:none!important}.service-track::-webkit-scrollbar{display:none}.service-card{width:350px;max-width:85vw;height:460px;transform:none!important;scroll-snap-align:center}.mobile-dots{display:flex;gap:8px;justify-content:center;margin-top:22px}.mobile-dots button{height:7px;width:7px;border-radius:50%;padding:0;background:#b6bac5}.mobile-dots button.active{background:var(--accent);width:22px;border-radius:10px}.journey-layout{grid-template-columns:1fr;min-height:0}.journey-face{width:110%;max-width:none;margin-left:-5%;max-height:550px;object-fit:contain}.journey-steps{max-width:580px;margin:auto}.journey-step{gap:24px;margin:40px 0!important}.step-number{font-size:150px}.journey-step h4{font-size:34px}.journey-step p{max-width:none}.care-cta{grid-template-columns:1fr;gap:50px;padding-block:80px}.care-cta h3{font-size:48px}.care-cta .cta-copy>p{max-width:none}.care-cta .button{width:100%}.client-proof{text-align:center}.avatars{justify-content:center}.approach-grid{grid-template-columns:1fr 1fr}.approach-card:nth-child(3){grid-row:auto;min-height:360px}.approach-card:nth-child(4){grid-column:auto}.approach-card:nth-child(4) img{width:100%;bottom:0;opacity:.6}.approach-card:nth-child(4) p{margin-bottom:90px}.approach-signature{font-size:44px;bottom:20px;right:20px}.testimonials{padding:150px 0 80px;min-height:900px}.testimonial-backdrop{top:110px;font-size:23vw;line-height:1.05}.testimonial-controls{top:660px;width:150px}.testimonial-deck{width:330px;max-width:calc(100vw - 60px);height:450px}.testimonial-card blockquote{font-size:30px}.trustpoint{margin-top:150px}.stat-grid{gap:20px}.stat-number{font-size:80px}.stat-grid p{font-size:13px}.stats{padding-block:80px}.stats>h4{font-size:30px}.journal-grid{gap:24px;grid-template-columns:1fr 1.3fr}.article-copy{padding:20px}.article-copy h3{font-size:30px}.article-card:nth-child(even) .article-image{min-height:260px}.journal-grid .article-card{min-height:510px}.faq-grid{grid-template-columns:1fr;gap:16px}.faq-column{gap:16px}.faq-item button{font-size:17px;padding:24px}.newsletter{padding:80px 20px 100px}.newsletter h3{font-size:48px}.newsletter form{max-width:620px}.newsletter .button{padding-inline:24px}.footer-grid{grid-template-columns:1fr}.footer-panel{padding:36px}.footer-bottom{padding-bottom:80px}.page-intro{padding:160px 20px 70px}.page-intro h1{font-size:70px}.page-intro p{font-size:16px}.about-cover{height:420px}.founder-grid{grid-template-columns:1fr}.founder-grid .image-frame{height:480px}.team-grid{gap:18px}.team-grid .image-frame{height:260px}.service-detail{grid-template-columns:1fr;gap:30px;padding:60px 0}.service-detail h2{font-size:56px}.service-detail .service-icon{height:70px;width:70px;margin-bottom:20px}.form-layout{grid-template-columns:1fr;gap:30px}.form-panel{padding:28px}.form-aside{text-align:center}.prose h2{font-size:48px}.article-hero{height:400px}.article-body h2{font-size:42px}}
@media(max-width:520px){.hero{min-height:740px;height:100svh;padding-bottom:45px}.hero h1{font-size:58px}.hero p{font-size:16px;margin-top:20px;max-width:340px}.hero-portrait img,.hero-portrait canvas{height:78%;margin-top:65px}.hero-portrait{mask-image:linear-gradient(#000 42%,transparent 75%)}h2{font-size:48px}.manifesto blockquote{font-size:30px}.manifesto cite{font-size:13px}.service-card{width:310px;height:430px}.service-track{padding-inline:calc((100vw - 310px)/2)}.service-card h3{font-size:42px}.service-icon{height:80px;width:80px}.journey-face{max-height:430px}.journey-step{gap:20px;align-items:start}.step-number{font-size:100px;line-height:1}.journey-step h4{font-size:30px}.journey-step p{font-size:14px}.approach-grid{grid-template-columns:1fr}.approach-card{min-height:250px}.approach-card:nth-child(3){min-height:350px}.approach-card:nth-child(3) p{max-width:190px;margin-bottom:60px}.approach-card:nth-child(3) img{width:85%;right:-25%;bottom:-18%}.approach-card:nth-child(4) img{width:55%}.pricing-grid{grid-template-columns:1fr;gap:18px}.price-card{padding:28px;min-height:280px}.price-card h4{font-size:38px}.price{margin:22px 0}.stat-grid{grid-template-columns:1fr;gap:60px}.stat-number{font-size:110px}.stat-grid p{font-size:14px;max-width:220px}.journal-grid{grid-template-columns:1fr}.journal-grid .article-card{min-height:480px}.article-card:nth-child(even) .article-image{min-height:300px}.article-copy h3{font-size:34px}.newsletter h3{font-size:46px}.newsletter form{flex-direction:column;gap:12px}.newsletter input{min-height:56px}.newsletter .privacy-note{font-size:12px}.sitemap{gap:20px}.footer-panel{padding:32px}.team-grid{grid-template-columns:1fr}.team-grid .image-frame{height:400px}.field-grid{grid-template-columns:1fr;gap:0}.service-facts{grid-template-columns:1fr;gap:0}.page-intro h1{font-size:60px}.form-panel{padding:24px}.form-panel h3{font-size:38px}.about-cover{height:300px}.article-hero{height:300px}.filter-row{gap:8px}.filter-chip{padding:10px 16px;font-size:14px}.testimonial-backdrop{font-size:28vw;top:80px}.testimonials{padding-top:160px}.testimonial-controls{top:670px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}.reveal{opacity:1;filter:none;transform:none}.manifesto .word{opacity:1!important;filter:none!important}.hero-portrait{animation:none}.services-scroll{height:auto}.services-sticky{position:relative;height:auto;padding-bottom:80px}.service-track{transform:none!important;width:100%;overflow:auto;padding-inline:30px;scroll-snap-type:x mandatory}.service-card{transform:none!important;scroll-snap-align:center}}
/* Keep the portrait's intentional overhang inside the hero on narrow screens. */
.hero{overflow:clip}
@media(max-width:809px){.sound-control{display:none}}

/* Blend the transparent portrait and the pink scene into the page background. */
.hero{background:transparent}
.hero-bg{-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 62%,rgba(0,0,0,.85) 76%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 62%,rgba(0,0,0,.85) 76%,transparent 100%)}
.hero-portrait{mix-blend-mode:normal;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 48%,rgba(0,0,0,.82) 65%,rgba(0,0,0,.28) 83%,transparent 98%);mask-image:linear-gradient(180deg,#000 0%,#000 48%,rgba(0,0,0,.82) 65%,rgba(0,0,0,.28) 83%,transparent 98%)}
@media(max-width:809px){.hero-portrait{-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 38%,rgba(0,0,0,.7) 52%,transparent 82%);mask-image:linear-gradient(180deg,#000 0%,#000 38%,rgba(0,0,0,.7) 52%,transparent 82%)}}
@media(max-width:520px){.hero-portrait{-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 32%,rgba(0,0,0,.65) 46%,transparent 75%);mask-image:linear-gradient(180deg,#000 0%,#000 32%,rgba(0,0,0,.65) 46%,transparent 75%)}}

/* Independent translucent petals drift gently within the hero. */
.hero-petals{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(#000 75%,transparent);mask-image:linear-gradient(#000 75%,transparent)}
.hero-petal{position:absolute;display:block;width:var(--petal-size);opacity:var(--petal-opacity,.5);filter:blur(var(--petal-blur,.4px));will-change:transform;animation:petal-drift var(--petal-duration,24s) ease-in-out var(--petal-delay,0s) infinite alternate}
.hero-petal img{width:100%;height:auto;transform-origin:30% 65%;animation:petal-turn 9s ease-in-out var(--petal-delay,0s) infinite alternate}
.hero-petal-1{left:17%;top:25%;--petal-size:95px;--petal-opacity:.53;--petal-duration:24s;--petal-delay:-8s;--petal-rotation:-26deg;--petal-x:11vw;--petal-y:12vh}
.hero-petal-2{right:14%;top:22%;--petal-size:64px;--petal-opacity:.46;--petal-duration:29s;--petal-delay:-19s;--petal-rotation:28deg;--petal-x:-9vw;--petal-y:16vh;--petal-blur:.8px}
.hero-petal-3{left:8%;top:56%;--petal-size:76px;--petal-opacity:.4;--petal-duration:27s;--petal-delay:-3s;--petal-rotation:18deg;--petal-x:13vw;--petal-y:-11vh;--petal-blur:1.2px}
.hero-petal-4{right:7%;top:53%;--petal-size:108px;--petal-opacity:.38;--petal-duration:32s;--petal-delay:-13s;--petal-rotation:-38deg;--petal-x:-13vw;--petal-y:-10vh}
@keyframes petal-drift{0%{transform:translate3d(0,0,0) rotate(var(--petal-rotation))}50%{transform:translate3d(calc(var(--petal-x)*.45),calc(var(--petal-y)*.65),0) rotate(calc(var(--petal-rotation) + 16deg))}100%{transform:translate3d(var(--petal-x),var(--petal-y),0) rotate(calc(var(--petal-rotation) - 10deg))}}
@keyframes petal-turn{from{transform:rotate(-7deg) scaleX(.93)}to{transform:rotate(8deg) scaleX(1.04)}}
.hero.petals-paused .hero-petal,.hero.petals-paused .hero-petal img{animation-play-state:paused}
@media(max-width:809px){.hero-petal-1{left:5%;top:25%;--petal-size:66px;--petal-x:9vw}.hero-petal-2{right:3%;top:29%;--petal-size:49px;--petal-x:-8vw}.hero-petal-3{left:2%;top:51%;--petal-size:53px}.hero-petal-4{display:none}}
@media(prefers-reduced-motion:reduce){.hero-petal,.hero-petal img{animation:none!important;will-change:auto}.hero-petal{transform:rotate(var(--petal-rotation))}}

/* Services follow the reference's gently curved, scroll-driven card ribbon. */
.services-scroll{height:auto}
.services-intro{min-height:75svh;display:flex;align-items:center;justify-content:center;padding:100px 28px 65px}
.services-intro .section-heading{margin:0;width:100%;max-width:1120px}
.services-intro h2{font-size:clamp(56px,6vw,86px)}
.services-intro .section-heading p{font-size:15px;max-width:510px}
.services-runway{height:calc(100svh + var(--service-count,5)*52svh);position:relative}
.services-sticky{height:100svh;min-height:0;padding:0;position:sticky;top:0;overflow:clip}
.service-track{position:absolute;left:0;top:52%;width:max-content;padding:0;gap:clamp(80px,8.6vw,125px);align-items:center;overflow:visible;will-change:transform}
.service-slot{width:clamp(290px,24.3vw,350px);flex:none;position:relative;will-change:transform}
.service-card{width:100%;height:clamp(430px,68svh,500px);border:8px solid #fff;border-radius:28px;padding:40px 27px 26px;outline:1px solid #f2f2f5;outline-offset:-15px;box-shadow:0 0 40px #ffffffa6;transform:none;transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s}
.service-card .service-icon{width:84px;height:84px;stroke:#d1d5e2;stroke-width:2.5;margin:0 0 42px}
.service-card h3{font-size:44px;line-height:1.05;letter-spacing:-.025em}
.service-card p{font-size:13px;line-height:1.55;margin-top:17px;max-width:270px}
.service-card small{font-size:13px;padding-top:22px;color:#454641}
.service-card:focus-visible{outline:2px solid #72738c;outline-offset:5px;box-shadow:0 0 40px #fff,0 15px 45px #71799122}
@media(hover:hover) and (pointer:fine){.service-card:hover{transform:translateY(-10px) rotate(var(--counter-angle,0deg));box-shadow:0 0 50px #fffd,0 18px 40px #71799114}}
@media(min-width:810px) and (max-height:680px){.service-card{height:420px;padding-top:28px}.service-card .service-icon{width:74px;height:74px;margin-bottom:28px}.service-card h3{font-size:42px}.service-track{top:50%}}
@media(max-width:809px){.services-intro{min-height:0;padding:80px 20px 24px}.services-intro h2{font-size:56px}.services-intro .section-heading p{font-size:15px;max-width:500px}.services-runway{height:auto}.services-sticky{position:relative;height:auto;overflow:hidden;padding:12px 0 65px}.service-track{position:relative;top:auto;left:auto;width:100%;gap:24px;overflow-x:auto;padding:26px max(20px,calc((100vw - 330px)/2));scroll-snap-type:x mandatory;scrollbar-width:none;transform:none!important;will-change:auto}.service-slot{width:330px;max-width:85vw;scroll-snap-align:center;transform:none!important;will-change:auto}.service-card{height:460px;max-width:none;transform:none!important}.mobile-dots{margin-top:8px;gap:2px}.mobile-dots button{width:36px;height:44px;background:transparent;position:relative;border-radius:0}.mobile-dots button:before{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:7px;height:7px;border-radius:50%;background:#b6bac5;transition:width .25s,background .25s}.mobile-dots button.active{width:36px;background:transparent}.mobile-dots button.active:before{width:21px;border-radius:8px;background:var(--accent)}}
@media(max-width:520px){.services-intro h2{font-size:48px}.services-intro .section-heading p{font-size:14px}.service-track{padding-inline:calc((100vw - min(310px,85vw))/2)}.service-slot{width:310px}.service-card{height:430px;padding:32px 22px 23px}.service-card .service-icon{width:78px;height:78px;margin-bottom:34px}.service-card h3{font-size:42px}}
@media(prefers-reduced-motion:reduce) and (min-width:810px){.services-intro{min-height:0;padding:100px 28px 60px}.services-runway{height:auto}.services-sticky{position:relative;height:auto;overflow:visible;padding:0 32px 100px}.service-track{position:relative;left:auto;top:auto;width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:0;overflow:visible;transform:none!important;will-change:auto}.service-slot{width:100%;transform:none!important;will-change:auto}.service-card{height:450px;transform:none!important}}

/* Pointer-following depth, layered content and a soft moving highlight. */
.service-card{--card-tilt-x:0deg;--card-tilt-y:0deg;--card-light-x:50%;--card-light-y:35%;transform-style:preserve-3d;backface-visibility:hidden}
.service-card:before{content:'';position:absolute;inset:0;border-radius:20px;pointer-events:none;opacity:0;background:radial-gradient(ellipse at var(--card-light-x) var(--card-light-y),#ffffffd9 0%,#f2e9fb55 30%,transparent 65%);transition:opacity .4s;transform:translateZ(1px)}
.service-card .service-icon,.service-card h3,.service-card p,.service-card small{position:relative;transition:transform .45s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) and (min-width:810px){
 .service-card.is-tilting{transform:perspective(1000px) translateY(-12px) rotateZ(var(--counter-angle,0deg)) rotateX(var(--card-tilt-x)) rotateY(var(--card-tilt-y)) scale(1.025);box-shadow:0 0 48px #ffffffc9,0 26px 45px -16px #55667e40;transition:transform .16s ease-out,box-shadow .4s}
 .service-card.is-tilting:before{opacity:1}
 .service-card.is-tilting .service-icon{transform:translateZ(36px)}
 .service-card.is-tilting h3{transform:translateZ(26px)}
 .service-card.is-tilting p{transform:translateZ(16px)}
 .service-card.is-tilting small{transform:translateZ(22px)}
}
@media(prefers-reduced-motion:reduce){.service-card:before{display:none}.service-card .service-icon,.service-card h3,.service-card p,.service-card small{transform:none!important}}

/* Only the outer eight-pixel frame is glass; the white card face stays opaque. */
.service-track .service-card{border-color:transparent;background:#fff padding-box;box-shadow:0 1px 3px #ffffff99,0 12px 34px -18px #60778b36}
.service-glass-rim{position:absolute;inset:-8px;padding:8px;border-radius:inherit;pointer-events:none;transform:translateZ(.5px);background:radial-gradient(ellipse at var(--card-light-x,50%) var(--card-light-y,35%),#ffffffd9,transparent 62%),linear-gradient(135deg,#ffffffbf 0%,#e1eaf555 23%,#b6cada55 42%,#ffffffb3 57%,#d9cbea55 76%,#ffffffa6 100%);-webkit-backdrop-filter:blur(12px) saturate(160%);backdrop-filter:blur(12px) saturate(160%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}
.service-glass-rim:before{content:'';position:absolute;inset:0;border-radius:inherit;border:1px solid #ffffffc7;box-shadow:inset 1px 1px 2px #fff,inset -1px -1px 2px #758da061}
.service-glass-rim:after{content:'';position:absolute;inset:2px;border-radius:25px;border:1px solid #ffffff5c;box-shadow:inset 0 2px 3px #ffffff80,inset 0 -2px 3px #879bae24}
.service-track .service-card:hover,.service-track .service-card.is-tilting{box-shadow:0 1px 4px #ffffffbf,0 26px 45px -16px #55667e40}
.service-track .service-card:focus-visible{outline:2px solid #72738c;outline-offset:5px}
@supports not ((mask-composite:exclude) or (-webkit-mask-composite:xor)){.service-glass-rim{padding:0;background:transparent;border:1px solid #ffffffc7;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 0 0 6px #e5edf56b}}

/* The supplied petal artwork fills every card, with a light wash behind the copy. */
.service-track .service-card{background-color:#fff;background-image:linear-gradient(180deg,#ffffff08 0%,#ffffff38 28%,#ffffffad 52%,#ffffffa6 66%,#ffffff12 100%),url('../assets/service-petal-background.webp');background-repeat:no-repeat;background-position:center;background-size:100% 100%;background-clip:padding-box}
.service-track .service-card .service-icon{stroke:#a1a9c1}
.service-track .service-card p{color:#666b7b}
.service-track .service-card small{color:#4b4657;text-shadow:0 1px 6px #ffffffc9}

/* Site-wide backdrop; the hero retains its existing hero-bg.webp layer. */
.ambient{background:#d9eaff url('../assets/site-contour-background.webp') center center / cover no-repeat}
.ambient canvas{display:none}

/* Preserve statistics content while keeping this section hidden. */
.stats[hidden]{display:none!important}


/* A short branded wait keeps the first hero transition calm while its images decode. */
.journey-face{height:auto}
html.page-loading,html.page-loading body{overflow:hidden}
html{scrollbar-gutter:stable}
.page-loader{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:radial-gradient(ellipse at 50% 42%,#fff9f8 0%,#f9e8ed 58%,#e4edf4 100%);opacity:1;visibility:visible;transition:opacity .2s ease,visibility .2s ease}
.page-loader img{width:min(190px,48vw);height:auto;margin-bottom:8px}
.page-loader-flower{width:30px;height:30px;border:2px solid #b86d82;border-right-color:#b86d8220;border-top-color:#b86d8220;border-radius:50%;animation:page-loader-spin 1s linear infinite}
.page-loader-caption{color:#716d7b;font:14px/1.4 var(--sans);letter-spacing:.04em}
.page-loader-retry{padding:10px 22px;border-radius:99px;background:#5b5c6e;color:#fff;font-size:14px}
.page-loader-retry[hidden]{display:none}
html.page-loading #hero,html.page-loading #hero *,html.page-loading #hero::before,html.page-loading #hero::after{animation-play-state:paused!important}
.page-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
@keyframes page-loader-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.page-loader-flower{animation:none}}

/* The official email address must remain readable on narrow screens. */
a[href^="mailto:"]{overflow-wrap:anywhere}

/* Home-only WhatsApp glass control mirrors the sound control on the opposite side. */
.whatsapp-float{position:fixed;right:max(40px,env(safe-area-inset-right));bottom:calc(40px + env(safe-area-inset-bottom));z-index:110;display:grid;place-items:center;width:56px;height:56px;border:1px solid #ffffffe6;border-radius:50%;color:#087b53;background:radial-gradient(ellipse at 28% 15%,#ffffffed,transparent 62%),linear-gradient(145deg,#ffffff8f,#e4f9ee40 52%,#ffffff96);-webkit-backdrop-filter:blur(18px) saturate(155%);backdrop-filter:blur(18px) saturate(155%);box-shadow:inset 0 1px 2px #fff,inset 0 -2px 5px #d3efe499,0 7px 24px #234d4433,0 0 18px #ffffff70;transition:transform .25s ease,box-shadow .25s ease}
.whatsapp-float::after{content:'';position:absolute;inset:3px;border:1px solid #ffffff91;border-radius:inherit;pointer-events:none}
.whatsapp-float>svg{width:31px;height:31px;filter:drop-shadow(0 1px 0 #ffffffb3)}
.whatsapp-float-label{position:absolute;right:calc(100% + 12px);padding:8px 12px;border:1px solid #ffffffbf;border-radius:99px;background:#f6fcf6ed;color:#245846;font:500 12px/1.4 var(--sans);white-space:nowrap;opacity:0;visibility:hidden;transform:translateX(4px);transition:opacity .2s ease,transform .2s ease,visibility .2s}
.whatsapp-float:focus-visible{outline:3px solid #087b53;outline-offset:5px}
.whatsapp-float:focus-visible .whatsapp-float-label{opacity:1;visibility:visible;transform:none}
@media(hover:hover){.whatsapp-float:hover{transform:translateY(-3px);box-shadow:inset 0 1px 2px #fff,inset 0 -2px 5px #d3efe499,0 10px 30px #234d4440,0 0 20px #ffffff80}.whatsapp-float:hover .whatsapp-float-label{opacity:1;visibility:visible;transform:none}}
html.page-loading .whatsapp-float,body.menu-open .whatsapp-float{visibility:hidden;opacity:0;pointer-events:none}
@media(max-width:809px){.whatsapp-float{right:max(20px,env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));width:52px;height:52px}.whatsapp-float>svg{width:29px;height:29px}}
@media(prefers-reduced-motion:reduce){.whatsapp-float,.whatsapp-float-label{transition:none}}
@media print{.whatsapp-float{display:none}}

/* Progressive media stays local to its section, without holding the whole page. */
[data-lazy-background]:not(.is-nearby),[data-lazy-background]:not(.is-nearby)::before,[data-lazy-background]:not(.is-nearby)::after{background-image:none!important}
img[data-media-state="loading"]{background:linear-gradient(110deg,#f3e6ed,#e4edf5 48%,#f9edf2)}
html.js-pending .reveal{opacity:1;transform:none;filter:none}
.site-skeleton{display:none}
html.style-loading #main>:not(#hero):not(.site-skeleton),html.style-loading #footer{display:none}
html.style-loading .site-skeleton{display:grid}
html:not(.page-loading) .page-loader{opacity:0;visibility:hidden;pointer-events:none}


/* Source: css/bloom-parallax.css */
/* Scroll-scrubbed flower film with editable editorial lettering inspired by the supplied reference. */
.bloom-experience{position:relative;height:100svh;min-height:620px;margin:40px 0 120px;background:transparent}
.bloom-stage{position:relative;height:100%;width:100%;overflow:hidden;isolation:isolate;background:#d6b5b5}
.bloom-scroll-active{height:350svh;min-height:0}
.bloom-scroll-active .bloom-stage{position:sticky;top:0;height:100svh;min-height:0}
.bloom-fallback,.bloom-motion-media,.bloom-atmosphere{position:absolute;inset:0;pointer-events:none}
.bloom-fallback{inset:-4%;z-index:0;background:url('../assets/bloom-garden-start.webp') center center/cover no-repeat}
.bloom-motion-media{z-index:1}
.bloom-video,.bloom-final-frame{position:absolute;inset:-4%;display:block;width:108%;height:108%;max-width:none;object-fit:cover;object-position:center}
.bloom-video{opacity:0;transition:opacity .15s ease}
.bloom-video-ready .bloom-video{opacity:1}
.bloom-final-frame{opacity:var(--bloom-final-opacity,0);transform:translate3d(var(--bloom-final-x,0px),var(--bloom-final-y,0px),0) scale(var(--bloom-final-scale,1));will-change:transform}
.bloom-atmosphere{z-index:3;background:linear-gradient(180deg,#21182738,#21182748 65%,#21182720)}
/* A single responsive composition: small introduction, rose headline, italic closing.
   The oversized italic f uses the shared heading font and is a real glyph, so all lettering stays editable and sharp. */
.bloom-message{position:absolute;left:50%;top:51%;width:92%;max-width:1440px;transform:translate(-50%,-50%);z-index:4;text-align:center;font-family:var(--serif);container-type:inline-size}
.bloom-kicker{display:block;margin:0 0 1.4cqw;padding-left:5%;text-align:left;color:#50382c;text-shadow:0 1px 2px #ffffffe0,0 0 14px #ffffffb3;font:400 6.8cqw/1.1 var(--serif);letter-spacing:-.065em;text-transform:none}
.bloom-kicker span{white-space:nowrap}
#bloom-title{display:block;margin:0;font-weight:400}
.bloom-title-line{display:block;position:relative;white-space:nowrap;font-family:var(--serif);font-weight:400;font-style:normal;text-transform:none;letter-spacing:-.055em;color:#bc254d;text-shadow:none;will-change:transform}
.bloom-title-care{font-size:14.6cqw;line-height:1.08}
.bloom-priority-word{white-space:nowrap}
.bloom-flourish-letter{display:inline-block;position:relative;width:.34em}
.bloom-flourish-letter i{position:absolute;left:-.1em;bottom:-.13em;font:italic 400 1.65em/.9 var(--serif);line-height:.9;letter-spacing:0;color:#df3d61;font-feature-settings:'swsh' 1;pointer-events:none}
.bloom-title-blooms{margin-top:1.5cqw;padding-right:5%;text-align:right;font-size:7.1cqw;line-height:1.2;font-style:italic;letter-spacing:-.045em;color:#50382c;text-shadow:0 1px 2px #ffffffe0,0 0 14px #ffffffb3}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .bloom-title-care{background:linear-gradient(115deg,#a3103c 4%,#c32c52 55%,#ea4c6a 100%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
 /* Solid ink lets the italic descender extend beyond its line box without being clipped. */
 .bloom-flourish-letter i{background:none;color:#dc3a61;-webkit-text-fill-color:#dc3a61}
 .bloom-title-blooms{color:#50382c;-webkit-text-fill-color:#50382c}
}
.bloom-brand{position:absolute;left:50%;top:53%;transform:translate(-50%,-50%);width:min(720px,76vw);z-index:5;pointer-events:none}
.bloom-brand img{display:block;width:100%;height:auto;opacity:0;filter:brightness(0) invert(1) drop-shadow(0 3px 20px #35222d66)}
.bloom-scroll-active .bloom-brand img{will-change:transform,opacity}
.bloom-in-view .sound-control{left:32px;color:#fffdf8}
.bloom-in-view .sound-label{font-size:11px;text-shadow:0 1px 6px #183e45b3}
@media(max-width:809px){
 .bloom-experience{height:100svh;min-height:620px;margin:20px 0 70px}
 .bloom-scroll-active{height:260svh;min-height:0}
 .bloom-video,.bloom-final-frame{object-position:32% center}
 .bloom-fallback{background-position:32% center}
 .bloom-message{top:50%;width:94%}
 .bloom-in-view .sound-control{left:20px}
}
@media(prefers-reduced-motion:reduce){
 .bloom-experience{height:auto;min-height:0}
 .bloom-stage{position:relative;height:100svh;min-height:620px}
 .bloom-title-line{transform:none!important;opacity:1!important;will-change:auto}
 .bloom-video{transition:none}
 .bloom-final-frame{will-change:auto}
}
.bloom-scroll-static .bloom-brand{top:84%;width:min(280px,62vw)}
.bloom-scroll-static .bloom-brand img{opacity:1}
.bloom-experience[data-bloom-state="static"] .bloom-title-line{transform:none!important;opacity:1!important}
.bloom-experience[data-bloom-state="static"] .bloom-kicker{opacity:1!important}
/* Keep the complete lettering below navigation in short landscape windows. */
@media(max-height:620px){
 .bloom-experience,.bloom-stage{min-height:0}
 .bloom-message{top:58%;width:min(80%,165svh)}
}


/* Source: css/approach-imagery.css */
/* Images for the four existing approach cards; copy and grid stay in place. */
#our-approach .approach-card{background-color:rgba(248,251,255,.8)}
#our-approach .approach-card h4,
#our-approach .approach-card p{z-index:2}
#our-approach .approach-listening img,
#our-approach .approach-longterm img{
  inset:0;width:100%;height:100%;max-width:none;object-fit:cover;
  mix-blend-mode:normal;mask-image:none;opacity:.55;pointer-events:none;
}
#our-approach .approach-careful img{
  right:-3%;bottom:0;width:67%;height:100%;max-width:none;
  object-fit:cover;object-position:center 38%;mix-blend-mode:normal;
  mask-image:linear-gradient(90deg,transparent 0%,#000 42%);
  opacity:.9;pointer-events:none;
}
#our-approach .approach-careful::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(0deg,#f7faff 0%,#f7faffeb 25%,#f7faff00 64%);
}
#our-approach .approach-results img{
  right:0;bottom:0;width:100%;height:48%;max-width:none;
  object-fit:cover;object-position:center 62%;mix-blend-mode:normal;
  mask-image:linear-gradient(180deg,transparent,#000 32%);
  opacity:.95;pointer-events:none;
}
@media(max-width:809px){
  #our-approach .approach-results img{height:48%;object-position:center 55%}
  #our-approach .approach-results p{margin-bottom:160px}
  #our-approach .approach-longterm img{opacity:.4}
}
@media(max-width:599px){
  #our-approach .approach-results{min-height:490px}
  #our-approach .approach-results p{max-width:100%;margin-bottom:190px}
  #our-approach .approach-results img{height:48%;object-position:center 55%}
  #our-approach .approach-careful img{width:64%}
}


/* Source: css/journal-feature.css */
/* Homepage journal only. Brand palette: Baby Pink, Warm White and Deep Navy. */
#home-journal{
  --journal-edge-fade:clamp(140px,18vw,240px);
  position:relative;isolation:isolate;width:100%;max-width:none;
  padding-inline:max(24px,calc((100% - 1072px)/2));
  background:transparent;
}
#home-journal::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:url('../assets/journal-silk-background.webp') center center / cover no-repeat;
  -webkit-mask-image:linear-gradient(180deg,
    transparent 0%,#00000047 calc(var(--journal-edge-fade)*.33),
    #000000d9 calc(var(--journal-edge-fade)*.73),#000 var(--journal-edge-fade),
    #000 calc(100% - var(--journal-edge-fade)),
    #000000d9 calc(100% - var(--journal-edge-fade)*.73),
    #00000047 calc(100% - var(--journal-edge-fade)*.33),transparent 100%);
  mask-image:linear-gradient(180deg,
    transparent 0%,#00000047 calc(var(--journal-edge-fade)*.33),
    #000000d9 calc(var(--journal-edge-fade)*.73),#000 var(--journal-edge-fade),
    #000 calc(100% - var(--journal-edge-fade)),
    #000000d9 calc(100% - var(--journal-edge-fade)*.73),
    #00000047 calc(100% - var(--journal-edge-fade)*.33),transparent 100%);
}
#home-journal>*{position:relative;z-index:1}
#home-journal .section-heading h2{color:#003b66}
#home-journal .eyebrow{
  background:#ffffff73;border:1px solid #ffffffb3;color:#6a5260;
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
}
#home-journal .article-card{
  background:linear-gradient(145deg,#ffffff9c,#faf6f647);
  border:1px solid #ffffffc9;
  box-shadow:0 16px 42px #a94c7514,inset 0 1px 0 #ffffffe6;
  -webkit-backdrop-filter:blur(20px) saturate(115%);
  backdrop-filter:blur(20px) saturate(115%);
  transition:transform .4s,background .4s,box-shadow .4s;
}
#home-journal .article-card:hover{
  background:linear-gradient(145deg,#ffffffbd,#faf6f66b);
  box-shadow:0 22px 48px #a94c7521,inset 0 1px 0 #fff;
}
#home-journal .article-card:focus-visible{outline:2px solid #003b66;outline-offset:5px}
#home-journal .article-copy{background:transparent;box-shadow:none}
#home-journal .article-copy p,
#home-journal .section-heading p,
#home-journal .section-end p{color:#6b606b}
#home-journal .article-image{background:#faf6f640;border:1px solid #ffffff94}
#home-journal .article-image::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 60%,#ffd6e422);
}
#home-journal .category-tag{
  background:#ffffff9c;color:#003b66;border:1px solid #ffffffb3;z-index:1;
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
}
#home-journal .section-end .button{background:#003b66;color:#fff}
#home-journal .section-end .button:hover{background:#224e70}
@media(max-width:809px){
  #home-journal{padding-inline:20px}
  #home-journal::before{background-position:55% center}
}
@media(prefers-reduced-motion:reduce){
  #home-journal .article-card{transition:none}
}

/* Let each poster define its frame, keeping both covers fully visible. */
#home-journal .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
#home-journal .article-card{min-height:0;height:auto}
#home-journal .article-image{order:-1;flex:none;width:100%;min-height:0;aspect-ratio:3/4;border:0}
#home-journal .article-image img{position:static;display:block;width:100%;height:auto;object-fit:cover}
#home-journal .article-card:hover img{transform:none}
#home-journal .article-copy{flex:1}
#home-journal .article-card-landscape{align-self:start}
#home-journal .article-card-landscape .article-image{aspect-ratio:1672/941}
@media(max-width:520px){#home-journal .journal-grid{grid-template-columns:1fr}}


/* Source: css/footer-bloom.css */
/* Shared footer with the supplied floral silk artwork. */
#footer.footer-bloom{position:relative;background:transparent}
.footer-bloom .footer-scene{
  --footer-enter:1;
  position:relative;isolation:isolate;overflow:hidden;
  background:linear-gradient(145deg,#f3e6d8,#e6e5d3 60%,#e8dfcf);
  color:#243e35;transform-origin:center top;
  transform:translate3d(0,calc((1 - var(--footer-enter))*48px),0) scale(calc(.94 + var(--footer-enter)*.06));
  opacity:calc(.45 + var(--footer-enter)*.55);
  border-radius:calc((1 - var(--footer-enter))*56px);
}
.footer-bloom .footer-scene::before{
  content:"";position:absolute;inset:auto 0 0;aspect-ratio:1916/821;z-index:0;pointer-events:none;
  background:url('../assets/footer-bloom-floral.webp') center center / cover no-repeat;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 22%);
  mask-image:linear-gradient(180deg,transparent,#000 22%);
}
.footer-bloom .footer-scene::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(180deg,#fffaf04d,#fffaf01a 55%,#fffaf038);
}
.footer-bloom .footer-scene>*{position:relative;z-index:1}
.footer-bloom p{color:#465440}
.footer-bloom h3{color:#243e35}
.footer-bloom .footer-panel{
  background:#fffaf0ad;border:1px solid #ffffffcf;
  box-shadow:0 12px 38px #395d3710,inset 0 1px 0 #ffffffb3;
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
}
.footer-bloom .newsletter input{background:#ffffffb8;border:1px solid #ffffffd9;color:#243e35}
.footer-bloom .newsletter input::placeholder{color:#667660}
.footer-bloom .newsletter .button{background:#294e3c;color:white}
.footer-bloom .newsletter .button:hover{background:#3c624b}

.footer-bloom a:focus-visible,
.footer-bloom button:focus-visible,
.footer-bloom input:focus-visible{outline-color:#294e3c}
@media(max-width:809px){
  .footer-bloom .footer-scene::before{aspect-ratio:1/1;background-position:right bottom}
}
@media(prefers-reduced-motion:reduce){
  .footer-bloom .footer-scene{transform:none;opacity:1;border-radius:0}
}


/* Source: css/home-content.css */
/* Keep the hero's existing type, imagery and motion while fitting two actions. */
.hero .hero-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.hero .hero-actions .button{width:auto;max-width:100%}
.hero-copy>p{max-width:660px;padding-inline:12px}
@media(max-width:599px){
  .hero .hero-actions{gap:10px}
  .hero .hero-actions .button{font-size:14px;padding:13px 18px;min-height:48px}
  .hero-copy>p{font-size:16px;max-width:360px;margin-bottom:26px}
}

/* Revised sizes: logo and selected reading copy are 1.5× their original sizes.
   These rules belong to the homepage bundle, keeping inner-page type unchanged. */
.site-header{height:136px}
.site-header.scrolled{height:104px}
.site-header .brand-logo img{height:78px;max-width:330px}
.site-header.scrolled .brand-logo img{height:63px}
.manifesto cite{font-size:22.5px;line-height:1.4}
#our-services .services-intro .section-heading p{font-size:22.5px;max-width:900px}
.journey>.section-heading>p,
#our-approach>.section-heading>p,
#pricing>.section-heading>p,
#home-journal>.section-heading>p{font-size:24px;max-width:960px}
#pricing>.section-end>p,
#home-journal>.section-end>p{font-size:21px;max-width:900px}

/* Give the enlarged service descriptions real space rather than clipping them. */
.service-slot{width:380px}
.service-track{top:56%}
.service-track .service-card{height:auto;min-height:540px;padding:32px 28px 26px}
.service-track .service-card .service-icon{margin-bottom:24px;flex-shrink:0}
.service-track .service-card p{font-size:19.5px;max-width:none}
.service-track .service-card small{margin-top:auto;flex-shrink:0}
#our-approach .approach-card>p{font-size:21px;max-width:100%}
#our-approach .approach-card{min-width:0}
#pricing .price-card{min-height:390px;gap:32px}
#pricing .price-card>p{font-size:21px}
#footer .newsletter>p{font-size:24px;max-width:900px}
#footer .newsletter .privacy-note{font-size:21px;max-width:740px}

@media(max-width:809px){
 .site-header{height:100px}
 .site-header.scrolled{height:96px}
 .site-header .brand-logo img{height:60px;max-width:255px}
 .site-header.scrolled .brand-logo img{height:63px}
 .service-slot{width:380px;max-width:85vw}
 .service-track{top:auto;padding-inline:max(20px,calc((100vw - min(380px,85vw))/2))}
 .service-track .service-card{min-height:540px;max-width:none}
 #our-approach .approach-card>p{margin-top:32px}
 #our-approach .approach-careful>p{margin-bottom:220px}
 #our-approach .approach-results>p{margin-bottom:200px}
 #pricing .price-card{min-height:390px}
}
@media(max-width:520px){
 .manifesto cite{font-size:19.5px}
 #our-services .services-intro .section-heading p{font-size:21px}
 .service-track .service-card{min-height:580px;padding:30px 22px 24px}
 #our-approach .approach-card>p{max-width:100%}
 #our-approach .approach-careful>p{margin-bottom:170px}
 #pricing .price-card{min-height:320px}
 #footer .newsletter .privacy-note{font-size:18px}
}
/* On short desktop windows, a natural horizontal row keeps the larger cards
   reachable without putting them behind the fixed navigation. */
@media(min-width:810px) and (max-height:740px){
 .services-runway{height:auto}
 .services-sticky{position:relative;height:auto;overflow:hidden;padding:28px 0 70px}
 .service-track{position:relative;left:auto;top:auto;width:100%;gap:32px;padding:24px max(32px,calc((100vw - 380px)/2));overflow-x:auto;transform:none!important;scroll-snap-type:x mandatory}
 .service-slot{scroll-snap-align:center}
}
@media(prefers-reduced-motion:reduce) and (min-width:810px){
 .service-track{top:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-slot{width:100%}
 .service-track .service-card{min-height:540px;height:auto}
}

/* DM Serif Display is wider than the original condensed face. Reserve enough
   reading space for the quote and keep the longest card title inside small phones. */
.manifesto-inner{padding:clamp(80px,12svh,120px) 0 64px}
.manifesto blockquote{font-size:clamp(30px,4.65vw,46px)}
@media(max-width:809px){.manifesto blockquote{font-size:36px}}
@media(max-width:520px){
 .manifesto blockquote{font-size:28px}
 .service-track .service-card h3{font-size:clamp(32px,10.8vw,42px)}
}
@media(max-width:360px){.manifesto blockquote{font-size:26px}}


/* Source: css/inner-pages.css */
/* Inner pages use the Bloom palette and glass surfaces from the home experience. */
.about-story,.journey-story{display:grid;grid-template-columns:1fr .9fr;gap:clamp(36px,7vw,96px);align-items:center}
.about-story .prose h2,.journey-story .prose h2{font-size:clamp(44px,5.2vw,72px);margin-bottom:26px}
.about-story .prose p,.journey-story .prose p{font-size:18px;margin-top:18px;line-height:1.8}
.about-image,.journey-story>.image-frame{min-height:520px;border:1px solid #fff9;border-radius:34px;overflow:hidden;background:linear-gradient(145deg,#fff9,#c6d9d2a8);box-shadow:0 24px 70px #354a4a12}
.about-image img,.journey-story>.image-frame img{width:100%;height:100%;min-height:520px;object-fit:cover}
.care-principles{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:52px}
.care-principle{min-height:260px;padding:28px;border-radius:26px;border:1px solid #ffffffc9;background:linear-gradient(145deg,#ffffffa6,#f8f5f23b);box-shadow:0 16px 40px #263f3810}
.care-principle>span,.service-index{color:var(--muted);font-size:13px;letter-spacing:.12em}
.care-principle h3{font-size:34px;margin:36px 0 14px}
.care-principle p{line-height:1.7}
.service-list{padding-bottom:100px}
.service-detail-expanded{grid-template-columns:.75fr 1.25fr;gap:clamp(32px,7vw,96px);padding:72px 0;border-bottom:1px solid #ffffffb3;scroll-margin-top:120px}
.service-detail-heading{position:relative;padding:30px;border-radius:28px;border:1px solid #ffffffc9;background:linear-gradient(145deg,#ffffffa8,#f8f5f230);align-self:start}
.service-detail-heading .service-icon{height:76px;width:76px;margin:0 0 28px}
.service-detail-heading h2{font-size:clamp(38px,4vw,58px)}
.service-index{display:block;margin-bottom:18px}
.service-detail-copy{max-width:680px}
.service-detail-copy .service-lead{font-size:21px;color:var(--ink);line-height:1.6;margin-bottom:30px}
.service-detail-copy h3{font-size:28px;margin:26px 0 10px}
.service-detail-copy>p{line-height:1.75}
.service-detail-copy .service-note{font-size:14px;margin:24px 0;color:var(--muted)}
.service-detail-copy .button{margin-top:12px}
.contact-details{padding:40px;border:1px solid #ffffffc9;border-radius:30px;background:linear-gradient(145deg,#ffffffa8,#f8f5f230);box-shadow:0 16px 40px #263f3810}
.contact-details h2{font-size:40px;margin:6px 0 22px}
.contact-details address{font-style:normal;font-size:18px;line-height:1.7;color:var(--muted)}
.contact-details h3{font-size:30px;margin:38px 0 8px}
.contact-details>a{font-size:19px;text-decoration:underline;text-underline-offset:4px}
.contact-details>p{font-size:14px;margin-top:30px;line-height:1.7}
.legal-page{padding-block:0 120px}
.legal-page h2{font-size:34px;margin:42px 0 14px}
.legal-page p{line-height:1.8}
.article-hero{height:auto;min-height:0;max-height:none;background:#17201d;border-radius:28px;overflow:hidden}
.article-hero img{width:100%;height:auto;max-height:900px;object-fit:contain;margin-inline:auto}
.article-sources{margin-top:56px;padding:28px;border-radius:24px;background:#ffffff9c;border:1px solid #fff}
.article-sources h2{font-size:32px;margin-bottom:18px}
.article-sources ul{padding-left:20px;display:grid;gap:12px}
.article-sources a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:809px){.about-story,.journey-story{grid-template-columns:1fr}.about-image,.journey-story>.image-frame,.about-image img,.journey-story>.image-frame img{min-height:400px}.care-principles{grid-template-columns:1fr 1fr}.service-detail-expanded{grid-template-columns:1fr;padding:48px 0}.contact-details{order:0}}
@media(max-width:520px){.care-principles{grid-template-columns:1fr}.care-principle{min-height:210px}.care-principle h3{margin:24px 0 12px}.contact-details{padding:26px}.contact-details h2{font-size:34px}.article-sources{padding:22px}}
.page-intro{position:relative;isolation:isolate;padding-bottom:80px}
.page-intro:before{content:'';position:absolute;inset:30px 0 -70px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 30%,#fce8ecaa,transparent 67%)}
.page-intro h1{color:#003b66;max-width:1100px;margin-inline:auto}
.page-intro p{max-width:740px;margin-inline:auto;line-height:1.75}
.service-navigation{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding-bottom:40px}
.service-navigation a{font-size:13px;padding:12px 18px;border:1px solid #fff;border-radius:30px;background:#ffffff80;color:#29495d;transition:background .2s}
.service-navigation a:hover{background:#fff}
.service-detail-copy ul{margin:12px 0 24px;padding-left:20px;display:grid;gap:9px;color:#626d78;line-height:1.7}
.service-question{margin-top:28px;border-top:1px solid #ffffffd9;border-bottom:1px solid #ffffffd9;padding:18px 0}
.service-question summary{cursor:pointer;font-size:17px;line-height:1.5;color:#23485e}
.service-question p{margin-top:15px;font-size:15px}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch;padding-bottom:36px}
.contact-details{display:flex;flex-direction:column;justify-content:center}
.contact-details .contact-map-link{font-size:15px;margin-top:25px}
.contact-options{display:grid;gap:16px;min-width:0}
.contact-option{padding:26px 30px;border:1px solid #ffffffc9;border-radius:26px;background:#ffffff94;display:flex;flex-direction:column;align-items:flex-start;transition:background .25s,transform .25s}
.contact-option:hover{background:#fff;transform:translateY(-3px)}
.contact-option .eyebrow{margin-bottom:16px;background:#f8e9ee;color:#775a67;font-size:12px;padding:6px 12px}
.contact-option strong{font-family:var(--serif);font-size:clamp(28px,3vw,42px);font-weight:400;color:#003b66;line-height:1.2;overflow-wrap:anywhere}
.contact-option>span:last-child{font-size:13px;color:#64737d;margin-top:16px}
.contact-email strong{font-family:var(--sans);font-size:clamp(17px,1.7vw,23px);line-height:1.5}
.consultation-steps .care-principles{grid-template-columns:repeat(3,1fr)}
.requested-care{padding:42px;margin-top:30px;border:1px solid #fff;border-radius:30px;background:#ffffff9c}
.requested-care h2{font-size:42px;color:#003b66}
.requested-care>p{margin:20px 0 26px;max-width:680px;line-height:1.7}
.journal-list .journal-grid{grid-template-columns:1fr 1fr;align-items:stretch}
.journal-list .article-card{min-height:0}
.journal-list .article-image,.journal-list .article-card:nth-child(even) .article-image{order:-1;min-height:0;flex:none;aspect-ratio:3/4;background:#17201d}
.journal-list .article-image img{object-fit:contain}
.journal-list .article-copy p{margin-top:18px;line-height:1.7;font-size:15px}
.journal-list .filter-row{margin-bottom:35px}
.article-card[hidden]{display:none}
@media(max-width:809px){.contact-layout{grid-template-columns:1fr}.contact-options{grid-template-columns:1fr 1fr}.contact-email{grid-column:1/-1}.contact-details{min-height:380px}.contact-option strong{font-size:30px}.contact-email strong{font-size:21px}.consultation-steps .care-principles{grid-template-columns:1fr}.journal-list .journal-grid{gap:20px}.journal-list .article-copy h3{font-size:32px}}
@media(max-width:520px){.contact-options,.journal-list .journal-grid{grid-template-columns:1fr}.contact-option{padding:26px}.contact-option strong{font-size:34px}.contact-email strong{font-size:20px}.requested-care{padding:28px}.service-navigation{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:25px;scrollbar-width:thin}.service-navigation a{flex:none}.article-hero img{max-height:none}.page-intro{padding-bottom:55px}}
.about-story{padding-top:32px}
.service-detail-heading h2{color:#003b66}

.journal-poster{display:block;width:100%}
.journal-list .article-card-landscape{align-self:start}
.journal-list .article-card-landscape .article-image{aspect-ratio:1672/941}


/* Source: css/bloom-glass.css */
/* Full-screen composition: preserve each asset's aspect ratio and anchor its artwork to the reference corner. */
.wb-glass-scene{position:relative;isolation:isolate;overflow:hidden;width:100%;max-width:none;height:100svh;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;scroll-margin-top:0;--wb-entry-radius:72px;--wb-entry-lift:56px}
/* One visibility-triggered entrance; the stationary outer section preserves page geometry. */
.wb-glass-stage{position:absolute;inset:0;overflow:hidden;isolation:isolate;background:#fff8fb;transform-origin:50% 55%;border-radius:0}
.wb-glass-scene[data-scene-entrance="pending"] .wb-glass-stage{opacity:.15;transform:translate3d(0,var(--wb-entry-lift),0) scale(.91);border-radius:var(--wb-entry-radius)}
.wb-glass-scene[data-scene-entrance="entering"] .wb-glass-stage{animation:wb-glass-scene-in 950ms cubic-bezier(.2,.75,.25,1) both;will-change:transform,opacity,border-radius}
@keyframes wb-glass-scene-in{
 from{opacity:.15;transform:translate3d(0,var(--wb-entry-lift),0) scale(.91);border-radius:var(--wb-entry-radius)}
 to{opacity:1;transform:translate3d(0,0,0) scale(1);border-radius:0}
}
.wb-glass-artboard{position:absolute;inset:0;perspective:1400px;pointer-events:none;user-select:none}
.wb-glass-layer{position:absolute;display:block;max-width:none;pointer-events:none;transform-origin:center;backface-visibility:hidden}
/* Only the soft backdrop covers the viewport. Transparent foreground canvases stay uncropped. */
.wb-glass-layer-0{z-index:0;inset:0;width:100%;height:100%;object-fit:cover}
.wb-glass-layer-1,.wb-glass-layer-2{inset:-32px;width:calc(100% + 64px);height:calc(100% + 64px);object-fit:cover}
.wb-glass-layer-1{z-index:1;opacity:.16}
.wb-glass-layer-2{z-index:2;opacity:.18}
.wb-glass-layer-3,.wb-glass-layer-4,.wb-glass-layer-5{height:auto;aspect-ratio:1916/821;object-fit:contain}
.wb-glass-layer-3{z-index:3;left:-36px;bottom:-24px;width:calc(100% + 72px)}
.wb-glass-layer-4{z-index:4;right:-34px;bottom:-18px;width:72%}
.wb-glass-layer-5{z-index:5;left:-36px;top:-20px;width:74%}
.wb-glass-scene[data-pointer-motion="moving"] .wb-glass-layer:not(.wb-glass-layer-0){will-change:transform}
/* The surface morphs independently, so content never stretches with the droplet. */
.wb-glass-card{position:absolute;z-index:6;left:38%;top:53%;transform:translate(-50%,-50%);width:520px;max-width:calc(100% - 48px);color:#253b4c}
.wb-glass-surface{position:absolute;inset:0;overflow:hidden;border:1px solid #ffffffa6;border-radius:34px;background:#ffffff12;-webkit-backdrop-filter:blur(3px) saturate(112%);backdrop-filter:blur(3px) saturate(112%);box-shadow:0 18px 48px #29394825,0 2px 7px #26364c14,inset 0 1px 1px #ffffffe0,inset 1px 0 1px #ffffffb3,inset -1px -1px 1px #263e5833;transform-origin:center;pointer-events:none}
.wb-glass-refraction{position:absolute;inset:0;display:block;width:100%;height:100%;border-radius:inherit;pointer-events:none}
.wb-glass-card.has-refraction .wb-glass-surface{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.wb-glass-surface::before{content:'';position:absolute;z-index:1;inset:2px;border-radius:inherit;border:1px solid #ffffff85;box-shadow:inset 0 0 3px #ffffff88;mask-image:linear-gradient(135deg,#000,transparent 34%,transparent 60%,#000);-webkit-mask-image:linear-gradient(135deg,#000,transparent 34%,transparent 60%,#000)}
.wb-glass-surface::after{content:'';position:absolute;z-index:2;inset:0;border-radius:inherit;background:linear-gradient(115deg,#ffffff29,transparent 24%,transparent 67%,#ffffff19);box-shadow:inset 0 7px 12px -11px #fff,inset 0 -8px 14px -12px #fff;pointer-events:none}
.wb-glass-content{position:relative;padding:36px 40px 32px;text-shadow:0 1px 5px #ffffffe0,0 0 14px #ffffffa6}
.wb-glass-eyebrow{margin:0 0 16px;font:600 10px/1.3 var(--sans);letter-spacing:.23em;color:#526172}
.wb-glass-card h2{margin:0;max-width:390px;font:400 clamp(54px,4.9vw,68px)/.98 var(--serif);letter-spacing:-.035em;color:#263d50;text-wrap:balance}
.wb-glass-description{margin:16px 0 20px;max-width:410px;font:400 21px/1.65 var(--sans);color:#243e52}
.wb-glass-points{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:13px}
.wb-glass-points li{display:grid;grid-template-columns:6px 1fr;gap:11px}
.wb-glass-points li::before{content:'';width:5px;height:5px;margin-top:7px;border-radius:50%;background:#426277;box-shadow:0 0 0 3px #ffffff40}
.wb-glass-points strong{display:block;margin-bottom:3px;color:#253e52;font:700 19.5px/1.4 var(--sans)}
.wb-glass-points p{margin:0;color:#243e52;font:400 19.5px/1.5 var(--sans)}
.wb-glass-cta{display:inline-flex;align-items:center;gap:28px;padding:7px 7px 7px 22px;border-radius:999px;border:1px solid #fff;background:linear-gradient(135deg,#ffffff40,#ffffff12);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:0 5px 16px #283e521a,inset 0 1px 0 #fff9;color:#273e51;font:500 14px/1.2 var(--sans);text-decoration:none;transition:background .2s,box-shadow .2s}
.wb-glass-arrow{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#ffffffb5;border:1px solid #fff;color:#435c72;font-size:21px}
.wb-glass-cta:hover{background:#ffffffe0;box-shadow:0 8px 20px #665c8c24}
.wb-glass-cta:focus-visible{outline:3px solid #435e78;outline-offset:5px}
.wb-glass-scene[data-glass-entrance="pending"] .wb-glass-surface{transform:scale(.125,.15);border-radius:50%;opacity:.8}
.wb-glass-scene[data-glass-entrance="pending"] .wb-glass-content{opacity:0;pointer-events:none}
.wb-glass-scene[data-glass-entrance="entering"] .wb-glass-surface{animation:wb-glass-grow 1100ms both;will-change:transform,border-radius}
.wb-glass-scene[data-glass-entrance="entering"] .wb-glass-content{animation:wb-glass-content-in 650ms 350ms both}
@keyframes wb-glass-grow{
 0%{transform:scale(.125,.15);border-radius:50%;opacity:.8}
 32%{transform:scale(.32,.4);border-radius:48%;opacity:1}
 72%{transform:scale(1.025,.985);border-radius:38px}
 88%{transform:scale(.995,1.008);border-radius:32px}
 100%{transform:scale(1);border-radius:34px;opacity:1}
}
@keyframes wb-glass-content-in{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.wb-glass-surface{background:linear-gradient(135deg,#fff9ffed,#edf5ffed)}}
@media(min-width:1400px){.wb-glass-card{left:38%;width:540px}.wb-glass-content{padding:40px 44px 36px}}
@media(max-width:809px){
 .wb-glass-scene{width:100%;height:100svh;margin:0;border-radius:0;--wb-entry-radius:38px;--wb-entry-lift:36px}
 .wb-glass-layer-3{left:-40%;width:180%;bottom:-24px}
 .wb-glass-layer-4{width:135%;right:-46px;bottom:-16px}
 .wb-glass-layer-5{width:140%;left:-56px;top:-20px}
 .wb-glass-card{left:50%;top:52%;width:430px;max-width:calc(100% - 36px)}
 .wb-glass-content{padding:30px 28px 28px}
 .wb-glass-card h2{font-size:clamp(48px,8vw,62px)}
 .wb-glass-description{font-size:21px}
 .wb-glass-eyebrow{font-size:9px;margin-bottom:14px}
}
@media(max-width:400px){.wb-glass-content{padding:28px 24px 26px}.wb-glass-card h2{font-size:48px}.wb-glass-cta{font-size:13px;gap:20px}.wb-glass-description{font-size:19.5px;margin-top:14px;margin-bottom:18px}.wb-glass-points{gap:12px;margin-bottom:20px}.wb-glass-points strong,.wb-glass-points p{font-size:18px}}
@media(prefers-reduced-motion:reduce){
 .wb-glass-stage{animation:none!important;transform:none!important;opacity:1!important;border-radius:0!important}
 .wb-glass-layer{transform:none!important}
 .wb-glass-scene .wb-glass-surface{animation:none!important;transform:none!important;border-radius:34px!important;opacity:1!important}
 .wb-glass-scene .wb-glass-content{animation:none!important;transform:none!important;opacity:1!important;pointer-events:auto!important}
 .wb-glass-cta{transition:none}
}

/* A landscape phone still gets one complete screen with a readable card. */
@media(max-height:600px){
 .wb-glass-card{top:57%;width:560px;max-width:calc(100% - 40px)}
 .wb-glass-content{padding:22px 28px}
 .wb-glass-eyebrow{margin-bottom:12px;font-size:9px}
 .wb-glass-card h2{font-size:44px}
 .wb-glass-description{font-size:18px;line-height:1.5;margin:10px 0 12px;max-width:none}
 .wb-glass-points{gap:8px;margin-bottom:14px}
 .wb-glass-points strong,.wb-glass-points p{font-size:16.5px;line-height:1.4}
 .wb-glass-points strong{margin-bottom:1px}
 .wb-glass-cta{font-size:12px;padding-left:16px;gap:18px}
 .wb-glass-arrow{width:30px;height:30px;font-size:18px}
}

/* Only the upper-left cherry branch becomes video; its transparent media shares the layer's pointer transform. */
.wb-flower-motion{aspect-ratio:16/9}
.wb-flower-poster,.wb-flower-video{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:contain;pointer-events:none}
.wb-flower-video{opacity:0}
.wb-flower-motion.is-video-ready .wb-flower-video{opacity:1}
.wb-flower-motion.is-video-ready .wb-flower-poster{opacity:0}
@media(prefers-reduced-motion:reduce){.wb-flower-motion .wb-flower-video{opacity:0!important}.wb-flower-motion .wb-flower-poster{opacity:1!important}}

/* Natural card height accommodates the 1.5× reading sizes. The scene still fills
   a complete screen and grows on small phones so no copy is cropped. */
.wb-glass-scene{height:auto;min-height:100svh}
.wb-glass-stage{position:relative;inset:auto;min-height:100svh;display:flex;align-items:center;padding:100px max(24px,calc((100% - 1100px)/2))}
.wb-glass-card{position:relative;left:auto;top:auto;transform:none;width:620px;max-width:100%;flex-shrink:0}
.wb-glass-description{max-width:none}
@media(min-width:1400px){.wb-glass-card{left:auto;width:640px}}
@media(max-width:809px){
 .wb-glass-stage{justify-content:center;padding:100px 24px 72px}
 .wb-glass-card{left:auto;top:auto;width:570px;max-width:100%}
}
@media(max-width:400px){.wb-glass-stage{padding:96px 18px 64px}}
@media(max-height:600px){
 .wb-glass-stage{padding-block:100px 48px}
 .wb-glass-card{top:auto;width:660px;max-width:100%}
}

