/* ramonassis.com.br — estilos da página
   Paleta e tipografia seguem o book da marca (docs/marca.md). */

/* Layout: grade editorial alinhada à esquerda. O monograma RA em 3D (cromo grafite) é o único elemento expressivo:
   nasce no hero, gira atrás do manifesto e volta de frente no fechamento. Faixas escuras e claras alternam como nas peças da marca. */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/montserrat-latin-var.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Montserrat Fallback";src:local("Roboto"),local("Roboto-Regular"),local("Helvetica Neue"),local("HelveticaNeue"),local("Arial"),local("ArialMT");size-adjust:111%;ascent-override:87.2%;descent-override:22.6%;line-gap-override:0%}
:root{
  /* paleta do book da marca */
  --black:#000000;
  --graphite:#1A1A1A;
  --steel:#666666;
  --mist:#E6E7E8;
  --white:#FFFFFF;
  /* derivados, com o mesmo viés frio do #E6E7E8 */
  --silver:#A9ABAE;
  --fog:#C9CACC;
  --ink-soft:#4A4B4D;
  --line-dark:#2C2D2E;
  --line-mid:#3A3B3D;
  --line-light:#C4C5C8;
  --line-paper:#DADBDD;
  /* tipografia da marca: Montserrat Medium nos títulos, Light no texto corrido */
  --font:"Montserrat","Montserrat Fallback","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --step--1:clamp(.8rem,.78rem + .1vw,.875rem);
  --step-0:clamp(1rem,.96rem + .2vw,1.125rem);
  --step-1:clamp(1.15rem,1.06rem + .45vw,1.45rem);
  --step-2:clamp(1.5rem,1.25rem + 1.1vw,2.2rem);
  --step-3:clamp(2.05rem,1.5rem + 2.5vw,3.7rem);
  --step-4:clamp(2.75rem,1rem + 4.6vw,6rem);
  --radius:6px;
  --ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{background:var(--black)}
[hidden]{display:none!important}
img{max-width:100%}
body{
  margin:0;
  background:var(--black);color:var(--white);
  font-family:var(--font);font-weight:300;font-size:var(--step-0);line-height:1.6;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;
  overflow-x:clip;
}
::selection{background:var(--white);color:var(--black)}
a{color:inherit}
:focus-visible{outline:2px solid var(--white);outline-offset:3px;border-radius:2px}
.band-light :focus-visible,.band-white :focus-visible{outline-color:var(--black)}
[tabindex="-1"]:focus{outline:none}
h1,h2,h3{font-weight:500;margin:0;text-wrap:balance}
p{text-wrap:pretty}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}

/* palco 3D fixo atrás das seções escuras transparentes */
#stage{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0;pointer-events:none;opacity:0;transition:opacity 1.4s var(--ease)}
.webgl-ready #stage{opacity:1}
main,.site-footer{position:relative;z-index:1}
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.035;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

.wrap{
  width:100%;max-width:1320px;margin-inline:auto;
  padding-left:max(16px, env(safe-area-inset-left, 0px));
  padding-right:max(16px, env(safe-area-inset-right, 0px));
}
@media (min-width:720px){
  .wrap{padding-left:max(40px, env(safe-area-inset-left, 0px));padding-right:max(40px, env(safe-area-inset-right, 0px))}
}

/* ---------- cabeçalho ---------- */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:50;
  padding-top:env(safe-area-inset-top, 0px);
  border-bottom:1px solid transparent;
  transition:background-color .4s var(--ease),border-color .4s var(--ease);
}
.site-header.is-scrolled{
  background:rgba(0,0,0,.86);border-bottom-color:var(--line-dark);
  -webkit-backdrop-filter:blur(14px) saturate(120%);backdrop-filter:blur(14px) saturate(120%);
}
.header-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;height:72px}
@media (max-width:339px){.header-bar{gap:12px}}
.logo{display:inline-flex;align-items:center;color:var(--white);text-decoration:none}
.logo svg{height:36px;width:auto;display:block}
.nav{display:flex;align-items:center;gap:28px}
.nav-links{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.nav-links a{font-size:.875rem;font-weight:400;color:var(--silver);text-decoration:none;transition:color .2s}
.nav-links a:hover{color:var(--white)}
.menu-btn{display:none;width:44px;height:44px;border-radius:var(--radius);border:1px solid var(--line-mid);background:transparent;color:var(--white);cursor:pointer;place-items:center}
.menu-btn svg{width:18px;height:18px}
.menu-panel{border-top:1px solid var(--line-dark);background:rgba(0,0,0,.94)}
.menu-panel ul{list-style:none;margin:0;padding-block:12px 20px;display:grid}
.menu-panel a{display:block;padding-block:12px;font-size:1.25rem;font-weight:400;text-decoration:none;color:var(--fog)}
@media (max-width:900px){
  .nav-links{display:none}
  .menu-btn{display:grid}
}

/* ---------- botões ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  min-height:48px;padding:0 22px;border-radius:var(--radius);border:1px solid transparent;
  font:500 .95rem/1 var(--font);letter-spacing:.01em;text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);
}
.btn-sm{min-height:44px;padding:0 16px;font-size:.875rem}
.btn-primary{background:var(--white);color:var(--black)}
.btn-primary:hover{background:var(--mist)}
.btn-ghost{border-color:var(--line-mid);color:var(--white);background:transparent}
.btn-ghost:hover{border-color:var(--white)}
.btn-dark{background:var(--black);color:var(--white)}
.btn-dark:hover{background:var(--graphite)}
.btn-outline{border-color:var(--line-light);color:var(--black);background:transparent}
.btn-outline:hover{border-color:var(--black)}
.btn svg{width:16px;height:16px;flex:none}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(100svh,980px);display:flex;align-items:center;padding-block:120px 48px;overflow-x:clip}
.hero .wrap{position:relative;z-index:1;display:grid;gap:clamp(48px,8vh,96px)}
.hero-copy{max-width:min(700px,56%)}
.hero-portrait{position:absolute;z-index:0;bottom:0;left:53%;right:0;height:calc(100% - 92px);margin:0;display:flex;justify-content:center;pointer-events:none}
.hero-portrait img{display:block;height:100%;width:auto;max-width:none;
  -webkit-mask-image:linear-gradient(to bottom,#000 62%,transparent 96%),linear-gradient(to right,transparent 0,#000 11%,#000 89%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to bottom,#000 62%,transparent 96%),linear-gradient(to right,transparent 0,#000 11%,#000 89%,transparent 100%);
  mask-composite:intersect}
@media (min-width:761px){.hero-portrait img{animation:portrait-in 1.5s var(--ease) .15s both}}
@keyframes portrait-in{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
.release{display:inline-flex;align-items:center;gap:14px;max-width:100%;margin:0 0 30px;padding:6px 18px 6px 6px;border:1px solid var(--line-mid);border-radius:8px;background:rgba(255,255,255,.03);color:var(--fog);text-decoration:none;line-height:1.3;transition:border-color .25s var(--ease),background-color .25s var(--ease)}
.release:hover{border-color:var(--white);background:rgba(255,255,255,.06)}
.release img{width:30px;height:45px;flex:none;border-radius:2px;object-fit:cover;box-shadow:0 3px 10px rgba(0,0,0,.6)}
.release > span{display:grid;gap:2px;min-width:0}
.release small{font-size:.75rem;color:var(--silver)}
.release b{font-size:.88rem;font-weight:500;color:var(--white)}
.hero h1{font-size:var(--step-4);line-height:.98;letter-spacing:-.045em}
.hero h1 .line{display:block}
.lead{margin:28px 0 0;max-width:42ch;font-size:var(--step-1);line-height:1.5;color:var(--fog)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.hero-foot{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 36px;padding-top:22px;border-top:1px solid var(--line-dark);font-size:.9rem;color:var(--silver)}
.hero-foot ul{display:flex;flex-wrap:wrap;gap:10px 32px;list-style:none;margin:0;padding:0}
.hero-foot a{color:var(--white);font-weight:400;text-decoration:none;border-bottom:1px solid var(--line-mid);padding-bottom:2px;transition:border-color .2s}
.hero-foot a:hover{border-color:var(--white)}
.hero-mark{display:none;position:absolute;right:6%;top:50%;width:min(34vw,440px);transform:translateY(-50%);color:#2A2B2C;pointer-events:none}
.no-webgl .hero-mark{display:block}
@media (max-width:760px){
  .hero{min-height:0;align-items:flex-end;padding-top:calc(72px + 44svh)}
  .hero-portrait{left:0;right:0;bottom:auto;top:56px;height:min(50svh,470px)}
  .hero-portrait img{-webkit-mask-image:linear-gradient(to bottom,#000 52%,transparent 95%),linear-gradient(to right,transparent 0,#000 11%,#000 89%,transparent 100%);mask-image:linear-gradient(to bottom,#000 52%,transparent 95%),linear-gradient(to right,transparent 0,#000 11%,#000 89%,transparent 100%)}
  .nav{gap:12px}
  .hero-copy{max-width:100%}
  .hero-mark{right:auto;left:50%;top:calc(72px + 4svh);width:min(62vw,300px);transform:translateX(-50%)}
}

/* ---------- manifesto ---------- */
.manifesto{padding-block:clamp(140px,26vh,280px)}
.quote{margin:0}
.quote p{margin:0;max-width:15ch;font-size:clamp(2.2rem,1.1rem + 4.7vw,5.9rem);font-weight:500;line-height:1.04;letter-spacing:-.04em;text-wrap:balance}
.quote .w{color:#727375}
.quote footer{margin-top:40px;font-size:var(--step-0);font-weight:400;color:var(--silver)}

/* ---------- seções ---------- */
.section{padding-block:clamp(88px,11vw,168px)}
.band-graphite{background:var(--graphite)}
.band-black{background:var(--black)}
.band-light{background:var(--mist);color:var(--black)}
.band-white{background:var(--white);color:var(--black)}
.section-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px 72px;align-items:end;margin-bottom:clamp(48px,6vw,88px)}
.section-head h2,.h2{font-size:var(--step-3);line-height:1.04;letter-spacing:-.035em}
.section-head p{margin:0;max-width:50ch}
.band-graphite .section-head p,.band-black .section-head p{color:var(--silver)}
.band-light .section-head p,.band-white .section-head p{color:var(--ink-soft)}
@media (max-width:900px){.section-head{grid-template-columns:1fr}}

/* ---------- empresas ---------- */
.empresas-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(40px,6vw,104px);align-items:start}
.empresas-copy .section-sub{margin:26px 0 0;max-width:52ch;color:var(--silver)}
.companies{list-style:none;margin:clamp(40px,5vw,64px) 0 0;padding:0;border-top:1px solid var(--line-mid)}
.company{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 32px;align-items:baseline;padding-block:28px 30px;border-bottom:1px solid var(--line-mid)}
.company-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;min-width:0}
.company h3{font-size:var(--step-2);line-height:1.1;letter-spacing:-.025em}
.company .city{font-size:.9rem;color:var(--silver)}
.company p{grid-column:1 / -1;margin:0;color:var(--fog);max-width:60ch}
.visit{font-size:.9rem;font-weight:500;color:var(--white);text-decoration:none;border-bottom:1px solid var(--steel);padding-bottom:3px;white-space:nowrap;transition:border-color .2s}
.visit:hover{border-color:var(--white)}
.photo{margin:0;border-radius:10px;overflow:hidden;background:#111214;max-width:100%}
.photo img{display:block;width:100%;height:auto}
.photo-tall{aspect-ratio:4 / 5}
.photo-wide{aspect-ratio:4 / 3;margin-top:44px}
@media (min-width:901px){.photo-tall{position:sticky;top:100px}}
@media (max-width:900px){
  .empresas-grid{grid-template-columns:1fr}
  .photo-tall{max-width:520px}
}

/* ---------- livro ---------- */
.book-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,120px);align-items:center}
.book-stage{position:relative;display:grid;place-items:center;min-height:clamp(440px,46vw,640px);perspective:1600px;touch-action:pan-y}
.book-shadow{position:absolute;left:50%;bottom:7%;width:60%;height:34px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(0,0,0,.32),rgba(0,0,0,0));filter:blur(4px)}
.book{
  --bw:min(320px,62vw);--bt:34px;--ry:-30deg;--py:0deg;--px:0deg;
  position:relative;width:var(--bw);aspect-ratio:2 / 3;max-width:100%;
  transform-style:preserve-3d;
  transform:rotateX(calc(5deg + var(--px))) rotateY(calc(var(--ry) + var(--py)));
  transition:transform .55s var(--ease);
}
.book-face{position:absolute}
.book-front{
  inset:0;transform:translateZ(calc(var(--bt) / 2));border-radius:2px 5px 5px 2px;overflow:hidden;
  background:#12151E;
  box-shadow:inset 3px 0 0 rgba(255,255,255,.05),inset 10px 0 16px -12px rgba(255,255,255,.3);
}
.book-front::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.35) 0,rgba(255,255,255,.08) 1.6%,rgba(0,0,0,.18) 3.2%,rgba(0,0,0,0) 6%),linear-gradient(115deg,rgba(255,255,255,0) 34%,rgba(255,255,255,.07) 46%,rgba(255,255,255,0) 58%);pointer-events:none}
.book-front img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.book-back{inset:0;transform:rotateY(180deg) translateZ(calc(var(--bt) / 2));background:#10131B;border-radius:5px 2px 2px 5px}
.book-spine{top:0;left:0;width:var(--bt);height:100%;transform:translateX(calc(var(--bt) / -2)) rotateY(-90deg);background:linear-gradient(90deg,#0B0D13,#1B1F2B 50%,#0B0D13);display:flex;align-items:center;justify-content:space-between;padding-block:7% 6%;writing-mode:vertical-rl;color:#CBA94E;font-family:var(--font);font-weight:600;font-size:calc(var(--bw) * .03);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden}
.book-spine span:last-child{color:#E9E6DD;font-weight:500}
.book-pages{top:3px;right:0;width:calc(var(--bt) - 4px);height:calc(100% - 6px);transform:translateX(calc((var(--bt) - 4px) / 2)) rotateY(90deg);background:repeating-linear-gradient(90deg,#F3F3F1 0 2px,#D9D9D5 2px 3px)}
.book-top{top:0;left:0;width:calc(100% - 3px);height:calc(var(--bt) - 4px);transform:translateY(calc((var(--bt) - 4px) / -2)) rotateX(90deg);background:repeating-linear-gradient(0deg,#F3F3F1 0 2px,#D9D9D5 2px 3px)}
/* capa plana: o livro só existe como eBook, então nada de lombada, miolo ou verso */
.book{--bt:0px;--ry:-8deg}
.book-back,.book-spine,.book-pages,.book-top,.book-shadow,.book-front::after{display:none}
.book-stage{align-content:center}
.book-front{box-shadow:0 18px 44px rgba(0,0,0,.24)}
.book-caption{margin:22px 0 0;padding:5px 12px;border:1px solid var(--line-light);border-radius:999px;font-size:.8rem;font-weight:500;line-height:1.4;color:var(--graphite)}
.book-kicker{margin:0 0 18px;font-size:var(--step--1);font-weight:400;color:var(--steel)}
.book-copy p.lede{margin:26px 0 0;font-size:var(--step-1);line-height:1.55;color:var(--ink-soft);max-width:46ch}
.book-thesis{margin:20px 0 0;font-size:var(--step-1);font-weight:400;line-height:1.5;color:var(--black);max-width:44ch}
.themes{list-style:none;margin:40px 0 0;padding:0;border-top:1px solid var(--line-light)}
.themes li{padding-block:18px 20px;border-bottom:1px solid var(--line-light)}
.themes h3{margin:0 0 6px;font-size:1.05rem;letter-spacing:-.005em;line-height:1.3}
.themes p{margin:0;color:var(--ink-soft);font-size:.97rem;max-width:56ch}
.synopsis{margin-top:22px}
.synopsis summary{display:inline-flex;align-items:center;gap:12px;padding-block:8px;font-weight:500;font-size:.95rem;cursor:pointer;list-style:none}
.synopsis summary::-webkit-details-marker{display:none}
.synopsis summary::after{content:"";width:9px;height:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .3s var(--ease)}
.synopsis[open] summary::after{transform:translateY(2px) rotate(-135deg)}
.synopsis p{margin:14px 0 0;color:var(--ink-soft);max-width:62ch;font-size:.98rem}
.book-meta{margin:28px 0 0;padding:0;list-style:none;display:grid;gap:0;border-top:1px solid var(--line-light);max-width:460px}
.book-meta li{display:flex;justify-content:space-between;gap:16px;padding-block:14px;border-bottom:1px solid var(--line-light);font-size:.95rem}
.book-meta span:first-child{color:var(--steel)}
.book-meta span:last-child{font-weight:400;text-align:right}
@media (min-width:901px){
  .book-grid{align-items:start}
  .book-stage{position:sticky;top:max(96px, calc(50vh - 300px))}
}
@media (max-width:900px){
  .book-grid{grid-template-columns:1fr}
  .book-stage{min-height:auto;padding-block:24px 48px}
}

/* ---------- mentoria ---------- */
.mentoria-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(48px,6vw,104px);align-items:start}
.for-whom{margin:28px 0 0;max-width:46ch;font-size:var(--step-1);line-height:1.5;color:var(--fog)}
.pillars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin-top:56px;border-top:1px solid var(--line-dark)}
.pillar{padding-block:28px 30px;border-bottom:1px solid var(--line-dark);min-width:0}
.pillar h3{margin:0 0 10px;font-size:var(--step-1);letter-spacing:-.01em}
.pillar p{margin:0;color:var(--silver);font-size:.98rem}
.apply{position:sticky;top:100px;background:var(--graphite);border:1px solid var(--line-dark);border-radius:10px;padding:clamp(24px,3vw,40px)}
.apply h3{font-size:var(--step-2);letter-spacing:-.02em;line-height:1.1}
.steps{list-style:none;margin:24px 0 28px;padding:0;display:grid;gap:14px;counter-reset:passo}
.steps li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;align-items:start;color:var(--fog);font-size:.95rem;line-height:1.5}
.steps li::before{counter-increment:passo;content:counter(passo);display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line-mid);border-radius:50%;font-size:.8rem;font-weight:500;color:var(--white);font-variant-numeric:tabular-nums}
.field{display:grid;gap:8px;margin-bottom:16px;min-width:0}
.field label{font-size:.85rem;font-weight:400;color:var(--silver)}
.field input,.field select,.field textarea{
  width:100%;box-sizing:border-box;background:var(--black);color:var(--white);
  border:1px solid var(--line-mid);border-radius:var(--radius);
  font:300 1rem/1.4 var(--font);padding:13px 14px;transition:border-color .2s,box-shadow .2s;
}
.field textarea{resize:vertical;min-height:96px}
.field select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23A9ABAE' stroke-width='1.5'/></svg>");background-repeat:no-repeat;background-position:right 16px center}
.field input::placeholder,.field textarea::placeholder{color:#8A8B8D}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--white);box-shadow:0 0 0 3px rgba(255,255,255,.12)}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.apply .btn{width:100%;margin-top:8px}
.mentoria-grid>*{min-width:0}
.apply .btn{white-space:normal;line-height:1.25;padding-block:12px;text-align:center}
.direct{margin:16px 0 0;font-size:.85rem;color:var(--silver);display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.direct .num{color:var(--white);font-weight:400;-webkit-user-select:all;user-select:all;font-variant-numeric:tabular-nums}
.copy-btn{background:none;border:0;min-height:44px;padding:10px 0;color:var(--silver);font:400 .85rem var(--font);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.copy-btn:hover{color:var(--white)}
@media (max-width:900px){
  .mentoria-grid{grid-template-columns:minmax(0,1fr)}
  .apply{position:static}
}
@media (max-width:560px){
  .pillars{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
}

/* ---------- cursos ---------- */
.courses{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-light)}
.course{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1.45fr) auto;gap:18px 48px;align-items:start;padding-block:38px;border-bottom:1px solid var(--line-light)}
.course h3{font-size:var(--step-2);line-height:1.1;letter-spacing:-.025em}
.course p{margin:0;color:var(--ink-soft)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none}
.tags li{font-size:.8rem;font-weight:400;padding:5px 11px;border:1px solid var(--line-light);border-radius:999px;color:var(--graphite)}
.course-cta{display:grid;justify-items:end;gap:14px}
.status{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:500;color:var(--steel)}
.status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--black)}
@media (max-width:900px){
  .course{grid-template-columns:1fr;gap:14px}
  .course-cta{justify-items:start;margin-top:8px}
}

/* ---------- sobre ---------- */
.about-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,6vw,104px);align-items:start}
.portrait{position:relative;margin:0;aspect-ratio:4 / 5;max-width:100%;border-radius:10px;overflow:hidden;background:#141416}
.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bio{margin:28px 0 0;max-width:52ch;font-size:var(--step-1);line-height:1.55;color:#262728}
.creds{margin:44px 0 0;border-top:1px solid var(--line-paper)}
.cred{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px 24px;padding-block:18px;border-bottom:1px solid var(--line-paper)}
.cred dt{font-size:.85rem;color:var(--steel);font-weight:400;padding-top:2px}
.cred dd{margin:0;font-weight:400}
@media (max-width:900px){.about-grid{grid-template-columns:1fr}.portrait{max-width:440px}}
@media (max-width:560px){.cred{grid-template-columns:1fr}}

/* ---------- fechamento ---------- */
.final{padding-block:clamp(320px,56vh,560px) clamp(96px,12vw,168px);text-align:center}
.final h2{font-size:var(--step-3);line-height:1.04;letter-spacing:-.035em;max-width:19ch;margin-inline:auto}
.final p{margin:24px auto 0;max-width:46ch;color:var(--silver)}
.final .actions{justify-content:center}
@media (max-width:760px){.final{padding-top:calc(44svh + 56px)}}

/* ---------- rodapé ---------- */
.site-footer{background:var(--black);border-top:1px solid var(--line-dark);padding-block:64px calc(36px + env(safe-area-inset-bottom, 0px))}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px}
.footer-brand p{margin:18px 0 0;color:var(--silver);font-size:.9rem;max-width:30ch}
.footer-col h3{margin:0 0 2px;font-size:.85rem;font-weight:500;color:var(--white)}
.footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.footer-col a{display:inline-block;padding-block:13px;font-size:.9rem;color:var(--silver);text-decoration:none;transition:color .2s}
.footer-col a:hover{color:var(--white)}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:56px;padding-top:24px;border-top:1px solid var(--line-dark);font-size:.82rem;color:var(--silver)}
.footer-legal{flex:0 0 100%;margin:0;font-weight:400;line-height:1.55}
.footer-legal a,.footer-col:last-child a{white-space:nowrap}
.footer-links{display:flex;flex-wrap:wrap;gap:0 24px;list-style:none;margin:0;padding:0}
.footer-links a{display:inline-block;padding-block:13px;color:var(--silver);text-underline-offset:3px;transition:color .2s}
.footer-links a:hover{color:var(--white)}
@media (max-width:900px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-brand{grid-column:1 / -1}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
  .quote .w{color:var(--white)}
}

/* tablet: a chamada passa sobre o monograma 3D, e a sombra mantém o contraste */
@media (min-width:761px) and (max-width:1023px){.hero h1,.hero .lead{text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 16px rgba(0,0,0,.85)}.hero .btn-ghost{background:rgba(0,0,0,.6)}}
