/* Grupo Veno · Landing page da nova identidade
   Cores e tipografia conforme manual do Grupo Veno */
:root{
  --veno1:#143CF0;
  --veno2:#050F50;
  --codepe1:#3C73EB;
  --codepe2:#C8D7F0;
  --tr1:#141E8C;
  --tr2:#DC143C;
  --tr3:#9B1C32;
  --apoio:#0AB0C4;
  --white:#FFFFFF;
  --ink:#050F50;
  --muted:rgba(255,255,255,.66);
  --line:rgba(255,255,255,.16);
  --f-title:"Montserrat",system-ui,sans-serif;
  --f-text:"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --gutter:clamp(20px,5vw,80px);
  --ease:cubic-bezier(.2,.7,.1,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--veno2);-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{
  background:transparent;
  color:var(--white);
  font-family:var(--f-text);
  font-weight:300;
  font-size:clamp(16px,1.05vw,19px);
  line-height:1.55;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Fundo fixo ---------- */
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden;background:#0a1a8a}
.bg__layer{position:absolute;inset:-10%;background-size:cover;background-position:center;will-change:transform,opacity}
.bg__l2,.bg__l3{opacity:0}
.bg__glow{position:absolute;border-radius:50%;filter:blur(90px);will-change:transform;mix-blend-mode:screen;opacity:.0}
.bg__glow--red{width:48vmax;height:48vmax;background:radial-gradient(circle,rgba(220,20,60,.55),rgba(220,20,60,0) 70%);left:-12vmax;top:-14vmax}
.bg__glow--blue{width:60vmax;height:60vmax;background:radial-gradient(circle,rgba(20,60,240,.7),rgba(20,60,240,0) 70%);right:-20vmax;bottom:-25vmax}
.bg__grain{
  position:absolute;inset:-50%;opacity:.28;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 1.2s steps(6) infinite;
}
@keyframes grain{
  0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}
  60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}
}

/* grão sobre toda a página (efeito noise do PPT) */
.grain-top{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 1.2s steps(6) infinite}

/* ---------- Loader ---------- */
.loader{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:var(--veno2);pointer-events:none}
.loader__inner{display:flex;flex-direction:column;align-items:center;gap:34px}
.loader__symbol{width:min(18vmin,140px);color:var(--veno1)}
.loader__text{margin:0;justify-content:center;white-space:nowrap;color:rgba(255,255,255,.85)}
.loader__text::before{display:none}
.hero__inner .eyebrow,.loader__text{font-size:clamp(14px,1.15vw,19px);letter-spacing:.3em}
.hero__inner .eyebrow{margin-bottom:32px}
.loader__symbol svg{width:100%;height:auto;overflow:visible}

/* ---------- Topo ---------- */
.topbar{
  position:fixed;top:0;left:0;right:0;z-index:50;
  display:flex;align-items:center;gap:24px;
  padding:22px var(--gutter);
  mix-blend-mode:normal;
  transition:transform .6s var(--ease),opacity .6s var(--ease);
}
.topbar.is-hidden{transform:translateY(-110%);opacity:0}
.topbar__logo{width:140px;color:#fff;display:block}
.topbar__logo svg{width:100%;height:auto;display:block}
.topbar__chapter{margin-left:auto;display:flex;gap:12px;align-items:baseline;font-family:var(--f-title);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.topbar__num{color:#fff;font-weight:500}
.topbar__progress{position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,255,255,.08)}
.topbar__progress span{display:block;height:100%;width:100%;background:#fff;transform-origin:0 50%;transform:scaleX(0)}
@media (max-width:720px){
  .topbar{padding:16px 20px;gap:12px}
  .topbar__logo{width:112px}
  .topbar__chapter{display:none}
}

/* ---------- Base de seção ---------- */
.sc{position:relative}
.pin{position:relative;height:100vh;height:100svh;width:100%;overflow:hidden}
.eyebrow{
  font-family:var(--f-title);font-weight:500;font-size:12px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--muted);margin-bottom:22px;display:flex;align-items:center;gap:12px;
}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.display{font-family:var(--f-title);font-weight:300;font-size:clamp(44px,7.4vw,128px);line-height:1.02;letter-spacing:-.02em}
.display--md{font-size:clamp(34px,5vw,84px);line-height:1.06}
.display--sm{font-size:clamp(28px,3.4vw,56px);line-height:1.1}
.lead{font-size:clamp(17px,1.35vw,23px);line-height:1.5;color:rgba(255,255,255,.82);max-width:34em;margin-top:28px}
.w-split{display:inline-block;will-change:opacity,transform}
.c-split{display:inline-block;will-change:transform,opacity}
.line-mask{display:block;overflow:hidden;padding-bottom:.08em}

/* ---------- 00 Hero ---------- */
.sc-hero{height:100vh;height:100svh;display:grid;place-items:center;text-align:center;padding:0 var(--gutter)}
.hero__inner{max-width:1200px}
.hero__inner .eyebrow{justify-content:center}
.hero__inner .eyebrow::before{display:none}
.hero__title{font-family:var(--f-title);font-weight:300;font-size:clamp(42px,7vw,124px);line-height:1.04;letter-spacing:-.025em}
.scrollcue{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:14px;font-family:var(--f-title);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.scrollcue i{width:1px;height:56px;background:linear-gradient(#fff,rgba(255,255,255,0));animation:cue 2.2s var(--ease) infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}

/* ---------- 01 Decisão ---------- */
.sc-decision .pin{display:grid;place-items:center;padding:0 var(--gutter)}
.decision__wrap{max-width:1180px;width:100%}
.decision__lead{font-size:clamp(20px,2vw,34px);max-width:28em;line-height:1.4}

/* ---------- 02 Desafio ---------- */
.sc-problem .pin{display:flex;align-items:center;padding:0 var(--gutter)}
.problem__text{position:relative;z-index:2;max-width:760px}
.scatter{position:absolute;inset:0}
.scatter__item{position:absolute;color:#fff;opacity:.5;will-change:transform}
.scatter__item svg{width:100%;height:auto;display:block}
.s1{width:22vw;left:58%;top:16%}
.s2{width:17vw;left:70%;top:62%}
.s3{width:9vw;left:48%;top:74%}
.s4{width:14vw;left:80%;top:34%}
.s5{width:12vw;left:54%;top:44%}
.s6{width:20vw;left:66%;top:84%}
@media (max-width:720px){
  .sc-problem .pin{align-items:flex-end;padding-bottom:12vh}
  .s1{width:46vw;left:6%;top:12%}.s2{width:36vw;left:52%;top:22%}.s3{width:22vw;left:12%;top:32%}
  .s4{width:32vw;left:58%;top:6%}.s5{width:28vw;left:38%;top:38%}.s6{width:40vw;left:8%;top:46%}
}

/* ---------- 03 Transilva ---------- */
.sc-transilva .pin{display:grid;place-items:center}
.tr__intro{position:absolute;top:16vh;left:var(--gutter);right:var(--gutter);text-align:center;z-index:1}
.tr__intro .eyebrow{justify-content:center}
.tr__intro .eyebrow::before{display:none}
.tr__frame{position:absolute;inset:0;clip-path:inset(38% 34% 18% 34% round 28px);will-change:clip-path}
.tr__frame img{width:100%;height:100%;object-fit:cover;transform:scale(1.25);will-change:transform}
.tr__card{
  position:absolute;right:var(--gutter);bottom:10vh;z-index:3;width:min(440px,calc(100% - 40px));
  padding:34px 34px 30px;border-radius:22px;color:var(--veno2);
  background:rgba(255,255,255,.72);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);
  box-shadow:0 30px 80px rgba(5,15,80,.25);
}
.tr__logo{width:180px;color:var(--tr1);margin-bottom:24px}
.tr__logo svg{width:100%;height:auto;display:block}
.tr__title{font-family:var(--f-title);font-weight:400;font-size:clamp(24px,2vw,32px);line-height:1.15;margin-bottom:14px}
.tr__card p{font-size:clamp(17px,1.25vw,20px);line-height:1.5;color:rgba(5,15,80,.8)}
@media (max-width:720px){.tr__card{right:20px;bottom:6vh;padding:26px}.tr__frame{clip-path:inset(40% 18% 26% 18% round 20px)}}

/* ---------- 04 Símbolo ---------- */
.sc-symbol .pin{background:#02071f}
.sym__bg{position:absolute;inset:-6%;background-size:cover;background-position:70% 50%;opacity:.0;will-change:transform,opacity}
.sym__stage{position:absolute;right:8vw;top:50%;width:min(44vw,600px);aspect-ratio:1;transform:translateY(-50%)}
.sym__svg{position:absolute;inset:0;color:var(--veno1)}
.sym__svg svg{width:100%;height:100%;overflow:visible}
.sym__svg path{transform-box:fill-box;transform-origin:center}
.sym__ring{position:absolute;left:50%;top:50%;width:38%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%) scale(.2);
  background:radial-gradient(circle,rgba(10,176,196,.55),rgba(20,60,240,.25) 45%,rgba(20,60,240,0) 70%);opacity:0;filter:blur(6px)}
.sym__steps{position:absolute;left:var(--gutter);top:0;bottom:0;width:min(600px,44vw)}
.sym__step{position:absolute;left:0;top:0;bottom:0;width:100%;display:flex;flex-direction:column;justify-content:center;opacity:0}
.sym__step .lead{font-size:clamp(19px,1.7vw,28px);line-height:1.45}
.sym__list{list-style:none;font-family:var(--f-title);font-weight:300;font-size:clamp(28px,3.4vw,56px);line-height:1.18}
.sym__list li{opacity:.2}
@media (max-width:860px){
  .sym__stage{right:50%;top:30%;width:70vw;transform:translate(50%,-50%)}
  .sym__steps{left:20px;right:20px;width:auto;top:auto;bottom:4vh;height:44vh}
}

/* ---------- 05 Azul ---------- */
.sc-blue .pin{background:var(--veno2)}
.blue__half{position:absolute;top:0;bottom:0;width:50%}
.blue__left{left:0;background:var(--veno2)}
.blue__right{right:0;background:var(--veno1);transform:translateX(100%);will-change:transform}
.blue__word{
  position:absolute;left:0;right:0;top:9vh;display:flex;justify-content:center;
  font-family:var(--f-title);font-weight:600;font-size:clamp(90px,17vw,300px);line-height:1;letter-spacing:.06em;
}
.w{display:inline-block;will-change:transform}
.w--a{color:var(--veno1);text-align:right;width:50%;padding-right:.04em}
.w--b{color:var(--veno2);width:50%;padding-left:.04em}
.blue__col{position:absolute;bottom:14vh;width:min(600px,40vw);font-size:clamp(18px,1.75vw,30px);line-height:1.4}
.blue__col--l{left:calc(25% - min(300px,20vw))}
.blue__col--r{left:calc(75% - min(300px,20vw))}
.blue__col p+p{margin-top:6px}
.blue__col .eyebrow{margin-bottom:26px}
.blue__strong{font-family:var(--f-title);font-weight:500;font-size:clamp(26px,2.7vw,48px);line-height:1.15;margin-bottom:6px}
.blue__caps{text-transform:uppercase;letter-spacing:.04em}
.blue__gap{margin-top:28px!important;color:rgba(255,255,255,.84)}
@media (max-width:760px){
  .blue__half{width:100%}
  .blue__left{top:0;bottom:auto;height:58%}
  .blue__right{top:auto;bottom:0;height:42%;transform:translateY(100%)}
  .blue__word{top:8vh;font-size:22vw;justify-content:flex-start;padding-left:20px}
  .w--a,.w--b{width:auto;padding:0;color:var(--veno1)}
  .blue__col{width:auto;left:20px!important;right:20px;font-size:18px}
  .blue__strong{font-size:26px}
  .blue__col .eyebrow{margin-bottom:14px}
  .blue__col--l{top:22vh;bottom:auto}
  .blue__col--r{bottom:6vh}
  .blue__gap{margin-top:16px!important}
}

/* ---------- 07 Codepe ---------- */
.sc-codepe .pin{background:var(--veno2)}
.cd__media{position:absolute;inset:0;will-change:transform}
.cd__video{width:100%;height:100%;object-fit:cover}
.cd__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,15,80,.92) 0%,rgba(5,15,80,.72) 45%,rgba(5,15,80,.25) 100%)}
.cd__lines{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:rgba(200,215,240,.55);stroke-width:1.4}
.cd__panel{position:absolute;left:0;top:0;bottom:0;width:min(58vw,820px);padding:0 var(--gutter);display:flex;flex-direction:column;justify-content:center;
  background:rgba(60,115,235,.0)}
.cd__logo{width:min(420px,70vw);color:#fff;margin:6px 0 46px;clip-path:inset(0 100% 0 0)}
.cd__logo svg{width:100%;height:auto;display:block}
.cd__big{font-family:var(--f-title);font-weight:300;font-size:clamp(28px,3.2vw,54px);line-height:1.12;max-width:15em}
@media (max-width:760px){.cd__panel{width:100%;justify-content:flex-end;padding-bottom:12vh}.cd__veil{background:linear-gradient(0deg,rgba(5,15,80,.95) 10%,rgba(5,15,80,.55) 70%,rgba(5,15,80,.3))}}

/* ---------- 08 Grupo Veno (claro) ---------- */
.sc-veno .pin{background:#D7D3D0;color:var(--veno2)}
.veno__key{position:absolute;inset:0;will-change:transform;transform-origin:0% 50%}
.veno__key img{position:absolute;top:0;left:-28%;height:100%;width:auto;min-width:128%;max-width:none;object-fit:cover;object-position:0% 50%}
.veno__text{position:absolute;left:55%;top:50%;transform:translateY(-50%);max-width:640px;padding-right:var(--gutter)}
.veno__text .eyebrow{color:rgba(5,15,80,.6)}
.veno__t1{font-family:var(--f-title);font-weight:400;font-size:clamp(36px,4.6vw,78px);line-height:1.04;letter-spacing:-.02em}
.veno__t2{font-family:var(--f-title);font-weight:300;font-size:clamp(36px,4.6vw,78px);line-height:1.04;letter-spacing:-.02em;margin-top:.5em;color:var(--veno1)}
@media (max-width:760px){
  .veno__key img{left:-145%;min-width:0}
  .veno__text{left:20px;right:20px;top:auto;bottom:6vh;transform:none;padding:26px;border-radius:20px;background:rgba(215,211,208,.88);backdrop-filter:blur(10px)}
}

/* ---------- 11 Manifesto ---------- */
.sc-manifesto .pin{display:grid;place-items:center;padding:0 var(--gutter);background:radial-gradient(120% 90% at 50% 50%,rgba(5,15,80,.55),rgba(2,6,30,.96))}
.mf__lines{position:relative;width:100%;max-width:1200px;height:60vh}
.mf__line{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;align-items:center;justify-content:center;text-align:center;opacity:0;
  font-family:var(--f-title);font-weight:300;font-size:clamp(30px,4.6vw,78px);line-height:1.1;letter-spacing:-.015em}
.mf__line--accent{font-weight:400}
.mf__line--values{display:flex;justify-content:center;gap:clamp(18px,4vw,72px);flex-wrap:wrap;font-size:clamp(22px,3vw,48px)}
.mf__line--values span{position:relative}
.mf__line--values span+span::before{content:"·";position:absolute;left:calc(-1 * clamp(9px,2vw,36px));transform:translateX(-50%);color:var(--apoio)}
.mf__line--call{font-weight:400}

/* ---------- 12 Filme ---------- */
.sc-film{min-height:100vh;display:grid;place-items:center;padding:12vh var(--gutter);background:linear-gradient(rgba(2,6,30,.96),rgba(5,15,80,.4))}
.film__frame{width:min(1280px,100%);will-change:transform}
.film__player{position:relative;aspect-ratio:16/9;border-radius:24px;overflow:hidden;background:#000;box-shadow:0 40px 140px rgba(20,60,240,.35),0 0 0 1px rgba(255,255,255,.08)}
.film__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),opacity .6s}
.film__player:hover .film__poster{transform:scale(1.03)}
.film__player video,.film__player iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.film__play{position:absolute;left:50%;top:50%;width:112px;height:112px;margin:-56px 0 0 -56px;border-radius:50%;
  display:grid;place-items:center;background:rgba(255,255,255,.14);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);transition:transform .5s var(--ease),background .3s}
.film__play svg{width:34px;height:34px;margin-left:4px}
.film__play:hover{transform:scale(1.08);background:var(--veno1)}
.film__play-ring{position:absolute;inset:-14px;border-radius:50%;border:1px solid rgba(255,255,255,.35);animation:ring 2.6s var(--ease) infinite}
@keyframes ring{0%{transform:scale(.85);opacity:0}40%{opacity:1}100%{transform:scale(1.35);opacity:0}}
.film__label{position:absolute;left:28px;bottom:24px;font-family:var(--f-title);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.film__player.is-playing .film__poster,.film__player.is-playing .film__play,.film__player.is-playing .film__label{opacity:0;pointer-events:none}
.film__empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;font-family:var(--f-title);letter-spacing:.12em;text-transform:uppercase;font-size:13px;background:rgba(5,15,80,.7)}
@media (max-width:600px){.film__play{width:84px;height:84px;margin:-42px 0 0 -42px}.film__player{border-radius:16px}.film__label{display:none}}

/* ---------- Movimento reduzido ---------- */
@media (prefers-reduced-motion:reduce){
  .grain-top,.bg__grain,.scrollcue i,.film__play-ring{animation:none}
  .loader{display:none}
}
.no-motion .pin{height:auto;min-height:100vh;padding-top:14vh;padding-bottom:14vh}
.no-motion .sym__step,.no-motion .mf__line{position:relative;opacity:1;transform:none;top:auto;margin-bottom:5vh}
.no-motion .sym__steps,.no-motion .mf__lines{position:relative;height:auto;transform:none;top:auto;left:auto;bottom:auto}
.no-motion .sym__step,.no-motion .mf__line{bottom:auto}
.no-motion .veno__key{width:100%}
.no-motion .tr__frame{position:relative;clip-path:none;height:70vh}
.no-motion .blue__right{transform:none}

/* topo sobre seção clara (mantido) */
.topbar.on-light{color:var(--veno2)}
.topbar.on-light .topbar__logo{color:var(--veno2)}
.topbar.on-light .topbar__chapter{color:rgba(5,15,80,.6)}
.topbar.on-light .topbar__num{color:var(--veno2)}
.topbar.on-light .topbar__progress span{background:var(--veno2)}

/* ---------- Cursor com instrução e porcentagem ---------- */
.cursor{position:fixed;left:0;top:0;z-index:110;pointer-events:none;display:none;color:#fff}
html.has-cursor .cursor{display:block}
html.has-cursor.cursor-live,html.has-cursor.cursor-live *{cursor:none!important}
html.has-cursor .film__player video,html.has-cursor .film__player iframe{cursor:auto!important}
.cursor__dot,.cursor__ring,.cursor__hint{position:fixed;left:0;top:0;will-change:transform}
.cursor__dot{width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:currentColor;transition:opacity .3s}
.cursor__ring{width:64px;height:64px;margin:-32px 0 0 -32px;display:grid;place-items:center;border-radius:50%;
  transition:width .45s var(--ease),height .45s var(--ease),margin .45s var(--ease),background .35s,opacity .3s}
.cursor__ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);overflow:visible}
.cursor__track{fill:none;stroke:currentColor;stroke-opacity:.28;stroke-width:1.4}
.cursor__bar{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-dasharray:182.21;stroke-dashoffset:182.21}
.cursor__pct,.cursor__play{font-family:var(--f-title);font-size:11px;font-weight:500;letter-spacing:.06em;transition:opacity .3s}
.cursor__play{position:absolute;opacity:0;text-transform:uppercase;letter-spacing:.18em}
.cursor__hint{display:flex;align-items:center;gap:12px;white-space:nowrap;margin-top:-17px;padding:8px 16px 8px 10px;border-radius:999px;
  font-family:var(--f-title);font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  background:rgba(255,255,255,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);
  transition:opacity .5s var(--ease)}
.cursor__mouse{width:14px;height:20px;border:1.4px solid currentColor;border-radius:8px;position:relative;flex:0 0 auto}
.cursor__mouse i{position:absolute;left:50%;top:4px;width:2px;height:4px;margin-left:-1px;border-radius:2px;background:currentColor;animation:wheel 1.6s var(--ease) infinite}
@keyframes wheel{0%{transform:translateY(0);opacity:1}70%{transform:translateY(6px);opacity:0}100%{opacity:0}}
.cursor.is-start .cursor__pct{opacity:0}
.cursor:not(.is-start) .cursor__dot{opacity:0}
.cursor:not(.is-start) .cursor__hint{opacity:0}
.cursor.is-play .cursor__ring{width:104px;height:104px;margin:-52px 0 0 -52px;background:var(--veno1)}
.cursor.is-play .cursor__ring svg,.cursor.is-play .cursor__pct,.cursor.is-play .cursor__dot{opacity:0}
.cursor.is-play .cursor__play{opacity:1}
.cursor.is-hidden .cursor__ring,.cursor.is-hidden .cursor__dot{opacity:0}
.cursor.on-light{color:var(--veno2)}
.cursor.on-light .cursor__hint{background:rgba(5,15,80,.06);box-shadow:inset 0 0 0 1px rgba(5,15,80,.2)}
html.has-cursor .scrollcue{display:none}
/* toque: indicador fixo no canto */
html.is-touch .cursor{display:block}
html.is-touch .cursor__dot,html.is-touch .cursor__hint{display:none}
html.is-touch .cursor__ring{left:auto;top:auto;right:16px;bottom:16px;margin:0;width:50px;height:50px;transform:none!important;
  background:rgba(5,15,80,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0}
html.is-touch .cursor:not(.is-start) .cursor__ring{opacity:1}
html.is-touch .cursor__pct{font-size:10px}

/* ---------- Texto que preenche com a rolagem ---------- */
.fw{position:relative;display:inline-block;white-space:nowrap}
.fw__o{color:transparent;-webkit-text-stroke:1.2px rgba(255,255,255,.6)}
.fw__f{position:absolute;left:0;top:0;color:#fff;clip-path:inset(0 100% 0 0);will-change:clip-path}

/* ---------- 03 Transilva: imagem grande com título sobre ela ---------- */
.tr__frame{clip-path:none}
.tr__frame img{transform:scale(1.08)}
.tr__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.62) 0%,rgba(255,255,255,.28) 34%,rgba(255,255,255,0) 52%)}
.tr__intro{top:50%;left:var(--gutter);right:auto;transform:translateY(-50%);text-align:left;max-width:min(30vw,480px);color:var(--veno2)}
.tr__intro .eyebrow{justify-content:flex-start;color:rgba(5,15,80,.7)}
.tr__intro .eyebrow::before{display:block}
.tr__headline{font-family:var(--f-title);font-weight:400;font-size:clamp(36px,4.2vw,72px);line-height:1.02;letter-spacing:-.02em}
.tr__logo{width:240px}
.tr__logo img{width:100%;height:auto;display:block}
@media (max-width:760px){
  .tr__frame img{object-position:50% 50%}
  .tr__shade{background:linear-gradient(180deg,rgba(255,255,255,.7) 0%,rgba(255,255,255,.3) 30%,rgba(255,255,255,0) 50%)}
  .tr__intro{top:14vh;left:28px;right:28px;transform:none;max-width:none}
  .tr__headline{font-size:40px}
  .tr__logo{width:170px}
}

/* ---------- 05 Azul: só as frases principais ---------- */
.blue__col{bottom:20vh}

/* ---------- 06 Codepe sem logo ---------- */
.cd__panel .eyebrow{margin-bottom:34px}
.cd__big{font-size:clamp(34px,4.2vw,72px);max-width:13em;line-height:1.08}
.cd__panel .lead{font-size:clamp(19px,1.7vw,28px)}

/* ---------- 07 Grupo Veno: imagem inteira, texto à direita ---------- */
.veno__key{transform-origin:0% 50%}
.veno__key{right:auto;width:130%}
.veno__key img{position:static;width:100%;height:100%;min-width:0;max-width:100%;object-fit:cover;object-position:0% 50%}
.veno__text{left:62%;right:4vw;max-width:none;padding-right:0}
.veno__t1,.veno__t2{font-size:clamp(34px,4.2vw,80px);line-height:1.04}
.veno__t2{margin-top:.6em}
@media (max-width:760px){
  .veno__key{width:100%;right:0}
  .veno__key img{object-position:52% 50%}
  .veno__text{left:20px;right:20px}
  .veno__t1,.veno__t2{font-size:30px}
}

/* ---------- 08 Manifesto: linha final preenchida ---------- */
.mf__line--final{font-weight:300;font-size:clamp(40px,6.2vw,110px);line-height:1.04;letter-spacing:-.025em}
.mf__line--call{color:#fff;font-size:clamp(40px,6vw,104px);line-height:1.06}

/* ---------- 10 Assinatura ---------- */
.sign__top{position:absolute;left:0;right:0;top:0;height:62%;background:var(--veno1);clip-path:circle(0% at 50% 50%)}
.sign__a{position:absolute;left:0;right:0;top:0;height:62%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(18px,3vh,34px);padding-top:40px}
.sign__b{position:absolute;left:0;right:0;top:62%;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4.5vh;padding:0 var(--gutter);text-align:center}
.sign__symbol{width:min(17vmin,150px);color:var(--veno2)}
.sign__symbol path{transform-box:fill-box;transform-origin:center}
.sign__symbol svg,.sign__lettering svg{width:100%;height:auto;display:block;overflow:visible}
.sign__lettering{width:min(44vw,440px);color:#fff}
.sign__row{display:flex;align-items:center;justify-content:center;gap:clamp(20px,4vw,64px);flex-wrap:wrap}
.sign__brand{height:clamp(16px,2.1vw,30px);color:#fff}
.sign__brand svg{height:100%;width:auto;display:block}
.sign__title{font-family:var(--f-title);font-weight:300;font-size:clamp(22px,2.4vw,40px);line-height:1.15}
@media (max-width:720px){.sign__row{gap:18px 26px}.sign__brand{height:16px}}
.no-motion .sign__top{clip-path:none}
.foot{width:100%;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.foot a:hover{color:#fff}

/* ---------- 08 Filme: tela final, começa sozinho ---------- */
.sc-film{position:relative;height:100vh;height:100svh;min-height:0;padding:0 var(--gutter);display:grid;place-items:center;overflow:hidden}
.film__frame{width:min(1400px,100%,calc((100svh - 140px) * 16 / 9))}
.film__video{z-index:1}
.film__poster{z-index:2}
.film__player.is-started .film__poster{opacity:0;pointer-events:none}
.film__player:fullscreen{border-radius:0}
.film__player:fullscreen video{object-fit:contain}
.film__cta{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:22px;
  font-family:var(--f-title);font-size:13px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#fff;transition:opacity .5s,transform .6s var(--ease)}
.film__cta-icon{position:relative;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:rgba(20,60,240,.85);
  box-shadow:0 20px 60px rgba(20,60,240,.5),inset 0 0 0 1px rgba(255,255,255,.35);transition:transform .5s var(--ease)}
.film__cta-icon svg{width:36px;height:36px;margin-left:5px}
.film__cta:hover .film__cta-icon{transform:scale(1.08)}
.film__cta-text{padding:10px 18px;border-radius:999px;background:rgba(5,15,80,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.film__player.has-sound .film__cta{opacity:0;pointer-events:none;transform:translate(-50%,-40%)}
.film__player.is-started:not(.has-sound)::after{content:"";position:absolute;inset:0;z-index:3;background:rgba(5,15,80,.35);pointer-events:none}
.film__bar{position:absolute;left:0;right:0;bottom:0;height:3px;z-index:4;background:rgba(255,255,255,.15)}
.film__bar span{display:block;height:100%;width:100%;background:var(--apoio);transform-origin:0 50%;transform:scaleX(0)}
.film__player.has-sound .film__bar{opacity:0}
@media (max-width:600px){.film__cta-icon{width:84px;height:84px}.film__cta{font-size:11px;gap:16px}}

/* Assinatura sobre a tela quando o filme termina */
.sign{position:absolute;inset:0;z-index:6;background:var(--veno2);opacity:0;visibility:hidden}
.sign.is-on{visibility:visible}
.sign__replay{margin-top:1vh;font-family:var(--f-title);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  padding:12px 22px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);transition:background .3s}
.sign__replay:hover{background:var(--veno1)}
.sign__foot{position:absolute;left:0;right:0;bottom:22px;text-align:center;font-size:12px;color:var(--muted)}

/* durante a abertura o cursor aparece, a instrução de rolar entra depois */
.cursor.is-intro .cursor__hint{opacity:0}

/* luz mais forte no vazio central do símbolo */
.sym__ring{width:62%;filter:blur(4px);mix-blend-mode:screen;
  background:radial-gradient(circle,rgba(255,255,255,.95) 0%,rgba(160,240,255,.85) 10%,rgba(10,176,196,.75) 26%,rgba(20,60,240,.45) 48%,rgba(20,60,240,0) 70%)}
.sym__ring::after{content:"";position:absolute;inset:-35%;border-radius:50%;
  background:radial-gradient(circle,rgba(10,176,196,.35),rgba(20,60,240,.18) 40%,rgba(20,60,240,0) 70%);animation:glow 2.8s ease-in-out infinite}
@keyframes glow{0%,100%{transform:scale(.9);opacity:.7}50%{transform:scale(1.12);opacity:1}}

/* texto do botão do vídeo maior */
.film__cta{font-size:clamp(15px,1.35vw,22px);gap:26px}
.film__cta-icon{width:128px;height:128px}
.film__cta-icon svg{width:42px;height:42px}
.film__cta-text{display:flex;align-items:center;gap:12px;padding:14px 26px}
.film__rot{width:26px;height:26px;flex:0 0 auto}
@media (max-width:600px){.film__cta{font-size:11px;gap:10px;letter-spacing:.1em}.film__cta-icon{width:64px;height:64px}.film__cta-icon svg{width:24px;height:24px}.film__play-ring{inset:-8px}.film__cta-text{padding:8px 14px;white-space:nowrap;gap:8px}.film__rot{width:18px;height:18px}}

/* vídeo deitado no celular (funciona mesmo com a rotação travada) */
.film-ov{position:fixed;inset:0;z-index:300;background:#000;display:grid;place-items:center;overflow:hidden}
.film-ov__box{width:100vw;height:100vh;height:100dvh;display:grid;place-items:center}
.film-ov.is-rot .film-ov__box{width:100vh;width:100dvh;height:100vw;transform:rotate(90deg)}
.film-ov .film__player{width:100%;height:100%;aspect-ratio:auto;border-radius:0;box-shadow:none}
.film-ov .film__player video{object-fit:contain}
.film-ov__close{position:fixed;z-index:2;top:14px;right:14px;width:44px;height:44px;border-radius:50%;font-size:28px;line-height:1;color:#fff;background:rgba(255,255,255,.16)}
.film-ov.is-rot .film-ov__close{top:auto;right:14px;bottom:14px;transform:rotate(90deg)}
html.film-open,html.film-open body{overflow:hidden}

/* botão "Assistir o vídeo novamente" em destaque */
.sign__replay{display:inline-flex;align-items:center;gap:14px;margin-top:2vh;padding:18px 34px;border-radius:999px;
  font-size:clamp(14px,1.2vw,18px);font-weight:600;letter-spacing:.16em;color:#fff;background:var(--veno1);
  box-shadow:0 18px 50px rgba(20,60,240,.55),inset 0 0 0 1px rgba(255,255,255,.3);transition:transform .4s var(--ease),background .3s}
.sign__replay svg{width:20px;height:20px}
.sign__replay:hover{background:#2a52ff;transform:scale(1.05)}
@media (max-width:600px){.sign__replay{padding:14px 22px;font-size:12px;gap:10px}.sign__replay svg{width:16px;height:16px}}

/* ---------- Cadastro do brinde (link dos colaboradores) ---------- */
.sign__gift{display:none}
html.is-colab .sign__gift{display:inline-flex;align-items:center;margin-top:2vh;padding:14px 26px;border-radius:999px;font-family:var(--f-title);
  font-size:clamp(12px,1vw,15px);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--veno2);background:#fff;transition:transform .3s var(--ease)}
html.is-colab .sign__gift:hover{transform:scale(1.04)}
html.is-colab .sign__b{gap:2.2vh}
html.is-colab .sign__replay{margin-top:0}
.gift{position:fixed;inset:0;z-index:250;display:grid;place-items:center;padding:20px;background:rgba(2,6,30,.72);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s}
.gift.is-on{opacity:1;visibility:visible}
.gift__card{position:relative;width:min(560px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:clamp(28px,4vw,46px);border-radius:24px;
  background:linear-gradient(160deg,#0b1f8f,#050F50 70%);box-shadow:0 40px 120px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.12);
  transform:translateY(30px) scale(.97);transition:transform .6s var(--ease)}
.gift.is-on .gift__card{transform:none}
.gift__close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;font-size:24px;color:#fff;background:rgba(255,255,255,.1)}
.gift__title{font-family:var(--f-title);font-weight:400;font-size:clamp(28px,3vw,40px);line-height:1.1;letter-spacing:-.01em;margin-bottom:12px}
.gift__text{color:rgba(255,255,255,.82);font-size:clamp(16px,1.2vw,18px);margin-bottom:26px}
.gift__text strong{color:#fff;font-weight:600}
.gift__form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gift__field{display:flex;flex-direction:column;gap:6px}
.gift__field--full{grid-column:1 / -1}
.gift__field span{font-family:var(--f-title);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.gift__field input,.gift__field select{width:100%;font:inherit;font-size:16px;color:#fff;padding:13px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.07);outline:none;transition:border-color .2s,background .2s;-webkit-appearance:none;appearance:none}
.gift__field select{background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);
  background-position:calc(100% - 20px) 55%,calc(100% - 15px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.gift__field select option{color:#050F50}
.gift__field input:focus,.gift__field select:focus{border-color:var(--apoio);background:rgba(255,255,255,.12)}
.gift__field.is-bad input,.gift__field.is-bad select{border-color:#ff6b86}
.gift__hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.gift__error{grid-column:1 / -1;min-height:1em;color:#ff9aac;font-size:14px}
.gift__send,.gift__done{grid-column:1 / -1;justify-self:start;padding:16px 30px;border-radius:999px;font-family:var(--f-title);font-size:14px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--veno1);box-shadow:0 14px 40px rgba(20,60,240,.5);transition:transform .3s var(--ease),opacity .3s}
.gift__send:hover,.gift__done:hover{transform:scale(1.04)}
.gift__send[disabled]{opacity:.6;pointer-events:none}
.gift__note{grid-column:1 / -1;font-size:12px;color:rgba(255,255,255,.55)}
.gift__step--ok{display:none;text-align:left}
.gift.is-done .gift__step--form{display:none}
.gift.is-done .gift__step--ok{display:block}
.gift__check{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--apoio);color:#fff;margin-bottom:22px}
.gift__check svg{width:34px;height:34px}
html.has-cursor.cursor-live .gift,html.has-cursor.cursor-live .gift *{cursor:auto!important}
html.has-cursor .gift input,html.has-cursor .gift select{cursor:text!important}
@media (max-width:520px){.gift__form{grid-template-columns:1fr}.gift__field{grid-column:1 / -1}}
html.gift-open .cursor{display:none!important}

/* "Role para baixo" em destaque: luz girando em volta do botão */
@property --hint-a{syntax:"<angle>";initial-value:0deg;inherits:false}
.cursor__hint{font-size:13px;letter-spacing:.22em;padding:11px 20px 11px 13px;background:rgba(20,60,240,.42);
  box-shadow:0 0 0 1px rgba(255,255,255,.18),0 10px 34px rgba(10,176,196,.35);animation:hintGlow 2.4s ease-in-out infinite}
.cursor__hint::before{content:"";position:absolute;inset:-2.5px;border-radius:inherit;padding:2.5px;pointer-events:none;
  background:conic-gradient(from var(--hint-a),rgba(255,255,255,0) 0deg,rgba(255,255,255,0) 150deg,#0AB0C4 260deg,#fff 330deg,rgba(255,255,255,0) 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  animation:hintSpin 2.2s linear infinite}
.cursor__mouse{width:16px;height:23px}
@keyframes hintSpin{to{--hint-a:360deg}}
@keyframes hintGlow{0%,100%{box-shadow:0 0 0 1px rgba(255,255,255,.18),0 10px 30px rgba(10,176,196,.25)}50%{box-shadow:0 0 0 1px rgba(255,255,255,.3),0 10px 44px rgba(10,176,196,.6)}}

/* núcleo pulsando: luz central bate como um coração e ondas convergem para o centro */
.sym__ring::after{inset:-30%;background:radial-gradient(circle,rgba(200,250,255,.55),rgba(10,176,196,.35) 35%,rgba(20,60,240,0) 70%);animation:corePulse 1.6s ease-in-out infinite}
@keyframes corePulse{0%,100%{transform:scale(.7);opacity:.45}45%{transform:scale(1.3);opacity:1}}
.sym__ring i{position:absolute;left:50%;top:50%;width:150%;aspect-ratio:1;margin:-75% 0 0 -75%;border-radius:50%;
  border:2px solid rgba(170,240,255,.85);box-shadow:0 0 18px rgba(10,176,196,.6),inset 0 0 18px rgba(10,176,196,.4);
  opacity:0;animation:converge 2.4s cubic-bezier(.45,0,.75,1) infinite}
.sym__ring i:nth-child(2){animation-delay:.8s}
.sym__ring i:nth-child(3){animation-delay:1.6s}
@keyframes converge{0%{transform:scale(1.5);opacity:0}25%{opacity:.9}100%{transform:scale(.12);opacity:0}}
@media (prefers-reduced-motion:reduce){.sym__ring::after,.sym__ring i{animation:none}}

/* chamada do vídeo: grande e fixa até a pessoa clicar */
.film__cta{font-size:clamp(17px,1.9vw,30px);gap:30px;letter-spacing:.14em}
.film__cta-icon{width:150px;height:150px}
.film__cta-icon svg{width:50px;height:50px}
.film__cta-text{padding:18px 34px;background:rgba(20,60,240,.82);box-shadow:0 14px 50px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.3)}
.film__player.is-started:not(.has-sound)::after{background:rgba(5,15,80,.5)}
@media (max-width:600px){.film__cta{font-size:12px;gap:10px;letter-spacing:.1em}.film__cta-icon{width:64px;height:64px}.film__cta-icon svg{width:24px;height:24px}.film__cta-text{padding:9px 14px}}
.film__cta-text{white-space:nowrap}
.loader .loader__text{font-size:clamp(14px,1.15vw,19px);letter-spacing:.3em;margin:0}
.loader__symbol{will-change:transform;backface-visibility:hidden}
.loader__symbol svg{display:block}

/* noise do PPT em definição real: 1 pixel da textura = 1 pixel da tela, sem esticar */
.bg__noise{position:absolute;inset:0;pointer-events:none;background-repeat:repeat;
  background-size:var(--noise-size,384px) var(--noise-size,384px);image-rendering:pixelated}
.bg__noise--claro{background-image:url(../img/noise-claro.png);mix-blend-mode:plus-lighter}
.bg__noise--escuro{background-image:url(../img/noise-escuro.png);mix-blend-mode:difference}
@supports not (mix-blend-mode:plus-lighter){.bg__noise--claro{mix-blend-mode:screen}}
.grain-top{animation:none;opacity:.05}

/* aviso do fone de ouvido, piscando suave acima do play */
.film__phones{display:flex;align-items:center;gap:12px;font-family:var(--f-title);font-size:clamp(12px,1.05vw,16px);font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;color:#fff;white-space:nowrap;padding:9px 18px;border-radius:999px;
  background:rgba(5,15,80,.55);box-shadow:inset 0 0 0 1px rgba(10,176,196,.55);animation:phonesBlink 1.8s ease-in-out infinite}
.film__phones svg{width:24px;height:24px;flex:0 0 auto;color:var(--apoio)}
@keyframes phonesBlink{0%,100%{opacity:1;box-shadow:inset 0 0 0 1px rgba(10,176,196,.55),0 0 0 rgba(10,176,196,0)}50%{opacity:.45;box-shadow:inset 0 0 0 1px rgba(10,176,196,.9),0 0 26px rgba(10,176,196,.45)}}
@media (max-width:600px){.film__phones{font-size:9px;letter-spacing:.06em;gap:6px;padding:5px 10px}.film__phones svg{width:14px;height:14px}}
@media (prefers-reduced-motion:reduce){.film__phones{animation:none}}
.film__phones{font-size:clamp(13px,1.25vw,19px);padding:11px 22px}.film__phones svg{width:28px;height:28px}@media (max-width:600px){.film__phones{font-size:9px;padding:5px 10px}.film__phones svg{width:14px;height:14px}}

/* ---------- Cadastro e sorteio (v2) ---------- */
.gift__card{width:min(720px,100%)}
.gift__prize{margin:-6px 0 22px;border-radius:16px;overflow:hidden;position:relative;background:#0b1f8f}
.gift__prize img{width:100%;height:auto;display:block;aspect-ratio:16/8.4;object-fit:cover;object-position:50% 45%}
.gift__prize figcaption{position:absolute;left:14px;bottom:12px;padding:7px 14px;border-radius:999px;background:rgba(5,15,80,.82);
  font-family:var(--f-title);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.gift__req{grid-column:1 / -1;font-size:13px;color:rgba(255,255,255,.65);margin-bottom:-2px}
.gift__photo{grid-column:1 / -1;display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:start;margin-top:8px;padding:18px;border-radius:16px;
  background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.gift__ex{margin:0}
.gift__ex img{width:100%;height:auto;display:block;border-radius:12px;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;background:#e9ecf2}
.gift__ex figcaption{margin-top:8px;font-size:12px;line-height:1.35;color:rgba(255,255,255,.75)}
.gift__ex figcaption strong{display:block;font-family:var(--f-title);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--apoio);margin-bottom:2px}
.gift__qrtitle{font-family:var(--f-title);font-weight:500;font-size:18px;line-height:1.2;margin-bottom:8px}
.gift__qrtext{font-size:14px;line-height:1.5;color:rgba(255,255,255,.82);margin-bottom:12px}
.gift__qrtext strong{color:#fff}
.gift__qrcode{width:150px;padding:8px;border-radius:12px;background:#fff}
.gift__qrcode svg{width:100%;height:auto;display:block}
.gift__wa{display:inline-flex;margin-top:12px;padding:10px 16px;border-radius:999px;font-size:13px;font-weight:600;color:#fff;background:#0f8f5a;text-decoration:none}
.gift__wa:hover{background:#12a568}
.gift__ticket{display:inline-flex;flex-direction:column;align-items:flex-start;margin:4px 0 18px;padding:16px 26px;border-radius:16px;background:var(--veno1);
  box-shadow:0 14px 40px rgba(20,60,240,.45)}
.gift__ticket span{font-family:var(--f-title);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;opacity:.85}
.gift__ticket strong{font-family:var(--f-title);font-size:48px;font-weight:500;letter-spacing:.08em;line-height:1.1}
.gift__wa2{display:inline-flex;text-decoration:none;margin:0 10px 10px 0;background:#0f8f5a;box-shadow:none}
.gift__done{background:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
/* no celular o QR Code não faz sentido: fica o botão do WhatsApp */
html.is-touch .gift__qrcode{display:none}
@media (max-width:560px){
  .gift__photo{grid-template-columns:1fr;gap:14px}
  .gift__ex{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center}
  .gift__ex figcaption{margin:0}
  .gift__ticket strong{font-size:40px}
}
.gift__close{z-index:3;background:rgba(5,15,80,.65)}
.gift__okqr{display:flex;align-items:center;gap:18px;margin:0 0 20px;padding:16px;border-radius:16px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.gift__okqr .gift__qrcode{flex:0 0 150px}
.gift__okqr p{font-size:14px;line-height:1.5;color:rgba(255,255,255,.82)}
html.is-touch .gift__okqr{display:none}
