/* Dra. Aline Gonzaga — V2.4 Signature Edition
   Camada de acabamento sobre V2.3. Não altera lógica de agendamento.
*/
:root {
  --ink:#163c32;
  --green:#123c34;
  --green-deep:#082b25;
  --v24-ivory:#f8f5ee;
  --v24-cream:#f1e8d9;
  --v24-champagne:#e4cfab;
  --v24-sage:#cad6c9;
  --v24-outline:rgba(24,64,50,.14);
  --v24-deep-shadow:0 28px 72px rgba(17,45,37,.13);
}
html{scroll-padding-top:112px}
body{background:var(--v24-ivory);}
.container{width:min(1210px,calc(100% - 68px));}
/* Refine masthead and primary navigation */
.topbar{background:#092b25;color:#cbdcd0;}
.topbar a{color:#ebd4b1;font-weight:600}
.header{background:rgba(250,249,246,.96);border-bottom:1px solid rgba(11,52,41,.11);box-shadow:0 14px 38px rgba(7,38,28,.07)}
.header-inner{height:94px;}
.brand-mark{width:52px;height:52px;border-radius:15px 4px 15px 4px;box-shadow:0 12px 28px rgba(12,52,42,.13)}
.brand-words strong{font-size:19px;letter-spacing:-.045em}
.brand-words small{font-size:9px;letter-spacing:.18em}
.nav{gap:30px}
.nav>a:not(.nav-cta){font-weight:650;font-size:12.5px}
.nav-cta{padding:15px 23px;background:#123f34;border-radius:8px;box-shadow:0 8px 24px rgba(18,65,50,.16)}
.nav-cta:hover,.nav-cta:focus-visible{background:#23614f;box-shadow:0 13px 30px rgba(16,58,47,.18)}
/* First impression: high-impact but calm, editorial */
.hero{position:relative;padding:0 0 67px;border-bottom:0;background:linear-gradient(135deg,#123f35 0%,#0c312a 52%,#0a2c25 100%);}
.hero::before{background:radial-gradient(circle at 12% 90%,rgba(196,166,119,.14),transparent 36%),radial-gradient(circle at 94% 2%,rgba(211,199,159,.13),transparent 44%),repeating-linear-gradient(125deg,transparent 0px,transparent 46px,rgba(255,255,255,.012) 47px,transparent 48px);}
.hero-grid{grid-template-columns:52% 48%;min-height:735px;}
.hero-copy{padding:114px 50px 45px 0;}
.hero h1{font-size:clamp(52px,5.05vw,79px);letter-spacing:-.053em;line-height:1.09;margin:28px 0 29px;max-width:690px;text-wrap:balance}
.hero h1 em{color:#ecd1a8;text-shadow:0 12px 35px rgba(0,0,0,.08)}
.hero-copy>p{font-size:16px;line-height:1.95;color:#e0e8e0;max-width:510px}
.hero .eyebrow{font-size:11px;color:#e0c59c;letter-spacing:.23em}
.hero-actions{margin-top:35px;gap:27px}
.button{border-radius:9px;letter-spacing:.015em}
.button-gold{background:linear-gradient(132deg,#ecd4b0,#d9b78a);color:#163e33;padding:19px 25px;border:1px solid #f7e3c4;box-shadow:0 15px 42px rgba(3,20,14,.22)}
.button-gold:hover{background:linear-gradient(132deg,#f5dfbd,#eac69a);box-shadow:0 21px 46px rgba(3,20,14,.27)}
.hero-secondary{display:inline-flex;gap:7px;align-items:center;border-bottom:1px solid rgba(245,227,200,.3);padding-bottom:7px}
.hero-trust{margin-top:52px}
.hero-trust strong{font-size:14px}
.hero-trust small{font-size:11px;letter-spacing:.08em}
.hero-edition{display:flex;align-items:center;gap:18px;color:rgba(235,226,209,.59);font-size:9px;letter-spacing:.24em;font-weight:750;margin-top:39px;max-width:480px}
.hero-edition-line{width:46px;height:1px;background:rgba(238,214,180,.45)}
.hero-visual{min-height:735px;}
.hero-visual::before{width:695px;height:695px;border-color:rgba(248,236,211,.18);left:-1%;top:5%}
.hero-visual::after{width:530px;height:530px;border-color:rgba(248,236,211,.12);left:10%;top:18%}
.hero-photo-wrap{width:min(94%,514px);height:635px;margin-top:58px;margin-right:15px;border-radius:245px 245px 9px 9px;outline:1px solid rgba(242,216,180,.5);outline-offset:11px;box-shadow:0 40px 80px rgba(3,26,19,.34)}
.hero-photo-wrap img{object-position:center 26%;transform:scale(1.01);transition:transform .8s ease}
.hero-photo-wrap:hover img{transform:scale(1.045)}
.hero-photo-caption{bottom:77px;left:-15px;border:1px solid #f1e8d8;border-left:5px solid #c3a47c;background:#fcfaf5;box-shadow:0 18px 38px rgba(2,29,21,.21);padding:19px 24px;border-radius:11px}
.hero-photo-id{position:absolute;right:30px;bottom:42px;color:#e9d3b5;letter-spacing:.17em;font-size:10px;white-space:nowrap;opacity:.8}
.hero-photo-id span{color:#bd9b6f;margin-inline:7px}
.hero-vertical{right:-25px;color:rgba(247,239,221,.59)}
.hero-bottom-line{height:5px;background:linear-gradient(90deg,#cda978,#f0ddba 41%,#3f7964 90%)}
/* Floating proof points */
.highlights{margin-top:-72px;padding-bottom:10px;}
.highlight-grid{border:1px solid #e7e2d7;border-radius:21px;background:rgba(255,254,250,.985);box-shadow:0 22px 54px rgba(7,45,32,.13)}
.highlight-item{padding:35px 29px;border-right:1px solid #e6e4dd}
.highlight-item:last-child{border:0}
.hi-icon{width:55px;height:55px;background:linear-gradient(160deg,#fdfbf5,#f4f5ef);border:1px solid #e4e2d8;font-size:21px;color:#3b6856}
.highlight-item strong{display:block;font-size:14px;color:#254d3f}
.highlight-item p{font-size:12px;color:#6c7c71}
/* Editorial typography: precise whitespace and boundaries */
.section{padding:108px 0}
.section h2,.steps-section h2,.appointment h2{letter-spacing:-.05em}
.section h2 em,.steps-section h2 em,.appointment h2 em{color:#aa8965}
.section h2{font-size:clamp(38px,4.2vw,61px)}
.eyebrow{letter-spacing:.21em;font-size:10px}
.about{background:linear-gradient(180deg,#f8f6f1 0%,#f2eee5 100%);padding:100px 0 84px}
.about .container.about-grid{background:linear-gradient(143deg,#fffcf7 0%,#f6f3eb 100%);border:1px solid #e7e2d6;box-shadow:0 30px 65px rgba(17,52,43,.085);border-radius:35px;padding:50px;gap:5px}
.about .container.about-grid::before{height:5px}
.about-images{min-height:595px;padding-right:65px}
.about-main-image{height:565px;border-radius:245px 245px 9px 9px;box-shadow:0 24px 48px rgba(23,51,39,.12)}
.about-small-image{right:-2px;bottom:5px;width:39%;height:200px;border:8px solid #faf8f1;box-shadow:0 18px 34px rgba(20,50,37,.16)}
.about-seal{box-shadow:0 11px 28px rgba(11,54,38,.15);background:#d9b990;border-color:#faf8f1}
.about-content{padding-left:50px}
.about-content h2{margin-top:24px}
.about-content p{font-size:14px;line-height:1.95}
.about-lead{font-size:18px!important}
.qualification{background:#eff2eb;border:1px solid #dce5d8;padding:17px 20px;margin:29px 0 25px;border-radius:15px}
.qualification-icon{background:#fff;border-color:#e0e6dd}
.inline-link{border-bottom:1px solid rgba(19,68,52,.34);padding-bottom:9px}
/* Less generic cards, more rhythm */
.patient-paths{background:#f2eee5;padding:32px 0 120px}
.patient-paths .paths-intro{margin-bottom:34px}
.patient-paths h2{font-size:clamp(43px,4.7vw,65px)}
.patient-paths .paths-intro>p{font-size:14.5px}
.paths-grid{gap:19px}
.path-card{border:1px solid #e4dfd2;border-radius:22px;min-height:357px;padding:32px;background:linear-gradient(151deg,#fffdf8,#f7f6f1);box-shadow:0 15px 32px rgba(21,52,41,.07)}
.path-card:hover{box-shadow:0 25px 55px rgba(21,52,41,.16)}
.path-card-02{background:linear-gradient(155deg,#f5f8f2,#eaf2e9)}
.path-card-03{background:linear-gradient(155deg,#e9dbc3,#f5e8d3)}
.path-card strong{font-size:31px}
.path-card::before{border-color:rgba(28,89,68,.13)}
/* Services gain strong section contrast */
.services{overflow:hidden;background:radial-gradient(circle at 84% 16%,rgba(219,194,151,.09),transparent 32%),linear-gradient(135deg,#0a3129,#092922 88%);border:0;padding-top:122px;padding-bottom:120px}
.services::before{content:"";display:block;position:absolute;right:-120px;top:80px;width:540px;height:540px;border:1px solid rgba(233,215,184,.09);border-radius:50%;pointer-events:none}
.services h2{font-size:clamp(43px,4.5vw,64px)}
.services .section-heading{border-bottom:0;margin-bottom:15px;padding-bottom:0}
.services-heading>p{font-size:14px;max-width:330px}
.services-intro-rule{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(229,222,205,.21);margin-bottom:34px;padding:17px 0;color:#c8b38e;font-size:10px;letter-spacing:.23em;font-weight:750}
.services-intro-rule span:last-child{font-size:20px}
.service-grid{gap:16px}
.service-card,.service-card:nth-child(even){min-height:365px;padding:30px 27px 28px;border:1px solid rgba(229,220,194,.18);border-radius:15px;background:linear-gradient(160deg,rgba(43,100,81,.70) 0%,rgba(19,71,55,.74) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 33px rgba(3,22,17,.11)}
.service-card:hover{border-color:rgba(228,200,154,.75);background:#1e5646;transform:translateY(-7px)}
.service-icon{background:rgba(219,210,182,.06);border-color:rgba(226,205,166,.36)}
.service-card h3{font-size:26px;line-height:1.15;margin-top:17px;margin-bottom:16px}
.service-card p{line-height:1.83;color:#cddfd1}
.service-link{color:#e6c698}
.services-disclaimer{margin-top:28px}
/* Signature: compact elegant breathing space */
.signature-band{position:relative;overflow:hidden;background:#143e33;color:#f4e8d1;border-top:1px solid rgba(232,206,168,.3);border-bottom:1px solid rgba(232,206,168,.3)}
.signature-band-inner{display:flex;align-items:center;justify-content:center;gap:24px;min-height:102px;text-align:center}
.signature-band-inner>span:not(.signature-flourish){font:italic 24px/1.25 var(--serif);letter-spacing:-.015em}
.signature-band-inner i{width:7px;height:7px;border:1px solid #c8a47d;transform:rotate(45deg);flex:none}
.signature-flourish{font-size:21px;opacity:.65}
/* Photo story */
.care-section{background:#fbf8f2;padding:105px 0}
.care-grid{background:#e9e0ce;border:1px solid #e5dccd;border-radius:30px;box-shadow:0 28px 55px rgba(20,56,42,.10)}
.care-grid::before{height:6px;background:linear-gradient(90deg,#0c3e33,#c5aa80,#e9d3ac)}
.care-photo{margin:18px 0 18px 18px;border:0;min-height:440px;border-radius:20px;overflow:hidden;box-shadow:none}
.care-photo img{height:100%;object-fit:cover;object-position:center}
.care-copy{padding:70px 67px 70px 75px}
.care-copy h2{font-size:clamp(42px,4.4vw,61px);line-height:1.13}
.care-copy p{font-size:15px;line-height:1.85;max-width:480px}
/* Clear place hierarchy */
.locations{background:linear-gradient(180deg,#f2eee6,#f9f7f1);padding:108px 0}
.locations .container{background:#fffdf8;border:1px solid #e9e3d8;border-radius:30px;box-shadow:0 25px 54px rgba(18,60,45,.085);padding:51px}
.locations .section-heading{margin-bottom:34px}
.location-grid{gap:25px}
.location-card{border-radius:20px;border-color:#dfdfd4;box-shadow:0 17px 35px rgba(15,50,37,.09)}
.location-card:hover{transform:translateY(-6px)}
.location-photo,.location-home-bg{height:300px}
.location-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.location-home-bg{background:radial-gradient(circle at 66% 36%,rgba(219,193,148,.22),transparent 45%),linear-gradient(150deg,#e4ede4,#f2f2e8)}
.location-details{padding:31px}
.location-tag{letter-spacing:.15em}
.schedule-line{border-radius:8px}
/* Timeline steps cards: legible */
.steps-section{background:#ede6d9;padding:101px 0}
.steps-section .container{border-color:#e1ddd2;border-radius:30px;background:#faf8f2;box-shadow:0 25px 55px rgba(24,55,43,.08);padding:48px}
.steps-header{margin-bottom:43px}
.steps-grid{gap:22px}
.step{background:#fffefb;box-shadow:0 12px 26px rgba(20,52,39,.06);padding:29px;border-radius:16px;border:1px solid #e9e5db}
.step::after{height:4px;border-radius:16px 16px 0 0}
.faq{background:#f8f6f0}
.faq .container{border-radius:30px;padding:53px;background:#fefdf8;box-shadow:0 24px 53px rgba(16,56,37,.075)}
.faq-list{box-shadow:0 16px 29px rgba(16,56,37,.045)}
.faq-list summary{font-size:14px}
/* Form is still a WhatsApp draft; style without changing fields */
.appointment{background:linear-gradient(135deg,#103f34,#0a2e28 82%);padding:100px 0}
.appointment-grid{box-shadow:0 26px 66px rgba(2,26,19,.20);border-radius:28px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.12);padding:46px;gap:35px}
.appointment h2{font-size:clamp(44px,4.2vw,61px)}
.appointment-copy{padding-right:25px}
.appointment-form{border-radius:20px;background:linear-gradient(180deg,#fffdfa 0%,#fff 100%);border:1px solid #efebdf;padding:36px 38px}
.appointment-form::before{height:6px;background:linear-gradient(90deg,#c7a67d,#e6d7bc)}
.appointment-form input,.appointment-form select{border-radius:7px;min-height:49px;background:#fafaf6}
.button-green{min-height:52px;box-shadow:0 10px 22px rgba(10,59,39,.18)}
.footer{background:#092b25}
.footer-main{padding-top:85px;padding-bottom:70px}
.float-whatsapp{width:60px;height:60px;border:4px solid white;right:20px;bottom:20px}
.legal-content{border-radius:25px}
/* Micro-interactions: no hidden text or layout jump */
@media(hover:hover) and (pointer:fine){
 .hero-secondary:hover{color:#f1d2a7}
 .path-card:hover .path-arrow{background:#e8d4b2}
 .service-card:hover .service-icon{border-color:#e5c79a}
 .float-whatsapp:hover{transform:translateY(-4px) scale(1.04)}
}
@media(max-width:1120px){
 .container{width:min(100% - 50px,1210px)}
 .nav{gap:19px}
 .hero-grid{grid-template-columns:53% 47%}
 .hero-copy{padding-right:35px}
 .hero h1{font-size:clamp(49px,5.3vw,71px)}
 .hero-photo-wrap{width:93%}
 .about .container.about-grid{padding:38px}
 .about-content{padding-left:32px}
 .care-copy{padding:60px 45px}
 .location-details{padding:27px}
 .appointment-grid{padding:37px}
}
@media(max-width:900px){
 .container{width:min(100% - 42px,740px)}
 .header-inner{height:76px}
 .nav{top:76px;gap:0}
 .nav.open{box-shadow:0 25px 38px rgba(12,44,31,.16)}
 .menu-button{display:flex}
 .hero{padding-bottom:44px}
 .hero-grid{grid-template-columns:1fr;min-height:0}
 .hero-copy{padding:85px 0 25px}
 .hero h1{font-size:clamp(49px,8vw,70px)}
 .hero-visual{min-height:565px;max-width:615px;margin:auto}
 .hero-photo-wrap{height:540px;margin-top:20px;width:78%;margin-right:25px}
 .hero-photo-caption{bottom:55px;left:8px}
 .hero-photo-id{bottom:16px;right:30px}
 .hero-vertical{display:none}
 .highlights{margin-top:-35px}
 .highlight-grid{display:grid;grid-template-columns:repeat(3,1fr)}
 .highlight-item{padding:22px 12px;gap:10px}
 .hi-icon{width:42px;height:42px;font-size:16px}
 .highlight-item strong{font-size:11px}
 .highlight-item p{font-size:10.5px}
 .about .container.about-grid{padding:30px;gap:50px}
 .about-images{padding-right:62px;min-height:520px}
 .about-main-image{height:515px}
 .about-content{padding:0}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-card{min-height:335px}
 .signature-band-inner{flex-wrap:wrap;min-height:95px;gap:14px}
 .signature-band-inner>span:not(.signature-flourish){font-size:19px}
 .care-grid{grid-template-columns:1fr}
 .care-photo{height:380px;min-height:0;margin:16px 16px 0}
 .care-copy{padding:46px 37px 50px}
 .locations .container,.steps-section .container,.faq .container{padding:34px}
 .location-photo,.location-home-bg{height:245px}
 .location-grid{gap:18px}
 .appointment-grid{grid-template-columns:1fr;padding:30px}
 .appointment-copy{padding:0}
}
@media(max-width:600px){
 .container{width:calc(100% - 32px)}
 .topbar-inner{height:32px}
 .header-inner{height:69px;gap:10px}
 .nav{top:69px}
 .brand-mark{width:42px;height:42px}
 .brand-words strong{font-size:16px}
 .brand-words small{font-size:7.5px}
 .hero{padding-bottom:0}
 .hero-copy{padding:59px 0 10px}
 .hero h1{font-size:clamp(40px,10vw,56px);line-height:1.1;max-width:100%;text-wrap:pretty}
 .hero-copy>p{font-size:14px}
 .hero-actions{gap:15px;margin-top:29px}
 .button-gold{min-height:52px;padding:15px 20px}
 .hero-trust{margin-top:32px}
 .hero-edition{font-size:8px;letter-spacing:.12em;margin-top:25px;gap:12px}
 .hero-edition-line{width:22px}
 .hero-visual{min-height:422px;max-width:100%;margin-top:4px}
 .hero-photo-wrap{height:413px;width:82%;margin-left:auto;margin-right:12px;outline-offset:4px;border-radius:200px 200px 6px 6px}
 .hero-photo-caption{left:0;bottom:45px;gap:9px;padding:10px 12px}
 .hero-photo-id{font-size:7px;right:19px;bottom:17px}
 .highlights{margin-top:0;padding:14px 0 0}
 .highlight-grid{grid-template-columns:1fr;border-radius:16px}
 .highlight-item{padding:15px 19px!important;gap:17px;border:0;border-bottom:1px solid #e9e6dd}
 .highlight-item strong{font-size:13px}
 .highlight-item p{font-size:12px}
 .hi-icon{width:43px;height:43px;font-size:17px}
 .section{padding:74px 0}
 .section h2{font-size:clamp(36px,9vw,45px)}
 .about{padding:68px 0 60px}
 .about .container.about-grid{padding:18px;border-radius:21px;gap:35px}
 .about-images{width:100%;padding-right:35px;min-height:392px}
 .about-main-image{height:385px}
 .about-small-image{height:151px;right:-2px;bottom:6px}
 .about-seal{width:74px;height:74px;left:-10px}
 .about-seal span{font-size:10px}
 .about-content h2{margin-bottom:19px}
 .about-content p{font-size:13px}
 .about-lead{font-size:16px!important}
 .qualification{padding:13px 12px;gap:12px}
 .qualification strong{font-size:12px}
 .qualification small{font-size:11px}
 .patient-paths{padding:8px 0 72px}
 .patient-paths h2{font-size:clamp(36px,9vw,47px)}
 .paths-grid{grid-template-columns:1fr;gap:14px}
 .path-card,.paths-grid .path-card:last-child{padding:24px;min-height:0}
 .path-card strong{font-size:28px}
 .services{padding:82px 0}
 .services::before{display:none}
 .services h2{font-size:clamp(38px,9vw,47px)}
 .services-intro-rule{font-size:8px;letter-spacing:.1em}
 .service-grid{grid-template-columns:1fr;gap:13px}
 .service-card,.service-card:nth-child(even){min-height:0;padding:24px}
 .service-card h3{font-size:26px}
 .signature-band-inner{padding:23px 0;min-height:0;gap:10px 15px}
 .signature-band-inner>span:not(.signature-flourish){font-size:16px}
 .signature-flourish{display:none}
 .signature-band-inner i{height:5px;width:5px}
 .care-section{padding:68px 0}
 .care-grid{border-radius:22px}
 .care-photo{height:250px;margin:13px 13px 0}
 .care-copy{padding:31px 24px 39px}
 .care-copy h2{font-size:clamp(35px,9vw,44px)}
 .locations{padding:74px 0}
 .locations .container,.steps-section .container,.faq .container{padding:21px;border-radius:23px}
 .locations .section-heading{margin-bottom:24px}
 .location-grid{grid-template-columns:1fr;gap:15px}
 .location-photo,.location-home-bg{height:240px}
 .location-details{padding:23px}
 .steps-section{padding:74px 0}
 .steps-grid{grid-template-columns:1fr}
 .step{padding:24px}
 .faq-list{padding:4px 14px}
 .faq-list summary{font-size:13px}
 .appointment{padding:67px 0}
 .appointment-grid{padding:16px;border-radius:23px;gap:26px}
 .appointment-copy{padding:12px 7px 0}
 .appointment h2{font-size:clamp(38px,9.5vw,47px)}
 .appointment-form{padding:24px 19px;border-radius:18px}
 .float-whatsapp{width:54px;height:54px;bottom:15px;right:15px}
 .legal-content{border-radius:20px}
}
@media(max-width:380px){
 .brand-words strong{font-size:14px}
 .brand-words small{font-size:6px}
 .hero h1{font-size:38px}
 .hero-photo-wrap{width:86%}
 .location-details{padding:20px}
 .appointment-form{padding:20px 16px}
}
@media(prefers-reduced-motion:reduce){
 .hero-photo-wrap img{transition:none}
 .path-card,.service-card,.location-card{transition:none!important}
}
