/* PALETA: altere estas variáveis para trocar as cores de toda a página. */
:root{--cream:#f7f5f0;--gold:#b59c6e;--olive:#48523e;--ink:#252822;--light:#fffefa;--radius:14px;--content:830px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;object-fit:cover}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #8b621f;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h2{font-size:30px;line-height:1.18;letter-spacing:-.7px}h3{font-size:18px;line-height:1.3}p{line-height:1.5}.container{width:min(var(--content),calc(100% - 48px));margin-inline:auto}.button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 20px;border:0;border-radius:13px;background:var(--olive);color:var(--light);font-weight:700;font-size:14px;line-height:1.2;cursor:pointer;transition:filter .2s,transform .2s}.button:hover{filter:brightness(1.12);transform:translateY(-2px)}.button-gold{background:var(--gold);color:#fff}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:8px;left:8px;background:white;padding:12px;z-index:20}
/* NAVBAR: largura e espaçamento baseados na referência. */
.header{position:absolute;top:20px;left:50%;transform:translateX(-50%);z-index:2;overflow:hidden;border-radius:15px 15px 11px 11px;box-shadow:0 3px 22px #4137200a}.header-main{display:flex;align-items:center;gap:22px;padding:15px 65px;background:#eeede9ed;min-height:106px}.brand{margin-right:auto}.brand img{width:205px;height:auto;mix-blend-mode:multiply}.header-phone{font-size:12px;white-space:nowrap;background:#fff;border-radius:15px;padding:9px 20px}.header-main>.button{white-space:nowrap;margin-left:-30px}.header nav{display:flex;justify-content:center;background:var(--gold)}.header nav a{padding:8px 27px;font-size:12px;color:#fff}.header nav a:hover,.header nav a.active{background:var(--cream);color:var(--olive)}
/* HERO: foto à esquerda, texto à direita e cartões sobrepostos. */
.hero{background:linear-gradient(105deg,#d7cabb,#e4dbd1 61%,#b39d82);padding-top:159px;min-height:780px;overflow:hidden}.hero-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:550px;gap:28px}.hero-photo{width:100%;height:540px;object-position:44% center;border-radius:18px;mix-blend-mode:multiply}.hero-copy{align-self:start;padding-top:85px;padding-left:8px;max-width:360px}.hero h1{font-size:44px;line-height:1.03;letter-spacing:-1.3px;color:var(--olive);font-weight:800;margin-bottom:15px}.hero-copy p{font-size:13px;margin-bottom:14px;max-width:325px}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:-78px;position:relative}.feature{border-radius:var(--radius);padding:20px 19px 24px;background:var(--olive);color:var(--light);min-height:190px;box-shadow:0 4px 5px #0002}.feature-gold{background:var(--gold);color:var(--ink)}.feature svg{width:40px;height:40px;fill:none;stroke:#b8a57a;stroke-width:1.6;margin-bottom:10px}.feature-gold svg{stroke:#6d7355}.feature h2{font-size:14px;letter-spacing:0;margin-bottom:10px}.feature p{font-size:12px;line-height:1.45}
/* BIOGRAFIA: substitua a imagem vertical mantendo o caminho no HTML. */
.about{display:grid;grid-template-columns:1.08fr 1fr;gap:30px;align-items:center;padding-top:34px;min-height:468px}.about-copy{padding-bottom:35px}.about h2{color:var(--olive);margin-bottom:10px;white-space:nowrap}.about p{font-size:12px;line-height:1.55;margin-bottom:14px}.about>img{height:434px;width:100%;object-position:center top;align-self:end;mix-blend-mode:multiply}.gold-section{background:var(--gold)}.section-heading{text-align:center;margin-bottom:26px}.section-heading h2{margin-bottom:10px}.section-heading p{font-size:12px}.procedures{padding:63px 0 62px}.carousel{position:relative;padding:0 34px}.procedure-card{display:grid;grid-template-columns:1.12fr 1fr;background:var(--olive);border-radius:var(--radius);overflow:hidden;min-height:295px;color:var(--light)}.procedure-card>img{width:100%;height:100%;min-height:295px;object-fit:cover;border-radius:var(--radius)}.procedure-copy{padding:42px 30px;align-self:center}.procedure-copy h3{margin-bottom:12px}.procedure-copy p{font-size:12px;line-height:1.5}.arrow{position:absolute;top:50%;transform:translateY(-50%);width:34px;min-height:44px;border:0;background:transparent;color:var(--olive);font-size:32px;cursor:pointer;border-radius:6px}.arrow:hover{background:#ffffff30}.prev{left:0}.next{right:0}.center-cta{text-align:center;margin-top:36px}.testimonials{padding-block:64px}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:5px 20px 0}.testimonial-grid figure{background:var(--olive);color:var(--light);border-radius:var(--radius);padding:25px;display:flex;flex-direction:column;min-height:177px}.testimonial-grid blockquote{margin:0 0 17px;font-size:12px;line-height:1.55}.testimonial-grid figcaption{display:flex;gap:11px;align-items:center;margin-top:auto;font-weight:700;font-size:10px}.testimonial-grid img{border-radius:50%;width:34px;height:34px}
/* FORMULÁRIO E CONTATOS: os campos possuem rótulos acessíveis. */
.contact{padding:64px 0 32px}.contact-layout{display:grid;grid-template-columns:.8fr 1fr;gap:82px;align-items:start}.location{background:#fff0e8;border-radius:12px;overflow:hidden}.map-link{display:block}.map-link img{width:100%;height:254px}.location address{padding:18px;font-size:12px;font-style:normal;line-height:1.55}.location address a{display:block}.location address span{padding-left:18px}.contact-card{background:var(--olive);color:var(--light);padding:25px;border-radius:var(--radius)}.contact-card h2{margin-bottom:8px}.contact-card>p{font-size:12px;margin-bottom:12px}form{display:grid;gap:8px}input,textarea{width:100%;border:1px solid #dedfd7;border-radius:15px;background:#fff;padding:8px 12px;color:var(--ink);font-size:12px;min-height:32px}textarea{border-radius:12px;resize:vertical;min-height:78px}form>.button{justify-self:start}.form-status{font-size:12px}.form-status:empty{display:none}.footer{padding:14px 24px 20px;background:var(--gold);text-align:center;font-size:11px;color:var(--ink)}
/* RESPONSIVIDADE: duas colunas no tablet e uma coluna no celular. */
@media(min-width:1400px){:root{--content:950px}.hero-layout{gap:45px}.hero-copy{max-width:420px}.hero h1{font-size:50px}}
@media(max-width:800px){.header-main{padding:14px 25px}.header-phone{display:none}.header-main>.button{margin-left:0}.header nav a{padding:10px 18px}.hero h1{font-size:37px}.hero-copy{padding-top:70px}.hero{min-height:720px}.hero-photo{height:480px}.hero-layout{gap:18px;min-height:490px}.feature{padding:18px 13px}.about h2{white-space:normal;font-size:27px}.contact-layout{gap:35px}.procedure-copy{padding:25px}.testimonial-grid{padding-inline:0}.testimonial-grid figure{padding:19px}.about{gap:20px}.about>img{height:440px}}
@media(max-width:580px){.container{width:calc(100% - 36px)}.header{top:14px}.header-main{padding:12px 16px;min-height:78px;gap:12px}.brand img{width:148px}.header-main>.button{font-size:11px;padding:10px 12px;min-height:36px}.header nav{flex-wrap:wrap;padding:3px}.header nav a{font-size:10px;padding:10px 8px}.hero{padding-top:150px;min-height:0;padding-bottom:74px}.hero-layout{grid-template-columns:1fr;gap:24px}.hero-photo{height:320px;object-position:center 45%;width:100%}.hero-copy{padding:0 8px 10px;max-width:100%}.hero h1{font-size:40px}.hero h1 br{display:none}.hero-copy p{font-size:14px;max-width:100%;margin-block:16px}.features{grid-template-columns:repeat(2,1fr);margin-top:-42px;gap:12px}.feature{min-height:202px;padding:19px 15px}.feature p{font-size:12px}.feature h2{font-size:14px}.about{grid-template-columns:1fr;padding-top:55px;gap:20px}.about-copy{padding-bottom:0}.about p{font-size:14px}.about h2{font-size:30px}.about>img{height:380px;width:min(100%,340px);justify-self:center}.procedures,.testimonials{padding-block:48px}.section-heading h2{font-size:29px}.section-heading p{font-size:13px}.carousel{padding-inline:25px}.arrow{width:25px}.procedure-card{grid-template-columns:1fr}.procedure-card>img{height:225px;min-height:0}.procedure-copy{padding:26px;min-height:245px}.procedure-copy p{font-size:14px}.testimonial-grid{grid-template-columns:1fr;gap:16px}.testimonial-grid figure{padding:25px;min-height:0}.testimonial-grid blockquote{font-size:14px}.testimonial-grid figcaption{font-size:12px}.contact{padding-top:42px}.contact-layout{grid-template-columns:1fr;gap:30px}.map-link img{height:245px}.contact-card{padding:25px}.contact-card>p{font-size:13px}input,textarea{font-size:16px;min-height:44px}.center-cta{margin-top:29px}.button{min-height:42px}.location address{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* PODOLU: enquadramento por CSS, preservando os arquivos originais anexados.
   A janela do logo desconta as margens transparentes do arquivo fornecido. */
.brand{position:relative;display:block;width:205px;height:120px;flex-shrink:0;overflow:hidden}
.brand img{position:absolute;width:287px;max-width:none;height:auto;left:-39px;top:-40px;mix-blend-mode:normal}
/* Respiro adicional abaixo do cabeçalho, em desktop e tablet. */
.hero{padding-top:229px}
.hero-photo{height:auto;aspect-ratio:1;object-fit:contain;object-position:center;mix-blend-mode:normal}
.about{padding-bottom:34px}
.about>img{height:434px;object-fit:cover;object-position:50% 0%;border-radius:18px;mix-blend-mode:normal;align-self:center}
.about h2{white-space:normal}
.contact-map{display:block;width:100%;height:254px;border:0;background:var(--cream)}
.location-link{margin-top:8px;text-decoration:underline;text-underline-offset:3px;font-weight:700}
.review-source{display:block;margin-top:15px;font-size:11px;text-decoration:underline;text-underline-offset:3px;color:var(--light)}
/* Carrossel inicial: navegação manual por botões, teclado e gesto lateral. */
.hero{min-height:0;padding-bottom:92px}
.hero-viewport{overflow:hidden;touch-action:pan-y; border-radius:18px}
.hero-track{display:flex;transition:transform .45s ease}
.hero-slide{flex:0 0 100%;min-width:0;width:100%;margin:0;min-height:0;align-items:start;align-content:start}
.hero-slide .hero-copy{padding-top:0;padding-bottom:0;align-self:start}
.hero-copy h2{font-size:44px;line-height:1.03;letter-spacing:-1.3px;color:var(--olive);font-weight:800;margin-bottom:15px}
.hero-photo.room-photo{aspect-ratio:1;object-fit:cover;object-position:center}
.hero-controls{display:flex;justify-content:center;align-items:center;gap:4px;margin-top:8px}
.hero-arrow,.hero-dot{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--olive);cursor:pointer;border-radius:50%}
.hero-arrow{font-size:32px}.hero-arrow:hover{background:#ffffff60}
.hero-dot::before{content:"";width:9px;height:9px;border-radius:50%;background:transparent;border:1px solid var(--olive)}
.hero-dot[aria-pressed="true"]::before{background:var(--olive)}
/* Dois botões empilhados preservam a largura e a altura do cabeçalho. */
.header-actions{display:grid;gap:8px;flex-shrink:0}
.header-actions .button{white-space:nowrap;min-width:155px}
@media(max-width:580px){.header-actions{gap:6px}.header-actions .button{min-width:0;min-height:36px;padding:8px 12px;font-size:11px}}
/* Títulos com quebra natural e cuidados em lista sem altura fixa para o texto. */
#hero-title,#procedure-title{text-wrap:balance}
#procedure-details,.procedure-details{margin:12px 0 0;padding-left:18px;font-size:12px;line-height:1.5}
#procedure-details li+li,.procedure-details li+li{margin-top:7px}
@media(max-width:580px){#procedure-details,.procedure-details{font-size:14px}}
/* Fade prolongado com opacidade progressiva, sem criar espaço extra nas seções. */
:root{--section-fade:140px;--soft-fade:linear-gradient(to bottom,var(--cream) 0%,rgb(247 245 240 / .96) 12%,rgb(247 245 240 / .8) 30%,rgb(247 245 240 / .5) 50%,rgb(247 245 240 / .2) 70%,rgb(247 245 240 / .04) 88%,rgb(247 245 240 / 0) 100%)}
.hero{background:linear-gradient(to top,var(--cream) 0px,rgb(247 245 240 / .96) 20px,rgb(247 245 240 / .8) 48px,rgb(247 245 240 / .5) 80px,rgb(247 245 240 / .2) 112px,rgb(247 245 240 / .04) 140px,transparent 160px),linear-gradient(105deg,#d7cabb,#e4dbd1 61%,#b39d82)}
.procedures{background-color:var(--gold);background-image:var(--soft-fade),linear-gradient(to top,var(--cream) 0%,rgb(247 245 240 / .96) 12%,rgb(247 245 240 / .8) 30%,rgb(247 245 240 / .5) 50%,rgb(247 245 240 / .2) 70%,rgb(247 245 240 / .04) 88%,rgb(247 245 240 / 0) 100%);background-position:top,bottom;background-size:100% var(--section-fade);background-repeat:no-repeat}
.contact{background:var(--soft-fade) top / 100% var(--section-fade) no-repeat var(--gold)}
/* Imagens com recorte uniforme; altura comum calculada pelo maior texto. */
.procedure-card{position:relative;min-height:320px}
.procedure-card>.procedure-copy{grid-column:2;min-height:var(--procedure-copy-height,320px);display:flex;flex-direction:column;justify-content:center}
#procedure-image{position:absolute;inset:0 auto 0 0;width:52.830189%;height:100%;min-height:0;object-fit:cover;object-position:50% 55%}
#procedure-image.diabetic-photo{object-position:50% 45%}
@media(max-width:580px){:root{--section-fade:110px}.procedure-card>.procedure-copy{grid-column:1}#procedure-image{position:static;width:100%;height:240px;min-height:0}}
@media(min-width:1400px){.hero-copy h2{font-size:50px}}
@media(max-width:800px){.hero-copy h2{font-size:37px}}
@media(max-width:580px){.hero-copy h2{font-size:40px}.hero-copy h2 br{display:none}.hero-slide{align-content:start}.hero-slider .hero-controls{margin-top:6px}.hero-photo.room-photo{aspect-ratio:1;object-fit:cover}}
@media(max-width:800px){.header-main{padding-inline:22px}.hero-photo{height:auto}.about>img{height:420px}}
@media(max-width:580px){.brand{width:130px;height:76px}.brand img{width:182px;left:-25px;top:-25px}.header-main{padding:10px 16px}.hero{padding-top:195px}.hero-photo{height:auto;aspect-ratio:1}.about>img{height:auto;aspect-ratio:4/5;width:min(100%,340px)}.contact-map{height:245px}}

/* Mobile/tablet pass: começa antes de 720px para evitar duas colunas apertadas. */
@media(max-width:720px){
  .container{width:min(100% - 32px,560px)}
  .header{top:10px}
  .header-main{padding:10px 14px;min-height:82px;gap:10px}
  .brand{width:150px;height:82px}
  .brand img{width:210px;left:-29px;top:-29px}
  .header-phone{display:none}
  .header-actions{gap:6px}
  .header-actions .button{min-width:132px;min-height:36px;padding:8px 11px;font-size:12px}
  .header nav{display:grid;grid-template-columns:repeat(5,1fr);padding:0}
  .header nav a{padding:10px 4px;text-align:center;font-size:10px;white-space:nowrap}
  .hero{padding-top:206px;padding-bottom:58px}
  .hero-layout{grid-template-columns:minmax(0,1fr);gap:16px;min-height:0}
  .hero-copy,.procedure-copy,.contact-card,.location{min-width:0;overflow-wrap:break-word}
  .hero-photo,.hero-photo.room-photo{width:100%;height:min(72vw,360px);aspect-ratio:auto;object-fit:cover;object-position:center}
  .hero-copy{padding:0;max-width:none}
  .hero h1,.hero-copy h2{font-size:clamp(34px,8vw,44px);line-height:1.04;margin-bottom:13px}
  .hero-copy p{max-width:none;font-size:14px;line-height:1.55;margin-bottom:16px}
  .hero-copy .button{width:fit-content}
  .hero-controls{margin-top:5px}
  .features{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:-28px}
  .feature{min-height:0;padding:17px 14px 19px}
  .feature svg{width:34px;height:34px;margin-bottom:7px}
  .feature h2{font-size:14px;line-height:1.2;margin-bottom:8px}
  .feature p{font-size:12px;line-height:1.45}
  .about{grid-template-columns:1fr;gap:22px;padding-top:42px;min-height:0}
  .about-copy{padding-bottom:0}
  .about p{font-size:14px;line-height:1.6}
  .about>img{height:auto;aspect-ratio:4/5;width:min(100%,360px);justify-self:center}
  .procedures{padding:48px 0 50px}
  .section-heading{margin-bottom:20px}
  .section-heading h2{font-size:29px}
  .section-heading p{font-size:13px}
  .carousel{padding:0 23px}
  .procedure-card{display:grid;grid-template-columns:1fr;min-height:0}
  .procedure-card>.procedure-copy{grid-column:1;min-height:var(--procedure-copy-height,0);padding:24px 22px 26px;justify-content:flex-start}
  #procedure-image{position:static;width:100%;height:min(72vw,300px);object-fit:cover}
  .procedure-copy h3{font-size:20px;line-height:1.15;margin-bottom:12px}
  .procedure-copy p,#procedure-details,.procedure-details{font-size:14px;line-height:1.5}
  .arrow{width:28px;min-height:40px;font-size:28px}
  .testimonial-grid{grid-template-columns:1fr;gap:14px;padding:0}
  .testimonial-grid figure{padding:22px;min-height:0}
  .contact{padding:46px 0 28px}
  .contact-layout{grid-template-columns:1fr;gap:24px}
  .contact-card{padding:22px}
}

@media(max-width:390px){
  .container{width:calc(100% - 24px)}
  .header-main{padding-inline:10px}
  .brand{width:130px}
  .brand img{width:182px;left:-25px}
  .header-actions .button{min-width:112px;font-size:11px;padding-inline:8px}
  .header nav a{font-size:9px;padding-inline:2px}
  .hero{padding-top:196px}
  .features{gap:8px}
  .feature{padding-inline:11px}
}


