*{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      background:var(--bg);
      color:var(--ink);
      font-family:var(--font-body);
      -webkit-font-smoothing:antialiased;
      line-height:1.55;
      overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none}
    img,video{display:block;width:100%;height:100%;object-fit:cover}
    figure{margin:0}
    button{font:inherit;color:inherit}
    /* Official Archivo Expanded faces use a 125% width instance. */
    h1,h2,h3,.number-item strong{
      font-family:var(--font-heading);
      font-stretch:125%;
      font-variation-settings:"wdth" 125;
    }
    ::selection{background:#111;color:#fff}

    .container{width:min(var(--max),calc(100% - 64px));margin:0 auto}

    /* Header: intentionally restrained to stay close to the current portfolio homepage. */
    .site-header{
      height:var(--header);
      position:fixed;
      top:0;left:0;right:0;
      z-index:80;
      display:grid;
      grid-template-columns:1fr auto 1fr;
      align-items:center;
      padding:0 34px;
      border-bottom:1px solid rgba(20,20,20,.08);
      background:rgba(247,247,245,.76);
      backdrop-filter:blur(16px);
      font-size:11px;
      transition:background .35s ease,color .35s ease,border-color .35s ease;
    }
    .brand{font-size:19px;font-weight:700;letter-spacing:-.6px;justify-self:start}
    .main-nav{display:flex;gap:28px;justify-self:center}
    .main-nav a,.header-tools a{transition:opacity .2s ease}
    .main-nav a:hover,.header-tools a:hover{opacity:.5}
    .header-tools{justify-self:end;display:flex;align-items:center;gap:18px;color:#555}
    .lang{display:flex;gap:8px}.lang .active{color:#000;font-weight:700}

    /* Global motion — subtle and one-shot, not floaty. */
    [data-reveal].reveal-ready{opacity:0;transform:translateY(18px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
    [data-reveal].is-visible{opacity:1;transform:none}
    [data-reveal-delay="1"]{transition-delay:.08s}
    [data-reveal-delay="2"]{transition-delay:.16s}
    [data-reveal-delay="3"]{transition-delay:.24s}


a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.lang [aria-disabled="true"]{opacity:.45}
.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--paper);padding:12px}
.skip-link:focus{top:12px}
[hidden]{display:none!important}
section[id]{scroll-margin-top:calc(var(--header) + 16px)}
@media(max-width:980px){:root{--header:62px}.site-header{grid-template-columns:1fr auto;padding:0 20px}.main-nav{display:none}.container{width:min(var(--max),calc(100% - 40px))}}
@media(max-width:620px){.header-tools .contact{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal].reveal-ready{opacity:1;transform:none;transition:none}}
