/* ==========================================================
   Subpáginas — secções e layout (réplica da estrutura do mdx.so)
   Escala do original: 1rem = 0,5vw  →  Xrem = (X/2)vw
   ========================================================== */
:root { --ink: #101820; --ink2: #334049; --ink3: #5b6871; --gray: #8a8f8d; --line2: #d0d2d1; --orange: #ff8200;
  --gap-heading: 2vw; --gap-container: 6vw; }

/* tipografia partilhada */
.tag { display: inline-flex; align-items: center; justify-content: center; color: var(--ink2); font-family: var(--font-ui); font-size: clamp(11px, .75vw, 16px); font-weight: 400; border-radius: 30px; border: 1px solid var(--ink2); padding: .6vw .7vw; width: fit-content; line-height: 1.2; white-space: nowrap; }
.tag--light { color: var(--line2); border-color: var(--line2); }
.tag--gray { color: var(--gray); border-color: var(--gray); }
.h-xl { color: var(--ink); font-size: clamp(34px, 5.2vw, 110px); font-weight: 300; line-height: 1.12; letter-spacing: -.035em; }
.h-xl b, .h-xl strong { font-weight: 600; }
.p-md { color: var(--gray); font-family: var(--font-ui); font-size: clamp(14px, .95vw, 20px); line-height: 1.3; }
.p-md b, .p-md strong { color: var(--ink); font-weight: 400; }
.p-lg { color: var(--ink3); font-family: var(--font-ui); font-size: clamp(15px, 1.2vw, 24px); line-height: 1.4; }
.p-lg b { color: var(--ink2); font-weight: 400; }
.body-page { background: #fff; }
.body-page main { position: relative; z-index: 1; }

/* ecrã de carregamento (igual às subpáginas do original) */
.loading-screen { position: fixed; inset: 0; z-index: 9999; background: #000; display: grid; place-items: center; }
.loading-screen__logo { display: flex; align-items: center; gap: 2vw; color: #fff; }
.loading-screen__logo > span { display: inline-block; opacity: 0; background: currentColor; -webkit-mask: no-repeat center / contain; mask: no-repeat center / contain; }
.loading-screen__icon { width: min(17vw, 160px); height: min(17vw, 160px); -webkit-mask-image: url(brand/icon-mask.png); mask-image: url(brand/icon-mask.png); }
.loading-screen__word { width: min(52vw, 520px); height: calc(min(52vw, 520px) * 468 / 2190); -webkit-mask-image: url(brand/logo-mask.png); mask-image: url(brand/logo-mask.png); }

/* links "voltar" */
.back-link { display: inline-flex; align-items: center; gap: 12px; color: var(--ink); font-family: var(--font-ui); font-size: clamp(14px, .85vw, 18px); }
.back-link i { width: 16px; height: 11px; overflow: hidden; display: inline-block; position: relative; }
.back-link i::before { content: "←"; position: absolute; left: 0; top: -4px; color: var(--orange); transition: transform .6s cubic-bezier(.625,.05,0,1); }
.back-link:hover i::before { transform: translateX(-4px); }

/* máscara das linhas partidas (split) */
.split-line { display: block; overflow: hidden; padding-bottom: .08em; margin-bottom: -.08em; }
.split-line > span { display: block; }
.split-word { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .1em; margin-bottom: -.1em; }
.split-word > span { display: inline-block; }
.split-cw { display: inline-block; white-space: nowrap; }
.split-char { display: inline-block; }

/* botões “cta-1” (pílula escura, seta laranja) — reutiliza .btn */
.btn.btn--light { background: #fcfcfd; color: var(--ink); }
.btn.btn--light .ar { color: var(--ink); }
.btn.btn--light:hover { color: #fff; }

/* ---------- Hero centrado (Sobre, Serviços) ---------- */
.hero-c { position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center; overflow: hidden; padding: 12vh 2.5vw 8vh; background: #fff; isolation: isolate; }
.hero-c__ellipse { position: absolute; left: 50%; pointer-events: none; border-radius: 50%; }
.hero-c__ellipse-1 { width: 12.5vw; height: 12.5vw; top: min(8vw, 16vh); transform: translateX(-50%); background: radial-gradient(circle, rgba(255,140,40,.95), rgba(255,160,80,.4) 45%, transparent 70%); mix-blend-mode: multiply; filter: blur(14px); z-index: -1; }
.hero-c__ellipse-2 { width: 75vw; height: 75vw; top: min(30vw, 60vh); transform: translate(-50%, -50%); opacity: .9; z-index: -3; background: radial-gradient(circle, rgba(255,214,170,.65) 0%, rgba(255,232,210,.5) 30%, rgba(255,245,236,.3) 55%, rgba(255,255,255,0) 70%); }
.hero-c__ellipse-3 { width: min(55vw, 110vh); height: min(56vw, 113vh); top: min(12.5vw, 25vh); transform: translateX(-50%); z-index: -2; border: 2px solid rgba(255,255,255,.9); background: linear-gradient(180deg, rgba(255,255,255,.5), rgba(255,255,255,0) 55%); mask-image: linear-gradient(to bottom, #fff 10%, transparent 60%); -webkit-mask-image: linear-gradient(to bottom, #fff 10%, transparent 60%); }
.hero-c__grid { position: relative; display: grid; place-items: center; gap: 2vw; text-align: center; max-width: 80vw; }
.hero-c__grid h1 { color: var(--ink); font-size: clamp(36px, 5.2vw, 110px); font-weight: 300; line-height: 1.12; letter-spacing: -.035em; }
.hero-c__grid h1 b { font-weight: 600; }
.hero-c__grid p { color: var(--ink3); font-family: var(--font-ui); font-size: clamp(14px, 1.2vw, 24px); line-height: 1.2; max-width: 41vw; }
.hero-c__grid p b { color: var(--ink); font-weight: 400; }

/* ---------- Hero das páginas de serviço (palavra gigante) ---------- */
.hero-s { position: relative; padding: 14vh 2.5vw 4vw; text-align: center; overflow: hidden; }
.hero-s__container { display: grid; place-items: center; gap: 1.2vw; }
.hero-s__span { color: var(--orange); font-family: var(--font-ui); font-size: clamp(12px, .85vw, 18px); }
.hero-s__h1 { color: var(--ink); font-size: clamp(54px, 9vw, 190px); font-weight: 400; line-height: .95; letter-spacing: -.03em; text-transform: uppercase; }
.hero-s__p { color: var(--gray); font-family: var(--font-ui); font-size: clamp(13px, .95vw, 20px); max-width: 48vw; }
.hero-s__p b { color: var(--ink); font-weight: 400; }
.hero-s__blur { position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; }
.hero-s__blur-1 { right: 0; bottom: 0; width: 20vw; height: 20vw; transform: translate(50%, -10%); background: radial-gradient(circle, rgba(255,150,60,.6), transparent 70%); filter: blur(40px); }

/* ---------- Hero Recrutamento (3 colunas) ---------- */
.hero-r { position: relative; min-height: 100vh; overflow: hidden; }
.hero-r__container { display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; justify-items: center; width: 100%; padding: 15vh 3vw 15vh; min-height: 100vh; }
.hero-r__heading { color: var(--ink); font-size: clamp(40px, 5.2vw, 110px); font-weight: 300; line-height: 1.12; letter-spacing: -.035em; width: 24vw; justify-self: start; }
.hero-r__heading b { font-weight: 600; }
.hero-r__video { width: 75vmin; height: 75vmin; position: relative; }
.hero-r__video canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-r__sub { display: grid; gap: 2vw; width: 22vw; justify-self: end; }
.hero-r__line { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); height: 5.5vw; width: 2px; background: var(--gray); opacity: .3; pointer-events: none; }
.hero-r__bg { position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse 30% 40% at 50% 45%, rgba(255,220,190,.55), transparent 70%); }

/* ---------- Portfolio (showreel) nas subpáginas ---------- */
.portfolio--sub { height: auto; padding: 0 2.5vw; }
.portfolio--sub .portfolio-wrapper { height: min(60vw, 600px); }

/* ---------- Headline (citação do fundador) ---------- */
.headline { position: relative; margin-top: 10vw; }
.headline__container { display: flex; flex-direction: column; align-items: center; padding: 17vw 2.5vw 9vw; }
.headline__heading { display: flex; flex-direction: column; align-items: center; gap: 1.5vw; }
.headline__heading h2 { color: var(--ink); font-size: clamp(28px, 3.6vw, 76px); font-weight: 500; line-height: 1.1; letter-spacing: -.015em; width: min(68.5vw, 100%); text-align: center; }
.headline__divider { height: 11.9vw; width: 1px; background: var(--gray); margin: 9vw 0 5.5vw; }
.headline__footer { display: flex; width: 100%; gap: 19vw; padding-left: 21.5vw; }
.headline__ceo { position: relative; display: flex; flex-direction: column; padding-left: 1.5vw; height: fit-content; }
.headline__ceo::before { content: ""; position: absolute; top: 50%; transform: translateY(-50%); left: 0; background: var(--orange); width: 3px; height: 3.35vw; }
.headline__ceo strong { color: var(--ink); font-size: clamp(16px, 1.1vw, 24px); font-weight: 400; line-height: 1.2; }
.headline__ceo span { color: var(--orange); font-size: clamp(16px, 1.1vw, 24px); line-height: 1.2; }
.headline__text { color: var(--gray); font-family: var(--font-ui); font-size: clamp(14px, 1.05vw, 22px); line-height: 1.2; width: 36.75vw; }
.headline__blur { position: absolute; left: 50%; top: 0; width: 96vw; height: 85vw; transform: translateX(-50%); z-index: -1; pointer-events: none; mix-blend-mode: multiply;
  background: radial-gradient(ellipse 30% 22% at 30% 45%, rgba(255,160,80,.55), transparent 70%), radial-gradient(ellipse 28% 20% at 72% 40%, rgba(255,170,100,.5), transparent 70%); filter: blur(30px); }
.headline__ring { position: absolute; left: 50%; top: 4vw; width: 62vw; height: 62vw; transform: translateX(-50%); border-radius: 50%; border: 2px solid rgba(255,255,255,.95); z-index: -1; pointer-events: none; background: linear-gradient(180deg, rgba(255,255,255,.6), rgba(255,255,255,0) 60%); mask-image: linear-gradient(#fff 20%, transparent 55%); -webkit-mask-image: linear-gradient(#fff 20%, transparent 55%); }

/* ---------- Cartões (valores / processo / “wwv”) ---------- */
.cards-sec { position: relative; isolation: isolate; }
.cards-sec__container { padding: 9.5vw 3vw 8.5vw; display: flex; flex-direction: column; gap: 5vw; }
.cards-sec__top { display: flex; justify-content: space-between; align-items: center; gap: 4vw; }
.cards-sec__heading { display: flex; flex-direction: column; gap: var(--gap-heading); }
.cards-sec__h3 { color: var(--ink); font-size: clamp(34px, 5vw, 106px); line-height: 1.15; font-weight: 300; letter-spacing: -.035em; }
.cards-sec__h3 b { font-weight: 600; }
.cards-sec__sub { color: var(--ink3); font-family: var(--font-ui); font-size: clamp(14px, 1.2vw, 24px); line-height: 1.4; width: 25vw; margin-right: 3vw; }
.cards-sec__sub b { color: var(--ink2); font-weight: 400; }
.cards-sec__row { display: flex; gap: 1.25vw; width: 100%; }
.cards-sec__slide { flex: 1 0 0; transition: transform .6s cubic-bezier(.625,.05,0,1); }
.cards-sec__slide:hover { transform: scale(1.02); }
.card-g { position: relative; isolation: isolate; display: flex; flex-direction: column; gap: .5vw; padding: 2vw; cursor: default; min-height: 23vw; }
.card-g__step { color: var(--orange); font-family: var(--font-ui); font-size: clamp(11px, .85vw, 17px); font-weight: 500; margin-bottom: 1.5vw; }
.card-g__icon { width: 2.75vw; height: 2.75vw; min-width: 28px; min-height: 28px; border-radius: 50%; border: 1px solid rgba(16,24,32,.12); display: grid; place-items: center; color: var(--ink3); }
.card-g__icon svg { width: 55%; height: 55%; stroke: currentColor; fill: none; stroke-width: 1.4; }
.card-g__h4 { color: var(--ink); font-size: clamp(18px, 1.8vw, 36px); font-weight: 500; line-height: 1.2; margin-top: 7.5vw; }
.card-g__p { color: #8c8d91; font-family: var(--font-ui); font-size: clamp(13px, 1vw, 20px); line-height: 1.5; }
.is--gradient-border { position: relative; isolation: isolate; border-radius: 1.6vw; }
.is--gradient-border::before { content: ""; position: absolute; inset: 0; border-radius: 1.6vw; padding: 1px; background: linear-gradient(to bottom, #fcc893, transparent); z-index: -1; -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask-composite: exclude; pointer-events: none; }
.is--gradient-border::after { content: ""; position: absolute; inset: 0; border-radius: 1.6vw; background: #fffc; z-index: -2; backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px); }
.cards-sec__blur { position: absolute; z-index: -1; pointer-events: none; border-radius: 50%; }
.cards-sec__blur-1 { right: -10vw; bottom: -10vw; width: 60vw; height: 36vw; background: radial-gradient(ellipse, rgba(255,150,60,.55), transparent 70%); filter: blur(40px); transform: rotate(-20deg); }
.cards-sec__blur-2 { left: -10vw; bottom: -14vw; width: 36vw; height: 36vw; background: radial-gradient(circle, rgba(255,170,100,.45), transparent 70%); filter: blur(40px); }

/* ---------- Secção escura de prémios (“rg”) ---------- */
.rg { position: relative; isolation: isolate; background: #010101; overflow: hidden; color: #fff; }
.rg__bg { position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse 40% 50% at 50% 120%, rgba(255,120,40,.45), transparent 70%), radial-gradient(ellipse 50% 40% at 50% 60%, rgba(255,140,60,.18), transparent 70%); }
.rg__container { display: flex; gap: 3.75vw; padding: 10.75vw 2.5vw; align-items: flex-start; }
.rg__left { display: flex; flex-direction: column; gap: var(--gap-heading); width: 31vw; margin-top: 8vw; }
.rg__heading { color: #fff; font-size: clamp(34px, 4vw, 86px); font-weight: 300; line-height: 1.1; letter-spacing: -.035em; }
.rg__heading b { font-weight: 600; }
.rg__center { width: 27vw; height: 35.5vw; position: relative; }
.rg__right { display: flex; flex-direction: column; gap: 1vw; width: 22.5vw; margin: auto 0 4.5vw; }
.rg__right p { color: var(--gray); font-family: var(--font-ui); font-size: clamp(14px, .95vw, 20px); line-height: 1.2; }
.rg__right p b { color: #fcfcfd; font-weight: 400; }
.flick { position: relative; height: 100%; user-select: none; -webkit-user-select: none; }
.flick__list { position: relative; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; perspective: 1500px; transform-style: preserve-3d; }
.flick__item { position: absolute; will-change: transform; }
.rg .flick__item { width: 27.25vw; height: 35vw; padding: 1vw; isolation: isolate; border-radius: 1.5vw; }
.rg .flick__item::before { content: ""; position: absolute; inset: 0; z-index: -1; background: #ffffff26; border-radius: 1.5vw; opacity: 0; transition: opacity .3s ease-out; }
.rg .flick__item[data-status="active"]::before { opacity: 1; }
.award-card { width: 100%; height: 100%; border-radius: 1vw; padding: 2vw; display: flex; flex-direction: column; justify-content: space-between; color: #fff; }
.award-card__w { font-size: clamp(22px, 2vw, 40px); font-weight: 700; }
.award-card__lines { display: grid; gap: .3vw; font-size: clamp(22px, 2.3vw, 48px); font-weight: 600; line-height: 1.15; letter-spacing: -.02em; }
.award-card__by { font-family: var(--font-ui); font-size: clamp(11px, .8vw, 16px); opacity: .6; }
.award-card__badge { font-family: var(--font-ui); font-size: clamp(11px, .8vw, 16px); opacity: .8; }
.flick__pagination { position: absolute; left: 50%; bottom: -2vw; transform: translateX(-50%); display: flex; gap: .4vw; }
.flick__pagination button { width: 4px; height: 4px; border-radius: 4px; background: #d0d2d1; transition: width .3s, background .3s; padding: 0; }
.flick__pagination button.is-active { width: .6vw; min-width: 10px; background: var(--orange); }
[data-flick-dragger] { position: absolute; inset: 0; cursor: grab; z-index: 3; }
[data-flick-status="grabbing"] [data-flick-dragger] { cursor: grabbing; }

/* ---------- Filosofia (“wwo”) ---------- */
.wwo { position: relative; isolation: isolate; }
.wwo__container { padding: 17vw 3vw 12.5vw 2.5vw; display: flex; flex-direction: column; gap: var(--gap-container); }
.wwo__heading { display: flex; flex-direction: column; gap: var(--gap-heading); }
.wwo__heading h2 { color: var(--ink); font-size: clamp(34px, 5.2vw, 110px); font-weight: 300; line-height: 1.15; letter-spacing: -.035em; width: 55vw; }
.wwo__heading h2 b { font-weight: 600; }
.wwo__footer { display: flex; flex-direction: column; margin-left: auto; width: 21.5vw; }
.wwo__footer p { color: var(--gray); font-family: var(--font-ui); font-size: clamp(13px, .95vw, 20px); line-height: 1.2; }
.wwo__footer p b { color: var(--ink); font-weight: 400; }
.wwo__blur { position: absolute; left: -6vw; bottom: -8vw; width: 60vw; height: 32vw; z-index: -1; pointer-events: none; border-radius: 50%; background: radial-gradient(ellipse, rgba(240,110,40,.85) 0%, rgba(255,150,70,.5) 35%, transparent 70%); filter: blur(34px); transform: rotate(-8deg); }
.wwo--dark { background: #000; color: #fff; }
.wwo--dark .wwo__heading h2 { color: #fff; }
.wwo--dark .wwo__footer p b { color: #fff; }
.wwo--dark .wwo__blur { left: 45%; bottom: 10%; width: 60vw; height: 24vw; transform: rotate(-30deg); background: radial-gradient(ellipse, rgba(200,70,20,.8), rgba(120,50,20,.4) 40%, transparent 70%); }
.wwo--dark .wwo__container { padding-block: 15vw 10vw; }

/* ---------- Equipa (cartões arrastáveis em perspetiva) ---------- */
.team { position: relative; isolation: isolate; }
.team__container { display: flex; flex-direction: column; gap: 4vw; padding: 6vw 0 3vw; }
.team__heading { display: flex; flex-direction: column; align-items: center; gap: 1.75vw; }
.team__heading h2 { color: var(--ink); text-align: center; font-size: clamp(34px, 5.2vw, 110px); font-weight: 300; line-height: 1.15; letter-spacing: -.035em; }
.team__heading h2 b { font-weight: 600; }
.team__selectors { display: flex; gap: .75vw; align-items: center; }
.team__block { display: flex; gap: .75vw; align-items: center; }
.team__divider { height: 1px; width: 1.6vw; background: var(--ink3); }
.team__btn { color: var(--ink3); font-family: var(--font-ui); font-size: clamp(12px, 1vw, 20px); text-transform: uppercase; }
.team__block.is--active .team__btn { color: var(--ink); font-weight: 500; }
.team__block.is--active .team__divider { background: var(--ink); }
.team__slider { width: 100%; height: 30vw; }
.team .flick__item { width: 23.5vw; height: 30vw; border-radius: 1.5vw; overflow: hidden; }
.flick-card { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: space-between; padding: 1vw 1.25vw 1.75vw; border-radius: 1.5vw; height: 100%; }
.flick-card__photo { position: absolute; inset: 0; z-index: -1; }
.flick-card__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,.6)); }
.flick-card__photo b { position: absolute; right: 1vw; top: .6vw; font-size: 6vw; font-weight: 700; color: rgba(255,255,255,.35); line-height: 1; }
.flick-card__tagline { color: #fcfcfd; font-family: var(--font-ui); font-size: clamp(11px, .75vw, 15px); padding: .75vw 1vw; border: 1px solid rgba(255,255,255,.5); border-radius: 30px; width: fit-content; opacity: 0; transform: translateX(10px); transition: transform .4s ease .2s, opacity .4s ease .2s; }
.flick-card__block { display: flex; align-items: flex-end; justify-content: space-between; opacity: 0; transform: translateY(10px); transition: transform .4s ease .2s, opacity .4s ease .2s; }
.flick-card__info { display: flex; flex-direction: column; gap: .25vw; }
.flick-card__info strong { color: #fcfcfd; font-family: var(--font-ui); font-size: clamp(14px, 1.25vw, 25px); font-weight: 400; }
.flick-card__info span { color: #fcfcfd; font-family: var(--font-ui); font-size: clamp(12px, 1vw, 20px); opacity: .5; }
.flick__item[data-status="active"] .flick-card__tagline, .flick__item[data-status="active"] .flick-card__block { opacity: 1; transform: none; }

/* ---------- Serviços: acordeão “Our Expertise” (oe) ---------- */
.oe { position: relative; }
.oe__container { padding: 9.5vw 3vw 8.5vw; display: flex; flex-direction: column; gap: 3vw; }
.oe__top { display: flex; justify-content: space-between; align-items: center; gap: 4vw; }
.oe__heading { display: flex; flex-direction: column; gap: var(--gap-heading); }
.oe__h3 { color: var(--ink); font-size: clamp(34px, 5vw, 106px); line-height: .95; font-weight: 300; letter-spacing: -.035em; }
.oe__h3 b { font-weight: 600; }
.oe__sub { color: var(--gray); font-family: var(--font-ui); font-size: clamp(14px, .95vw, 20px); line-height: 1.4; width: 19vw; margin-right: 1vw; }
.oe__sub b { color: var(--ink); font-weight: 400; }
.oe__bottom { position: relative; isolation: isolate; padding: 2vw; display: grid; grid-template-columns: 1fr auto; gap: 3.75vw; }
.oe__bottom::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: 2vw; background: #eaeaea6b; backdrop-filter: blur(29px); -webkit-backdrop-filter: blur(29px); }
.oe__media { width: 38.75vw; min-height: 24vw; border-radius: 1.6vw; background: #ffffffb3; backdrop-filter: blur(25px); position: relative; overflow: hidden; display: grid; place-items: center; }
.oe__media-art { width: 70%; aspect-ratio: 1.3; display: grid; grid-template-columns: 1.2fr 1fr; gap: 1vw; }
.oe__media-art > div { border-radius: .8vw; background: #f6f6f6; box-shadow: 0 1px 0 rgba(0,0,0,.05); position: relative; }
.oe__media-art > div::after { content: ""; position: absolute; left: 12%; bottom: 14%; width: 40%; height: 10%; border-radius: 99px; background: var(--orange); }
.oe__media-art > div:nth-child(1) { grid-row: span 2; }
.oe__media-art > div:nth-child(2)::after { width: 30%; height: 6%; bottom: auto; top: 40%; background: #ffb263; }
.oe__media-art > div:nth-child(3)::after { content: "+"; width: auto; height: auto; background: none; color: var(--orange); font-size: 2vw; left: 42%; bottom: 30%; }
.acc-css { position: relative; flex-grow: 1; }
.acc-css__list { display: flex; flex-direction: column; }
.acc-css__item { position: relative; isolation: isolate; list-style: none; padding: 1.5vw 1.25vw; border-radius: 1.6vw; }
.acc-css__item::before { content: ""; position: absolute; inset: 0; border-radius: 1.6vw; padding: 1px; background: linear-gradient(to bottom, #fcc893, transparent); z-index: -1; opacity: 0; transition: opacity .6s cubic-bezier(.625,.05,0,1); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; }
.acc-css__item::after { content: ""; position: absolute; inset: 0; border-radius: 1.6vw; background: #fffc; z-index: -2; backdrop-filter: blur(25px); opacity: 0; transition: opacity .6s cubic-bezier(.625,.05,0,1); }
.acc-css__item[data-accordion-status="active"] { width: calc(100% - 1.5vw); }
.acc-css__item[data-accordion-status="active"]::before, .acc-css__item[data-accordion-status="active"]::after { opacity: 1; }
.acc-css__top { cursor: pointer; display: flex; align-items: center; gap: 1.25vw; }
.acc-css__svg { width: 2.75vw; height: 2.75vw; min-width: 30px; min-height: 30px; border-radius: 50%; background: #e9e9e9; display: grid; place-items: center; color: var(--ink3); pointer-events: none; }
.acc-css__svg svg { width: 50%; height: 50%; stroke: currentColor; fill: none; stroke-width: 1.4; }
.acc-css__h3 { color: var(--ink); font-size: clamp(20px, 2vw, 40px); font-weight: 500; letter-spacing: -.01em; }
.acc-css__icon { position: absolute; right: 1.25vw; top: 50%; width: 2.75vw; height: 2.75vw; min-width: 30px; min-height: 30px; border-radius: 50%; background: var(--orange); color: #fff; display: grid; place-items: center; transform: translateY(-50%) scale(0) rotate(-90deg); transition: transform .6s cubic-bezier(.625,.05,0,1); }
.acc-css__item[data-accordion-status="active"] .acc-css__icon { transform: translateY(-50%) scale(1) rotate(0); }
.acc-css__icon:hover { transform: translateY(-50%) scale(.9) rotate(.001deg) !important; }
.acc-css__bottom { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .6s cubic-bezier(.625,.05,0,1); overflow: hidden; }
.acc-css__item[data-accordion-status="active"] .acc-css__bottom { grid-template-rows: 1fr; }
.acc-css__wrap { overflow: hidden; }
.acc-css__content { padding-top: .75vw; padding-left: 4vw; width: 60%; }
.acc-css__p { color: var(--ink3); font-family: var(--font-ui); font-size: clamp(13px, .95vw, 20px); line-height: 1.2; }

/* ---------- Serviços: processo em perspetiva (escuro, fixo) ---------- */
.process { position: relative; background: #010101; isolation: isolate; overflow: hidden; height: 110vh; color: #fff; }
.process__bg { position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse 45% 35% at 45% 70%, rgba(190,70,20,.7), rgba(120,60,20,.3) 40%, transparent 70%), radial-gradient(ellipse 30% 30% at 30% 55%, rgba(160,140,80,.25), transparent 70%); }
.process__container { display: flex; flex-direction: column; gap: 5.5vw; padding: 7.5vw 0 10vw; }
.process__heading { display: flex; flex-direction: column; padding: 0 3vw; gap: 1vw; }
.process__heading h2 { color: #fff; font-size: clamp(34px, 5vw, 106px); font-weight: 300; line-height: 1.15; letter-spacing: -.035em; }
.process__heading h2 b { font-weight: 600; }
.process__perspective { padding: 0 7.5vw; transform-style: preserve-3d; perspective: 125vw; }
.process__content { position: relative; width: 53vw; aspect-ratio: 1650 / 1515; margin: 0 auto; transform-style: preserve-3d; }
.process__svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.process__svg path { fill: none; stroke: var(--orange); stroke-width: 3; stroke-linecap: round; }
.process__svg circle { fill: var(--orange); }
.process__svg .guide { stroke: rgba(255,255,255,.35); stroke-width: 1.5; }
.process__item { position: absolute; display: grid; gap: .7vw; width: 14vw; transform: rotateX(-55deg) translateY(-100%); transform-origin: top center; }
.process__item-step { display: flex; align-items: center; gap: .5vw; color: var(--line2); font-family: var(--font-ui); font-size: clamp(11px, .8vw, 16px); }
.process__item-step::before { content: ""; width: 1.2vw; height: .7vw; border: 1px solid var(--line2); border-radius: 3px; }
.process__item h4 { color: #fff; font-size: clamp(16px, 1.6vw, 32px); font-weight: 500; line-height: 1.1; }
.process__item:nth-child(1) { left: 16vw; top: 0; }
.process__item:nth-child(2) { right: 0; top: 24%; }
.process__item:nth-child(3) { left: 4vw; top: 52%; }
.process__item:nth-child(4) { left: 35vw; top: 80%; }

/* ---------- Resultados (“gs”) ---------- */
.gs { position: relative; min-height: 100vh; display: flex; }
.gs__container { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1vw; width: 100%; padding: 8vw 2.5vw; text-align: center; }
.gs__heading { color: var(--ink); font-size: clamp(34px, 5.2vw, 110px); font-weight: 300; line-height: 1.15; letter-spacing: -.035em; width: min(68vw, 100%); margin-bottom: 1vw; }
.gs__heading b { font-weight: 600; }
.gs__sub { color: var(--gray); font-family: var(--font-ui); font-size: clamp(13px, .95vw, 20px); line-height: 1.2; width: min(34vw, 100%); }
.gs__sub b { color: var(--ink); font-weight: 400; }
.gs__blur { position: absolute; right: -12vw; bottom: -6vw; width: 70vw; height: 40vw; z-index: -1; pointer-events: none; border-radius: 50%; background: radial-gradient(ellipse, rgba(245,110,40,.85) 0%, rgba(255,150,70,.55) 30%, transparent 70%); filter: blur(34px); transform: rotate(-22deg); }
.gs--dark { background: #000; }
.gs--dark .gs__heading { color: #fff; }

/* ---------- Recrutamento: roadmap ---------- */
.roadmap { position: relative; isolation: isolate; }
.roadmap__bg { position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse 35% 45% at 90% 30%, rgba(255,210,170,.6), transparent 70%); }
.roadmap__container { padding: 8.5vw 0; display: flex; flex-direction: column; align-items: center; gap: 8vw; }
.roadmap__h2 { color: var(--ink); text-align: center; font-size: clamp(34px, 5vw, 106px); line-height: 1.17; letter-spacing: -.035em; font-weight: 300; width: min(54vw, 100%); }
.roadmap__h2 b { font-weight: 600; }
.roadmap__grid { padding: 0 10vw; display: grid; gap: .3vw; width: 100%; }
.roadmap__row { display: grid; gap: 3vw; grid-template-columns: 1fr auto 1fr; }
.roadmap__left { color: var(--orange); text-align: center; font-size: clamp(34px, 5vw, 106px); font-weight: 600; line-height: 1.2; letter-spacing: -.035em; opacity: .18; }
.roadmap__center { width: 5vw; display: flex; flex-direction: column; align-items: center; height: fit-content; }
.roadmap__center svg { width: 5vw; height: auto; overflow: visible; }
.roadmap__center .line { width: 1px; height: 16vw; background: rgba(255,130,0,.35); transform-origin: top; }
.roadmap__right { display: flex; flex-direction: column; gap: 1.5vw; padding-top: .65vw; }
.roadmap__right h3 { color: var(--ink); font-size: clamp(22px, 2.2vw, 44px); line-height: 1.2; font-weight: 300; letter-spacing: -.01em; }
.roadmap__right h3 b { font-weight: 600; }
.roadmap__right p { color: var(--gray); font-family: var(--font-ui); font-size: clamp(14px, 1.05vw, 22px); line-height: 1.2; width: 32.5vw; }

/* ---------- Recrutamento: “Open roles” + vagas (caa) ---------- */
.open { position: relative; isolation: isolate; }
.open__container { display: flex; flex-direction: column; align-items: center; gap: 1vw; padding: 17.5vw 2.5vw 12vw; text-align: center; }
.open__heading { color: var(--ink); font-size: clamp(30px, 3.6vw, 76px); font-weight: 300; line-height: 1.17; letter-spacing: -.02em; width: min(68vw, 100%); margin-bottom: 1vw; }
.open__heading b { font-weight: 600; }
.open__sub { color: var(--gray); font-family: var(--font-ui); font-size: clamp(14px, 1.2vw, 24px); line-height: 1.4; width: min(41.5vw, 100%); margin-bottom: 1.5vw; }
.open__sub b { color: var(--ink); font-weight: 400; }
.open__blur { position: absolute; right: -10vw; bottom: -10vw; width: 70vw; height: 36vw; z-index: -1; border-radius: 50%; pointer-events: none; background: radial-gradient(ellipse, rgba(245,110,40,.85) 0%, rgba(255,150,70,.5) 30%, transparent 70%); filter: blur(34px); transform: rotate(-24deg); }
.caa { position: relative; }
.caa__container { padding: 9.5vw 3vw 8.5vw; display: flex; flex-direction: column; gap: 4vw; }
.caa__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2vw 3vw; }
.caa__item { display: flex; flex-direction: column; gap: .75vw; padding: 2vw; cursor: pointer; }
.caa__item h3 { color: var(--ink); font-size: clamp(18px, 1.4vw, 28px); font-weight: 500; line-height: 1; letter-spacing: .03em; }
.caa__item p { color: var(--ink3); font-family: var(--font-ui); font-size: clamp(13px, 1vw, 20px); line-height: 1.3; width: min(33vw, 100%); }
.caa__row { display: flex; align-items: center; gap: 2vw; margin-top: 1.5vw; }
.caa__block { display: flex; align-items: center; gap: .75vw; color: var(--ink); font-size: clamp(13px, 1.2vw, 24px); font-weight: 500; letter-spacing: .03em; }
.caa__block svg { width: 1.1vw; height: 1.1vw; min-width: 14px; min-height: 14px; stroke: currentColor; fill: none; stroke-width: 1.5; }
.caa__blur { position: absolute; left: -10vw; top: -4vw; width: 70vw; height: 30vw; z-index: -1; border-radius: 50%; pointer-events: none; background: radial-gradient(ellipse, rgba(255,150,70,.5), transparent 70%); filter: blur(40px); transform: rotate(12deg); }

/* ---------- Projetos: hero escuro + grelha + “talk” ---------- */
.hero-p { position: relative; height: 70vh; min-height: 420px; background: #000; display: grid; place-items: center; overflow: hidden; }
.hero-p__glow { position: absolute; left: 50%; top: 30%; width: 50vw; height: 50vw; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(circle, rgba(255,90,30,.55), rgba(120,30,10,.25) 35%, transparent 60%); filter: blur(30px); pointer-events: none; }
.hero-p__heading { position: relative; color: #fcfcfd; font-size: clamp(54px, 9vw, 190px); font-weight: 400; line-height: 1; letter-spacing: -.02em; text-transform: uppercase; }
.hero-p__mark { position: absolute; left: 50%; top: 60%; transform: translateX(-50%); font-size: 3.5vw; opacity: .9; }
.projects-page { background: #000; padding: 0 2.5vw 6vw; }
.projects-page .filters { margin: 0 0 1.5vw; }
.projects-page .filter { color: #fff; }
.projects-page .projects { padding-bottom: 2vw; }
.load-more { display: flex; justify-content: center; margin-top: 3vw; }
.talk-sec { position: relative; width: 100%; height: 100vh; overflow: hidden; display: grid; place-items: center; background: #000; color: #fff; text-align: center; }
.talk-sec__glow { position: absolute; border-radius: 50%; filter: blur(50px); pointer-events: none; }
.talk-sec__glow--l { left: -10vw; top: 20%; width: 40vw; height: 40vw; background: radial-gradient(circle, rgba(255,140,50,.55), transparent 65%); }
.talk-sec__glow--r { right: -12vw; bottom: 0; width: 46vw; height: 46vw; background: radial-gradient(circle, rgba(255,120,30,.5), transparent 65%); }
.talk-sec__grid { position: relative; display: grid; place-items: center; gap: 1vw; padding: 0 2.5vw; }
.talk-sec__grid h2 { color: #fcfcfd; font-size: clamp(34px, 4.75vw, 100px); font-weight: 300; line-height: 1; letter-spacing: -.035em; max-width: 51vw; margin-bottom: 1vw; }
.talk-sec__grid h2 b { font-weight: 600; }
.talk-sec__grid p { color: var(--gray); font-family: var(--font-ui); font-size: clamp(14px, 1.25vw, 25px); line-height: 1.2; max-width: 40vw; margin-bottom: 2vw; }

/* ---------- Blog ---------- */
.hero-b { position: relative; padding: 14vh 2.5vw 4vw; overflow: hidden; text-align: center; min-height: 60vh; }
.hero-b .hero-c__ellipse-1 { top: 10vh; }
.hero-b .hero-c__ellipse-2 { top: 50vh; }
.hero-b .hero-c__ellipse-3 { top: 18vh; }
.hero-b__grid { position: relative; display: grid; gap: 2vw; justify-items: center; }
.hero-b__grid .back-link { justify-self: start; }
.hero-b__heading { color: var(--ink); font-size: clamp(40px, 6vw, 130px); font-weight: 300; line-height: 1.05; letter-spacing: -.035em; max-width: 60vw; }
.hero-b__heading b { font-weight: 600; }
.content { padding: 0 2.5vw 4.35vw; min-height: 100vh; position: relative; }
.content__flex { display: flex; column-gap: 5.5vw; position: relative; }
.content-panel { display: flex; flex-direction: column; padding-right: 2.4vw; flex-shrink: 0; border-right: 1px solid var(--line2); height: fit-content; max-height: 85vh; position: sticky; top: 5.5vw; }
.content-panel__avatar .brand-icon { width: 55%; height: 55%; }
.content-panel__avatar { width: min(6.9vw, 13.8vh); height: min(6.9vw, 13.8vh); border-radius: 50%; margin-bottom: 1.7vw; background: #000; display: grid; place-items: center; color: #fff; font-weight: 700; font-size: 1.6vw; }
.content-panel__name { color: var(--ink); font-size: clamp(14px, 1vw, 20px); font-weight: 500; margin-bottom: .5vw; }
.content-panel__handle { color: var(--ink3); font-family: var(--font-ui); font-size: clamp(12px, .75vw, 15px); margin-bottom: .85vw; }
.content-panel__desc { color: var(--gray); font-family: var(--font-ui); font-size: clamp(12px, .75vw, 15px); line-height: 1.2; width: 15.5vw; margin-bottom: 1.5vw; }
.content-panel .socials { gap: .5vw; }
.content-panel .socials a { border: 0; color: var(--gray); }
.content-panel__divider { width: 3.2vw; height: 1px; background: var(--line2); margin: 1.5vw 0 2.15vw; }
.content-panel__search { position: relative; border-radius: 30px; border: 1px solid var(--line2); height: 2vw; min-height: 36px; padding: 0 1vw; margin-bottom: 1.7vw; max-width: 15.35vw; display: flex; align-items: center; gap: .9vw; color: var(--ink); font-family: var(--font-ui); font-size: clamp(12px, .95vw, 19px); }
.content-panel__search svg { width: 1.2vw; height: 1.2vw; min-width: 16px; min-height: 16px; stroke: currentColor; fill: none; stroke-width: 1.5; }
.content-panel__search input { border: 0; outline: 0; background: none; font: inherit; width: 100%; color: inherit; }
.content-panel__cat-title { color: var(--ink); font-size: clamp(14px, 1vw, 20px); font-weight: 500; margin-bottom: 1.25vw; display: block; }
.content-panel__cats { display: grid; gap: .8vw; max-width: 15.35vw; max-height: 30vw; overflow: auto; padding-right: .25vw; scrollbar-width: thin; }
.content-panel__cat { display: flex; height: 2vw; min-height: 34px; padding: .4vw 1vw; align-items: center; border-radius: 30px; background: #f6f6f6; color: var(--ink); font-family: var(--font-ui); font-size: clamp(11px, .75vw, 16px); transition: background .3s; cursor: pointer; white-space: nowrap; }
.content-panel__cat:hover, .content-panel__cat.--is-active { background: #cecece; }
.content-grid { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 4.5vw 1vw; flex-grow: 1; }
.content-item { display: flex; flex-direction: column; row-gap: 1vw; }
.content-item__top { position: relative; width: 100%; height: 21vw; padding: .75vw; border-radius: 1vw; }
.content-item__blur { position: absolute; inset: 0; border-radius: 1vw; opacity: .2; z-index: -1; transition: opacity .3s; }
.content-item:hover .content-item__blur { opacity: 1; }
.content-item__img { overflow: hidden; border-radius: 1vw; width: 100%; height: 100%; }
.content-item__img > div { width: 100%; height: 100%; transform: scale(1.1); transition: transform .4s ease-out; }
.content-item:hover .content-item__img > div { transform: scale(1.01); }
.content-item__bottom { display: flex; flex-direction: column; row-gap: .85vw; padding: 0 .4vw; }
.content-item__cats { display: flex; gap: .5vw; flex-wrap: wrap; }
.content-item__cat { display: flex; padding: .5vw .85vw; border-radius: 1vw; background: var(--ink); color: #fff; font-size: clamp(10px, .6vw, 12px); font-weight: 500; line-height: .9; }
.content-item__date { color: #9ca3a8; font-size: clamp(10px, .6vw, 12px); font-weight: 500; letter-spacing: .03em; }
.content-item__title { color: var(--ink); font-size: clamp(14px, 1.15vw, 24px); font-weight: 400; line-height: 1.2; transition: color .3s; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.content-item:hover .content-item__title { color: var(--orange); }
.content-pagination { display: flex; justify-content: center; margin-top: 6.75vw; margin-left: 22vw; }
.content-pagination__wrap { display: flex; align-items: center; gap: .3vw; padding: .5vw 3.5vw; background: #fff; box-shadow: 0 48px 100px #110c2e26; border-radius: 30px; }
.content-pagination__wrap button { display: grid; place-items: center; width: 2vw; height: 2.3vw; min-width: 30px; min-height: 34px; border-radius: 10px; color: var(--line2); font-size: clamp(14px, 1.5vw, 30px); font-weight: 500; transition: all .3s; }
.content-pagination__wrap button[aria-current="page"] { background: var(--ink); color: #fcfcfd; }
.content-pagination__wrap button:hover { background: var(--ink); color: #fcfcfd; }
.content-pagination__wrap .nav { color: var(--ink); font-size: 1vw; }

/* ---------- Termos / Privacidade ---------- */
.terms { position: relative; width: 100%; min-height: 100vh; display: flex; justify-content: center; overflow: hidden; padding: min(10vw, 20vh) 2.5vw min(7vw, 14vh); }
.terms__grid { position: relative; display: grid; width: 100%; }
.terms__grid .back-link { margin-bottom: min(5vw, 10vh); }
.terms__heading { color: var(--ink); font-size: min(7.5vw, 15vh); font-weight: 500; line-height: .78; letter-spacing: .03em; margin-bottom: min(3vw, 6vh); }
.terms__text { color: var(--ink); font-family: var(--font-ui); font-size: clamp(14px, 1.25vw, 25px); line-height: 1.2; margin-bottom: min(6vw, 12vh); }
.terms__text a { text-decoration: underline; }
.terms__content { display: grid; gap: 2vw; margin-bottom: min(2.5vw, 5vh); list-style: none; }
.terms__content h2 { color: var(--ink); font-size: clamp(22px, 3.25vw, 66px); font-weight: 500; line-height: 1; letter-spacing: -.015em; margin-bottom: min(3.5vw, 7vh); }
.terms__content p, .terms__content li { color: var(--ink); font-family: var(--font-ui); font-size: clamp(14px, 1.25vw, 25px); line-height: 1.2; }
.terms__content ul { margin: 1vw 0; padding: 0; }
.terms__content ul li { list-style: disc inside; padding-left: .5vw; }
.terms .socials { color: var(--ink3); margin-top: 2vw; }

/* ---------- 404 ---------- */
.nf { position: relative; height: 100vh; display: grid; place-items: center; text-align: center; overflow: hidden; }
.nf > div { position: relative; z-index: 1; }
.nf h1 { color: var(--ink); font-size: clamp(80px, 15vw, 300px); font-weight: 300; line-height: 1; letter-spacing: -.04em; }
.nf p { color: var(--gray); font-family: var(--font-ui); font-size: clamp(14px, 1.25vw, 25px); margin-top: 1vw; }
.nf__floating { position: absolute; left: 2.5vw; right: 2.5vw; bottom: 3vw; display: flex; justify-content: space-between; align-items: center; }

/* ---------- Brand deals (parcerias) ---------- */
.deals-hero { position: relative; min-height: 100vh; display: flex; flex-direction: column; justify-content: center; gap: 4vw; padding: 12vh 0 4vw; overflow: hidden; isolation: isolate; }
.deals-hero__top { display: grid; place-items: center; gap: 2vw; text-align: center; padding: 0 2.5vw; }
.deals-hero__top h1 { color: var(--ink); font-size: min(5vw, 10vh); font-weight: 300; line-height: 1.15; letter-spacing: .03em; }
.deals-hero__top h1 b { font-weight: 600; }
.deals-hero__top p { color: var(--ink3); font-family: var(--font-ui); font-size: clamp(14px, 1.2vw, 24px); line-height: 1.2; width: min(41vw, 100%); }
.deals-hero__top p b { color: var(--ink); font-weight: 400; }
.marquee-css { width: 100%; display: flex; position: relative; overflow: hidden; mask-image: linear-gradient(to right, transparent, #000 10%, #000 90%, transparent); }
.marquee-css__list { flex: none; display: flex; align-items: center; animation: marqueeCss 28s linear infinite; }
.marquee-css__item { display: flex; width: 15vw; align-items: center; justify-content: center; padding: 1.75vw 0; color: var(--ink); font-size: clamp(16px, 1.6vw, 32px); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; opacity: .55; }
@keyframes marqueeCss { to { transform: translateX(-100%); } }
.opp { position: relative; }
.opp__container { display: flex; gap: var(--gap-container); align-items: center; padding: 14vw 3vw; }
.opp__heading { display: flex; flex-direction: column; gap: var(--gap-heading); width: 27.5vw; flex-shrink: 0; }
.opp__heading h2 { color: var(--ink); font-size: clamp(30px, 4vw, 80px); font-weight: 600; line-height: 1.1; letter-spacing: -.035em; }
.opp__heading h2 span { color: var(--ink3); font-weight: 300; }
.opp__heading p { color: var(--ink3); font-family: var(--font-ui); font-size: clamp(14px, 1.2vw, 24px); line-height: 1.4; }
.opp__slider { display: flex; gap: 1.5vw; width: 100%; }
.opp__item { flex: 1 0 0; display: flex; flex-direction: column; gap: .75vw; padding: 2.25vw 2vw 2.5vw; min-height: 26vw; }
.opp__item h3 { color: var(--ink); font-family: var(--font-ui); font-size: clamp(14px, 1.1vw, 22px); margin-top: 9vw; font-weight: 400; }
.opp__item p { color: var(--ink3); font-family: var(--font-ui); font-size: clamp(12px, .85vw, 17px); }
.wu { position: relative; }
.wu__container { padding: 11.5vw 4vw 8.5vw 3vw; display: flex; flex-direction: column; gap: var(--gap-container); }
.wu__heading h2 { color: var(--ink); font-size: clamp(34px, 5.2vw, 110px); font-weight: 300; line-height: 1.15; letter-spacing: -.035em; width: min(64vw, 100%); }
.wu__heading h2 b { font-weight: 600; }
.wu__footer { margin-left: auto; width: 27.5vw; }
.wu__footer p { color: var(--ink3); font-family: var(--font-ui); font-size: clamp(14px, 1.25vw, 25px); line-height: 1.4; }
.wu__footer p b { color: var(--ink); font-weight: 400; }

/* ---------- Contacto (lets-talk) ajustes para igualar ---------- */
.contact__form-title { grid-column: 1 / -1; color: #000; font-size: clamp(24px, 2.25vw, 45px); font-weight: 500; line-height: 1.1; letter-spacing: .03em; margin-bottom: 1vw; }

/* ---------- Responsivo ---------- */
@media (max-width: 900px) {
  :root { --gap-heading: 16px; --gap-container: 40px; }
  .hero-c__grid { max-width: 100%; }
  .hero-c__grid p, .hero-s__p, .gs__sub, .open__sub, .talk-sec__grid p { max-width: 100%; width: 100%; }
  .hero-r__container { grid-template-columns: 1fr; gap: 24px; padding: 110px 18px 60px; }
  .hero-r__heading, .hero-r__sub { width: 100%; justify-self: start; }
  .hero-r__video { width: 70vw; height: 70vw; }
  .headline__footer { flex-direction: column; gap: 24px; padding-left: 0; }
  .headline__text, .headline__heading h2 { width: 100%; }
  .cards-sec__top, .oe__top, .caa__top { flex-direction: column; align-items: flex-start; }
  .cards-sec__sub, .oe__sub, .caa__sub { width: 100%; margin: 0; }
  .cards-sec__row, .opp__slider { flex-direction: column; }
  .card-g, .opp__item { min-height: 0; padding: 24px; }
  .card-g__h4, .opp__item h3 { margin-top: 24px; }
  .rg__container { flex-direction: column; }
  .rg__left, .rg__right { width: 100%; margin: 0; }
  .rg__center { width: 100%; height: 110vw; }
  .rg .flick__item { width: 80vw; height: 104vw; }
  .wwo__heading h2, .wwo__footer, .wu__heading h2, .wu__footer, .opp__heading { width: 100%; }
  .team__slider { height: 110vw; }
  .team .flick__item { width: 70vw; height: 90vw; }
  .oe__bottom { grid-template-columns: 1fr; }
  .oe__media { width: 100%; }
  .acc-css__content { padding-left: 0; width: 100%; }
  .process { height: auto; }
  .process__perspective { perspective: none; padding: 0 18px; }
  .process__content { width: 100%; aspect-ratio: auto; display: grid; gap: 40px; }
  .process__item { position: static; width: 100%; }
  .process__svg { display: none; }
  .roadmap__grid { padding: 0 18px; }
  .roadmap__row { grid-template-columns: auto auto 1fr; gap: 16px; }
  .roadmap__right p { width: 100%; }
  .caa__grid { grid-template-columns: 1fr; }
  .caa__item p { width: 100%; }
  .content__flex { flex-direction: column; }
  .content-panel { position: static; border: 0; padding: 0; max-height: none; }
  .content-panel__desc, .content-panel__cats, .content-panel__search { width: 100%; max-width: 100%; }
  .content-grid { grid-template-columns: 1fr; gap: 40px; }
  .content-item__top { height: 60vw; }
  .content-pagination { margin-left: 0; }
  .opp__container { flex-direction: column; align-items: flex-start; }
  .marquee-css__item { width: 40vw; }
}
