:root {
  --bg: #181818;
  --panel: #262626;
  --panel-alt: #2c2c2c;
  --ink: #f7f5ee;
  --muted: #a9a9a3;
  --line: rgba(255,255,255,.115);
  --lime: #95fe01;
  --radius: 16px;
  --font: "degular", Arial, sans-serif;
  --content: 1320px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 105px; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font); font-size: 18px; -webkit-font-smoothing: antialiased; }
body.modal-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, .photo-viewport:focus-visible { outline: 3px solid var(--lime); outline-offset: 4px; }
::selection { background: var(--lime); color: #161616; }
[hidden] { display: none !important; }
.container { width: min(calc(100% - 80px), var(--content)); margin-inline: auto; }
.skip-link { position: fixed; top: -100px; left: 12px; z-index: 9999; padding: 12px 18px; border-radius: 10px; color: #111; background: var(--lime); }
.skip-link:focus { top: 14px; }

.site-header { position: sticky; top: 0; z-index: 40; height: 82px; background: rgba(24,24,24,.93); border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.brand { display: flex; align-items: center; flex: 0 0 auto; }
.brand img { width: 159px; height: auto; display: block; }
.header-nav { display: flex; align-items: center; justify-content: center; gap: 35px; margin-left: auto; color: #d1d1cd; font-weight: 600; font-size: 17px; }
.header-nav a { position: relative; padding-block: 13px; transition: color .2s ease; }
.header-nav a:hover { color: var(--lime); }
.header-action { display: inline-flex; align-items: center; justify-content: center; gap: 14px; font-size: 15px; font-weight: 750; white-space: nowrap; border: 1px solid var(--line); background: var(--panel); border-radius: 12px; padding: 11px 16px; transition: background .2s, border-color .2s; }
.header-action:hover { border-color: rgba(149,254,1,.4); background: #333; }
.header-action span { color: var(--lime); font-size: 21px; line-height: 1; }

.hero { padding-top: clamp(44px,6vw,85px); padding-bottom: clamp(48px,6vw,86px); display:block; }
.hero-copy { max-width: 1060px; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 10px 0; }
.eyebrow, .section-index { display: inline-flex; align-items: center; gap: 11px; color: var(--lime); font-weight: 750; letter-spacing: .14em; font-size: 12px; text-transform: uppercase; }
.live-dot { display: inline-block; width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 4px rgba(149,254,1,.12); }
.eyebrow-slash { opacity: .35; color: white; }
h1, h2, h3, p { margin-block: 0; }
.hero h1 { font-size: clamp(53px,5.9vw,90px); letter-spacing: -.064em; line-height: .94; font-weight: 750; max-width: 1060px; margin-top: 23px; }
.hero h1 em { font-style: normal; color: var(--lime); display: block; }
.hero-copy > p { color: #c6c6bf; font-size: clamp(18px,1.65vw,23px); line-height: 1.36; max-width: 725px; margin-top: 24px; }
.explore-link { display: inline-flex; align-items: center; gap: 17px; margin-top: 28px; font-weight: 700; font-size: 17px; }
.round-arrow { height: 35px; width: 35px; border-radius: 50%; border: 1px solid rgba(149,254,1,.5); display: grid; place-items: center; font-size: 19px; color: var(--lime); transition: color .2s, background .2s, transform .2s; }
.explore-link:hover .round-arrow { background: var(--lime); color: #111; transform: translateY(3px); }
.hairline { height: 1px; background:var(--line); }

.section { padding-top: 64px; padding-bottom: 97px; }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:26px; margin-bottom:28px; }
.section-index { color:var(--lime); font-size:12px; gap:10px; }
.section-index > span { color:#70706a; }
.section-head h2 { font-size:clamp(38px,4.5vw,68px); font-weight:750; letter-spacing:-.055em; line-height:.98; margin-top:11px; }
.section-head h2 > span { color:#dfdfd9; }
.green-period { color:var(--lime); }
.section-meta { flex:0 0 auto; display:flex; align-items:center; justify-content:flex-end; gap:12px; color:#a9a9a3; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding-bottom:6px; white-space:nowrap; }
.mini-marker { height:6px; width:6px; background:var(--lime); border-radius:50%; }
.meta-separator { height:15px; width:1px; background:rgba(255,255,255,.18); }
.video-grid { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:16px; }
.video-card { position:relative; min-width:0; display:block; background:var(--panel-alt); border:1px solid rgba(255,255,255,.11); border-radius:15px; overflow:hidden; padding:0; width:100%; aspect-ratio:1.05; color:var(--ink); text-align:left; isolation:isolate; transition: border-color .23s ease, transform .23s ease; }
.video-card.is-featured { grid-column: span 2; aspect-ratio:2.12; }
.video-card:hover { border-color:rgba(149,254,1,.6); transform: translateY(-3px); }
.video-card .video-poster { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition: transform .6s cubic-bezier(.2,.75,.2,1), filter .3s; }
.video-card:hover .video-poster { transform:scale(1.035); filter:brightness(.82); }
.card-backdrop { position:absolute; inset:0; z-index:-1; background: radial-gradient(circle at 70% 25%,rgba(149,254,1,.27),transparent 42%), linear-gradient(125deg,#393939,#252525 55%,#303030); display:grid; place-items:center; }
.card-backdrop:before, .card-backdrop:after { content:""; position:absolute; border:1px solid rgba(255,255,255,.085); border-radius:100%; width:130%; aspect-ratio:1; }
.card-backdrop:before { transform: translate(-36%,36%); }
.card-backdrop:after { transform: translate(40%,-23%); }
.card-backdrop img { width: clamp(65px,10vw,155px); opacity:.48; transform:rotate(-13deg); filter:grayscale(1); }
.video-card.is-featured .card-backdrop img { width:190px; }
.video-card:after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(0,0,0,.24) 0%,transparent 36%,rgba(0,0,0,.7) 100%); pointer-events:none; }
.card-number { position:absolute; z-index:3; top:15px; left:16px; padding:5px 8px 4px; border:1px solid rgba(255,255,255,.4); border-radius:5px; background:rgba(0,0,0,.35); backdrop-filter:blur(8px); color:#eee; font-size:12px; font-weight:700; letter-spacing:.08em; }
.play-bubble { position:absolute; top:50%; left:50%; z-index:4; display:grid; place-items:center; height:62px; width:62px; border-radius:50%; color:#161616; background:var(--lime); transform:translate(-50%,-50%); box-shadow:0 10px 24px rgba(0,0,0,.25); transition:transform .25s,background .25s; }
.play-bubble svg { height:22px; width:22px; margin-left:3px; fill:currentColor; }
.video-card:hover .play-bubble { transform:translate(-50%,-50%) scale(1.08); background:#a7ff2e; }
.video-card.is-featured .play-bubble { height:75px; width:75px; }
.video-card.is-featured .play-bubble svg { height:25px; width:25px; }
.card-footer { position:absolute; z-index:3; bottom:0; left:0; right:0; padding:17px 18px; display:flex; align-items:end; justify-content:space-between; gap:8px; }
.card-footer strong { font-size:21px; font-weight:750; line-height:1; }
.card-footer small { color:rgba(255,255,255,.75); display:block; font-size:11px; font-weight:750; letter-spacing:.12em; margin-bottom:6px; }
.card-footer .open-symbol { font-size:22px; color:var(--lime); }
.video-card.is-featured .card-footer strong { font-size:28px; }
.video-footnote { display:flex; align-items:center; gap:15px; font-size:14px; color:#999991; margin-top:22px; }
.footnote-line { width:34px; height:1px; background:var(--lime); }

.photo-shell { background:#222; border-block:1px solid var(--line); padding-block:77px 85px; overflow:hidden; }
.photo-heading-row { margin-bottom:26px; }
.photo-section-intro { font-size:18px; color:var(--muted); margin-top:12px; }
.photo-head-right { display:flex; flex-direction:column; align-items:end; gap:19px; }
.carousel-controls { display:flex; gap:9px; }
.circle-button { width:48px; height:48px; color:#f5f5ee; border:1px solid rgba(255,255,255,.16); background:#303030; border-radius:50%; display:grid; place-items:center; transition: color .2s, background .2s, border-color .2s; }
.circle-button:hover { background:var(--lime); border-color:var(--lime); color:#181818; }
.circle-button svg, .photo-modal-arrow svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.photo-viewport { overflow:hidden; touch-action:pan-y; cursor:grab; user-select:none; }
.photo-viewport:active { cursor:grabbing; }
.photo-track { display:flex; gap:15px; width:max-content; will-change:transform; }
.photo-card { width:clamp(215px,24vw,350px); aspect-ratio:.87; position:relative; border:1px solid rgba(255,255,255,.12); border-radius:14px; overflow:hidden; background:linear-gradient(115deg,#414141,#272727); color:white; flex:0 0 auto; padding:0; display:block; text-align:left; }
.photo-card:after { content:""; pointer-events:none; position:absolute; inset:0; background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.66)); }
.photo-card img { height:100%; width:100%; object-fit:cover; display:block; transition:transform .4s,filter .4s; }
.photo-card:hover img { transform:scale(1.045); filter:brightness(.83); }
.photo-card .photo-fallback { position:absolute; inset:0; display:grid; place-items:center; font-size:13px; letter-spacing:.12em; color:#ddd; }
.photo-card .photo-fallback::before { content:""; position:absolute; width:105px; height:105px; border-radius:50%; border:1px solid rgba(149,254,1,.6); opacity:.5; }
.photo-card .photo-label { position:absolute; z-index:2; bottom:14px; left:17px; right:17px; display:flex; align-items:center; justify-content:space-between; font-size:13px; letter-spacing:.05em; font-weight:750; }
.photo-card .photo-label b { font-size:21px; font-weight:500; color:var(--lime); }
.photo-bottom { display:flex; align-items:center; gap:18px; margin-top:26px; font-size:14px; color:#909089; letter-spacing:.08em; font-weight:700; }
.photo-current { color:var(--lime); font-size:18px; }
.photo-count-divider { color:#575752; }
.progress-rail { position:relative; height:2px; background:#41413f; flex:1; max-width:220px; overflow:hidden; }
.progress-rail span { position:absolute; display:block; height:100%; width:5%; background:var(--lime); left:0; transition:left .4s; }
.photo-scroll-hint { margin-left:auto; font-size:12px; }
.photo-scroll-hint span { color:var(--lime); }

.closing { min-height:280px; padding-block:72px; display:flex; justify-content:space-between; align-items:center; gap:30px; position:relative; overflow:hidden; }
.closing h2 { font-size:clamp(33px,4.2vw,60px); line-height:1; letter-spacing:-.05em; max-width:750px; margin-top:17px; }
.closing-cta { display:inline-flex; align-items:center; gap:24px; border-radius:11px; color:#141414; background:var(--lime); padding:12px 18px; font-size:17px; font-weight:750; margin-top:23px; transition:background .2s,transform .2s; }
.closing-cta:hover { transform:translateY(-2px); background:#a7ff35; }
.closing-cta span { font-size:22px; line-height:1; }
.closing-icon { width:190px; height:190px; object-fit:cover; flex:0 0 auto; border-radius:26px; opacity:.75; transform:rotate(9deg); }
.site-footer { border-top:1px solid var(--line); background:#141414; }
.footer-inner { padding-block:23px; min-height:90px; display:flex; align-items:center; justify-content:space-between; gap:22px; color:#9c9c95; font-size:14px; }
.footer-inner img { width:148px; height:auto; }
.footer-inner a:hover { color:var(--lime); }

/* Janelas nativas do navegador: ficam na top layer e sempre centradas na tela. */
dialog.modal {
 position:fixed;
 inset:0;
 margin:0;
 width:100vw;
 max-width:none;
 height:100vh;
 height:100dvh;
 max-height:none;
 padding:clamp(12px,2vw,28px);
 border:0;
 border-radius:0;
 background:transparent;
 color:var(--ink);
 overflow:hidden;
 z-index:2147483647;
 display:none;
 align-items:center;
 justify-content:center;
 overscroll-behavior:contain;
}
dialog.modal[open] {display:flex;}
dialog.modal::backdrop {background:rgba(0,0,0,.94); backdrop-filter:blur(15px); -webkit-backdrop-filter:blur(15px);}
.video-modal-content, .photo-modal-content {
 position:relative;
 display:flex;
 flex-direction:column;
 width:max-content;
 max-width:min(100%,1440px);
 max-height:calc(100dvh - 24px);
 min-width:min(350px,100%);
 min-height:0;
}
.video-modal-content {align-items:stretch;}
.modal-topline {height:55px; flex:0 0 auto; display:flex; justify-content:space-between; align-items:center; gap:25px;}
.modal-identifier {font-size:12px; font-weight:800; color:#f1f1eb; letter-spacing:.13em; display:flex; align-items:center; gap:12px; white-space:nowrap;}
.modal-close {height:41px; width:41px; flex:0 0 auto; color:#fff; border:1px solid rgba(255,255,255,.28); border-radius:50%; background:#292929; display:grid; place-items:center; transition:background .2s,color .2s;}
.modal-close span {font-size:31px; line-height:.75; font-weight:300; transform:translateY(-2px);}
.modal-close:hover {background:var(--lime); color:#161616;}
.video-stage {width:100%; position:relative; display:flex; align-items:center; justify-content:center; min-width:180px; min-height:190px;}
.video-stage video {display:block; background:#090909; border-radius:9px; border:1px solid rgba(255,255,255,.14); max-width:calc(100vw - 48px); max-height:calc(100dvh - 140px); width:auto; height:auto; object-fit:contain;}
.video-loading, .photo-loading {color:#aaa; font-size:15px; text-align:center; padding:30px;}
.video-loading {position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); white-space:nowrap; pointer-events:none;}
.modal-caption {flex:0 0 auto; display:flex; justify-content:space-between; gap:15px; padding-block:14px; color:#b0b0a9; font-size:12px; font-weight:750; letter-spacing:.14em;}
.video-modal-content.is-vertical {max-width:calc(100vw - 32px);}
.photo-modal-content {
 width:min(1500px,calc(100vw - 48px));
 height:calc(100dvh - 56px);
 min-height:0;
}
.photo-modal-stage {position:relative; min-height:0; flex:1; display:flex; align-items:center; justify-content:center; overflow:hidden;}
.photo-modal-stage img {display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; border-radius:6px;}
.photo-loading {position:absolute; inset:0; display:grid; place-items:center; pointer-events:none;}
.photo-modal-arrow {position:absolute; z-index:3; top:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:50%; border:1px solid rgba(255,255,255,.2); color:white; background:rgba(28,28,28,.8); backdrop-filter:blur(8px); display:grid; place-items:center; transition:background .2s,color .2s;}
.photo-modal-arrow:hover {background:var(--lime); color:#121212;}
.photo-modal-arrow.prev {left:12px;}
.photo-modal-arrow.next {right:12px;}

@media (max-width:1060px) {
 .hero h1 { font-size:clamp(50px,6vw,68px); }
 .video-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .video-card.is-featured { grid-column:span 2; }
 .section-meta { white-space:normal; }
}
@media (max-width:760px) {
 .container { width:min(calc(100% - 36px),var(--content)); }
 .site-header { height:68px; }
 .brand img { width:125px; }
 .header-inner { gap:12px; }
 .header-nav { gap:15px; font-size:15px; }
 .header-action { display:none; }
 .hero { padding-top:34px; padding-bottom:38px; }
 .hero h1 { font-size:clamp(45px,10.5vw,72px); margin-top:16px; line-height:.96; }
 .hero-copy > p { font-size:18px; margin-top:15px; max-width:490px; }
 .explore-link { margin-top:19px; }
 .section { padding-top:37px; padding-bottom:59px; }
 .section-head { align-items:start; margin-bottom:19px; }
 .section-head h2 { font-size:clamp(37px,8.5vw,58px); }
 .section-meta { display:none; }
 .video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .video-card, .video-card.is-featured { grid-column:span 1; aspect-ratio:1; border-radius:11px; }
 .video-card .card-number { top:10px; left:10px; font-size:10px; padding:4px 6px; }
 .play-bubble, .video-card.is-featured .play-bubble { width:44px; height:44px; }
 .play-bubble svg, .video-card.is-featured .play-bubble svg { width:17px; height:17px; }
 .card-footer { padding:10px; }
 .card-footer strong, .video-card.is-featured .card-footer strong { font-size:16px; }
 .card-footer small { font-size:9px; margin-bottom:3px; }
 .card-footer .open-symbol { font-size:16px; }
 .card-backdrop img,.video-card.is-featured .card-backdrop img { width:75px; }
 .video-footnote { font-size:13px; margin-top:16px; }
 .photo-shell { padding-block:45px 55px; }
 .photo-heading-row { display:flex; align-items:end; }
 .photo-heading-row h2 { font-size:clamp(36px,8vw,56px); }
 .photo-section-intro { font-size:16px; margin-top:10px; }
 .photo-head-right { align-self:end; }
 .circle-button { width:40px; height:40px; }
 .photo-card { width:clamp(220px,64vw,295px); }
 .photo-viewport { margin-right:-18px; }
 .photo-bottom { margin-top:16px; }
 .photo-scroll-hint { display:none; }
 .closing { padding-block:56px; min-height:230px; }
 .closing h2 { max-width:480px; }
 .closing-icon { width:94px; height:94px; opacity:.55; position:absolute; right:6px; top:21px; }
 .closing-text { position:relative; z-index:1; }
 .footer-inner { flex-wrap:wrap; justify-content:space-between; font-size:13px; padding-block:20px; }
 .footer-inner img { width:110px; }
 .footer-inner > span { order:3; width:100%; }
 dialog.modal { padding:10px; }
 .video-modal-content, .photo-modal-content { min-width:0; }
 .photo-modal-content { width:100%; height:calc(100dvh - 24px); }
 .photo-modal-arrow { width:41px; height:41px; }
 .photo-modal-arrow.prev { left:0; }
 .photo-modal-arrow.next { right:0; }
 .photo-modal-stage img { max-width:calc(100% - 6px); }
 .modal-caption { padding-block:10px; font-size:11px; }
 .modal-topline { height:52px; }
 .video-stage video { max-width:calc(100vw - 24px); max-height:calc(100dvh - 128px); }
}
@media (max-width:360px) {
 .brand img { width:105px; }
 .header-nav { font-size:14px; gap:11px; }
 .video-grid { gap:8px; }
 .card-footer strong,.video-card.is-featured .card-footer strong { font-size:14px; }
 .section-head h2 { font-size:35px; }
}
@media (prefers-reduced-motion:reduce) {
 *, *::before, *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; }
}
/* Garante que o fundo editorial apareça quando uma capa ainda não foi enviada. */
.card-backdrop { z-index:0; }
.video-card .video-poster { z-index:1; }
.video-card:after { z-index:2; }
