:root { --launch-ink:#0a0d0f; --launch-gold:#d4af37; --launch-ivory:#f5f1e8; --launch-serif:"Cormorant Garamond", Georgia, serif; --launch-sans:"Manrope", Inter, sans-serif; }
* { box-sizing:border-box; }
html, body { min-width:320px; margin:0; background:var(--launch-ink); }
body { color:var(--launch-ivory); font-family:var(--launch-sans); }
.skip-link { position:fixed; z-index:5; top:12px; left:12px; transform:translateY(-180%); padding:10px 14px; background:var(--launch-gold); color:#111; border-radius:8px; font-weight:700; }
.skip-link:focus { transform:translateY(0); }
.launch-composition { position:relative; width:100%; background:var(--launch-ink); }
.launch-composition picture, .launch-composition img { display:block; width:100%; height:auto; }
.launch-mobile-stack { display:none; }
.launch-tech-layer, .launch-hotspots { position:absolute; inset:0; }
.launch-tech-layer { pointer-events:none; overflow:hidden; z-index:1; mix-blend-mode:screen; }
.launch-tech-layer::before { content:""; position:absolute; inset:0; opacity:.34; background:radial-gradient(260px circle at var(--pointer-x,62%) var(--pointer-y,12%),rgba(241,209,118,.15),transparent 68%),repeating-linear-gradient(90deg,transparent 0 33px,rgba(241,209,118,.05) 34px,transparent 35px 68px); mask-image:linear-gradient(to bottom,black 2%,transparent 18%,transparent 48%,black 58%,transparent 77%); }
.launch-tech-layer span { position:absolute; width:5px; height:5px; border-radius:50%; background:#f1d176; box-shadow:0 0 0 5px rgba(212,175,55,.08),0 0 18px rgba(241,209,118,.72); animation:launch-signal 7s ease-in-out infinite; }
.launch-tech-layer span:nth-child(1){top:15%;left:73%}.launch-tech-layer span:nth-child(2){top:51%;left:31%;animation-delay:-2.2s}.launch-tech-layer span:nth-child(3){top:84%;left:80%;animation-delay:-4.6s}
@keyframes launch-signal {0%,100%{opacity:.25;transform:scale(.65)}48%{opacity:1;transform:scale(1.25)}}
.launch-hotspots { z-index:3; }
.launch-readable-layer { display:none; }
.launch-hotspot { position:absolute; display:block; border:1px solid transparent; border-radius:8px; outline:0; background:transparent; cursor:pointer; touch-action:manipulation; transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease; }
.launch-hotspot:hover,.launch-hotspot:focus-visible { border-color:rgba(241,209,118,.86); background:rgba(212,175,55,.1); box-shadow:0 0 0 3px rgba(212,175,55,.13),0 0 26px rgba(241,209,118,.38); }
.launch-hotspot--menu-how{top:.61%;left:34.4%;width:6.8%;height:.72%}.launch-hotspot--menu-operation{top:.61%;left:43.2%;width:6.9%;height:.72%}.launch-hotspot--menu-war{top:.61%;left:52.2%;width:5.4%;height:.72%}.launch-hotspot--menu-scope{top:.61%;left:60.4%;width:4.6%;height:.72%}.launch-hotspot--menu-content{top:.61%;left:67.3%;width:5.4%;height:.72%}.launch-hotspot--header{top:.47%;right:4.2%;width:13.3%;height:1.04%}.launch-hotspot--hero-primary{top:12.22%;left:4.7%;width:15.2%;height:1.25%}.launch-hotspot--hero-secondary{top:12.22%;left:22.7%;width:12.9%;height:1.25%}.launch-hotspot--sprint{top:64.22%;left:34.1%;width:31.7%;height:1.36%}.launch-hotspot--scope{top:82.65%;left:35.1%;width:28.1%;height:1.24%}.launch-hotspot--date{top:94.37%;left:53.1%;width:16.3%;height:.98%}.launch-hotspot--time{top:94.37%;left:71.2%;width:16.1%;height:.98%}.launch-hotspot--final{top:97.07%;left:53.1%;width:34.1%;height:1.2%}
.launch-login-link{position:absolute;z-index:6;top:clamp(12px,1.1vw,21px);right:clamp(16px,2vw,38px);display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid rgba(241,209,118,.64);border-radius:999px;background:rgba(10,13,15,.78);box-shadow:0 8px 24px rgba(0,0,0,.24);color:#f6f1e5;font:700 clamp(.68rem,.72vw,.8rem)/1 var(--launch-sans);letter-spacing:.08em;text-decoration:none;text-transform:uppercase;backdrop-filter:blur(10px);transition:background-color .18s ease,border-color .18s ease,transform .18s ease}.launch-login-link:hover,.launch-login-link:focus-visible{border-color:#f1d176;background:#c69325;color:#15110a;outline:0;transform:translateY(-2px)}@media(min-width:761px){.launch-login-link{top:clamp(18px,1.6vw,30px);right:clamp(210px,18vw,270px)}}
.launch-hotspot--mobile-menu, .launch-mobile-menu { display:none; }
.launch-feedback { position:fixed; z-index:4; right:22px; bottom:22px; max-width:min(360px,calc(100vw - 44px)); padding:13px 16px; border:1px solid rgba(241,209,118,.7); border-radius:10px; background:rgba(10,13,15,.9); box-shadow:0 14px 42px rgba(0,0,0,.38); color:var(--launch-ivory); font:600 .78rem/1.35 var(--launch-sans); opacity:0; pointer-events:none; transform:translateY(12px); transition:opacity .18s ease,transform .18s ease; }.launch-feedback.is-visible{opacity:1;transform:translateY(0)}
.launch-dialog { width:min(460px,calc(100vw - 32px)); max-height:calc(100dvh - 24px); padding:0; overflow-y:auto; border:1px solid rgba(241,209,118,.52); border-radius:20px; background:rgba(10,13,15,.96); color:var(--launch-ivory); box-shadow:0 34px 110px rgba(0,0,0,.65); }.launch-dialog::backdrop{background:rgba(3,5,6,.7);backdrop-filter:blur(8px)}.launch-dialog__form{display:grid;gap:16px;padding:32px}.launch-dialog__form>p{margin:0;color:var(--launch-gold);font:700 .7rem/1 var(--launch-sans);letter-spacing:.16em}.launch-dialog h2{margin:0 0 4px;font:500 clamp(2.1rem,8vw,3.1rem)/.95 var(--launch-serif)}.launch-form-intro{margin-top:-5px;color:#b9c1bd;font:500 .78rem/1.4 var(--launch-sans)}.launch-dialog label{display:grid;gap:7px;color:#e7e0d4;font:600 .72rem/1 var(--launch-sans)}.launch-dialog input:not([type="checkbox"]),.launch-dialog select{width:100%;padding:13px 14px;border:1px solid rgba(241,209,118,.28);border-radius:9px;background:rgba(255,255,255,.05);color:var(--launch-ivory);font:500 .95rem/1.2 var(--launch-sans)}.launch-dialog select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#f1d176 50%),linear-gradient(135deg,#f1d176 50%,transparent 50%);background-position:calc(100% - 17px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.launch-dialog select option{background:#101518;color:var(--launch-ivory)}.launch-dialog input:focus,.launch-dialog select:focus{border-color:var(--launch-gold);outline:2px solid rgba(212,175,55,.25)}.launch-consent{grid-template-columns:16px 1fr;align-items:start;line-height:1.4}.launch-dialog__form>button{padding:15px 18px;border:0;border-radius:10px;background:linear-gradient(135deg,#f1d176,#c69325);color:#15110a;font:700 .9rem/1 var(--launch-sans);cursor:pointer}.launch-dialog small{color:#aaa79f}.launch-dialog__close{position:absolute;top:12px;right:14px;width:32px;height:32px;border:0;background:transparent;color:#e9e3d8;font-size:1.6rem;cursor:pointer}
.launch-visual-details{display:grid;gap:12px;min-inline-size:0;margin:0;padding:14px 0 0;border:0;border-top:1px solid rgba(241,209,118,.18)}.launch-visual-details legend{padding:0;color:var(--launch-gold);font:700 .68rem/1 var(--launch-sans);letter-spacing:.12em;text-transform:uppercase}.launch-visual-details legend span{color:#aaa79f;font-size:.62rem;font-weight:500;letter-spacing:0;text-transform:none}.launch-visual-details__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.launch-dialog input[type="date"],.launch-dialog input[type="time"]{color-scheme:dark}
@media (min-width:1672px){.launch-composition{width:min(100%,1672px);margin-inline:auto;box-shadow:0 0 0 1px rgba(212,175,55,.1),0 28px 80px rgba(0,0,0,.52)}}
@media (prefers-reduced-motion:reduce){.launch-tech-layer{display:none}}
@media (max-width:760px){
  .launch-composition > picture { display:none; }
  .launch-mobile-stack { display:block; }
  .launch-mobile-stack img { display:block; width:100%; height:auto; }
  .launch-tech-layer{opacity:.4}
  .launch-hotspot--menu-how,.launch-hotspot--menu-operation,.launch-hotspot--menu-war,.launch-hotspot--menu-scope,.launch-hotspot--menu-content,.launch-hotspot--header{display:none}
  .launch-readable-layer{position:absolute;inset:0;z-index:2;display:block;pointer-events:none}
  .launch-readable-card{position:absolute;left:5.4%;width:89.2%;padding:16px;border:1px solid rgba(212,175,55,.42);border-radius:12px;background:linear-gradient(135deg,rgba(10,13,15,.97),rgba(20,21,19,.94));box-shadow:0 14px 32px rgba(0,0,0,.42);color:#f5f1e8}
  .launch-readable-card p{margin:0 0 7px;color:#d4af37;font:700 .65rem/1 Manrope,Inter,sans-serif;letter-spacing:.12em}
  .launch-readable-card h2{margin:0 0 10px;font:600 clamp(1.35rem,6vw,1.72rem)/.96 "Cormorant Garamond",Georgia,serif}
  .launch-readable-card ul{display:grid;gap:7px;margin:0;padding:0;list-style:none;font:600 clamp(.84rem,3.6vw,.96rem)/1.28 Manrope,Inter,sans-serif}
  .launch-readable-card li{display:grid;grid-template-columns:11px 1fr;gap:8px;align-items:start}
  .launch-readable-card li::before{content:"";width:6px;height:6px;margin-top:.35em;border-radius:50%;background:#d4af37;box-shadow:0 0 12px rgba(212,175,55,.64)}
  .launch-readable-card--operation{top:15.6%}
  .launch-readable-card--qualification{top:40.1%}
  .launch-readable-card--scope{top:72.4%}
  /* The visual button stays unchanged; its tap target is enlarged around the same centre. */
  .launch-hotspot--hero-primary{top:calc(8.68% - 4.5px);left:5.4%;width:89.2%;height:max(44px,.84%)}
  .launch-hotspot--hero-secondary{top:calc(9.72% - 4.5px);left:5.4%;width:89.2%;height:max(44px,.84%)}
  .launch-hotspot--sprint{top:calc(64.03% - 5px);left:6.1%;width:87.8%;height:max(44px,.82%)}
  .launch-hotspot--scope{top:calc(80.79% - 5px);left:6.1%;width:87.8%;height:max(44px,.82%)}
  .launch-hotspot--date{top:calc(94.45% - 6px);left:5.4%;width:89.2%;height:max(44px,.78%)}
  .launch-hotspot--time{top:calc(95.40% - 6px);left:5.4%;width:89.2%;height:max(44px,.78%)}
  .launch-hotspot--final{top:calc(96.68% - 4.5px);left:5.4%;width:89.2%;height:max(44px,.84%)}
  .launch-hotspot--mobile-menu{display:block;top:calc(.34% - 5px);right:4%;width:13%;height:max(44px,.68%)}
  /* O botao de menu ocupa de 4% a 17% da borda direita. O link Login,
     sem override no mobile, caia em right:16px -- em cima dele, e com
     z-index 6 contra 3, engolia o clique e o menu ficava inalcancavel.
     Desloca o Login para a esquerda do botao. */
  .launch-login-link{right:calc(17% + 10px)}
  .launch-mobile-menu{position:absolute;z-index:4;top:1.05%;left:5.4%;width:89.2%;padding:10px;border:1px solid rgba(212,175,55,.55);border-radius:12px;background:rgba(7,10,12,.97);box-shadow:0 20px 48px rgba(0,0,0,.5)}
  .launch-mobile-menu:not([hidden]){display:grid;gap:6px}
  .launch-mobile-menu button{min-height:44px;padding:0 14px;border:1px solid rgba(212,175,55,.26);border-radius:8px;background:rgba(255,255,255,.03);color:var(--launch-ivory);font:700 .82rem/1 var(--launch-sans);text-align:left}
  .launch-mobile-menu a{display:flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid rgba(212,175,55,.26);border-radius:8px;color:var(--launch-ivory);font:700 .82rem/1 var(--launch-sans);text-decoration:none}
  .launch-mobile-menu button:last-child{background:linear-gradient(135deg,#f1d176,#c69325);color:#15110a}
  .launch-hotspot:hover{border-color:transparent;background:transparent;box-shadow:none}
  .launch-feedback{right:12px;bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100vw - 24px)}
  .launch-dialog__form{gap:14px;padding:26px 22px 24px}
  .launch-visual-details__grid{grid-template-columns:1fr}
}
