/* Brand refresh v1: navy #0B1220, azul #00A3FF / #0077E6, Exo 2 + Inter. */
:root{--bg:#0b1220;--bg2:#0f1a2e;--panel:rgba(255,255,255,.035);--line:rgba(255,255,255,.1);--fg:#e9f0f3;--muted:#9db3bf;--navy:#0077e6;--cyan:#00a3ff;--sand:#7cc8ff;--glow:#0077e6;--ink:#0b1220;
--serif:"Exo 2",Inter,Arial,sans-serif;--display:"Exo 2",Inter,Arial,sans-serif;--body:Inter,Arial,sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace;--w:1180px;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:400 1.0625rem/1.65 var(--body);-webkit-font-smoothing:antialiased;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;background-attachment:fixed}
img{max-width:100%;height:auto;display:block}a{color:inherit}
.skip-link{position:absolute;left:-999px;top:8px;background:var(--cyan);color:var(--ink);padding:.6rem 1rem;z-index:100}.skip-link:focus{left:8px}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.wrap{width:min(var(--w),100% - 2rem);margin-inline:auto}
/* header */
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:.8rem max(1rem,calc((100% - var(--w))/2));background:rgba(11,18,32,.72);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;text-decoration:none}.brand-logo{display:block;height:34px;width:auto;transition:transform .35s ease,filter .35s ease}.brand:hover .brand-logo{transform:translateY(-1px);filter:drop-shadow(0 0 14px rgba(0,163,255,.55))}.site-footer .brand-logo{height:40px}
.site-nav{display:flex;align-items:center;gap:1.5rem}.site-nav a{text-decoration:none;font:500 .82rem var(--mono);letter-spacing:.04em;color:var(--muted);padding:.3rem 0;border-bottom:1px solid transparent;transition:color .2s}.site-nav a:hover,.site-nav a[aria-current]{color:var(--fg);border-color:var(--cyan)}
.site-nav .nav-cta{color:var(--fg);border:1px solid var(--line);padding:.55rem 1rem;border-radius:6px;background:rgba(255,255,255,.04)}.site-nav .nav-cta:hover{border-color:var(--cyan);background:rgba(0,163,255,.12)}
.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:6px;padding:.5rem .9rem;font:500 .82rem var(--mono);align-items:center;gap:.5rem;cursor:pointer;color:var(--fg)}.menu-toggle span{display:none}
@media(max-width:860px){.menu-toggle{display:inline-flex}.site-nav{position:absolute;inset:100% 0 auto 0;background:rgba(11,18,32,.97);flex-direction:column;align-items:stretch;gap:0;padding:.5rem 1rem 1rem;border-bottom:1px solid var(--line);display:none}.site-nav.open{display:flex}.site-nav a{padding:.9rem 0;border-bottom:1px solid var(--line)}.site-nav .nav-cta{text-align:center;margin-top:.8rem}}
/* tipografía */
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.08;margin:0 0 1rem;letter-spacing:-.015em;text-wrap:balance}h1{font-size:clamp(2.5rem,6.2vw,4.6rem)}h2{font-size:clamp(2rem,4.6vw,3.4rem)}h3,.card h2{font-size:1.55rem}em{font-style:normal;color:var(--cyan)}
.eyebrow{display:flex;align-items:center;gap:.6rem;font:500 .78rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 1.3rem}.eyebrow span{display:none}.eyebrow::before{content:"//";color:var(--cyan)}
.lead{font-size:1.2rem;max-width:42rem;color:var(--muted)}.big{font:500 1.7rem/1.3 var(--serif);color:var(--fg)}.micro,.note{color:var(--muted);font:500 .8rem var(--mono)}.muted{color:var(--muted)}
.section{padding:clamp(3.5rem,9vw,7rem) 0}.section.wrap{padding-block:clamp(3.5rem,9vw,7rem)}
.button{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.4rem;border-radius:6px;font:600 .85rem var(--mono);letter-spacing:.03em;text-decoration:none;border:1px solid var(--cyan);cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--cyan);color:var(--ink);box-shadow:0 0 0 0 rgba(0,163,255,.4)}.button-primary:hover{box-shadow:0 10px 36px -10px rgba(0,163,255,.7)}.button-ghost{background:transparent;color:var(--fg);border-color:var(--line)}.button-ghost:hover{border-color:var(--sand)}
.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.6rem 0}.text-link{font:600 .85rem var(--mono);text-decoration:none;border-bottom:1px solid var(--sand);color:var(--sand)}
/* hero */
.hero{position:relative;overflow:hidden;padding:clamp(4.5rem,11vw,9rem) 0 clamp(9rem,23vw,21rem);background:radial-gradient(70% 60% at 85% 0%,rgba(0,119,230,.5),transparent 65%),radial-gradient(55% 60% at 0% 100%,rgba(0,163,255,.22),transparent 65%),var(--bg);border-bottom:1px solid var(--line)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 38%,rgba(124,200,255,.16) 47%,transparent 55%);pointer-events:none;animation:sheen 14s ease-in-out infinite alternate}@keyframes sheen{to{transform:translateX(12%)}}
.aurora i{position:absolute;border-radius:50%;filter:blur(80px);will-change:transform}.aurora i:nth-child(1){width:38vw;height:38vw;background:var(--glow);opacity:.3;top:-18%;right:-6%;animation:drift 24s ease-in-out infinite alternate}.aurora i:nth-child(2){width:30vw;height:30vw;background:var(--cyan);opacity:.18;bottom:-20%;left:8%;animation:drift 30s ease-in-out infinite alternate-reverse}.aurora i:nth-child(3){display:none}
@keyframes drift{to{transform:translate3d(5vw,4vh,0) scale(1.15)}}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.3fr .7fr;gap:2.5rem;align-items:center}@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-stage{display:none}}
.hero-motion{position:absolute;z-index:1;left:50%;bottom:-7%;width:min(94vw,1180px);opacity:.76;pointer-events:none;transform:translate3d(-50%,var(--hero-motion-y,0px),0) scale(var(--hero-motion-scale,1));transform-origin:50% 70%;filter:drop-shadow(0 26px 56px rgba(0,163,255,.22));will-change:transform}
.hero-motion img{display:block;width:100%;height:auto}
.hero-stage{display:block}
/* ventana de cristal */
.glass{border:1px solid var(--line);border-radius:12px;background:linear-gradient(150deg,rgba(255,255,255,.09),rgba(255,255,255,.02));backdrop-filter:blur(10px);overflow:hidden}
.glass-bar,.win-bar{display:flex;align-items:center;gap:.4rem;padding:.6rem .8rem;border-bottom:1px solid var(--line);font:500 .7rem var(--mono);color:var(--muted);letter-spacing:.06em}.dots{display:inline-flex;gap:.3rem;margin-right:.4rem}.dots i{width:.5rem;height:.5rem;border-radius:50%;background:rgba(255,255,255,.22)}
.glass pre{margin:0;padding:1.1rem;font:500 .85rem/1.9 var(--mono);color:var(--fg);white-space:pre-wrap}.glass pre b{color:var(--cyan);font-weight:500}.glass pre s{text-decoration:none;color:var(--sand)}
.band{overflow:hidden;background:var(--bg2);border-bottom:1px solid var(--line);padding:.9rem 0;white-space:nowrap}.band div{display:inline-flex;gap:2.2rem;animation:marquee 46s linear infinite}.band span{font:500 .82rem var(--mono);letter-spacing:.2em;color:var(--muted)}.band i{color:var(--glow);font-style:normal}@keyframes marquee{to{transform:translateX(-50%)}}
/* tarjetas tipo ventana */
.cards3,.svc-grid{display:grid;gap:1.1rem;margin-top:2.2rem;grid-template-columns:repeat(3,1fr)}.svc-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}@media(max-width:860px){.cards3{grid-template-columns:1fr}}
.card,.svc,.panel{display:block;text-decoration:none;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s}
.card,.panel{padding:1.5rem}.svc{padding:0}.svc .body{padding:1.3rem 1.5rem 1.5rem}
a.card:hover,.svc:hover{transform:translateY(-6px);border-color:rgba(124,200,255,.55);box-shadow:0 24px 60px -30px var(--glow)}
.art{height:150px;position:relative;border-bottom:1px solid var(--line);background:var(--bg2);overflow:hidden}.art::before{content:"";position:absolute;inset:-20%;transition:transform .8s}.svc:hover .art::before{transform:scale(1.12) rotate(3deg)}
.a1::before{background:radial-gradient(40% 70% at 70% 100%,var(--glow),transparent 70%),radial-gradient(30% 40% at 20% 20%,rgba(0,163,255,.4),transparent 70%)}
.a2::before{background:conic-gradient(from 200deg at 60% 60%,transparent,rgba(124,200,255,.55),transparent 40%,rgba(0,163,255,.35),transparent)}
.a3::before{background:linear-gradient(115deg,transparent 35%,rgba(124,200,255,.5) 48%,transparent 60%),radial-gradient(50% 60% at 10% 100%,rgba(0,163,255,.4),transparent)}
.a4::before{background:radial-gradient(35% 60% at 30% 90%,rgba(0,163,255,.55),transparent 70%),radial-gradient(40% 50% at 85% 10%,var(--glow),transparent 70%)}
.a5::before{background:radial-gradient(60% 80% at 50% 120%,rgba(124,200,255,.7),transparent 70%),linear-gradient(200deg,rgba(0,163,255,.25),transparent 50%)}
.a6::before{background:conic-gradient(from 20deg at 30% 70%,transparent,rgba(0,163,255,.5),transparent 35%,rgba(0,119,230,.5),transparent 70%)}
.art::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:28px 28px}
.idx{display:block;font:500 .72rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin-bottom:.8rem}.card p,.svc p,.panel p{color:var(--muted);margin:.4rem 0 1rem}.more{font:600 .78rem var(--mono);letter-spacing:.04em;color:var(--sand)}
.panel.wide{margin-bottom:1.2rem}
/* secciones */
.dark{background:linear-gradient(180deg,var(--bg2),var(--bg));border-block:1px solid var(--line)}
.steps{list-style:none;padding:0;margin:2.2rem 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}@media(max-width:860px){.steps{grid-template-columns:1fr 1fr}}@media(max-width:520px){.steps{grid-template-columns:1fr}}.steps li{border-top:1px solid var(--cyan);padding-top:1rem}.steps b{font:500 .8rem var(--mono);color:var(--sand);letter-spacing:.12em}.steps p{color:var(--muted)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}@media(max-width:860px){.split{grid-template-columns:1fr}}
.ticks{list-style:none;padding:0;margin:0}.ticks li{padding:.8rem 0 .8rem 1.8rem;border-bottom:1px solid var(--line);position:relative}.ticks li::before{content:"→";position:absolute;left:0;color:var(--cyan);font-family:var(--mono)}
/* ficha técnica */
.spec{margin:0;display:grid}.spec div{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1.2rem;border-bottom:1px solid var(--line);font:500 .8rem var(--mono)}.spec dt{color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.spec dd{margin:0;text-align:right;color:var(--fg);letter-spacing:.04em;text-transform:uppercase}
.tag{display:inline-block;background:var(--glow);color:var(--ink);font:600 .75rem var(--mono);padding:.25rem .6rem;border-radius:3px;margin-bottom:1rem}
.page-hero{padding:clamp(3.5rem,9vw,7rem) 0 0}.portrait{border-radius:12px;border:1px solid var(--line)}.prose p{margin:0 0 1.1rem;color:#c5d4db}.prose h2{font-size:1.8rem;margin-top:1.8rem}
.contact-band{position:relative;overflow:hidden;padding:clamp(3.5rem,9vw,7rem) 0;border-top:1px solid var(--line);background:radial-gradient(60% 90% at 90% 120%,rgba(0,119,230,.4),transparent 65%),radial-gradient(50% 70% at 0% 0%,rgba(0,163,255,.18),transparent 65%),var(--bg)}.contact-band p{color:var(--muted);max-width:40rem}
/* formulario */
.form{display:grid;gap:1rem}.form label{display:grid;gap:.4rem;font:500 .78rem var(--mono);letter-spacing:.04em;color:var(--muted)}.form input:not([type=checkbox]),.form select,.form textarea{font:400 1rem var(--body);padding:.85rem 1rem;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.04);color:var(--fg);width:100%}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--cyan);outline:none;box-shadow:0 0 0 3px rgba(0,163,255,.2)}.form select option{background:var(--bg2)}
.form .check{display:flex;gap:.6rem;font:400 .9rem var(--body);align-items:flex-start;color:var(--muted)}.form .check input{margin-top:.3rem;accent-color:var(--cyan)}.form small{font-weight:400}.hp{position:absolute;left:-9999px}.form-status{min-height:1.4rem;font:600 .85rem var(--mono)}.form-status.err{color:#ff8a7a}.form-status.ok{color:#6fe3b0}
.panel .button{margin:.4rem .4rem .4rem 0}.panel a{color:var(--sand)}
.site-footer{background:#070d19;border-top:1px solid var(--line);color:var(--muted);padding:3.5rem max(1rem,calc((100% - var(--w))/2)) 1.5rem}.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}@media(max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}
.site-footer h2{font:500 .75rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--sand);margin-bottom:.8rem}.site-footer nav a{display:block;text-decoration:none;padding:.25rem 0;font-size:.95rem}.site-footer a:hover{color:var(--fg)}.legal{margin-top:2.5rem;font:500 .75rem var(--mono);opacity:.7}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.in{opacity:1;transform:none}
/* LIA */
.lia-fab{position:fixed;right:1rem;bottom:1rem;z-index:60;background:var(--cyan);color:var(--ink);border:0;border-radius:6px;padding:.85rem 1.2rem;font:600 .82rem var(--mono);box-shadow:0 12px 36px -10px rgba(0,163,255,.6);cursor:pointer}
.lia-box{position:fixed;right:1rem;bottom:4.6rem;z-index:61;width:min(380px,100% - 2rem);max-height:min(70vh,560px);display:none;flex-direction:column;background:#0f1a2e;color:var(--fg);border:1px solid var(--line);border-radius:12px;box-shadow:0 30px 80px -20px #000;overflow:hidden}.lia-box.open{display:flex}
.lia-head{background:rgba(255,255,255,.05);border-bottom:1px solid var(--line);padding:.9rem 1rem;display:flex;justify-content:space-between;align-items:center;font:600 .9rem var(--mono)}.lia-head small{display:block;font-weight:400;color:var(--muted);font-size:.72rem}.lia-head button{background:none;border:0;color:var(--fg);font-size:1.4rem;cursor:pointer}
.lia-log{padding:1rem;overflow:auto;display:grid;gap:.6rem;font-size:.95rem}.lia-msg{background:rgba(255,255,255,.06);padding:.7rem .9rem;border-radius:10px;max-width:92%}.lia-msg.me{background:var(--navy);justify-self:end}
.lia-opts{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1rem 1rem}.lia-opts button,.lia-opts a{font:500 .78rem var(--mono);border:1px solid var(--line);background:transparent;color:var(--fg);border-radius:6px;padding:.5rem .8rem;cursor:pointer;text-decoration:none}.lia-opts button:hover,.lia-opts a:hover{border-color:var(--cyan)}.lia-opts .go{background:var(--cyan);color:var(--ink);border-color:var(--cyan)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.band div{animation:none}.hero-motion{transform:translateX(-50%);will-change:auto}}
.tk{padding:0 1.3rem 1rem!important}

.ref{margin:1.4rem 0 0}.ref img{display:block;width:100%;max-width:520px;height:auto;border-radius:10px;border:1px solid var(--line)}.ref figcaption{font:400 .72rem var(--mono);color:var(--muted);margin-top:.5rem}
.todo{background:rgba(0,119,230,.14);border:1px dashed var(--glow);border-radius:4px;padding:.05rem .4rem;font-size:.9em}
.linkbtn{background:none;border:0;color:inherit;font:inherit;padding:0;text-align:left;cursor:pointer;text-decoration:underline}

.proj-grid{display:grid;gap:1.4rem}@media(min-width:900px){.proj-grid{grid-template-columns:repeat(3,1fr)}}
.proj{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));transition:transform .4s,border-color .4s}.proj:hover{transform:translateY(-4px);border-color:var(--cyan)}
.proj-art{position:relative;aspect-ratio:16/9;background:radial-gradient(120% 90% at 80% 0,rgba(0,119,230,.22),transparent 60%),var(--bg2);border-bottom:1px solid var(--line);display:grid;place-items:center}.proj-art svg{width:86%;height:auto}.proj-n{position:absolute;left:1rem;bottom:.6rem;font:700 3rem/1 var(--display);color:rgba(255,255,255,.08)}
.proj-art .ln path{fill:none;stroke:var(--cyan);stroke-width:1.5;stroke-dasharray:6 6;animation:dash 6s linear infinite}.proj-art .nd circle{fill:var(--sand);animation:pulse 3s ease-in-out infinite}.proj-art .nd circle:nth-child(2n){animation-delay:.8s}
.proj-art .st rect{fill:rgba(0,163,255,.12);stroke:var(--cyan);animation:float 4s ease-in-out infinite}.proj-art .st rect:nth-child(2){animation-delay:.5s}.proj-art .st rect:nth-child(3){animation-delay:1s}
.proj-art .rg circle{fill:none;stroke:var(--sand);stroke-opacity:.7;transform-origin:160px 90px;animation:ring 5s ease-in-out infinite}.proj-art .rg circle:nth-child(2){animation-delay:.6s}.proj-art .rg circle:nth-child(3){animation-delay:1.2s}
@keyframes dash{to{stroke-dashoffset:-48}}@keyframes pulse{50%{opacity:.35}}@keyframes float{50%{transform:translateY(-6px)}}@keyframes ring{50%{transform:scale(1.07);opacity:.5}}
.proj-body{padding:1.3rem;display:flex;flex-direction:column;gap:.8rem;flex:1}.proj-body h2{margin:0;font-size:1.9rem}.proj-body p{color:var(--muted);margin:0}
.tag i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--glow);margin-right:.45rem;animation:pulse 2s infinite}.tag.live i{background:#4fd18b}
.photo{margin:0}.photo img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--line)}.hero-photo{max-width:420px;justify-self:end}.contact-photo{margin-bottom:1rem}
@media(prefers-reduced-motion:reduce){.proj-art *{animation:none!important}.proj{transition:none}}
.proj-body .tag{align-self:flex-start}

.contact-portrait{width:100%;max-width:320px;height:auto;border-radius:14px;margin:0 0 1rem}
.portrait-video{margin-top:1rem}

/* ajustes responsive */
picture{display:block;max-width:100%}picture img,video.portrait,img.portrait{max-width:100%;height:auto}.split>*{min-width:0}
.legal-doc table{display:block;max-width:100%;overflow-x:auto}

/* brand refresh: microanimaciones sobrias + selector de idioma (reservado) */
.button-primary{background:linear-gradient(135deg,#00a3ff,#0077e6);color:#fff;border-color:transparent}.button-primary:hover{box-shadow:0 10px 36px -10px rgba(0,163,255,.8)}
.card,.svc,.panel{border-radius:14px}.glass-bar,.win-bar{border-bottom-color:rgba(0,163,255,.25)}
.hero-copy>*{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}.hero-copy>*:nth-child(2){animation-delay:.08s}.hero-copy>*:nth-child(3){animation-delay:.16s}.hero-copy>*:nth-child(4){animation-delay:.24s}.hero-copy>*:nth-child(5){animation-delay:.32s}@keyframes rise{from{opacity:0;transform:translateY(16px)}}
.lang{position:relative}.lang summary{list-style:none;cursor:pointer;font:500 .78rem var(--mono);color:var(--muted);padding:.45rem .7rem;border:1px solid var(--line);border-radius:6px}.lang summary::-webkit-details-marker{display:none}.lang summary::after{content:" ▾"}.lang[open] summary{color:var(--fg);border-color:var(--cyan)}
.lang ul{position:absolute;right:0;top:calc(100% + .4rem);margin:0;padding:.3rem;list-style:none;min-width:11rem;background:var(--bg2);border:1px solid var(--line);border-radius:8px}.lang li{padding:.5rem .7rem;font:500 .78rem var(--mono);color:var(--muted)}.lang li[aria-current]{color:var(--fg)}
@media(max-width:860px){.lang{padding:.9rem 0;border-bottom:1px solid var(--line)}.lang ul{position:static;margin-top:.5rem}}
@media(prefers-reduced-motion:reduce){.hero-copy>*{animation:none}.brand-logo{transition:none}}

/* HERO LAYOUT v3 — approved direction (desktop + mobile).
   Reduce unused top gap, bring artwork into view, preserve copy contrast.
   The reference mockups are layouts, not screenshot assets to embed. */
@keyframes heroArtworkFloat{
  from{transform:translate3d(0,7px,0) scale(1)}
  to{transform:translate3d(0,-12px,0) scale(1.027)}
}
@media(min-width:901px){
  .hero{
    padding-top:clamp(1.9rem,4.5vw,4.2rem);
    padding-bottom:clamp(16rem,23vw,21rem);
  }
  .hero-motion{
    bottom:-1.4%;
    width:min(96vw,1270px);
    opacity:.66;
    filter:brightness(.86) drop-shadow(0 18px 38px rgba(0,163,255,.13));
  }
  .hero-motion img{animation:heroArtworkFloat 7.5s ease-in-out infinite alternate}
  .hero-grid{align-items:center}
}
@media(max-width:900px){
  .hero{
    display:flex;
    flex-direction:column;
    isolation:isolate;
    padding:clamp(1.4rem,5vw,2.2rem) 0 0;
  }
  .hero-grid{
    order:1;
    position:relative;
    z-index:2;
    grid-template-columns:minmax(0,1fr);
    gap:0;
  }
  .hero-stage{display:none}
  .hero-copy .actions{margin:1.05rem 0 1rem}
  .hero-motion{
    order:2;
    position:relative;
    inset:auto;
    width:100%;
    max-width:none;
    height:auto;
    margin:clamp(.3rem,1.4vw,.85rem) auto 0;
    padding:0 0 .35rem;
    display:block;
    opacity:.71;
    filter:brightness(.88) drop-shadow(0 12px 32px rgba(0,163,255,.15));
    transform:none;
    transform-origin:center;
    will-change:auto;
    z-index:1;
    pointer-events:none;
    overflow:hidden;
  }
  .hero-motion img{
    position:relative;
    left:50%;
    translate:-50% 0;
    display:block;
    width:min(122%,720px);
    max-width:none;
    height:auto;
    object-fit:contain;
    transform-origin:center;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 9%,#000 90%,transparent 100%);
    mask-image:linear-gradient(to bottom,transparent 0%,#000 9%,#000 90%,transparent 100%);
    animation:heroArtworkFloat 7s ease-in-out infinite alternate;
  }
}
@media(max-width:480px){
  .hero-copy .eyebrow{margin-bottom:1rem}
  .hero-copy .lead{margin-bottom:.75rem}
  .hero-motion{margin-top:.15rem}
  .hero-motion img{width:124%}
}
@media(prefers-reduced-motion:reduce){
  .hero-motion img{animation:none!important;transform:none!important}
}
@media(prefers-reduced-motion:reduce) and (max-width:900px){
  .hero-motion{transform:none!important}
}

/* Scroll-linked hero motion on mobile; disabled below for reduced motion. */
@media(max-width:900px) and (prefers-reduced-motion:no-preference){.hero-motion{transform:translate3d(0,var(--hero-motion-y,0px),0)}}

/* Final narrow-viewport guards. */
.svc-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.legal-doc{min-width:0;overflow-wrap:anywhere}.legal-doc code{overflow-wrap:anywhere;word-break:break-word}
