/* Folha de estilo das páginas de serviço.
   Independente da experiência cinematográfica da home: sem GSAP, sem
   ScrollTrigger e sem JavaScript de animação. Mantém a mesma paleta e a mesma
   tipografia da home para preservar a identidade. */

@font-face{font-family:'Instrument Serif';src:url('../fonts/instrument-serif.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('../fonts/instrument-serif-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Hanken Grotesk';src:url('../fonts/hanken-grotesk.woff2') format('woff2');font-weight:300 500;font-style:normal;font-display:swap}

:root{
  --ink:#403737; --soft:#716462; --paper:#fbf7f2; --gold:#794650;
  --fio:rgba(121,70,80,.38); --fio-tenue:rgba(121,70,80,.18);
  --font-display:'Instrument Serif',Georgia,serif;
  --font-text:'Hanken Grotesk','Segoe UI',system-ui,sans-serif;
  --wrap:1120px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{
  margin:0;
  background:linear-gradient(140deg,#fbf7f2,#f0e6e2 35%,#f8f4ed 70%,#ebd7d8);
  background-attachment:fixed;
  color:var(--ink);
  font:300 17px/1.7 var(--font-text);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,p,figure,dl,dd{margin:0}
h1,h2,h3{font-family:var(--font-display);font-weight:300;line-height:1.02;letter-spacing:-.03em;font-synthesis:none}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}

.skip{position:fixed;left:15px;top:-100px;z-index:150;background:var(--paper);padding:12px;border:1px solid var(--fio)}
.skip:focus{top:15px}

/* ---------- Cabeçalho ---------- */
.page-nav{
  position:sticky;top:0;z-index:40;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  min-height:84px;padding:12px max(5vw,20px);
  background:#fbf7f2f2;border-bottom:1px solid var(--fio-tenue);
  backdrop-filter:saturate(140%) blur(8px);
}
.page-nav .brand{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:26px;line-height:1.15;text-decoration:none}
.page-nav .brand img{width:42px;height:42px;object-fit:contain}
.page-nav .brand small{display:block;font:400 8px/2 var(--font-text);letter-spacing:.24em}
.page-nav .nav-back{font-size:13px;letter-spacing:.04em;text-decoration:none;border-bottom:1px solid var(--fio);padding-bottom:3px}

/* ---------- Trilha de navegação ---------- */
.breadcrumb{padding:26px max(5vw,20px) 0;font-size:13px;color:var(--soft)}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.breadcrumb li+li::before{content:'/';margin-right:8px;color:var(--fio)}
.breadcrumb a{text-decoration:none;border-bottom:1px solid var(--fio-tenue)}

/* ---------- Capa ---------- */
.page-hero{
  display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,60px);align-items:center;
  max-width:var(--wrap);margin:0 auto;padding:clamp(34px,5vw,64px) max(5vw,20px) clamp(20px,3vw,40px);
}
.page-hero--solo{grid-template-columns:1fr}
.page-hero .eyebrow{font-size:11px;letter-spacing:.2em;font-weight:400;color:var(--gold);margin-bottom:18px}
.page-hero h1{font-size:clamp(42px,5.4vw,74px);text-wrap:balance}
.page-hero .lead{margin-top:22px;font-size:clamp(17px,1.4vw,20px);color:var(--soft);max-width:36em}
.page-hero figure{margin:0}
.page-hero img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:2px}

/* ---------- Conteúdo ---------- */
.page-body{max-width:var(--wrap);margin:0 auto;padding:clamp(24px,4vw,56px) max(5vw,20px)}
.page-body section{margin-bottom:clamp(44px,5vw,72px)}
.page-body h2{font-size:clamp(30px,3.4vw,46px);margin-bottom:20px;text-wrap:balance}
.page-body p{max-width:64ch;color:var(--ink)}
.page-body p+p{margin-top:16px}

.page-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,22px)}
.page-gallery figure{margin:0}
.page-gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:2px}
.page-gallery figcaption{margin-top:10px;font-size:13px;color:var(--soft)}

/* ---------- Perguntas frequentes ---------- */
.page-faq h2{margin-bottom:8px}
.page-faq details{border-bottom:1px solid var(--fio-tenue);padding:18px 0}
.page-faq summary{cursor:pointer;font-size:19px;font-family:var(--font-display);list-style:none}
.page-faq summary::-webkit-details-marker{display:none}
.page-faq summary::after{content:'+';float:right;color:var(--gold)}
.page-faq details[open] summary::after{content:'–'}
.page-faq details p{margin-top:12px;color:var(--soft)}

/* ---------- Chamada para ação ---------- */
.page-cta{
  max-width:var(--wrap);margin:0 auto clamp(48px,6vw,88px);
  padding:clamp(30px,4vw,54px) max(5vw,20px);
  border:1px solid var(--fio-tenue);background:#fffdfa9c;
}
.page-cta h2{font-size:clamp(30px,3.6vw,48px);margin-bottom:14px}
.page-cta p{color:var(--soft);max-width:52ch}
.btn-zap{
  display:inline-flex;align-items:center;gap:10px;margin-top:26px;
  padding:16px 30px;background:var(--gold);color:#fff;text-decoration:none;
  font-size:15px;letter-spacing:.02em;border-radius:2px;
}
.btn-zap:hover{background:#63363f}

/* ---------- Outras páginas ---------- */
.page-links{max-width:var(--wrap);margin:0 auto;padding:0 max(5vw,20px) clamp(40px,5vw,70px)}
.page-links h2{font-size:clamp(24px,2.4vw,32px);margin-bottom:18px}
.page-links ul{display:flex;flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none}
.page-links a{display:inline-block;padding:11px 20px;border:1px solid var(--fio);font-size:14px;text-decoration:none}
.page-links a:hover{background:#fff8f3}

/* ---------- Rodapé ---------- */
.page-footer{
  border-top:1px solid var(--fio-tenue);padding:clamp(34px,4vw,56px) max(5vw,20px);
  display:flex;flex-wrap:wrap;gap:18px 40px;align-items:center;justify-content:space-between;
  font-size:14px;color:var(--soft);
}
.page-footer a{text-decoration:none;border-bottom:1px solid var(--fio-tenue)}
.page-footer address{font-style:normal}

/* ---------- Telas estreitas ---------- */
@media (max-width:860px){
  .page-hero{grid-template-columns:1fr;gap:28px}
  .page-hero img{aspect-ratio:3/2}
  .page-gallery{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:520px){
  body{font-size:16px}
  .page-gallery{grid-template-columns:1fr}
  .page-nav .brand{font-size:22px}
  .page-nav .brand img{width:36px;height:36px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
