/* GS Support v3 / Brand fidelity system
   Logo assets supplied by client. No replacement of original letterforms or isotype.
   2026-10-17. Main raster-red sample ~#8E2025; #771B1D retained as deep red.
*/
:root{--brand:#8E2025;--brand-original:#771B1D;--brand-raster:#8E2025;--brand-hot:#D36064;--brand-light:#E19A97}
/* Hero is now defined by the CLIENT RED rather than only a glow. The right third
   has a red grounding, while left text remains on an opaque, accessible dark. */
.hero{background:#100b0d}
.hero-red-field{position:absolute;z-index:0;top:0;right:0;bottom:0;width:52%;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 58% 37%,#A9323B 0%,#8E2025 46%,#64181D 100%);clip-path:polygon(13% 0,100% 0,100% 100%,0 100%)}
.hero-red-field:before{content:"";position:absolute;inset:-20%;opacity:.26;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.19'/%3E%3C/svg%3E")}
.hero-red-field:after{content:"";position:absolute;inset:0;border-left:1px solid rgba(255,255,255,.12);background:linear-gradient(110deg,rgba(0,0,0,.22),transparent 49%,rgba(0,0,0,.12))}
.hero:before{background:linear-gradient(90deg,#100b0d 0%,rgba(16,11,13,.98) 34%,rgba(16,11,13,.7) 49%,transparent 75%)}
.hero-red-glow{background:rgba(207,72,73,.24);filter:blur(140px)}
.red-field-orbit{position:absolute;width:80%;aspect-ratio:1;left:12%;top:13%;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 64px rgba(255,255,255,.026),0 0 0 139px rgba(255,255,255,.017),inset 0 0 90px rgba(0,0,0,.08);animation:v3-field-breathe 16s ease-in-out infinite alternate}
.red-field-index{position:absolute;right:7%;bottom:35px;font-size:9px;letter-spacing:.22em;color:rgba(255,242,241,.65)}
@keyframes v3-field-breathe{from{transform:scale(.94)}to{transform:scale(1.06)}}
/* Real supplied wordmark, no typographic recreation. */
.brand-link img{width:215px;height:auto;max-height:58px;object-fit:contain}
.footer-logo img{width:208px;height:auto}
.brand-link{transition:opacity .3s ease;border-radius:3px;overflow:hidden;background:#8E2025;box-shadow:0 1px 0 rgba(255,255,255,.09)}.brand-link:hover{opacity:.81}
.brand-orbit-center{z-index:5}
.brand-orbit-frame{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:360px;min-height:203px;padding:28px 23px 24px;overflow:hidden;border:1px solid rgba(255,255,255,.29);border-radius:18px;background:linear-gradient(135deg,rgba(46,12,20,.85),rgba(87,18,29,.88) 54%,rgba(33,10,15,.88));box-shadow:0 36px 110px rgba(0,0,0,.36),0 0 45px rgba(228,74,79,.17),inset 0 1px rgba(255,255,255,.12);backdrop-filter:blur(18px);transform:rotate(-3deg);animation:v3-mark-float 8s ease-in-out infinite alternate}
.brand-orbit-frame:before{content:"";position:absolute;width:170px;height:170px;right:-56px;top:-76px;border-radius:50%;border:1px solid rgba(255,255,255,.23);box-shadow:0 0 0 40px rgba(255,255,255,.035)}
.brand-orbit-frame:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(112deg,transparent 25%,rgba(255,255,255,.13) 48%,transparent 57%);transform:translateX(-130%);animation:v3-brand-shine 10s ease-in-out infinite}
.brand-orbit-label,.brand-orbit-bottom{position:relative;z-index:1;font-size:8px;letter-spacing:.22em;color:#E8B9B7;font-weight:700;white-space:nowrap}
.brand-orbit-label{align-self:flex-start}
.brand-orbit-bottom{align-self:flex-end;font-size:7px}
.brand-orbit-logo{position:relative;z-index:1;width:100%;height:auto;filter:drop-shadow(0 2px 5px rgba(0,0,0,.1));margin:18px 0}
@keyframes v3-mark-float{from{transform:translateY(-6px) rotate(-3deg)}to{transform:translateY(9px) rotate(-1deg)}}
@keyframes v3-brand-shine{0%,28%{transform:translateX(-130%)}45%,100%{transform:translateX(170%)}}
.art-center{text-shadow:none}
.orbit-img{filter:drop-shadow(0 0 95px rgba(242,112,112,.25))}
.orbit-chip{background:linear-gradient(120deg,rgba(62,19,29,.8),rgba(25,12,18,.84));border-color:rgba(255,255,255,.24)}
/* Replaces the synthetic GS monogram in the V2 ecosystem with the cropped user asset. */
.eco-real-isotipo{width:clamp(28px,4.4vw,47px);height:clamp(46px,7.4vw,74px);object-fit:contain;filter:drop-shadow(0 0 16px rgba(255,255,255,.24));margin:5px 0}
.eco-center:has(.eco-real-isotipo){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
/* Manifesto: exact texture and logo as delivered, featured on red corporate canvas. */
.brand-manifesto{--bm-padding:116px;position:relative;isolation:isolate;background:radial-gradient(ellipse at 72% 5%,#A32931,#8E2025 47%,#731A20 100%);color:#fff;overflow:hidden;padding:var(--bm-padding) 0}
.brand-manifesto-noise{position:absolute;inset:0;pointer-events:none;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E")}
.brand-manifesto-curve{position:absolute;width:min(100vw,1250px);aspect-ratio:1;right:-30%;top:-80%;border:1px solid rgba(255,255,255,.14);border-radius:50%;box-shadow:0 0 0 120px rgba(255,255,255,.025),0 0 0 260px rgba(255,255,255,.018),0 0 0 440px rgba(255,255,255,.01);transform:scale(.95);transition:transform 2s cubic-bezier(.18,.7,.2,1)}
.brand-manifesto.is-in-view .brand-manifesto-curve{transform:scale(1.05)}
.brand-manifesto-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.05fr;gap:7%;align-items:center}
.brand-manifesto-kicker{display:flex;gap:11px;align-items:center;font-size:10px;letter-spacing:.25em;color:#F7C7C6;font-weight:700;margin-bottom:35px}
.brand-manifesto-kicker i{width:28px;height:1px;background:#fff;display:inline-block}
.brand-manifesto h2{font-family:'Manrope',sans-serif;font-size:clamp(43px,4.8vw,72px);line-height:1.14;letter-spacing:-.065em;margin:0 0 28px;font-weight:800}
.brand-manifesto h2 em{font-style:normal;color:#F2B6B5}
.brand-manifesto-copy>p{max-width:475px;color:#F4CDCC;font-size:15px;line-height:1.85;margin-bottom:33px}
.brand-manifesto-link{display:inline-flex;align-items:center;gap:29px;padding-bottom:11px;border-bottom:1px solid rgba(255,255,255,.55);font-size:12px;letter-spacing:.02em;font-weight:700;transition:gap .3s,border-color .3s}
.brand-manifesto-link:hover{gap:40px;border-color:#fff}
.brand-manifesto-art{position:relative;padding:25px 22px 18px;background:rgba(49,12,19,.16);border:1px solid rgba(255,255,255,.22);box-shadow:0 55px 90px rgba(46,5,13,.18),inset 0 1px rgba(255,255,255,.15);border-radius:16px;transform-origin:center center;backdrop-filter:blur(6px)}
.brand-manifesto-art:after{content:"";pointer-events:none;position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at var(--brand-glow-x,50%) var(--brand-glow-y,30%),rgba(255,255,255,.095),transparent 52%)}
.brand-manifesto-top,.brand-manifesto-foot{display:flex;justify-content:space-between;color:rgba(255,245,244,.76);font-size:8px;letter-spacing:.17em;font-weight:700}
.brand-manifesto-top{padding-left:6px}
.brand-manifesto-logo-wrap{position:relative;overflow:hidden;display:grid;place-items:center;min-height:220px;margin:15px 0 14px;border-radius:9px;background:#8E2025;box-shadow:inset 0 0 0 1px rgba(255,255,255,.11)}
.brand-manifesto-logo-wrap:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,rgba(255,255,255,.03),rgba(0,0,0,.1));z-index:1;pointer-events:none}
.brand-manifesto-logo-wrap img{width:100%;height:auto;min-height:180px;object-fit:contain;transition:transform .9s cubic-bezier(.18,.9,.3,1)}
.brand-manifesto-art:hover .brand-manifesto-logo-wrap img{transform:scale(1.035)}
.brand-manifesto-foot{padding:0 4px;gap:8px}
/* A consistent red note separates the logo moment and the process. */
.process{position:relative}
.process:before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,#72181c,#B03D41,#771B1D)}
/* Interface precision */
:focus-visible{outline:2px solid #f29f9f;outline-offset:3px}
.light-section :focus-visible{outline-color:#8E2025}
@media(max-width:1280px){.brand-manifesto-inner{gap:4%}.brand-manifesto-art{padding:17px 14px 14px}.brand-manifesto-logo-wrap{min-height:180px}.brand-manifesto h2{font-size:clamp(40px,4.6vw,67px)}}
@media(max-width:1024px){.hero-red-field{width:57%}.brand-orbit-frame{width:310px;min-height:183px;padding:24px 18px}.brand-orbit-label{font-size:7px}.brand-orbit-bottom{font-size:6px}.brand-manifesto{--bm-padding:95px}.brand-manifesto-inner{grid-template-columns:1fr 1fr;gap:35px}.brand-manifesto h2{font-size:clamp(38px,5.3vw,60px)}.brand-manifesto-logo-wrap{min-height:155px}}
@media(max-width:767px){.brand-link img{width:180px;max-height:49px}.hero-red-field{width:100%;height:42%;bottom:auto;clip-path:polygon(0 0,100% 0,100% 91%,0 100%)}.hero:before{background:linear-gradient(180deg,rgba(16,11,13,.12) 0%,rgba(16,11,13,.06) 22%,#100b0d 53%,#100b0d 100%)}.hero-red-glow{top:5%;width:86vw;height:56vw}.red-field-orbit{left:10%;top:-30%;width:80%}.red-field-index{display:none}.brand-orbit-frame{width:270px;min-height:137px;padding:17px 15px 14px;border-radius:12px}.brand-orbit-logo{margin:12px 0}.brand-orbit-label{font-size:6px}.brand-orbit-bottom{font-size:5px}.brand-manifesto{--bm-padding:80px}.brand-manifesto-inner{grid-template-columns:1fr;gap:45px}.brand-manifesto h2{font-size:clamp(40px,9vw,60px)}.brand-manifesto-copy>p{font-size:14px}.brand-manifesto-logo-wrap{min-height:130px}.brand-manifesto-art{padding:18px 14px 15px}.brand-manifesto-top,.brand-manifesto-foot{font-size:7px}.eco-real-isotipo{width:28px;height:49px}}
@media(max-width:390px){.brand-orbit-frame{width:235px;min-height:125px;padding:14px 13px}.brand-orbit-label{font-size:5.5px}.brand-orbit-bottom{font-size:4.9px}.brand-manifesto-art{padding:13px 10px}.brand-manifesto-logo-wrap{min-height:95px;margin:10px 0}.brand-manifesto-top,.brand-manifesto-foot{font-size:6px;letter-spacing:.10em}.brand-manifesto h2{font-size:39px}}
@media(prefers-reduced-motion:reduce){.red-field-orbit,.brand-orbit-frame:after{animation:none!important}.brand-orbit-frame{animation:none!important;transform:rotate(-1deg)}.brand-manifesto-curve{transform:scale(1)!important}.brand-manifesto-logo-wrap img{transform:none!important}}
