/* ============================================================
   CARLOS CANHISARES — Versão Autoral (elevada)
   "Quiet luxury": marfim quente, tinta profunda, bronze sutil.
   Editorial cinematográfico para público AAA.
   ============================================================ */

@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=Inter:wght@300;400;500;600&display=swap");

:root {
  --bone:      #f4f1ea;   /* marfim quente */
  --bone-deep: #ece7dc;
  --ink:       #17150f;   /* preto quente */
  --ink-2:     #2b2823;
  --paper:     #fbfaf6;
  --bronze:    #936f3f;   /* acento sóbrio */
  --bronze-lt: #c2a06e;
  --line:      #ddd6c7;
  --muted:     #8a857a;
  --muted2:    #7c766a;
  --max:       1280px;
  --gut:       clamp(24px, 5.5vw, 96px);
  --serif: "Cormorant Garamond", "Garamond", "Times New Roman", serif;
  --sans:  "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body {
  font-family: var(--sans);
  font-weight: 300;
  font-size: 16px;
  line-height: 1.75;
  color: var(--ink);
  background: var(--bone);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; transition: color .3s, opacity .3s; }
button { font-family: inherit; cursor: pointer; }
::selection { background: var(--ink); color: var(--bone); }

/* ---------- Type ---------- */
h1,h2,h3,h4 { font-family: var(--serif); font-weight: 300; letter-spacing: -.015em; line-height: 1.04; }
h1 { font-size: clamp(44px, 7vw, 104px); }
h2 { font-size: clamp(34px, 5.2vw, 76px); }
h3 { font-size: clamp(22px, 2.4vw, 34px); }
.serif { font-family: var(--serif); }
.italic { font-style: italic; }
.kicker {
  font-family: var(--sans); font-size: 11px; letter-spacing: .38em; text-transform: uppercase;
  color: var(--bronze); font-weight: 500;
}
.muted { color: var(--muted2); }
p { max-width: 60ch; }

/* ---------- Layout ---------- */
.wrap { width: 100%; max-width: var(--max); margin: 0 auto; padding: 0 var(--gut); }
.section { padding: clamp(90px, 13vw, 200px) 0; position: relative; }
.sec-head { margin-bottom: clamp(48px, 7vw, 96px); }
.sec-index {
  font-family: var(--serif); font-style: italic; font-size: clamp(14px,1.4vw,18px);
  color: var(--bronze); display: block; margin-bottom: 22px;
}
.sec-index::before { content: ""; display: inline-block; width: 40px; height: 1px; background: var(--bronze); vertical-align: middle; margin-right: 16px; }

/* ---------- Scroll progress ---------- */
.progress { position: fixed; top: 0; left: 0; height: 2px; background: var(--bronze); width: 0; z-index: 300; transition: width .1s linear; }

/* ---------- Header ---------- */
.hdr {
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  transition: background .4s, border-color .4s, padding .4s;
  border-bottom: 1px solid transparent;
}
.hdr.solid { background: rgba(244,241,234,.86); backdrop-filter: blur(16px) saturate(140%); -webkit-backdrop-filter: blur(16px) saturate(140%); border-color: var(--line); }
.hdr-in { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px var(--gut); max-width: 1560px; margin: 0 auto; transition: padding .4s; }
.hdr.solid .hdr-in { padding-top: 14px; padding-bottom: 14px; }
.hdr .brand img { height: 30px; width: auto; transition: height .4s; }
.hdr .brand .cref { font-size: 9px; letter-spacing: .3em; color: var(--muted2); text-transform: uppercase; margin-top: 4px; }
.nav-menu { display: flex; gap: 30px; list-style: none; align-items: center; }
.nav-menu a { font-size: 12px; letter-spacing: .08em; color: var(--ink-2); font-weight: 400; position: relative; padding: 6px 0; white-space: nowrap; }
.nav-menu a::after { content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background: var(--bronze); transition: width .3s; }
.nav-menu a:hover::after, .nav-menu a.active::after { width: 100%; }
.nav-menu a.active { color: var(--ink); }
.hambtn { display:none; background:none; border:none; }
.hambtn svg { width: 28px; height: 28px; stroke: var(--ink); }

/* ---------- Buttons ---------- */
.btn { display:inline-flex; align-items:center; gap:14px; padding:17px 34px; font-family: var(--sans); font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:500; border:1px solid var(--ink); color:var(--ink); background:transparent; transition: all .4s; }
.btn:hover { background: var(--ink); color: var(--bone); }
.btn .a { transition: transform .4s; }
.btn:hover .a { transform: translateX(6px); }
.btn-solid { background: var(--ink); color: var(--bone); }
.btn-solid:hover { background: var(--bronze); border-color: var(--bronze); }
.link { display:inline-flex; align-items:center; gap:9px; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; font-weight:500; color: var(--ink); border-bottom:1px solid var(--bronze); padding-bottom:4px; }
.link .a { transition: transform .3s; color: var(--bronze); }
.link:hover .a { transform: translateX(4px); }

/* ============ HERO ============ */
.hero { min-height: 100vh; display: grid; grid-template-columns: 1fr 0.92fr; align-items: stretch; }
.hero-l { display: flex; flex-direction: column; justify-content: center; padding: 140px var(--gut) 80px; }
.hero-kicker { margin-bottom: 30px; }
.hero h1 { margin-bottom: 40px; max-width: 13ch; }
.hero h1 .italic { color: var(--bronze); }
.hero-lead { font-family: var(--serif); font-size: clamp(18px, 1.7vw, 23px); line-height: 1.5; color: var(--ink-2); max-width: 46ch; margin-bottom: 28px; }
.hero-sub { font-size: 14.5px; color: var(--muted2); max-width: 50ch; margin-bottom: 44px; }
.hero-cta { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 54px; }
.hero-stats { display: flex; gap: clamp(24px,3vw,52px); border-top: 1px solid var(--line); padding-top: 30px; flex-wrap: wrap; }
.hero-stats .s .n { font-family: var(--serif); font-size: clamp(32px,3.6vw,50px); line-height: 1; }
.hero-stats .s .n em { font-style: italic; color: var(--bronze); }
.hero-stats .s .l { font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--muted2); margin-top: 8px; max-width: 15ch; }
.hero-r { position: relative; overflow: hidden; background: var(--bone-deep); min-height: 60vh; }
.hero-r img { width: 100%; height: 100%; object-fit: cover; object-position: center 28%; filter: grayscale(100%) contrast(1.02); }
.hero-r::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(23,21,15,.05), rgba(23,21,15,.18)); }

/* ============ CORPORATIVO ============ */
.dark { background: var(--ink); color: var(--bone); }
.dark .kicker { color: var(--bronze-lt); }
.dark .muted { color: #a8a294; }
.dark .sec-index { color: var(--bronze-lt); }
.dark .sec-index::before { background: var(--bronze-lt); }

.corp-head { display: grid; grid-template-columns: 1.25fr 1fr; gap: clamp(30px,5vw,80px); align-items: end; }
.corp-head h2 { max-width: 16ch; }
.corp-head h2 .italic { color: var(--bronze-lt); }
.corp-head p { color: #b3ad9f; font-size: 15px; }

/* Diferenciais: tiles clicáveis + painel (escuro) */
.diff { margin-top: clamp(50px,7vw,90px); border-top: 1px solid rgba(255,255,255,.16); }
.diff-tiles { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; }
.diff-tile {
  border: 1px solid rgba(255,255,255,.16); border-left: none; background: transparent;
  padding: 26px 22px; text-align: left; cursor: pointer;
  display: flex; flex-direction: column; gap: 14px; min-height: 156px; justify-content: space-between;
  transition: background .35s, color .35s;
}
.diff-tiles .diff-tile:first-child { border-left: 1px solid rgba(255,255,255,.16); }
.diff-tile .num { font-family: var(--serif); font-style: italic; font-size: 28px; color: var(--bronze-lt); transition: color .35s; }
.diff-tile .t { font-family: var(--serif); font-size: 19px; line-height: 1.18; color: var(--bone); }
.diff-tile:hover { background: rgba(255,255,255,.04); }
.diff-tile.active { background: var(--bone); }
.diff-tile.active .num { color: var(--bronze); }
.diff-tile.active .t { color: var(--ink); }
.diff-panel {
  border: 1px solid rgba(255,255,255,.16); border-top: none;
  padding: 44px clamp(28px,4vw,60px); background: rgba(255,255,255,.03);
  display: grid; grid-template-columns: auto 1fr; gap: clamp(24px,4vw,64px); align-items: start;
}
.diff-panel .big-num { font-family: var(--serif); font-size: clamp(64px,9vw,140px); line-height: .8; color: rgba(255,255,255,.12); }
.diff-panel .ptitle { display: block; font-family: var(--sans); font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--bronze-lt); margin-bottom: 16px; font-weight: 500; }
.diff-panel .ptext { font-family: var(--serif); font-size: clamp(20px,2.2vw,30px); line-height: 1.4; color: var(--bone); max-width: 46ch; }

/* Empresas marquee */
.empresas { padding-top: clamp(70px,9vw,120px); }
.empresas .lbl { color: #a8a294; font-size: 13px; max-width: 64ch; margin: 14px 0 36px; }
.marquee { overflow: hidden; position: relative; padding: 18px 0; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.marquee-track { display: flex; align-items: center; gap: clamp(56px,7vw,110px); width: max-content; animation: marq 33s linear infinite; }
.marquee:hover .marquee-track { animation-play-state: paused; }
.marquee-track img { height: clamp(28px,3.2vw,40px); width: auto; opacity: .62; transition: opacity .3s; }
.marquee-track img:hover { opacity: 1; }
@keyframes marq { from { transform: translateX(0);} to { transform: translateX(-50%);} }

/* ============ pullquote band ============ */
.quote-band { padding: clamp(80px,11vw,150px) 0; text-align: center; background: var(--bone-deep); }
.quote-band p { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: clamp(26px,4vw,54px); line-height: 1.25; max-width: 20ch; margin: 0 auto; }
.quote-band .qmark { font-family: var(--serif); font-size: 80px; color: var(--bronze); line-height: .3; display:block; margin-bottom: 30px; }

/* ============ MENTORIAS ============ */
.ment { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(30px,5vw,80px); align-items: start; }
.ment-photo { position: sticky; top: 100px; aspect-ratio: 832/1180; overflow: hidden; background: var(--bone-deep); }
.ment-photo img { width:100%; height:100%; object-fit: cover; filter: grayscale(100%); }
.ment h2 { max-width: 15ch; }
.ment h2 .italic { color: var(--bronze); }
.ment-intro { color: var(--ink-2); font-size: 15.5px; margin: 26px 0 40px; }
.ment-list { border-top: 1px solid var(--line); }
.ment-item { display: grid; grid-template-columns: 70px 1fr; gap: 24px; padding: 28px 0; border-bottom: 1px solid var(--line); align-items: start; }
.ment-item .mn { font-family: var(--serif); font-style: italic; font-size: 22px; color: var(--bronze); }
.ment-item h4 { font-family: var(--serif); font-size: 24px; font-weight: 400; margin-bottom: 8px; }
.ment-item p { font-size: 14.5px; color: var(--ink-2); max-width: none; }
.ment-psi { display:flex; gap:18px; margin-top: 34px; padding: 26px; border:1px solid var(--bronze); background: rgba(147,111,63,.05); align-items:flex-start; }
.ment-psi .psi { font-family: var(--serif); font-size: 34px; color: var(--bronze); line-height: 1; }
.ment-psi p { font-size: 14px; color: var(--ink-2); max-width: none; }

/* ============ METODOLOGIA ============ */
.method h2 { max-width: 18ch; }
.method h2 .italic { color: var(--bronze); }
.method-intro { color: var(--ink-2); font-size: 15.5px; max-width: 65ch; margin: 28px 0 60px; }
.books { display: flex; gap: clamp(16px,2vw,30px); align-items: flex-end; flex-wrap: wrap; }
.books img { height: clamp(160px,19vw,250px); width:auto; box-shadow: 0 24px 50px rgba(0,0,0,.20); transition: transform .4s; }
.books img:hover { transform: translateY(-10px); }
.books .more { display:flex; flex-direction:column; gap:12px; align-items:flex-start; justify-content:center; align-self:center; padding-left: 10px; }
.books .more .plus { font-family:var(--serif); font-size:46px; color: var(--bronze); line-height:1; }
.subjects { margin-top: clamp(56px,8vw,100px); border-top: 1px solid var(--line); padding-top: 44px; }
.subjects h3 { margin-bottom: 24px; }
.subjects .tags { display:flex; flex-wrap:wrap; gap:12px; }
.subjects .tags span { border:1px solid var(--line); padding:10px 20px; font-size:13px; color:var(--ink-2); transition: border-color .3s, color .3s; }
.subjects .tags span:hover { border-color: var(--bronze); color: var(--ink); }

/* ============ BONSAI (full-bleed dramático) ============ */
.bonsai { background: #07070a; color: #efece3; padding: clamp(90px,12vw,180px) 0; position: relative; overflow: hidden; }
.bonsai-grid { display:grid; grid-template-columns: 1fr 1.15fr 1fr; gap: clamp(20px,3vw,50px); align-items:center; position: relative; z-index: 2; }
.bonsai-grid .col { display:flex; flex-direction:column; gap: 44px; }
.bonsai-grid .col.r { text-align:right; }
.b-item h4 { font-family:var(--serif); font-style:italic; font-size: clamp(20px,2.2vw,28px); color:#fff; margin-bottom:10px; }
.b-item p { font-size:13px; color:#9b968a; line-height:1.65; max-width:none; }
.col.r .b-item p { margin-left:auto; max-width: 30ch; }
.col:not(.r) .b-item p { max-width: 30ch; }
.bonsai-img img { width:100%; height:auto; filter: drop-shadow(0 30px 60px rgba(0,0,0,.6)); }
.bonsai-cap { text-align:center; max-width: 56ch; margin: clamp(50px,6vw,80px) auto 0; position: relative; z-index: 2; }
.bonsai-cap p { font-family:var(--serif); font-style:italic; font-size: clamp(20px,2.6vw,32px); line-height:1.4; color:#e8e4da; margin: 0 auto; }

/* ============ SAÚDE MENTAL ============ */
.mental { display:grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(34px,5vw,80px); align-items: center; }
.mental-photo { aspect-ratio: 841/1120; overflow:hidden; background: var(--bone-deep); }
.mental-photo img { width:100%; height:100%; object-fit:cover; object-position: center top; filter: grayscale(100%); }
.mental h2 { max-width: 16ch; }
.mental h2 .italic { color: var(--bronze); }
.mental-tagline { font-family:var(--serif); font-style:italic; font-size: clamp(19px,2.1vw,26px); margin: 22px 0; color: var(--ink); }
.mental-body { color: var(--ink-2); font-size: 15.5px; }
.mental-disc { font-size: 12.5px; color: var(--muted2); font-style: italic; margin-top: 14px; }
.mental-stats { display:grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin: 40px 0; padding: 34px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.mental-stats .s .n { font-family:var(--serif); font-size: clamp(30px,3.4vw,48px); line-height:1; }
.mental-stats .s .n em { color: var(--bronze); font-style: italic; }
.mental-stats .s .l { font-size:10.5px; color:var(--muted2); margin-top:10px; line-height:1.45; }
.mental-value { background: var(--bone-deep); padding: 30px; }
.mental-value h4 { font-family:var(--sans); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color: var(--bronze); font-weight:600; margin-bottom:12px; }
.mental-value p { font-size: 14.5px; color: var(--ink-2); max-width:none; }
.mental-src { font-size: 11px; color: var(--muted2); margin-top: 18px; letter-spacing:.05em; }

/* ============ FORMAÇÃO ============ */
.form-grid { display:grid; grid-template-columns: 1fr 1fr; gap: clamp(34px,5vw,80px); align-items:start; }
.form-photos { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-photos img { width:100%; height:100%; object-fit:cover; filter:grayscale(100%); aspect-ratio:4/3; }
.form-photos img:first-child { grid-column:1/-1; aspect-ratio:16/9; }
.form-lead { color: var(--ink-2); font-size:15.5px; margin: 26px 0 36px; }
.form-badges { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-badge { border:1px solid var(--line); padding:24px; background: var(--paper); }
.form-badge .l { font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); margin-bottom:10px; }
.form-badge p { font-family:var(--serif); font-size:18px; line-height:1.3; max-width:none; }
.cred { list-style:none; margin-top: clamp(40px,6vw,70px); border-top:1px solid var(--line); }
.cred li { display:grid; grid-template-columns: 130px 1fr; gap:24px; padding:20px 0; border-bottom:1px solid var(--line); align-items:baseline; }
.cred li .i { font-family:var(--serif); font-style:italic; font-size:19px; }
.cred li .d { font-size:14px; color:var(--ink-2); }
.residency { margin-top: 40px; display:flex; gap:18px; align-items:center; flex-wrap:wrap; }
.residency .gl { color: var(--bronze); font-size: 22px; }
.residency .pl { font-family:var(--serif); font-size: clamp(17px,1.9vw,24px); }

/* ============ DEPOIMENTOS ============ */
.testi-stage { max-width: 960px; margin: 0 auto; text-align:center; min-height: 320px; display:flex; flex-direction:column; justify-content:center; }
.t-slide { display:none; animation: tfade .7s ease; }
.t-slide.active { display:block; }
@keyframes tfade { from{opacity:0; transform: translateY(14px);} to{opacity:1; transform:none;} }
.t-q { font-family:var(--serif); font-weight:300; font-size: clamp(26px,3.6vw,48px); line-height:1.3; margin-bottom: 34px; }
.t-q .italic { color: var(--bronze); }
.t-a { font-size:11.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted2); font-weight:500; }
.t-ctrl { display:flex; align-items:center; justify-content:center; gap:30px; margin-top: 50px; }
.t-ctrl button { width:56px; height:56px; border:1px solid var(--ink); background:transparent; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; transition: all .35s; }
.t-ctrl button:hover { background:var(--ink); color:var(--bone); }
.t-ctrl svg { width:18px; height:18px; }
.t-count { font-family:var(--serif); font-style:italic; font-size:20px; color: var(--muted2); min-width:64px; }
.t-count b { color: var(--bronze); font-weight: 400; }
.t-linkedin { text-align:center; margin-top: 50px; }

/* ============ CONTATO ============ */
.contato { display:grid; grid-template-columns: 1fr 1fr; min-height: 92vh; }
.contato-l { background: var(--ink); color:var(--bone); display:flex; flex-direction:column; justify-content:center; padding: clamp(70px,9vw,130px) var(--gut); }
.contato-l .kicker { color: var(--bronze-lt); }
.contato-l h2 { color:#fff; margin: 26px 0 30px; max-width: 15ch; }
.contato-l h2 .italic { color: var(--bronze-lt); }
.contato-l p { color:#b3ad9f; font-size:15.5px; }
.contato-who { margin: 38px 0; }
.contato-who .n { font-family:var(--serif); font-size:28px; color:#fff; }
.contato-who .r { font-size:11.5px; letter-spacing:.18em; text-transform:uppercase; color:#a8a294; margin-top:6px; }
.contato-l .btn { border-color: var(--bone); color: var(--bone); }
.contato-l .btn:hover { background: var(--bronze); border-color: var(--bronze); color:#fff; }
.contato-motto { font-family:var(--serif); font-style:italic; font-size: clamp(18px,2vw,24px); line-height:1.45; color:#cfc9bb; margin-top: 46px; max-width: 34ch; }
.contato-r { position:relative; overflow:hidden; background: var(--bone-deep); min-height: 50vh; }
.contato-r img { width:100%; height:100%; object-fit:cover; object-position:60% 22%; filter: grayscale(100%); }

/* ============ FOOTER ============ */
.ft { background:#07070a; color:#8a8479; padding: 46px var(--gut); display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.ft .fb img { height: 26px; filter: brightness(0) invert(1); opacity:.8; }
.ft a { color:#b3ad9f; }

/* ============ MODAL ============ */
.ov { position:fixed; inset:0; background:rgba(7,7,10,.6); backdrop-filter: blur(5px); z-index:400; display:none; align-items:center; justify-content:center; padding:24px; }
.ov.open { display:flex; }
.modal { background: var(--paper); max-width:1020px; width:100%; max-height:88vh; overflow-y:auto; padding: clamp(34px,5vw,70px); position:relative; }
.modal .mc { position:absolute; top:22px; right:22px; width:44px; height:44px; border:1px solid var(--line); background:transparent; border-radius:50%; font-size:20px; transition: all .3s; }
.modal .mc:hover { background:var(--ink); color:var(--bone); }
.modal .biblio { display:grid; grid-template-columns:1fr 1fr; gap:32px 44px; margin-top:34px; }
.modal .biblio h4 { font-family:var(--sans); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--bronze); font-weight:600; margin-bottom:14px; line-height:1.4; }
.modal .biblio ul { list-style:none; }
.modal .biblio li { font-size:14px; padding:6px 0; color:var(--ink-2); border-bottom:1px solid var(--line); }
.modal .biblio li b { font-family:var(--serif); font-size:17px; font-weight:500; color:var(--ink); }

/* ============ Reveal ============ */
.rv { opacity:0; transform: translateY(28px); transition: opacity 1.1s cubic-bezier(.2,.7,.2,1), transform 1.1s cubic-bezier(.2,.7,.2,1); }
.rv.in { opacity:1; transform:none; }

/* ============ Responsive ============ */
@media (max-width: 1080px) {
  .nav-menu { display:none; }
  .nav-menu.open { display:flex; position:absolute; top:100%; left:0; right:0; flex-direction:column; gap:20px; background:var(--bone); padding:30px var(--gut); border-bottom:1px solid var(--line); }
  .hambtn { display:inline-flex; }
}
@media (max-width: 920px) {
  .hero { grid-template-columns:1fr; }
  .hero-r { order:-1; min-height: 56vh; max-height: 70vh; }
  .hero-l { padding-top: 110px; }
  .corp-head, .ment, .mental, .form-grid, .contato { grid-template-columns:1fr; }
  .ment-photo { position:static; aspect-ratio:16/10; }
  .bonsai-grid { grid-template-columns:1fr; }
  .bonsai-grid .col.r { text-align:left; }
  .col.r .b-item p { margin-left:0; }
  .bonsai-img { max-width:340px; margin:30px auto; order:-1; }
  .contato-r { order:-1; min-height:50vh; }
  .diff-panel { grid-template-columns: 1fr; gap: 18px; }
  .diff-panel .big-num { display:none; }
}
@media (max-width: 600px) {
  .hero-stats { gap:22px; }
  .form-badges, .mental-stats, .form-photos { grid-template-columns:1fr; }
  .cred li { grid-template-columns:1fr; gap:4px; }
  .modal .biblio { grid-template-columns:1fr; }
  .t-q { font-size:23px; }
  .diff-tiles { grid-template-columns: 1fr 1fr; }
  .diff-tile { min-height: 110px; }
  .diff-tile .t { font-size: 16px; }
}

/* ============================================================
   v3 — anchor offset, header adaptativo, novas seções
   ============================================================ */
html { scroll-padding-top: 96px; }
section[id] { scroll-margin-top: 90px; }

/* Dual logo (adapta a fundo claro/escuro) */
.hdr .brand { position: relative; display: inline-block; }
.wm { height: 30px; width: auto; transition: opacity .3s; }
.wm-light { display: none; }
.hdr.on-dark .wm-dark { display: none; }
.hdr.on-dark .wm-light { display: block; }
.hdr.on-dark .cref { color: #a8a294; }
.hdr.on-dark .nav-menu a { color: #e8e4da; }
.hdr.on-dark .nav-menu a.active { color: #fff; }
.hdr.on-dark .hambtn svg { stroke: #f4f1ea; }
.hdr.on-dark { background: rgba(20,18,13,.82); backdrop-filter: blur(16px) saturate(140%); -webkit-backdrop-filter: blur(16px) saturate(140%); border-bottom-color: rgba(255,255,255,.12); }
.hdr.on-dark.solid { background: rgba(20,18,13,.9); }

/* Botão claro em seções escuras */
.dark .btn { border-color: var(--bone); color: var(--bone); }
.dark .btn:hover { background: var(--bronze); border-color: var(--bronze); color: #fff; }

/* ===== COMO POSSO AJUDAR ===== */
.help-sub { font-family: var(--serif); font-size: clamp(18px,2vw,24px); line-height: 1.4; color: var(--ink-2); max-width: 52ch; margin-top: 8px; }
.help-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.help-card { background: var(--paper); padding: clamp(30px,3vw,44px) clamp(26px,2.5vw,36px); display: flex; flex-direction: column; justify-content: space-between; gap: 28px; transition: background .35s; min-height: 300px; }
.help-card:hover { background: #fbfaf6; }
.hc-top .hc-n { font-family: var(--serif); font-style: italic; font-size: 18px; color: var(--bronze); }
.hc-top h3 { font-family: var(--serif); font-weight: 400; font-size: clamp(21px,2vw,26px); margin: 14px 0 14px; line-height: 1.15; }
.hc-top p { font-size: 14.5px; color: var(--ink-2); line-height: 1.65; max-width: none; }
.help-card .link { align-self: flex-start; }

/* ===== Corporativo: Por que / Formatos ===== */
.why { margin-top: clamp(48px,6vw,80px); }
.why-list { list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.14); margin-top: 20px; }
.why-list li { background: var(--ink); padding: 24px 20px; display: flex; flex-direction: column; gap: 12px; font-family: var(--serif); font-size: 16px; line-height: 1.25; color: var(--bone); min-height: 130px; }
.why-list li .wn { font-style: italic; font-size: 14px; color: var(--bronze-lt); }
.formats { margin-top: clamp(56px,7vw,90px); border-top: 1px solid rgba(255,255,255,.14); padding-top: 40px; }
.formats-list { list-style: none; margin: 22px 0 36px; }
.formats-list li { padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.12); font-size: 15px; color: #c2bcae; line-height: 1.5; }
.formats-list li strong { font-family: var(--serif); font-weight: 500; font-size: 19px; color: var(--bone); font-style: italic; }

/* ===== PROVA SOCIAL (cards) ===== */
.proof-intro { font-family: var(--serif); font-size: clamp(17px,1.8vw,21px); line-height: 1.5; color: var(--ink-2); max-width: 60ch; margin: 0 auto; }
.proof-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px,2.4vw,32px); margin-top: clamp(48px,6vw,80px); }
.proof-card { border: 1px solid var(--line); background: var(--paper); padding: clamp(30px,3vw,44px); display: flex; flex-direction: column; position: relative; }
.pc-quote { font-family: var(--serif); font-size: 64px; line-height: .5; color: var(--bronze); opacity: .55; display: block; margin-bottom: 18px; height: 30px; }
.pc-text { flex: 1; }
.pc-text p { font-size: 14.5px; line-height: 1.72; color: var(--ink-2); max-width: none; }
.pc-text p + p { margin-top: 12px; }
.pc-foot { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--line); }
.pc-who { display: flex; flex-direction: column; gap: 4px; margin-bottom: 14px; }
.pc-name { font-family: var(--serif); font-size: 19px; color: var(--ink); }
.pc-role { font-size: 12px; letter-spacing: .02em; color: var(--muted2); line-height: 1.45; }
.pc-link { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; font-weight: 500; color: var(--bronze); border-bottom: 1px solid var(--bronze); padding-bottom: 3px; }
.pc-link .a { transition: transform .3s; }
.pc-link:hover { opacity: .7; }
.pc-link:hover .a { transform: translateX(3px); }
.pc-ctx { font-family: var(--serif); font-style: italic; font-size: 13px; color: var(--muted2); line-height: 1.5; display: block; }

/* ===== v3 responsive ===== */
@media (max-width: 980px) {
  .help-cards { grid-template-columns: 1fr; }
  .help-card { min-height: 0; }
  .why-list { grid-template-columns: 1fr 1fr; }
  .why-list li { min-height: 0; }
  .proof-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .why-list { grid-template-columns: 1fr; }
  .nav-menu.open { max-height: 80vh; overflow-y: auto; box-shadow: 0 20px 40px rgba(0,0,0,.12); }
  .hdr.on-dark .nav-menu.open { background: #16140f; }
  .hdr.on-dark .nav-menu.open a { color: #f4f1ea; }
}
