
  :root{
    --ink:#14171C;
    --ink-2:#20242C;
    --paper:#FFFFFF;
    --paper-2:#EEF6FB;
    --blue:#1AA6E0;
    --blue-dark:#1483B3;
    --blue-light:#8AD4F2;
    --graphite:#54606C;

    --bg:var(--paper);
    --bg-alt:var(--paper-2);
    --surface:#FFFFFF;
    --fg:var(--ink);
    --fg-muted:var(--graphite);
    --line:rgba(20,23,28,.14);
    --accent:var(--blue);
    --accent-ink:#FFFFFF;
    --pop:var(--blue-light);
    --shadow:rgba(20,23,28,.18);
    --header-bg:rgba(255,255,255,.8);
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:var(--ink);
      --bg-alt:#1B2029;
      --surface:#1F252E;
      --fg:var(--paper);
      --fg-muted:#A9B6C2;
      --line:rgba(255,255,255,.14);
      --shadow:rgba(0,0,0,.55);
      --header-bg:rgba(20,23,28,.74);
    }
  }
  :root[data-theme="dark"]{
    --bg:var(--ink);
    --bg-alt:#1B2029;
    --surface:#1F252E;
    --fg:var(--paper);
    --fg-muted:#A9B6C2;
    --line:rgba(255,255,255,.14);
    --shadow:rgba(0,0,0,.55);
    --header-bg:rgba(20,23,28,.74);
  }

  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }
  body{
    margin:0;
    background:var(--bg);
    color:var(--fg);
    font-family:'Work Sans',system-ui,-apple-system,Segoe UI,Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  h1,h2,h3{font-family:'Anton',Impact,'Arial Black',sans-serif;font-weight:400;line-height:.94;letter-spacing:.005em;text-wrap:balance;margin:0;}
  p{margin:0;}
  a{color:inherit;text-decoration:none;}
  ul{margin:0;padding:0;list-style:none;}
  button,input,textarea,select{font-family:inherit;color:inherit;}
  .eyebrow{
    font-family:'Space Mono',monospace;
    font-size:.72rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--accent);
    display:inline-flex;align-items:center;gap:.5em;
  }
  .container{max-width:1180px;margin:0 auto;padding:0 clamp(1.2rem,4vw,3rem);}
  section{position:relative;padding:clamp(4rem,9vw,7.5rem) 0;}
  .section-alt{background:var(--bg);}
  .section-head{max-width:640px;margin-bottom:clamp(2.2rem,5vw,3.5rem);}
  .section-head h2{font-size:clamp(2.1rem,5.4vw,3.6rem);margin-top:.5rem;}
  .section-head p{color:var(--fg-muted);font-size:1.05rem;margin-top:1rem;max-width:56ch;}
  .work-update-note{
    display:inline-flex;align-items:center;gap:.5rem;margin-top:1.1rem;
    background:var(--surface);border:1px solid var(--line);border-radius:999px;
    padding:.55rem 1.1rem;font-family:'Space Mono',monospace;font-size:.76rem;
    color:var(--fg-muted);max-width:none;
  }
  .work-update-note svg{width:15px;height:15px;flex:none;color:var(--accent);}

  /* Content is visible without JavaScript. */

  .skip-link{position:absolute;left:1rem;top:-4rem;background:var(--accent);color:#fff;padding:.7rem 1.1rem;border-radius:.4rem;z-index:999;transition:top .2s;}
  .skip-link:focus{top:1rem;}

  :focus-visible{outline:3px solid var(--accent);outline-offset:2px;}

  /* ---------- language pill ---------- */
  .lang-toggle{
    position:fixed;top:1.1rem;right:1.1rem;z-index:80;
    display:flex;align-items:center;gap:.5rem;
    background:var(--surface);border:1px solid var(--line);
    border-radius:999px;padding:.4rem;
    box-shadow:0 6px 20px var(--shadow);
  }
  .lang-toggle .flag-btn{
    width:34px;height:34px;border-radius:50%;overflow:hidden;flex:none;
    border:2px solid transparent;padding:0;cursor:pointer;background:none;
    display:block;line-height:0;transition:border-color .25s,transform .25s,opacity .25s;opacity:.5;
  }
  .lang-toggle .flag-btn svg{width:100%;height:100%;display:block;}
  .lang-toggle .flag-btn[aria-pressed="true"]{border-color:var(--accent);opacity:1;transform:scale(1.08);}
  .lang-toggle .flag-btn:hover{opacity:1;}
  .lang-toggle-inline{display:none;}

  /* ---------- whatsapp float ---------- */
  .wa-float{
    position:fixed;right:1.2rem;bottom:1.2rem;z-index:80;
    width:60px;height:60px;border-radius:50%;
    background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;
    box-shadow:0 10px 26px rgba(0,0,0,.28);
  }
  .wa-float svg{width:30px;height:30px;fill:#fff;}
  .wa-float .ring{
    position:absolute;inset:-6px;border-radius:50%;border:2px solid #25D366;opacity:.55;
  }
  @media (prefers-reduced-motion: no-preference){
    .wa-float .ring{animation:wa-pulse 2.2s ease-out infinite;}
  }
  @keyframes wa-pulse{0%{transform:scale(.85);opacity:.6;}100%{transform:scale(1.55);opacity:0;}}
  .wa-tip{
    position:absolute;right:70px;bottom:14px;background:var(--ink);color:var(--paper);
    font-family:'Space Mono',monospace;font-size:.72rem;padding:.5rem .8rem;border-radius:.5rem;
    white-space:nowrap;opacity:0;transform:translateX(6px);transition:opacity .2s,transform .2s;pointer-events:none;
  }
  .wa-float:hover .wa-tip,.wa-float:focus-visible .wa-tip{opacity:1;transform:none;}

  /* ---------- side rail ---------- */
  .rail{
    position:fixed;left:0;top:0;bottom:0;width:56px;z-index:60;
    display:flex;flex-direction:column;align-items:center;justify-content:space-between;
    padding:1.3rem 0;border-right:1px solid var(--line);
    background:var(--bg);
  }
  .rail-social{display:flex;flex-direction:column;gap:1rem;}
  .rail-social a{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--fg-muted);transition:background .2s,color .2s,transform .2s;}
  .rail-social a:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-2px);}
  .rail-social svg{width:16px;height:16px;fill:currentColor;}
  .rail-mark{width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Space Mono',monospace;font-weight:700;font-size:.62rem;}
  .rail-word{
    writing-mode:vertical-rl;transform:rotate(180deg);
    font-family:'Space Mono',monospace;letter-spacing:.28em;font-size:.68rem;color:var(--fg-muted);
    text-transform:uppercase;
  }
  @media (max-width:920px){ .rail{display:none;} }

  /* ---------- header ---------- */
  header.site{
    position:fixed;top:0;left:56px;right:0;z-index:70;
    padding:.9rem 0;transition:background .3s,box-shadow .3s,padding .3s;
  }
  @media (max-width:920px){ header.site{left:0;} }
  header.site .container{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;}
  header.site.scrolled{background:var(--header-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line);}
  .brand{display:flex;align-items:center;gap:.6rem;}
  .brand-logo{height:38px;width:auto;}
  footer .brand-logo{height:34px;}
  nav.main-nav{display:flex;align-items:center;gap:2.1rem;}
  @media (min-width:921px){ nav.main-nav{margin-right:7.2rem;} }
  nav.main-nav a{font-size:.86rem;font-weight:600;color:var(--fg-muted);position:relative;padding:.2rem 0;}
  nav.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:2px;background:var(--accent);transition:right .25s;}
  nav.main-nav a:hover{color:var(--fg);}
  nav.main-nav a:hover::after{right:0;}
  .nav-cta{
    background:var(--ink);color:var(--paper)!important;padding:.62rem 1.15rem;border-radius:999px;
    font-family:'Space Mono',monospace;font-size:.72rem!important;letter-spacing:.03em;text-transform:uppercase;
    white-space:nowrap;flex-shrink:0;
  }
  .nav-cta::after{display:none;}
  .nav-cta:hover{background:var(--accent);color:#fff!important;}
  .burger{display:none;position:relative;z-index:95;background:none;border:1px solid var(--line);width:42px;height:42px;border-radius:.5rem;align-items:center;justify-content:center;}
  .burger svg{width:20px;height:20px;stroke:var(--fg);}
  @media (max-width:920px){
    nav.main-nav{position:fixed;inset:0;background:var(--ink);flex-direction:column;justify-content:center;gap:2rem;transform:translateX(100%);transition:transform .35s;}
    nav.main-nav.open{transform:translateX(0);}
    nav.main-nav a{color:var(--paper);font-size:1.4rem;font-family:'Anton',sans-serif;text-transform:uppercase;}
    nav.main-nav a::after{display:none;}
    .nav-cta{color:#fff!important;background:var(--accent);align-self:center;}
    .burger{display:flex;}
    nav.main-nav.open ~ .burger{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.08);}
    nav.main-nav.open ~ .burger svg{stroke:#fff;}
    .lang-toggle{display:none;}
    .lang-toggle-inline{display:flex;align-items:center;gap:.6rem;margin-top:.4rem;}
    .lang-toggle-inline .flag-btn{
      width:38px;height:38px;border-radius:50%;overflow:hidden;flex:none;
      border:2px solid transparent;padding:0;cursor:pointer;background:none;
      display:block;line-height:0;transition:border-color .25s,opacity .25s,transform .25s;opacity:.55;
    }
    .lang-toggle-inline .flag-btn svg{width:100%;height:100%;display:block;}
    .lang-toggle-inline .flag-btn[aria-pressed="true"]{border-color:var(--blue-light);opacity:1;transform:scale(1.08);}
  }

  /* ---------- hero ---------- */
  .hero{padding:clamp(7.5rem,14vw,10rem) 0 clamp(3rem,6vw,4.5rem);overflow:hidden;position:relative;}
  .hero::before{
    content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
  .hero-spot{
    position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(480px circle at var(--x,50%) var(--y,20%), rgba(26,166,224,.18), transparent 60%);
    transition:background .1s;
  }
  .hero-grid{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:2.4rem;}
  .hero-copy{display:grid;grid-template-columns:1fr;gap:2rem;width:100%;}
  .hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>p.lead,.hero-copy>.hero-tags{pointer-events:none;}
  .hero-mascot-col{display:flex;align-items:center;justify-content:center;width:100%;}
  @media (min-width:980px){
    .hero-grid{flex-direction:row;align-items:center;gap:1.5rem;}
    .hero-copy{flex:1 1 auto;max-width:660px;}
    .hero-mascot-col{flex:1 1 auto;width:auto;justify-content:flex-end;}
  }
  .hero-tags{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.7rem;}
  .hero-tags span{
    font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;
    border:1px solid var(--line);padding:.4rem .75rem;border-radius:999px;color:var(--fg-muted);
  }
  .hero h1{font-size:clamp(2.6rem,8.4vw,6.4rem);}
  .hero h1 .line{display:block;overflow:hidden;}
  .hero h1 .line span{display:inline-block;transform:translateY(110%);}
  @media (prefers-reduced-motion: no-preference){
    .hero h1 .line span{animation:rise .8s cubic-bezier(.2,.8,.2,1) forwards;}
  }
  @media (prefers-reduced-motion: reduce){ .hero h1 .line span{transform:none;} }
  .hero h1 .accent{color:var(--accent);}
  @keyframes rise{to{transform:translateY(0);}}
  .hero p.lead{font-size:clamp(1.02rem,1.6vw,1.24rem);color:var(--fg-muted);max-width:52ch;margin-top:1.6rem;}
  .hero-slogan{
    display:flex;align-items:center;gap:.55rem;margin-top:1.1rem;
    font-family:'Anton',sans-serif;font-size:clamp(1.02rem,1.7vw,1.28rem);letter-spacing:.01em;
    color:var(--accent);text-transform:uppercase;
  }
  .hero-slogan svg{width:19px;height:19px;flex:none;transform:rotate(45deg);}
  .hero-ctas{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.2rem;}
  .btn{
    display:inline-flex;align-items:center;gap:.55rem;padding:.95rem 1.6rem;border-radius:999px;
    font-weight:700;font-size:.94rem;border:2px solid transparent;transition:transform .25s,box-shadow .25s,background .25s,color .25s;
    cursor:pointer;
  }
  .btn-primary{background:var(--accent);color:#fff;box-shadow:0 10px 24px rgba(26,166,224,.32);}
  .btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(26,166,224,.4);}
  .btn-ghost{border-color:var(--line);color:var(--fg);}
  .btn-ghost:hover{border-color:var(--fg);transform:translateY(-3px);}
  .btn svg{width:18px;height:18px;}

  /* ---------- mascot ---------- */
  .mascot-wrap{position:relative;display:inline-flex;flex-direction:column;align-items:center;z-index:1;pointer-events:auto;}
  .mascot-btn{background:none;border:none;padding:0;cursor:pointer;line-height:0;}
  .mascot-btn img{height:220px;width:auto;display:block;filter:drop-shadow(0 14px 20px var(--shadow));transition:transform .3s;}
  @media (min-width:980px){ .mascot-btn img{height:360px;} }
  @media (min-width:1200px){ .mascot-btn img{height:420px;} }
  @media (prefers-reduced-motion:no-preference){ .mascot-btn img{animation:mascot-bob 3.2s ease-in-out infinite;} }
  @keyframes mascot-bob{0%,100%{transform:translateY(0) rotate(-1.5deg);}50%{transform:translateY(-9px) rotate(1.5deg);}}
  .mascot-btn:hover img{transform:scale(1.06);}
  .mascot-btn:active img{transform:scale(.95);}
  .mascot-bubble{
    position:absolute;bottom:100%;left:50%;transform:translate(-50%,8px) scale(.92);margin-bottom:.7rem;
    background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:.7rem 1rem;
    font-family:'Space Mono',monospace;font-size:.76rem;line-height:1.4;width:max-content;max-width:230px;text-align:center;color:var(--fg);
    box-shadow:0 12px 26px var(--shadow);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;
  }
  .mascot-bubble::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:8px solid transparent;border-top-color:var(--surface);}
  .mascot-bubble.show{opacity:1;transform:translate(-50%,0) scale(1);}
  .mascot-hint{font-family:'Space Mono',monospace;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);margin-top:.6rem;}
  .section-mascot{position:absolute;top:-24px;right:0;height:190px;width:auto;z-index:1;filter:drop-shadow(0 14px 22px rgba(20,23,28,.3));display:none;transition:transform .35s;transform-origin:50% 100%;}
  @media (min-width:900px){ .section-mascot{display:block;} }
  @media (min-width:1200px){ .section-mascot{height:240px;top:-32px;} }
  .section-mascot:hover{transform:scale(1.08) rotate(-2deg);}
  .about-mascot{position:absolute;bottom:0;right:8%;height:62%;width:auto;z-index:1;filter:drop-shadow(0 12px 18px rgba(0,0,0,.35));transform-origin:50% 100%;}
  .info-mascot{transform-origin:75% 10%;}
  @keyframes mascot-float{0%,100%{transform:translateY(0) rotate(-3deg);}50%{transform:translateY(-14px) rotate(3deg);}}
  @keyframes mascot-sway{0%,100%{transform:rotate(-5deg);}50%{transform:rotate(5deg);}}
  @keyframes mascot-wave-loop{0%,20%,100%{transform:rotate(0deg);}5%,15%{transform:rotate(-14deg);}10%{transform:rotate(10deg);}}
  @media (prefers-reduced-motion:no-preference){
    #servicios .section-mascot{animation:mascot-float 3.4s ease-in-out infinite;}
    #proceso .section-mascot{animation:mascot-sway 3.8s ease-in-out infinite;}
    .about-mascot{animation:mascot-sway 4.2s ease-in-out infinite;}
    .info-mascot{animation:mascot-wave-loop 3.6s ease-in-out infinite;}
  }

  /* ---------- marquee ---------- */
  .marquee-wrap{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ink);color:var(--paper);overflow:hidden;padding:1rem 0;}
  .marquee{display:flex;width:max-content;gap:3rem;font-family:'Anton',sans-serif;font-size:clamp(1.3rem,3vw,2rem);text-transform:uppercase;white-space:nowrap;}
  @media (prefers-reduced-motion: no-preference){ .marquee{animation:scroll 26s linear infinite;} }
  .marquee span{display:flex;align-items:center;gap:3rem;}
  .marquee .dot{color:var(--blue-light);font-size:.7em;}
  @keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  /* ---------- services ---------- */
  .cmyk{display:flex;gap:.3rem;margin-bottom:.9rem;}
  .cmyk span{width:9px;height:9px;border-radius:50%;}
  .cmyk span:nth-child(1){background:#00AEEF;}
  .cmyk span:nth-child(2){background:#EC008C;}
  .cmyk span:nth-child(3){background:#FFF200;box-shadow:inset 0 0 0 1px var(--line);}
  .cmyk span:nth-child(4){background:var(--fg);}

  .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;}
  @media (max-width:980px){ .services-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:640px){ .services-grid{grid-template-columns:1fr;} }
  .service-card{
    background:var(--surface);border:1px solid var(--line);border-radius:1.1rem;overflow:hidden;
    display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s,border-color .3s;
    position:relative;
  }
  .service-card:hover{transform:translateY(-6px) rotate(-.3deg);box-shadow:0 18px 34px var(--shadow);border-color:var(--accent);}
  .service-media{
    aspect-ratio:4/3;position:relative;overflow:hidden;
    background:linear-gradient(150deg,var(--ink) 0%,var(--ink-2) 60%,var(--blue-dark) 140%);
  }
  .service-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
  .service-card:hover .service-media img{transform:scale(1.07);}
  .service-media.is-icon{display:flex;align-items:center;justify-content:center;}
  .service-media.is-icon svg{width:42%;height:42%;stroke:var(--blue-light);fill:none;stroke-width:1.3;}
  .service-num{
    position:absolute;top:.7rem;left:.8rem;font-family:'Space Mono',monospace;color:#fff;font-size:.72rem;
    background:rgba(0,0,0,.35);padding:.2rem .5rem;border-radius:999px;letter-spacing:.04em;
  }
  .service-body{padding:1.5rem 1.6rem 1.7rem;display:flex;flex-direction:column;gap:.7rem;flex:1;}
  .service-card h3{font-size:1.22rem;text-transform:uppercase;}
  .service-card p{color:var(--fg-muted);font-size:.92rem;flex:1;}

  /* ---------- process ---------- */
  .process-list{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;position:relative;}
  @media (max-width:820px){ .process-list{grid-template-columns:1fr 1fr;} }
  @media (max-width:520px){ .process-list{grid-template-columns:1fr;} }
  .process-item{border:1px solid var(--line);border-radius:1rem;background:var(--surface);position:relative;overflow:hidden;}
  .process-media{
    aspect-ratio:16/10;position:relative;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(150deg,var(--ink) 0%,var(--ink-2) 60%,var(--blue-dark) 140%);
  }
  .process-media svg{width:32%;height:32%;stroke:var(--blue-light);fill:none;stroke-width:1.3;}
  .process-media .n{font-family:'Anton',sans-serif;font-size:1.9rem;color:rgba(255,255,255,.3);position:absolute;top:.5rem;right:.8rem;}
  .process-body{padding:1.2rem 1.2rem 1.4rem;}
  .process-item h3{font-size:1.05rem;text-transform:uppercase;margin-bottom:.6rem;font-family:'Space Mono',monospace;letter-spacing:.04em;}
  .process-item p{color:var(--fg-muted);font-size:.9rem;}

  /* ---------- trabajos ---------- */
  .work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;}
  @media (max-width:900px){ .work-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:520px){ .work-grid{grid-template-columns:1fr;} }
  .work-tile{
    position:relative;border-radius:.9rem;overflow:hidden;border:1px solid var(--line);
    background:var(--surface);display:flex;flex-direction:column;
    transition:transform .35s,box-shadow .35s,border-color .35s;
  }
  .work-grid a.work-tile{cursor:pointer;}
  .work-tile:hover{transform:translateY(-5px);box-shadow:0 18px 34px var(--shadow);border-color:var(--accent);z-index:2;}
  .work-tile .browser-bar{display:flex;align-items:center;gap:.3rem;padding:.55rem .7rem;background:var(--ink-2);border-bottom:1px solid rgba(255,255,255,.08);flex:none;}
  .work-tile .browser-bar .dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.28);flex:none;}
  .work-tile .browser-bar .url{margin-left:.4rem;font-family:'Space Mono',monospace;font-size:.66rem;color:rgba(255,255,255,.6);background:rgba(255,255,255,.08);padding:.18rem .6rem;border-radius:999px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1;}
  .work-tile .shot{position:relative;aspect-ratio:16/11;overflow:hidden;background:linear-gradient(155deg,var(--ink-2),var(--ink));flex:none;}
  .work-tile .shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .5s;}
  .work-tile:hover .shot img{transform:scale(1.045);}
  .work-tile .info{position:relative;padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex:1;}
  .work-tile .info .eyebrow{color:var(--accent);display:block;}
  .work-tile .info h3{font-size:.98rem;text-transform:uppercase;margin-top:.2rem;}
  .work-tile .go{width:30px;height:30px;flex:none;border-radius:50%;background:var(--bg-alt);display:flex;align-items:center;justify-content:center;transition:background .3s;}
  .work-tile .go svg{width:14px;height:14px;stroke:var(--fg);transition:stroke .3s;}
  .work-tile:hover .go{background:var(--accent);}
  .work-tile:hover .go svg{stroke:#fff;}
  .work-tile.ig-tile .shot{display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#405de6,#5851db 20%,#833ab4 40%,#c13584 60%,#e1306c 78%,#fd1d1d 90%,#f77737);}
  .work-tile.ig-tile .ig-mark{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:rgba(255,255,255,.2);}
  .work-tile.ig-tile .ig-mark svg{width:30px;height:30px;stroke:#fff;fill:none;}
  .work-tile.ig-tile .info p{color:var(--fg-muted);font-size:.82rem;margin-top:.15rem;}
  .work-more{text-align:center;margin-top:2.2rem;}
  .trab-tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2.2rem;}
  .trab-tab{
    font-family:'Space Mono',monospace;font-size:.76rem;letter-spacing:.03em;text-transform:uppercase;
    padding:.6rem 1.15rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);
    color:var(--fg-muted);cursor:pointer;transition:background .25s,color .25s,border-color .25s;
  }
  .trab-tab:hover{color:var(--fg);border-color:var(--accent);}
  .trab-tab.active{background:var(--ink);color:var(--paper);border-color:var(--ink);}
  .trab-panel{display:none;}
  .trab-panel.active{display:block;}
  .mat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;}
  @media (max-width:900px){ .mat-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:520px){ .mat-grid{grid-template-columns:1fr;} }
  .mat-tile{
    position:relative;border-radius:.9rem;overflow:hidden;border:1px solid var(--line);
    background:var(--surface);transition:transform .35s,box-shadow .35s,border-color .35s;
  }
  .mat-tile:hover{transform:translateY(-5px);box-shadow:0 18px 34px var(--shadow);border-color:var(--accent);}
  .mat-tile .ph{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bg-alt);display:block;}
  .mat-tile .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s;}
  .mat-tile:hover .ph img{transform:scale(1.05);}
  .mat-tile figcaption{padding:.85rem 1rem;}
  .mat-tile figcaption .eyebrow{color:var(--accent);display:block;}
  .mat-tile figcaption h3{font-size:.98rem;text-transform:uppercase;margin-top:.2rem;}

  /* ---------- about ---------- */
  .about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;}
  @media (max-width:820px){ .about-grid{grid-template-columns:1fr;} }
  .about-grid h2{font-size:clamp(2rem,4.6vw,3.1rem);margin-top:.5rem;}
  .about-grid p{color:var(--fg-muted);margin-top:1.2rem;max-width:56ch;font-size:1.02rem;}
  .why-list{margin-top:1.6rem;display:flex;flex-direction:column;gap:.9rem;}
  .why-list li{display:flex;gap:.8rem;align-items:flex-start;font-size:.96rem;}
  .why-list svg{width:20px;height:20px;flex:none;color:var(--accent);margin-top:.15rem;}
  .about-visual{
    aspect-ratio:1/1;border-radius:1.3rem;background:linear-gradient(150deg,var(--ink) 0%,var(--ink-2) 55%,var(--blue-dark) 130%);
    position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;
  }
  .about-visual .big3{font-family:'Anton',sans-serif;color:rgba(247,244,236,.09);font-size:min(48vw,17rem);position:absolute;}
  .about-visual .badge{position:relative;background:var(--blue-light);color:var(--ink);font-family:'Space Mono',monospace;padding:1.1rem 1.4rem;border-radius:.8rem;transform:rotate(-3deg);font-size:.85rem;letter-spacing:.03em;text-align:center;box-shadow:0 16px 30px rgba(0,0,0,.4);}
  .about-visual .badge b{display:block;font-family:'Anton',sans-serif;font-size:1.6rem;color:var(--ink);letter-spacing:0;margin-bottom:.2rem;}

  /* ---------- contact ---------- */
  .contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2.4rem;}
  @media (max-width:900px){ .contact-grid{grid-template-columns:1fr;} }
  form.contact-form{background:var(--surface);border:1px solid var(--line);border-radius:1.2rem;padding:2rem;display:grid;gap:1.1rem;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
  @media (max-width:520px){ .form-row{grid-template-columns:1fr;} }
  .field{display:flex;flex-direction:column;gap:.4rem;}
  .field label{font-family:'Space Mono',monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted);}
  .field input,.field select,.field textarea{
    background:var(--bg);border:1px solid var(--line);border-radius:.6rem;padding:.75rem .9rem;font-size:.95rem;color:var(--fg);
    transition:border-color .2s,box-shadow .2s;
  }
  .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(26,166,224,.18);outline:none;}
  .field textarea{resize:vertical;min-height:100px;font-family:inherit;}
  .form-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
  .form-note{font-size:.78rem;color:var(--fg-muted);}
  .form-status{font-size:.82rem;font-weight:600;min-height:1.2em;}
  .contact-info{display:flex;flex-direction:column;gap:1.3rem;}
  .info-card{background:var(--ink);color:var(--paper);border-radius:1.2rem;padding:1.8rem;}
  .info-card .eyebrow{color:var(--blue-light);}
  .info-card h3{font-size:1.5rem;margin-top:.5rem;text-transform:uppercase;}
  .info-line{display:flex;align-items:center;gap:.7rem;margin-top:1.1rem;font-size:.95rem;}
  .info-line svg{width:18px;height:18px;stroke:var(--blue-light);flex:none;}
  .info-social{display:flex;gap:.7rem;margin-top:1.3rem;}
  .info-social a{width:38px;height:38px;border-radius:50%;background:rgba(247,244,236,.1);display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;}
  .info-social a:hover{background:var(--accent);transform:translateY(-2px);}
  .info-social svg{width:17px;height:17px;fill:var(--paper);}
  .info-card2{border:1px solid var(--line);border-radius:1.2rem;padding:1.5rem 1.8rem;font-size:.86rem;color:var(--fg-muted);}
  .info-card2 b{color:var(--fg);}

  /* ---------- footer ---------- */
  footer{border-top:1px solid var(--line);padding:3rem 0 2rem;}
  .footer-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem;padding-bottom:2rem;border-bottom:1px solid var(--line);}
  .footer-brand{display:flex;flex-direction:column;gap:.55rem;}
  .footer-slogan{font-family:'Space Mono',monospace;font-size:.78rem;letter-spacing:.02em;color:var(--fg-muted);font-style:italic;}
  .footer-nav{display:flex;flex-wrap:wrap;gap:1.5rem;}
  .footer-nav a{font-size:.86rem;color:var(--fg-muted);}
  .footer-nav a:hover{color:var(--accent);}
  .footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.4rem;font-size:.78rem;color:var(--fg-muted);}
  .footer-social{display:flex;gap:.7rem;}
  .footer-social a{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--fg-muted);}
  .footer-social a:hover{color:var(--accent);border-color:var(--accent);}
  .footer-social svg{width:14px;height:14px;fill:currentColor;}

  .crop-corner{position:absolute;width:16px;height:16px;color:var(--line);pointer-events:none;}

/* DC3: clearer hierarchy, mobile-first contact and accessible interactions. */
:root{--accent:#0078a8;--accent-ink:#fff;--graphite:#4e5e6b;--fg-muted:#4e5e6b;--line:#d5e0e7;--bg:#fff;--bg-alt:#f1f6f9;--surface:#fff;--fg:#14171c;--header-bg:rgba(255,255,255,.97);--shadow:rgba(15,38,52,.1)}
body{line-height:1.65;font-size:1rem}figure{margin:0}h1,h2,h3{line-height:1.08}h2{letter-spacing:.01em}h3{font-family:'Work Sans',system-ui,sans-serif;font-weight:700}a,button{-webkit-tap-highlight-color:transparent}a,button,input,textarea,select{touch-action:manipulation}p,a{overflow-wrap:anywhere}section,[id]{scroll-margin-top:100px}section{padding:clamp(3.5rem,7vw,6rem) 0}.container{max-width:1250px}.section-alt{background:var(--bg-alt)}.section-head{max-width:720px}.section-head h2{font-size:clamp(2.2rem,4.3vw,3.5rem)}.section-head p{line-height:1.7}.eyebrow{font-family:'Work Sans',system-ui,sans-serif;font-weight:700;font-size:.875rem;letter-spacing:.1em}.brand-logo{height:40px;width:auto;max-width:220px}.skip-link{position:fixed;background:#005575}.skip-link:focus{z-index:200}
header.site{left:0;background:var(--header-bg);border-bottom:1px solid var(--line);padding:.8rem 0}nav.main-nav{gap:1.6rem}nav.main-nav a{font-size:.9rem;min-height:44px;display:flex;align-items:center}.nav-cta,nav.main-nav a.nav-cta{font-family:'Work Sans',system-ui,sans-serif;font-size:.875rem!important;padding:.55rem 1.1rem;letter-spacing:0;text-transform:none;background:#152a38;color:#fff!important}.nav-cta:hover{background:#005c80!important}.lang-toggle{top:1.2rem;box-shadow:none;padding:.15rem;border-radius:7px;gap:0}.language-link{font-family:'Work Sans',system-ui,sans-serif;display:inline-flex;align-items:center;justify-content:center;width:44px;min-height:38px;border-radius:5px;color:#435362;font-size:.875rem;font-weight:700}.language-link[aria-current]{background:#152a38;color:#fff}.burger{cursor:pointer;width:44px;height:44px}.lang-toggle-inline{margin-top:0}
.hero{padding:clamp(8rem,12vw,10rem) 0 4rem;background:#122632;color:#fff}.hero::before{display:none}.hero-grid{gap:2.5rem}.hero-copy{gap:1.15rem;max-width:740px!important}.hero-copy>h1,.hero-copy>p.lead,.hero-copy>.hero-tags,.hero-copy>.eyebrow{pointer-events:auto}.hero h1{font-size:clamp(3rem,6.5vw,5.6rem);letter-spacing:.005em;line-height:1.02}.hero h1 .line{overflow:visible}.hero h1 .line span{animation:none;transform:none}.hero h1 .accent{color:#48bdeb}.hero .eyebrow{color:#93d8f4}.hero p.lead{margin-top:0;color:#d5e3eb;font-size:clamp(1rem,1.4vw,1.125rem);max-width:51ch;line-height:1.7}.hero-slogan{display:none}.hero-tags{margin-top:0;gap:.5rem}.hero-tags span{font-family:inherit;font-size:.875rem;text-transform:none;letter-spacing:0;border-color:#416070;color:#d5e3eb;padding:.3rem .75rem}.hero-ctas{margin-top:.3rem;gap:.8rem}.btn{min-height:50px;font-size:1rem;line-height:1.4;padding:.85rem 1.35rem;border-radius:8px;justify-content:center}.btn-primary{background:#168aba;color:#fff;box-shadow:none}.hero .btn-primary{background:#48bdeb;color:#102632}.btn-primary:hover{background:#00638b;color:#fff;transform:translateY(-2px);box-shadow:none}.hero .btn-ghost{color:#fff;border-color:#6f8998}.hero .btn-ghost:hover{border-color:#fff}.hero-mascot-col{flex:0 1 350px!important;align-self:center}.mascot-wrap{width:100%;padding:2rem 0 1rem;isolation:isolate}.hero .mascot-wrap::before{content:"";position:absolute;width:95%;aspect-ratio:1;max-width:330px;top:50%;left:50%;transform:translate(-50%,-54%);border:1px solid #356379;border-radius:50%;z-index:-1}.mascot-btn img{height:clamp(230px,29vw,370px);max-width:100%;object-fit:contain;animation:none;filter:drop-shadow(0 20px 20px rgba(0,0,0,.25))}.mascot-bubble{font-family:inherit;font-size:.875rem;line-height:1.5;max-width:250px;color:#142936;background:#fff;border-color:#d5e0e7}.mascot-hint{font-family:inherit;text-transform:none;letter-spacing:0;font-size:.875rem;color:#bfd7e3;margin-top:1rem}.section-mascot{display:none!important}.info-mascot{display:none}.about-mascot{animation:none!important}.marquee-wrap{padding:.85rem 0;background:#1e3746;border-color:#36505e}.marquee{animation:none!important;gap:2rem;font-family:'Work Sans',system-ui,sans-serif;font-size:.875rem;letter-spacing:.12em;font-weight:700;white-space:normal;width:auto;justify-content:center}.marquee>span{gap:1rem;justify-content:center;flex-wrap:wrap}.marquee>span+span{display:none}.marquee .dot{font-style:normal}.marquee-wrap{padding-left:1.25rem;padding-right:1.25rem}
.services-grid{gap:1.1rem}.service-card{border-radius:12px}.service-card:hover{transform:translateY(-3px);box-shadow:0 14px 24px var(--shadow)}.service-media{aspect-ratio:auto;height:90px;background:#eaf3f8;border-bottom:1px solid #d5e0e7}.service-media.is-icon{justify-content:flex-end;padding:1.5rem}.service-media.is-icon svg{width:42px;height:42px;stroke:#0078a8}.service-num{top:1.5rem;left:1.4rem;background:transparent;color:#586b79;padding:0;font-family:inherit;font-size:.875rem}.service-body{padding:1.5rem;gap:.85rem}.service-card h3{font-size:1.25rem;text-transform:none;line-height:1.3}.service-card p{font-size:1rem;line-height:1.65}.service-link{display:inline-flex;align-items:center;min-height:44px;margin-top:.2rem;color:#006c96;font-size:.95rem;font-weight:700;text-decoration:underline;text-underline-offset:4px}.process-media{aspect-ratio:auto;height:85px;background:#152d3c;justify-content:flex-start;padding:1.4rem}.process-media svg{width:32px;height:32px}.process-media .n{font-family:inherit;font-size:1.3rem;top:1.5rem;right:1.2rem;color:#aacbdc}.process-item h3{font-family:inherit;letter-spacing:0;font-size:1.05rem;text-transform:none}.process-item p{font-size:1rem;line-height:1.6}.process-body{padding:1.3rem}.process-list{gap:1rem}
.trab-tabs{gap:.6rem}.trab-tab{font-family:inherit;font-size:.9rem;text-transform:none;min-height:44px;border-radius:7px;letter-spacing:0;padding:.5rem 1rem}.trab-tab.active{background:#152d3c;border-color:#152d3c}.trab-panel{display:block;margin-bottom:2rem}.js .trab-panel{display:none}.js .trab-panel.active{display:block}.work-tile .browser-bar .url{font-family:inherit;font-size:.8125rem;color:#d3e4ee}.work-tile .info{padding:1.1rem}.work-tile .info h3,.mat-tile figcaption h3{font-family:inherit;font-weight:700;font-size:1rem;text-transform:none;line-height:1.4}.work-tile .info .eyebrow,.mat-tile figcaption .eyebrow{font-size:.8125rem;letter-spacing:.06em}.work-tile.ig-tile .info p{font-size:.875rem}.work-tile,.mat-tile{border-radius:10px}.work-tile:hover,.mat-tile:hover{transform:translateY(-3px)}.mat-tile .ph img{object-fit:contain}.preview-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:2rem;color:#9bdfff;font-size:1.65rem;font-weight:700;text-align:center}.shot img{z-index:1}.shot img.preview-failed{display:none}.mat-tile figcaption{padding:1rem}.work-more .btn{border-color:#91a9b7}
.about-grid{gap:3rem}.about-grid p{line-height:1.7}.why-list li{font-size:1rem}.about-visual{max-height:380px}.about-visual .badge{align-self:flex-start;margin-top:2rem;font-family:inherit;font-size:1rem;transform:rotate(-2deg)}.about-visual .badge b{font-size:1.4rem}.about-mascot{height:62%;right:10%}.faq-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:4rem;align-items:start}.faq-grid .section-head{margin-bottom:0}.faq-list details{border-bottom:1px solid #c8d7e0;padding:1.1rem 0}.faq-list details:first-child{border-top:1px solid #c8d7e0}.faq-list summary{font-size:1.0625rem;font-weight:600;cursor:pointer;padding:.4rem 1.5rem .4rem 0;line-height:1.5}.faq-list details p{color:#4e5e6b;padding:.65rem 0 .4rem;line-height:1.7}.faq-list summary::marker{color:#0078a8}
form.contact-form{padding:clamp(1.2rem,3vw,2rem);border-radius:12px}.contact-form[hidden]{display:none}.field label{font-family:inherit;font-size:.875rem;font-weight:600;letter-spacing:0;text-transform:none;color:#344957}.field input,.field select,.field textarea{font-size:1rem;min-width:0;max-width:100%;border-color:#a4b8c6}.field textarea{min-height:140px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#00688e;box-shadow:0 0 0 3px #c8edf9}.form-note{font-size:.875rem;line-height:1.6}.form-status{font-size:.875rem}.info-card{padding:2rem;border-radius:12px;background:#152d3c}.info-card h3{font-family:inherit;font-size:1.5rem;line-height:1.2;margin-top:.8rem}.info-line{min-height:44px;font-size:1rem;overflow-wrap:anywhere}.info-line[href]:hover{text-decoration:underline;text-underline-offset:4px}.info-social a{width:44px;height:44px}.info-card2{font-size:1rem;line-height:1.65}.wa-float{background:#117940;width:54px;height:54px;right:1rem;bottom:1rem}.wa-float .ring{display:none}.wa-tip{font-family:inherit;font-size:.875rem}.footer-nav a{font-size:.9rem;min-height:44px;display:inline-flex;align-items:center}.footer-social a{width:44px;height:44px}.footer-slogan,.footer-bottom{font-family:inherit;font-size:.875rem}.footer-bottom{padding-bottom:3rem}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #0a88b8;outline-offset:4px}.hero a:focus-visible{outline-color:#b8eaff}
@media(min-width:921px){nav.main-nav{margin-right:6rem}.hero-grid{flex-direction:row;align-items:center}.hero-copy{flex:1;min-width:0}.hero-mascot-col{width:30%}.lang-toggle{right:.8rem}}
@media(max-width:1100px) and (min-width:921px){nav.main-nav{gap:1rem;margin-right:5.5rem}.brand-logo{max-width:180px;height:auto}.hero-grid{gap:1.5rem}.hero h1{font-size:4.5rem}.hero-mascot-col{flex-basis:260px!important}}
@media(max-width:920px){header.site .container{gap:1rem}.hero-grid{flex-direction:column;align-items:flex-start}.hero-copy{width:100%}.hero-mascot-col{width:100%;flex:0 0 auto!important;margin-top:.8rem}.mascot-wrap{width:240px;padding:1rem 0}.mascot-btn img{height:230px}.hero{padding-top:7.8rem}.hero h1{font-size:clamp(3rem,9vw,5.2rem)}.hero .mascot-wrap::before{max-width:230px}.lang-toggle-inline .language-link{color:#e2eef5;min-height:44px}.lang-toggle-inline .language-link[aria-current]{background:#e2eef5;color:#152d3c}.js nav.main-nav{position:absolute;inset:100% 0 auto;background:#152d3c;transform:none;display:flex;visibility:hidden;opacity:0;pointer-events:none;padding:1.25rem;gap:.3rem;align-items:stretch;box-shadow:0 15px 20px rgba(0,0,0,.15);max-height:calc(100dvh - 80px);overflow:auto;transition:opacity .15s}.js nav.main-nav.open{visibility:visible;opacity:1;pointer-events:auto}.js nav.main-nav a{font-family:inherit;font-size:1rem;text-transform:none;justify-content:center;min-height:46px}.js nav.main-nav .nav-cta{background:#168aba;align-self:stretch}.js .lang-toggle-inline{justify-content:center;margin-top:.6rem}.js nav.main-nav.open ~ .burger{background:#152d3c;border-color:#152d3c}html:not(.js) header.site{position:relative}html:not(.js) header.site .container{flex-wrap:wrap}html:not(.js) nav.main-nav{position:static;transform:none;flex-direction:row;flex-wrap:wrap;background:#152d3c;gap:.5rem;width:100%;padding:.75rem}html:not(.js) nav.main-nav a{font-family:inherit;font-size:.875rem;padding:.5rem}html:not(.js) .burger{display:none}html:not(.js) .hero{padding-top:3rem}.faq-grid{grid-template-columns:1fr;gap:1.6rem}.contact-grid{gap:1.5rem}}
@media(max-width:640px){.container{padding:0 1.25rem}.hero{padding-bottom:2.5rem}.hero-copy{gap:1rem}.hero h1{font-size:clamp(2.75rem,10.5vw,4rem)}.hero-ctas{display:grid;grid-template-columns:1fr;width:100%;max-width:440px}.hero-tags span{font-size:.8125rem}.hero-mascot-col{margin-top:0}.mascot-btn img{height:190px}.hero .mascot-wrap::before{width:190px}.mascot-hint{margin-top:.5rem}.hero-grid{gap:1.25rem}.marquee>span{font-size:.75rem;gap:.65rem}.services-grid{gap:1rem}.work-grid,.mat-grid{gap:1rem}.section-head{margin-bottom:1.8rem}.about-visual{aspect-ratio:4/3}.contact-grid{grid-template-columns:minmax(0,1fr)}.form-row{grid-template-columns:minmax(0,1fr)}.contact-info{min-width:0}.info-card{padding:1.35rem}.info-line{font-size:.94rem}.form-foot .btn{width:100%}.about-grid{gap:2rem}.wa-float{bottom:max(.75rem,env(safe-area-inset-bottom))}.footer-top{gap:1rem}.footer-nav{gap:.5rem 1.2rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{header.site,.wa-float,.lang-toggle,.burger,.hero-mascot-col,.marquee-wrap,.contact-form{display:none!important}.hero{padding:1rem 0;background:#fff;color:#000}.hero .lead,.hero .eyebrow,.hero h1 .accent{color:#000}.trab-panel,.js .trab-panel{display:block!important}section{padding:1.5rem 0}.service-card,.work-tile,.mat-tile{break-inside:avoid}}
/* The supplied logo has white lettering: keep it on a dark surface. */
header.site,header.site.scrolled{background:#122632;border-bottom-color:#36505e}nav.main-nav a{color:#e4edf3}nav.main-nav a:hover{color:#fff}nav.main-nav a.nav-cta{background:#48bdeb;color:#102632!important}.lang-toggle{background:#122632;border-color:#56717f}.lang-toggle .language-link{color:#e4edf3}.lang-toggle .language-link[aria-current]{background:#d9f2fc;color:#102632}.burger{border-color:#64808f}.burger svg{stroke:#fff}.footer-brand .brand{background:#122632;border-radius:8px;padding:.65rem .8rem;width:fit-content}.hero .mascot-btn:focus-visible{outline-color:#b8eaff}
/* Animated DC3 universe: waves, orbiting social links and a larger Bobby. */
.hero{background:radial-gradient(ellipse at 78% 44%,#164b65 0%,#122c3c 34%,#10232f 72%);overflow:hidden}
.hero-grid{gap:2rem}.hero-copy{position:relative;z-index:2;flex:1 1 58%!important}.hero-mascot-col.network-stage{position:relative;isolation:isolate;flex:0 0 40%!important;width:40%;min-height:570px;display:flex;align-items:center;justify-content:center;align-self:center;margin:0}
.network-stage .mascot-wrap{width:100%;padding:2rem 0;pointer-events:none;position:relative;z-index:2}.network-stage .mascot-wrap::before{display:none}.network-stage .mascot-btn{pointer-events:auto;max-width:100%;position:relative}.network-stage .mascot-btn img{height:470px;max-width:100%;width:auto;object-fit:contain;filter:drop-shadow(0 20px 10px #06121c88) drop-shadow(0 0 28px #18b4f45c);will-change:transform}.network-stage .mascot-hint{color:#d4f0fc;background:transparent;font-size:.875rem;line-height:1.5;text-align:center;max-width:28ch;margin-top:1.6rem}.network-stage .mascot-bubble{bottom:90%;z-index:5;border:1px solid #64c7e8;background:#f4fcff;color:#163445;box-shadow:0 12px 36px #05172360}
.social-universe{position:absolute;inset:0;z-index:1;pointer-events:none}.network-halo{position:absolute;inset:12% -12%;border-radius:50%;background:radial-gradient(ellipse,#23bafa38 0%,#189cd51a 40%,transparent 70%);filter:blur(8px)}
.social-orbit{position:absolute;border:1px solid #68d7ff40;border-radius:50%;aspect-ratio:1;top:50%;left:50%;pointer-events:none;transform:translate(-50%,-50%) rotate(var(--start));box-shadow:inset 0 0 35px #39c0f00b;--start:0deg;--duration:30s}
.orbit-instagram{width:110%;--start:-48deg;--duration:32s}.orbit-facebook{width:87%;--start:150deg;--duration:38s;border-style:dashed;border-color:#92dfff50}.orbit-whatsapp{width:125%;--start:65deg;--duration:45s}
.social-satellite{position:absolute;right:0;top:50%;margin-top:-27px;margin-right:-27px;width:54px;height:54px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:#173d51;color:#fff;border:1px solid #92e5ff70;box-shadow:0 0 22px #36c7ff33,0 8px 25px #00172377;pointer-events:auto;transform:rotate(calc(-1 * var(--start)));transition:box-shadow .25s,background .25s}
.social-satellite svg{width:27px;height:27px;fill:currentColor}.social-satellite.instagram{background:linear-gradient(145deg,#813ab4,#c13584,#dc4162)}.social-satellite.facebook{background:#1263ce}.social-satellite.whatsapp{background:#08783f}.social-satellite:hover,.social-satellite:focus-visible{box-shadow:0 0 0 6px #89ddff33,0 0 40px #64cfff66;outline:2px solid #d9f5ff;outline-offset:4px}.social-orbit:has(a:hover),.social-orbit:has(a:focus-visible){animation-play-state:paused!important}.social-orbit:has(a:hover) .social-satellite,.social-orbit:has(a:focus-visible) .social-satellite{animation-play-state:paused!important}
.network-wave{position:absolute;top:50%;left:50%;width:100%;aspect-ratio:1;border:1px solid #3ec7ff;border-radius:50%;transform:translate(-50%,-50%) scale(.6);opacity:0;pointer-events:none}.wave-two{animation-delay:1.7s!important}.wave-three{animation-delay:3.4s!important}.network-spark{position:absolute;width:7px;height:7px;border-radius:50%;background:#90e7ff;box-shadow:0 0 17px #3dc8ff;pointer-events:none}.spark-one{top:12%;right:20%}.spark-two{top:76%;left:8%}.spark-three{top:82%;right:4%}
.motion-toggle{position:absolute;z-index:4;bottom:-1.5rem;right:0;border:1px solid #7799aa80;border-radius:999px;padding:.5rem .8rem;background:#112d3e;color:#d8edf7;font:inherit;font-size:.8125rem;min-height:40px;cursor:pointer}.motion-toggle:hover{background:#235471}.motion-toggle[aria-pressed="true"]{border-color:#91e2ff}.hero .motion-toggle:focus-visible{outline-color:#b8eaff}
footer{background:#122632;color:#e6f1f7;border-top:1px solid #42606f}.footer-brand .brand{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}.footer-brand .brand-logo{height:auto;width:240px;max-width:100%}.footer-slogan,.footer-bottom,.footer-nav a{color:#c1d6e3}.footer-top{border-bottom-color:#405b6b}.footer-social a{border-color:#668293;color:#d7edf9}.footer-nav a:hover,.footer-social a:hover{color:#7edbff}
@keyframes dc3-orbit{from{transform:translate(-50%,-50%) rotate(var(--start))}to{transform:translate(-50%,-50%) rotate(calc(var(--start) + 360deg))}}
@keyframes dc3-counter{from{transform:rotate(calc(-1 * var(--start)))}to{transform:rotate(calc(-1 * var(--start) - 360deg))}}
@keyframes dc3-wave{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}18%{opacity:.65}100%{transform:translate(-50%,-50%) scale(1.5);opacity:0}}
@keyframes dc3-bobby{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-18px) rotate(2deg)}}
@keyframes dc3-glow{0%,100%{opacity:.6;transform:scale(.93)}50%{opacity:1;transform:scale(1.07)}}
@keyframes dc3-spark{0%,100%{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-17px)}}
@keyframes dc3-icon-lift{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes dc3-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes dc3-bubble-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
 .social-orbit{animation:dc3-orbit var(--duration) linear infinite}.social-satellite{animation:dc3-counter var(--duration) linear infinite}.network-wave{animation:dc3-wave 5.1s linear infinite}.network-halo{animation:dc3-glow 6s ease-in-out infinite}.network-spark{animation:dc3-spark 4s ease-in-out infinite}.spark-two{animation-delay:1.2s}.spark-three{animation-delay:2.3s}.network-stage .mascot-btn img{animation:dc3-bobby 4.4s ease-in-out infinite}.network-stage .mascot-btn:hover img{animation-play-state:paused;filter:drop-shadow(0 22px 12px #06121c88) drop-shadow(0 0 34px #5edaff88)}
 .marquee-wrap .marquee{animation:dc3-marquee 42s linear infinite!important;display:flex;width:max-content;white-space:nowrap;gap:0}.marquee-wrap .marquee>span{display:flex;flex-wrap:nowrap;white-space:nowrap;gap:2rem;padding-right:2rem}.marquee-wrap .marquee>span+span{display:flex}.marquee-wrap{padding-left:0;padding-right:0}.marquee-wrap:hover .marquee{animation-play-state:paused!important}
 .service-card:hover .service-media svg{animation:dc3-icon-lift 1.6s ease-in-out infinite}.service-card,.work-tile,.mat-tile{transition:transform .3s,box-shadow .3s,border-color .3s}.service-card:hover{transform:translateY(-8px);box-shadow:0 18px 36px #0a52791a}.work-tile:hover,.mat-tile:hover{transform:translateY(-6px)}.js .trab-panel.active{animation:dc3-bubble-in .4s ease-out}.hero-ctas .btn-primary{transition:transform .25s,box-shadow .25s}.hero-ctas .btn-primary:hover{box-shadow:0 0 0 5px #58cdfb22,0 12px 36px #18a9dd44}
 .about-visual .about-mascot{animation:dc3-bobby 5.5s ease-in-out infinite!important}
}
.motion-paused *,.motion-paused *::before,.motion-paused *::after,.offscreen-motion *,.offscreen-motion *::before,.offscreen-motion *::after{animation-play-state:paused!important}
@media(min-width:921px) and (max-width:1100px){.hero-mascot-col.network-stage{flex-basis:37%!important;width:37%;min-height:510px}.network-stage .mascot-btn img{height:400px}.orbit-whatsapp{width:118%}.hero-grid{gap:1.2rem}.social-satellite{width:48px;height:48px;margin-top:-24px;margin-right:-24px}}
@media(max-width:920px){.hero-mascot-col.network-stage{flex:0 0 auto!important;width:min(80%,440px);min-height:510px;margin:1rem auto 2rem}.network-stage .mascot-wrap{width:100%}.network-stage .mascot-btn img{height:400px}.hero-grid{gap:1.8rem}.motion-toggle{right:50%;transform:translateX(50%);bottom:-1.8rem;white-space:nowrap}.hero{padding-bottom:4rem}.network-stage .mascot-hint{margin-top:1rem}.hero .mascot-wrap::before{display:none}}
@media(max-width:520px){.hero-mascot-col.network-stage{width:82%;min-height:430px;margin-top:.5rem}.network-stage .mascot-btn img{height:340px;max-width:100%}.network-stage .mascot-wrap{padding:1rem 0}.social-satellite{width:42px;height:42px;border-radius:14px;margin-right:-21px;margin-top:-21px}.social-satellite svg{width:23px;height:23px}.orbit-instagram{width:100%}.orbit-facebook{width:80%}.orbit-whatsapp{width:118%}.network-stage .mascot-hint{font-size:.8125rem}.network-stage .mascot-bubble{max-width:210px;font-size:.8125rem}.hero-grid{gap:1rem}.footer-brand .brand-logo{width:230px}}
@media(prefers-reduced-motion:reduce){.social-orbit,.social-satellite,.network-stage .mascot-btn img,.network-halo,.network-spark,.marquee-wrap .marquee,.about-visual .about-mascot{animation:none!important}.network-wave{display:none}.motion-toggle{display:none}.marquee-wrap .marquee{width:auto;white-space:normal;transform:none}.marquee-wrap .marquee>span{flex-wrap:wrap}.marquee-wrap .marquee>span+span{display:none}}
@media print{.social-universe,.motion-toggle{display:none!important}footer{background:#fff;color:#000}.footer-nav a,.footer-slogan,.footer-bottom{color:#000}}
/* Bobby accompanies each section in a reserved layout column. */
.section-intro{display:grid;grid-template-columns:minmax(0,1fr) 240px;align-items:center;gap:2.5rem;margin-bottom:2.2rem}.section-intro .section-head{margin:0;max-width:740px}.bobby-feature{position:relative;isolation:isolate;width:240px;height:255px;display:flex;align-items:center;justify-content:center;pointer-events:none}.bobby-section-image{position:relative;z-index:2;max-width:80%;height:245px;width:auto;object-fit:contain;filter:drop-shadow(0 14px 12px #114e732a);transform-origin:50% 85%}.bobby-aura{position:absolute;inset:12% 0 0;border-radius:50%;background:radial-gradient(circle,#9de4ff70 0%,#caeffa70 48%,#effbff00 72%);z-index:0}.bobby-orbit{position:absolute;inset:17% 4% 3%;border:1px dashed #1393bb70;border-radius:50%;transform:rotate(-20deg)}.bobby-orbit::after{content:"";position:absolute;left:8%;top:10%;width:10px;height:10px;background:#1aa6e0;border-radius:50%;box-shadow:0 0 15px #1aa6e077}.bobby-mini{position:absolute;z-index:3;width:40px;height:40px;display:grid;place-items:center;background:#fff;border:1px solid #9ddaf0;border-radius:12px;color:#0078a8;box-shadow:0 8px 18px #1473971a}.bobby-mini svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}.bobby-mini.mini-0{left:0;top:28%;transform:rotate(-12deg)}.bobby-mini.mini-1{right:0;bottom:14%;transform:rotate(12deg)}.bobby-trabajos .bobby-aura{background:radial-gradient(circle,#ccd0ff99,transparent 70%)}.bobby-trabajos .bobby-mini{color:#574db3;border-color:#c4c0ef}.bobby-proceso .bobby-section-image{height:260px}.bobby-contacto .bobby-section-image{height:260px}.bobby-preguntas{margin:1.5rem auto 0;width:220px;height:250px}.bobby-preguntas .bobby-section-image{height:230px}.about-visual{min-height:420px;max-height:460px}.about-visual .about-mascot{height:76%;right:7%;bottom:-.5rem;filter:drop-shadow(0 10px 12px #0005) drop-shadow(0 0 24px #1eafe833)}.about-visual .badge{align-self:flex-start;position:absolute;left:1.4rem;top:1.4rem;margin:0;z-index:2;max-width:48%}.about-visual::after{content:"";position:absolute;inset:15% 8%;border:1px dashed #63d4ff50;border-radius:50%;pointer-events:none}
/* An extended creative constellation behind Bobby. */
.network-stage .social-universe{inset:-2% -2%}.creative-ring{--start:0deg;--duration:65s;position:absolute;width:147%;aspect-ratio:1;top:50%;left:50%;border-radius:50%;border:1px dashed #78ddff29;transform:translate(-50%,-50%);pointer-events:none;z-index:0}.creative-ring-1{width:73%;--duration:54s;border-style:solid;border-color:#c9acff35}.creative-node{position:absolute;inset:0;transform:rotate(var(--angle));pointer-events:none}.creative-badge{--start:var(--angle);position:absolute;right:-20px;top:50%;margin-top:-20px;width:40px;height:40px;display:grid;place-items:center;border:1px solid #7cddff66;border-radius:12px;background:#153f55;color:#a0e9ff;box-shadow:0 0 18px #3ddaff20;transform:rotate(calc(-1 * var(--angle)));pointer-events:none}.creative-badge svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}.creative-badge.badge-ig{background:#6d275e;color:#ffd6ee;border-color:#fa85c177}.creative-badge.badge-fb{background:#174b91;color:#c3e6ff}.creative-badge.badge-wa{background:#175e46;color:#bcffe0}.creative-badge.badge-ig svg,.creative-badge.badge-fb svg,.creative-badge.badge-wa svg{fill:currentColor;stroke:none}.creative-badge.badge-palette,.creative-badge.badge-star{color:#ffe49b;border-color:#efd38e66}.creative-badge.badge-pen,.creative-badge.badge-camera{color:#d9bdff;border-color:#d9bdff55}.social-orbit{z-index:2}.network-halo{inset:0 -28%;background:radial-gradient(ellipse,#25c3ff48 0%,#237fe51a 44%,transparent 70%)}.network-wave{border-color:#71daff;box-shadow:0 0 15px #2caeff15}.wave-extra{border-color:#ccacff85}.creative-dust{position:absolute;left:var(--dust-x);top:var(--dust-y);width:4px;height:4px;border-radius:50%;background:#a1eaff;box-shadow:0 0 12px #50ceff;pointer-events:none}.hero-frequency{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.hero-frequency span{position:absolute;width:1100px;height:1100px;right:-430px;top:50%;margin-top:-550px;border:1px solid #73dcff12;border-radius:50%;transform:scale(calc(.6 + var(--frequency)*.27));box-shadow:0 0 60px #248cdd08}.hero .hero-grid{z-index:1}.network-stage .mascot-btn img{filter:drop-shadow(0 20px 10px #06121c88) drop-shadow(0 0 36px #18b4f47a)}
@keyframes dc3-section-bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(2deg)}}
@keyframes dc3-section-think{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes dc3-section-orbit{to{transform:rotate(340deg)}}
@keyframes dc3-dust{0%,100%{opacity:.25;transform:translateY(0) scale(.8)}50%{opacity:1;transform:translateY(-20px) scale(1.3)}}
@keyframes dc3-frequency{0%,100%{opacity:.3}50%{opacity:1}}
@media(prefers-reduced-motion:no-preference){.bobby-feature .bobby-section-image{animation:dc3-section-bob 4.8s ease-in-out infinite}.bobby-proceso .bobby-section-image{animation:dc3-section-think 5s ease-in-out infinite}.bobby-trabajos .bobby-section-image{animation-duration:3.8s}.bobby-preguntas .bobby-section-image{animation-delay:-2s}.bobby-contacto .bobby-section-image{animation-delay:-1.5s}.bobby-orbit{animation:dc3-section-orbit 28s linear infinite}.bobby-mini{animation:dc3-icon-lift 4.2s ease-in-out infinite}.bobby-mini.mini-1{animation-delay:-2s}.creative-ring{animation:dc3-orbit var(--duration) linear infinite}.creative-badge{animation:dc3-counter var(--duration) linear infinite}.creative-ring-1,.creative-ring-1 .creative-badge{animation-direction:reverse}.social-universe .network-wave{animation-duration:7.2s}.social-universe .wave-two{animation-delay:1.2s!important}.social-universe .wave-three{animation-delay:2.4s!important}.social-universe .wave-extra{animation-delay:var(--wave-delay)!important}.creative-dust{animation:dc3-dust 4.5s ease-in-out infinite;animation-delay:var(--dust-delay)}.hero-frequency span{animation:dc3-frequency 6s ease-in-out infinite;animation-delay:calc(var(--frequency)*1.5s)}}
@media(max-width:1100px) and (min-width:921px){.creative-ring{width:133%}.creative-ring-1{width:72%}.creative-badge{width:34px;height:34px;right:-17px;margin-top:-17px}.creative-badge svg{width:19px;height:19px}}
@media(max-width:760px){.section-intro{grid-template-columns:minmax(0,1fr) 165px;gap:1rem}.bobby-feature{width:165px;height:205px}.bobby-section-image,.bobby-proceso .bobby-section-image,.bobby-contacto .bobby-section-image{height:200px}.bobby-mini{width:32px;height:32px;border-radius:10px}.bobby-mini svg{width:18px;height:18px}.bobby-preguntas{width:180px;height:215px}.bobby-preguntas .bobby-section-image{height:205px}.about-visual{min-height:370px}}
@media(max-width:520px){.section-intro{grid-template-columns:minmax(0,1fr);gap:.6rem;margin-bottom:1.6rem}.section-intro .bobby-feature{justify-self:center;width:185px;height:195px}.section-intro .bobby-section-image{height:190px}.section-intro .section-head h2{font-size:2.2rem}.bobby-preguntas{width:175px;height:200px}.bobby-preguntas .bobby-section-image{height:190px}.creative-ring{width:135%}.creative-ring-1{width:72%}.creative-badge{width:30px;height:30px;right:-15px;margin-top:-15px;border-radius:9px}.creative-badge svg{width:17px;height:17px}.hero-mascot-col.network-stage{margin-top:1.3rem;margin-bottom:2.5rem}.about-visual .badge{left:1rem;top:1rem;font-size:.875rem;padding:.8rem}.about-visual{min-height:340px}.about-visual .about-mascot{height:74%}}
@media(prefers-reduced-motion:reduce){.bobby-feature *,.creative-ring,.creative-badge,.creative-dust,.hero-frequency span{animation:none!important}.creative-dust{opacity:.5}.hero-frequency span{opacity:.5}}
@media print{.bobby-feature,.hero-frequency{display:none!important}.section-intro{display:block}}
/* The invitation is also a working control, with direct access to every pose. */
.network-stage .bobby-invite{pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.12rem;border:1px solid #fff0a5;border-radius:14px;background:#ffe17a;color:#172d3b;font-family:'Work Sans',system-ui,sans-serif;font-size:1.1rem;letter-spacing:.035em;font-weight:800;line-height:1.35;min-height:62px;width:250px;max-width:100%;padding:.7rem 1rem;cursor:pointer;margin-top:.85rem;box-shadow:0 0 0 5px #ffe17a15,0 10px 28px #061b3a60}.network-stage .bobby-invite-detail{font-size:.8125rem;font-weight:500;letter-spacing:0;color:#314757}.network-stage .bobby-invite:hover{background:#ffecaa;box-shadow:0 0 0 7px #ffe17a30,0 10px 36px #ffdd7740}.bobby-pose-picker{position:relative;z-index:3;display:flex;justify-content:center;gap:.2rem;pointer-events:auto;margin-top:.5rem}.bobby-pose{width:38px;min-height:38px;border:1px solid transparent;border-radius:50%;background:transparent;color:#d5edf7;font:inherit;font-size:.875rem;font-weight:700;cursor:pointer}.bobby-pose:hover{border-color:#8de2ff;background:#2c637e}.bobby-pose[aria-pressed="true"]{background:#8ce0ff;color:#163343;border-color:#bfefff}.bobby-pose-status{font-size:.8125rem;color:#c6e4f3;min-height:1.5em;margin-top:.25rem;text-align:center;max-width:30ch}.network-stage .mascot-bubble{bottom:94%}.hero-mascot-col.network-stage{min-height:650px}.network-stage .mascot-wrap{padding-bottom:1rem}.motion-toggle{bottom:-.8rem}.network-stage .mascot-btn{min-width:65%;min-height:470px;display:flex;align-items:center;justify-content:center}.network-stage .mascot-btn img{max-height:470px;max-width:100%;width:auto;object-fit:contain}
@keyframes dc3-invite-pulse{0%,100%{box-shadow:0 0 0 4px #ffe17a10,0 10px 28px #061b3a60}50%{box-shadow:0 0 0 9px #ffe17a25,0 10px 30px #ffdd7730}}
@media(prefers-reduced-motion:no-preference){.network-stage .bobby-invite{animation:dc3-invite-pulse 2.7s ease-in-out infinite}}
@media(max-width:1100px) and (min-width:921px){.hero-mascot-col.network-stage{min-height:600px}.network-stage .mascot-btn{min-height:400px}.network-stage .mascot-btn img{height:400px}}
@media(max-width:920px){.hero-mascot-col.network-stage{min-height:600px}.network-stage .mascot-btn{min-height:400px}.network-stage .mascot-btn img{height:400px}.motion-toggle{bottom:-1.8rem}}
@media(max-width:520px){.hero-mascot-col.network-stage{min-height:530px}.network-stage .mascot-btn{min-height:340px}.network-stage .mascot-btn img{height:340px}.network-stage .bobby-invite{font-size:1rem;width:235px;min-height:60px}.bobby-pose{width:36px;min-height:40px}.bobby-pose-picker{gap:0}}
@media(prefers-reduced-motion:reduce){.network-stage .bobby-invite{animation:none!important}}

/* Final menu guard: the mobile navigation can never leak into the desktop header. */
.mobile-menu,.mobile-menu[hidden]{display:none!important}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status.is-success{display:block;width:100%;padding:.8rem 1rem;border-radius:8px;background:#dff7e8;color:#145c34}
.form-status.is-error{display:block;width:100%;padding:.8rem 1rem;border-radius:8px;background:#ffe7e7;color:#8a2020}
@media(max-width:1100px){
  .mobile-menu,.mobile-menu[hidden]{display:block!important}
  .mobile-menu-toggle{color:#fff!important}
  .mobile-menu-toggle .menu-label{color:#fff!important}
}
/* Responsive repair: full-width surfaces, shrinkable children and native mobile menu. */
html{width:100%;max-width:100%;overflow-x:hidden}body{width:100%;max-width:100%;min-width:0;margin:0;overflow-x:hidden}main,footer,section,.marquee-wrap{max-width:100%;min-width:0}main,footer,section{width:100%}.container{width:100%;min-width:0}.container>*{min-width:0}.services-grid,.work-grid,.mat-grid,.process-list,.contact-grid,.about-grid,.faq-grid{min-width:0}.services-grid>*,.work-grid>*,.mat-grid>*,.process-list>*,.contact-grid>*,.about-grid>*,.faq-grid>*{min-width:0}.services-grid,.work-grid,.mat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.process-list{grid-template-columns:repeat(4,minmax(0,1fr))}.contact-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.about-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.faq-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.hero-copy{min-width:0;width:auto}.info-line{min-width:0;max-width:100%}.info-line .contact-value{min-width:0;overflow-wrap:anywhere;word-break:break-word}.field{min-width:0}.field input,.field textarea,.field select{width:100%;box-sizing:border-box}.work-tile .info>span{min-width:0}.footer-brand{min-width:0;max-width:100%}.footer-brand .brand{max-width:100%}header.site,header.site.scrolled{left:0;right:0;width:100%;max-width:100%;z-index:100;transform:none;backdrop-filter:none;-webkit-backdrop-filter:none}header.site .container{position:static;min-width:0;flex-wrap:nowrap}.mobile-menu{display:none}.mobile-menu-toggle{cursor:pointer;list-style:none;user-select:none;-webkit-tap-highlight-color:transparent}.mobile-menu-toggle::-webkit-details-marker{display:none}.mobile-menu-toggle::marker{content:""}.menu-bars{width:23px;display:flex;flex-direction:column;gap:5px;flex:none}.menu-bars span{display:block;width:23px;height:2px;border-radius:2px;background:#fff;transition:transform .2s,opacity .2s}.menu-label{font-size:.8125rem;font-weight:700;color:#fff}.mobile-menu[open] .menu-bars span:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-menu[open] .menu-bars span:nth-child(2){opacity:0}.mobile-menu[open] .menu-bars span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@supports(overflow:clip){html,body{overflow-x:clip}}
@media(min-width:1101px){header.site #mainNav{display:flex;position:static;transform:none;visibility:visible;opacity:1;pointer-events:auto;inset:auto}.mobile-menu{display:none}}
@media(max-width:1100px){
 header.site,html:not(.js) header.site{position:fixed;left:0;right:0;top:0;padding:.65rem 0;background:#122632;border-bottom:1px solid #446476}
 header.site .container,html:not(.js) header.site .container{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:nowrap;padding-inline:clamp(1rem,3vw,2rem)}
 header.site #mainNav,html:not(.js) header.site #mainNav,.lang-toggle{display:none!important}
 header.site .brand{flex:0 1 auto;min-width:0;max-width:calc(100% - 105px)}header.site .brand-logo{display:block;width:clamp(150px,28vw,215px);max-width:100%;height:auto;object-fit:contain}
 .mobile-menu{display:block;position:static;flex:none;margin:0;padding:0;max-width:100%}
 .mobile-menu-toggle{position:relative;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;min-width:88px;padding:.65rem .75rem;border:1px solid #9bc8df;border-radius:9px;background:#21475c;color:#fff;z-index:102;box-sizing:border-box}
 .mobile-menu-toggle:hover{background:#2c607c}.mobile-menu-toggle:focus-visible{outline:3px solid #bdefff;outline-offset:3px}
 .mobile-menu:not([open])>.mobile-nav{display:none!important}
 .mobile-menu[open]>.mobile-nav{display:flex;position:absolute;top:100%;left:0;right:0;width:100%;box-sizing:border-box;flex-direction:column;align-items:stretch;gap:.35rem;padding:1rem max(1rem,env(safe-area-inset-right)) 1rem max(1rem,env(safe-area-inset-left));max-height:calc(100vh - 76px);max-height:calc(100dvh - 76px);overflow-y:auto;overscroll-behavior:contain;background:#122e40;border-bottom:1px solid #5a8095;box-shadow:0 18px 30px #00172355;z-index:101;transform:none;visibility:visible;opacity:1;pointer-events:auto}
 .mobile-nav>a{display:flex;align-items:center;min-height:46px;padding:.6rem 1rem;color:#f1f9ff;font-size:1rem;font-weight:600;line-height:1.4;border-radius:7px}.mobile-nav>a:hover,.mobile-nav>a:focus-visible{background:#24566f}.mobile-nav>a.nav-cta{background:#48bdeb;color:#102632!important;text-align:center;justify-content:center;align-self:stretch;font-size:1rem!important;padding:.8rem 1rem}
 .mobile-nav .lang-toggle-inline{display:flex;justify-content:center;align-items:center;gap:.5rem;margin:.4rem 0 0}.mobile-nav .language-link{color:#e5f5ff;min-height:44px}.mobile-nav .language-link[aria-current]{background:#d5f1ff;color:#102632}
 .hero,html:not(.js) .hero{padding-top:7rem}.hero-grid{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:2rem}.hero-copy{flex:0 1 auto!important;width:100%;max-width:740px!important}.hero-mascot-col.network-stage{flex:0 0 auto!important;width:min(78%,430px);max-width:430px;margin:1rem auto 2.5rem}.network-stage .mascot-wrap{max-width:100%}.motion-toggle{right:50%;transform:translateX(50%);white-space:nowrap}.hero h1{font-size:clamp(2.7rem,8.5vw,5.5rem)}
}
@media(max-width:980px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.work-grid,.mat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{grid-template-columns:minmax(0,1fr)}.faq-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:820px){.process-list{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px){.container{padding-inline:1rem}.services-grid{grid-template-columns:minmax(0,1fr)}.hero-ctas{max-width:100%}.hero .hero-copy{max-width:100%!important}.hero h1{font-size:clamp(2.45rem,10.5vw,4rem)}.hero-mascot-col.network-stage{width:76%;margin-inline:auto}.hero .network-stage .mascot-btn{min-width:0;width:100%}.network-stage .mascot-wrap{width:100%}.network-stage .bobby-invite{width:100%;max-width:250px}.network-stage .mascot-bubble{max-width:min(220px,80vw)}.hero-tags{gap:.35rem}.info-card{padding:1.2rem}.info-line{font-size:.9375rem;gap:.5rem}.form-row{grid-template-columns:minmax(0,1fr)}.footer-top,.footer-bottom{max-width:100%}.footer-bottom{gap:1rem}.section-intro{max-width:100%}}
@media(max-width:520px){.work-grid,.mat-grid,.process-list{grid-template-columns:minmax(0,1fr)}.bobby-pose-picker{gap:0;max-width:100%;width:100%}.bobby-pose{width:calc(100% / 6);min-width:0;min-height:40px}.network-stage .mascot-btn img{width:auto;max-width:100%;height:320px;max-height:320px}.network-stage .mascot-btn{min-height:330px}.network-stage .mascot-hint{font-size:.9375rem}.bobby-invite-detail{font-size:.75rem!important}.hero-mascot-col.network-stage{min-height:520px}.hero .hero-copy h1{font-size:clamp(2.3rem,10.5vw,3.5rem)}.section-head h2,.section-intro .section-head h2{font-size:clamp(1.8rem,8.5vw,2.2rem)}}
@media print{.mobile-menu{display:none!important}}
