:root{
  --ink:#161D1A; --paper:#F1EEE3; --panel:#FFFFFF;
  --gold:#B08D4F; --gold-dark:#8F7038; --line:#D8D2C0;
  --navy:#0E2A47; --navy-deep:#081627; --blue-tint:#E4EBF1;
  --text:#22261F; --text-soft:#6B6A61;
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:inherit; margin:0; padding:0;}
html{scroll-behavior:smooth; scroll-padding-top:env(safe-area-inset-top,0px);}
body{background:var(--paper); color:var(--text); font-family:'Manrope',sans-serif; line-height:1.6; overflow-x:hidden;}
img{max-width:100%; display:block; border-radius:3px;}
h1,h2,h3{color:var(--ink); line-height:1.15; font-weight:700; letter-spacing:-0.01em;}
h2,h3{font-family:'Manrope',sans-serif;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1160px; margin:0 auto; padding:0 28px;}
.scrollx{overflow-x:auto;}
@media (prefers-reduced-motion: reduce){ *{animation:none !important; transition:none !important;} }

header.site{position:sticky; top:env(safe-area-inset-top,0px); z-index:50; background:var(--navy); border-bottom:1px solid rgba(255,255,255,.08);}
.navrow{display:flex; align-items:center; justify-content:space-between; padding:14px 28px; max-width:1160px; margin:0 auto;}
.logo{display:flex; align-items:center; gap:12px; font-weight:700; font-size:1rem; letter-spacing:-.01em; color:#F2EFE6;}
.logo img{height:30px; width:auto; display:block;}
nav.links{display:flex; gap:30px; font-size:.9rem;}
nav.links a{color:#B7C0C9;}
nav.links a:hover{color:var(--gold);}
.navcta{background:var(--gold); color:#fff; padding:11px 22px; font-size:.86rem; white-space:nowrap; border-radius:3px;}
.navcta:hover{background:var(--gold-dark);}

.hero{position:relative; padding:0; min-height:78vh; display:flex; align-items:flex-end; color:#F2EFE6;
  background:linear-gradient(180deg, rgba(8,22,39,.55) 0%, rgba(8,22,39,.72) 55%, rgba(8,22,39,.92) 100%), url('../images/hero-banner.jpg') center/cover no-repeat;}
.hero-inner{width:100%; padding:64px 28px 56px; max-width:1160px; margin:0 auto;}
.hero h1{font-family:'Instrument Serif',serif; font-weight:400; font-style:normal; font-size:clamp(2.4rem,5vw,4rem); max-width:14ch; color:#FBF9F3;}
.ruler{width:120px; height:20px; margin:20px 0 24px;}
.ruler path{stroke:var(--gold); stroke-width:1.5; fill:none; stroke-dasharray:140; stroke-dashoffset:140; animation:draw 1.1s ease forwards .2s;}
@keyframes draw{to{stroke-dashoffset:0;}}
.hero p.lead{font-size:1.08rem; color:#D9DCE0; max-width:44ch;}
.hero p.lead b{color:#fff; font-weight:600;}
.crm{margin-top:16px; font-size:.83rem; color:#AEB4BA;}
.hero-ctas{display:flex; gap:14px; margin-top:30px; flex-wrap:wrap;}
.btn-primary{background:var(--gold); color:#fff; padding:14px 26px; font-size:.95rem; border-radius:3px; border:none; cursor:pointer;}
.btn-primary:hover{background:var(--gold-dark);}
.btn-ghost-light{border:1px solid #F2EFE6; color:#F2EFE6; padding:13px 24px; font-size:.95rem; border-radius:3px;}
.btn-ghost-light:hover{background:#F2EFE6; color:var(--navy-deep);}
.btn-ghost{border:1px solid var(--ink); color:var(--ink); padding:13px 24px; font-size:.95rem; border-radius:3px;}
.btn-ghost:hover{background:var(--ink); color:#fff;}

.trust{border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:30px 0;}
.trust-grid{display:grid; grid-template-columns:repeat(4,1fr);}
.trust-grid > div{padding:0 20px; border-left:1px solid var(--line);}
.trust-grid > div:first-child{border-left:none; padding-left:0;}
.trust-grid .num{font-size:1.9rem; font-weight:700; color:var(--ink);}
.trust-grid .lbl{font-size:.82rem; color:var(--text-soft); margin-top:2px;}

section{padding:88px 0;}
.section-head{max-width:52ch; margin-bottom:48px;}
.section-head h2{font-size:clamp(1.6rem,3vw,2.1rem);}
.section-head p{color:var(--text-soft); margin-top:12px; font-size:1rem;}

.tecnica{background:var(--navy); color:var(--paper);}
.tecnica .section-head h2{color:var(--paper);}
.tecnica .section-head p{color:#A9AC9F;}
.tec-grid{display:grid; grid-template-columns:1fr 1.618fr; gap:56px; align-items:start;}
.tec-mark{aspect-ratio:1/1.15; overflow:hidden; position:relative; border-radius:4px;}
.tec-mark img{width:100%; height:100%; object-fit:cover;}
.tec-mark::after{content:"";position:absolute; inset:0; border:1px solid rgba(176,141,79,.5);}
.tec-copy p{color:#C9CCC0; margin-bottom:16px; font-size:1rem; max-width:60ch;}
.tec-copy p:last-of-type{margin-bottom:30px;}

.about-grid{display:grid; grid-template-columns:1fr 1.618fr; gap:56px; align-items:start;}
.about-photo{aspect-ratio:1/1.2; border:1px solid var(--line); overflow:hidden; border-radius:4px;}
.about-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.about-lead{font-family:'Instrument Serif',serif; font-style:italic; font-size:1.3rem; color:var(--ink); line-height:1.4; margin-top:2px; max-width:48ch;}
.cred-grid{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); margin-top:28px;}
.cred-badge{background:var(--panel); padding:20px; display:flex; flex-direction:column; gap:6px;}
.cred-acr{font-weight:700; color:var(--gold-dark); font-size:.85rem; letter-spacing:.02em;}
.cred-name{font-size:.85rem; color:var(--text-soft); line-height:1.4;}

.proc-list{border-top:1px solid var(--line);}
.proc-row{display:grid; grid-template-columns:72px 1fr 1.4fr; gap:28px; padding:32px 0; border-bottom:1px solid var(--line); align-items:center;}
.proc-thumb{width:72px; height:72px; border-radius:4px; background:linear-gradient(155deg, var(--gold) 0%, var(--gold-dark) 100%); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.proc-thumb span{font-family:'Instrument Serif',serif; font-style:italic; color:#fff; font-size:1.6rem;}
.proc-row h3{font-size:1.2rem;}
.proc-row p{color:var(--text-soft); font-size:.95rem; max-width:58ch;}
.proc-row a{font-size:.85rem; color:var(--ink); border-bottom:1px solid var(--gold); white-space:nowrap; margin-top:10px; display:inline-block;}

#procedimentos{background:var(--blue-tint); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
#consultas{background:var(--blue-tint); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}

.reviews{border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.review-row{display:grid; grid-template-columns:56px 1fr; gap:20px; padding:30px 0; border-bottom:1px solid var(--line); align-items:start;}
.review-row:last-child{border-bottom:none;}
.review-avatar{width:56px; height:56px; border-radius:50%; background:var(--gold); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Instrument Serif',serif; font-style:italic; font-size:1.4rem; flex-shrink:0;}
.review-body .stars{color:var(--gold-dark); font-size:.9rem; letter-spacing:2px; margin-bottom:8px;}
.review-body blockquote{font-family:'Instrument Serif',serif; font-style:italic; font-size:1.15rem; color:var(--ink); line-height:1.4;}
.review-who{margin-top:10px; font-size:.82rem; color:var(--text-soft); display:flex; gap:10px; flex-wrap:wrap; align-items:center;}
.review-who .name{color:var(--ink); font-weight:600;}
.review-who .src{color:var(--text-soft); opacity:.75;}

.consult-grid{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line);}
.consult-card{background:var(--panel); padding:36px; border-radius:4px;}
.consult-card h3{font-size:1.15rem; margin-bottom:12px;}
.consult-card p{color:var(--text-soft); font-size:.95rem; margin-bottom:22px;}

.lead-cta{background:var(--navy); color:var(--paper); text-align:left;}
.lead-inner{display:grid; grid-template-columns:1.618fr 1fr; gap:40px; align-items:center;}
.lead-cta h2{color:var(--paper); font-size:clamp(1.6rem,3vw,2.1rem); max-width:20ch;}
.lead-cta p{color:#B7BAAC; margin-top:14px; max-width:44ch;}
.lead-note{margin-top:14px; font-size:.78rem; color:#8A8D7F;}
.lead-cta .btn-primary{display:inline-block; text-align:center;}

footer{background:var(--paper); border-top:1px solid var(--line); padding:56px 0 28px;}
.foot-grid{display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:40px;}
footer h4{color:var(--ink); font-weight:700; margin-bottom:14px; font-size:.95rem;}
footer p, footer a{font-size:.9rem; color:var(--text-soft);}
footer a:hover{color:var(--gold-dark);}
.foot-bottom{border-top:1px solid var(--line); margin-top:40px; padding-top:20px; font-size:.78rem; color:#9B9A8E; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px;}


.menu-toggle{display:none; background:none; border:none; cursor:pointer; width:26px; height:18px; position:relative; padding:0;}
.menu-toggle span{position:absolute; left:0; right:0; height:2px; background:#F2EFE6; border-radius:2px;}
.menu-toggle span:nth-child(1){top:0;}
.menu-toggle span:nth-child(2){top:8px;}
.menu-toggle span:nth-child(3){top:16px;}
.mobile-nav{display:none; flex-direction:column; background:var(--navy); border-top:1px solid rgba(255,255,255,.08);}
.mobile-nav a{padding:14px 28px; color:#F2EFE6; border-bottom:1px solid rgba(255,255,255,.08); font-size:.95rem;}
.mobile-nav a.navcta{margin:14px 28px; text-align:center; border-bottom:none; display:block;}
.mobile-nav.open{display:flex;}

@media (max-width: 880px){
  .hero-grid,.tec-grid,.about-grid,.consult-grid,.lead-inner{grid-template-columns:1fr;}
  .proc-row{grid-template-columns:56px 1fr;}
  .proc-row h3{grid-column:2;}
  .proc-row > div{grid-column:1/-1;}
  .cred-grid{grid-template-columns:1fr;}
  .hero{padding:48px 0 32px;}
  .hero-ctas{flex-direction:column; align-items:stretch;}
  .trust-grid{grid-template-columns:repeat(2,1fr); row-gap:20px;}
  .trust-grid > div{border-left:none; padding-left:0;}
  nav.links,.navcta{display:none;}
  .menu-toggle{display:block;}
  .foot-grid{grid-template-columns:1fr;}
  section{padding:56px 0;}
  .ratio-panel{aspect-ratio:auto; min-height:220px;}
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){--paper:#161811; --panel:#1D1F17; --text:#E9E7DB; --text-soft:#A6A599; --line:#33352A; --ink:#0D100C; --blue-tint:#16232F;}
}
:root[data-theme="dark"]{--paper:#161811; --panel:#1D1F17; --text:#E9E7DB; --text-soft:#A6A599; --line:#33352A; --ink:#0D100C; --blue-tint:#16232F;}
