/* ============================================================
   Dra. Lu Arieta — Em Primeiro Plano
   Editorial simples e claro: sem hero cinematográfico, sem
   acordeões — riqueza vem da tipografia, do espaço e da foto.
   ============================================================ */

:root{
  --bg:#FBF8F4;
  --bg-deep:#F3ECE1;
  --surface:#EEE4D6;
  --surface-2:#E4D6C3;
  --ink:#231D17;
  --ink-soft:#6E6053;
  --ink-faint:#9C8E7E;
  --line:rgba(35,29,23,.14);
  --gold-1:#8A6425;
  --gold-2:#C0903E;
  --gold-3:#E8C77E;
  --gold-grad:linear-gradient(115deg,#7A5A22 0%,#C0903E 42%,#E8C77E 58%,#8F6B2C 100%);
  color-scheme:light;
}

*{box-sizing:border-box;}
html{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  font-size:19px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
[hidden]{display:none!important;}
img{max-width:100%;display:block;}
a{color:inherit;}
h1,h2,h3{
  font-family:'Inter',sans-serif;
  font-weight:800;
  letter-spacing:-.025em;
  text-wrap:balance;
  margin:0;
  color:var(--ink);
}
.eyebrow{
  font-family:'Inter',sans-serif;
  font-weight:600;
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold-1);
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.eyebrow::before{content:'';width:22px;height:1px;background:var(--gold-2);display:inline-block;flex:none;}
.script{font-family:'Inter',sans-serif;font-weight:800;letter-spacing:-.02em;color:var(--gold-1);}

.wrap{max-width:680px;margin:0 auto;padding-inline:22px;}
.wrap-wide{max-width:1280px;margin:0 auto;padding-inline:36px;}
@media(max-width:600px){.wrap-wide{padding-inline:20px;}}

/* ---------- split hero: texto + retrato em destaque, com glow dourado ---------- */
.hero{
  position:relative;
  display:grid;
  grid-template-columns:.86fr 1.14fr;
  align-items:stretch;
  min-height:600px;
  overflow:hidden;
}
.hero-glow{
  position:absolute;
  top:50%;right:-6%;
  width:62%;aspect-ratio:1/1;
  transform:translateY(-50%);
  border-radius:50%;
  background:radial-gradient(circle at 42% 38%, #FBE6B8 0%, #E8C77E 22%, #C0903E 46%, rgba(192,144,62,0) 72%);
  filter:blur(6px);
  opacity:.85;
  z-index:0;
  pointer-events:none;
}
@media(max-width:780px){.hero-glow{width:92%;right:-10%;top:40%;}}
.hero-text{
  position:relative;z-index:2;
  display:flex;flex-direction:column;justify-content:center;
  padding:64px 40px 64px 56px;
  max-width:560px;
}
.hero-photo{
  position:relative;z-index:1;
  overflow:hidden;
  background:var(--surface);
  margin:36px 36px 36px 0;
  border-radius:14px;
  box-shadow:0 30px 60px -24px rgba(138,100,37,.45), 0 0 0 1px rgba(255,255,255,.4);
}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 15%;position:absolute;inset:0;filter:saturate(.94) contrast(1.05);}
.hero-photo::after{
  content:'';position:absolute;inset:0;
  background:
    linear-gradient(100deg, rgba(20,15,10,.46) 0%, rgba(20,15,10,.08) 38%, transparent 62%),
    linear-gradient(0deg, rgba(20,15,10,.5) 0%, transparent 32%);
}
@media(max-width:780px){.hero-photo::after{background:linear-gradient(0deg, rgba(20,15,10,.55) 0%, rgba(20,15,10,.1) 45%, transparent 70%);}}
.hero .eyebrow{color:var(--ink-faint);}
.hero .eyebrow::before{background:var(--ink-faint);}
.hero h1{font-size:46px;line-height:1.06;letter-spacing:-.03em;margin-top:18px;}
.hero .accent{display:block;color:var(--gold-1);font-weight:800;letter-spacing:-.03em;font-size:46px;margin-top:2px;}
.hero .lead{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;color:var(--ink-soft);margin-top:18px;}
.hero .btn{margin-top:30px;align-self:flex-start;}
@media(max-width:780px){
  .hero{grid-template-columns:1fr;min-height:0;}
  .hero-photo{height:52vh;min-height:320px;order:-1;margin:18px 18px 10px;}
  .hero-text{padding:30px 22px 40px;max-width:none;}
  .hero h1{font-size:32px;}
  .hero .accent{font-size:32px;}
  .hero .btn{align-self:stretch;}
}

/* ---------- cantos de cada seção: contador + rótulo, igual ao exemplo ---------- */
.slide-meta{
  display:flex;justify-content:space-between;align-items:center;
  font-family:'Inter',sans-serif;font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-faint);margin-bottom:22px;
}
.slide-dot{
  width:34px;height:34px;border:1px solid var(--line);border-radius:50%;
  margin:40px auto 0;
}

/* ---------- módulo: número-contorno grande + título + descrição + tag ---------- */
.module-list{display:flex;flex-direction:column;margin-top:30px;border-top:1px solid var(--line);}
.module-row{display:flex;gap:28px;align-items:center;padding:34px 2px;border-bottom:1px solid var(--line);}
.module-row .mn{
  font-family:'Inter',sans-serif;font-weight:800;font-size:58px;letter-spacing:-.02em;
  color:transparent;-webkit-text-stroke:1.5px var(--gold-2);text-stroke:1.5px var(--gold-2);
  flex:none;width:100px;line-height:1;
}
.module-row .mb{flex:1;min-width:0;}
.module-row .mb h3{font-size:30px;font-weight:800;letter-spacing:-.02em;}
.module-row .mb p{color:var(--ink-soft);font-size:17.5px;margin-top:8px;}
.module-row .mtag{
  flex:none;margin-left:auto;align-self:center;
  font-family:'Inter',sans-serif;font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-1);
}
@media(max-width:780px){
  .module-row{flex-wrap:wrap;gap:16px;}
  .module-row .mn{font-size:40px;width:60px;}
  .module-row .mb h3{font-size:24px;}
  .module-row .mtag{margin-left:0;width:100%;}
}

/* ---------- lista "degraus": linha fina, número, texto, rótulo à direita ---------- */
.steps-list{display:flex;flex-direction:column;margin-top:30px;border-top:1px solid var(--line);}
.steps-list .srow{
  display:flex;align-items:center;gap:20px;
  padding:26px 2px;border-bottom:1px solid var(--line);
}
.steps-list .srow .sn{font-family:'Inter',sans-serif;font-weight:700;font-size:13px;color:var(--ink-faint);flex:none;width:26px;}
.steps-list .srow .st{flex:1;font-size:20px;font-weight:700;color:var(--ink);letter-spacing:-.01em;}
.steps-list .srow .sl{
  flex:none;font-family:'Inter',sans-serif;font-weight:600;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);
  text-align:right;max-width:200px;
}
@media(max-width:640px){
  .steps-list .srow{flex-wrap:wrap;}
  .steps-list .srow .sl{width:100%;text-align:left;margin-left:46px;}
}

/* ---------- ghost bleed word (transição entre seções) ---------- */
.ghost{
  font-family:'Inter',sans-serif;font-weight:800;letter-spacing:-.03em;
  font-size:min(17vw,160px);line-height:1;color:transparent;
  -webkit-text-stroke:1px var(--line);text-stroke:1px var(--line);
  white-space:nowrap;text-align:center;padding-block:12px;overflow:hidden;
}

/* ---------- top bar ---------- */
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--bg);border-bottom:1px solid var(--line);}
.topbar-inner{max-width:980px;margin:0 auto;padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.brandmark{display:flex;align-items:center;gap:10px;text-decoration:none;}
.brandmark img{height:26px;width:26px;object-fit:contain;}
.brandmark span{font-family:'Inter',sans-serif;font-weight:600;font-size:14px;letter-spacing:.08em;color:var(--ink);}
.topnav{display:flex;gap:24px;font-family:'Inter',sans-serif;font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;}
.topnav a{text-decoration:none;color:var(--ink-faint);border-bottom:1px solid transparent;padding-bottom:3px;}
.topnav a:hover,.topnav a.is-active{color:var(--ink);border-color:var(--gold-2);}
@media(max-width:560px){.topnav{display:none;}}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:'Inter',sans-serif;font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  text-decoration:none;padding:17px 32px;border-radius:2px;border:1px solid transparent;
  cursor:pointer;transition:transform .18s ease, box-shadow .18s ease;
}
.btn-gold{background:var(--gold-grad);color:#FBF8F4;box-shadow:0 10px 24px -12px rgba(138,100,37,.4);}
.btn-gold:hover{transform:translateY(-1px);box-shadow:0 14px 28px -12px rgba(138,100,37,.5);}
.btn-line{background:transparent;color:var(--ink);border-color:var(--line);}
.btn-line:hover{border-color:var(--gold-2);color:var(--gold-1);}
.btn-block{width:100%;}
.btn-sub{display:block;text-align:center;font-family:'Cormorant Garamond',serif;font-size:14.5px;font-style:italic;color:var(--ink-faint);margin-top:10px;}

/* ---------- divider / rule ---------- */
.rule{height:1px;background:var(--line);border:0;margin:0;}
.rule-gold{height:1px;background:var(--gold-grad);border:0;opacity:.75;}
.section{padding-block:56px;}
.section-tight{padding-block:36px;}
.section-surface{background:var(--surface);}

/* ---------- link cards: escuros, com retrato sangrando na lateral ---------- */
.linklist{display:flex;flex-direction:column;gap:16px;margin-top:36px;}
.link-row{
  position:relative;
  display:grid;
  grid-template-columns:1fr 140px;
  align-items:center;
  min-height:150px;
  background:#1C1711;
  border-radius:6px;
  overflow:hidden;
  text-decoration:none;
  box-shadow:0 14px 30px -18px rgba(28,23,17,.5);
}
.link-row .tx{
  position:relative;z-index:2;
  padding:26px 24px 26px 28px;
}
.link-row .ix{
  font-family:'Inter',sans-serif;font-weight:800;
  font-size:13px;color:var(--gold-3);letter-spacing:.08em;
  display:block;margin-bottom:8px;
}
.link-row .tx h3{font-size:20px;font-family:'Inter',sans-serif;font-weight:500;color:#FBF8F4;}
.link-row .tx p{margin:6px 0 16px;font-size:14.5px;color:rgba(251,248,244,.6);max-width:300px;}
.link-row .pill{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Inter',sans-serif;font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-3);border:1px solid rgba(232,199,126,.45);border-radius:40px;
  padding:9px 18px;transition:background .18s ease, color .18s ease;
}
.link-row:hover .pill{background:var(--gold-3);color:#1C1711;}
.link-row .photo{
  position:relative;height:100%;min-height:150px;
  grid-column:2;grid-row:1;
}
.link-row .photo img{width:100%;height:100%;object-fit:cover;object-position:center 15%;position:absolute;inset:0;filter:saturate(.95);}
.link-row .photo::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg, #1C1711 0%, rgba(28,23,17,.55) 32%, transparent 85%);
}
@media(max-width:560px){
  .link-row{grid-template-columns:1fr 92px;min-height:130px;}
  .link-row .tx{padding:20px 16px 20px 20px;}
  .link-row .tx p{display:none;}
}

/* ---------- protocol grid: card + retrato marcado, puxado pro canto ---------- */
.proto-list{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px;margin-top:40px;}
@media(max-width:680px){.proto-list{grid-template-columns:1fr;gap:34px;}}
.proto-item{
  position:relative;
  display:block;
  text-decoration:none;
  padding:28px 120px 28px 28px;
  min-height:150px;
  background:var(--bg-deep);border:1px solid var(--line);border-radius:4px;
  transition:border-color .18s ease, transform .18s ease;
}
.proto-item:hover{border-color:var(--gold-2);transform:translateY(-2px);}
.proto-item .thumb{
  position:absolute;
  top:-16px;right:18px;
  width:118px;height:118px;
  border-radius:14px;
  overflow:hidden;
  transform:rotate(3deg);
  box-shadow:0 20px 34px -16px rgba(138,100,37,.5), 0 0 0 4px var(--bg);
}
.proto-item .thumb img{width:100%;height:100%;object-fit:cover;object-position:center 15%;}
.proto-item .num{font-family:'Inter',sans-serif;font-weight:800;font-size:15px;color:var(--gold-1);display:block;}
.proto-item h3{font-size:21px;font-weight:800;margin-top:8px;color:var(--ink);}
.proto-item .for{font-family:'Inter',sans-serif;font-weight:600;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-top:6px;}
.proto-item p{color:var(--ink-soft);font-size:17px;margin-top:14px;}
.proto-item .tag{font-family:'Inter',sans-serif;font-weight:600;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-1);background:rgba(192,144,62,.14);padding:5px 10px;border-radius:1px;display:inline-block;margin-top:14px;}
@media(max-width:560px){
  .proto-item{padding:88px 24px 24px;}
  .proto-item .thumb{top:-18px;left:24px;right:auto;}
}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px;}
@media(max-width:680px){.steps{grid-template-columns:1fr;}}
.step .n{font-family:'Inter',sans-serif;font-weight:800;font-size:26px;color:var(--gold-1);}
.step h3{font-size:17px;margin-top:6px;font-weight:500;}
.step p{font-size:16px;color:var(--ink-soft);margin-top:6px;}

/* ---------- case study ---------- */
.cases-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px;}
@media(max-width:680px){.cases-grid{grid-template-columns:1fr;}}
.case{display:grid;grid-template-columns:1fr;gap:18px;border:1px solid var(--line);border-radius:2px;overflow:hidden;background:var(--bg-deep);}
.case img{width:100%;height:auto;}
.case-body{padding:22px 24px 26px;}
.case-body h3{font-size:19px;font-weight:500;}
.case-body p{color:var(--ink-soft);font-size:16.5px;}
.case-quote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--ink);border-left:2px solid var(--gold-2);padding-left:14px;margin:12px 0 0;}

/* ---------- CTA panel ---------- */
.cta-panel{background:var(--gold-grad);border-radius:2px;padding:36px 30px;text-align:center;}
.cta-panel .eyebrow{color:#FBF8F4;justify-content:center;}
.cta-panel .eyebrow::before{background:#FBF8F4;}
.cta-panel h2{color:#FBF8F4;font-size:24px;margin-top:10px;}
.cta-panel p{color:rgba(251,248,244,.85);font-size:17px;margin-top:10px;max-width:440px;margin-inline:auto;}
.cta-panel .btn-line{border-color:rgba(251,248,244,.5);color:#FBF8F4;margin-top:18px;}
.cta-panel .btn-line:hover{border-color:#FBF8F4;background:rgba(251,248,244,.1);}

/* ---------- footer ---------- */
footer{padding:44px 22px 44px;text-align:center;border-top:1px solid var(--line);}
footer .sym{width:34px;height:34px;margin:0 auto 14px;opacity:.85;}
footer p{font-family:'Cormorant Garamond',serif;font-size:14px;color:var(--ink-faint);max-width:500px;margin:6px auto 0;line-height:1.6;}
footer .legal{font-size:12px;margin-top:16px;}

::selection{background:var(--gold-3);color:#231D17;}
