/* GMX presentation layer — cinematic brand system and responsive polish. */
:root{
  --gmx-blue:#9e7abd;
  --gmx-pink:#c26ba5;
  --gmx-dark:#050505;
  --gmx-border-color:rgba(158,122,189,.18);
  --award-paper:#f4f4f2;
  --award-ink:#050505;
  --award-muted:#9a9aa0;
  --award-cyan:#9e7abd;
  --award-magenta:#c26ba5;
}

.award-v2{background:var(--gmx-dark);color:var(--award-paper)}
.award-v2 :focus-visible{outline:2px solid var(--award-cyan)!important;outline-offset:5px!important}
.award-v2 ::selection{background:var(--award-cyan);color:#050505}

.award-v2 .gmx-header{padding:18px clamp(22px,4vw,64px);background:linear-gradient(180deg,rgba(3,3,5,.72),transparent);border-bottom:1px solid transparent}
.award-v2 .gmx-header.is-scrolled{background:rgba(4,4,7,.78);border-color:rgba(158,122,189,.12);backdrop-filter:blur(18px)}
.award-v2 .gmx-logo img{width:72px;height:72px;object-fit:contain}
.award-v2 .header-nav{gap:clamp(16px,2vw,30px)}
.award-v2 .header-case-link{color:#c9c9ce;text-decoration:none;font-size: var(--step--1);font-weight:700;letter-spacing:.15em;transition:color .2s,text-shadow .2s}
.award-v2 .header-case-link:hover{color:var(--award-cyan);text-shadow:0 0 18px rgba(158,122,189,.5)}
.award-v2 .gmx-btn-nav{min-height:44px;border-radius:999px;padding:12px 22px;font-size: var(--step--1);letter-spacing:.12em;border-color:rgba(158,122,189,.4)}

.award-v2 .pure-hero{min-height:100svh;background:
  radial-gradient(circle at 74% 30%,rgba(158,122,189,.12),transparent 28%),
  radial-gradient(circle at 23% 72%,rgba(0,105,255,.08),transparent 34%),
  rgba(5,5,7,.34)}
.award-v2 .pure-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(ellipse 78% 58% at 54% 45%,transparent 44%,rgba(2,3,5,.3) 100%),
  linear-gradient(118deg,transparent 18%,rgba(158,122,189,.025) 43%,transparent 67%);
  opacity:.82;mix-blend-mode:screen;animation:gmx-hero-breathe 10s ease-in-out infinite alternate}
@keyframes gmx-hero-breathe{from{opacity:.58;transform:scale(1)}to{opacity:.9;transform:scale(1.018)}}
.award-v2 .pure-hero:after{content:"";position:absolute;inset:auto 0 0;height:32vh;pointer-events:none;background:linear-gradient(transparent,rgba(5,5,5,.78))}
/* width:100% porque .pure-hero e flex-column e o margin:0 auto cancela o
   stretch: sem isso a caixa encolhe ate o texto, e a hero em ingles ("WE
   ENGINEER", mais curta que "NOS ENGENHAMOS") ficava ~200px mais estreita e
   visivelmente mais indentada que a portuguesa na mesma largura de tela. */
.award-v2 .hero-content{max-width:1320px;width:100%;margin:0 auto;padding-left:clamp(22px,5vw,80px);padding-right:clamp(22px,5vw,80px)}
.award-v2 .hero-eyebrow{color:var(--award-cyan);font-size: var(--step--1);letter-spacing:.2em;text-shadow:0 0 20px rgba(158,122,189,.28)}
.award-v2 .hero-title{font-family:Inter,Arial,sans-serif;font-weight:500;letter-spacing:-.068em;line-height:.84;font-size: var(--step-5);isolation:isolate}
.award-v2 .hero-title .hero-line{background-color:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important}
.award-v2 .gmx-highlight{background:linear-gradient(90deg,var(--award-cyan),var(--award-magenta))!important;background-clip:text!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;color:transparent!important;filter:none!important}
.award-v2.hero-settled .hero-title .hero-line{overflow:visible;will-change:auto}
.award-v2 .subtitle{max-width:720px;color:#c9c9ce;font-size: var(--step-1);line-height:1.55}
.award-v2 .hero-ctas{gap:12px}
.award-v2 .hero-cta{min-height:52px;border-radius:999px;padding:15px 23px;background:linear-gradient(100deg,#a478c9,#d9bdea);color:#050505;border:1px solid var(--award-cyan);font-size: var(--step--1);letter-spacing:.11em;box-shadow:0 0 34px rgba(158,122,189,.14)}
.award-v2 .hero-cta--ghost{background:rgba(5,5,8,.22);color:var(--award-paper);border-color:rgba(194,107,165,.42);box-shadow:none;backdrop-filter:blur(12px)}
.award-v2 .hero-cta:before,.award-v2 .hero-cta:after{display:none}
.award-v2 .hero-cta:hover{box-shadow:0 0 45px rgba(158,122,189,.26);transform:translateY(-2px)}
.award-v2 .hero-cta--ghost:hover{border-color:var(--award-magenta);box-shadow:0 0 36px rgba(194,107,165,.15)}
.award-v2 .hero-creds{color:#9a9aa2;letter-spacing:.28em}

.award-v2 .showreel-section{padding:0 clamp(16px,4vw,64px) clamp(80px,10vw,150px);background:rgba(5,5,6,.68)}
.award-v2 .showreel-glass-frame{border-radius:clamp(18px,2vw,30px);border:1px solid rgba(158,122,189,.18);box-shadow:0 25px 90px rgba(0,0,0,.45),0 0 60px rgba(158,122,189,.055);overflow:hidden}
.award-v2 .showreel-container{min-height:min(72vw,780px)}
.award-v2 .showreel-overlay{background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.42))}
.award-v2 .showreel-note{width:100%;display:flex;justify-content:space-between;gap:18px;margin:15px 0 0;padding:0 3px;color:#9a9aa2;font-size: var(--step--1);letter-spacing:.08em;text-transform:uppercase}
.award-v2 .showreel-note a{color:var(--award-cyan);text-underline-offset:5px}

.award-v2 .about-gmx{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);min-height:100vh;padding:clamp(100px,12vw,170px) clamp(22px,6vw,96px);background:rgba(8,8,11,.9)!important}
.award-v2 .about-left{display:block;min-height:clamp(420px,52vw,760px)}
.award-v2 .about-right{width:min(920px,100%);margin-left:auto;margin-right:auto}
.award-v2 .premium-text-card{box-shadow:0 30px 100px rgba(0,0,0,.3)}
.award-v2 .about-tag,.award-v2 .light-section-tag,.award-v2 .tec-tag,.award-v2 .proof-tag{font-family:Inter,Arial,sans-serif;color:var(--award-cyan);font-size: var(--step--1);letter-spacing:.18em;font-weight:700}
.award-v2 .method-section .light-section-tag,.award-v2 .gmx-manifesto .manifesto-tag{color:var(--award-magenta)}
.award-v2 .section-title,.award-v2 .portfolio-heading,.award-v2 .proof-copy h2{font-family:Inter,Arial,sans-serif;font-weight:490;letter-spacing:-.055em;line-height:.92}
.award-v2 .about-right .section-title{font-size: var(--step-5)}
.award-v2 .about-divider{background:linear-gradient(90deg,var(--award-cyan),var(--award-magenta))}
.award-v2 .section-desc,.award-v2 .big-text{color:#9a9aa2ab0;line-height:1.65}
.award-v2 .capability-pill{border-color:rgba(158,122,189,.2);background:rgba(158,122,189,.025);color:#c9c9ce;border-radius:999px}

.award-v2 .light-realm,.award-v2 .light-content{background:rgba(12,12,16,.92)!important}
.award-v2 .services-grid-section,.award-v2 .method-section{padding-left:clamp(22px,5vw,80px);padding-right:clamp(22px,5vw,80px)}
.award-v2 .light-realm .section-title{color:#f4f4f2}
.award-v2 .light-realm .section-desc{color:#9a9aa2}
.award-v2 .bento-card,.award-v2 .step-card{border-radius:22px;border:1px solid rgba(244,244,242,.1);box-shadow:none;background:linear-gradient(145deg,rgba(20,20,25,.72),rgba(10,10,13,.58));color:#f4f4f2}
.award-v2 .bento-card:nth-child(odd){border-top-color:rgba(158,122,189,.28)}
.award-v2 .bento-card:nth-child(even){border-top-color:rgba(194,107,165,.25)}
.award-v2 .bento-card:hover,.award-v2 .step-card:hover{transform:translateY(-5px);border-color:rgba(158,122,189,.38);box-shadow:0 22px 70px rgba(158,122,189,.07)}
.award-v2 .bento-title,.award-v2 .step-card h3{font-family:Inter,Arial,sans-serif;letter-spacing:-.03em;color:#f4f4f2}
.award-v2 .bento-desc,.award-v2 .step-card p{color:#9a9aa2}

.award-v2 .gmx-tec{background:rgba(5,5,8,.92)}
.award-v2 .tec-title{font-family:Inter,Arial,sans-serif;font-weight:490;letter-spacing:-.055em;line-height:.92}
.award-v2 .tec-title em{color:var(--award-magenta);text-shadow:0 0 24px rgba(194,107,165,.18)}
.award-v2 .tec-stage{border-radius:26px;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(158,122,189,.1),transparent 62%);box-shadow:0 0 90px rgba(158,122,189,.05)}
.award-v2 .tec-stage:before{border-color:rgba(158,122,189,.2)}

.award-v2 .portfolio-light-wrapper{padding:clamp(100px,13vw,190px) clamp(16px,4vw,64px);background:rgba(7,7,10,.93)!important;overflow:visible}
.award-v2 .portfolio-header{max-width:1320px;margin:0 auto clamp(55px,8vw,105px);padding:0}
.award-v2 .portfolio-heading{color:var(--award-paper);font-size: var(--step-5);margin-top:18px;max-width:12ch}
.award-v2 .portfolio-heading .gmx-highlight{filter:drop-shadow(0 0 24px rgba(194,107,165,.12))}
.award-v2 .portfolio-drag-hint{max-width:690px;margin-top:28px;color:#9a9aa2;font-size: var(--step-1);letter-spacing:0;text-transform:none;line-height:1.65}
.award-v2 .flagship-grid{position:relative;width:min(1320px,100%);height:300svh;margin:0 auto}
.award-v2 .flagship-stage{position:relative;top:auto;height:84svh;min-height:600px;isolation:isolate}
.award-v2 .flagship-stage.is-pinned{position:fixed;z-index:30;top:clamp(88px,9svh,108px);left:var(--deck-left);width:var(--deck-width)}
.award-v2 .flagship-stage.is-ended{position:absolute;z-index:1;top:auto;bottom:0;left:0;width:100%}
.award-v2.flagship-stage-active .section-indicator,.award-v2.flagship-stage-active .gmx-floating-cta,.award-v2.flagship-stage-active .back-to-top,.award-v2.flagship-stage-active .scroll-progress-ring{opacity:0!important;pointer-events:none!important}
.award-v2.flagship-deck-in-view .section-indicator,.award-v2.flagship-deck-in-view .gmx-floating-cta,.award-v2.flagship-deck-in-view .back-to-top,.award-v2.flagship-deck-in-view .scroll-progress-ring,.award-v2.flagship-deck-in-view .wa-fab{opacity:0!important;pointer-events:none!important}
.award-v2.motion-archive-in-view .section-indicator,.award-v2.motion-archive-in-view .gmx-floating-cta,.award-v2.motion-archive-in-view .back-to-top,.award-v2.motion-archive-in-view .scroll-progress-ring,.award-v2.motion-archive-in-view .wa-fab{opacity:0!important;pointer-events:none!important}
.award-v2 .flagship-stage:before{content:"";position:absolute;inset:-18px clamp(92px,9vw,140px) -18px -18px;z-index:-1;border:1px solid rgba(158,122,189,.08);background:radial-gradient(circle at 18% 18%,rgba(158,122,189,.055),transparent 36%),rgba(2,3,5,.34);clip-path:polygon(0 0,calc(100% - 42px) 0,100% 42px,100% 100%,42px 100%,0 calc(100% - 42px))}
.award-v2 .flagship-card{--case-accent:158,122,189;position:absolute;inset:0 clamp(110px,10vw,150px) 0 0;display:block;min-height:0;padding:0;border:1px solid rgba(var(--case-accent),.2);border-radius:0;overflow:hidden;background:#141419;color:white;text-align:left;text-decoration:none;isolation:isolate;box-shadow:0 36px 110px rgba(0,0,0,.5),0 0 60px rgba(var(--case-accent),.035);opacity:0;pointer-events:none;transform:translate3d(0,7%,0) scale(.965);transition:opacity .72s cubic-bezier(.22,.8,.24,1),transform 1s cubic-bezier(.22,.8,.24,1),clip-path 1s cubic-bezier(.22,.8,.24,1),border-color .45s,box-shadow .45s}
.award-v2 .flagship-card:nth-child(1){clip-path:polygon(0 0,calc(100% - 52px) 0,100% 52px,100% 100%,0 100%)}
.award-v2 .flagship-card:nth-child(2){clip-path:polygon(0 52px,52px 0,100% 0,100% 100%,52px 100%,0 calc(100% - 52px))}
.award-v2 .flagship-card:nth-child(3){--case-accent:194,107,165;clip-path:polygon(0 0,100% 0,100% calc(100% - 52px),calc(100% - 52px) 100%,0 100%,0 52px,52px 0)}
.award-v2 .flagship-stage:not(.is-ready) .flagship-card:first-child,.award-v2 .flagship-card.is-active{z-index:3;opacity:1;pointer-events:auto;transform:translate3d(0,0,0) scale(1)}
.award-v2 .flagship-card.is-before{z-index:1;opacity:0;transform:translate3d(0,-6%,0) scale(1.025)}
.award-v2 .flagship-card.is-after{z-index:2;opacity:0;transform:translate3d(0,7%,0) scale(.965)}
.award-v2 .flagship-card>picture,.award-v2 .flagship-card>img,.award-v2 .flagship-card picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.35s cubic-bezier(.2,.7,.2,1),filter .65s}
.award-v2 .flagship-card.is-active:hover{border-color:rgba(var(--case-accent),.52);box-shadow:0 40px 120px rgba(0,0,0,.56),0 0 76px rgba(var(--case-accent),.09);transform:translate3d(0,0,0) scale(1.004)}
.award-v2 .flagship-card.is-active:hover>picture img,.award-v2 .flagship-card.is-active:hover>img{transform:scale(1.035);filter:saturate(1.06)}
.award-v2 .flagship-card:before{content:"01";position:absolute;z-index:2;right:-.035em;bottom:-.28em;font-family:Inter,Arial,sans-serif;font-size:clamp(11rem,24vw,26rem);font-weight:560;letter-spacing:-.1em;line-height:1;color:rgba(var(--case-accent),.085);pointer-events:none;mix-blend-mode:screen}
.award-v2 .flagship-card:nth-child(2):before{content:"02";right:auto;left:-.06em}
.award-v2 .flagship-card:nth-child(3):before{content:"03"}
.award-v2 .flagship-card:after{content:"";position:absolute;z-index:3;inset:0;pointer-events:none;background:linear-gradient(106deg,transparent 34%,rgba(var(--case-accent),.1) 48%,transparent 62%);transform:translateX(-125%);mix-blend-mode:screen}
.award-v2 .flagship-card.is-active:after{animation:gmx-case-scan 5.5s 1s cubic-bezier(.3,.65,.2,1) infinite}
@keyframes gmx-case-scan{0%,68%{transform:translateX(-125%)}100%{transform:translateX(125%)}}
.award-v2 .flagship-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(3,3,6,.03) 18%,rgba(3,3,7,.92) 100%)}
.award-v2 .flagship-shade:after{content:"";position:absolute;inset:0;background:linear-gradient(118deg,rgba(var(--case-accent),.14),transparent 30%,transparent 74%,rgba(var(--case-accent),.09));opacity:.32;transition:opacity .6s}
.award-v2 .flagship-card:hover .flagship-shade:after{opacity:.7}
.award-v2 .flagship-index,.award-v2 .flagship-action{position:absolute;z-index:4;top:clamp(18px,2.4vw,34px);font-size: var(--step--1);letter-spacing:.16em;text-transform:uppercase}
.award-v2 .flagship-index{left:clamp(18px,2.4vw,34px);color:rgb(var(--case-accent))}
.award-v2 .flagship-action{right:clamp(18px,2.4vw,34px);padding:10px 14px;border:1px solid rgba(var(--case-accent),.3);border-radius:999px;background:rgba(4,4,8,.48);backdrop-filter:blur(12px)}
.award-v2 .flagship-meta{position:absolute;z-index:4;left:clamp(22px,3.4vw,50px);right:clamp(22px,3.4vw,50px);bottom:clamp(22px,3.4vw,50px);display:flex;flex-direction:column;align-items:flex-start}
.award-v2 .flagship-meta small{font-size: var(--step--1);letter-spacing:.16em;color:#c9c9ce}
.award-v2 .flagship-meta strong{font-family:Inter,Arial,sans-serif;font-size: var(--step-5);font-weight:480;letter-spacing:-.065em;line-height:.94;text-shadow:0 8px 34px rgba(0,0,0,.5)}
.award-v2 .flagship-card:not(.flagship-card--carmel) .flagship-meta strong{font-size: var(--step-5)}
.award-v2 .flagship-meta em{font-family:'Playfair Display',Georgia,serif;color:rgb(var(--case-accent));font-size: var(--step-1);margin-top:8px}
.award-v2 .flagship-card:nth-child(2) .flagship-index{left:auto;right:clamp(18px,2.4vw,34px)}
.award-v2 .flagship-card:nth-child(2) .flagship-action{right:auto;left:clamp(18px,2.4vw,34px)}
.award-v2 .flagship-card:nth-child(2) .flagship-meta{align-items:flex-end;text-align:right}
.award-v2 .flagship-rail{position:absolute;z-index:5;right:0;top:50%;width:clamp(92px,8.5vw,126px);display:grid;gap:22px;transform:translateY(-50%)}
.award-v2 .flagship-rail-item{position:relative;display:grid;grid-template-columns:24px 1fr;align-items:center;gap:10px;color:#9a9aa255e;font-size: var(--step--1);letter-spacing:.12em;text-transform:uppercase;transition:color .45s,transform .45s}
.award-v2 .flagship-rail-item:before{content:"";position:absolute;left:34px;right:0;bottom:-9px;height:1px;background:rgba(244,244,242,.09);transform-origin:left}
.award-v2 .flagship-rail-item:after{content:"";position:absolute;left:34px;right:0;bottom:-9px;height:1px;background:rgb(var(--case-rail,158,122,189));transform:scaleX(0);transform-origin:left;transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.award-v2 .flagship-rail-item b{font-weight:700}.award-v2 .flagship-rail-item i{font-style:normal}
.award-v2 .flagship-rail-item.is-active{color:var(--award-paper);transform:translateX(-5px)}
.award-v2 .flagship-rail-item.is-active:after{transform:scaleX(1)}
.award-v2 .flagship-rail-item:nth-child(3){--case-rail:194,107,165}
.award-v2 .flagship-stage-counter,.award-v2 .flagship-stage-note{position:absolute;z-index:5;right:0;width:clamp(92px,8.5vw,126px);font-size: var(--step--1);letter-spacing:.15em;color:#72727a;text-transform:uppercase}
.award-v2 .flagship-stage-counter{top:0}.award-v2 .flagship-stage-counter b{color:var(--award-cyan);font-size: var(--step--1)}
.award-v2 .flagship-stage-note{bottom:0;writing-mode:vertical-rl;width:auto;right:clamp(40px,4vw,58px)}

/* Secondary portfolio: a denser living archive below the three flagships. */
.award-v2 .motion-archive{position:relative;width:min(1320px,100%);margin:clamp(150px,18vw,260px) auto 0;padding-top:clamp(54px,7vw,92px);border-top:1px solid rgba(244,244,242,.1);isolation:isolate}
.award-v2 .motion-archive:before{content:"MOTION";position:absolute;z-index:-1;top:-.2em;right:-.035em;font-family:Inter,Arial,sans-serif;font-size:clamp(7rem,18vw,18rem);font-weight:560;line-height:1;letter-spacing:-.09em;color:rgba(244,244,242,.018);pointer-events:none}
.award-v2 .motion-archive-head{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.72fr);gap:clamp(38px,8vw,120px);align-items:end;margin-bottom:clamp(50px,7vw,96px)}
.award-v2 .motion-archive-tag{display:block;margin-bottom:20px;color:var(--award-cyan);font-size: var(--step--1);font-weight:700;letter-spacing:.18em}
.award-v2 .motion-archive-head h3{margin:0;font-family:Inter,Arial,sans-serif;font-size: var(--step-5);font-weight:480;letter-spacing:-.064em;line-height:.85;color:var(--award-paper)}
.award-v2 .motion-archive-head h3 em{font-family:'Playfair Display',Georgia,serif;font-weight:400;color:var(--award-magenta);text-shadow:0 0 34px rgba(194,107,165,.12)}
.award-v2 .motion-archive-head p{max-width:580px;margin:0;color:#9a9aa2;font-size: var(--step-1);line-height:1.7}
.award-v2 .motion-archive-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:4px;gap:clamp(12px,1.25vw,18px)}
.award-v2 .motion-card{--archive-accent:158,122,189;--spot-x:50%;--spot-y:50%;--tilt-x:0deg;--tilt-y:0deg;position:relative;grid-column:span 3;grid-row:span 22;display:block;min-width:0;min-height:300px;margin:0;padding:0;overflow:hidden;border:1px solid rgba(var(--archive-accent),.14);background:#0a0a0e;color:#fff;text-align:left;cursor:pointer;isolation:isolate;clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,0 100%);opacity:0;transform:translate3d(0,42px,0) scale(.965);transition:opacity .72s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1),border-color .45s,box-shadow .45s;transition-delay:calc(var(--archive-order) * 45ms)}
.award-v2 .motion-card:nth-child(even){clip-path:polygon(26px 0,100% 0,100% 100%,0 100%,0 26px)}
.award-v2 .motion-card:nth-child(3n){--archive-accent:194,107,165}
.award-v2 .motion-card:nth-child(1){grid-column:span 4;grid-row:span 20}
.award-v2 .motion-card:nth-child(2){grid-column:span 3;grid-row:span 20}
.award-v2 .motion-card:nth-child(3){grid-column:span 5;grid-row:span 20}
.award-v2 .motion-card:nth-child(4){grid-column:span 3;grid-row:span 22}
.award-v2 .motion-card:nth-child(5){grid-column:span 4;grid-row:span 22}
.award-v2 .motion-card:nth-child(6){grid-column:span 5;grid-row:span 22}
.award-v2 .motion-card:nth-child(7){grid-column:span 4;grid-row:span 20}
.award-v2 .motion-card:nth-child(8){grid-column:span 3;grid-row:span 20}
.award-v2 .motion-card:nth-child(9){grid-column:span 5;grid-row:span 20}
.award-v2 .motion-card.is-seen{opacity:1;transform:translate3d(0,0,0) scale(1)}
.award-v2 .motion-card-media{position:absolute;inset:0;z-index:0;display:block;overflow:hidden;transform:perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(1.025);transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.award-v2 .motion-card-media img,.award-v2 .motion-card-media video{position:absolute;inset:-2%;width:104%;height:104%;object-fit:cover;transition:opacity .45s,transform 1s cubic-bezier(.2,.8,.2,1),filter .55s}
.award-v2 .motion-card-media img{opacity:1;filter:saturate(.78) brightness(.72)}
.award-v2 .motion-card-media video{opacity:0;filter:saturate(.92) brightness(.76)}
.award-v2 .motion-card.is-previewing .motion-card-media img{opacity:0}
.award-v2 .motion-card.is-previewing .motion-card-media video{opacity:1}
.award-v2 .motion-card-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,3,5,.02) 24%,rgba(3,3,7,.9) 100%),linear-gradient(120deg,rgba(var(--archive-accent),.08),transparent 45%);transition:background .45s}
.award-v2 .motion-card:before{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;border:1px solid rgba(244,244,242,.045);box-shadow:inset 0 0 0 1px rgba(var(--archive-accent),.025)}
.award-v2 .motion-card:after{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:radial-gradient(circle 190px at var(--spot-x) var(--spot-y),rgba(var(--archive-accent),.16),transparent 70%);opacity:0;transition:opacity .35s}
.award-v2 .motion-card-index{position:absolute;z-index:4;top:clamp(15px,1.7vw,24px);left:clamp(15px,1.7vw,24px);display:flex;align-items:center;gap:8px;color:#c9c9ce;font-size: var(--step--1);font-weight:700;letter-spacing:.16em}
.award-v2 .motion-card-index:before{content:"";width:5px;height:5px;border-radius:50%;background:rgb(var(--archive-accent));box-shadow:0 0 12px rgba(var(--archive-accent),.7)}
.award-v2 .motion-card.is-previewing .motion-card-index:before{animation:gmx-archive-pulse 1.1s ease-in-out infinite}
@keyframes gmx-archive-pulse{50%{opacity:.35;transform:scale(.72)}}
.award-v2 .motion-card-copy{position:absolute;z-index:4;left:clamp(17px,2vw,30px);right:clamp(17px,2vw,30px);bottom:clamp(17px,2vw,30px);display:flex;flex-direction:column;align-items:flex-start;pointer-events:none}
.award-v2 .motion-card-copy small{margin-bottom:8px;color:#c9c9ce;font-size: var(--step--1);letter-spacing:.15em}
.award-v2 .motion-card-copy strong{max-width:12ch;font-family:Inter,Arial,sans-serif;font-size: var(--step-3);font-weight:490;letter-spacing:-.055em;line-height:.92;text-shadow:0 8px 30px rgba(0,0,0,.55)}
.award-v2 .motion-card-copy em{display:inline-flex;align-items:center;min-height:30px;margin-top:14px;color:rgb(var(--archive-accent));font-family:Inter,Arial,sans-serif;font-size: var(--step--1);font-style:normal;font-weight:700;letter-spacing:.16em;opacity:.75;transform:translateX(0);transition:opacity .35s,transform .35s}
.award-v2 .motion-card.is-seen:hover,.award-v2 .motion-card.is-seen:focus-visible{border-color:rgba(var(--archive-accent),.48);box-shadow:0 24px 70px rgba(0,0,0,.42),0 0 48px rgba(var(--archive-accent),.07);transform:translate3d(0,-5px,0) scale(1.008);transition-delay:0ms}
.award-v2 .motion-card:hover:after,.award-v2 .motion-card:focus-visible:after{opacity:1}
.award-v2 .motion-card:hover .motion-card-media img,.award-v2 .motion-card:hover .motion-card-media video{transform:scale(1.035);filter:saturate(1) brightness(.82)}
.award-v2 .motion-card:hover .motion-card-copy em,.award-v2 .motion-card:focus-visible .motion-card-copy em{opacity:1;transform:translateX(5px)}
.award-v2 .motion-archive-footer{display:flex;justify-content:space-between;gap:24px;margin-top:26px;padding-top:18px;border-top:1px solid rgba(244,244,242,.07);color:#9a9aa266e;font-size: var(--step--1);letter-spacing:.15em}
.award-v2 .client-logos-strip{display:none}

.award-v2 .gmx-proof-section{padding:clamp(90px,12vw,160px) clamp(22px,5vw,80px);background:rgba(5,5,8,.94)!important;border-top:1px solid rgba(158,122,189,.1);border-bottom:1px solid rgba(194,107,165,.08)}
/* gap era 9vw: crescia com a tela enquanto o container ficava travado em
   1320px, entao o vao comia a segunda coluna (172px em 1920). E trilhas fr tem
   minimo automatico de min-content — o titulo de display, largo, estrangulava
   os cards ate 91px, com uma palavra por linha. minmax(0,...) deixa o titulo
   quebrar e minmax(320px,...) garante a coluna dos cards. */
/* Duas correcoes na mesma regra:
   1) o gap era 9vw e crescia com a tela enquanto o container ficava travado em
      1320px — o vao comia a coluna dos cards ate 91px de largura;
   2) na primeira tentativa dei 1.15fr aos cards e a conta virou ao contrario:
      a coluna do titulo caiu para 530px e "transformacao" em 152px (~950px de
      largura) passava por baixo dos cards. O texto de display manda aqui, entao
      a proporcao favorece a copy e os cards ficam com um minimo garantido. */
.award-v2 .proof-wrapper{max-width:1320px;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:clamp(32px,4vw,72px);align-items:start}
.award-v2 .proof-copy h2{font-size: var(--step-5);color:#f4f4f2}
.award-v2 .proof-copy p{color:#9a9aa2;max-width:600px}
.award-v2 .proof-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.award-v2 .metric{padding:clamp(24px,3vw,38px);border-radius:20px;border:1px solid rgba(244,244,242,.1);background:linear-gradient(145deg,rgba(18,18,24,.78),rgba(8,8,11,.74));box-shadow:none}
.award-v2 .metric:hover{transform:translateY(-4px);border-color:rgba(158,122,189,.34);box-shadow:0 20px 60px rgba(158,122,189,.06)}
.award-v2 .metric:nth-child(even):hover{border-color:rgba(194,107,165,.34);box-shadow:0 20px 60px rgba(194,107,165,.055)}
.award-v2 .metric h3{font-family:Inter,Arial,sans-serif;font-size: var(--step-2);letter-spacing:-.03em;background:linear-gradient(90deg,var(--award-cyan),var(--award-magenta));background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.award-v2 .metric p{color:#9a9aa2;font-size: var(--step-0);line-height:1.55}

.award-v2 .traj-header-sub{color:#9a9aa2}
.award-v2 .gmx-qualification,.award-v2 .gmx-faq,.award-v2 .gmx-manifesto{background:rgba(10,10,14,.94)!important}
.award-v2 .application-form{background:#050505}
.award-v2 .form-container{border:1px solid rgba(158,122,189,.15);box-shadow:0 35px 100px rgba(0,0,0,.28);background:rgba(14,14,18,.7)}
.award-v2 .submit-btn{background:linear-gradient(100deg,#a478c9,#d9bdea);color:#050505;border-color:var(--award-cyan)}
.award-v2 .submit-btn:hover{background:linear-gradient(100deg,#a478c9,var(--award-magenta));border-color:var(--award-magenta);box-shadow:0 0 40px rgba(158,122,189,.18)}
.award-v2 .custom-select-trigger:focus-visible,.award-v2 .floating-input input:focus,.award-v2 .floating-input textarea:focus{border-color:var(--award-cyan)!important;box-shadow:0 0 0 3px rgba(158,122,189,.12)!important}
.award-v2 .gmx-footer-premium{background:#050505}

.award-v2 .video-modal,.award-v2 .service-modal{backdrop-filter:blur(18px)}
.award-v2 .close-btn,.award-v2 .service-close-btn,.award-v2 .lgpd-accept,.award-v2 .lgpd-reject{min-width:44px;min-height:44px}

/* Small interface labels stay legible without competing with the artwork. */
.award-v2 .flagship-rail-item{color:#9a9aa2;font-size: var(--step--1)}
.award-v2 .flagship-stage-counter,.award-v2 .flagship-stage-note{color:#9a9aa2;font-size: var(--step--1)}
.award-v2 .motion-archive-footer{color:#9a9aa2;font-size: var(--step--1)}
.award-v2 .web-showcase-tab{color:#9a9aa2}
.award-v2 .web-showcase-tab span{color:#9a9aa2780;font-size: var(--step--1)}
.award-v2 .web-showcase-tab em{color:#7f7f88;font-size: var(--step--1)}
.award-v2 .web-showcase-stage:after{font-size: var(--step--1)}
.award-v2 .web-showcase-chrome,.award-v2 .web-showcase-caption small,.award-v2 .immersive-web-foot{color:#85858e;font-size: var(--step--1)}
.award-v2 .client-roster-head{color:#85858e;font-size: var(--step--1)}
.award-v2 .client-mark span{color:#7d7d86;font-size: var(--step--1)}
.award-v2 .client-mark em{color:#85858e;font-size: var(--step--1)}

@media (max-width:900px){
  .award-v2 .about-gmx{grid-template-columns:1fr}
  .award-v2 .proof-wrapper{grid-template-columns:1fr;gap:50px}
  .award-v2 .tec-wrapper{grid-template-columns:1fr}
  .award-v2 .flagship-grid{height:auto;width:100%}
  .award-v2 .flagship-grid:before{content:"DESLIZE PARA EXPLORAR  →";display:block;margin:0 4px 14px;color:#707078;font-size: var(--step--1);letter-spacing:.16em;text-align:right}
  html[lang^="en"] .award-v2 .flagship-grid:before{content:"SWIPE TO EXPLORE  →"}
  .award-v2 .flagship-stage{position:relative;top:auto;height:auto;min-height:0;display:grid;grid-auto-flow:column;grid-auto-columns:min(84vw,620px);gap:14px;overflow-x:auto;overflow-y:hidden;padding:0 4px 24px;scroll-snap-type:x mandatory;scroll-padding-inline:4px;overscroll-behavior-inline:contain;scrollbar-width:none}
  .award-v2 .flagship-stage::-webkit-scrollbar{display:none}
  .award-v2 .flagship-stage:before,.award-v2 .flagship-rail,.award-v2 .flagship-stage-counter,.award-v2 .flagship-stage-note{display:none}
  .award-v2 .flagship-card,.award-v2 .flagship-stage:not(.is-ready) .flagship-card:first-child,.award-v2 .flagship-card.is-active,.award-v2 .flagship-card.is-before,.award-v2 .flagship-card.is-after{position:relative;inset:auto;z-index:1;display:block;height:min(72svh,680px);min-height:520px;opacity:1;pointer-events:auto;transform:none;scroll-snap-align:center;scroll-snap-stop:always}
  .award-v2 .flagship-card.is-active:hover{transform:none}
  .award-v2 .flagship-card:before{font-size:clamp(9rem,34vw,16rem)}
  .award-v2 .flagship-card:after{display:none}
  .award-v2 .flagship-card:not(.flagship-card--carmel) .flagship-meta strong{font-size: var(--step-5)}
  .award-v2 .motion-archive{margin-top:clamp(110px,16vw,160px)}
  .award-v2 .motion-archive-head{grid-template-columns:1fr;gap:28px}
  .award-v2 .motion-archive-head p{max-width:640px}
  .award-v2 .motion-archive-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
  .award-v2 .motion-card,.award-v2 .motion-card:nth-child(n){grid-column:span 3;grid-row:span 22;min-height:0}
  .award-v2 .motion-card:nth-child(1),.award-v2 .motion-card:nth-child(4),.award-v2 .motion-card:nth-child(7){grid-column:span 6;grid-row:span 18}
  .award-v2 .motion-card-copy strong{font-size: var(--step-4)}
}

@media (min-width:681px) and (max-width:1100px){
  .award-v2 .hero-title{font-size: var(--step-5);letter-spacing:-.055em}
  .award-v2 .hero-content{padding-left:clamp(34px,6vw,64px);padding-right:clamp(34px,6vw,64px)}
}

@media (max-width:680px){
  /* Mobile opens immediately; the full loading ritual remains on desktop. */
  .award-v2 .gmx-loader{display:none!important}
  .award-v2 .gmx-header .reveal-up,
  .award-v2 .pure-hero .hero-anim,
  .award-v2 .pure-hero .reveal-up,
  .award-v2 .pure-hero .hero-line{opacity:1!important;transform:none!important}
  .award-v2 .pure-hero .hero-line{overflow:visible!important}
  .award-v2 .pure-hero{background:
    radial-gradient(ellipse 72% 46% at 18% 34%,rgba(158,122,189,.18),transparent 68%),
    radial-gradient(ellipse 82% 58% at 84% 72%,rgba(0,132,190,.14),transparent 70%),
    radial-gradient(circle at 52% 48%,rgba(158,122,189,.07),transparent 46%),
    #050505;background-size:145% 145%,155% 155%,120% 120%,auto;animation:gmx-mobile-atmosphere 12s ease-in-out infinite alternate}
  .award-v2 .pure-hero:before{background:
    radial-gradient(ellipse 54% 24% at 20% 52%,rgba(158,122,189,.12),transparent 72%),
    radial-gradient(ellipse 48% 22% at 82% 38%,rgba(150,110,180,.1),transparent 74%);animation:gmx-mobile-smoke 9s ease-in-out infinite alternate}
  .award-v2 .gmx-header{padding-left:18px;padding-right:18px}
  .award-v2 .gmx-logo img{width:54px;height:54px}
  .award-v2 .hero-title{font-size: var(--step-5)}
  .award-v2 .hero-content{padding-top:120px;padding-bottom:70px}
  .award-v2 .hero-ctas{width:100%}.award-v2 .hero-cta{width:100%}
  .award-v2 .showreel-note{align-items:flex-start;flex-direction:column}
  .award-v2 .showreel-container{min-height:72svh}
  .award-v2 .about-left{min-height:310px}
  .award-v2 .flagship-stage{grid-auto-columns:88vw}
  .award-v2 .flagship-card,.award-v2 .flagship-card--carmel{height:68svh;min-height:480px}
  .award-v2 .flagship-action{max-width:48%;line-height:1.35;text-align:center}
  .award-v2 .motion-archive{margin-top:100px;padding-top:48px}
  .award-v2 .motion-archive:before{font-size:36vw;top:.1em}
  .award-v2 .motion-archive-head{margin-bottom:38px}
  .award-v2 .motion-archive-head h3{font-size: var(--step-4)}
  .award-v2 .motion-archive-head p{font-size: var(--step-0)}
  .award-v2 .motion-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:4px;gap:10px}
  .award-v2 .motion-card,.award-v2 .motion-card:nth-child(n){grid-column:span 1;grid-row:span 25;min-height:0}
  .award-v2 .motion-card:nth-child(1),.award-v2 .motion-card:nth-child(4),.award-v2 .motion-card:nth-child(7){grid-column:span 2;grid-row:span 18}
  .award-v2 .motion-card-copy{left:15px;right:15px;bottom:15px}
  .award-v2 .motion-card-copy small{font-size: var(--step--1);margin-bottom:6px}
  .award-v2 .motion-card-copy strong{font-size: var(--step-3)}
  .award-v2 .motion-card-copy em{margin-top:8px;font-size: var(--step--1)}
  .award-v2 .motion-card-index{top:14px;left:14px}
  .award-v2 .motion-archive-footer{align-items:flex-start;flex-direction:column;gap:8px}
  .award-v2 .proof-metrics{grid-template-columns:1fr}
  .award-v2 .metric{transform:none!important}
}
@keyframes gmx-mobile-atmosphere{from{background-position:0 0,100% 100%,50% 50%,0 0}to{background-position:14% 7%,86% 91%,54% 45%,0 0}}
@keyframes gmx-mobile-smoke{from{opacity:.48;transform:translate3d(-2%,1%,0) scale(1)}to{opacity:.82;transform:translate3d(3%,-2%,0) scale(1.08)}}

/* Qualification cards are dark on desktop and light on the compact layout. */
.award-v2 .qualification-wrapper .qualification-item h3,
.award-v2 .qualification-wrapper .promise-item h3{color:#f4f4f2!important}
.award-v2 .qualification-wrapper .qualification-item p,
.award-v2 .qualification-wrapper .promise-item p{color:#c9c9ce!important}
@media (max-width:680px){
  .award-v2 .qualification-wrapper .qualification-item h3,
  .award-v2 .qualification-wrapper .promise-item h3{color:#17181b!important}
  .award-v2 .qualification-wrapper .qualification-item p,
  .award-v2 .qualification-wrapper .promise-item p{color:#9a9aa264b!important}
}

/* The desktop opening gesture never waits for the animation runtime. */
@media (min-width:681px){
  .award-v2 .gmx-loader{animation:gmx-loader-auto-exit .9s .05s cubic-bezier(.76,0,.24,1) forwards}
  .award-v2 .hero-title.hero-anim{opacity:1!important;transform:none!important}
  .award-v2 .hero-title .hero-line{opacity:0;animation:gmx-hero-line-in .64s cubic-bezier(.16,1,.3,1) forwards}
  .award-v2 .hero-title .hero-line:nth-child(1){animation-delay:.12s}
  .award-v2 .hero-title .hero-line:nth-child(2){animation-delay:.18s}
}
@keyframes gmx-loader-auto-exit{0%,55%{clip-path:inset(0 0 0 0);opacity:1}100%{clip-path:inset(0 0 100% 0);opacity:1;visibility:hidden}}
@keyframes gmx-hero-line-in{from{opacity:0;transform:translate3d(0,46%,0)}to{opacity:1;transform:translate3d(0,0,0)}}

@media (prefers-reduced-motion:reduce){
  .award-v2 *,.award-v2 *::before,.award-v2 *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .award-v2 .showreel-bg{display:none!important}
  .award-v2 .tilt-effect,.award-v2 .metric{transform:none!important}
  .award-v2 .motion-card{opacity:1!important;transform:none!important}
  .award-v2 .motion-card-media{transform:none!important}
  .award-v2 .motion-card-media video{display:none!important}
}

/* Live digital-experience showcase — one real project loaded at a time. */
.award-v2 .immersive-web{position:relative;z-index:22;overflow:hidden;padding:clamp(110px,13vw,190px) clamp(22px,5vw,80px);background:#050505;border-top:1px solid rgba(158,122,189,.1);border-bottom:1px solid rgba(194,107,165,.08);isolation:isolate}
.award-v2 .immersive-web:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 84% 24%,rgba(158,122,189,.075),transparent 31%),radial-gradient(circle at 13% 76%,rgba(194,107,165,.055),transparent 28%)}
.award-v2 .immersive-web-ghost{position:absolute;z-index:-1;top:.05em;right:-.055em;font-family:Inter,Arial,sans-serif;font-size:clamp(10rem,24vw,25rem);font-weight:560;line-height:1;letter-spacing:-.1em;color:rgba(244,244,242,.018);pointer-events:none}
.award-v2 .immersive-web-head{width:min(1320px,100%);margin:0 auto clamp(52px,7vw,92px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.65fr);gap:clamp(38px,8vw,110px);align-items:end}
.award-v2 .immersive-web-tag{display:block;margin-bottom:20px;color:var(--award-cyan);font-size: var(--step--1);font-weight:700;letter-spacing:.18em}
.award-v2 .immersive-web-head h2{margin:0;color:var(--award-paper);font-family:Inter,Arial,sans-serif;font-size: var(--step-5);font-weight:480;letter-spacing:-.064em;line-height:.88}
.award-v2 .immersive-web-head h2 em{display:inline-block;color:var(--award-magenta);font-family:'Playfair Display',Georgia,serif;font-weight:400;text-shadow:0 0 38px rgba(194,107,165,.12)}
.award-v2 .immersive-web-head p{max-width:560px;margin:0;color:#9a9aa2;font-size: var(--step-1);line-height:1.72}
.award-v2 .web-showcase-shell{width:min(1320px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(250px,.31fr) minmax(0,1fr);gap:clamp(18px,2vw,30px);align-items:stretch}
.award-v2 .web-showcase-tabs{display:grid;align-content:stretch;border-top:1px solid rgba(244,244,242,.1)}
.award-v2 .web-showcase-tab{position:relative;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;align-content:center;gap:4px 10px;width:100%;min-height:122px;padding:22px 20px;border:0;border-bottom:1px solid rgba(244,244,242,.1);background:transparent;color:#9a9aa2;text-align:left;cursor:pointer;transition:color .4s,background .4s,padding-left .4s}
.award-v2 .web-showcase-tab:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(var(--award-cyan),var(--award-magenta));transform:scaleY(0);transform-origin:top;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.award-v2 .web-showcase-tab span{grid-row:1/3;color:#9a9aa2;font-size: var(--step--1);font-weight:700;letter-spacing:.16em;transition:color .4s}
.award-v2 .web-showcase-tab strong{color:inherit;font-family:Inter,Arial,sans-serif;font-size: var(--step-2);font-weight:520;letter-spacing:-.035em;line-height:1.05}
.award-v2 .web-showcase-tab em{font-style:normal;font-size: var(--step--1);letter-spacing:.14em;text-transform:uppercase;color:#9a9aa2;transition:color .4s}
.award-v2 .web-showcase-tab:hover,.award-v2 .web-showcase-tab:focus-visible{color:#d7d7da;background:rgba(244,244,242,.025);padding-left:26px}
.award-v2 .web-showcase-tab.is-active{color:var(--award-paper);background:linear-gradient(90deg,rgba(158,122,189,.075),transparent)}
.award-v2 .web-showcase-tab.is-active:before{transform:scaleY(1)}
.award-v2 .web-showcase-tab.is-active span,.award-v2 .web-showcase-tab.is-active em{color:var(--award-cyan)}
.award-v2 .web-showcase-stage{position:relative;min-width:0;overflow:hidden;border:1px solid rgba(158,122,189,.16);background:#0a0a0e;box-shadow:0 40px 120px rgba(0,0,0,.48),0 0 70px rgba(158,122,189,.035);clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,30px 100%,0 calc(100% - 30px))}
.award-v2 .web-showcase-stage:after{content:"CARREGANDO EXPERIÊNCIA";position:absolute;z-index:8;top:50%;left:50%;display:flex;align-items:center;justify-content:center;min-height:40px;padding:0 18px;border:1px solid rgba(158,122,189,.24);border-radius:999px;background:rgba(4,5,7,.82);backdrop-filter:blur(14px);color:var(--award-cyan);font-size: var(--step--1);font-weight:700;letter-spacing:.15em;transform:translate(-50%,-40%);opacity:0;pointer-events:none;transition:opacity .3s,transform .4s}
html[lang^="en"] .award-v2 .web-showcase-stage:after{content:"LOADING EXPERIENCE"}
.award-v2 .web-showcase-stage.is-switching:after{opacity:1;transform:translate(-50%,-50%)}
.award-v2 .web-showcase-stage.is-switching .web-showcase-viewport{opacity:.28;transform:scale(.985)}
.award-v2 .web-showcase-chrome{height:43px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 18px;border-bottom:1px solid rgba(244,244,242,.08);color:#9a9aa2;font-size: var(--step--1);letter-spacing:.14em;text-transform:uppercase}
.award-v2 .web-showcase-chrome>span:last-child{text-align:right}
.award-v2 .web-showcase-live{display:flex;align-items:center;gap:8px;color:#9a9aa2}.award-v2 .web-showcase-live i{width:5px;height:5px;border-radius:50%;background:var(--award-cyan);box-shadow:0 0 12px rgba(158,122,189,.7);animation:gmx-web-live 1.4s ease-in-out infinite}
@keyframes gmx-web-live{50%{opacity:.32;transform:scale(.72)}}
.award-v2 .web-showcase-viewport{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(145deg,#10131a,#050505);opacity:1;transform:scale(1);transition:opacity .38s,transform .55s cubic-bezier(.2,.8,.2,1)}
.award-v2 .web-showcase-viewport iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#0a0a0e;pointer-events:none}
.award-v2 .web-showcase-scan{position:absolute;z-index:2;left:0;right:0;height:1px;top:0;background:linear-gradient(90deg,transparent,var(--award-cyan),transparent);box-shadow:0 0 18px rgba(158,122,189,.45);opacity:.5;animation:gmx-web-scan 6s ease-in-out infinite;pointer-events:none}
@keyframes gmx-web-scan{0%,12%{transform:translateY(0);opacity:0}22%{opacity:.55}70%{transform:translateY(52vw);opacity:.18}100%{transform:translateY(52vw);opacity:0}}
.award-v2 .web-showcase-caption{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px clamp(18px,2.2vw,30px);border-top:1px solid rgba(244,244,242,.08)}
.award-v2 .web-showcase-caption div{display:flex;flex-direction:column;gap:4px}.award-v2 .web-showcase-caption small{color:#9a9aa2;font-size: var(--step--1);letter-spacing:.15em}.award-v2 .web-showcase-caption strong{color:var(--award-paper);font-family:Inter,Arial,sans-serif;font-size: var(--step-2);font-weight:500;letter-spacing:-.035em}
.award-v2 .web-showcase-caption a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border:1px solid rgba(158,122,189,.3);border-radius:999px;color:var(--award-cyan);font-size: var(--step--1);font-weight:700;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:color .35s,background .35s,border-color .35s,transform .35s}
.award-v2 .web-showcase-caption a:hover,.award-v2 .web-showcase-caption a:focus-visible{color:#030405;background:var(--award-cyan);border-color:var(--award-cyan);transform:translateY(-2px)}
.award-v2 .immersive-web-foot{width:min(1320px,100%);margin:24px auto 0;display:flex;justify-content:space-between;gap:20px;color:#9a9aa2;font-size: var(--step--1);letter-spacing:.15em}
.award-v2.web-showcase-in-view .section-indicator,.award-v2.web-showcase-in-view .gmx-floating-cta,.award-v2.web-showcase-in-view .back-to-top,.award-v2.web-showcase-in-view .scroll-progress-ring,.award-v2.web-showcase-in-view .wa-fab{opacity:0!important;pointer-events:none!important}
.award-v2.tech-stage-in-view .section-indicator,.award-v2.tech-stage-in-view .gmx-floating-cta,.award-v2.tech-stage-in-view .back-to-top,.award-v2.tech-stage-in-view .scroll-progress-ring,.award-v2.tech-stage-in-view .wa-fab{opacity:0!important;pointer-events:none!important}
.award-v2.client-roster-in-view .section-indicator,.award-v2.client-roster-in-view .gmx-floating-cta,.award-v2.client-roster-in-view .back-to-top,.award-v2.client-roster-in-view .scroll-progress-ring,.award-v2.client-roster-in-view .wa-fab{opacity:0!important;pointer-events:none!important}

/* Client roster: typographic marks until official brand assets are supplied. */
.award-v2 .client-roster{width:min(1320px,calc(100% - 44px));margin:clamp(55px,7vw,90px) auto clamp(80px,10vw,135px);border-top:1px solid rgba(244,244,242,.1)}
.award-v2 .client-roster-head{display:flex;justify-content:space-between;gap:24px;padding:18px 0 24px;color:#696970;font-size: var(--step--1);letter-spacing:.14em;text-transform:uppercase}.award-v2 .client-roster-head p{margin:0;letter-spacing:.06em;text-transform:none}
.award-v2 .client-roster-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid rgba(244,244,242,.08);border-left:1px solid rgba(244,244,242,.08)}
.award-v2 .client-mark{position:relative;min-height:190px;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;overflow:hidden;border-right:1px solid rgba(244,244,242,.08);border-bottom:1px solid rgba(244,244,242,.08);background:linear-gradient(145deg,rgba(19,19,24,.72),rgba(7,7,10,.72));opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1),background .45s,border-color .45s;transition-delay:calc(var(--client-order) * 65ms)}
.award-v2 .client-mark:before{content:"";position:absolute;inset:auto -20% -45% 25%;height:100%;background:radial-gradient(circle,rgba(158,122,189,.11),transparent 68%);opacity:0;transition:opacity .45s,transform .6s;transform:translateY(16px)}
.award-v2 .client-mark:nth-child(3n):before,.award-v2 .client-mark:nth-child(5n):before{background:radial-gradient(circle,rgba(194,107,165,.1),transparent 68%)}
.award-v2 .client-mark.is-seen{opacity:1;transform:translateY(0)}
.award-v2 .client-mark:hover{background:linear-gradient(145deg,rgba(22,24,30,.9),rgba(9,9,13,.88));border-color:rgba(158,122,189,.22)}.award-v2 .client-mark:hover:before{opacity:1;transform:translateY(0)}
.award-v2 .client-mark span{position:absolute;top:17px;left:20px;color:#9a9aa2;font-size: var(--step--1);letter-spacing:.14em}.award-v2 .client-mark strong{position:relative;color:#ececef;font-family:Inter,Arial,sans-serif;font-size: var(--step-2);font-weight:500;letter-spacing:-.045em;line-height:.98}.award-v2 .client-mark em{position:relative;margin-top:8px;color:#9a9aa2;font-size: var(--step--1);font-style:normal;letter-spacing:.12em;text-transform:uppercase}
.award-v2 .clients-roster-section{position:relative;padding:clamp(100px,12vw,170px) clamp(22px,5vw,80px);background:rgba(5,5,8,.95);border-top:1px solid rgba(158,122,189,.08)}
.award-v2 .clients-roster-title{width:min(1320px,100%);margin:0 auto clamp(44px,6vw,76px);display:grid;grid-template-columns:.25fr 1fr .65fr;gap:34px;align-items:end}.award-v2 .clients-roster-title>span{align-self:start;color:var(--award-cyan);font-size: var(--step--1);letter-spacing:.16em}.award-v2 .clients-roster-title h2{margin:0;color:var(--award-paper);font-family:Inter,Arial,sans-serif;font-size: var(--step-5);font-weight:480;letter-spacing:-.06em;line-height:.9}.award-v2 .clients-roster-title h2 em{font-family:'Playfair Display',Georgia,serif;color:var(--award-magenta);font-weight:400}.award-v2 .clients-roster-title p{margin:0;color:#9a9aa2;line-height:1.65}.award-v2 .clients-roster-section>.client-roster-grid{width:min(1320px,100%);margin:0 auto}

@media (max-width:900px){
  .award-v2 .immersive-web-head{grid-template-columns:1fr;gap:28px}
  .award-v2 .web-showcase-shell{grid-template-columns:1fr}
  .award-v2 .web-showcase-tabs{grid-template-columns:repeat(3,minmax(220px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-left:1px solid rgba(244,244,242,.1)}
  .award-v2 .web-showcase-tabs::-webkit-scrollbar{display:none}.award-v2 .web-showcase-tab{min-height:106px;scroll-snap-align:start;border-right:1px solid rgba(244,244,242,.1)}
  .award-v2 .client-roster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .award-v2 .clients-roster-title{grid-template-columns:1fr;gap:18px}.award-v2 .clients-roster-title>span{align-self:auto}
}
@media (max-width:680px){
  .award-v2 .hero-eyebrow{font-size: var(--step--1);letter-spacing:.14em;opacity:.84}
  .award-v2 .immersive-web{padding-top:92px;padding-bottom:96px}
  .award-v2 .immersive-web-head{margin-bottom:38px}.award-v2 .immersive-web-head h2{font-size: var(--step-4)}
  .award-v2 .web-showcase-tabs{grid-template-columns:repeat(3,minmax(230px,78vw))}
  .award-v2 .web-showcase-stage{clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px))}
  .award-v2 .web-showcase-chrome{grid-template-columns:1fr 1fr;padding:0 12px}.award-v2 .web-showcase-chrome>span:nth-child(2){display:none}
  .award-v2 .web-showcase-viewport{aspect-ratio:4/5;min-height:520px}
  .award-v2 .web-showcase-caption{align-items:flex-start;flex-direction:column}.award-v2 .web-showcase-caption a{width:100%}
  .award-v2 .immersive-web-foot{align-items:flex-start;flex-direction:column;gap:8px}
  .award-v2 .client-roster{width:calc(100% - 36px)}.award-v2 .client-roster-head{align-items:flex-start;flex-direction:column;gap:7px}
  .award-v2 .client-roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.award-v2 .client-mark{min-height:158px;padding:17px}.award-v2 .client-mark:last-child{grid-column:span 2}.award-v2 .client-mark strong{font-size: var(--step-2)}
}
@media (prefers-reduced-motion:reduce){.award-v2 .web-showcase-live i,.award-v2 .web-showcase-scan{animation:none!important}.award-v2 .client-mark{opacity:1!important;transform:none!important}}

/* =========================================================================
   ESCALA MOBILE — sistema próprio, não o desktop encolhido
   =========================================================================
   Problema que isto resolve: os clamp() do site têm PISO de tamanho desktop.
   clamp(3.2rem, 7.8vw, 8rem) nunca desce de 51px, porque em tela estreita
   quem vale é o piso. Resultado em 375px: títulos de 48–52px com line-height
   MENOR que o próprio corpo (52.5px de fonte com 44.6px de entrelinha), texto
   quebrando uma palavra por linha, e a página inteira com 24.896px — 30 telas.

   Aqui a escala é redefinida de baixo para cima, pensada para 375px:
   display 32px / lead 16px / corpo 15px, entrelinhas positivas, respiro
   proporcional à tela. Bloco isolado em max-width:768px — o desktop não muda.
   ========================================================================= */
@media (max-width: 768px) {

  /* ---- 1. DISPLAY: títulos de seção ------------------------------------
     32px cabe em ~2 palavras por linha nos 335px úteis, em vez de 1.
     line-height 1.1 (positivo) elimina a sobreposição das linhas.         */
  .award-v2 .hero-title,
  .award-v2 .section-title,
  .award-v2 .about-right .section-title,
  .award-v2 .portfolio-heading,
  .award-v2 .proof-copy h2,
  .award-v2 .tec-title,
  .award-v2 .manifesto-title,
  .award-v2 .form-title,
  .award-v2 #motion-archive-title,
  .award-v2 #criterios h2,
  .award-v2 #faq h2 {
    font-size: var(--step-3)!important;
    line-height: 1.1 !important;
    letter-spacing: -0.03em !important;
  }
  /* A hero é a única que pode gritar um pouco mais alto. */
  .award-v2 .hero-title {
    font-size: var(--step-3)!important;
    line-height: 1.06 !important;
  }

  /* ---- 2. LEAD e CORPO --------------------------------------------------
     Entrelinha de 1.70 inflava cada card em ~40px sem ganho de leitura.   */
  .award-v2 .section-desc,
  .award-v2 .hero-subtitle,
  .award-v2 .portfolio-drag-hint,
  .award-v2 .motion-archive-head p,
  .award-v2 .section-lead {
    font-size: var(--step-0)!important;
    line-height: 1.58 !important;
  }
  .award-v2 .bento-desc,
  .award-v2 .step-card p {
    font-size: var(--step-0)!important;
    line-height: 1.55 !important;
  }
  .award-v2 .bento-title,
  .award-v2 .step-card h3 {
    font-size: var(--step-1)!important;
    line-height: 1.3 !important;
    margin-bottom: 10px !important;
  }

  /* ---- 3. CAIXAS --------------------------------------------------------
     48px de padding vertical + 44px lateral num card de 335px sobrava
     249px de largura útil para o texto. 22px devolve 291px.               */
  .award-v2 .bento-card { padding: 26px 22px !important; }
  .award-v2 .step-card  { padding: 24px 22px !important; }

  /* ---- 4. RESPIRO ENTRE SEÇÕES -----------------------------------------
     Padding de 90–130px por seção é linguagem de desktop: no celular vira
     rolagem vazia. 52px mantém a separação sem custar meia tela.          */
  .award-v2 #sobre,
  .award-v2 #tecnologia,
  .award-v2 #portfolio,
  .award-v2 #experiencias-web,
  .award-v2 #impacto,
  .award-v2 #clientes,
  .award-v2 #criterios,
  .award-v2 #faq,
  .award-v2 #manifesto,
  .award-v2 #aplicacao,
  .award-v2 .portfolio-light-wrapper {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }

  /* ---- 5. LEITURA ------------------------------------------------------
     Texto corrido centralizado em coluna estreita cansa: a vista perde a
     margem esquerda a cada linha. Alinhado à esquerda, lê melhor.         */
  .award-v2 .portfolio-header,
  .award-v2 .portfolio-heading,
  .award-v2 .portfolio-drag-hint,
  .award-v2 .section-desc { text-align: left !important; }
  .award-v2 .portfolio-heading { max-width: none !important; }

  /* ---- 6. RÓTULOS DOS CARDS --------------------------------------------
     Em caixa alta com tracking largo, "GMX ENGINE • 3D & REALIDADE VIRTUAL"
     quebrava deixando "VIRTUAL" sozinho na segunda linha e desalinhando o "+"
     ao lado. Menos corpo e menos tracking devolvem o rótulo a uma linha.    */
  .award-v2 .bento-tag,
  .award-v2 .motion-card-copy small,
  .award-v2 .flagship-meta small {
    font-size: var(--step--1)!important;
    letter-spacing: .07em !important;
    line-height: 1.3 !important;
  }
  .award-v2 .bento-header { align-items: flex-start !important; gap: 12px !important; }

  /* ---- 7. TRAJETÓRIA DE CLIENTES ---------------------------------------
     Era a seção mais longa do site: 4.225px = 5,2 telas para mostrar 9 logos.
     O vão entre cards somava 876px sozinho — uma tela inteira de vazio — e
     cada card reservava 325px de altura mínima para um logo e uma linha de
     texto. No celular o trilho decorativo ainda comia 40px da largura.      */
  .award-v2 .traj-item { margin-bottom: 26px !important; }
  .award-v2 .traj-item--left,
  .award-v2 .traj-item--right { padding-left: 26px !important; }
  .award-v2 .traj-card { min-height: 0 !important; }
  .award-v2 .traj-card--has-logo { min-height: 186px !important; }
  /* O logo é posicionado em inset:0, ou seja, ocupa o card INTEIRO — inclusive
     as faixas do rótulo (topo) e do texto+link (base). Com 325px de altura
     sobrava folga; a 186px o logo centralizado passou a cobrir as duas. O
     padding aqui reserva essas faixas em vez de encolher o card de novo. */
  .award-v2 .traj-card-bg--light,
  .award-v2 .traj-card-bg--dark { padding: 44px 20px 64px !important; }

  /* ---- 8. EMENDA ENTRE SEÇÕES ------------------------------------------
     O padding de baixo de uma seção somava com o de cima da seguinte e criava
     vãos de ~280px — quase meia tela de nada entre o fim de um assunto e o
     começo do outro. */
  .award-v2 #sobre { padding-bottom: 30px !important; }
  .award-v2 #servicos { padding-top: 34px !important; padding-bottom: 34px !important; }
  .award-v2 #metodo { padding-top: 34px !important; padding-bottom: 34px !important; }
}

/* ============================================================
   ACESSIBILIDADE DE TOQUE — WCAG 2.5.5 (alvo mínimo 44×44)
   Auditoria GMX · 15/08/2026 · só padding e área, sem alterar
   tamanho de texto, cor ou posição visual.
============================================================ */
@media (pointer: coarse), (max-width: 900px) {
  .hamburger-btn{
    min-width:44px; min-height:44px;
    display:inline-flex; align-items:center; justify-content:center;
  }
  .mobile-nav-link{
    min-height:44px;
    display:flex; align-items:center;
  }
  .header-case-link.lang-switch{
    min-height:44px;
    display:inline-flex; align-items:center; justify-content:center;
  }
  .skip-link{ min-height:44px; display:inline-flex; align-items:center; }
  .close-btn{ min-height:44px; min-width:44px; }
  .traj-closer-cta,
  .lgpd-link,
  .flagship-action,
  .si-dot > .si-label{ min-height:44px; display:inline-flex; align-items:center; }
  /* links de texto corrido dentro de cards: aumenta a área sem mover o texto */
  .traj-card-cta,
  .motion-card-copy em,
  .web-showcase-live{ padding-block:12px; }

  /* alvos remanescentes identificados na 2ª medição */
  .header-case-link.lang-switch{ min-width:44px; }
  .showreel-note a{ min-height:44px; display:inline-flex; align-items:center; }
  .footer-col.links-col a{ min-height:44px; display:flex; align-items:center; }
  .footer-legal-links a{ min-height:44px; display:inline-flex; align-items:center; }
  .video-modal .close-btn{ min-height:44px !important; }
}

/* =========================================================================
   FECHAMENTO DA ESCALA TIPOGRÁFICA
   Elementos que escapavam do sistema — dois porque nunca tiveram regra de
   font-size e caíam no padrão do navegador, e os numerais decorativos, que
   agora compartilham um degrau próprio em vez de dois valores soltos.
   ========================================================================= */
:root{
  /* Marca d'água: não é texto, é desenho. Um degrau só para os dois usos. */
  --step-ghost: clamp(5rem, 13vw, 12rem);
}
/* <h2> sem regra caía em 24px do navegador */
.award-v2 .heading-lg{ font-size: var(--step-3); }
/* link de pular para o conteúdo — só aparece no foco */
.skip-link{ font-size: var(--step--1); }
.sec-ghost,
.award-v2 .immersive-web-ghost{ font-size: var(--step-ghost); }

/* --step-5 (152px) nao cabe nesta coluna; --step-4 cabe com folga. E a quebra
   forcada e a rede de seguranca para qualquer palavra longa em outro idioma. */
.award-v2 .proof-copy h2{font-size:var(--step-4);overflow-wrap:anywhere}

/* SOURCE / BUILT / REIMAGINED / DELIVERED sao rotulos de card, nao titulos de
   display: em --step-2 (34px) as duas palavras longas eram cortadas dentro de um
   card de ~228px. --step-1 cabe com folga e mantem a hierarquia. */
.award-v2 .metric h3{font-size:var(--step-1)}

/* ============================================================
   BLINDAGEM DE TRANSBORDO — auditoria 15/08/2026
   Títulos de display com palavra única e indivisível ("movimento.",
   "Timelapse") estouravam a própria coluna e invadiam o texto ao lado.
   O gap do grid disfarçava; com fallback de fonte, aparecia.
============================================================ */

/* 06.2 Motion Archive: teto de tamanho que cabe na coluna em
   qualquer fonte, do 1024 ao 2560, mais rede de segurança. */
.award-v2 .motion-archive-head h3{
  font-size: min(var(--step-5), 6.4rem);
  overflow-wrap: break-word;
  hyphens: auto;
  min-width: 0;
}
.award-v2 .motion-archive-head p{ min-width: 0; }

/* Cards do arquivo: "Timelapse" não cabia em 12ch no mobile. */
.award-v2 .motion-card-copy strong{
  overflow-wrap: break-word;
  min-width: 0;
}
@media (max-width: 480px){
  .award-v2 .motion-card-copy strong{ max-width: 100%; font-size: var(--step-2); }
}

/* Rede de segurança geral para títulos de display */
.award-v2 .section-title,
.award-v2 .portfolio-heading,
.award-v2 .tec-title,
.award-v2 .immersive-web-head h2,
.award-v2 .clients-roster-title h2,
.award-v2 .hero-title{ overflow-wrap: break-word; min-width: 0; }

/* .traj-card-footer é flex com space-between e largura fixa: quando a
   tag da esquerda + o CTA da direita somam mais que o card, o último
   item era empurrado para fora. Passa a quebrar em vez de transbordar. */
.traj-card-footer{ flex-wrap: wrap; gap: 10px 16px; }
.traj-card-footer > *{ min-width: 0; }
/* HUD do GMX Engine: o tracking da última letra somava alguns px. */
.tec-hud .is-active, .tec-hud span{ letter-spacing: .12em; }
.tec-hud{ padding-right: .5em; }

/* ============================================================
   BANNER LGPD — compactação no mobile
   Ocupava ~25% da tela em 390×844 e o botão de aceite era o
   elemento gráfico mais forte da página, competindo com o CTA real.
============================================================ */
@media (max-width: 720px){
  .lgpd-content{ flex-direction: row; align-items: center; text-align: left; gap: 12px; flex-wrap: wrap; }
  .lgpd-content > p, .lgpd-content > div:first-child{ flex: 1 1 100%; font-size: var(--step--1); line-height: 1.5; }
  .lgpd-actions{ justify-content: flex-start; gap: 10px; width: 100%; }
  .lgpd-banner{ padding-block: 12px; }
  .lgpd-accept, .lgpd-reject{ flex: 1 1 0; min-height: 44px; }
}
/* O aceite não deve ter o mesmo peso gráfico do CTA principal. */
.lgpd-accept{ background: rgba(244,244,242,.92) !important; color: #050505 !important; background-image: none !important; }
.lgpd-accept:hover{ background: #ffffff !important; }

/* Últimos dois alvos de toque abaixo do mínimo */
@media (pointer: coarse), (max-width: 900px){
  .footer-col.links-col a{ min-width: 44px; }
  .video-modal .close-btn{ min-height: 44px !important; padding-block: 10px; }
}

/* ============================================================
   CARDS DE CLIENTE COM LOGO — legibilidade
   O logo é uma camada absoluta que preenche o card inteiro e o
   texto fica por cima. Sem véu, a copy some sobre logos claros
   (Rocha Riva, Carmel). O Rocha Riva ainda usava object-fit:cover,
   que sangra até a borda e piora tudo.
============================================================ */
.traj-card--has-logo{ position: relative; isolation: isolate; }

/* opacity é animada pelo GSAP na entrada e volta para 1; filter não é
   tocado, então o esmaecimento fica estável. */
.traj-card--has-logo > img,
.traj-card--has-logo img[src*="logo"]{
  object-fit: contain !important;
  filter: saturate(.5) brightness(.42) contrast(.92);
  z-index: 0;
}

/* Véu de contraste entre o logo e o texto */
.traj-card--has-logo::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(5,5,5,.55) 0%, rgba(5,5,5,.46) 42%, rgba(5,5,5,.86) 100%),
    radial-gradient(120% 90% at 50% 45%, rgba(5,5,5,0) 0%, rgba(5,5,5,.55) 100%);
}

/* Texto sempre acima do véu */
.traj-card--has-logo > *:not(img){ position: relative; z-index: 2; }

/* No hover o logo respira, sem perder a leitura */
.traj-card--has-logo:hover > img,
.traj-card--has-logo:hover img[src*="logo"]{ filter: saturate(.85) brightness(.62) contrast(.96); }

/* Mesma proteção para os cards com foto (não só os de logo) */
.traj-card{ position: relative; isolation: isolate; }
.traj-card:not(.traj-card--has-logo)::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background: linear-gradient(180deg, rgba(5,5,5,.62) 0%, rgba(5,5,5,.34) 45%, rgba(5,5,5,.88) 100%);
}
.traj-card:not(.traj-card--has-logo) > img,
.traj-card:not(.traj-card--has-logo) > video{ filter: brightness(.72) saturate(.9); z-index:0; }
.traj-card > *:not(img):not(video){ position: relative; z-index: 2; }
.traj-card:hover:not(.traj-card--has-logo) > img{ filter: brightness(.86) saturate(1); }
