/* Identity refinements. Photoshop tracking -25 = -0.025em. */
:root{--font:'Gilroy',sans-serif;--display:'Gilroy',sans-serif}
body,button,input,select,textarea{font-family:var(--font);font-weight:300}
body *{letter-spacing:-.025em!important}
h1,h2,h3,h4,strong,b{font-weight:800}
body p,body address{font-weight:300}
body h2,body h2 strong,.founder-copy h2,.gallery-copy h2,.procedures .section-heading h2,.diagnostic-intro h2,.human-copy h2,.family-copy h2{font-weight:800}
.eyebrow,.professional-line,.brand-slogan,.button,.text-link,.desktop-nav a,.mobile-nav a,.procedure-menu button,.exam-tabs button{font-weight:800}
.founder-copy>p:not(.eyebrow):not(.professional-line),.gallery-copy>p:not(.eyebrow),.procedure-panel p{font-size:16px;line-height:1.75}
.founder-signature>span,.professional-line{font-size:12px}.eyebrow{font-size:12px}
.diagnostic-intro>p:not(.eyebrow){font-weight:300}.diagnostic-intro .eyebrow{font-weight:800}
/* A restrained additive dissolve. The outgoing layer stays below the new one. */
.founder-carousel{background:#000}
.founder-slide.is-incoming{animation:portrait-dissolve-in 1.85s cubic-bezier(.4,0,.2,1) both;clip-path:none;transform:none}
@keyframes portrait-dissolve-in{from{opacity:0}to{opacity:1}}
@supports(mix-blend-mode:plus-lighter){
 .founder-slide.is-incoming,.founder-slide.is-outgoing{mix-blend-mode:plus-lighter}
 .founder-slide.is-outgoing{animation:portrait-dissolve-out 1.85s cubic-bezier(.4,0,.2,1) both}
 @keyframes portrait-dissolve-out{from{opacity:1}to{opacity:0}}
}
.founder-motion .is-current .founder-depth,.founder-motion .is-incoming .founder-depth{animation-duration:8.9s}
/* Use the supplied brand artwork itself, with independent animated masks. */
.amaris h2{font-size:clamp(38px,4.65vw,64px);line-height:1.1;font-weight:800;max-width:940px}
.amaris-subtitle{font-family:'Gilroy SemiBold',Gilroy,sans-serif;font-weight:300;font-size:clamp(19px,2.1vw,27px);line-height:1.45;max-width:940px;margin:22px auto 0;text-wrap:balance}
.artwork-ecosystem{display:block;width:min(760px,100%);max-width:none;margin:34px auto 28px;padding:0;position:relative}
.artwork-ecosystem::before{display:none}.artwork-ecosystem svg{display:block;width:100%;height:auto;overflow:visible}
.ecosystem-piece{transform-box:view-box}.ecosystem-amaris{transform-origin:25% 50%}.ecosystem-add{transform-origin:49.2% 49.5%}.ecosystem-marinho{transform-origin:75% 50%}
.ecosystem-ready:not(.ecosystem-visible) .ecosystem-piece{opacity:0;transform:translateY(24px) scale(.94)}
.ecosystem-visible .ecosystem-piece{animation:ecosystem-pop 1.15s cubic-bezier(.22,.7,.25,1) both}.ecosystem-visible .ecosystem-amaris{animation-delay:0s}.ecosystem-visible .ecosystem-add{animation-delay:.65s}.ecosystem-visible .ecosystem-marinho{animation-delay:1.3s}
@keyframes ecosystem-pop{0%{opacity:0;transform:translateY(24px) scale(.94)}65%{opacity:1;transform:translateY(-7px) scale(1.012)}100%{opacity:1;transform:translateY(0) scale(1)}}
.amaris-benefits{font-weight:800;font-size:17px}.amaris-promise{font-weight:300;font-size:21px;max-width:740px;line-height:1.55}.amaris-conditions{font-size:13px;line-height:1.6;font-weight:300}
/* Center the FAQ as one reading column; place the invitation after the answers. */
.faq{display:flex;flex-direction:column;align-items:center;gap:34px;padding-block:100px}
.faq-heading{text-align:center;width:100%;max-width:900px}.faq h2{font-family:Roboto,sans-serif;font-weight:800;font-size:clamp(36px,4vw,54px);line-height:1.15}.faq-heading>p:not(.eyebrow){font-size:18px;margin:20px auto 0;max-width:620px;line-height:1.6}
.faq-list{width:min(850px,100%)}.faq-list summary{font-size:18px;font-weight:800;text-align:left;padding-block:25px}.faq-list details>p{font-size:16px;line-height:1.75;text-align:left}
.faq-followup{text-align:center;margin-top:8px}.faq-followup p{font-size:18px;margin:0 0 10px}.faq-followup .text-link{font-size:16px;justify-content:center}
/* Current address, live map and discreet preview of the future building. */
.contact-heading{margin-bottom:40px}.contact-heading h2{font-size:clamp(32px,4.4vw,60px);font-weight:800;color:var(--teal);line-height:1.15;white-space:nowrap}
.contact-layout{grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.contact-details{padding:0}.contact-details address{font-size:20px;line-height:1.6}.contact-details address span{font-size:14px}.contact-details>.text-link{font-size:15px;margin-top:16px}.contact-bottom{margin-top:28px}.contact-details .button{margin-top:24px;font-size:14px}.contact-phone{font-size:24px}
.location-map{height:410px;border-radius:20px;overflow:hidden;border:1px solid #c4e4e6;background:#e5eeee}.location-map iframe{display:block;border:0;width:100%;height:100%}
.new-address{width:min(650px,100%);margin-top:38px;display:grid;grid-template-columns:180px 1fr;align-items:center;gap:28px;background:#ffffffa6;border:1px solid #d6e7e8;border-radius:16px;overflow:hidden}.new-address img{width:180px;height:180px;object-fit:cover;object-position:50% 48%}.new-address>div{padding:20px 26px 20px 0}.new-address-label{font-size:11px;color:#667476;font-weight:800}.new-address h3{font-size:26px;color:#007787;line-height:1.22;margin:10px 0 0;font-weight:800;text-wrap:balance}
.footer-main{align-items:flex-start;gap:55px}.footer-main>p{margin-top:18px;font-size:16px}.footer-social{margin-left:auto;min-width:270px}.footer-social>p{color:#fff;font-size:16px;margin:0 0 14px;font-weight:300}.social-icons{display:flex;gap:14px}.social-icons a{width:44px;height:44px;display:grid;place-items:center;border:1px solid #ffffff45;border-radius:50%;color:white;transition:background .25s,transform .25s}.social-icons a:hover{background:#ffffff16;transform:translateY(-2px)}.footer-social svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6}.footer-social .facebook-icon{fill:currentColor;stroke:none}.founder-social-link{display:flex;align-items:center;gap:13px;margin-top:26px;padding-top:23px;border-top:1px solid #ffffff26;color:white;font-size:15px;line-height:1.5}.founder-social-link small{display:block;color:#e1dfe0;font-size:12px;font-weight:300}.founder-social-link>span:last-child{margin-left:auto}.footer-meta{margin-top:8px}
@media(max-width:1000px){.contact-layout{gap:35px;grid-template-columns:.9fr 1.1fr}.contact-phone{font-size:21px}.footer-main{gap:30px}.footer-main>p{font-size:14px}.footer-social{min-width:245px}}
@media(max-width:700px){.amaris h2{font-size:clamp(35px,7.7vw,48px);max-width:520px}.amaris-subtitle{font-size:21px;max-width:480px}.artwork-ecosystem{margin-block:26px}.amaris-benefits{font-size:17px}.amaris-promise{font-size:20px}.amaris-conditions{font-size:12px}.faq{padding-block:68px;gap:26px}.faq-heading>p:not(.eyebrow){font-size:16px}.faq-list summary{font-size:16px}.faq-list details>p{font-size:15px}.contact-heading{margin-bottom:30px}.contact-heading h2{font-size:clamp(26px,7.4vw,45px)}.contact-layout{grid-template-columns:1fr;gap:28px}.location-map{height:320px;border-radius:16px}.contact-details address{font-size:19px}.new-address{grid-template-columns:115px 1fr;gap:18px;margin-top:24px}.new-address img{width:115px;height:150px}.new-address>div{padding:16px 16px 16px 0}.new-address-label{font-size:9px}.new-address h3{font-size:22px}.footer-main{flex-wrap:wrap;gap:22px;align-items:center}.footer-main>p{margin-top:0}.footer-social{width:100%;margin:9px 0 0}.founder-social-link{max-width:340px}.footer-social>p{font-size:16px}.founder-copy>p:not(.eyebrow):not(.professional-line){font-size:15px}.professional-line{font-size:11px}.founder-signature>span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.founder-slide.is-incoming,.founder-slide.is-outgoing{animation:none;opacity:1;mix-blend-mode:normal}.ecosystem-piece,.ecosystem-ready:not(.ecosystem-visible) .ecosystem-piece{animation:none!important;opacity:1;transform:none}.social-icons a{transition:none}}

/* Revision 9: gentle text opacity, portrait indicators and independent brand PNGs. */
.banner-reveal{animation-name:banner-text-fade;animation-duration:1.25s;animation-timing-function:ease-in-out;transform:none}
@keyframes banner-text-fade{from{opacity:0}to{opacity:1}}
.founder-visual{min-width:0}.founder-dots{margin-top:20px;gap:12px;min-height:24px;align-items:center}.founder-dots button{cursor:pointer}.founder-dots button:focus-visible{outline:2px solid var(--teal-deep);outline-offset:6px}.founder-carousel .founder-photo-caption{right:25px}
.artwork-ecosystem{aspect-ratio:2048/1073}
.artwork-ecosystem .ecosystem-piece{position:absolute;top:0;width:52.4%;height:auto;transform-origin:center}
.artwork-ecosystem .ecosystem-amaris{left:0}.artwork-ecosystem .ecosystem-marinho{right:0}
.artwork-ecosystem .ecosystem-add{left:43.2%;top:38.4%;width:12%;z-index:2}
.artwork-ecosystem .ecosystem-piece img{display:block;width:100%;height:auto;object-fit:contain}
.ecosystem-visible .ecosystem-piece img{animation:ecosystem-float 7s ease-in-out 2.5s infinite}
.ecosystem-visible .ecosystem-marinho img{animation-delay:3.2s}.ecosystem-visible .ecosystem-add img{animation-name:ecosystem-float-small;animation-delay:2.85s}
@keyframes ecosystem-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes ecosystem-float-small{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.new-address{margin-inline:auto}
@media(prefers-reduced-motion:reduce){.banner-reveal,.ecosystem-visible .ecosystem-piece img{animation:none!important;opacity:1;transform:none}}

/* Revision 10: annotated copy and CTA refinements. */
.amaris-conditions small{display:block;font-size:.85em;line-height:1.6;margin-top:5px}
.human-copy .button{background:#07A2B5;color:#fff}
.human-copy .button:hover{background:#078d9d;color:#fff}
.founder-signature .instagram-profile{gap:9px;width:max-content;max-width:100%;white-space:nowrap}
.founder-signature .instagram-profile>span{font-size:clamp(11px,1.45vw,15px);font-weight:800;letter-spacing:-.025em;white-space:nowrap}
.founder-signature .instagram-profile svg{width:22px;height:22px;flex-shrink:0}
.founder-signature .instagram-profile>b{display:none}
@media(max-width:620px){.founder-signature .instagram-profile>span{font-size:clamp(10px,2.85vw,15px)}}

/* Match the supplied replacement artwork without resampling it. */
.banner-symbol-pop{transform-origin:50.32% 35.94%}

/* Eleven supplied clinic photos, original pixels with responsive framing. */
#estrutura .clinic-slide img{display:block;height:auto;aspect-ratio:4/3;object-fit:cover}
#estrutura .gallery-dots{flex-wrap:wrap;gap:12px;min-height:28px;align-items:center}

/* Opening film: full original frame, never cropped. */
.site-intro{display:none;position:fixed;inset:0;z-index:10000;background:#fff;align-items:center;justify-content:center;opacity:1;transition:opacity .55s ease}
.intro-loading{overflow:hidden}
.intro-loading .site-intro{display:flex}
.site-intro video{display:block;width:100%;height:100%;object-fit:contain;max-height:100dvh;border:0;border-radius:0}
.site-intro.intro-leaving{opacity:0;pointer-events:none}
#skip-intro{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));right:24px;border:1px solid #dce3e3;border-radius:24px;padding:10px 18px;background:#fff;color:#373435;font:inherit;font-size:13px;cursor:pointer}
.intro-loading #site-shell{visibility:hidden}
.intro-loading .brand-banner-art,.intro-loading .banner-reveal,.intro-loading .banner-symbol-pop{animation-play-state:paused}
/* Quiet scroll reveals outside the preserved Amaris section. */
.js-motion #site-shell .reveal:not(#amaris .reveal){transition-duration:1s;transition-timing-function:cubic-bezier(.22,.61,.36,1)}
.js-motion #site-shell .reveal:not(#amaris .reveal):not(.in-view){transform:translateY(18px)}
#site-shell [data-word-reveal]:not(#amaris [data-word-reveal]) .word{transition-duration:.85s;transition-timing-function:cubic-bezier(.22,.61,.36,1)}
@media(prefers-reduced-motion:reduce){.site-intro{display:none!important}.intro-loading #site-shell{visibility:visible}.js-motion #site-shell .reveal:not(#amaris .reveal){transition:none;transform:none}}

/* Revision 14: calm typography, centered promise and real family photography. */
.nav-wrap{position:relative;display:grid;grid-template-columns:1fr auto 1fr;gap:20px;height:auto;min-height:86px;padding-block:14px}
.brand{grid-column:1;grid-row:1}.brand-slogan{grid-column:2;grid-row:1;margin:0;text-align:center;font-size:16px;line-height:1.25}
.desktop-nav{grid-column:3;grid-row:1;justify-self:end;gap:16px;font-size:11px;margin:0}
.menu-toggle{grid-column:3;grid-row:1;justify-self:end;margin:0}
#site-shell h2{line-height:1.08;text-wrap:balance}
#site-shell h2 .word-wrap{line-height:inherit;vertical-align:baseline;padding-bottom:.08em;margin-bottom:-.08em}
#site-shell p:not(.eyebrow){line-height:1.55;text-wrap:pretty}
#site-shell .eyebrow{line-height:1.35}
#site-shell .human-copy h2,#site-shell .human-copy h2 strong{color:#F89A33;line-height:1.08}
.human-copy>p:not(.eyebrow){margin-top:20px}.human-copy .eyebrow{max-width:350px}
.family-copy h2{max-width:530px}.family-copy>p:not(.eyebrow){margin-top:22px;max-width:420px}
.family-copy .text-link{border:1px solid currentColor;border-radius:8px;background:transparent;padding:13px 17px;gap:12px;font-size:13px;line-height:1.3;margin-top:24px;max-width:100%}
.family-copy .text-link span{font-size:16px;flex:none}.family-copy .text-link:hover{background:#ffffff40}
.family-photo img{object-position:50% 65%}.family-photo{min-height:520px}
.new-address h3{margin:0;font-size:27px;line-height:1.12}.new-address p{font-size:14px;margin-top:14px;color:#56676a}
@media(min-width:851px) and (max-width:1250px){.desktop-nav{grid-column:1/4;grid-row:2;justify-self:center}.nav-wrap{row-gap:5px}.brand-slogan{font-size:15px}}
@media(max-width:850px){.desktop-nav{display:none}.brand-slogan{font-size:14px}.nav-wrap{grid-template-columns:1fr auto 1fr;min-height:78px}}
@media(max-width:620px){.nav-wrap{grid-template-columns:1fr 1fr;padding-block:10px;row-gap:10px}.brand-slogan{grid-column:1/3;grid-row:2;font-size:15px;justify-self:center}.menu-toggle{grid-column:2}.family-photo{height:360px;min-height:0}.family-photo img{object-position:50% 57%}.family-copy .text-link{font-size:12px;padding:13px 12px;gap:9px}.new-address h3{font-size:22px}.new-address p{font-size:13px}.footer-main>p{font-size:14px;max-width:230px}.human-copy .eyebrow{font-size:10px}}

/* Revision 15: lighter glass header, prompt sequential banner, alpha intro. */
.site-header{background:rgba(255,255,255,.76);backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%);border-bottom:1px solid rgba(255,255,255,.8);box-shadow:0 3px 18px #22494d08}
.nav-wrap{min-height:74px;padding-block:9px}
.brand-slogan{font-size:14px;font-family:'Gilroy SemiBold','Gilroy',sans-serif;font-weight:300;-webkit-text-stroke:.22px currentColor;line-height:1.3}
.brand-banner-art{animation-duration:.35s}.banner-reveal{animation-duration:.55s;animation-timing-function:ease-out}
.banner-reveal-line-one{animation-delay:.1s}.banner-reveal-line-two{animation-delay:.3s}.banner-reveal-description{animation-delay:.5s}.banner-reveal-button{animation-delay:.7s}
.site-intro{background:#fff}.site-intro video{background:transparent;border:0;outline:0;box-shadow:none;border-radius:0;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}
.family-photo{min-height:460px}.family-photo img{object-position:50% 50%}.family-copy h2{font-size:clamp(30px,3vw,43px);max-width:520px}.family-copy .eyebrow{font-size:11px;max-width:340px}.family-copy>p:not(.eyebrow){font-size:16px;line-height:1.55}
@media(max-width:850px){.nav-wrap{min-height:70px}.brand-slogan{font-size:13px}}
@media(max-width:620px){.nav-wrap{row-gap:6px;padding-block:8px}.brand-slogan{font-size:13px}.family-photo{height:260px;min-height:0}.family-photo img{object-position:50% 50%}.family-copy h2{font-size:31px}.family-copy>p:not(.eyebrow){font-size:15px}.family-copy .eyebrow{font-size:10px}}

/* Solid white composite avoids unsupported WebM alpha rendering black. */
.site-intro,.site-intro video{background:#fff}

/* Revision 17: subtle slogans and balanced brand sizing. */
.brand-slogan{font-size:12px}
.footer-identity{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.footer-identity .footer-brand{display:block;width:116px;padding:0}
.footer-identity .footer-brand img{width:100%;height:auto}
#site-shell .footer-identity .footer-slogan{margin:0;color:#fff;font-size:12px;line-height:1.4;font-weight:300;white-space:nowrap}
@media(max-width:850px){
 .nav-wrap{width:calc(100% - 32px);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;min-height:64px;padding-block:10px;align-items:center}
 .brand,.brand img{width:68px}.brand{grid-column:1;grid-row:1;justify-self:start}
 .brand-slogan{grid-column:2;grid-row:1;font-size:11px;justify-self:center;margin:0;align-self:center}
 .menu-toggle{grid-column:3;grid-row:1;justify-self:end}
 .footer-identity .footer-brand{width:105px}
 #site-shell .footer-identity .footer-slogan{font-size:11px}
}
@media(max-width:360px){.brand,.brand img{width:54px}.brand-slogan{font-size:10px}.nav-wrap{gap:6px}}

/* Revision 18 — ordered sections and restrained finishing. */
.brand-slogan{font-size:11px}
.gallery-copy h2{text-align:left;max-width:430px;font-size:clamp(34px,3.4vw,48px)}
.gallery-copy>p:not(.eyebrow){text-align:left;max-width:440px;text-wrap:pretty}
.gallery-viewport,.gallery-carousel,.founder-carousel{border-radius:22px;overflow:hidden;isolation:isolate}
.gallery-viewport{clip-path:inset(0 round 22px)}
.clinic-slide img,.founder-slide img{border-radius:22px}
#site-shell .human-copy h2,#site-shell .human-copy h2 strong{line-height:1.02}
#site-shell .human-copy h2 .word-wrap{vertical-align:bottom;line-height:1.02;padding-bottom:.04em;margin-bottom:-.04em}
#site-shell .human-copy>p:nth-of-type(2){font-weight:300;-webkit-text-stroke:.3px currentColor;line-height:1.4;font-size:20px}
.new-address{width:min(800px,100%);grid-template-columns:160px 1fr;gap:24px}.new-address img{width:160px;height:180px}
.new-address h3{font-size:25px;white-space:nowrap;text-wrap:nowrap}
footer{background:linear-gradient(135deg,#454243ed,#302e2ff5);backdrop-filter:blur(18px) saturate(115%);-webkit-backdrop-filter:blur(18px) saturate(115%);border-top:1px solid #ffffff24;box-shadow:inset 0 1px 0 #ffffff0c}
.brand-banner-art{animation:none;opacity:1}
@media(max-width:850px){.brand-slogan{font-size:10.5px}}
@media(max-width:700px){.new-address{grid-template-columns:115px 1fr;gap:18px}.new-address img{width:115px;height:180px}.new-address h3{font-size:22px;white-space:normal;text-wrap:balance}.gallery-copy h2{font-size:36px}#site-shell .human-copy>p:nth-of-type(2){font-size:19px}}
@media(max-width:360px){.brand-slogan{font-size:9.5px}}
