:root{--navy:#27336f;--indigo:#35438a;--blue:#cbd9ec;--blue-light:#eff5fb;--rose:#e9b7b6;--cream:#fbfaf8;--ink:#1f2340;--muted:#62667a;--white:#fff;--gold:#caa56b;--shadow:0 24px 70px rgba(39,51,111,.13);--radius:28px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:400 1rem/1.7 "DM Sans",sans-serif;overflow-x:hidden}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1160px,calc(100% - 40px));margin:auto}.section{padding:112px 0}.eyebrow{margin:0 0 18px;color:var(--indigo);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}h1,h2{font-family:"Playfair Display",serif;font-weight:500;line-height:1.08;letter-spacing:-.025em;margin:0}h1{font-size:clamp(3rem,5.7vw,5.6rem);max-width:850px}h2{font-size:clamp(2.35rem,4vw,4.25rem)}h3{font-size:1.22rem;line-height:1.3;margin:0 0 12px}p{margin:0 0 20px}.skip-link{position:fixed;left:16px;top:-60px;background:var(--navy);color:#fff;padding:10px 16px;z-index:1000}.skip-link:focus{top:16px}.header{position:fixed;inset:0 0 auto;z-index:100;background:rgba(251,250,248,.85);backdrop-filter:blur(18px);border-bottom:1px solid rgba(39,51,111,.08)}.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(53,67,138,.25);border-radius:50%;font:600 1.4rem "Playfair Display",serif;color:var(--indigo)}.brand strong,.brand small{display:block;line-height:1.15}.brand strong{font:600 1.13rem "Playfair Display",serif}.brand small{font-size:.67rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-top:4px}.nav{display:flex;align-items:center;gap:30px}.nav>a{font-size:.9rem;font-weight:600}.nav>a:not(.nav-cta):hover{color:var(--indigo)}.nav-cta{padding:12px 18px;border-radius:999px;background:var(--navy);color:#fff}.menu-button{display:none;border:0;background:none;padding:7px}.menu-button span{display:block;width:25px;height:2px;background:var(--navy);margin:5px}.hero{position:relative;min-height:860px;padding:155px 0 80px;background:linear-gradient(135deg,#f7f9fd 0%,#eef3fa 58%,#e2eaf5 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:70px;align-items:center}.hero-copy{position:relative;z-index:2}.hero-text{font-size:1.14rem;max-width:610px;color:var(--muted);margin:28px 0 34px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 24px;border:1px solid transparent;border-radius:999px;font-weight:700;transition:.25s;cursor:pointer}.button-primary{background:var(--navy);color:#fff;box-shadow:0 12px 32px rgba(39,51,111,.2)}.button-primary:hover{background:#1e285d;transform:translateY(-2px)}.button-ghost{border-color:rgba(39,51,111,.22);color:var(--navy)}.button-ghost:hover{background:#fff}.hero-notes{display:flex;gap:28px;margin-top:38px;color:var(--muted);font-size:.88rem}.hero-notes span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:10px;border-radius:50%;background:var(--rose)}.hero-visual{position:relative;min-height:630px}.hero-image-frame{position:absolute;inset:0 0 0 35px;overflow:hidden;border-radius:230px 230px 28px 28px;background:#d9dfeb;box-shadow:var(--shadow)}.hero-image-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 28%}.hero-card{position:absolute;left:-28px;bottom:32px;display:flex;gap:14px;align-items:flex-start;width:310px;padding:20px;background:rgba(255,255,255,.94);border:1px solid #fff;border-radius:18px;box-shadow:var(--shadow);backdrop-filter:blur(14px)}.hero-card p{font-size:.88rem;line-height:1.5;margin:0}.hero-card-icon{color:var(--gold);font-size:1.4rem}.hero-shape{position:absolute;border:1px solid rgba(53,67,138,.12);border-radius:50%}.hero-shape-one{width:470px;height:470px;right:-250px;top:80px}.hero-shape-two{width:220px;height:220px;left:-130px;bottom:30px}.trust-strip{background:var(--navy);color:#fff}.trust-grid{min-height:95px;display:flex;align-items:center;justify-content:center;gap:30px;font:500 1rem "Playfair Display",serif;letter-spacing:.03em}.trust-grid i{width:4px;height:4px;background:var(--rose);border-radius:50%}.split,.process-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:95px;align-items:center}.portrait,.process-image{height:720px;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow)}.portrait img,.process-image img{height:100%;object-fit:cover}.portrait img{object-position:50% 20%}.content>p:not(.eyebrow){color:var(--muted);font-size:1.05rem}.content h2{margin-bottom:28px}.credentials{list-style:none;margin:34px 0 0;padding:0;border-top:1px solid rgba(39,51,111,.13)}.credentials li{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid rgba(39,51,111,.13);line-height:1.45;font-size:.94rem}.credentials span{color:var(--rose);font-size:.74rem;font-weight:700;letter-spacing:.1em}.services{background:#fff}.section-heading{max-width:720px;margin-bottom:50px}.section-heading>p:last-child{margin-top:20px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{position:relative;min-height:290px;padding:35px;border:1px solid #dde3ed;border-radius:22px;background:var(--blue-light)}.service-card.featured{background:var(--navy);color:#fff;transform:translateY(-12px);box-shadow:var(--shadow)}.card-number{display:block;color:var(--rose);font-size:.76rem;font-weight:700;letter-spacing:.13em;margin-bottom:68px}.service-card p{color:var(--muted);font-size:.94rem;margin:0}.service-card.featured p{color:#d9def2}.specialties{background:var(--navy);color:#fff;position:relative}.section-heading.light .eyebrow{color:var(--rose)}.specialty-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.16)}.specialty{min-height:210px;padding:30px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}.specialty span{display:block;color:var(--rose);font-size:.74rem;margin-bottom:50px}.specialty p{color:#cdd3ec;font-size:.9rem;line-height:1.5;margin:0}.process-grid{grid-template-columns:1fr 1fr}.process-image{height:680px}.process-image img{object-position:50% 45%}.steps{list-style:none;margin:36px 0;padding:0}.steps li{display:grid;grid-template-columns:50px 1fr;gap:18px;padding:21px 0;border-bottom:1px solid rgba(39,51,111,.12)}.steps li>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--blue-light);color:var(--indigo);font-weight:700}.steps p{font-size:.94rem!important;margin:0}.text-link{display:inline-flex;gap:12px;color:var(--indigo);font-weight:700}.location{background:var(--blue-light)}.location-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:center}.location-copy h2{margin-bottom:24px}.location-copy p:not(.eyebrow){color:var(--muted);font-size:1.08rem;margin-bottom:30px}.map{height:470px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:#dae3ef}.map iframe{border:0;width:100%;height:100%}.appointment{background:#fff}.appointment-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:90px}.appointment-copy h2{margin-bottom:24px}.appointment-copy>p:not(.eyebrow){color:var(--muted);max-width:470px}.instagram-link{display:inline-flex;gap:10px;margin-top:15px;color:var(--indigo);font-weight:700}.contact-form{padding:36px;border-radius:var(--radius);background:var(--blue-light);box-shadow:var(--shadow)}.field,.field-row{display:grid;gap:7px}.field-row{grid-template-columns:1fr 1fr;gap:14px}.field{margin-bottom:15px}.field label{font-size:.82rem;font-weight:700;color:var(--navy)}.field input,.field select,.field textarea{width:100%;border:1px solid #d8dfeb;border-radius:12px;background:#fff;color:var(--ink);padding:14px 15px;outline:0}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--indigo);box-shadow:0 0 0 3px rgba(53,67,138,.1)}.full{width:100%;border:0}.form-note{text-align:center;font-size:.75rem;color:var(--muted);margin:12px 0 0}.footer{background:#171d43;color:#fff;padding:60px 0 24px}.footer-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:40px;align-items:center}.brand-light .brand-mark{color:#fff;border-color:rgba(255,255,255,.3)}.brand-light small{color:#bfc5dc}.footer-grid>p{color:#bfc5dc;font-size:.9rem;margin:0}.footer-links{display:flex;gap:22px;font-size:.85rem}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);margin-top:45px;padding-top:22px;color:#8f97b8;font-size:.73rem}.floating-actions{position:fixed;right:20px;bottom:22px;display:flex;flex-direction:column;gap:11px;z-index:90}.float{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;color:#fff;box-shadow:0 12px 32px rgba(23,29,67,.25);transition:.2s}.float:hover{transform:translateY(-3px)}.float svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8}.instagram{background:linear-gradient(135deg,#7d42c7,#d94683,#ef8d38)}.whatsapp{background:#25d366}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.nav{position:fixed;top:82px;left:16px;right:16px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:14px;background:#fff;border-radius:18px;box-shadow:var(--shadow)}.nav.open{display:flex}.nav>a{padding:13px}.nav-cta{text-align:center;margin-top:5px}.menu-button{display:block}.hero{padding-top:128px;min-height:auto}.hero-grid,.split,.process-grid,.location-grid,.appointment-grid{grid-template-columns:1fr;gap:50px}.hero-visual{min-height:570px;max-width:580px;width:100%;margin:auto}.portrait,.process-image{height:min(690px,105vw);max-width:600px;width:100%;margin:auto}.content{max-width:700px}.cards{grid-template-columns:1fr}.service-card{min-height:230px}.service-card.featured{transform:none}.specialty-grid{grid-template-columns:repeat(2,1fr)}.location-copy{max-width:600px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>p{grid-column:1/-1}.footer-links{justify-self:end}}
@media(max-width:600px){.container{width:min(100% - 28px,1160px)}.section{padding:78px 0}.nav-wrap{height:72px}.nav{top:72px}.brand-mark{width:38px;height:38px}.brand strong{font-size:1.02rem}.hero{padding:112px 0 64px}.hero-copy{text-align:left}.hero-text{font-size:1rem;margin:22px 0 28px}.hero-actions{display:grid}.button{width:100%}.hero-notes{gap:12px;flex-direction:column;margin-top:25px}.hero-visual{min-height:470px}.hero-image-frame{inset:0 0 0 14px;border-radius:180px 180px 22px 22px}.hero-image-frame img{object-position:50% 25%}.hero-card{left:0;right:12px;bottom:18px;width:auto;padding:16px}.trust-grid{justify-content:flex-start;overflow-x:auto;white-space:nowrap;min-height:76px}.trust-grid::-webkit-scrollbar{display:none}.split{gap:42px}.portrait,.process-image{height:126vw;max-height:640px;border-radius:22px}.portrait img{object-position:50% 20%}.credentials li{grid-template-columns:34px 1fr;font-size:.88rem}.section-heading{margin-bottom:35px}.service-card{padding:28px;min-height:auto}.card-number{margin-bottom:42px}.specialty-grid{grid-template-columns:1fr}.specialty{min-height:auto;padding:25px}.specialty span{margin-bottom:28px}.steps li{grid-template-columns:43px 1fr;gap:12px}.map{height:390px;border-radius:20px}.appointment-grid{gap:38px}.contact-form{padding:22px 17px;border-radius:20px}.field-row{grid-template-columns:1fr;gap:0}.footer-grid{grid-template-columns:1fr}.footer-links{justify-self:start}.footer-bottom{flex-direction:column}.floating-actions{right:14px;bottom:16px}.float{width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button,.float{transition:none}}

/* Premium identity — Janaína Gracindo */
:root{--navy:#063b3d;--indigo:#079b91;--blue:#bde7e1;--blue-light:#edf9f7;--rose:#f29b86;--cream:#fbfdfc;--ink:#102d2e;--muted:#5c7473;--gold:#efb300;--burgundy:#b3073f;--brand-blue:#0c448b;--shadow:0 30px 90px rgba(4,55,57,.16)}
body{font-family:"Manrope",sans-serif;background:var(--cream)}
h1,h2{font-family:"Plus Jakarta Sans",sans-serif;font-weight:600;letter-spacing:-.055em}
h1 em,h2 em{display:block;color:var(--rose);font-weight:500}
.eyebrow{color:#0a948b;letter-spacing:.18em}
.header{background:rgba(5,42,43,.82);border-bottom:1px solid rgba(255,255,255,.11);color:#fff;transition:.35s}
.brand-logo{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;overflow:hidden;background:#f3fbf9;box-shadow:0 0 0 1px rgba(117,221,210,.34)}
.brand-logo img{width:100%;height:100%;object-fit:cover}
.brand strong{font-family:"Plus Jakarta Sans",sans-serif;font-weight:600}.brand small{color:#9cc3c0}
.nav>a:not(.nav-cta):hover{color:#70d6cb}.nav-cta{background:#61cfc4;color:#062f31}
.hero{min-height:100svh;padding:145px 0 65px;background:radial-gradient(circle at 82% 30%,rgba(34,160,150,.27),transparent 31%),linear-gradient(120deg,#052e30 0%,#073f40 55%,#0b5551 100%);color:#fff}
.hero:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E")}
.hero-grid{grid-template-columns:1.08fr .92fr;gap:58px}.hero .eyebrow{color:#7be1d5}.hero .eyebrow>span{display:inline-block;width:30px;height:1px;background:#7be1d5;vertical-align:middle;margin-right:10px}
.hero h1{font-size:clamp(3.35rem,6.2vw,6.65rem);line-height:.98;max-width:850px}.hero h1 span,.hero h1 em{display:block}.hero h1 em{margin-top:12px;color:#f4b7b1}
.hero-text{color:#c8dfdc;max-width:590px;font-size:1.12rem;line-height:1.8}.button{border-radius:3px;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;min-height:58px}
.button-primary{background:#69d8cd;color:#062f31;box-shadow:0 16px 42px rgba(3,25,26,.25)}.button-primary:hover{background:#89e4db}.button-ghost{color:#fff;border-color:rgba(255,255,255,.28)}.button-ghost:hover{background:rgba(255,255,255,.08)}
.hero-notes{color:#b8d2cf}.hero-notes span:before{background:#f1aaa6}.hero-visual{min-height:670px}
.hero-image-frame{inset:0 0 0 15px;border-radius:250px 250px 6px 6px;box-shadow:0 35px 100px rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.13)}
.hero-image-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(4,44,45,.62),transparent 42%)}
.hero-image-frame img{object-position:50% 25%;filter:saturate(.88) contrast(1.03)}
.hero-card{left:-48px;bottom:36px;border-radius:3px;background:rgba(245,255,253,.95);color:var(--ink);border-left:4px solid var(--rose)}
.hero-shape{border-color:rgba(115,221,210,.18)}.trust-strip{background:#f1aaa6;color:#092f31;overflow:hidden}
.trust-grid{font-family:"Plus Jakarta Sans",sans-serif;text-transform:uppercase;font-size:.74rem;font-weight:700;letter-spacing:.14em;min-height:82px}.trust-grid i{background:#0a7772}
.signature-section{padding:135px 0;background:#fff}.signature-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:95px;align-items:center}.signature-copy h2{font-size:clamp(2.7rem,4.8vw,5rem);margin-bottom:30px}.signature-copy>p:not(.eyebrow){max-width:550px;color:var(--muted);font-size:1.05rem}.clinic-photo{position:relative;padding:18px 18px 54px;background:#eef8f6;transform:rotate(1.2deg);box-shadow:var(--shadow)}.clinic-photo img{height:500px;object-fit:cover;object-position:50% 46%}.photo-caption{position:absolute;left:28px;bottom:19px;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:#376462}
.about{background:#f2faf8}.portrait{border-radius:3px;position:relative}.portrait:after{content:"Janaína Gracindo";position:absolute;left:22px;bottom:20px;color:#fff;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.content h2 em{display:inline;color:#079b91}
.credentials li{transition:.25s}.credentials li:hover{padding-left:10px;background:rgba(105,216,205,.08)}.credentials span{color:#079b91}
.services{background:#fff}.service-card{border-radius:3px;background:#edf9f7;border:0;overflow:hidden;transition:transform .3s,box-shadow .3s}.service-card:after{content:"";position:absolute;width:120px;height:120px;border:1px solid rgba(7,155,145,.15);border-radius:50%;right:-55px;top:-55px}.service-card:hover{transform:translateY(-9px);box-shadow:var(--shadow)}.service-card.featured{background:#073f40;border-top:4px solid #f1aaa6}.card-number{color:#0a948b}.service-card.featured .card-number{color:#f1aaa6}
.service-card:nth-child(1){border-top:4px solid var(--gold)}.service-card:nth-child(2){border-top-color:var(--rose)}.service-card:nth-child(3){border-top:4px solid var(--brand-blue)}.service-card:nth-child(3) .card-number{color:var(--brand-blue)}
.specialties{background:linear-gradient(135deg,#052d2f,#07504d)}.specialty{transition:background .3s,transform .3s}.specialty:hover{background:rgba(105,216,205,.09);transform:translateY(-4px)}.specialty span{color:#f1aaa6}.specialty p{color:#bed8d5}
.specialty:nth-child(3n+1) span{color:#6edbd0}.specialty:nth-child(3n+2) span{color:#f3b000}.specialty:nth-child(3n) span{color:#f29b86}
.process{background:#f8fcfb}.process-image{border-radius:180px 180px 3px 3px}.steps li>span{background:#d8f3ef;color:#087a74}.text-link{color:#087f78;text-transform:uppercase;font-size:.75rem;letter-spacing:.1em}
.location{background:#e1f4f0}.map{border-radius:3px}.appointment{background:#fff}.contact-form{border-radius:3px;background:#edf9f7;border-top:4px solid #f1aaa6}.field input,.field select,.field textarea{border-radius:2px}.instagram-link{color:#087f78}
.footer{background:#032c2e}.float{border:2px solid rgba(255,255,255,.8)}.whatsapp{background:#25d366}
@media(max-width:900px){.header{background:rgba(5,42,43,.94)}.nav{background:#073f40}.signature-grid{grid-template-columns:1fr;gap:50px}.clinic-photo{max-width:670px}.hero-grid{grid-template-columns:1fr}.hero-copy{padding-top:25px}.hero-visual{min-height:660px}.signature-section{padding:100px 0}.nav>a{color:#fff}.nav-cta{color:#062f31}}
@media(max-width:600px){.brand-mark{width:40px;height:40px}.hero{padding-top:105px}.hero h1{font-size:clamp(2.8rem,13.2vw,4.1rem)}.hero h1 em{margin-top:8px}.hero-visual{min-height:520px}.hero-image-frame{inset:0;border-radius:160px 160px 3px 3px}.hero-card{left:10px;right:10px;bottom:18px}.signature-section{padding:78px 0}.signature-grid{gap:35px}.signature-copy h2{font-size:2.65rem}.clinic-photo{padding:10px 10px 46px}.clinic-photo img{height:auto;aspect-ratio:4/3;object-fit:cover}.portrait{border-radius:2px}.process-image{border-radius:130px 130px 3px 3px}.trust-grid{min-height:70px}.nav-wrap{height:72px}}

/* Hero v3 — retrato editorial de destaque */
.hero-grid{grid-template-columns:minmax(0,1.03fr) minmax(470px,.97fr);gap:45px}
.hero h1{font-size:clamp(3.25rem,5vw,5.55rem);line-height:1.02}
.hero h1 em{color:#75ddd2;font-style:italic;margin:7px 0}.hero h1 span:last-child{font-size:.72em;letter-spacing:-.04em}
.hero-visual{min-height:690px;isolation:isolate}
.hero-image-frame{inset:30px 20px 0 65px;border-radius:8px;overflow:hidden;background:#aeb3be;border:1px solid rgba(255,255,255,.32);box-shadow:0 45px 110px rgba(0,0,0,.38)}
.hero-image-frame:before{content:"";position:absolute;inset:0;z-index:1;border:1px solid rgba(255,255,255,.18);margin:12px;pointer-events:none}
.hero-image-frame:after{z-index:2;background:linear-gradient(to top,rgba(3,42,43,.62),transparent 38%)}
.hero-image-frame img{object-position:50% 18%;filter:saturate(.88) contrast(1.04)}
.hero-card{z-index:5;left:8px;bottom:45px;width:330px;padding:22px 24px;background:#f8fffd;border:0;border-left:5px solid var(--rose);box-shadow:0 25px 55px rgba(0,0,0,.3)}
.hero-signature{position:absolute;z-index:4;right:-30px;top:60px;margin:0;color:#fff;font:500 1rem/1.05 "Plus Jakarta Sans",sans-serif;text-transform:uppercase;letter-spacing:.12em;writing-mode:vertical-rl;transform:rotate(180deg)}
.hero-signature strong{color:#f1aaa6;font-weight:600}
.hero-detail{position:absolute;z-index:5;right:-14px;bottom:30px;display:flex;align-items:center;gap:12px;color:#fff}.hero-detail strong{display:grid;place-items:center;width:55px;height:55px;border-radius:50%;background:#f1aaa6;color:#063b3d;font-size:.82rem}.hero-detail span{font-size:.68rem;line-height:1.35;text-transform:uppercase;letter-spacing:.12em}
.hero-orbit{position:absolute;z-index:-1;inset:0}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(117,221,210,.3)}.hero-orbit:before{width:510px;height:510px;right:-90px;top:-25px}.hero-orbit:after{width:320px;height:320px;left:-25px;bottom:-20px}
.hero-orbit span{position:absolute;width:13px;height:13px;border-radius:50%;box-shadow:0 0 0 7px rgba(255,255,255,.06)}.hero-orbit span:nth-child(1){background:#f1aaa6;right:18px;top:126px}.hero-orbit span:nth-child(2){background:#75ddd2;left:17px;bottom:105px}.hero-orbit span:nth-child(3){background:#e5b56c;right:80px;bottom:40px}
.hero-logo-card{position:absolute;z-index:7;left:0;top:0;width:150px;height:150px;padding:7px;background:#f3fbf9;border-radius:50%;box-shadow:0 24px 55px rgba(0,0,0,.3),0 0 0 8px rgba(117,221,210,.12);overflow:hidden;animation:logoFloat 4s ease-in-out infinite}
.hero-logo-card:after{content:"";position:absolute;inset:7px;border-radius:50%;border:1px solid rgba(7,155,145,.2);pointer-events:none}
.hero-logo-card img{width:100%;height:100%;object-fit:cover;border-radius:50%}
@keyframes logoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media(max-width:1100px){.hero-grid{grid-template-columns:1fr 440px}.hero h1{font-size:4.25rem}.hero-signature{right:0}.hero-detail{right:8px}}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(3.2rem,10vw,5.2rem)}.hero-visual{min-height:730px;max-width:650px}.hero-image-frame{inset:48px 35px 0 75px}.hero-signature{right:4px}.hero-detail{right:18px}.hero-logo-card{width:135px;height:135px;left:12px}}
@media(max-width:600px){.brand-logo{width:43px;height:43px}.hero h1{font-size:clamp(2.7rem,12.3vw,3.8rem)}.hero h1 span:last-child{font-size:.76em}.hero-visual{min-height:610px;margin-top:8px}.hero-image-frame{inset:58px 15px 0 28px;border-radius:5px}.hero-image-frame img{object-position:50% 14%}.hero-card{left:0;right:24px;bottom:25px;width:auto;padding:17px 18px}.hero-signature{display:none}.hero-detail{right:4px;bottom:auto;top:35px}.hero-detail span{display:none}.hero-detail strong{width:48px;height:48px}.hero-logo-card{width:110px;height:110px;left:0;top:0;box-shadow:0 18px 40px rgba(0,0,0,.26),0 0 0 6px rgba(117,221,210,.12)}.hero-orbit:before{width:360px;height:360px;right:-120px}.hero-orbit:after{width:230px;height:230px}.hero-copy .button{width:100%}}

/* Hero v4 — leve, compacto e sem elementos flutuantes excessivos */
.header{background:rgba(237,249,247,.94);color:var(--ink);border-bottom-color:rgba(6,59,61,.09)}
.brand small{color:#50706e}.nav-cta{background:#64ccc2;color:#063b3d}.nav>a:not(.nav-cta):hover{color:#087f78}
.hero{min-height:790px;padding:122px 0 58px;background:radial-gradient(circle at 88% 26%,rgba(121,211,201,.3),transparent 27%),linear-gradient(135deg,#f4fbf9 0%,#e5f5f1 58%,#d5eee9 100%);color:var(--ink)}
.hero:after{opacity:.08}.hero-grid{grid-template-columns:minmax(0,1.14fr) minmax(420px,.86fr);gap:24px}
.hero .eyebrow{color:#087f78}.hero .eyebrow>span{background:#087f78}.hero h1{font-size:clamp(3.2rem,4.5vw,5.05rem);line-height:1.01;max-width:760px}
.hero h1 em{color:#079b91}.hero h1 span:last-child{font-size:.68em;line-height:1.15}
.hero-text{color:#4d6e6c;max-width:650px;margin:22px 0 26px}.hero-actions{gap:10px}.hero .button-primary{background:#087f78;color:#fff}.hero .button-primary:hover{background:#056a65}.hero .button-ghost{color:#194a49;border-color:rgba(6,59,61,.25)}.hero .button-ghost:hover{background:rgba(255,255,255,.58)}
.hero-notes{color:#587674;margin-top:26px}.hero-visual{min-height:610px}.hero-image-frame{inset:0 0 0 38px;box-shadow:0 32px 75px rgba(14,86,82,.18);border-color:rgba(255,255,255,.8)}
.hero-image-frame:after{background:linear-gradient(to top,rgba(5,68,66,.48),transparent 32%)}.hero-card{left:0;bottom:27px;width:300px;box-shadow:0 18px 48px rgba(14,86,82,.2)}
.hero-signature{right:-12px;top:45px;color:#0b716c}.hero-signature strong{color:#b3073f}.hero-detail{right:-7px;bottom:22px;color:#124f4c}.hero-detail strong{background:#f29b86}
.hero-orbit:before,.hero-orbit:after{border-color:rgba(7,155,145,.18)}.hero-orbit span{box-shadow:0 0 0 7px rgba(7,155,145,.06)}
.trust-strip{background:#8bd9d0;color:#073f40}
@media(max-width:1100px){.hero-grid{grid-template-columns:minmax(0,1fr) 410px;gap:20px}.hero h1{font-size:4rem}.hero-signature{right:-4px}}
@media(max-width:900px){.header{background:rgba(237,249,247,.97)}.nav{background:#effaf8}.nav>a{color:var(--ink)}.nav-cta{color:#063b3d}.hero{padding-top:108px;min-height:auto}.hero-grid{grid-template-columns:1fr;gap:35px}.hero h1{font-size:clamp(3.1rem,9.5vw,4.8rem);max-width:720px}.hero-visual{min-height:660px}.hero-image-frame{inset:0 28px 0 55px}}
@media(max-width:600px){.hero{padding:96px 0 45px}.hero-grid{gap:24px}.hero h1{font-size:clamp(2.55rem,11.2vw,3.5rem)}.hero h1 span:last-child{font-size:.72em}.hero-text{margin:18px 0 22px}.hero-notes{margin-top:20px}.hero-visual{min-height:535px}.hero-image-frame{inset:0 8px 0 18px}.hero-card{right:16px;bottom:18px;width:auto}.hero-detail{top:10px;right:0}.hero-orbit:before{right:-160px}.trust-grid{min-height:64px}}

/* Sobre v2 — composição editorial e formações em cartões */
.about{position:relative;overflow:hidden;background:linear-gradient(135deg,#eef9f6 0%,#f8fcfb 62%,#e7f5f1 100%)}
.about:before{content:"";position:absolute;width:410px;height:410px;border:1px solid rgba(7,155,145,.12);border-radius:50%;left:-235px;top:120px}
.about .split{grid-template-columns:minmax(390px,.82fr) minmax(0,1.18fr);gap:72px;align-items:center}
.about-visual{position:relative;min-height:720px}
.about-visual .portrait{position:absolute;inset:0 54px 38px 0;height:auto;border-radius:180px 180px 5px 5px;box-shadow:0 35px 80px rgba(10,85,81,.2);z-index:2}
.about-visual .portrait:before{content:"";position:absolute;inset:13px;border:1px solid rgba(255,255,255,.55);border-radius:168px 168px 3px 3px;z-index:2;pointer-events:none}
.about-visual .portrait:after{content:"JANAÍNA GRACINDO  •  TERAPEUTA OCUPACIONAL";left:26px;bottom:24px;font-size:.66rem;letter-spacing:.13em}
.about-seal{position:absolute;z-index:4;right:2px;top:88px;width:126px;height:126px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#0a8780;color:#fff;box-shadow:0 18px 45px rgba(7,90,86,.25);border:7px solid #eef9f6}
.about-seal strong{font-size:1.15rem}.about-seal span{font-size:.61rem;line-height:1.35;text-transform:uppercase;letter-spacing:.1em;margin-top:3px}
.about-quote{position:absolute;z-index:5;right:0;bottom:0;width:285px;display:flex;gap:12px;padding:22px 24px;background:#fff;border-left:5px solid var(--rose);box-shadow:0 24px 55px rgba(8,69,66,.16)}
.about-quote>span{font:600 2.4rem/1 "Plus Jakarta Sans",sans-serif;color:#079b91}.about-quote p{font-size:.88rem;line-height:1.55;margin:0;color:#305654;font-weight:600}
.about-dots{position:absolute;z-index:1;width:125px;height:125px;right:3px;bottom:78px;opacity:.38;background-image:radial-gradient(#079b91 1.5px,transparent 1.5px);background-size:14px 14px}
.about .content h2{font-size:clamp(2.6rem,4.2vw,4.55rem);margin-bottom:22px}.about .content h2 em{display:block}
.about-lead{max-width:690px;font-size:1rem!important;line-height:1.75!important}
.about-pillars{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 30px}.about-pillars span{padding:8px 14px;border:1px solid rgba(7,155,145,.25);border-radius:999px;color:#087f78;background:rgba(255,255,255,.55);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.about .credentials{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;border:0}
.about .credentials article{position:relative;display:grid;grid-template-columns:34px 1fr;gap:12px;min-height:126px;padding:20px;border:1px solid rgba(7,127,120,.13);background:rgba(255,255,255,.75);transition:.28s;overflow:hidden}
.about .credentials article:hover{transform:translateY(-4px);background:#fff;box-shadow:0 15px 38px rgba(8,82,78,.1)}
.about .credentials article>span{font-size:.68rem;font-weight:700;color:#079b91;letter-spacing:.1em}
.about .credentials article small{display:block;margin-bottom:7px;color:#087f78;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.about .credentials article p{font-size:.84rem;line-height:1.5;margin:0;color:#274947}.about .credentials article h3{font-size:1rem;margin-bottom:5px}
.about .credentials .credential-main{grid-column:1/-1;min-height:auto;background:#073f40;color:#fff;border:0;border-left:5px solid var(--gold)}
.about .credentials .credential-main p{color:#c7dfdc}.about .credentials .credential-main small{color:#79ddd3}.about .credentials .credential-main>span{color:#f3b000}
@media(max-width:1050px){.about .split{grid-template-columns:390px 1fr;gap:45px}.about-visual{min-height:660px}.about .credentials{grid-template-columns:1fr}.about .credentials .credential-main{grid-column:auto}.about .credentials article{min-height:auto}.about .content h2{font-size:3.35rem}}
@media(max-width:900px){.about .split{grid-template-columns:1fr;gap:58px}.about-visual{min-height:720px;max-width:620px;width:100%;margin:auto}.about .content{max-width:none}.about .credentials{grid-template-columns:1fr 1fr}.about .credentials .credential-main{grid-column:1/-1}}
@media(max-width:600px){.about .split{gap:48px}.about-visual{min-height:570px}.about-visual .portrait{inset:0 18px 48px 0;border-radius:130px 130px 4px 4px}.about-visual .portrait:before{border-radius:120px 120px 3px 3px}.about-seal{width:98px;height:98px;right:0;top:58px;border-width:5px}.about-quote{right:0;width:270px;padding:17px 18px}.about-dots{display:none}.about .content h2{font-size:2.65rem}.about .credentials{grid-template-columns:1fr}.about .credentials .credential-main{grid-column:auto}.about-pillars{gap:6px}.about-pillars span{font-size:.65rem;padding:7px 10px}}

/* Mobile sem sobreposições */
@media(max-width:600px){
  .about-visual{min-height:545px}
  .about-visual .portrait{inset:0;border-radius:125px 125px 4px 4px}
  .about-visual .portrait:before{border-radius:115px 115px 3px 3px}
  .about-visual .portrait:after{left:22px;right:16px;bottom:20px;font-size:.58rem;line-height:1.4;white-space:normal}
  .about .split{gap:38px}
  .hero-visual{min-height:525px}
  .hero-card{bottom:16px}
}

/* Revisão tipográfica completa para telas pequenas */
@media(max-width:600px){
  body{font-size:1rem;line-height:1.65}
  h1,h2,h3,p,a,span,li,label{
    word-break:normal;
    overflow-wrap:normal;
    hyphens:none;
  }
  h1,h2{
    letter-spacing:-.035em;
    word-spacing:.015em;
    text-wrap:balance;
  }
  h3{letter-spacing:-.018em;line-height:1.28}
  p{line-height:1.7;text-wrap:pretty}
  .hero h1{
    max-width:100%;
    font-size:clamp(2.42rem,10.8vw,3.35rem);
    line-height:1.07;
    letter-spacing:-.04em;
  }
  .hero h1 span,.hero h1 em{display:block;width:100%}
  .hero h1 em{margin:.12em 0}
  .hero h1 span:last-child{font-size:.74em;line-height:1.2;letter-spacing:-.025em}
  .hero-text{font-size:1rem;line-height:1.72}
  .eyebrow{font-size:.69rem;line-height:1.55;letter-spacing:.13em}
  .signature-copy h2,
  .about .content h2,
  .section-heading h2,
  .process .content h2,
  .location-copy h2,
  .appointment-copy h2{
    max-width:100%;
    font-size:clamp(2.08rem,9vw,2.65rem);
    line-height:1.1;
    letter-spacing:-.038em;
  }
  .signature-copy h2 em,
  .about .content h2 em{display:inline}
  .section-heading{margin-bottom:30px}
  .section-heading>p:last-child{margin-top:16px}
  .content>p:not(.eyebrow),.signature-copy>p:not(.eyebrow),.location-copy p:not(.eyebrow),.appointment-copy>p:not(.eyebrow){
    font-size:1rem;
    line-height:1.72;
  }
  .service-card h3,.specialty h3,.steps h3{font-size:1.14rem;line-height:1.3}
  .service-card p,.specialty p,.steps p{font-size:.95rem!important;line-height:1.62!important}
  .about .credentials article p{font-size:.88rem;line-height:1.58}
  .about .credentials article h3{font-size:1rem;line-height:1.35}
  .hero-card p{font-size:.82rem;line-height:1.48}
  .trust-grid span{font-size:.7rem;letter-spacing:.09em}
  .button{font-size:.72rem;line-height:1.35;white-space:normal;text-align:center}
}

@media(max-width:380px){
  .container{width:calc(100% - 24px)}
  .hero h1{font-size:2.28rem}
  .signature-copy h2,
  .about .content h2,
  .section-heading h2,
  .process .content h2,
  .location-copy h2,
  .appointment-copy h2{font-size:1.98rem}
  .brand strong{font-size:.92rem}.brand small{font-size:.58rem}
}

/* Nosso espaço */
.space-section{padding:118px 0;background:#fff;overflow:hidden}.space-heading{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:48px}.space-heading>div{max-width:720px}.space-heading h2{font-size:clamp(2.5rem,4.4vw,4.65rem)}.space-heading h2 em{color:#087f78}.space-heading>p{max-width:330px;margin:0 0 8px;color:#52716f;font-size:1rem;line-height:1.75}.space-track{display:flex;gap:17px;overflow-x:auto;padding:2px 2px 16px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#79ccc5 #e6f3f1}.space-track::-webkit-scrollbar{height:8px}.space-track::-webkit-scrollbar-track{background:#e6f3f1}.space-track::-webkit-scrollbar-thumb{background:#79ccc5;border-radius:99px}.space-slide{position:relative;flex:0 0 min(38%,410px);height:425px;padding:0;border:0;border-radius:4px;overflow:hidden;cursor:zoom-in;scroll-snap-align:start;background:#dceeea;text-align:left}.space-slide:first-child{border-radius:4px 4px 4px 76px}.space-slide:last-child{border-radius:4px 58px 4px 4px}.space-slide img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.space-slide:hover img,.space-slide:focus-visible img{transform:scale(1.045)}.space-slide span{position:absolute;left:13px;bottom:13px;padding:8px 10px;background:rgba(4,57,57,.79);color:#fff;font-size:.67rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;opacity:0;transform:translateY(6px);transition:.25s}.space-slide:hover span,.space-slide:focus-visible span{opacity:1;transform:none}.space-slide:focus-visible{outline:3px solid #079b91;outline-offset:3px}.space-carousel-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:14px}.space-carousel-footer p{margin:0;color:#52716f;font-size:.9rem}.space-carousel-footer p span{color:#087f78;font-weight:700}.space-controls{display:flex;gap:8px}.space-arrow{width:48px;height:48px;border:1px solid rgba(7,127,120,.28);background:#fff;color:#087f78;font-size:1.25rem;cursor:pointer;transition:.2s}.space-arrow:hover{background:#087f78;color:#fff}.image-modal{position:fixed;inset:0;z-index:1000;display:none;place-items:center;padding:24px;background:rgba(1,27,28,.9)}.image-modal.open{display:grid}.image-modal img{max-width:min(900px,92vw);max-height:88vh;width:auto;height:auto;object-fit:contain;box-shadow:0 28px 80px rgba(0,0,0,.45)}.image-modal-close{position:absolute;right:22px;top:18px;width:46px;height:46px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:2rem;line-height:1;cursor:pointer}.image-modal-close:hover{background:#fff;color:#063b3d}
@media(max-width:800px){.space-section{padding:86px 0}.space-heading{display:block;margin-bottom:34px}.space-heading>p{max-width:560px;margin-top:18px}.space-slide{flex-basis:min(60vw,360px);height:390px}}@media(max-width:500px){.space-section{padding:74px 0}.space-heading h2{font-size:clamp(2.12rem,9vw,2.62rem);line-height:1.1}.space-heading>p{font-size:.98rem}.space-track{gap:11px;padding-bottom:13px}.space-slide{flex-basis:78vw;height:360px}.space-slide:first-child{border-radius:4px 4px 4px 54px}.space-slide span{opacity:1;transform:none;font-size:.6rem}.space-carousel-footer{align-items:flex-start;margin-top:9px}.space-carousel-footer p{max-width:200px;font-size:.78rem;line-height:1.45}.space-arrow{width:43px;height:43px}.image-modal{padding:18px}.image-modal-close{right:12px;top:12px}}

/* Foto ampliada: cabe inteira e centralizada no celular */
.image-modal{padding:76px 24px 30px;background:rgba(1,27,28,.92);overscroll-behavior:contain}
.image-modal img{display:block;max-height:calc(100dvh - 126px);object-fit:contain}
@media(max-width:500px){.image-modal{padding:70px 14px 20px}.image-modal img{max-width:92vw;max-height:calc(100dvh - 112px)}.image-modal-close{right:14px;top:14px;width:42px;height:42px;font-size:1.8rem}}

/* Limite firme para a foto não passar da área visível de aparelhos menores */
@media(max-width:500px){
  .image-modal{align-items:center!important;padding:62px 14px 18px!important}
  .image-modal img{width:auto!important;height:auto!important;max-width:85vw!important;max-height:44dvh!important}
}

/* Área fixa: a imagem é encaixada integralmente, nunca ultrapassa a tela no celular */
.image-modal-stage{display:grid;place-items:center;max-width:92vw;max-height:76vh}
.image-modal-stage img{width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important}
@media(max-width:500px){.image-modal-stage{width:85vw;height:42vh;max-width:85vw;max-height:42vh}.image-modal-stage img{width:100%!important;height:100%!important;object-fit:contain!important}}

/* Atalhos de contato sempre visíveis e fáceis de tocar no celular */
.floating-actions{z-index:999!important;display:flex!important;visibility:visible!important;opacity:1!important}
.float{width:56px;height:56px;border:2px solid #fff!important;box-shadow:0 12px 28px rgba(1,45,44,.28)}
.float svg{width:28px;height:28px;stroke-width:2.15}
.instagram{background:radial-gradient(circle at 30% 105%,#ffd37a 0 8%,#f67b51 30%,#d72f8c 58%,#6832a7 100%)}
.whatsapp{background:#20c966}
@media(max-width:600px){.floating-actions{right:13px!important;bottom:18px!important;gap:10px}.float{width:54px;height:54px}.float svg{width:27px;height:27px}}

@media(max-width:600px){.floating-actions{position:fixed!important;right:14px!important;bottom:calc(18px + env(safe-area-inset-bottom))!important;z-index:2147483647!important;display:flex!important;pointer-events:auto!important}.float{display:grid!important;visibility:visible!important;opacity:1!important}}

/* Feedbacks: text cards visible without animation, responsive and unrestricted height. */
#feedbacks{scroll-margin-top:110px;background:#edf6f3;color:#073f40}
.feedback-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.feedback-card{min-width:0;padding:28px;background:#fff;border:1px solid #cee4de;border-radius:18px;box-shadow:0 10px 30px rgba(7,63,64,.04)}
.feedback-quote{display:block;color:#087f78;font:500 3.5rem/1 Georgia,serif;height:42px;margin-bottom:12px}
.feedback-card h3{font-size:1.15rem;line-height:1.4;margin:0 0 18px;color:#073f40}
.feedback-card blockquote{margin:0}.feedback-card blockquote p{font-size:1rem;line-height:1.8;color:#395957;margin:0;overflow-wrap:anywhere}
.feedback-source{font-size:.875rem;line-height:1.6;font-weight:700;margin:24px 0 0;padding-top:18px;border-top:1px solid #e0ece8;color:#073f40}
.feedback-source span{display:block;font-weight:400;color:#52716f}.feedback-note{font-size:.875rem;line-height:1.7;color:#52716f;margin:24px 0 0;max-width:750px}
@media(min-width:1101px){.nav{gap:18px}}
@media(min-width:701px) and (max-width:1100px){.feedback-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:700px){#feedbacks{padding:64px 0;scroll-margin-top:100px}.feedback-grid{grid-template-columns:minmax(0,1fr);gap:18px}.feedback-card{padding:24px 20px}.feedbacks .section-heading{margin-bottom:30px}.feedbacks h2{font-size:clamp(1.9rem,7.5vw,2.5rem);line-height:1.18;letter-spacing:-.02em}.feedback-card h3{font-size:1.125rem}.feedback-note{margin-top:22px}}
@media(min-width:901px) and (max-width:1100px){.nav{position:fixed;top:82px;left:16px;right:16px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:14px;background:#effaf8;border-radius:18px;box-shadow:var(--shadow)}.nav.open{display:flex}.nav>a{padding:13px;color:var(--ink)}.nav-cta{text-align:center;margin-top:5px}.menu-button{display:block}.menu-button span{background:#073f40}}
@media(max-width:1100px){.nav{max-height:calc(100dvh - 100px);overflow-y:auto}}

/* Crisp contact icons: isolate fill and stroke from legacy rules. */
.floating-actions .float .contact-icon{display:block;width:28px;height:28px;flex:none;overflow:visible;stroke:none;stroke-width:0;fill:none;shape-rendering:geometricPrecision}
.floating-actions .float .whatsapp-icon{fill:currentColor;stroke:none}
.floating-actions .instagram-icon rect,.floating-actions .instagram-icon circle:not(:last-child){fill:none;stroke:currentColor;stroke-width:1.8}
.floating-actions .instagram-icon circle:last-child{fill:currentColor;stroke:none}
.floating-actions .float{color:#fff;line-height:0;flex-shrink:0}
.floating-actions .float:focus-visible{outline:3px solid #073f40;outline-offset:4px}
