:root{--ink:#122c37;--ink-2:#213d47;--navy:#0d2935;--navy-deep:#0a202c;--teal:#23988f;--teal-light:#cdf0e5;--mint:#e6f3ee;--paper:#fcfcf9;--warm:#f7f7f1;--line:#dfebe8;--muted:#63747b;--white:#fff;--shadow:0 22px 70px rgba(10,37,48,.12);--ease:cubic-bezier(.22,1,.36,1);--max:1210px}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.7 'DM Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
svg{display:block}
::selection{background:#bce7da;color:var(--ink)}
:focus-visible{outline:3px solid #33aaa2;outline-offset:4px}
.container{width:min(calc(100% - 84px),var(--max));margin:0 auto}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:21px;height:21px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.skip-link{position:fixed;z-index:9999;top:-70px;left:12px;background:#fff;padding:12px 20px;border-radius:8px}
.skip-link:focus{top:12px}
#scroll-progress{height:3px;width:0;position:fixed;top:0;left:0;z-index:400;background:var(--teal);pointer-events:none;transition:width .1s linear}
.announcement{height:31px;display:flex;align-items:center;justify-content:center;gap:13px;background:var(--navy);color:#cce8e4;letter-spacing:.19em;font-size:9px;font-weight:700}
.announcement__dot{width:5px;height:5px;background:#6bd3be;border-radius:50%;box-shadow:0 0 0 4px rgba(107,211,190,.12)}
.announcement__line{height:1px;width:26px;background:rgba(204,232,228,.4)}
.site-header{position:sticky;top:0;z-index:110;background:rgba(252,252,249,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(25,54,60,.06);transition:box-shadow .3s ease}
.site-header.scrolled{box-shadow:0 10px 35px rgba(18,44,55,.065)}
.header-inner{height:86px;display:flex;align-items:center;gap:32px}
.brand{display:flex;gap:12px;align-items:center;flex:0 0 auto}
.brand__mark{width:45px;height:45px}
.brand__name{font:800 14px/1.2 'Manrope',sans-serif;letter-spacing:.18em;color:var(--ink);white-space:nowrap}
.brand__name strong{color:var(--teal)}
.brand__name small{display:block;margin-top:5px;font:600 8px/1 'DM Sans',sans-serif;color:#6d8288;letter-spacing:.21em}
.desktop-nav{display:flex;align-items:center;gap:24px;justify-content:center;flex:1}
.nav-link{color:#56676d;font-size:12px;font-weight:700;white-space:nowrap;transition:color .25s}
.nav-link:hover,.nav-link.is-active{color:var(--teal)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;text-align:center;border:1px solid transparent;border-radius:100px;padding:14px 22px;line-height:1.35;font-size:12px;letter-spacing:.005em;font-weight:800;transition:background .25s,transform .3s var(--ease),box-shadow .3s,color .25s;border-color:.25s;white-space:nowrap}
.btn .icon{width:17px;height:17px;transition:transform .3s var(--ease)}
.btn:hover{transform:translateY(-3px)}
.btn:hover .icon{transform:translate(3px,-3px)}
.btn--dark{background:var(--navy);color:white;box-shadow:0 8px 20px rgba(15,44,55,.13)}
.btn--dark:hover{background:#194655;box-shadow:0 15px 30px rgba(15,44,55,.18)}
.btn--teal{background:var(--teal);color:white}
.btn--outline{border-color:#bad0cf;background:transparent;color:var(--ink)}
.btn--outline:hover{border-color:var(--teal);background:#eaf6f2}
.btn--white{background:white;color:var(--ink)}
.btn--white:hover{background:var(--teal-light)}
.btn--large{padding:19px 25px;font-size:13px}
.header-cta{font-size:11px;padding:14px 19px;gap:12px}
.menu-toggle,.mobile-nav{display:none}
.eyebrow{font:800 10px/1.5 'Manrope',sans-serif;letter-spacing:.23em;color:var(--teal);display:flex;align-items:center;gap:12px;margin:0 0 21px}
.eyebrow__dash{width:24px;height:1px;background:currentColor;flex:0 0 24px}
.eyebrow--light{color:#b0eadb}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:'Manrope',sans-serif;font-weight:700;letter-spacing:-.062em;line-height:1.13}
h1 em,h2 em{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.057em}
h2{font-size:clamp(36px,4.15vw,57px);margin:0}
.section{padding:115px 0}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .82s var(--ease),transform .82s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}

/* First impression */
.hero{position:relative;min-height:666px;isolation:isolate;background:#f6faf6}
.hero__grain{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 75% 40%,#def2ea 0,transparent 55%),radial-gradient(ellipse at 8% 100%,#edf7f1,transparent 55%);z-index:-1}
.hero__grid{display:grid;grid-template-columns:1.09fr .91fr;align-items:center;min-height:656px;gap:12px}
.hero__copy{position:relative;z-index:2;padding:55px 0 90px}
.hero h1{max-width:715px;font-size:clamp(48px,5.15vw,78px);margin:0 0 23px;letter-spacing:-.075em;line-height:1.11}
.hero h1 em{display:block;color:var(--teal);line-height:1.12}
.hero__lead{font-size:15px;line-height:1.88;max-width:435px;color:#6b7d80;margin-bottom:27px}
.hero__actions{display:flex;gap:29px;align-items:center;flex-wrap:wrap}
.text-link{display:inline-flex;gap:13px;align-items:center;font-size:12px;font-weight:800;white-space:nowrap}
.text-link__circle{width:36px;height:36px;border:1px solid #b2c7c6;border-radius:50%;display:grid;place-items:center;transition:background .25s,border .25s,transform .25s}
.text-link__circle .icon{width:16px;height:16px}
.text-link:hover .text-link__circle{background:var(--teal);border-color:var(--teal);color:white;transform:translateX(3px)}
.hero__bottom{display:flex;align-items:center;gap:19px;margin-top:62px}
.hero__bottom p{margin:0;color:#718185;font-size:11px;line-height:1.5}
.hero__bottom strong{display:block;color:var(--ink);font-size:12px}
.avatar-stack{display:flex;align-items:center;padding-left:7px}
.avatar-stack span{width:37px;height:37px;margin-left:-7px;border:2px solid #f6faf6;background:#e0ece9;border-radius:50%;display:grid;place-items:center;color:var(--teal)}
.avatar-stack span:nth-child(2){background:#d1e4e4;color:#2d5764}.avatar-stack span:nth-child(3){background:#bdded5}
.avatar-stack .icon{width:17px;height:17px}
.hero__visual{position:relative;height:617px;align-self:end}
.hero__photo-wrap{position:absolute;left:20px;right:-12px;bottom:0;height:566px;border-radius:260px 260px 10px 10px;overflow:hidden;background:#c7ded8;box-shadow:0 18px 55px rgba(37,83,90,.14)}
.hero__photo-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,48,57,.16),transparent 30%),linear-gradient(90deg,rgba(233,247,241,.12),transparent 40%)}
.hero__photo{width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:saturate(.9)}
.hero__stamp{position:absolute;top:77px;left:1px;z-index:2;border-radius:100%;height:110px;width:110px;background:var(--navy);color:#e9f9f3;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:var(--shadow);transform:rotate(-15deg)}
.hero__stamp span{font-size:7px;line-height:1.6;max-width:67px;letter-spacing:.1em;font-weight:700;text-align:center}
.hero__stamp .icon{width:31px;height:31px;margin-top:4px;stroke:#7ddbc4}
.hero__float{position:absolute;bottom:54px;left:-35px;z-index:4;display:flex;align-items:center;gap:12px;background:#fff;border-radius:13px;box-shadow:0 20px 60px rgba(20,58,66,.18);padding:13px 19px 13px 12px;max-width:246px;font-weight:800;font-size:11px;line-height:1.3}
.hero__float-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:var(--mint);color:var(--teal)}
.hero__float small{display:block;margin-top:4px;font-size:11px;color:var(--muted);font-weight:400}
.hero__asterisk{position:absolute;z-index:2;top:6px;right:-23px;width:83px;height:83px;color:var(--teal);transform:rotate(15deg)}
.hero__scroll{position:absolute;bottom:34px;left:calc((100% - min(calc(100% - 84px),var(--max)))/2);display:flex;gap:14px;align-items:center;font-size:9px;letter-spacing:.18em;font-weight:800;color:#7b9395}
.scroll-mouse{display:block;width:17px;height:27px;border:1px solid #81a29f;border-radius:12px;position:relative}
.scroll-mouse:after{content:"";position:absolute;top:6px;left:7px;width:1px;height:7px;background:#81a29f;animation:scrollCue 1.7s infinite}
@keyframes scrollCue{0%{transform:translateY(0);opacity:1}90%{transform:translateY(6px);opacity:0}100%{opacity:0}}

/* Distinctive dark strip */
.value-strip{background:var(--navy);color:white;padding:30px 0}
.value-strip__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.value-strip__item{display:flex;align-items:center;gap:16px;min-width:0;padding:5px 23px;border-right:1px solid rgba(255,255,255,.13)}
.value-strip__item:first-child{padding-left:0}
.value-strip__item:last-child{border:0;padding-right:0}
.value-strip__item>.icon{width:31px;height:31px;stroke:#9cddcf;stroke-width:1.3}
.value-strip__item strong{display:block;font-size:11px;line-height:1.4;white-space:nowrap}
.value-strip__item small{display:block;margin-top:4px;font-size:10px;line-height:1.45;color:#a5bfc4}

/* Intro layered images */
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}
.intro-visual{position:relative;min-height:570px}
.intro-visual__large{position:absolute;top:10px;left:0;width:80%;height:480px;overflow:hidden;border-radius:7px 115px 7px 7px;background:#bdd3ce}
.intro-visual__large img{width:100%;height:100%;object-fit:cover;object-position:55% 45%;transition:transform 1s var(--ease)}
.intro-visual:hover .intro-visual__large img{transform:scale(1.045)}
.intro-visual__small{position:absolute;right:0;bottom:18px;width:46%;height:220px;border:8px solid #fff;border-radius:100px 5px 5px 5px;overflow:hidden;box-shadow:0 10px 24px rgba(15,47,55,.12)}
.intro-visual__small img{width:100%;height:100%;object-fit:cover}
.intro-visual__badge{position:absolute;bottom:20px;left:7px;display:flex;align-items:center;gap:10px;font:600 12px/1.4 'Manrope',sans-serif;color:var(--ink);background:var(--teal-light);padding:12px 22px 12px 12px;border-radius:8px;transform:rotate(-4deg);box-shadow:0 8px 25px #0f374122}
.intro-visual__badge-sun{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:white;color:var(--teal)}
.intro-copy h2{max-width:500px;margin-bottom:25px}
.intro-copy h2 em{color:var(--teal)}
.intro-copy>p:not(.eyebrow){color:var(--muted);max-width:485px;font-size:14px;line-height:1.9;margin-bottom:28px}
.intro-features{border-top:1px solid var(--line);margin-top:23px;margin-bottom:32px}
.intro-features>div{display:flex;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.feature-icon{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:50%;background:var(--mint);color:var(--teal)}
.feature-icon .icon{width:24px;height:24px}
.intro-features strong,.intro-features small{display:block}
.intro-features strong{font:800 12px 'Manrope',sans-serif}
.intro-features small{color:var(--muted);font-size:11px;margin-top:4px}

/* Services */
.specialties{background:#eff5f1;position:relative}
.specialties:before{content:"+";position:absolute;right:4%;top:8px;font:200 290px 'Manrope',sans-serif;color:rgba(80,177,155,.065);pointer-events:none}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px;position:relative}
.section-heading h2 em{color:var(--teal)}
.section-heading>p,.section-heading__right>p{max-width:300px;color:var(--muted);font-size:13px;line-height:1.85;margin:0 0 4px}
.specialties-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.specialty-card{text-align:left;border:1px solid #d9e8e2;background:var(--paper);min-height:255px;padding:24px 27px;position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:background .35s,color .35s,transform .35s var(--ease),box-shadow .35s;border-color:.35s}
.specialty-card:before{content:"";position:absolute;inset:auto -40px -115px auto;width:220px;height:220px;border-radius:50%;background:#e3f3ed;transition:transform .5s var(--ease),opacity .35s;opacity:.52;pointer-events:none}
.specialty-card:after{content:"";position:absolute;right:32px;bottom:42px;width:90px;height:90px;border:1px solid rgba(39,155,143,.14);border-radius:50%;pointer-events:none}
.specialty-card:hover{transform:translateY(-6px);background:#f7fcf8;box-shadow:0 25px 45px rgba(17,61,60,.10);border-color:#b7d8cc}
.specialty-card:hover:before{transform:scale(1.2)}
.specialty-card--primary{background:var(--navy);color:#fff;border-color:var(--navy)}
.specialty-card--primary:before{background:#2b6670;opacity:.55}
.specialty-card--primary:after{border-color:#8bbfba50}
.specialty-card--primary:hover{background:#1d4c59;color:white}
.specialty-card__top{display:flex;align-items:start;justify-content:space-between;position:relative;z-index:1}
.specialty-card__top>.icon{width:37px;height:37px;color:var(--teal);stroke-width:1.25}
.specialty-card--primary .specialty-card__top>.icon{color:#8ddccc}
.specialty-card__number{font:700 11px 'Manrope',sans-serif;color:#91a8a9}
.specialty-card__content{display:block;z-index:1;max-width:230px;position:relative;margin-top:23px}
.specialty-card__content strong{display:block;font:800 21px/1.25 'Manrope',sans-serif;letter-spacing:-.06em;margin-bottom:10px}
.specialty-card__content small{font-size:12px;color:#7e8d90;line-height:1.6;display:block;max-width:210px}
.specialty-card--primary .specialty-card__content small{color:#bad0d0}
.specialty-card__arrow{width:33px;height:33px;border-radius:50%;position:absolute;right:24px;bottom:24px;display:grid;place-items:center;background:#d8eee5;color:var(--navy);z-index:2;transition:transform .25s}
.specialty-card__arrow .icon{width:15px;height:15px}
.specialty-card--primary .specialty-card__arrow{background:#b9e8d8}
.specialty-card:hover .specialty-card__arrow{transform:rotate(45deg)}
.specialties-note{display:flex;align-items:center;gap:9px;margin-top:34px;font-size:12px;color:#677f80}
.specialties-note>.icon{color:var(--teal)}
.inline-button{display:inline-flex;align-items:center;gap:5px;border:0;padding:0;margin-left:5px;background:none;color:var(--ink);font-weight:800;font-size:12px;text-decoration:underline;text-underline-offset:4px}
.inline-button .icon{width:14px;height:14px}

/* Image immersion */
.editorial-banner{height:570px;position:relative;display:flex;align-items:center;overflow:hidden;background:#133743;color:white}
.editorial-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 53%;filter:saturate(.86) contrast(1.04)}
.editorial-banner__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,32,42,.97) 0%,rgba(8,32,42,.86) 39%,rgba(8,32,42,.12) 100%)}
.editorial-banner__inner{position:relative;z-index:2}
.editorial-banner h2{font-size:clamp(45px,5.5vw,73px);color:white;max-width:680px;margin-bottom:24px}
.editorial-banner h2 em{color:#b2e5d6}
.editorial-banner__inner>p:not(.eyebrow){color:#d2e0dd;font-size:14px;margin-bottom:29px}
.editorial-banner__mark{position:absolute;right:7%;top:10%;font-size:210px;line-height:1;color:rgba(255,255,255,.12);font-weight:200;pointer-events:none}

/* Doctor */
.team-section{overflow:hidden}
.team-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;align-items:center}
.team-copy h2{margin-bottom:25px;max-width:530px}
.team-copy h2 em{color:var(--teal)}
.team-copy>p:not(.eyebrow){max-width:465px;color:var(--muted);line-height:1.95;margin-bottom:31px}
.doctor-info{display:flex;gap:20px;align-items:center;margin-bottom:28px}
.doctor-info__line{height:54px;width:3px;background:var(--teal);border-radius:9px}
.doctor-info strong,.doctor-info small{display:block}
.doctor-info strong{font:800 18px 'Manrope',sans-serif;letter-spacing:-.04em;margin-bottom:3px}
.doctor-info small{color:var(--muted);font-size:11px;line-height:1.65}
.team-visual{min-height:510px;position:relative;padding:30px 34px 0 0}
.team-visual__image{width:80%;height:470px;margin-left:auto;border-radius:210px 210px 16px 16px;background:#d6e8e3;overflow:hidden;position:relative;z-index:1}
.team-visual__image img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;filter:saturate(.92)}
.team-visual__note{position:absolute;z-index:3;left:2%;bottom:25px;display:flex;align-items:center;gap:14px;background:#fff;box-shadow:var(--shadow);padding:17px 24px;border-radius:13px;transform:rotate(-4deg)}
.team-visual__note>.icon{width:35px;height:35px;color:var(--teal)}
.team-visual__note p{font-size:12px;margin:0;line-height:1.5}
.team-visual__note strong{display:block}
.team-visual__orbit{position:absolute;right:-53px;top:0;width:80%;height:460px;border:1px solid #a9d3ca;border-radius:230px 230px 10px 10px}

/* Gallery */
.spaces-section{background:#f4f8f5;padding-bottom:86px;overflow:hidden}
.section-heading--space{margin-bottom:35px}
.section-heading__right{display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.gallery-controls{display:flex;gap:10px}
.gallery-arrow{height:42px;width:42px;display:grid;place-items:center;border:1px solid #c6d7d3;border-radius:50%;background:transparent;color:var(--ink);transition:.3s}
.gallery-arrow:hover{background:var(--navy);border-color:var(--navy);color:white}
.gallery-arrow .icon{width:17px;height:17px}
.gallery-viewport{max-width:100vw;overflow:hidden}
.gallery-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px max(42px,calc((100vw - var(--max))/2)) 12px;overscroll-behavior-inline:contain}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-card{margin:0;position:relative;flex:0 0 360px;height:390px;border-radius:9px;overflow:hidden;scroll-snap-align:start;background:#d7e3df}
.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.gallery-card:hover img{transform:scale(1.07)}
.gallery-card:after{content:"";inset:40% 0 0;position:absolute;background:linear-gradient(0deg,rgba(5,26,36,.72),transparent);pointer-events:none}
.gallery-card figcaption{position:absolute;z-index:2;bottom:25px;left:27px;color:white;display:grid;gap:6px}
.gallery-card figcaption span{font-size:10px;font-weight:700;letter-spacing:.15em;color:#c4e2da}
.gallery-card figcaption strong{font:800 17px 'Manrope',sans-serif;letter-spacing:-.045em}
.gallery-caption{font-size:10px;color:#78908e;margin:10px 0 0}

/* Example quotes */
.quotes-section{padding-top:105px;padding-bottom:105px}
.quotes__head{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:35px}
.quotes__head h2 em{color:var(--teal)}
.quotes__head>p{font-size:13px;color:var(--muted);max-width:310px;margin:0}
.quotes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.quote-card{position:relative;margin:0;background:var(--warm);padding:38px 40px;border:1px solid #ebeee8;min-height:246px}
.quote-card__symbol{position:absolute;top:16px;right:29px;color:#b0dacf;font:italic 70px Georgia,serif;line-height:1}
.quote-card>p{font:500 17px/1.75 'DM Sans',sans-serif;max-width:480px;position:relative;z-index:1;margin-bottom:25px}
.quote-card footer{display:flex;align-items:center;gap:13px}
.quote-card__avatar{background:#dfebe6;display:grid;place-items:center;border-radius:50%;height:38px;width:38px;color:#639c91}
.quote-card__avatar .icon{width:19px;height:19px}
.quote-card footer strong,.quote-card footer small{display:block}
.quote-card footer strong{font-size:11px}.quote-card footer small{font-size:10px;color:var(--muted)}

/* FAQ */
.faq-section{background:#f1f6f3}
.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:11%;align-items:start}
.faq-intro h2{margin-bottom:20px}
.faq-intro h2 em{color:var(--teal)}
.faq-intro>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:270px;margin-bottom:25px}
.text-link--button{background:transparent;border:0;padding:0}
.faq-list details{border-bottom:1px solid #d2e2db;transition:background .3s}
.faq-list details:first-child{border-top:1px solid #d2e2db}
.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 3px;font:700 14px 'Manrope',sans-serif}
.faq-list summary::-webkit-details-marker{display:none}
.faq-plus{width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:#e1efe8;color:var(--ink);display:grid;place-items:center;transition:transform .25s,background .25s}
.faq-plus .icon{width:16px;height:16px}
.faq-list details[open] .faq-plus{transform:rotate(45deg);background:#c4e8d9}
.faq-answer{padding:0 50px 25px 3px;font-size:13px;color:var(--muted);line-height:1.9}

/* Contact */
.contact-section{background:var(--navy-deep);padding:105px 0;color:#fff;overflow:hidden}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:stretch}
.contact-card h2{font-size:clamp(36px,4vw,53px);max-width:510px;color:white;margin-bottom:18px}
.contact-card h2 em{color:#a2e2cf}
.contact-card>p:not(.eyebrow){max-width:430px;font-size:13px;color:#adc8cb;margin-bottom:24px}
.contact-methods{display:grid;border-top:1px solid #41606a;margin-bottom:26px}
.contact-method{display:flex;align-items:center;text-align:left;padding:15px 0;background:transparent;border:0;border-bottom:1px solid #41606a;gap:16px;color:white;width:100%}
.contact-method>span:first-child{height:42px;width:42px;flex:0 0 42px;display:grid;place-items:center;border:1px solid #527681;border-radius:50%;color:#abe5d4}
.contact-method>span:nth-child(2){flex:1;min-width:0}
.contact-method small,.contact-method strong{display:block}
.contact-method small{color:#8db5b9;font:800 9px 'Manrope',sans-serif;letter-spacing:.14em;margin-bottom:2px}
.contact-method strong{font:700 13px 'Manrope',sans-serif;overflow-wrap:anywhere}
.contact-method__arrow{width:17px;height:17px;color:#9bdcce;transition:transform .3s}
.contact-method:hover .contact-method__arrow{transform:translate(3px,-3px)}
.btn--contact{padding:16px 21px;gap:13px}
.contact-map{border-radius:10px;min-height:540px;position:relative;overflow:hidden;background:#dcece8;isolation:isolate}
.contact-map__streets{position:absolute;inset:-30px;z-index:-1;opacity:.88;background:linear-gradient(42deg,transparent 46%,#f6faf7 46% 49%,transparent 49% 54%,#f6faf7 54% 57%,transparent 57%),linear-gradient(133deg,transparent 43%,#f8faf8 43% 48%,transparent 48% 53%,#f8faf8 53% 59%,transparent 59%),repeating-linear-gradient(26deg,transparent 0 44px,#cbded9 45px 46px,transparent 47px 100px),repeating-linear-gradient(118deg,transparent 0 65px,#c4dcd4 66px 67px,transparent 68px 110px),linear-gradient(130deg,#deeee7,#bbd7d0)}
.contact-map:before{content:"";position:absolute;width:600px;height:80px;border:16px solid #b8e0dc;transform:rotate(-27deg);left:-160px;top:60px;border-radius:80px;opacity:.5}
.contact-map:after{content:"";position:absolute;width:550px;height:85px;border:13px solid #b8e0dc;transform:rotate(39deg);right:-120px;bottom:80px;border-radius:90px;opacity:.5}
.contact-map__marker{position:absolute;z-index:2;left:50%;top:43%;transform:translate(-50%,-50%);padding:22px 28px;background:#fff;border-radius:14px;text-align:center;box-shadow:0 24px 65px #173c4440;color:var(--ink);min-width:190px}
.contact-map__marker:after{content:"";position:absolute;top:100%;left:calc(50% - 13px);border:13px solid transparent;border-top-color:#fff}
.contact-map__marker img{margin:0 auto 9px}
.contact-map__marker strong,.contact-map__marker small{display:block}
.contact-map__marker strong{font:800 13px 'Manrope',sans-serif;letter-spacing:.06em}
.contact-map__marker small{font-size:11px;color:var(--muted);margin-top:5px}
.contact-map__label{position:absolute;top:27px;left:28px;background:#fff;padding:6px 12px;border-radius:99px;font-size:9px;letter-spacing:.13em;font-weight:800;color:var(--ink)}
.contact-map__footer{position:absolute;bottom:23px;left:23px;right:23px;display:flex;align-items:center;gap:9px;padding:12px 15px;background:#fff;border-radius:6px;color:var(--ink);font-size:12px;font-weight:700;z-index:3;box-shadow:0 7px 26px #123a4220}
.contact-map__footer .icon{color:var(--teal);width:17px;height:17px}

.prefooter{background:var(--teal-light);padding:59px 0}
.prefooter__inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.prefooter .eyebrow{margin-bottom:9px}
.prefooter h2{font-size:clamp(30px,3.25vw,47px)}
.prefooter h2 em{color:#247f7c}

/* Footer */
.site-footer{background:#f9fbf7;padding:75px 0 25px}
.footer-grid{display:grid;grid-template-columns:1.45fr .7fr .7fr .9fr;gap:55px;margin-bottom:64px}
.brand--footer{margin-bottom:23px}
.footer-about>p{font-size:12px;color:var(--muted);max-width:225px;line-height:1.9;margin-bottom:24px}
.social-links{display:flex;gap:8px}
.social-links button{width:36px;height:36px;display:grid;place-items:center;border:1px solid #d9e6e2;border-radius:50%;background:white;color:var(--navy);transition:.25s}
.social-links button:hover{background:var(--navy);color:white}
.social-links .icon{width:16px;height:16px}
.footer-links,.footer-news{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.footer-links h3,.footer-news h3{font:800 12px 'Manrope',sans-serif;letter-spacing:-.01em;margin-bottom:15px}
.footer-links a,.footer-links button{font-size:12px;color:#63767a;transition:color .25s;background:none;border:0;padding:0;text-align:left}
.footer-links a:hover,.footer-links button:hover{color:var(--teal)}
.footer-news p{font-family:'Playfair Display',Georgia,serif;font-size:23px;line-height:1.48;font-style:italic;letter-spacing:-.04em;margin:0}
.footer-news>.icon{width:40px;height:40px;color:var(--teal)}
.footer-bottom{border-top:1px solid #dbe6e0;padding-top:22px;display:flex;gap:20px;align-items:center;justify-content:space-between;color:#879893;font-size:10px}
.footer-bottom strong{color:var(--teal);font-size:9px;letter-spacing:.05em}
.footer-bottom a{color:var(--ink);font-weight:800;white-space:nowrap}

/* Widgets, mobile and form */
.floating-whatsapp{position:fixed;z-index:90;right:27px;bottom:27px;border:0;border-radius:50%;background:#25b77a;color:#fff;width:59px;height:59px;box-shadow:0 12px 25px #086a492b;display:grid;place-items:center;transition:transform .3s var(--ease)}
.floating-whatsapp:hover{transform:scale(1.08)}
.floating-whatsapp>.icon{width:27px;height:27px;stroke-width:1.7}
.floating-whatsapp__tooltip{position:absolute;right:69px;top:50%;transform:translateY(-50%);background:white;color:var(--ink);box-shadow:0 8px 25px #12392225;font-size:11px;font-weight:800;white-space:nowrap;padding:9px 13px;border-radius:7px}
.mobile-cta{display:none}
.toast{position:fixed;z-index:300;left:50%;bottom:30px;transform:translate(-50%,20px);opacity:0;pointer-events:none;max-width:min(92vw,500px);padding:14px 22px;border-radius:12px;background:var(--navy);color:white;text-align:center;font-size:12px;box-shadow:var(--shadow);transition:opacity .3s,transform .3s}
.toast.is-shown{opacity:1;transform:translate(-50%,0)}

@media (max-width:1190px){.desktop-nav{gap:15px}.header-inner{gap:18px}.nav-link{font-size:11px}.brand__name{font-size:12px}.header-cta{padding:12px 14px}.hero h1{font-size:clamp(48px,5.1vw,66px)}.hero__visual{height:590px}.hero__photo-wrap{height:545px}.value-strip__item{padding:4px 12px}.value-strip__item strong{font-size:10px}}
@media (max-width:980px){.container{width:min(calc(100% - 50px),var(--max))}.desktop-nav,.header-cta{display:none}.header-inner{height:72px;justify-content:space-between}.menu-toggle{display:grid;place-items:center;border:1px solid #d5e4df;background:#fff;border-radius:50%;height:45px;width:45px;color:var(--ink)}.menu-toggle .icon{width:22px;height:22px}.menu-toggle .icon--close{display:none}.menu-toggle.is-open .icon--menu{display:none}.menu-toggle.is-open .icon--close{display:block}.mobile-nav{display:flex;position:absolute;top:100%;left:0;right:0;background:var(--paper);flex-direction:column;padding:8px 25px 27px;box-shadow:0 20px 35px #0c2c3525;transform:translateY(-10px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,transform .25s,visibility .25s;max-height:calc(100dvh - 72px);overflow:auto}.mobile-nav.is-open{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.mobile-nav>a{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 2px;font:800 13px 'Manrope',sans-serif}.mobile-nav>a .icon{width:16px;height:16px}.mobile-nav>.btn{margin-top:20px}.hero__grid{grid-template-columns:1fr .88fr;gap:0}.hero h1{font-size:clamp(42px,5.2vw,61px)}.hero__visual{height:510px}.hero__photo-wrap{height:472px;left:10px}.hero__stamp{left:0;top:55px;width:87px;height:87px}.hero__float{left:-24px;bottom:37px}.hero__asterisk{width:66px;height:66px;right:-10px}.hero__scroll{left:25px}.value-strip__grid{grid-template-columns:repeat(2,1fr);gap:20px}.value-strip__item{border:0;border-right:1px solid #ffffff22}.value-strip__item:nth-child(2){border-right:0}.intro-grid{gap:5%}.intro-visual{min-height:505px}.intro-visual__large{height:420px}.intro-visual__small{height:180px}.specialties-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-grid{gap:4%}.team-visual{min-height:450px}.team-visual__image{height:410px}.footer-grid{gap:22px}.contact-grid{gap:30px}.contact-map{min-height:530px}}
@media (max-width:720px){html{scroll-padding-top:72px}.container{width:calc(100% - 38px)}.announcement{height:27px;font-size:7px;letter-spacing:.11em;gap:8px}.announcement__line{width:13px}.header-inner{height:69px}.brand__mark{width:41px;height:41px}.brand__name{font-size:12px}.brand__name small{font-size:7px}.hero{padding-top:36px}.hero__grid{display:flex;flex-direction:column;align-items:stretch;min-height:0}.hero__copy{padding:24px 0 0}.eyebrow{font-size:9px;letter-spacing:.18em;margin-bottom:16px}.hero h1{font-size:clamp(42px,10.9vw,65px);max-width:560px;line-height:1.10;margin-bottom:21px}.hero h1 em{display:block}.hero__lead{max-width:540px;font-size:13px;line-height:1.85;margin-bottom:22px}.hero__actions{gap:14px}.hero__actions .btn{padding:17px 19px}.hero__bottom{margin-top:25px}.hero__visual{height:450px;width:100%;margin-top:25px;align-self:stretch}.hero__photo-wrap{height:420px;left:13%;right:6%;border-radius:220px 220px 3px 3px}.hero__photo{object-position:50% 32%}.hero__stamp{left:5%;top:23px;width:86px;height:86px}.hero__float{left:2%;bottom:28px;max-width:220px}.hero__asterisk{right:2%;top:0;width:62px;height:62px}.hero__scroll{display:none}.value-strip{padding:28px 0}.value-strip__grid{gap:23px 12px}.value-strip__item{padding:0;align-items:start;gap:9px;border:0}.value-strip__item>.icon{height:25px;width:25px}.value-strip__item strong{font-size:10px;white-space:normal}.value-strip__item small{font-size:9px;margin-top:2px}.section{padding:77px 0}.intro-grid{display:flex;flex-direction:column;align-items:stretch;gap:29px}.intro-visual{min-height:440px;order:2}.intro-copy{order:1}.intro-visual__large{height:390px;width:82%}.intro-visual__small{width:42%;height:171px;bottom:6px}.intro-visual__badge{bottom:18px}.intro-copy h2{margin-bottom:19px}.intro-copy>p:not(.eyebrow){font-size:13px;line-height:1.85}.intro-features{margin-top:20px}.intro-features>div{padding:13px 0}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:20px;max-width:450px;font-size:12px}.section-heading h2{font-size:clamp(36px,8vw,50px)}.specialties-grid{gap:10px}.specialty-card{padding:19px;min-height:232px}.specialty-card__content strong{font-size:18px}.specialty-card__content small{font-size:11px;padding-right:0}.specialty-card__top>.icon{width:31px;height:31px}.specialty-card__arrow{height:28px;width:28px;bottom:16px;right:14px}.specialties-note{font-size:11px;line-height:1.5;flex-wrap:wrap}.editorial-banner{height:445px}.editorial-banner>img{object-position:67%}.editorial-banner__overlay{background:linear-gradient(90deg,#081e2ae8,#0b2b3994 70%,#0b2b3936)}.editorial-banner h2{font-size:clamp(39px,9vw,59px)}.editorial-banner__mark{font-size:100px;right:5%}.team-grid{display:flex;flex-direction:column;gap:28px;align-items:stretch}.team-copy h2{font-size:clamp(39px,8vw,52px)}.team-copy>p:not(.eyebrow){font-size:13px}.team-visual{min-height:440px;max-width:500px;width:100%;margin:0 auto}.team-visual__image{height:410px;width:75%}.team-visual__orbit{height:400px;right:0}.team-visual__note{bottom:22px}.spaces-section{padding-bottom:67px}.section-heading__right{align-items:flex-start;margin-top:17px}.section-heading__right>p{max-width:420px;font-size:12px}.gallery-controls{align-self:flex-end}.gallery-track{padding-left:19px;padding-right:19px;gap:13px}.gallery-card{flex-basis:290px;height:330px}.quotes__head{display:block}.quotes__head>p{margin-top:19px;font-size:12px}.quotes-grid{grid-template-columns:1fr;gap:12px}.quote-card{padding:25px 26px;min-height:0}.quote-card>p{font-size:14px}.faq-grid{grid-template-columns:1fr;gap:24px}.faq-intro>p:not(.eyebrow){max-width:380px}.faq-list summary{font-size:12px;padding:20px 3px}.contact-section{padding:77px 0}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-card h2{max-width:420px}.contact-map{min-height:400px}.prefooter__inner{display:block}.prefooter h2{margin-bottom:23px}.footer-grid{grid-template-columns:1fr 1fr;row-gap:38px;column-gap:22px}.footer-about{grid-column:1/-1}.footer-news{grid-column:1/-1;max-width:350px}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;line-height:1.7}.footer-bottom span:nth-child(2){flex-basis:100%;order:3}.floating-whatsapp{display:none}.mobile-cta{display:flex;align-items:stretch;gap:10px;position:fixed;bottom:0;left:0;right:0;z-index:99;padding:10px 16px max(10px,env(safe-area-inset-bottom));background:#fcfcf9ef;backdrop-filter:blur(14px);border-top:1px solid #d9e7df;box-shadow:0 -8px 25px #0e343912}.mobile-cta button{display:flex;justify-content:center;align-items:center;gap:10px;border:0;border-radius:10px;min-height:49px;font-size:12px;font-weight:800}.mobile-cta__wa{background:#e1f4e9;color:#188c68;width:55px;flex:0 0 55px}.mobile-cta__wa .icon{width:24px;height:24px}.mobile-cta__contact{color:white;background:var(--navy);flex:1}.mobile-cta__contact .icon{width:17px;height:17px}.site-footer{padding-bottom:103px}.toast{bottom:83px}.field{font-size:11px}}
@media (max-width:420px){.hero h1{font-size:42px}.hero__actions .btn{font-size:11px;padding:15px 15px}.hero__actions .text-link{font-size:11px;gap:7px}.hero__visual{height:400px}.hero__photo-wrap{height:375px;right:2%;left:9%}.hero__stamp{width:76px;height:76px}.hero__stamp span{font-size:6px}.hero__float{max-width:215px}.value-strip__grid{gap:18px 8px}.value-strip__item{gap:8px}.value-strip__item>.icon{width:21px;height:21px}.intro-visual{min-height:368px}.intro-visual__large{height:330px}.intro-visual__small{height:150px}.specialty-card{min-height:220px;padding:14px}.specialty-card__content strong{font-size:16px}.specialty-card__content small{font-size:10px;max-width:130px}.specialty-card__content{margin-top:21px}.specialty-card__arrow{right:10px;bottom:10px;height:23px;width:23px}.team-visual{min-height:385px}.team-visual__image{height:350px}.team-visual__orbit{height:340px}.gallery-card{flex-basis:270px;height:315px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
