/* DR. PAULO HENRIQUE COSTA | DIREÇÃO EDITORIAL PREMIUM V6
   Camada de refinamento, sem frameworks e sem novas dependências JS. */
:root{--cream:#faf8f4;--warm:#f3eee7;--warm-2:#eae1d5;--brown:#4b2819;--brown-dark:#342019;--brown-deep:#271913;--gold:#9d774b;--gold-light:#ead9b9;--border:rgba(89,58,41,.12);--header-height:84px}
body{background:var(--cream);color:#33231d}
h1,h2,h3{letter-spacing:-.035em}
h1 em,h2 em{color:#a37e50}
p{line-height:1.8}
.container{width:min(1180px,calc(100% - 96px))}
.container-wide{width:min(1390px,calc(100% - 96px))}
.section-pad{padding:135px 0}
.section-kicker,.booking-eyebrow{font-size:10px;letter-spacing:.205em;font-weight:600;color:#986d40}
.btn,.header-contact,.booking-submit-button{border-radius:0;letter-spacing:.105em;box-shadow:none}
.btn{min-height:59px;padding:18px 27px}
.btn-primary{background:#4b2819}
.btn-light{background:#e9d2ac}
.btn:hover{transform:translateY(-2px)}
.site-header{background:rgba(250,248,244,.97);border-bottom:1px solid rgba(70,42,28,.09)}
.site-header.is-scrolled{background:rgba(250,248,244,.92)}
.header-inner{gap:28px}
.brand-text{gap:2px}
.brand-text>img{width:239px;height:auto;max-height:29px}
.brand-line{font-size:7px;letter-spacing:.22em;color:#816044}
.desktop-nav{gap:33px;margin-right:8px}
.desktop-nav a{color:#6e5b4d;font-size:11px;letter-spacing:.005em}
.header-contact{min-height:47px;background:#4b2819;padding:15px 19px;font-size:10px;letter-spacing:.075em}
/* Hero: proporções arquitetônicas, leitura editorial, fotografia como protagonista */
.hero{background:#faf8f4}
.hero:before{display:none}
.hero-container{grid-template-columns:minmax(0,1fr) minmax(0,.88fr);gap:clamp(58px,6vw,112px);min-height:710px;align-items:center}
.hero-copy{padding:76px 0 69px}
.hero-eyebrow{display:block;margin-bottom:24px;color:#916b4c;font-size:10px;font-weight:600;letter-spacing:.145em;line-height:1.5}
.hero h1{font-size:clamp(52px,5vw,72px);line-height:1.08;letter-spacing:-.045em;max-width:690px;margin-bottom:26px;text-wrap:balance}
.hero h1 em{color:#a47c4d}
.hero-description{font-size:16px;line-height:1.85;max-width:505px;color:#77695d;margin-bottom:28px}
.hero-actions{gap:25px}
.hero-assurance{color:#806e5d;font-size:11px;gap:9px}
.status-pip{background:#a88357;width:5px;height:5px}
.hero-identification{margin-top:34px}
.hero-signature{font-size:11px;color:#785f4b;letter-spacing:.015em}
.hero-visual{padding:27px 0;align-self:stretch;align-items:stretch}
.hero-frame{min-height:0;height:auto;position:relative;border:0;background:#442c26;box-shadow:0 26px 50px rgba(45,30,24,.09)}
.hero-frame:before,.hero-ornament,.hero-photo-label,.image-edge{display:none!important}
.hero-image{width:100%;height:100%;object-fit:cover;object-position:50% 35%;filter:saturate(.87) contrast(.99)}
.hero-footnote{height:55px;border-top:1px solid #e8e0d5;color:#8e7861;letter-spacing:.16em}
/* Section intros more like editorial spreads */
.identification{background:#fffdf9}
.introduction-grid{grid-template-columns:1.25fr .65fr;align-items:end;margin-bottom:60px;gap:10%}
.introduction-grid h2{font-size:clamp(47px,4.6vw,68px);line-height:1.09}
.section-intro-side p{max-width:345px;color:#807265;font-size:15px}
.pain-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pain-card{min-height:195px;padding:34px 40px;background:#f7f2eb;border:1px solid transparent;box-shadow:none;transition:background .25s,border-color .25s,transform .25s}
.pain-card:hover{background:#fffaf2;box-shadow:none;border-color:rgba(153,114,73,.22);transform:translateY(-2px)}
.pain-card h3{font-size:clamp(29px,2.5vw,38px);line-height:1.13;letter-spacing:-.02em;margin-bottom:13px}
.pain-card p{color:#87786b;font-size:14px;max-width:420px;line-height:1.7}
.identification-closure{margin-top:43px;color:#76614d}
/* Restrained dark chapter */
.approach{background:#35231d}
.approach:before{opacity:.34;background:radial-gradient(ellipse at 90% 7%,rgba(144,99,62,.14),transparent 48%)}
.approach-grain{display:none}
.approach-top{gap:10%;margin-bottom:66px}
.approach h2{font-size:clamp(48px,4.6vw,69px);line-height:1.08}
.approach-top p{color:#c4b6a8;font-size:15px}
.approach-list{gap:0 52px;border-top:1px solid rgba(233,213,191,.15)}
.approach-step{padding:37px 0;border-color:rgba(233,213,191,.15);gap:19px}
.approach-step h3{font-size:31px}
.approach-step p{font-size:14px;color:#c9beb2}
.step-visual{display:none}
.step-marker{border-color:rgba(235,218,187,.35);width:19px;height:19px;margin-top:8px}
.step-marker span{width:4px;height:4px}
.approach-footer{margin-top:48px}
/* Differentials: no template boxes */
.advantages{background:#fbf9f5}
.advantages-heading{max-width:800px;margin-bottom:70px}
.advantages-heading h2{font-size:clamp(48px,4.7vw,68px)}
.advantages-heading p{color:#807062}
.advantages-grid{border:0;gap:0 70px}
.advantage-card{border:0;border-top:1px solid #dfd3c4;padding:36px 0 34px;background:transparent;min-height:183px}
.advantage-card:hover{background:transparent}
.advantage-card h3{font-size:34px;margin-bottom:10px}
.advantage-card p{color:#807267;font-size:14px}
.advantages-bottom{margin-top:30px;color:#887665}
/* About: portrait instead of ornamental frame */
.about{background:#eee8df}
.about-inner{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(75px,9vw,150px)}
.about-photo-wrap{padding:0;align-self:stretch;min-height:650px}
.about-photo-wrap:before,.about-photo-detail{display:none!important}
.about-photo-bg{height:100%;min-height:650px;box-shadow:none}
.about-photo-bg img{object-position:50% 28%;filter:saturate(.84)}
.about-content{padding:48px 0}
.about h2{font-size:clamp(47px,4.2vw,64px);line-height:1.09;margin-bottom:34px}
.about-content p{color:#77695e;font-size:15px;line-height:1.86;margin-bottom:17px}
.about-name{margin-top:30px;padding-top:24px;border-color:rgba(86,55,36,.18)}
.about-name strong{font-size:15px;font-weight:600}
.text-cta{margin-top:28px;font-size:10px;letter-spacing:.12em}
/* Location as generous light spread */
.location{background:#fffdf9}
.location-inner{align-items:center}
.location h2{font-size:clamp(48px,4.5vw,67px);line-height:1.1}
.location-right{padding:0}
.location-right>p{color:#7b6c60}
.location-tags span{background:#f5efe6;border:0;padding:11px 16px;font-size:11px}
/* Elegant restrained final invitation */
.closing{background:#422719;padding:118px 0 122px}
.closing:before,.closing:after{display:none}
.closing-overlay{background:radial-gradient(ellipse at 50% 0%,rgba(167,119,69,.17),transparent 70%)}
.closing-content{max-width:920px}
.closing h2{font-size:clamp(53px,5.6vw,80px);line-height:1.05;margin-top:7px}
.closing p{font-size:15px;color:#ddcfc0;max-width:565px}
.closing-note{color:#c1aa8e}
/* FAQ & footer */
.faq{background:#faf8f4}
.faq-intro h2{font-size:clamp(48px,4.4vw,64px)}
.faq-item{border-color:#dfd5c8}
.faq-item summary{font-size:15px;font-weight:500;padding:28px 0}
.faq-toggle{border:1px solid #cbb69a}
.faq-help{border:0;background:#f0e8dc;padding:27px 31px}
.site-footer{background:#291a15}
.footer-main{padding-bottom:58px}
.footer-brand>div>img{width:267px;height:auto}
.footer-bottom{border-color:rgba(255,255,255,.13)}
/* Form • visual de concierge: left panel dark, right sheet ivory */
.booking-modal-shell{padding:24px}
.booking-modal-backdrop{background:rgba(27,17,13,.66);backdrop-filter:blur(10px)}
.booking-modal{width:min(1020px,100%);max-height:min(850px,calc(100dvh - 48px));border:1px solid rgba(233,214,184,.3);border-radius:0;background:#fbf9f6;box-shadow:0 45px 120px rgba(14,10,8,.32)}
.booking-modal-top{padding:11px 23px 11px 30px;background:#fbf9f6;border-color:#e9e0d5;min-height:56px}
.booking-modal-top>span{font-size:10px;font-weight:600;letter-spacing:.17em}
.booking-close{border-radius:0;background:transparent;border-color:#d9cab9;font-size:26px;width:34px;height:34px}
.booking-modal-body{padding:0;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);align-items:stretch}
.booking-modal-body>.booking-heading{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-start;background:#35231d;color:#fff;padding:48px 32px 310px;min-height:570px;overflow:hidden}
.booking-modal-body>.booking-heading:before{content:"";position:absolute;z-index:-1;bottom:0;left:0;right:0;height:310px;background:linear-gradient(180deg,#35231d 0%,transparent 35%),url('assets/dr-paulo-retrato-hero.webp') center 27%/cover no-repeat;filter:saturate(.75)}
.booking-modal-body>.booking-heading h2{font-size:clamp(40px,3.8vw,55px);line-height:1.06;color:#fff9f1;margin-bottom:17px}
.booking-modal-body>.booking-heading h2 em{color:#e2c292}
.booking-modal-body>.booking-heading .booking-eyebrow{font-size:9px;color:#e2c292}
.booking-modal-body>.booking-heading>p{font-size:13px;color:#e3d3c3;line-height:1.7}
.booking-modal-body>.booking-form{padding:39px 36px 31px}
.booking-modal-bottom{background:#f4ede4;padding:14px 36px 17px;gap:15px;border-color:#e5dace}
.booking-modal-bottom a{font-size:11px;color:#4b2819}
.booking-heading h2{font-size:clamp(40px,4vw,58px);letter-spacing:-.02em}
.booking-heading>p{font-size:14px;line-height:1.7}
.booking-field>span{font-size:12px;font-weight:600}
.booking-field input,.booking-field select{background:#fffdfa;border:1px solid #dfd4c7;border-radius:0;height:49px;font-size:14px;padding:0 14px}
.booking-field input:focus,.booking-field select:focus{border-color:#9d774b;box-shadow:0 0 0 2px rgba(174,137,80,.12)}
.booking-chips label>span{border-radius:0;min-height:38px;padding:9px 16px}
.booking-sensitive-note{border-left:0;background:#f1eae1;color:#8a7c70;padding:12px 15px;font-size:11px}
.booking-consent{font-size:11px}
.booking-submit-button{border:0;min-height:56px;padding:17px 22px}
.booking-modal .booking-fields{gap:15px}
.booking-page{background:#f6f1e9}
.booking-page .site-header{background:#faf8f4}
.booking-landing{width:min(1220px,calc(100% - 96px));margin:68px auto 74px;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);border:0;border-radius:0;box-shadow:0 26px 65px rgba(49,29,20,.07);background:#fbf9f5}
.booking-standalone-intro{position:relative;isolation:isolate;background:#38231a;padding:64px 48px 0;min-height:770px}
.booking-standalone-intro:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 0% 0%,rgba(180,136,77,.16),transparent 65%);z-index:-1}
.booking-standalone-intro h1{font-size:clamp(51px,4.2vw,70px);letter-spacing:-.025em;line-height:1.09;margin:14px 0 23px}
.booking-standalone-intro h1 em{color:#ead0a7}
.booking-standalone-intro>p{font-size:14px;color:#e0cebd;line-height:1.77}
.booking-intro-photo{height:360px;min-height:0;max-width:420px;margin:12px auto 0;width:100%}
.booking-intro-photo:before{background:linear-gradient(180deg,#38231a,transparent 15%,transparent 78%,rgba(56,35,26,.3))}
.booking-intro-photo img{object-position:center 28%}
.booking-standalone-form{padding:65px 56px 56px}
.booking-standalone-form .booking-heading h2{font-size:clamp(44px,3.8vw,57px);line-height:1.08}
.booking-standalone-form .booking-heading>p{margin-bottom:34px;color:#817469}
.booking-jump-cta{background:#ead1ad;color:#3b2518}
.booking-page .booking-legal-note{font-size:12px}
/* legal pages keep same visual DNA */
.legal-main{background:#faf8f4}
.legal-main h1,.notfound-block h1{letter-spacing:-.04em}
.cookie-banner{background:#fbf9f4;border:1px solid #ded0bf;border-radius:2px;box-shadow:0 20px 65px rgba(39,23,15,.14)}
.cookie-panel{background:#fbf9f4;border-radius:2px}
.cookie-button,.legal-preferences-button{border-radius:0}
@media(max-width:1240px){
  .desktop-nav{gap:18px}.brand-text>img{width:203px}
  .hero-container{gap:40px}.hero h1{font-size:clamp(48px,5vw,66px)}
}
@media(max-width:1060px){
  :root{--header-height:73px}
  .hero-container{grid-template-columns:1.04fr .96fr;min-height:610px}
  .hero h1{font-size:clamp(44px,5.1vw,58px)}
  .hero-visual{padding:20px 0}
  .booking-modal{width:min(900px,100%)}
  .booking-modal-body{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}
  .booking-modal-body>.booking-heading{padding:35px 28px 230px;min-height:545px}
  .booking-modal-body>.booking-heading:before{height:250px}
  .booking-modal-body>.booking-form{padding:30px}
  .booking-landing{width:calc(100% - 48px);grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}
  .booking-standalone-intro{padding:42px 30px 0}
  .booking-standalone-form{padding:43px 34px}
}
@media(max-width:750px){
  :root{--header-height:69px}
  .container,.container-wide{width:calc(100% - 44px)}
  .header-inner{height:var(--header-height)}
  .brand-text>img{width:192px;height:auto}
  .brand-line{letter-spacing:.16em;font-size:6.5px}
  .section-pad{padding:88px 0}
  .hero-container{grid-template-columns:1fr;gap:0;min-height:0}
  .hero-copy{padding:32px 0 29px}
  .hero-eyebrow{font-size:9px;line-height:1.6;letter-spacing:.105em;margin-bottom:14px}
  .hero h1{font-size:clamp(37px,7.6vw,53px);line-height:1.09;letter-spacing:-.038em;margin-bottom:16px}
  .hero-description{font-size:14px;line-height:1.65;margin-bottom:18px}
  .hero-actions{gap:12px}
  .hero-actions .btn{width:100%;min-height:52px;padding:14px 19px;font-size:10px}
  .hero-assurance{font-size:10px}
  .hero-identification{margin-top:15px}
  .hero-signature{font-size:10px}
  .hero-visual{padding:0 0 22px;align-items:stretch}
  .hero-frame{height:min(108vw,520px);min-height:0;box-shadow:none}
  .hero-image{object-position:50% 32%}
  .hero-footnote{height:50px}
  .introduction-grid{grid-template-columns:1fr;gap:20px;margin-bottom:34px}
  .introduction-grid h2,.advantages-heading h2,.about h2,.location h2,.faq h2{font-size:clamp(39px,8.3vw,56px)}
  .pain-grid{grid-template-columns:1fr;gap:10px}
  .pain-card{min-height:0;padding:27px 27px}
  .pain-card h3{font-size:30px}
  .pain-card p{font-size:13px}
  .approach-top{grid-template-columns:1fr;gap:16px;margin-bottom:35px}
  .approach h2{font-size:clamp(43px,8.4vw,58px)}
  .approach-list{grid-template-columns:1fr}
  .approach-step{padding:27px 0}
  .approach-step h3{font-size:28px}
  .advantages-heading{margin-bottom:36px}
  .advantages-grid{grid-template-columns:1fr;gap:0}
  .advantage-card{min-height:0;padding:26px 0}
  .advantage-card h3{font-size:30px}
  .advantages-bottom{margin-top:25px}
  .about-inner{grid-template-columns:1fr;gap:30px}
  .about-photo-wrap{padding:0;min-height:0;width:100%;margin:0}
  .about-photo-bg{height:min(126vw,590px);min-height:0}
  .about-content{padding:0}
  .location-inner{grid-template-columns:1fr;gap:20px}
  .closing{padding:90px 0}
  .closing h2{font-size:clamp(43px,8.6vw,60px)}
  .faq-inner{grid-template-columns:1fr;gap:25px}
  .faq-item summary{font-size:14px;padding:25px 0}
  .footer-main{padding-bottom:45px}
  .booking-modal-shell{padding:0;align-items:stretch}
  .booking-modal{width:100%;max-height:100dvh;border:0}
  .booking-modal-top{padding:11px 20px}
  .booking-modal-body{display:block}
  .booking-modal-body>.booking-heading{padding:25px 23px 22px;min-height:0;display:block;background:#f7f1e9;color:#4b2819}
  .booking-modal-body>.booking-heading:before{display:none}
  .booking-modal-body>.booking-heading .booking-eyebrow{color:#926b43;font-size:9px}
  .booking-modal-body>.booking-heading h2{color:#4b2819;font-size:clamp(39px,8.6vw,48px);margin:0 0 9px}
  .booking-modal-body>.booking-heading h2 em{color:#9d774b}
  .booking-modal-body>.booking-heading>p{color:#786b60;margin:0;font-size:12px}
  .booking-modal-body>.booking-form{padding:22px 23px 27px}
  .booking-modal-bottom{padding:17px 23px}
  .booking-fields{grid-template-columns:1fr;gap:13px}
  .booking-page .header-contact{display:inline-flex;font-size:9px;min-height:38px;padding:12px 14px}
  .booking-landing{width:100%;display:block;margin:0 auto 35px;box-shadow:none}
  .booking-standalone-intro{padding:38px 24px 29px;min-height:0;background:#38231a}
  .booking-standalone-intro h1{font-size:clamp(41px,9vw,53px);max-width:470px;margin:5px 0 16px}
  .booking-standalone-intro>p{font-size:13px;margin-bottom:13px;max-width:410px}
  .booking-standalone-intro .booking-intro-meta{margin-bottom:22px}
  .booking-intro-photo{display:none}
  .booking-jump-cta{display:flex;min-height:48px;max-width:420px}
  .booking-standalone-form{padding:38px 24px 42px}
  .booking-standalone-form .booking-heading h2{font-size:clamp(40px,8.5vw,53px)}
  .booking-standalone-form .booking-heading>p{margin-bottom:25px}
}
@media(max-width:430px){
  .container,.container-wide{width:calc(100% - 36px)}
  .brand-text>img{width:178px}
  .brand-line{font-size:6px}
  .hero-copy{padding:24px 0 23px}
  .hero h1{font-size:clamp(34px,8.3vw,38px);margin-bottom:13px;line-height:1.07}
  .hero-eyebrow{font-size:8.5px;line-height:1.55;margin-bottom:11px}
  .hero-description{font-size:13.5px;line-height:1.52;margin-bottom:15px}
  .hero-actions .btn{min-height:50px}
  .hero-identification{margin-top:13px}
  .hero-visual{padding-bottom:14px}
  .hero-frame{height:405px}
  .booking-modal-body>.booking-heading{padding:19px 20px 16px}
  .booking-modal-body>.booking-heading h2{font-size:39px}
  .booking-modal-body>.booking-form{padding:18px 20px 25px}
  .booking-modal-top>span{font-size:9px}
  .booking-standalone-intro{padding:30px 21px 27px}
  .booking-standalone-form{padding:32px 21px 38px}
}
@media(max-width:350px){
  .hero h1{font-size:32px;line-height:1.07}
  .hero-copy{padding:19px 0 21px}
  .hero-description{font-size:12.75px;line-height:1.48}
  .hero-eyebrow{font-size:8px}
  .hero-actions .btn{padding:12px 14px}
  .booking-standalone-intro h1{font-size:38px}
}
@media(prefers-reduced-motion:reduce){.btn:hover{transform:none}}
