@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--bg:#0b0d10;--surface:#12161b;--text:#f6f6f4;--muted:#aab0b8;--red:#d30a10;--red-dark:#9d080c;--line:rgba(255,255,255,.12);--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.65}img,video{display:block;max-width:100%}a{color:inherit}button{font:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:999;background:#fff;color:#000;padding:.8rem 1rem}.skip-link:focus{top:1rem}
.topbar{position:fixed;inset:0 0 auto 0;z-index:50;height:88px;display:flex;align-items:center;justify-content:space-between;padding:10px max(24px,calc((100vw - var(--max))/2));background:linear-gradient(to bottom,rgba(5,6,8,.9),rgba(5,6,8,.15));transition:.3s}.topbar.scrolled{background:rgba(8,10,13,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand img{width:150px;height:66px;object-fit:contain;background:#fff;border-radius:4px}.nav{display:flex;gap:1.5rem}.nav a{text-decoration:none;font-size:.92rem;letter-spacing:.04em;color:#eee}.nav a:hover,.nav a:focus-visible{color:#ff3b40}.menu-button{display:none;background:none;border:0;padding:.5rem}.menu-button span{display:block;width:26px;height:2px;background:#fff;margin:5px}
.hero{min-height:100vh;position:relative;display:grid;place-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,8,.88),rgba(5,6,8,.48) 47%,rgba(5,6,8,.2)),linear-gradient(0deg,rgba(5,6,8,.45),transparent 45%)}.hero-content{position:relative;z-index:2;width:min(var(--max),calc(100% - 48px));padding-top:80px}.eyebrow{color:#ff4045;text-transform:uppercase;letter-spacing:.19em;font-size:.76rem;font-weight:700;margin:0 0 1rem}h1,h2{font-family:'Playfair Display',Georgia,serif;line-height:1.08;margin:0}h1{font-size:clamp(3.4rem,8vw,7.4rem);max-width:950px;letter-spacing:-.035em}.hero-content>p:not(.eyebrow){max-width:600px;font-size:clamp(1rem,2vw,1.25rem);color:#ddd;margin:1.5rem 0 2.2rem}.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:.9rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.25rem;border:1px solid transparent;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700;transition:.2s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--red);color:#fff}.button.primary:hover{background:var(--red-dark)}.button.ghost{border-color:rgba(255,255,255,.55);background:rgba(0,0,0,.12)}.button.ghost:hover{border-color:#fff;background:rgba(255,255,255,.09)}.button.large{min-height:58px;padding:1rem 1.35rem}.scroll-hint{position:absolute;z-index:2;bottom:25px;left:50%;text-decoration:none;font-size:1.8rem;animation:bob 1.8s infinite}@keyframes bob{50%{transform:translateY(7px)}}
.section{width:min(var(--max),calc(100% - 48px));margin:auto;padding:110px 0}.section-heading{max-width:700px;margin-bottom:45px}.section-heading h2,.about-copy h2,.contact-section h2{font-size:clamp(2.4rem,5vw,4.7rem)}.section-heading>p:last-child{color:var(--muted);font-size:1.08rem}.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem}.filter{color:var(--muted);background:transparent;border:1px solid var(--line);padding:.6rem .95rem;cursor:pointer}.filter:hover,.filter.active{color:#fff;border-color:var(--red);background:rgba(211,10,16,.12)}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:80px;gap:12px}.gallery-item{grid-column:span 4;grid-row:span 5;border:0;padding:0;overflow:hidden;position:relative;background:#1a1d20;cursor:zoom-in}.gallery-item.wide{grid-column:span 6;grid-row:span 5}.gallery-item.tall{grid-column:span 4;grid-row:span 7}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.55s}.gallery-item::after{content:'Ver foto';position:absolute;inset:auto 16px 14px auto;background:rgba(0,0,0,.68);padding:.35rem .6rem;font-size:.72rem;opacity:0;transform:translateY(8px);transition:.25s}.gallery-item:hover img{transform:scale(1.035);filter:brightness(.82)}.gallery-item:hover::after{opacity:1;transform:none}.gallery-item.hidden{display:none}
.about-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(3rem,7vw,7rem);align-items:center}.about-visual{position:relative}.about-visual img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.85)}.frame-accent{position:absolute;width:45%;height:45%;border:3px solid var(--red);right:-18px;bottom:-18px;z-index:-1}.about-copy .lead{font-size:1.2rem;color:#fff}.about-copy p{color:#c3c8ce}.quote{border-left:3px solid var(--red);padding:.2rem 0 .2rem 1.3rem;margin-top:2rem;font-family:'Playfair Display',serif;font-size:1.35rem}
.behind-section{width:100%;background:var(--surface);padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2))}.behind-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.behind-grid figure{margin:0;min-height:420px}.behind-grid figure img{width:100%;height:100%;object-fit:cover}.video-card{grid-column:1/-1;background:#050607}.video-card video{width:100%;max-height:700px}
.equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.equipment-card{background:#fff;color:#111;min-height:100%;display:flex;flex-direction:column}.equipment-card img{width:100%;aspect-ratio:1/1;object-fit:contain;padding:2rem}.equipment-card div{padding:1.5rem;border-top:1px solid #eee}.equipment-card span{color:var(--red);text-transform:uppercase;letter-spacing:.15em;font-size:.7rem;font-weight:700}.equipment-card h3{margin:.35rem 0 .6rem;font-size:1.35rem}.equipment-card p{color:#53565a;margin:0}
.contact-section{padding:100px max(24px,calc((100vw - var(--max))/2));background:linear-gradient(120deg,#97080c,#d30a10 60%,#780509);display:grid;grid-template-columns:1.35fr .65fr;gap:3rem;align-items:center}.contact-section .eyebrow{color:#fff;opacity:.8}.contact-section p{max-width:700px}.contact-actions{flex-direction:column;align-items:stretch}.contact-actions .primary{background:#fff;color:#111}.contact-actions .ghost{text-align:center}footer{min-height:180px;display:flex;flex-direction:column;gap:1rem;justify-content:center;align-items:center;color:var(--muted);text-align:center;padding:2rem}footer img{width:120px;height:70px;object-fit:contain;background:#fff;border-radius:3px}footer p{margin:0;font-size:.85rem}
.lightbox{width:100vw;max-width:none;height:100vh;max-height:none;border:0;padding:0;background:rgba(0,0,0,.94);overflow:hidden}.lightbox::backdrop{background:#000}.lightbox[open]{display:grid;place-items:center}.lightbox img{max-width:90vw;max-height:90vh;object-fit:contain}.lightbox-close,.lightbox-nav{position:fixed;z-index:2;border:0;color:#fff;background:rgba(20,20,20,.65);cursor:pointer}.lightbox-close{top:18px;right:20px;width:48px;height:48px;font-size:2rem}.lightbox-nav{top:50%;transform:translateY(-50%);width:54px;height:74px;font-size:3rem}.lightbox-nav.prev{left:18px}.lightbox-nav.next{right:18px}
@media(max-width:900px){.menu-button{display:block}.nav{position:absolute;top:88px;right:0;width:min(320px,100%);padding:1rem 1.5rem 1.5rem;background:rgba(8,10,13,.98);flex-direction:column;border-bottom:1px solid var(--line);transform:translateY(-140%);opacity:0;pointer-events:none;transition:.25s}.nav.open{transform:none;opacity:1;pointer-events:auto}.hero-image{object-position:62% center}.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}.gallery-item,.gallery-item.wide,.gallery-item.tall{grid-column:span 1;grid-row:span 1}.about-section,.contact-section{grid-template-columns:1fr}.equipment-grid{grid-template-columns:1fr}}
@media(max-width:620px){.topbar{height:76px;padding-inline:16px}.brand img{width:112px;height:54px}.nav{top:76px}.hero-content,.section{width:calc(100% - 32px)}h1{font-size:clamp(2.8rem,14vw,4rem)}.section{padding:78px 0}.gallery{grid-template-columns:1fr;grid-auto-rows:350px}.behind-grid{grid-template-columns:1fr}.behind-grid figure{min-height:320px}.video-card{grid-column:auto}.lightbox-nav{width:42px;height:60px;font-size:2.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Atualização do portfólio */
.gallery-extra.collapsed { display: none; }
.portfolio-more { display: flex; justify-content: center; margin-top: 2.4rem; }
.portfolio-more .button { cursor: pointer; color: var(--text); }

.about-section {
  display: block;
  max-width: 1060px;
}
.about-header {
  max-width: 820px;
  margin-bottom: 4rem;
}
.about-header .lead {
  color: #fff;
  font-size: clamp(1.15rem, 2vw, 1.35rem);
}
.about-header > p:not(.eyebrow) { color: #c3c8ce; }
.formation { border-top: 1px solid var(--line); padding-top: 3rem; }
.formation-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 1.25rem;
}
.formation-card {
  position: relative;
  padding: 2rem;
  background: linear-gradient(145deg, var(--surface), #0f1216);
  border: 1px solid var(--line);
}
.formation-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 72px; height: 3px;
  background: var(--red);
}
.formation-status {
  display: inline-block;
  margin-bottom: 1.25rem;
  color: #fff;
  background: var(--red-dark);
  padding: .3rem .6rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .65rem;
  font-weight: 700;
}
.formation-status.current { background: transparent; border: 1px solid var(--red); }
.formation-card h3 { font-size: 1.55rem; margin: 0; }
.formation-card .institution { color: #ff4b50; font-weight: 600; margin-top: .25rem; }
.formation-card > p:not(.institution), .formation-card li { color: var(--muted); }
.formation-card ul { padding-left: 1.15rem; margin-bottom: 0; }
.quote {
  display: block;
  max-width: 820px;
  margin: 4rem auto 0;
  text-align: center;
  border-left: 0;
  border-top: 1px solid var(--red);
  border-bottom: 1px solid var(--red);
  padding: 2rem 1rem;
}

.behind-grid {
  grid-template-columns: 1.25fr .75fr;
  grid-template-rows: minmax(280px, 430px) auto;
}
.behind-main { grid-row: 1 / span 2; }
.behind-grid figure { min-height: 0; }
.behind-grid figure img { height: 100%; }

.whatsapp-float {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 40;
  padding: .85rem 1rem;
  border-radius: 999px;
  background: #1fa855;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.whatsapp-float:hover { transform: translateY(-2px); }

.footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.2rem; }
.footer-links a { text-decoration: none; }
.footer-links a:hover { color: #ff4045; }

@media (max-width: 900px) {
  .formation-grid { grid-template-columns: 1fr; }
  .behind-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
  .behind-main { grid-row: auto; }
}
@media (max-width: 620px) {
  .formation-card { padding: 1.4rem; }
  .whatsapp-float { right: 14px; bottom: 14px; }
}


/* Histórias dos ensaios */
.stories-grid {
  display: grid;
  gap: 1.25rem;
  margin: 0 0 3rem;
}
.story-card {
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr);
  min-height: 390px;
  overflow: hidden;
  background: linear-gradient(145deg, var(--surface), #0f1216);
  border: 1px solid var(--line);
}
.story-card.reverse .story-image { order: 2; }
.story-card.reverse .story-copy { order: 1; }
.story-image { min-height: 100%; }
.story-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.story-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.6rem, 4vw, 3.2rem);
}
.story-kicker {
  margin: 0 0 .75rem;
  color: #ff4045;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: .7rem;
  font-weight: 700;
}
.story-copy h3 {
  margin: 0 0 1rem;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  line-height: 1.08;
}
.story-copy p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: 1.02rem;
}
.lightbox-content {
  display: grid;
  place-items: center;
  gap: .9rem;
  max-width: 92vw;
}
.lightbox-content img {
  max-width: 90vw;
  max-height: 82vh;
}
.lightbox-caption {
  min-height: 1.5em;
  margin: 0;
  color: #ddd;
  text-align: center;
  font-size: .92rem;
}
@media (max-width: 820px) {
  .story-card,
  .story-card.reverse {
    grid-template-columns: 1fr;
  }
  .story-card.reverse .story-image,
  .story-card.reverse .story-copy { order: initial; }
  .story-image { max-height: 420px; }
}


/* Links e páginas individuais de ensaio */
.story-card-link { color: inherit; text-decoration: none; transition: transform .25s, border-color .25s; }
.story-card-link:hover { transform: translateY(-4px); border-color: rgba(255,255,255,.28); }
.story-card-link:focus-visible { outline: 3px solid #ff4045; outline-offset: 4px; }
.story-cta { display: inline-flex; align-items: center; margin-top: 1.4rem; color: #fff; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.story-card-link:hover .story-cta { color: #ff4045; }

.essay-page { background: var(--bg); }
.essay-topbar { position: fixed; }
.essay-nav a { color: #eee; text-decoration: none; font-size: .86rem; letter-spacing: .06em; text-transform: uppercase; }
.essay-nav a:hover { color: #ff4045; }
.essay-hero { min-height: 78vh; position: relative; display: flex; align-items: flex-end; overflow: hidden; }
.essay-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.essay-hero-overlay { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,6,8,.92), rgba(5,6,8,.08) 65%), linear-gradient(90deg,rgba(5,6,8,.55),transparent 65%); }
.essay-hero-content { position: relative; z-index: 2; width: min(var(--max),calc(100% - 48px)); margin: 0 auto; padding: 150px 0 70px; }
.essay-hero h1 { max-width: 1000px; font-size: clamp(2.8rem,7vw,6.4rem); }
.essay-hero .button { margin-top: 1.8rem; }
.essay-heading { max-width: 720px; margin-bottom: 2.5rem; }
.essay-heading h2 { font-size: clamp(2.4rem,5vw,4.7rem); }
.essay-heading > p:last-child { color: var(--muted); }
.essay-gallery { columns: 3 300px; column-gap: 14px; }
.essay-gallery-item { display: block; width: 100%; margin: 0 0 14px; padding: 0; border: 0; background: #161a1f; cursor: zoom-in; break-inside: avoid; overflow: hidden; }
.essay-gallery-item img { width: 100%; height: auto; transition: transform .45s, filter .45s; }
.essay-gallery-item:hover img { transform: scale(1.025); filter: brightness(.82); }
.essay-gallery-item:focus-visible { outline: 3px solid #ff4045; outline-offset: 3px; }
.essay-back { display: flex; justify-content: center; margin-top: 3rem; }
@media (max-width: 620px) {
  .essay-nav a { font-size: .7rem; }
  .essay-hero { min-height: 66vh; }
  .essay-hero-content { width: calc(100% - 32px); padding-bottom: 48px; }
  .essay-gallery { columns: 1; }
}

/* Refinamento editorial das páginas de ensaio */
.essay-hero {
  min-height: auto;
  padding-top: 88px;
  background:
    radial-gradient(circle at 75% 20%, rgba(211,10,16,.09), transparent 32%),
    linear-gradient(180deg, #11151a 0%, #0b0d10 100%);
  border-bottom: 1px solid var(--line);
}
.essay-hero-content {
  width: min(var(--max), calc(100% - 48px));
  margin: 0 auto;
  padding: clamp(5.5rem, 11vw, 9.5rem) 0 clamp(4rem, 8vw, 7rem);
}
.essay-hero h1 {
  max-width: 980px;
  font-size: clamp(3rem, 7.5vw, 7rem);
  text-wrap: balance;
}
.essay-title-line {
  display: block;
  width: 84px;
  height: 2px;
  margin-top: 2.2rem;
  background: var(--red);
}
.essay-section {
  padding-top: clamp(3.5rem, 7vw, 6.5rem);
}
.essay-gallery {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(12px, 1.5vw, 22px);
  columns: unset;
}
.essay-gallery-item {
  grid-column: span 6;
  width: 100%;
  margin: 0;
  break-inside: auto;
  background: #11151a;
}
.essay-gallery-item:nth-child(1),
.essay-gallery-item:nth-child(4),
.essay-gallery-item:nth-child(6) {
  grid-column: 2 / span 10;
}
.essay-gallery-item img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.lightbox-content {
  gap: 0;
}
.essay-back {
  margin-top: clamp(3rem, 7vw, 6rem);
}
@media (max-width: 760px) {
  .essay-hero { padding-top: 76px; }
  .essay-hero-content { width: calc(100% - 32px); }
  .essay-gallery { grid-template-columns: 1fr; }
  .essay-gallery-item,
  .essay-gallery-item:nth-child(1),
  .essay-gallery-item:nth-child(4),
  .essay-gallery-item:nth-child(6) {
    grid-column: 1;
  }
}

/* Ajuste de proporção: capa inteira e fotos sem ampliação artificial */
.essay-hero {
  padding-top: 88px;
  background: linear-gradient(180deg, #11151a 0%, #0b0d10 100%);
}
.essay-hero-inner {
  width: min(var(--max), calc(100% - 48px));
  margin: 0 auto;
  padding: clamp(3rem, 7vw, 6rem) 0;
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: clamp(2rem, 5vw, 5.5rem);
  align-items: center;
}
.essay-hero-content {
  width: auto;
  margin: 0;
  padding: 0;
}
.essay-hero h1 {
  font-size: clamp(2.8rem, 5.7vw, 5.8rem);
}
.essay-hero-media {
  display: grid;
  place-items: center;
  min-width: 0;
}
.essay-hero-media img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: min(72vh, 820px);
  object-fit: contain;
  object-position: center;
  box-shadow: 0 22px 70px rgba(0,0,0,.3);
}
.essay-section {
  width: min(var(--max), calc(100% - 48px));
  margin-inline: auto;
}
.essay-gallery {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(1.5rem, 4vw, 3.5rem);
}
.essay-gallery-item,
.essay-gallery-item:nth-child(1),
.essay-gallery-item:nth-child(4),
.essay-gallery-item:nth-child(6) {
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
  background: transparent;
  grid-column: auto;
  overflow: visible;
}
.essay-gallery-item img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  margin: 0 auto;
}
.essay-gallery-item:hover img {
  transform: none;
  filter: brightness(.9);
}
@media (max-width: 820px) {
  .essay-hero { padding-top: 76px; }
  .essay-hero-inner {
    width: calc(100% - 32px);
    grid-template-columns: 1fr;
    padding: 3rem 0 3.5rem;
  }
  .essay-hero-content { order: 1; }
  .essay-hero-media { order: 2; }
  .essay-hero-media img { max-height: 68vh; }
  .essay-section { width: calc(100% - 24px); }
}
