:root{--dark:#19271f;--darker:#101b16;--ink:#202921;--paper:#f7f7f4;--white:#fff;--muted:#666e68;--line:#daddd7;--accent:#c88865}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px;max-width:100%;overflow-x:hidden;overflow-x:clip}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 Inter,Arial,sans-serif;max-width:100%;overflow-x:hidden;overflow-x:clip;-webkit-text-size-adjust:100%}body.menu-open{overflow:hidden}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.045em;line-height:1.12}h1{font-size:clamp(3.5rem,6.2vw,6.5rem)}h2{font-size:clamp(2.7rem,4.5vw,4.9rem)}h3{font-size:1.4rem}h1 em,h2 em{font-style:normal;color:var(--accent)}.wrap{width:min(1190px,calc(100% - 56px));margin-inline:auto;min-width:0}.section{padding:clamp(90px,10vw,150px) 0}.eyebrow{font-size:.73rem;line-height:1.5;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#9b6043;margin-bottom:24px}.eyebrow.light{color:#f1c7aa}.skip{position:absolute;top:-80px;left:16px;background:white;color:var(--dark);padding:12px;z-index:100}.skip:focus{top:12px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:52px;border:1px solid transparent;border-radius:999px;padding:14px 25px;font-weight:600;font-size:.9rem;line-height:1.2;cursor:pointer;white-space:normal;text-align:center;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button span{font-weight:400;font-size:1.25rem}.button-accent{background:white;color:var(--dark)}.button-accent:hover{background:#e8e9e4}.underlined{display:inline-flex;gap:13px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:.88rem;font-weight:600}.underlined:hover{opacity:.72}.light-link{color:white}.dark-link{color:var(--dark)}
.site-header{position:fixed;top:0;left:0;right:0;z-index:60;color:white;background:transparent;transition:background .25s,box-shadow .25s}.site-header.scrolled{background:rgba(16,27,22,.96);box-shadow:0 8px 22px #0002;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.header-inner{height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;flex-direction:column;line-height:1;flex:none;position:relative;z-index:62}.brand-name{font-size:1.25rem;font-weight:700;letter-spacing:-.055em;white-space:nowrap}.brand-dot{color:#f0b491}.brand-subtitle{font-size:.52rem;font-weight:600;letter-spacing:.17em;margin-top:6px;opacity:.8}.menu-toggle{position:relative;z-index:62;display:inline-flex;align-items:center;gap:14px;background:transparent;border:0;color:white;padding:9px 0 9px 12px;cursor:pointer}.menu-label{font-size:.77rem;font-weight:700;letter-spacing:.13em}.menu-lines{display:flex;flex-direction:column;justify-content:center;gap:6px;width:26px;height:26px}.menu-lines i{width:25px;height:2px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded="true"] .menu-lines i:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-lines i:last-child{transform:translateY(-4px) rotate(-45deg)}.nav{position:fixed;inset:0;z-index:61;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;padding:100px max(28px,calc((100vw - 1190px)/2));background:#14231c;color:#fff;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,visibility .25s;overflow-y:auto}.nav.open{opacity:1;visibility:visible;pointer-events:auto}.nav a{font-size:clamp(2rem,5vw,5rem);font-weight:500;line-height:1.16;letter-spacing:-.05em}.nav a:hover{color:#edb998}.button-header{display:none}
.hero{position:relative;background:var(--darker);color:white;overflow:hidden}.hero-layout.wrap{position:relative;isolation:isolate;width:100%;max-width:none;min-height:760px;height:min(930px,100svh);margin:0}.hero-photo{position:absolute;inset:0 0 0 auto;z-index:-2;width:55%;background:#ceb99f;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%}.hero-layout::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#171b17 0%,#171b17 28%,rgba(23,27,23,.95) 39%,rgba(23,27,23,.57) 55%,rgba(23,27,23,.05) 78%),linear-gradient(0deg,rgba(23,27,23,.62),transparent 28%),linear-gradient(180deg,rgba(23,27,23,.28),transparent 22%)}.hero-copy{position:relative;width:min(620px,calc(100% - 56px));margin-left:max(28px,calc((100vw - 1190px)/2));padding-top:clamp(155px,20vh,210px)}.hero h1{max-width:650px}.hero h1 em{color:#f0bc99}.hero-lede{font-size:1.05rem;line-height:1.7;color:#e9ece7;max-width:525px;margin-top:25px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-top:34px}.hero-signature{font-size:.77rem;letter-spacing:.02em;color:#dae2db;margin-top:43px}.hero-signature span{color:#abb9ac}.hero-mobile-actions{display:none}
/* Editorial rhythm shared by every section after the hero. */
.credentials,.about,.formation,.plans,.process,.modalities,.contact{background-color:#fff;background-image:linear-gradient(90deg,transparent calc(100% - 1px),#ebebeb calc(100% - 1px));background-size:16.666667% 100%}
.credentials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #e4e4e4}
.credentials-grid>div{display:flex;gap:20px;align-items:center;min-width:0;padding:30px 20px;border-right:1px solid #e4e4e4}
.credentials-grid>div:first-child{padding-left:0}.credentials-grid>div:last-child{padding-right:0;border:0}
.credentials strong{font-size:1.43rem;font-weight:600;letter-spacing:-.055em;color:#171717;white-space:nowrap}
.credentials span{font-size:.8rem;color:#777;line-height:1.45}
.about-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(55px,9vw,140px);align-items:center}
.about-photo{height:660px;max-height:66vw;background:#e3d5c1;overflow:hidden;border-radius:18px}
.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center 29%}
.about-content h2{max-width:610px;margin-bottom:26px}.about-content h2 em{color:#242424}
.about-content>p:not(.eyebrow){color:#686868;max-width:540px;margin-bottom:18px}
.about-content .lead{font-size:1.15rem;color:#252525!important;font-weight:500}
.about-content .underlined{margin-top:15px}
.formation{padding:86px 0;border-top:1px solid #e7e7e7;border-bottom:1px solid #e7e7e7}
.formation-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(60px,10vw,150px)}
.formation h2{max-width:540px;font-size:clamp(2.5rem,3.6vw,3.8rem)}.formation h2 em{color:#303030}
.formation-list{border-top:1px solid #dedede}
.formation-list>div{display:grid;grid-template-columns:45px minmax(0,1fr);gap:20px;border-bottom:1px solid #dedede;padding:21px 0}
.formation-list span{font-size:.78rem;font-weight:700;color:#777;padding-top:3px}
.formation-list strong,.formation-list small{display:block}.formation-list strong{font-size:1.09rem;font-weight:600}.formation-list small{font-size:.86rem;color:#777;margin-top:3px}
.section-head{max-width:780px;margin:0 auto 62px;text-align:center}
.section-head h2{margin-bottom:21px}.section-head>p:last-child{color:#777;font-size:1.04rem;max-width:640px;margin-inline:auto}
.services{background:#080808;color:white}
.services .section-head h2 em{color:white}.services .section-head>p:last-child{color:#a9a9a9}
.services .eyebrow{color:#aaa}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-card,.service-card.feature,.service-card.feature:nth-child(2){grid-column:auto;min-height:257px;padding:31px;background:#191919;border:1px solid #212121;border-radius:27px;display:flex;flex-direction:column;align-items:flex-start;min-width:0;transition:transform .22s,background .22s}
.service-card:hover{transform:translateY(-4px);background:#222}
.service-num{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:#2d2d2d;color:white;font-size:.71rem;font-weight:700;letter-spacing:.03em;padding:5px;text-align:center;line-height:1.2}
.service-card h3,.service-card.feature h3{font-size:clamp(1.25rem,1.8vw,1.65rem);font-weight:500;letter-spacing:-.035em;line-height:1.25;margin:auto 0 10px}
.service-card p{font-size:.92rem;color:#ababab;line-height:1.58;max-width:450px}
.plans{background-color:#fff}
.plans-head{max-width:760px}.plans-head h2 em{color:#242424}
.plan-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:1030px;margin-inline:auto}
.plan-types article{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid #dedede;border-radius:24px;padding:38px;box-shadow:0 10px 45px #00000005}
.plan-types .plan-premium{background:#191919;color:white;border-color:#191919}
.plan-label{font-size:.72rem;letter-spacing:.15em;font-weight:700;color:#777}.plan-premium .plan-label{color:#aaa}
.plan-types h3{font-size:clamp(1.75rem,2.4vw,2.5rem);font-weight:500;max-width:440px;margin:23px 0 13px}
.plan-types p{color:#707070;max-width:440px}.plan-premium p{color:#bbb}
.plan-types ul{margin:24px 0 28px;padding-left:18px}.plan-types li{font-size:.9rem;line-height:1.55;padding:4px 0}
.plan-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;align-self:flex-start;margin-top:auto;padding:12px 20px;border-radius:99px;background:#1b1b1b;color:white;font-size:.85rem;font-weight:600}
.plan-premium .plan-cta{background:white;color:#111}.plan-cta:hover{opacity:.8}
.price-panel{max-width:1030px;margin:22px auto 0;background:#fff;border:1px solid #dedede;border-radius:24px;padding:34px 38px}
.price-head{display:flex;justify-content:space-between;align-items:end;gap:25px;border-bottom:1px solid #dedede;padding-bottom:23px}
.price-head .eyebrow{margin-bottom:7px}.price-head h3{font-size:1.55rem}.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tabs button{min-height:44px;border:1px solid #ccc;border-radius:99px;padding:9px 16px;background:#fff;color:#222;font-size:.84rem;font-weight:600;cursor:pointer}
.tabs button[aria-selected="true"]{background:#191919;color:white;border-color:#191919}
.prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:27px 0 19px}.prices[hidden]{display:none}
.prices>div{min-width:0;padding:8px 24px;border-right:1px solid #ddd}.prices>div:first-child{padding-left:0}.prices>div:last-child{border:0}
.prices span,.prices small{display:block;font-size:.82rem;color:#777}.prices strong{display:block;font-size:clamp(1.6rem,2.8vw,2.5rem);font-weight:500;letter-spacing:-.05em;margin:4px 0}
.price-note{border-top:1px solid #dedede;padding-top:18px;color:#777;font-size:.81rem}
.process{background-color:#fff;padding-top:128px;padding-bottom:128px}
.process-intro{text-align:center;max-width:760px;margin-bottom:52px}.process-intro h2{margin-bottom:17px}
.process-intro h2 em{color:#222}.process-intro>p:not(.eyebrow){color:#777;font-size:1.03rem;max-width:570px;margin-inline:auto}
.process-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:26px}
.button-dark{background:#171717;color:white}.button-ghost{background:white;color:#171717;border-color:#d4d4d4}
.process-stage{position:relative;width:min(1260px,calc(100% - 44px));height:clamp(510px,48vw,660px);margin:0 auto;border-radius:22px;overflow:hidden;background:radial-gradient(circle at 77% 17%,#737574 0%,transparent 38%),linear-gradient(135deg,#dadbd9 0%,#747775 48%,#252826 100%);color:white;box-shadow:0 21px 45px #0002}
.process-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(10,15,12,.73),transparent 64%)}
.process-slide{position:absolute;z-index:1;left:clamp(28px,5vw,70px);right:clamp(28px,5vw,70px);bottom:clamp(100px,9vw,125px);display:none;max-width:570px}
.process-slide.is-active{display:block}.process-week{font-size:.76rem;font-weight:700;letter-spacing:.16em}
.process-slide h3{font-size:clamp(2rem,4vw,3.4rem);font-weight:500;margin:14px 0 11px}.process-slide p{font-size:1rem;max-width:470px;color:#f1f1f1}
.process-controls{position:absolute;z-index:2;left:clamp(28px,5vw,70px);right:clamp(28px,5vw,70px);bottom:34px;display:flex;justify-content:space-between;align-items:center}
.process-arrow{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid #ffffff8c;background:#ffffff26;color:white;font-size:1.35rem;cursor:pointer}
.process-arrow:hover{background:#ffffff4d}.process-dots{display:flex;gap:8px;align-items:center}.process-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#ffffff80;cursor:pointer}
.process-dots button[aria-current="true"]{background:white;transform:scale(1.12)}
.modalities{background-color:#fff}.modalities-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(55px,9vw,130px);align-items:center}
.modalities-copy{grid-column:2;grid-row:1}.modalities-photo{grid-column:1;grid-row:1;height:630px;border-radius:20px;overflow:hidden;background:#e2d7c6}
.modalities-photo img{width:100%;height:100%;object-fit:cover;object-position:center 34%}
.modalities-copy h2{max-width:630px}.modalities-copy h2 em{color:#242424}.modalities-copy>p:not(.eyebrow){color:#777;max-width:520px;margin:23px 0 30px}
.modality-list{border-top:1px solid #ddd}.modality-list>div{display:grid;grid-template-columns:34px minmax(0,1fr);gap:18px;border-bottom:1px solid #ddd;padding:18px 0}
.modality-list>div>span{font-size:.75rem;color:#777;font-weight:700;padding-top:4px}.modality-list h3{font-size:1.16rem;font-weight:600;margin-bottom:3px}.modality-list p{font-size:.9rem;color:#777}
.contact{background-color:#f8f8f8}
.contact-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(55px,10vw,140px);align-items:start}
.contact-copy{padding-top:22px}.contact-copy h2 em{color:#242424}.contact-copy>p:not(.eyebrow){max-width:470px;color:#737373;margin-top:25px}
.contact-links{display:flex;flex-direction:column;align-items:start;gap:9px;margin-top:40px;font-weight:500}.contact-links a{max-width:100%;overflow-wrap:anywhere}
.contact-form{min-width:0;background:#191919;color:white;border-radius:23px;padding:40px}
.form-kicker{font-size:.73rem;letter-spacing:.14em;color:#aaa;font-weight:700}.contact-form h3{font-size:2.05rem;margin:6px 0 25px}
.contact-form label{display:block;font-size:.84rem;font-weight:600;margin:15px 0 6px}.contact-form label span{font-weight:400;color:#aaa}
.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;min-width:0;min-height:48px;border:1px solid #535353;border-radius:8px;padding:10px 13px;background:#252525;color:white;font-size:16px}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#a7a7a7}.contact-form textarea{resize:vertical}.contact-form select option{background:#252525;color:white}
.button-form{width:100%;background:white;color:#111;margin-top:23px}.button-form:hover{background:#ddd}.form-note{font-size:.77rem;color:#aaa;margin-top:11px}
.footer{background:#fff;color:#222;border-top:1px solid #e3e3e3}.footer-main{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:50px;padding:63px 0}
.footer .brand-name{color:#181818}.footer .brand-subtitle{color:#777}.footer-main p{max-width:300px;color:#777;font-size:.88rem;margin-top:21px}
.footer h3{font-size:.75rem;font-weight:600;margin-bottom:16px}.footer-main>div:not(:first-child) a{display:block;color:#777;font-size:.87rem;margin:8px 0;overflow-wrap:anywhere}
.footer a:hover{color:#111}.footer-bottom{display:flex;justify-content:space-between;gap:15px;padding:18px 0;border-top:1px solid #e6e6e6;color:#888;font-size:.78rem}
.floating-wa{position:fixed;z-index:55;right:calc(18px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));display:grid;place-items:center;width:53px;height:53px;border-radius:50%;background:#181818;color:white;box-shadow:0 8px 22px #0004}.floating-wa svg{width:27px;height:27px}
@media(max-width:950px){.hero-copy{width:min(550px,calc(100% - 48px));padding-top:180px}.hero-photo{width:60%}.hero h1{font-size:clamp(3.2rem,6vw,5rem)}.credentials-grid>div{gap:11px}.credentials strong{font-size:1.2rem}.credentials span{font-size:.73rem}.about-layout,.modalities-layout,.contact-layout{gap:45px}.about-photo,.modalities-photo{height:535px}.service-card,.service-card.feature,.service-card.feature:nth-child(2){padding:24px}.plan-types article{padding:30px}}
@media(max-width:700px){html{scroll-padding-top:73px}.wrap{width:calc(100% - 40px)}.section{padding:78px 0}.header-inner{height:70px}.brand-name{font-size:1.15rem}.brand-subtitle{font-size:.48rem}.nav{padding:95px 25px 30px}.nav a{font-size:clamp(2rem,8vw,3.8rem)}.hero-layout.wrap{height:clamp(680px,100svh,850px);min-height:680px}.hero-photo{inset:0;width:100%}.hero-photo img{object-position:center 22%}.hero-layout::after{background:linear-gradient(180deg,rgba(19,26,21,.68) 0%,rgba(19,26,21,.09) 22%,transparent 34%,rgba(19,26,21,.14) 48%,rgba(19,26,21,.9) 76%,#171b17 100%)}.hero-copy{position:absolute;left:20px;right:20px;bottom:38px;width:auto;margin:0;padding:0}.hero h1{font-size:clamp(2.65rem,9vw,4.3rem)}.hero-lede{font-size:.98rem;line-height:1.55;margin-top:14px}.hero-actions,.hero-signature{display:none}.hero-mobile-actions{display:flex;flex-direction:column;align-items:stretch;gap:20px;padding:18px 0 40px}.hero-mobile-actions .button{width:100%}.hero-mobile-actions .underlined{align-self:flex-start}.credentials-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.credentials-grid>div{flex-direction:column;align-items:start;padding:18px 10px}.credentials-grid>div:first-child{padding-left:0}.credentials strong{font-size:1.1rem;white-space:normal}.credentials span{font-size:.69rem}.about-layout,.formation-layout,.modalities-layout,.contact-layout{display:flex;flex-direction:column;gap:33px}.about-content,.modalities-copy{order:0}.about-photo,.modalities-photo{order:1;width:100%;height:clamp(430px,116vw,650px);max-height:none}.formation{padding:66px 0}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card,.service-card.feature,.service-card.feature:nth-child(2){min-height:245px}.plan-types{gap:10px}.price-head{display:block}.tabs{margin-top:19px}.contact-copy{padding:0}.contact-links{margin-top:25px}.contact-form{width:100%}.footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{flex-wrap:wrap}.process{padding-top:92px;padding-bottom:92px}.process-stage{height:540px}}
@media(max-width:520px){.wrap{width:calc(100% - 32px)}.section{padding:63px 0}.eyebrow{font-size:.66rem;letter-spacing:.15em;margin-bottom:17px}.brand-name{font-size:1.06rem}.brand-subtitle{font-size:.43rem;letter-spacing:.12em}.menu-label{font-size:.68rem}.hero-layout.wrap{min-height:650px;height:clamp(650px,100svh,770px)}.hero-copy{left:16px;right:16px;bottom:33px}.hero h1{font-size:clamp(2.45rem,10vw,3.3rem)}.hero-lede{font-size:.94rem}.hero-mobile-actions{gap:18px;padding:15px 0 34px}.credentials-grid{display:block}.credentials-grid>div,.credentials-grid>div:first-child,.credentials-grid>div:last-child{flex-direction:row;align-items:center;gap:15px;padding:12px 0;border-right:0;border-bottom:1px solid #e4e4e4}.credentials-grid>div:last-child{border-bottom:0}.credentials strong{min-width:110px;font-size:1.05rem}.credentials span{font-size:.74rem}.about-photo{height:clamp(440px,125vw,620px)}h2{font-size:clamp(2.35rem,10vw,3.2rem)}.about-content .lead{font-size:1.04rem}.formation{padding:58px 0}.formation-list>div{grid-template-columns:30px 1fr}.section-head{margin-bottom:36px}.service-grid{grid-template-columns:1fr;gap:11px}.service-card,.service-card.feature,.service-card.feature:nth-child(2){min-height:0;padding:23px}.service-card h3,.service-card.feature h3{font-size:1.5rem;margin:19px 0 8px}.plan-types{grid-template-columns:1fr}.plan-types article{padding:27px}.plan-types h3{margin-top:19px}.price-panel{padding:23px 19px}.price-head h3{font-size:1.45rem}.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.tabs button{min-width:0;padding:8px 3px;font-size:.78rem;white-space:normal;overflow-wrap:anywhere}.prices{grid-template-columns:1fr;padding:12px 0}.prices>div,.prices>div:first-child{padding:11px 0;border-right:0;border-bottom:1px solid #ddd}.prices>div:last-child{border:0}.process{padding-top:77px;padding-bottom:78px}.process-intro{margin-bottom:31px}.process-actions{gap:9px}.process-actions .button{width:100%}.process-stage{height:445px;width:calc(100% - 24px);border-radius:17px}.process-slide{left:24px;right:24px;bottom:93px}.process-slide h3{font-size:2.05rem}.process-slide p{font-size:.91rem}.process-controls{left:24px;right:24px;bottom:22px}.process-arrow{width:42px;height:42px}.modalities-photo{height:clamp(400px,108vw,540px)}.contact-form{padding:26px 20px}.contact-form h3{font-size:1.85rem}.footer-main{display:flex;flex-direction:column;gap:25px;padding:45px 0}.footer-main>div:not(:first-child) a{margin:5px 0}.footer-bottom{display:block}.footer-bottom a{display:block;margin-top:7px}.floating-wa{width:50px;height:50px}}
@media(max-width:360px){.brand-name{font-size:.97rem}.brand-subtitle{font-size:.4rem;letter-spacing:.09em}.hero h1{font-size:2.3rem}.hero-lede{font-size:.89rem}.button{padding-inline:15px;gap:10px}.tabs{grid-template-columns:1fr}.credentials strong{min-width:95px}.process-stage{height:480px}.process-slide h3{font-size:1.85rem}}
/* Mobile layout polish. Desktop rules above remain untouched. */
@media(max-width:700px){
  html,body{width:100%;max-width:100%;overflow-x:clip}
  .wrap,.hero-copy,.about-layout,.formation-layout,.modalities-layout,.contact-layout,.section-head,.price-panel,.contact-form{min-width:0;max-width:100%}
  .credentials,.about,.formation,.plans,.process,.modalities,.contact{background-image:none}
  .header-inner{min-width:0;gap:12px}
  .brand{min-width:0;flex-shrink:1}
  .brand-name{white-space:normal;line-height:1.05}
  .brand-subtitle{font-size:.68rem;line-height:1.3;letter-spacing:.06em}
  .menu-toggle{flex-shrink:0;min-height:44px}
  .nav{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
  .nav a{max-width:100%;overflow-wrap:normal}
  .hero-copy{min-width:0}
  .hero h1{max-width:100%;line-height:1.09;text-wrap:balance}
  .hero-lede{max-width:36rem;font-size:1rem;line-height:1.5}
  .hero-mobile-actions{min-width:0}
  .hero-mobile-actions .underlined{line-height:1.45}
  .button,.plan-cta{max-width:100%;overflow-wrap:break-word}
  .button span,.plan-cta span,.underlined span{flex-shrink:0}
  h2{max-width:100%;line-height:1.1;text-wrap:balance;overflow-wrap:normal}
  .formation h2{font-size:clamp(2.25rem,6.5vw,3rem);line-height:1.1}
  .about-layout,.formation-layout,.modalities-layout,.contact-layout{align-items:stretch}
  .about-photo,.modalities-photo{flex:none;min-width:0}
  .about-photo img,.modalities-photo img,.hero-photo img{display:block;width:100%;height:100%;object-fit:cover}
  .about-content>p:not(.eyebrow),.modalities-copy>p:not(.eyebrow),.contact-copy>p:not(.eyebrow),.section-head>p:last-child,.process-intro>p:not(.eyebrow){font-size:1rem;line-height:1.65}
  .credentials-grid>div{min-width:0}
  .credentials span{font-size:.81rem}
  .service-card{overflow:hidden}
  .service-card.feature .service-num{display:flex;align-items:center;justify-content:center;width:auto;max-width:100%;min-height:50px;height:auto;padding:9px 13px;font-size:.72rem;line-height:1.3;overflow-wrap:break-word}
  .plan-types article,.price-panel{min-width:0}
  .plan-cta{min-height:48px;line-height:1.4}
  .prices strong{white-space:normal}
  .process-slide{min-width:0}
  .process-slide h3{overflow-wrap:normal;line-height:1.12}
  .contact-form input,.contact-form select,.contact-form textarea{max-width:100%}
  .footer-main>div{min-width:0}
}
@media(max-width:520px){
  .wrap{width:calc(100% - 36px)}
  .eyebrow,.plan-label,.form-kicker{font-size:.75rem;line-height:1.4;letter-spacing:.1em}
  .brand-name{font-size:1.1rem}
  .brand-subtitle{font-size:.64rem;letter-spacing:.035em}
  .menu-label{font-size:.75rem}
  .hero-copy{left:18px;right:18px;bottom:32px}
  .hero h1{font-size:clamp(2.22rem,9.2vw,3.15rem)}
  .hero-lede{font-size:1rem;line-height:1.45}
  .hero-photo img{object-position:45% 23%}
  .hero-mobile-actions{padding:20px 0 38px}
  .credentials-grid>div,.credentials-grid>div:first-child,.credentials-grid>div:last-child{gap:12px;padding:14px 0}
  .credentials strong{min-width:0;flex:0 0 43%;font-size:1.1rem;line-height:1.25}
  .credentials span{min-width:0;font-size:.88rem;line-height:1.4}
  h2{font-size:clamp(2.1rem,8.4vw,2.85rem)}
  .formation h2{font-size:clamp(2.1rem,8.4vw,2.85rem)}
  .formation-list>div{gap:12px}
  .formation-list strong{font-size:1rem;line-height:1.4}
  .formation-list small{font-size:.86rem;line-height:1.45}
  .section-head{margin-bottom:34px}
  .section-head h2{margin-bottom:16px}
  .service-card,.service-card.feature,.service-card.feature:nth-child(2){border-radius:20px;padding:23px 21px}
  .service-card h3,.service-card.feature h3{font-size:1.42rem;line-height:1.2}
  .service-card p,.plan-types p,.plan-types li,.process-slide p,.modality-list p{font-size:.98rem;line-height:1.55}
  .plan-types article{padding:25px 21px;border-radius:20px}
  .plan-types h3{font-size:1.75rem;line-height:1.18}
  .plan-types ul{margin:20px 0 25px}
  .plan-cta{width:100%;align-self:stretch;justify-content:space-between;padding:13px 17px}
  .price-panel{padding:24px 20px;border-radius:20px}
  .price-head h3{font-size:1.46rem;line-height:1.24}
  .tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .tabs button{font-size:.88rem;min-height:46px;padding:9px 8px;overflow-wrap:normal}
  .tabs button:last-child{grid-column:1/-1}
  .prices span,.prices small,.price-note{font-size:.87rem;line-height:1.5}
  .prices strong{font-size:2rem}
  .process-stage{width:calc(100% - 28px);height:470px}
  .process-slide{left:21px;right:21px;bottom:100px}
  .process-slide h3{font-size:clamp(1.8rem,7vw,2.1rem)}
  .process-week{font-size:.75rem;line-height:1.4;letter-spacing:.1em}
  .process-controls{left:20px;right:20px;bottom:22px}
  .process-arrow{min-width:44px;min-height:44px}
  .modality-list>div{gap:12px}
  .contact-form{padding:26px 20px;border-radius:20px}
  .contact-form h3{font-size:1.8rem}
  .contact-form label{font-size:.9rem}
  .form-note{font-size:.84rem;line-height:1.5}
  .footer h3{font-size:.82rem}
  .footer-main>div:not(:first-child) a{font-size:.94rem}
}
@media(max-width:360px){
  .brand-name{font-size:1.03rem}
  .brand-subtitle{font-size:.58rem;letter-spacing:0}
  .menu-toggle{gap:8px;padding-left:4px}
  .hero h1{font-size:2.12rem}
  .hero-lede{font-size:.96rem}
  .hero-layout.wrap{min-height:660px;height:max(660px,100svh)}
  .credentials strong{flex-basis:40%;font-size:1.01rem}
  .credentials span{font-size:.83rem}
  .tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .process-stage{height:500px}
  .process-slide h3{font-size:1.77rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Formação, áreas de cuidado e formatos de atendimento */
.credentials-grid>div{flex-direction:column;align-items:flex-start;gap:8px}
.credentials strong{white-space:normal;letter-spacing:-.035em}
.credentials span{font-size:.86rem;line-height:1.5}
.care-groups{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:30px}
.care-group{min-width:0}
.care-group-title{font-size:1.05rem;font-weight:500;color:#ddd;padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid #333}
.care-group:first-child .service-grid{grid-template-columns:1fr}
.care-group:last-child .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.care-groups .service-card{min-height:240px;padding:26px}
.care-groups .service-card h3{margin:25px 0 10px}
.additional-care{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:1030px;margin:20px auto 0}
.additional-care article{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:34px 38px;border:1px solid #dedede;border-radius:24px;background:#fff}
.additional-care .family-card{background:#f4f4f4}
.additional-care h3{font-size:clamp(1.7rem,2.4vw,2.3rem);font-weight:500;line-height:1.15;letter-spacing:-.04em}
.additional-care p{color:#707070;line-height:1.6;margin-bottom:8px}
.consult-link{display:inline-flex;align-items:center;gap:12px;font-size:1.35rem;font-weight:500;padding:10px 0;text-decoration:underline;text-underline-offset:5px}
@media(max-width:950px){.care-groups{grid-template-columns:1fr;gap:35px}.care-group:first-child .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.additional-care article{padding:28px}.credentials strong{font-size:1.1rem}.credentials-grid>div{gap:8px}.care-groups .service-card{min-height:220px}}
@media(max-width:520px){.care-group:first-child .service-grid,.care-group:last-child .service-grid,.additional-care{grid-template-columns:1fr}.care-groups .service-card{min-height:0;padding:23px 21px}.additional-care article{padding:25px 21px;border-radius:20px}.credentials-grid>div,.credentials-grid>div:first-child,.credentials-grid>div:last-child{flex-direction:column;align-items:flex-start;gap:5px;padding:17px 0}.credentials strong{flex:auto}.credentials span{font-size:.88rem}}

/* Quatro credenciais profissionais */
.credentials-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(min-width:521px) and (max-width:950px){.credentials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.credentials-grid>div{padding:22px 20px}.credentials-grid>div:nth-child(odd){padding-left:0}.credentials-grid>div:nth-child(even){border-right:0}.credentials-grid>div:nth-child(-n+2){border-bottom:1px solid #e4e4e4}}

/* Fotografia editorial nas etapas do atendimento */
.process-stage{background:#101010;box-shadow:none}
.process-stage::after{display:none}
.process-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1)}
.process-slide{max-width:48%}
@media(max-width:700px){
 .process-stage{height:570px}
 .process-background{height:260px;object-position:right center}
 .process-slide{max-width:none;bottom:100px}
 .process-slide h3{font-size:clamp(1.8rem,7vw,2.1rem)}
}
@media(max-width:360px){.process-stage{height:590px}.process-background{height:240px}}

/* Dois tópicos integrados de cuidado */
.care-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1100px;margin-inline:auto}
.care-topics .service-card{min-height:0;padding:38px;gap:0}
.care-topics .service-card h3{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.2;margin:28px 0 18px;max-width:460px}
.care-topics .service-card p{font-size:1rem;line-height:1.65;margin:0}
@media(max-width:700px){.care-topics{grid-template-columns:1fr;gap:16px}.care-topics .service-card{padding:27px 24px}.care-topics .service-card h3{font-size:1.55rem;margin:23px 0 14px}}

/* Fixed responsive navigation */
html{scroll-padding-top:96px}
.site-header,.site-header.scrolled,.site-header.menu-open{position:fixed;inset:0 0 auto;z-index:100;background:#121212;color:#fff;box-shadow:0 1px 0 #ffffff20;backdrop-filter:none;-webkit-backdrop-filter:none}
.header-inner{height:80px;gap:20px;width:min(1240px,calc(100% - 48px))}
.site-header .brand{z-index:auto;margin-right:auto}
.site-header .brand-dot{color:#fff}
.nav,.nav.open{position:static;inset:auto;z-index:auto;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:20px;padding:0;background:transparent;opacity:1;visibility:visible;pointer-events:auto;overflow:visible;transition:none}
.nav a{font-size:.85rem;font-weight:500;line-height:1.4;letter-spacing:0;white-space:nowrap;padding:12px 0}
.nav a:hover{color:#ccc}
.menu-toggle{display:none}
.header-instagram{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;flex-shrink:0;font-size:.8rem;border-left:1px solid #ffffff35;padding-left:18px}
.header-instagram svg{flex:none;width:22px;height:22px}
body.menu-open{overflow:auto}
.floating-wa{z-index:90;display:flex;align-items:center;justify-content:center;width:56px;height:56px;padding:13px;background:#171717;color:#fff;border:1px solid #ffffff70;box-shadow:0 4px 18px #0003;line-height:1}
.floating-wa svg{display:block;width:30px;height:30px;max-width:none;flex:none;overflow:visible}
@media(max-width:1050px){
 html{scroll-padding-top:88px}
 .header-inner{height:72px;width:calc(100% - 32px);gap:12px}
 .header-instagram{padding:0;border:0}
 .header-instagram span{display:none}
 .menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;gap:8px}
 .menu-label{font-size:.7rem}
 .nav,.nav.open{position:absolute;inset:100% 0 auto;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:12px 24px 20px;background:#121212;border-top:1px solid #ffffff20;box-shadow:0 14px 24px #0002;max-height:calc(100dvh - 72px);overflow-y:auto;opacity:0;visibility:hidden;pointer-events:none}
 .nav.open{opacity:1;visibility:visible;pointer-events:auto}
 .nav a{font-size:1.05rem;line-height:1.4;letter-spacing:0;white-space:normal;padding:12px 0;border-bottom:1px solid #ffffff15}
 .nav a:last-child{border:0}
 .site-header .brand-name{font-size:1.12rem}
 .site-header .brand-subtitle{font-size:.46rem;letter-spacing:.1em}
}
@media(max-width:380px){.header-inner{gap:6px}.menu-label{display:none}.site-header .brand-name{font-size:1.02rem}.site-header .brand-subtitle{font-size:.4rem}.floating-wa{width:52px;height:52px;padding:11px}}

/* Cartões individuais em duas seções sucessivas */
.care-section{max-width:1100px;margin:0 auto}
.care-section+.care-section{margin-top:64px;padding-top:44px;border-top:1px solid #333}
.care-section-title{font-size:clamp(1.3rem,2.4vw,1.8rem);font-weight:500;letter-spacing:-.025em;margin-bottom:24px;color:#fff}
.care-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.care-section .service-card{min-height:235px;padding:30px}
.care-section .service-card h3{font-size:clamp(1.35rem,2vw,1.7rem);margin:25px 0 12px}
@media(max-width:600px){.care-section-grid{grid-template-columns:1fr;gap:14px}.care-section+.care-section{margin-top:40px;padding-top:32px}.care-section .service-card{min-height:0;padding:25px 23px}}

/* Fundo laranja real, com a fotografia integrada e tons por etapa. */
.process-stage{--process-base:#c44b25;background:var(--process-base);isolation:isolate;transition:background-color .6s ease}
.process-stage[data-step="1"]{--process-base:#df5328}
.process-stage[data-step="2"]{--process-base:#c86229}
.process-stage[data-step="3"]{--process-base:#d4492c}
.process-background{z-index:0;filter:none;mix-blend-mode:normal;opacity:1}
.process-stage::before{display:none}
.process-stage::after{display:block;content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(80,24,6,.24),transparent 70%)}
.process-slide{z-index:2}
.process-controls{z-index:3}
@media(max-width:700px){
 .process-stage{height:auto;min-height:500px;width:calc(100% - 28px);padding:clamp(215px,66vw,320px) 24px 98px}
 .process-background{inset:0 0 auto;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center top;mask-image:linear-gradient(to bottom,#000 65%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 65%,transparent 100%)}
 .process-slide{position:relative;left:auto;right:auto;bottom:auto;max-width:none;width:100%}
 .process-slide h3{font-size:clamp(1.7rem,7vw,2.2rem)}
 .process-slide p{font-size:.95rem;line-height:1.6}
 .process-controls{left:24px;right:24px;bottom:25px}
}
@media(prefers-reduced-motion:reduce){.process-stage{transition:none}}

.process-stage::after{background:linear-gradient(90deg,rgba(65,20,4,.16),transparent 70%)}

/* Carrossel mobile com a mesma fotografia de fundo da versão web. */
@media(max-width:700px){
 .process-stage{height:540px;min-height:0;padding:0}
 .process-background{inset:0;width:100%;height:100%;object-fit:cover;object-position:80% center;mask-image:none;-webkit-mask-image:none}
 .process-stage::after{background:linear-gradient(0deg,rgba(74,23,6,.8),rgba(74,23,6,.3) 48%,transparent 78%)}
 .process-slide{position:absolute;left:24px;right:24px;bottom:100px;width:auto;max-width:none}
}
@media(max-width:360px){.process-stage{height:560px}}

.formation-photo{display:block;width:100%;max-width:400px;height:auto;margin-top:30px;border-radius:18px}
@media(max-width:700px){.formation-photo{max-width:100%;margin-top:25px}}

/* Retrato alinhado à altura da lista de formação. */
.formation-layout{align-items:stretch;gap:clamp(40px,6vw,85px)}
.formation-intro{display:flex;flex-direction:column;min-height:0}
.formation-intro h2{font-size:clamp(2rem,3.3vw,3.1rem);margin-bottom:0}
.formation-photo-frame{position:relative;flex:1;min-height:180px;margin-top:25px;border-radius:18px;overflow:hidden}
.formation-photo{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;margin:0;border-radius:0;object-fit:cover;object-position:center 38%}
/* Fotografia discreta atrás da introdução de Áreas de cuidado. */
.services .section-head{position:relative;isolation:isolate;overflow:hidden;padding:70px 24px;border-radius:22px}
.services .section-head::before{content:"";position:absolute;inset:0;z-index:-1;background:url("assets/mayana-cuidado-0823.jpg") center 35%/cover no-repeat;opacity:.17;pointer-events:none}
.services .section-head::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(18,18,18,.4),transparent 50%,rgba(18,18,18,.4));pointer-events:none}
@media(max-width:700px){
 .formation-photo-frame{flex:none;width:100%;height:400px;min-height:0;margin-top:25px}
 .formation-photo{object-position:center 35%}
 .services .section-head{padding:55px 20px}
 .services .section-head::before{background-position:center 30%;opacity:.14}
}

/* Fotografia contínua em toda a seção de cuidado. */
.services{position:relative;isolation:isolate;overflow:hidden;background:#111}
.services::before{content:"";position:absolute;inset:0;z-index:-2;background:url("assets/mayana-cuidado-0823.jpg") center 35%/cover no-repeat;opacity:.27;pointer-events:none}
.services::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,10,10,.3),rgba(10,10,10,.55));pointer-events:none}
.services .section-head{isolation:auto;overflow:visible;padding:0;border-radius:0}
.services .section-head::before,.services .section-head::after{display:none}
.services .service-card{background:rgba(24,24,24,.76);border:1px solid rgba(255,255,255,.12)}
@media(max-width:700px){.services::before{background-position:60% center;opacity:.22}}

.formation-photo{object-position:center 9%}

/* Marca d’água contínua na seção de planos. */
.plans{position:relative;isolation:isolate;overflow:hidden;background:#fff}
.plans::before{content:"";position:absolute;inset:0;z-index:-2;background:url("assets/mayana-planos-0787.jpg") center 35%/cover no-repeat;opacity:.2;pointer-events:none}
.plans::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.45));pointer-events:none}
.plans .plan-types article{background:rgba(255,255,255,.92)}
.plans .plan-types .plan-premium{background:rgba(25,25,25,.94)}
.plans .price-panel{background:rgba(255,255,255,.94)}
@media(max-width:700px){.plans::before{background-position:55% center;opacity:.17}}

/* Foto mais visível no fundo dos planos. */
.plans::before{opacity:.48;background-position:center 35%}
.plans::after{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.2))}
.plans-head>p:not(.eyebrow){color:#303a32}
@media(max-width:700px){.plans::before{opacity:.4;background-position:55% center}}

/* Foto de fundo na seção de contato. */
.contact{position:relative;isolation:isolate;overflow:hidden;background:#f8f8f8}
.contact::before{content:"";position:absolute;inset:0;z-index:-2;background:url("assets/mayana-contato-0926.jpg") left 42%/auto 100% no-repeat;opacity:.42;pointer-events:none}
.contact::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,255,255,.3),rgba(255,255,255,.1) 45%,rgba(248,248,248,.9) 70%);pointer-events:none}
.contact-copy>p:not(.eyebrow){color:#303a32}
@media(max-width:700px){.contact::before{background-size:100% auto;background-position:center top;opacity:.36}.contact::after{background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(248,248,248,.28) 38%,#f8f8f8 65%)}.contact-copy{min-height:470px}}

/* Retrato de contato abaixo dos links, na área indicada. */
.contact::before,.contact::after{display:none}
.contact-copy{min-height:0}
.contact-portrait{display:block;width:250px;max-width:75%;height:300px;margin:26px 0 0 auto;object-fit:cover;object-position:center 42%;border-radius:18px}
@media(max-width:700px){.contact-copy{min-height:0}.contact-portrait{width:240px;height:290px;margin-top:24px}}

/* Retratos proporcionais e alinhados ao conteúdo. */
.plans{background:#f7f7f4}
.plans::before,.plans::after{display:none}
.plans-head{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:60px;max-width:100%;text-align:left}
.plans-intro-copy>p:last-child{max-width:580px;color:#5f665f;line-height:1.65}
.plans-portrait{display:block;width:280px;height:360px;object-fit:cover;object-position:center 25%;border-radius:22px}
.contact-details{display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:start;gap:20px;margin-top:40px}
.contact-details .contact-links{margin-top:0;font-size:.9rem}
.contact-details .contact-portrait{width:180px;max-width:100%;height:220px;margin:0;object-position:center 42%}
@media(max-width:700px){.plans-head{grid-template-columns:1fr;gap:25px;text-align:center}.plans-intro-copy>p:last-child{margin-inline:auto}.plans-portrait{width:240px;height:310px;margin-inline:auto}.contact-details{grid-template-columns:minmax(0,1fr) 150px;gap:15px;margin-top:25px}.contact-details .contact-portrait{width:150px;height:190px}}
@media(max-width:380px){.contact-details{grid-template-columns:minmax(0,1fr) 125px;gap:12px}.contact-details .contact-links{font-size:.8rem}.contact-details .contact-portrait{width:125px;height:165px}}

/* Planos com a mesma linguagem fotográfica de Áreas de cuidado. */
.plans{background:#242420;color:#fff}
.plans::before{display:block;inset:0;background:url("assets/mayana-planos-0925.jpg") right top/auto 900px no-repeat;opacity:.58}
.plans::after{display:block;inset:0;background:linear-gradient(90deg,rgba(20,20,18,.92),rgba(20,20,18,.56) 45%,rgba(20,20,18,.12) 80%),linear-gradient(180deg,transparent 450px,#242420 950px)}
.plans-head{display:flex;align-items:center;min-height:340px;text-align:left;margin-bottom:45px}
.plans-intro-copy{max-width:620px}
.plans-head h2,.plans-head h2 em{color:#fff}
.plans-intro-copy>p:last-child{color:#deded7;max-width:500px}
.plans .plan-types article{background:rgba(24,24,24,.8);color:#fff;border:1px solid rgba(255,255,255,.18)}
.plans .plan-types article>p,.plans .plan-types li{color:#d6d6d0}
.plans .plan-types .plan-premium{background:rgba(24,24,24,.9)}
.plans .plan-types .plan-cta{background:#fff;color:#191919}
.plans .price-panel,.plans .additional-care article{color:#191919;background:rgba(255,255,255,.94)}
@media(max-width:700px){.plans::before{background-size:auto 700px;background-position:70% top;opacity:.48}.plans::after{background:linear-gradient(90deg,rgba(20,20,18,.76),rgba(20,20,18,.32)),linear-gradient(180deg,transparent 330px,#242420 700px)}.plans-head{min-height:340px;text-align:left}.plans-intro-copy{max-width:100%}.plans-intro-copy>p:last-child{margin-inline:0}.plans-head h2{max-width:430px}}

/* Paleta branca dos planos, preservando o retrato ao fundo. */
.plans{background:#fff;color:#191919}
.plans::before{opacity:.32}
.plans::after{background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.65) 45%,rgba(255,255,255,.12) 80%),linear-gradient(180deg,transparent 450px,#fff 950px)}
.plans-head h2,.plans-head h2 em{color:#242424}
.plans-intro-copy>p:last-child{color:#5f665f}
.plans .plan-types article{background:rgba(255,255,255,.9);color:#191919;border:1px solid #deded8}
.plans .plan-types article>p,.plans .plan-types li{color:#666}
.plans .plan-types .plan-cta{background:#191919;color:#fff}
.plans .plan-types .plan-premium{background:rgba(25,25,25,.94);color:#fff}
.plans .plan-types .plan-premium>p,.plans .plan-premium li{color:#d6d6d0}
.plans .plan-types .plan-premium .plan-cta{background:#fff;color:#191919}
@media(max-width:700px){.plans::before{opacity:.28}.plans::after{background:linear-gradient(90deg,rgba(255,255,255,.8),rgba(255,255,255,.28)),linear-gradient(180deg,transparent 330px,#fff 700px)}}

/* Foto entre a linha do telefone e a base do formulário. */
.contact-layout{align-items:stretch}
.contact-copy{display:flex;flex-direction:column}
.contact-details{flex:1;align-items:stretch;min-height:260px}
.contact-portrait-frame{position:relative;min-width:0;overflow:hidden;border-radius:18px}
.contact-details .contact-portrait{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;object-fit:cover;object-position:55% 30%;border-radius:0}
@media(max-width:700px){.contact-details{flex:none;min-height:0}.contact-portrait-frame{height:260px}.contact-details .contact-portrait{width:100%;height:100%}}
@media(max-width:380px){.contact-portrait-frame{height:225px}}

/* Foto quadrada no contato e transição suave nos planos. */
.contact-details{flex:none;grid-template-columns:minmax(0,1fr) minmax(0,260px);align-items:start;min-height:0;gap:18px}
.contact-portrait-frame{width:100%;height:auto;aspect-ratio:1}
.contact-details .contact-portrait{object-position:center 32%}
.plans::before{left:auto;right:0;top:0;bottom:auto;width:55%;height:700px;background-size:100% auto;background-position:center -150px;opacity:1;mask-image:linear-gradient(90deg,transparent,#000 42%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 42%)}
.plans::after{background:linear-gradient(180deg,transparent 360px,rgba(255,255,255,.15) 440px,#fff 680px)}
.plans-head{min-height:340px}
@media(max-width:900px){.contact-details{grid-template-columns:minmax(0,1fr) 200px}}
@media(max-width:700px){.contact-details{grid-template-columns:minmax(0,1fr) 165px}.contact-portrait-frame{height:auto;aspect-ratio:1}.plans::before{width:100%;height:600px;background-size:auto 650px;background-position:right -100px;opacity:.65;mask-image:linear-gradient(90deg,transparent,#000 80%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 80%)}.plans::after{background:linear-gradient(180deg,transparent 300px,#fff 590px)}}
@media(max-width:380px){.contact-details{grid-template-columns:minmax(0,1fr) 140px}.contact-portrait-frame{height:auto}}

/* Fotografias sincronizadas às quatro etapas. */
.process-stage,.process-stage[data-step="1"],.process-stage[data-step="2"],.process-stage[data-step="3"]{--process-base:#c44b25}
.process-background{opacity:0;transition:opacity .55s ease;pointer-events:none}
.process-background.is-active{opacity:1}
@media(prefers-reduced-motion:reduce){.process-background{transition:none}}

/* Cards da trajetória: profundidade e interação por mouse, toque ou teclado. */
.formation-list{display:flex;flex-direction:column;gap:12px;border-top:0;perspective:1200px}
.formation-list>div{position:relative;padding:20px 22px;border:1px solid #dce3dc;border-radius:16px;background:linear-gradient(145deg,#fff,#f1f5ef);box-shadow:0 5px 16px rgba(24,55,44,.05);transform:perspective(1000px) rotateY(-3deg);transform-origin:center;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;cursor:pointer;touch-action:pan-y}
.formation-list>div.is-selected,.formation-list>div:focus-visible{transform:perspective(1000px) rotateY(0) translateY(-4px) scale(1.025);z-index:2;border-color:#35634f;box-shadow:0 15px 32px rgba(24,55,44,.16)}
.formation-list>div:focus-visible{outline:2px solid #35634f;outline-offset:4px}
.formation-list>div>span{color:#35634f}
@media(hover:hover) and (pointer:fine){.formation-list>div:hover{transform:perspective(1000px) rotateY(0) translateY(-4px) scale(1.025);z-index:2;border-color:#35634f;box-shadow:0 15px 32px rgba(24,55,44,.16)}}
@media(max-width:700px){.formation-list{gap:12px}.formation-list>div{padding:19px 17px;transform:perspective(1000px) rotateY(-2deg)}.formation-list>div.is-selected{transform:perspective(1000px) rotateY(0) translateY(-3px) scale(1.015)}}
@media(prefers-reduced-motion:reduce){.formation-list>div{transition:none;transform:none}.formation-list>div:hover,.formation-list>div.is-selected,.formation-list>div:focus-visible{transform:none}}

/* ScrollReveal da referência, restrito à trajetória profissional. */
.formation .trajectory-reveal{opacity:0;translate:0 28px;will-change:opacity,translate;transition:opacity 700ms cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),translate 700ms cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.formation .trajectory-reveal-left{translate:-28px 0}
.formation .trajectory-reveal-scale{scale:.97;translate:0 18px;transition:opacity 750ms cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),translate 750ms cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),scale 750ms cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}
.formation .trajectory-reveal.is-revealed{opacity:1;translate:0 0;scale:1;will-change:auto}
@media(prefers-reduced-motion:reduce){.formation .trajectory-reveal{opacity:1;translate:none;scale:1;transition:none;will-change:auto}}

/* Animação repetida ao entrar na tela pelo topo ou pela base. */
.scroll-reveal{opacity:0;translate:0 40px;transition:opacity 850ms cubic-bezier(.22,1,.36,1),translate 850ms cubic-bezier(.22,1,.36,1),scale 850ms cubic-bezier(.22,1,.36,1),transform .35s ease,box-shadow .35s ease,border-color .35s ease;transition-delay:0ms}
.scroll-reveal-left{translate:-35px 0}
.scroll-reveal-scale{scale:.96;translate:0 25px}
.scroll-reveal.is-revealed{opacity:1;translate:0 0;scale:1;transition-delay:var(--reveal-delay,0ms),var(--reveal-delay,0ms),var(--reveal-delay,0ms),0ms,0ms,0ms}
@media(max-width:700px){.scroll-reveal{translate:0 36px}.scroll-reveal-left{translate:-28px 0}.scroll-reveal.is-revealed{translate:0 0}}
@media(prefers-reduced-motion:reduce){.scroll-reveal,.scroll-reveal.is-revealed{opacity:1;translate:none;scale:1;transition:none}}

/* Formação entra pelo topo, também no celular. */
.scroll-reveal-down{translate:0 -36px}
@media(max-width:700px){.scroll-reveal-down{translate:0 -32px}}
.scroll-reveal-down.is-revealed{translate:0 0}
@media(prefers-reduced-motion:reduce){.scroll-reveal-down{translate:none}}

/* Entrada própria de Como funciona: zoom e leve inclinação. */
.scroll-reveal-process-intro{translate:0 0;scale:.96;transition-duration:900ms}
.scroll-reveal-process-stage{translate:0 45px;scale:.93;rotate:-1deg;transform-origin:center;transition:opacity 1000ms cubic-bezier(.22,1,.36,1),translate 1000ms cubic-bezier(.22,1,.36,1),scale 1000ms cubic-bezier(.22,1,.36,1),rotate 1000ms cubic-bezier(.22,1,.36,1)}
.scroll-reveal-process-stage.is-revealed{translate:0 0;scale:1;rotate:0deg}
@media(max-width:700px){.scroll-reveal-process-stage{translate:0 32px;scale:.94;rotate:-.7deg}.scroll-reveal-process-stage.is-revealed{translate:0 0;scale:1;rotate:0deg}}
@media(prefers-reduced-motion:reduce){.scroll-reveal-process-stage,.scroll-reveal-process-intro{opacity:1;translate:none;scale:1;rotate:none;transition:none}}

/* Apresentação dos planos com leitura clara sobre a fotografia. */
.plans-description{max-width:510px;color:#000;font-size:1.04rem;line-height:1.65}
.plans-description p+p{margin-top:15px}
@media(max-width:700px){.plans-description{background:transparent;padding:0;border-radius:0;color:#000;font-size:1rem;line-height:1.65;box-shadow:none}.plans-intro-copy h2{color:#191919;text-shadow:0 1px 12px rgba(255,255,255,.7)}}

/* Áreas de cuidado: dois cards por linha no mobile. */
@media(max-width:700px){.care-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.care-section .service-card{min-height:0;padding:18px 14px;border-radius:18px}.care-section .service-card h3{font-size:clamp(1rem,3.8vw,1.25rem);line-height:1.3;margin:20px 0 10px;overflow-wrap:break-word}.care-section .service-card p{font-size:.86rem;line-height:1.55;overflow-wrap:break-word}.care-section .service-num{width:36px;height:36px}}

/* Subtextos dos cards de cuidado alinhados nas duas margens. */
.care-section .service-card p{width:100%;max-width:none;text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}
