

@layer tokens, reset, base, type, layout, components, sections, rtl, responsive, motion;


@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/ibm-plex-sans-arabic-400-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/ibm-plex-sans-arabic-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/ibm-plex-sans-arabic-500-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/ibm-plex-sans-arabic-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/ibm-plex-sans-arabic-600-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/ibm-plex-sans-arabic-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/ibm-plex-sans-arabic-700-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/ibm-plex-sans-arabic-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/space-grotesk-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/space-grotesk-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/space-grotesk-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/space-grotesk-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url('../fonts/sora-variable-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Readex Pro';
  font-style: normal;
  font-weight: 160 700;
  font-display: swap;
  src: url('../fonts/readex-pro-variable-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}
@font-face {
  font-family: 'Readex Pro';
  font-style: normal;
  font-weight: 160 700;
  font-display: swap;
  src: url('../fonts/readex-pro-variable-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/montserrat-variable-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}



@layer tokens {
  :root {
    
    --ink:          #0E2A47;
    --navy:         #123558;
    --surface:      #173E66;
    --surface-2:    #1D4A78;

    --blue:         #0057B8;
    --blue-bright:  #3BA0E0;   
    --blue-dim:     rgba(0, 87, 184, .16);

    --white:        #FFFFFF;
    
    --ice:          #FFFFFF;
    --muted:        #9DB2C4;
    --muted-2:      #8A9DB1;

    --line:         rgba(255, 255, 255, .10);
    --line-2:       rgba(255, 255, 255, .20);

    
    --ink-abs:      #0E2A47;
    
    --paper:        #FFFFFF;
    --paper-2:      #FFFFFF;

    --scrim:        linear-gradient(180deg,
                      rgba(14, 42, 71, .30) 0%,
                      rgba(14, 42, 71, .58) 55%,
                      rgba(14, 42, 71, .92) 100%);
    --scrim-soft:   linear-gradient(180deg,
                      rgba(14, 42, 71, .18) 0%,
                      rgba(14, 42, 71, .46) 60%,
                      rgba(14, 42, 71, .80) 100%);

    
    --ff:      'Sora', 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --ff-ar:   'Readex Pro', 'IBM Plex Sans Arabic', 'Noto Kufi Arabic', system-ui, sans-serif;

    --t-d1:    clamp(2.6rem, 6vw, 5.6rem);
    --t-d2:    clamp(2rem, 3.5vw, 3.4rem);
    --t-d3:    clamp(1.5rem, 2.2vw, 2.1rem);
    --t-stat:  clamp(2.2rem, 3.6vw, 3.4rem);
    --t-h4:    clamp(1.05rem, 1.25vw, 1.22rem);
    --t-lead:  clamp(1rem, 1.1vw, 1.14rem);
    --t-body:  1rem;
    --t-meta:  .875rem;
    --t-label: .75rem;

    --lh-display: .96;
    --lh-body:    1.65;

    
    --s1: 4px;   --s2: 8px;   --s3: 12px;  --s4: 16px;  --s5: 24px;
    --s6: 32px;  --s7: 48px;  --s8: 64px;  --s9: 96px;  --s10: 128px;

    --section-y: clamp(88px, 9vw, 160px);
    --gutter:    clamp(20px, 4.4vw, 72px);
    --container: 1560px;
    --grid-gap:  clamp(20px, 2.2vw, 40px);

    
    --r: 2px;
    --ar-hero:     16 / 9;
    --ar-wide:     21 / 9;
    --ar-project:  4 / 3;
    --ar-portrait: 3 / 4;

    
    
    --e-out:  cubic-bezier(.22, .61, .36, 1);
    --e-io:   cubic-bezier(.65, 0, .35, 1);
    --d-fast: 220ms;
    --d-base: 420ms;
    --d-slow: 800ms;
    
    --d-flow: 1000ms;
    --d-media: 1200ms;

    --nav-h: 84px;
  }
}


@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  * { margin: 0; padding: 0; }

  html { -webkit-text-size-adjust: 100%; }

  img, picture, video, svg, iframe {
    display: block;
    max-width: 100%;
  }

  button, input, select, textarea { font: inherit; color: inherit; }
  button { background: none; border: 0; cursor: pointer; }
  a { color: inherit; text-decoration: none; }
  ul, ol { list-style: none; }

  :where(h1, h2, h3, h4, h5, h6) { font-weight: inherit; font-size: inherit; }
}


@layer base {
  html {
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--nav-h) + 24px);
  }

  body {
    background: var(--ink);
    color: var(--muted);
    font-family: var(--ff);
    font-size: var(--t-body);
    line-height: var(--lh-body);
    font-synthesis-weight: none;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
  }

  body.is-locked { overflow: hidden; }

  ::selection { background: var(--blue); color: var(--white); }

  :focus-visible {
    outline: 2px solid var(--blue-bright);
    outline-offset: 3px;
  }
  :focus:not(:focus-visible) { outline: none; }

  .skip-link {
    position: absolute;
    top: -100px; left: var(--gutter);
    z-index: 999;
    padding: 14px 24px;
    background: var(--ice);
    color: var(--ink);
    font-size: var(--t-label);
    letter-spacing: .16em;
    text-transform: uppercase;
    transition: top var(--d-fast) var(--e-out);
  }
  .skip-link:focus { top: 16px; }

  .sr-only {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}


@layer type {
  .d1, .d2, .d3 {
    color: var(--white);
    font-weight: 700;
    line-height: var(--lh-display);
    text-wrap: balance;
  }
  .d1 { font-size: var(--t-d1); letter-spacing: -.035em; }
  .d2 { font-size: var(--t-d2); letter-spacing: -.030em; }
  .d3 { font-size: var(--t-d3); letter-spacing: -.025em; font-weight: 600; }

  .h4 {
    color: var(--white);
    font-size: var(--t-h4);
    font-weight: 600;
    letter-spacing: -.015em;
    line-height: 1.25;
  }

  .lead {
    font-size: var(--t-lead);
    line-height: 1.6;
    color: var(--muted);
    max-width: 62ch;
    text-wrap: pretty;
  }

  .body { max-width: 68ch; text-wrap: pretty; }
  .meta { font-size: var(--t-meta); color: var(--muted-2); }

  .label {
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .16em;
    text-transform: uppercase;
    line-height: 1;
  }

  .accent { color: var(--blue-bright); }
  .bright { color: var(--white); }
}


@layer layout {
  .container {
    width: 100%;
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: var(--gutter);
  }

  .section { padding-block: var(--section-y); }
  .section--ink  { background: var(--ink); }
  .section--navy { background: var(--navy); }
  .section--flush { padding-block: 0; }
  .section--tight { padding-block: clamp(56px, 5vw, 88px); }

  
  .section--light,
  .section--light-2 {
    --white:       var(--ink-abs);
    --ice:         #0A2240;
    --muted:       #171A1F;   
    --muted-2:     #5C6470;   
    --line:        rgba(14, 42, 71, .13);
    --line-2:      rgba(14, 42, 71, .26);
    
    --surface:     #F2F5F9;
    --surface-2:   #E6ECF3;
    --blue-bright: #0057B8;   

    background: var(--paper);
    color: var(--muted);
  }
  .section--light-2 { background: var(--paper-2); }

  
  .section--light .btn--primary,
  .section--light-2 .btn--primary {
    background: var(--ink-abs);
    color: var(--paper);
  }
  .section--light .btn--primary:hover,
  .section--light-2 .btn--primary:hover { background: #0A2240; }

  .section--light .btn--ghost,
  .section--light-2 .btn--ghost { border-color: var(--line-2); color: var(--ink-abs); }
  .section--light .btn--ghost:hover,
  .section--light-2 .btn--ghost:hover {
    border-color: var(--ink-abs);
    background: rgba(14, 42, 71, .05);
  }

  .section--light .link-arrow,
  .section--light-2 .link-arrow { color: var(--ink-abs); }

  
  .grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--grid-gap);
  }

  .stack   { display: flex; flex-direction: column; }
  .stack-4 { gap: var(--s4); }
  .stack-5 { gap: var(--s5); }
  .stack-6 { gap: var(--s6); }
  .stack-7 { gap: var(--s7); }

  .row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s4);
  }

  .rule { height: 1px; background: var(--line); border: 0; }
}


@layer components {

  
  .eyebrow {
    display: flex;
    align-items: center;
    gap: var(--s4);
    margin-bottom: var(--s6);
  }
  .eyebrow__num {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .1em;
    color: var(--blue-bright);
    font-variant-numeric: tabular-nums;
  }
  .eyebrow__line {
    width: clamp(32px, 6vw, 88px);
    height: 1px;
    background: var(--line-2);
    flex: none;
  }
  .eyebrow__text {
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--muted);
  }

  
  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--s3);
    min-height: 56px;
    padding-inline: var(--s6);
    border: 1px solid transparent;
    border-radius: var(--r);
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    white-space: nowrap;
    transition:
      background-color var(--d-fast) var(--e-out),
      border-color var(--d-fast) var(--e-out),
      color var(--d-fast) var(--e-out);
  }

  .btn--primary { background: var(--ice); color: var(--ink); }
  .btn--primary:hover { background: var(--white); }

  .btn--ghost { border-color: var(--line-2); color: var(--ice); }
  .btn--ghost:hover { border-color: var(--white); background: rgba(255, 255, 255, .06); }

  
  .btn--accent       { background: #0057B8; color: #FFFFFF; }
  .btn--accent:hover { background: #3BA0E0; color: #0E2A47; }

  .btn--sm { min-height: 44px; padding-inline: var(--s5); }

  
  .link-arrow {
    display: inline-flex;
    align-items: center;
    gap: var(--s3);
    position: relative;
    padding-block: var(--s2);
    color: var(--white);
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    width: fit-content;
  }
  .link-arrow::after {
    content: '';
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--d-base) var(--e-out);
  }
  .link-arrow:hover::after,
  a:hover .link-arrow::after,
  a:focus-visible .link-arrow::after { transform: scaleX(1); }

  .link-arrow__icon {
    transition: transform var(--d-base) var(--e-out);
    font-size: 1.1em;
    line-height: 1;
  }
  .link-arrow:hover .link-arrow__icon,
  a:hover .link-arrow .link-arrow__icon { transform: translateX(5px); }

  
  .media {
    position: relative;
    overflow: hidden;
    background: var(--surface);
  }
  .media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .media--hero     { aspect-ratio: var(--ar-hero); }
  .media--wide     { aspect-ratio: var(--ar-wide); }
  .media--project  { aspect-ratio: var(--ar-project); }
  .media--portrait { aspect-ratio: var(--ar-portrait); }
  .media--fill     { position: absolute; inset: 0; }

  .media--scrim::after {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--scrim);
    pointer-events: none;
  }
  .media--scrim-soft::after {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--scrim-soft);
    pointer-events: none;
  }

  a:hover .media img,
  a:focus-visible .media img { transform: scale(1.05); }
  .media img { transition: transform 900ms var(--e-out); }

  
  .metarow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s3) var(--s6);
    padding-block: var(--s4);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    font-size: var(--t-meta);
    color: var(--muted);
  }
  .metarow__item { display: flex; align-items: center; gap: var(--s2); }
  .metarow__key {
    font-size: var(--t-label);
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted-2);
  }
  .metarow__val { color: var(--ice); }

  .dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--blue-bright);
    flex: none;
  }
  .dot--done { background: var(--muted-2); }
}


@layer sections {

  
  .nav {
    position: fixed;
    inset-block-start: 0;
    inset-inline: 0;
    z-index: 100;
    height: var(--nav-h);
    display: flex;
    align-items: center;
    background: transparent;
    border-bottom: 1px solid transparent;
    transition:
      background-color var(--d-base) var(--e-out),
      border-color var(--d-base) var(--e-out),
      backdrop-filter var(--d-base) var(--e-out);
  }
  
  .nav.nav--solid,
  .nav.is-solid {
    background: rgba(14, 42, 71, .88);
    backdrop-filter: blur(14px);
    border-bottom-color: var(--line);
  }

  .nav__inner {
    width: 100%;
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: var(--gutter);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--s6);
  }

  .nav__logo { display: flex; align-items: center; flex: none; position: relative; }
  .nav__mark { width: clamp(196px, 18vw, 268px); height: auto; display: block; }
  .nav__mark--ink { display: none; }
  .nav.nav--solid .nav__mark--ink { display: block; }
  .nav.nav--solid .nav__mark--rev { display: none; }

  .nav__links {
    display: flex;
    align-items: center;
    gap: clamp(18px, 2.2vw, 38px);
    margin-inline-start: auto;
  }
  .nav__link {
    position: relative;
    padding-block: var(--s3);
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(242,245,249, .72);
    transition: color var(--d-fast) var(--e-out);
  }
  .nav__link::after {
    content: '';
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    height: 1px;
    background: var(--blue-bright);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--d-base) var(--e-out);
  }
  .nav__link:hover,
  .nav__link[aria-current='page'] { color: var(--white); }
  .nav__link:hover::after,
  .nav__link[aria-current='page']::after { transform: scaleX(1); }

  .nav__end {
    display: flex;
    align-items: center;
    gap: var(--s5);
    flex: none;
  }

  .lang {
    display: flex;
    align-items: center;
    gap: var(--s2);
    font-size: var(--t-label);
    letter-spacing: .12em;
    
    color: var(--muted);
  }
  .lang a { padding: var(--s2) var(--s1); transition: color var(--d-fast) var(--e-out); }
  .lang a:hover { color: var(--white); }
  
  .lang a[lang='ar'] { font-size: .95rem; letter-spacing: 0; line-height: 1; }
  .lang [aria-current='true'] { color: var(--white); }
  .lang__sep { opacity: .4; }

  .nav__toggle {
    display: none;
    width: 48px; height: 48px;
    align-items: center;
    justify-content: center;
    margin-inline-end: -12px;
  }
  .nav__toggle span {
    display: block;
    position: relative;
    width: 26px; height: 1px;
    background: var(--ice);
    transition: background-color var(--d-fast) var(--e-out);
  }
  .nav__toggle span::before,
  .nav__toggle span::after {
    content: '';
    position: absolute;
    left: 0;
    width: 26px; height: 1px;
    background: var(--ice);
    transition: transform var(--d-base) var(--e-out);
  }
  .nav__toggle span::before { top: -8px; }
  .nav__toggle span::after  { top: 8px; }
  .nav__toggle[aria-expanded='true'] span { background: transparent; }
  .nav__toggle[aria-expanded='true'] span::before { transform: translateY(8px) rotate(45deg); }
  .nav__toggle[aria-expanded='true'] span::after  { transform: translateY(-8px) rotate(-45deg); }

  
  .drawer {
    position: fixed;
    inset: 0;
    z-index: 99;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: calc(var(--nav-h) + var(--s7)) var(--gutter) var(--s8);
    background: var(--ink);
    visibility: hidden;
    opacity: 0;
    
    transition: opacity var(--d-base) var(--e-out), visibility 0s linear var(--d-base);
    overflow-y: auto;
  }
  .drawer.is-open {
    visibility: visible;
    opacity: 1;
    transition: opacity var(--d-base) var(--e-out), visibility 0s linear 0s;
  }

  .drawer__links { display: flex; flex-direction: column; }
  .drawer__link {
    display: flex;
    align-items: baseline;
    gap: var(--s5);
    padding-block: clamp(14px, 2.4vw, 22px);
    border-bottom: 1px solid var(--line);
    font-size: clamp(1.3rem, 4.4vw, 1.9rem);
    font-weight: 600;
    letter-spacing: -.02em;
    color: var(--white);
    opacity: 0;
    transform: translateY(16px);
    transition: opacity var(--d-base) var(--e-out), transform var(--d-base) var(--e-out);
  }
  .drawer.is-open .drawer__link { opacity: 1; transform: none; }
  .drawer__link span {
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .1em;
    color: var(--blue-bright);
    font-variant-numeric: tabular-nums;
  }

  .drawer__foot { display: flex; flex-direction: column; gap: var(--s5); padding-top: var(--s8); }
  .drawer__contact { display: flex; flex-direction: column; gap: var(--s2); }
  .drawer__contact a { color: var(--ice); }

  
  .hero {
    position: relative;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    
    padding-block: calc(var(--nav-h) + clamp(18px, 3.4vh, 64px)) 0;
    overflow: hidden;
  }
  .hero__bg { position: absolute; inset: 0; z-index: 0; }
  .hero__bg img { width: 100%; height: 100%; object-fit: cover; }
  .hero__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
      linear-gradient(180deg, rgba(14, 42, 71, .72) 0%, rgba(14, 42, 71, .42) 38%, rgba(14, 42, 71, .94) 100%),
      linear-gradient(90deg, rgba(14, 42, 71, .70) 0%, rgba(14, 42, 71, 0) 62%);
  }
  .hero__inner { position: relative; z-index: 1; width: 100%; }

  .hero__title { margin-bottom: clamp(14px, 2.2vh, 32px); }
  .hero__title .line {
    display: block;
    overflow: hidden;
  }
  .js .hero__title .line > span {
    display: block;
    transform: translateY(105%);
    transition: transform var(--d-slow) var(--e-out);
  }
  .hero__title .line:nth-child(2) > span { transition-delay: 90ms; }
  .hero__title .line:nth-child(3) > span { transition-delay: 180ms; }
  .is-ready .hero__title .line > span { transform: none; }

  .hero__lead { margin-bottom: clamp(22px, 3vh, 48px); max-width: 54ch; }
  .hero__cta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s4);
    margin-bottom: clamp(28px, 5.2vh, 96px);
  }

  
  .hero__foot {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: center;
    gap: var(--s5) var(--grid-gap);
    padding-block: clamp(16px, 2vh, 32px);
    border-top: 1px solid var(--line);
  }
  .hero__division { display: flex; align-items: baseline; gap: var(--s4); }
  .hero__division:nth-of-type(1) { grid-column: 1 / span 3; }
  .hero__division:nth-of-type(2) { grid-column: 4 / span 3; }
  .hero__foot .scroll-cue { grid-column: 11 / span 2; }
  .hero__division b {
    color: var(--white);
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
  }

  .scroll-cue {
    display: flex;
    align-items: center;
    gap: var(--s3);
    font-size: var(--t-label);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--muted-2);
    justify-self: end;
  }
  .scroll-cue i {
    display: block;
    width: 1px; height: 34px;
    background: linear-gradient(180deg, var(--blue-bright), transparent);
  }

  
  .statement__grid { align-items: start; }
  .statement__head { grid-column: 1 / span 5; }
  .statement__body { grid-column: 7 / span 6; }
  .statement__body p + p { margin-top: var(--s5); }

  
  .divisions { display: grid; grid-template-columns: 1fr 1fr; }
  .division {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: clamp(520px, 62vw, 780px);
    padding: var(--s8) clamp(28px, 3.6vw, 64px);
    overflow: hidden;
    isolation: isolate;
  }
  .division + .division { border-inline-start: 1px solid var(--line); }
  .division__bg { position: absolute; inset: 0; z-index: -2; }
  .division__bg img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--d-media) var(--e-out); }
  .division::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(14, 42, 71, .58) 0%, rgba(14, 42, 71, .78) 55%, rgba(14, 42, 71, .95) 100%);
    transition: opacity var(--d-slow) var(--e-out);
  }
  .division:hover .division__bg img { transform: scale(1.05); }
  .division:hover::before { opacity: .82; }

  .division__num {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .16em;
    color: var(--blue-bright);
    margin-bottom: var(--s5);
    display: block;
  }
  .division__title { margin-bottom: var(--s4); }
  .division__desc { color: var(--muted); max-width: 42ch; margin-bottom: var(--s5); }
  .division__tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s2) var(--s4);
    margin-bottom: var(--s7);
    font-size: var(--t-meta);
    color: var(--muted-2);
  }
  
  .division__tags li { display: flex; align-items: center; }
  .division__tags li:not(:last-child)::after {
    content: '';
    width: 3px; height: 3px;
    border-radius: 50%;
    background: var(--muted-2);
    margin-inline-start: var(--s4);
  }

  
  .scale { background: var(--navy); border-block: 1px solid var(--line); }

  
  .scale__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: var(--line);
  }
  .scale__item {
    background: var(--navy);
    padding: clamp(32px, 3.4vw, 56px) clamp(20px, 2vw, 36px);
    min-width: 0;
  }
  .scale__item--lead { grid-column: span 2; }
  .scale__num {
    display: block;
    font-size: var(--t-stat);
    font-weight: 600;
    letter-spacing: -.03em;
    line-height: 1;
    color: var(--white);
    font-variant-numeric: tabular-nums;
    margin-bottom: var(--s4);
  }
  .scale__label {
    font-size: var(--t-label);
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted-2);
  }

  
  .projects__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--s7);
    flex-wrap: wrap;
    margin-bottom: clamp(48px, 5vw, 88px);
  }

  .project-lead { position: relative; display: block; }
  .project-lead .media { aspect-ratio: var(--ar-wide); }
  
  .project-lead .media--scrim::after {
    background:
      linear-gradient(180deg,
        rgba(14, 42, 71, .06) 0%,
        rgba(14, 42, 71, .10) 46%,
        rgba(14, 42, 71, .62) 80%,
        rgba(14, 42, 71, .92) 100%),
      linear-gradient(90deg,
        rgba(14, 42, 71, .78) 0%,
        rgba(14, 42, 71, .34) 38%,
        rgba(14, 42, 71, 0) 66%);
  }
  .project-lead__body {
    position: absolute;
    inset-block-end: clamp(32px, 4vw, 72px);
    inset-inline: 0;
    z-index: 1;
  }
  .project-lead__inner {
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: var(--gutter);
  }
  
  .project-lead__inner > * { max-width: min(560px, 46%); }
  .project-lead__inner .metarow { max-width: min(700px, 58%); }
  .project-lead__inner .project__name { max-width: none; }

  .project {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--grid-gap);
    align-items: center;
  }
  .project + .project { margin-top: clamp(72px, 8vw, 140px); }
  .project__media { grid-column: 1 / span 7; }
  .project__body  { grid-column: 9 / span 4; }
  .project--flip .project__media { grid-column: 6 / span 7; grid-row: 1; }
  .project--flip .project__body  { grid-column: 1 / span 4; grid-row: 1; }

  .project__index {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .16em;
    color: var(--blue-bright);
    display: block;
    margin-bottom: var(--s5);
  }
  .project__name { margin-bottom: var(--s2); }
  .project__place { color: var(--muted); margin-bottom: var(--s5); }
  .project__scope { margin-bottom: var(--s5); }
  .project__meta { margin-bottom: var(--s5); }

  
  .capability__grid { align-items: start; }
  .capability__rail { grid-column: 1 / span 4; position: sticky; top: calc(var(--nav-h) + 40px); }
  .capability__list { grid-column: 6 / span 7; }

  .cap {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: var(--s5);
    padding-block: clamp(24px, 2.6vw, 38px);
    border-top: 1px solid var(--line);
    transition: border-color var(--d-base) var(--e-out);
  }
  .cap:last-child { border-bottom: 1px solid var(--line); }
  .cap:hover { border-top-color: var(--line-2); }
  .cap__num {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .1em;
    color: var(--blue-bright);
    padding-top: .4em;
    font-variant-numeric: tabular-nums;
  }
  .cap__title { margin-bottom: var(--s3); }
  .cap__desc { margin-bottom: var(--s3); }
  .cap__items { font-size: var(--t-meta); color: var(--muted-2); line-height: 1.7; }

  
  .brand {
    display: grid;
    grid-template-columns: 64px 3fr 5fr;
    gap: var(--s5) var(--s7);
    padding-block: clamp(36px, 4vw, 64px);
    border-top: 1px solid var(--line);
    align-items: start;
  }
  .brand:last-of-type { border-bottom: 1px solid var(--line); }
  .brand__num {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .1em;
    color: var(--blue-bright);
    padding-top: .5em;
    font-variant-numeric: tabular-nums;
  }
  .brand__name { margin-bottom: var(--s3); }
  .brand__tagline { color: var(--blue-bright); font-size: var(--t-meta); letter-spacing: .04em; }
  .brand__desc { margin-bottom: var(--s5); }
  .brand__links { display: flex; flex-wrap: wrap; gap: var(--s3); }

  
  .network__wall {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    border-top: 1px solid var(--line);
    border-inline-start: 1px solid var(--line);
  }
  .org {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--s4);
    min-height: clamp(132px, 12vw, 172px);
    padding: var(--s5);
    border-inline-end: 1px solid var(--line);
    border-block-end: 1px solid var(--line);
    text-align: center;
    transition: background-color var(--d-base) var(--e-out);
  }
  .org:hover { background: var(--surface); }
  .org__logo {
    max-width: min(148px, 74%);
    max-height: 52px;
    width: auto; height: auto;
    object-fit: contain;
    filter: grayscale(1) brightness(1.9) contrast(.85);
    opacity: .5;
    transition: opacity var(--d-base) var(--e-out), filter var(--d-base) var(--e-out);
  }
  .org:hover .org__logo { opacity: 1; filter: grayscale(0) brightness(1) contrast(1); }
  .org__name {
    font-size: var(--t-meta);
    color: var(--muted-2);
    line-height: 1.3;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity var(--d-base) var(--e-out), transform var(--d-base) var(--e-out);
  }
  .org:hover .org__name { opacity: 1; transform: none; color: var(--ice); }
  
  .org__text {
    font-size: clamp(.95rem, 1.15vw, 1.12rem);
    font-weight: 600;
    color: var(--muted);
    letter-spacing: -.01em;
    line-height: 1.25;
    transition: color var(--d-base) var(--e-out);
  }
  .org:hover .org__text { color: var(--white); }

  .network__note {
    margin-top: var(--s7);
    font-size: var(--t-meta);
    color: var(--muted-2);
    max-width: 78ch;
  }

  
  .certs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--line);
  }
  .cert {
    padding: clamp(28px, 3vw, 44px) 0;
    padding-inline-end: var(--s7);
    border-bottom: 1px solid var(--line);
  }
  .cert__name {
    color: var(--white);
    font-size: var(--t-h4);
    font-weight: 600;
    letter-spacing: -.015em;
    margin-bottom: var(--s3);
  }
  .cert__desc { font-size: var(--t-meta); color: var(--muted-2); max-width: 40ch; }

  
  .cta {
    position: relative;
    display: flex;
    align-items: center;
    min-height: clamp(560px, 68vh, 760px);
    overflow: hidden;
    isolation: isolate;
  }
  .cta__bg { position: absolute; inset: 0; z-index: -2; }
  .cta__bg img { width: 100%; height: 100%; object-fit: cover; }
  .cta::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
      linear-gradient(180deg, rgba(14, 42, 71, .84) 0%, rgba(14, 42, 71, .74) 50%, rgba(14, 42, 71, .92) 100%);
  }
  .cta__actions { display: flex; flex-wrap: wrap; gap: var(--s4); margin-top: var(--s7); }
  .cta__contact {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s5) var(--s8);
    margin-top: var(--s8);
    padding-top: var(--s6);
    border-top: 1px solid var(--line);
  }
  .cta__contact div { display: flex; flex-direction: column; gap: var(--s2); }
  .cta__contact a, .cta__contact span:last-child { color: var(--ice); }

  
  .phero {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: clamp(520px, 76svh, 820px);
    padding-block: calc(var(--nav-h) + var(--s8)) clamp(40px, 6vh, 80px);
    overflow: hidden;
    isolation: isolate;
  }
  .phero__bg { position: absolute; inset: 0; z-index: -2; }
  .phero__bg img { width: 100%; height: 100%; object-fit: cover; }
  .phero::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
      linear-gradient(180deg, rgba(14, 42, 71, .66) 0%, rgba(14, 42, 71, .38) 42%, rgba(14, 42, 71, .93) 100%),
      linear-gradient(90deg, rgba(14, 42, 71, .74) 0%, rgba(14, 42, 71, 0) 64%);
  }
  .phero__title { margin-bottom: var(--s5); }
  .phero__lead { margin-bottom: clamp(28px, 4vh, 48px); }

  .phero__caps {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s3) var(--s6);
    padding-top: var(--s5);
    border-top: 1px solid var(--line);
    font-size: var(--t-meta);
    color: var(--muted);
  }
  .phero__caps li { display: flex; align-items: center; gap: var(--s3); }
  .phero__caps li::before {
    content: '';
    width: 5px; height: 5px;
    background: var(--blue-bright);
    flex: none;
  }

  
  .crumb {
    display: flex;
    align-items: center;
    gap: var(--s3);
    margin-bottom: var(--s6);
    font-size: var(--t-label);
    letter-spacing: .14em;
    text-transform: uppercase;
    
    color: rgba(242,245,249, .62);
  }
  .crumb a { transition: color var(--d-fast) var(--e-out); }
  .crumb a:hover { color: var(--white); }
  .crumb [aria-current] { color: rgba(242,245,249, .90); }

  
  .subnav {
    position: sticky;
    top: var(--nav-h);
    z-index: 50;
    background: rgba(14, 42, 71, .92);
    backdrop-filter: blur(14px);
    border-block: 1px solid var(--line);
  }
  .subnav__list {
    display: flex;
    gap: clamp(16px, 2.4vw, 40px);
    overflow-x: auto;
    scrollbar-width: none;
    padding-block: var(--s4);
  }
  .subnav__list::-webkit-scrollbar { display: none; }
  .subnav__link {
    position: relative;
    white-space: nowrap;
    padding-block: var(--s2);
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(242,245,249, .60);
    transition: color var(--d-fast) var(--e-out);
  }
  .subnav__link::after {
    content: '';
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    height: 1px;
    background: var(--blue-bright);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--d-base) var(--e-out);
  }
  .subnav__link:hover,
  .subnav__link.is-active { color: var(--white); }
  .subnav__link.is-active::after { transform: scaleX(1); }

  
  .disc {
    display: grid;
    grid-template-columns: 72px minmax(0, 5fr) minmax(0, 6fr);
    gap: var(--s5) var(--grid-gap);
    padding-block: clamp(32px, 3.4vw, 56px);
    border-top: 1px solid var(--line);
  }
  .disc:last-of-type { border-bottom: 1px solid var(--line); }
  .disc__num {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .1em;
    color: var(--blue-bright);
    padding-top: .45em;
    font-variant-numeric: tabular-nums;
  }
  .disc__title { margin-bottom: var(--s4); }
  .disc__scope {
    columns: 2;
    column-gap: var(--grid-gap);
    font-size: var(--t-meta);
  }
  
  .disc__scope li {
    break-inside: avoid;
    padding-block: var(--s2);
    border-top: 1px solid var(--line);
    color: var(--muted);
  }

  
  .process { border-top: 1px solid var(--line); }
  .step {
    display: grid;
    grid-template-columns: 72px minmax(0, 4fr) minmax(0, 7fr);
    gap: var(--s4) var(--grid-gap);
    padding-block: clamp(26px, 2.8vw, 40px);
    border-bottom: 1px solid var(--line);
    align-items: baseline;
  }
  .step__num {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .1em;
    color: var(--blue-bright);
    font-variant-numeric: tabular-nums;
  }
  .step__name { color: var(--white); font-weight: 600; letter-spacing: -.01em; }

  
  .pindex { border-top: 1px solid var(--line); }
  .pindex__row {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 4fr) auto;
    gap: var(--s3) var(--grid-gap);
    align-items: baseline;
    padding-block: var(--s5);
    border-bottom: 1px solid var(--line);
    transition: background-color var(--d-fast) var(--e-out);
  }
  .pindex__name { color: var(--white); font-weight: 600; letter-spacing: -.01em; }
  .pindex__meta { font-size: var(--t-meta); color: var(--muted); }
  .pindex__status {
    display: flex;
    align-items: center;
    gap: var(--s2);
    font-size: var(--t-label);
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted-2);
    white-space: nowrap;
  }

  
  .qual {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
    gap: var(--s5) var(--grid-gap);
    padding-block: clamp(28px, 3vw, 44px);
    border-top: 1px solid var(--line);
  }
  .qual:last-of-type { border-bottom: 1px solid var(--line); }
  .qual__name { color: var(--white); }
  .qual__std {
    font-size: var(--t-label);
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--blue-bright);
    display: block;
    margin-bottom: var(--s2);
  }

  
  .footer { background: var(--ink); border-top: 1px solid var(--line); padding-block: var(--s9) var(--s6); }
  .footer__grid { margin-bottom: var(--s9); }
  .footer__brand { grid-column: 1 / span 4; }
  .footer__brand img { width: 148px; height: auto; margin-bottom: var(--s5); }
  .footer__col { grid-column: span 2; }
  .footer__col--wide { grid-column: 9 / span 4; }
  .footer__heading {
    font-size: var(--t-label);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--muted-2);
    margin-bottom: var(--s5);
  }
  .footer__list { display: flex; flex-direction: column; gap: var(--s3); }
  .footer__list a, .footer__list span { color: var(--muted); transition: color var(--d-fast) var(--e-out); }
  .footer__list a:hover { color: var(--white); }

  .footer__bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--s4);
    padding-top: var(--s6);
    border-top: 1px solid var(--line);
    font-size: var(--t-meta);
    color: var(--muted-2);
  }
}


@layer rtl {
  [dir='rtl'] {
    --ff: var(--ff-ar);
    --lh-body: 1.85;
    --lh-display: 1.18;
  }
  [dir='rtl'] .d1,
  [dir='rtl'] .d2,
  [dir='rtl'] .d3,
  [dir='rtl'] .h4,
  [dir='rtl'] .label,
  [dir='rtl'] .eyebrow__text,
  [dir='rtl'] .btn,
  [dir='rtl'] .link-arrow,
  [dir='rtl'] .nav__link,
  [dir='rtl'] .scale__label,
  [dir='rtl'] .metarow__key,
  [dir='rtl'] .footer__heading {
    letter-spacing: 0;
  }
  
  [dir='rtl'] .scale__num,
  [dir='rtl'] .project__index,
  [dir='rtl'] .division__num,
  [dir='rtl'] .cap__num,
  [dir='rtl'] .brand__num,
  [dir='rtl'] .eyebrow__num,
  [dir='rtl'] .ltr { direction: ltr; unicode-bidi: isolate; }

  [dir='rtl'] .link-arrow__icon,
  [dir='rtl'] .btn .link-arrow__icon { transform: scaleX(-1); }
  [dir='rtl'] .link-arrow:hover .link-arrow__icon { transform: scaleX(-1) translateX(5px); }

  [dir='rtl'] .scroll-cue { justify-self: start; }

  
  [dir='rtl'] .hero__bg::after {
    background:
      linear-gradient(180deg, rgba(14, 42, 71, .72) 0%, rgba(14, 42, 71, .42) 38%, rgba(14, 42, 71, .94) 100%),
      linear-gradient(270deg, rgba(14, 42, 71, .70) 0%, rgba(14, 42, 71, 0) 62%);
  }
  [dir='rtl'] .phero::before {
    background:
      linear-gradient(180deg, rgba(14, 42, 71, .66) 0%, rgba(14, 42, 71, .38) 42%, rgba(14, 42, 71, .93) 100%),
      linear-gradient(270deg, rgba(14, 42, 71, .74) 0%, rgba(14, 42, 71, 0) 64%);
  }
  [dir='rtl'] .project-lead .media--scrim::after {
    background:
      linear-gradient(180deg,
        rgba(14, 42, 71, .06) 0%,
        rgba(14, 42, 71, .10) 46%,
        rgba(14, 42, 71, .62) 80%,
        rgba(14, 42, 71, .92) 100%),
      linear-gradient(270deg,
        rgba(14, 42, 71, .78) 0%,
        rgba(14, 42, 71, .34) 38%,
        rgba(14, 42, 71, 0) 66%);
  }
}


@layer responsive {

  
  @media (max-width: 1180px) {
    .statement__head { grid-column: 1 / span 12; }
    .statement__body { grid-column: 1 / span 12; }

    .project__media,
    .project--flip .project__media { grid-column: 1 / span 12; grid-row: auto; }
    .project__body,
    .project--flip .project__body  { grid-column: 1 / span 12; grid-row: auto; }

    .capability__rail { display: none; }
    .capability__list { grid-column: 1 / span 12; }

    .network__wall { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .certs { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .disc { grid-template-columns: 64px minmax(0, 1fr); }
    .disc__body { grid-column: 2; }
    .step { grid-template-columns: 64px minmax(0, 1fr); }
    .step__body { grid-column: 2; }
    .pindex__row { grid-template-columns: minmax(0, 5fr) minmax(0, 4fr) auto; }
    .qual { grid-template-columns: minmax(0, 1fr); }
  }

  
  @media (max-width: 1150px) {
    :root { --nav-h: 72px; }
    .nav__links { display: none; }
    .nav__end .btn { display: none; }
    .nav__toggle { display: flex; }
    .nav__end { margin-inline-start: auto; gap: var(--s4); }
  }

  
  @media (max-width: 860px) {
    .divisions { grid-template-columns: 1fr; }
    .division + .division { border-inline-start: 0; border-block-start: 1px solid var(--line); }
    .division { min-height: 70svh; }

    .brand { grid-template-columns: 48px 1fr; }
    .brand__body { grid-column: 2; }

    .hero__division:nth-of-type(1) { grid-column: 1 / span 6; }
    .hero__division:nth-of-type(2) { grid-column: 7 / span 6; }
    .scroll-cue { display: none; }

    .footer__brand { grid-column: 1 / span 12; margin-bottom: var(--s7); }
    .footer__col,
    .footer__col--wide { grid-column: span 6; }

    .project-lead .media { aspect-ratio: var(--ar-project); }
  }

  
  @media (max-width: 560px) {
    .hero { min-height: 100svh; }
    .hero__cta { flex-direction: column; align-items: stretch; }
    .hero__cta .btn { width: 100%; }
    .hero__division:nth-of-type(1),
    .hero__division:nth-of-type(2) { grid-column: 1 / span 12; }
    .hero__foot { gap: var(--s4) var(--grid-gap); }

    
    .scale__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    
    .project__media {
      margin-inline: calc(var(--gutter) * -1);
      width: calc(100% + var(--gutter) * 2);
      max-width: none;
    }

    .network__wall { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    
    .org__name { opacity: 1; transform: none; }
    .org__logo { opacity: .72; }
    .org { min-height: 118px; gap: var(--s3); }
    .org__text { font-size: 1rem; }

    .certs { grid-template-columns: 1fr; }
    .cert { padding-inline-end: 0; }

    .cap { grid-template-columns: 44px 1fr; gap: var(--s4); }
    .brand { grid-template-columns: 1fr; }
    .brand__num { padding-top: 0; }

    .footer__col,
    .footer__col--wide { grid-column: span 12; }
    
    .footer__grid { row-gap: var(--s7); column-gap: var(--grid-gap); }

    .btn { min-height: 52px; }

    .phero { min-height: 88svh; }
    .disc { grid-template-columns: 44px minmax(0, 1fr); gap: var(--s4); }
    .disc__scope { columns: 1; }
    .step { grid-template-columns: 44px minmax(0, 1fr); gap: var(--s3); }
    
    .pindex__row { grid-template-columns: minmax(0, 1fr); gap: var(--s2); }
    .pindex__status { margin-top: var(--s2); }
    .subnav__list { padding-block: var(--s3); }
  }
}


@layer motion {
  
  .js [data-reveal] {
    opacity: 0;
    
    transform: translateY(14px);
    transition:
      opacity var(--d-flow) var(--e-out),
      transform var(--d-flow) var(--e-out);
  }
  .js [data-reveal].is-in { opacity: 1; transform: none; }

  .js [data-reveal-media] img {
    opacity: 0;
    transform: scale(1.06);
    transition:
      opacity var(--d-media) var(--e-out),
      transform var(--d-media) var(--e-out);
  }
  .js [data-reveal-media].is-in img { opacity: 1; transform: none; }

  
  a:hover [data-reveal-media].is-in img,
  a:focus-visible [data-reveal-media].is-in img {
    transform: scale(1.05);
    transition-duration: 900ms;
  }

  .js [data-reveal-lines] .line { overflow: hidden; }
  .js [data-reveal-lines] .line > span {
    display: block;
    transform: translateY(105%);
    transition: transform var(--d-slow) var(--e-out);
  }
  .js [data-reveal-lines].is-in .line > span { transform: none; }

  
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }

    *, *::before, *::after {
      animation-duration: 1ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 1ms !important;
      transition-delay: 0ms !important;
      scroll-behavior: auto !important;
    }

    [data-reveal],
    [data-reveal-media] img,
    [data-reveal-lines] .line > span,
    .hero__title .line > span,
    .drawer__link,
    .org__name {
      opacity: 1;
      transform: none;
    }
  }
}



@layer components {

  
  .nav__item { position: relative; display: flex; align-items: center; }

  .nav__panel {
    position: absolute;
    inset-block-start: calc(100% + 18px);
    inset-inline-start: -20px;
    z-index: 10;
    min-width: 236px;
    padding: var(--s3) 0;
    background: var(--surface);
    border: 1px solid var(--line);
    box-shadow: 0 24px 60px rgba(14, 42, 71, .55);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition:
      opacity var(--d-fast) var(--e-out),
      transform var(--d-fast) var(--e-out),
      visibility 0s linear var(--d-fast);
  }
  
  .nav__panel::before {
    content: '';
    position: absolute;
    inset-inline: 0;
    bottom: 100%;
    height: 20px;
  }
  .nav__item:hover .nav__panel,
  .nav__item.is-open .nav__panel,
  .nav__item:focus-within .nav__panel {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition:
      opacity var(--d-fast) var(--e-out),
      transform var(--d-fast) var(--e-out),
      visibility 0s linear 0s;
  }

  .nav__panel a {
    display: block;
    padding: var(--s3) var(--s5);
    font-size: var(--t-meta);
    color: rgba(242,245,249, .74);
    transition: color var(--d-fast) var(--e-out), background-color var(--d-fast) var(--e-out);
  }
  .nav__panel a:hover,
  .nav__panel a[aria-current='page'] { color: var(--white); background: var(--surface-2); }

  .nav__caret {
    display: inline-block;
    width: 5px; height: 5px;
    margin-inline-start: var(--s2);
    border-inline-end: 1px solid currentColor;
    border-block-end: 1px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    opacity: .6;
  }

  
  .drawer__group > summary {
    display: flex;
    align-items: baseline;
    gap: var(--s5);
    padding-block: clamp(14px, 2.4vw, 22px);
    border-bottom: 1px solid var(--line);
    font-size: clamp(1.3rem, 4.4vw, 1.9rem);
    font-weight: 600;
    letter-spacing: -.02em;
    color: var(--white);
    cursor: pointer;
    list-style: none;
  }
  .drawer__group > summary::-webkit-details-marker { display: none; }
  .drawer__group > summary > span:first-child {
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .1em;
    color: var(--blue-bright);
    font-variant-numeric: tabular-nums;
  }
  .drawer__group > summary i {
    margin-inline-start: auto;
    align-self: center;
    width: 9px; height: 9px;
    border-inline-end: 1px solid var(--muted);
    border-block-end: 1px solid var(--muted);
    transform: rotate(45deg) translate(-2px, -2px);
    transition: transform var(--d-fast) var(--e-out);
  }
  .drawer__group[open] > summary i { transform: rotate(-135deg) translate(-2px, -2px); }

  .drawer__sub { display: flex; flex-direction: column; padding: var(--s4) 0 var(--s5); }
  .drawer__sub a {
    padding: var(--s3) 0 var(--s3) var(--s7);
    color: var(--muted);
    font-size: 1.05rem;
  }
  .drawer__sub a:hover,
  .drawer__sub a[aria-current='page'] { color: var(--white); }

  
  .subnav--page .subnav__link[aria-current='page'] { color: var(--white); }
  .subnav--page .subnav__link[aria-current='page']::after { transform: scaleX(1); }

  .subnav--light {
    background: rgba(242,245,249, .94);
    border-color: rgba(14, 42, 71, .13);
  }
  .subnav--light .subnav__link { color: rgba(14, 42, 71, .58); }
  .subnav--light .subnav__link:hover,
  .subnav--light .subnav__link[aria-current='page'],
  .subnav--light .subnav__link.is-active { color: var(--ink-abs); }
  .subnav--light .subnav__link::after { background: #0057B8; }

  
  .subnav__scroll { position: relative; }
  .subnav__scroll::after {
    content: '';
    position: absolute;
    inset-block: 0;
    inset-inline-end: 0;
    width: 52px;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(14, 42, 71, 0), rgba(14, 42, 71, .92));
    opacity: 0;
    transition: opacity var(--d-fast) var(--e-out);
  }
  [dir='rtl'] .subnav__scroll::after { transform: scaleX(-1); }
  .subnav--light .subnav__scroll::after {
    background: linear-gradient(90deg, rgba(242,245,249, 0), rgba(242,245,249, .94));
  }

  
  .crumb--ink { color: rgba(14, 42, 71, .55); }
  .crumb--ink a:hover { color: var(--ink-abs); }
  .crumb--ink [aria-current] { color: rgba(14, 42, 71, .85); }
  .crumb__sep { opacity: .45; }

  
  .shead { max-width: 62ch; margin-bottom: clamp(44px, 5vw, 80px); }
  .shead--wide { max-width: 78ch; }
  .shead .d2, .shead .d3 { margin-bottom: var(--s5); }

  
  .split { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); align-items: start; }
  .split__a { grid-column: 1 / span 5; }
  .split__b { grid-column: 7 / span 6; }
  .split--48 .split__a { grid-column: 1 / span 4; }
  .split--48 .split__b { grid-column: 6 / span 7; }
  .split__b p + p, .split__a p + p { margin-top: var(--s5); }

  
  .pull {
    border-inline-start: 1px solid var(--line-2);
    padding-inline-start: clamp(20px, 3vw, 44px);
    max-width: 48ch;
  }
  .pull p { color: var(--white); font-size: var(--t-lead); line-height: 1.45; letter-spacing: -.01em; }
  .pull cite { display: block; margin-top: var(--s4); font-style: normal; font-size: var(--t-meta); color: var(--muted-2); }

  
  .facts { border-top: 1px solid var(--line); }
  .facts__row {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 8fr);
    gap: var(--s3) var(--grid-gap);
    padding-block: var(--s5);
    border-bottom: 1px solid var(--line);
    align-items: baseline;
  }
  .facts__key {
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--muted-2);
  }
  .facts__val { color: var(--white); font-weight: 500; letter-spacing: -.01em; }
  .facts__val small { display: block; font-size: var(--t-meta); font-weight: 400; color: var(--muted-2); letter-spacing: 0; margin-top: var(--s1); }

  
  .filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s2) var(--s6);
    padding-block: var(--s4);
    border-block: 1px solid var(--line);
    margin-bottom: clamp(48px, 5vw, 88px);
  }
  .filters__btn {
    position: relative;
    padding-block: var(--s2);
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted);
    transition: color var(--d-fast) var(--e-out);
  }
  .filters__btn::after {
    content: '';
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    height: 1px;
    background: var(--blue-bright);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--d-base) var(--e-out);
  }
  .filters__btn:hover { color: var(--white); }
  .filters__btn[aria-pressed='true'] { color: var(--white); }
  .filters__btn[aria-pressed='true']::after { transform: scaleX(1); }
  .filters__count { margin-inline-start: auto; font-size: var(--t-meta); color: var(--muted-2); }

  
  .seq { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); }
  .seq__a { grid-column: 1 / span 7; }
  .seq__b { grid-column: 8 / span 5; align-self: end; }
  .seq__full { grid-column: 1 / span 12; }
  .seq figcaption { margin-top: var(--s3); font-size: var(--t-meta); color: var(--muted-2); }

  
  .onward {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid var(--line);
  }
  .onward__item {
    display: flex;
    flex-direction: column;
    gap: var(--s4);
    padding: clamp(28px, 3vw, 48px) clamp(20px, 2.4vw, 40px) clamp(28px, 3vw, 48px) 0;
    border-inline-end: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }
  .onward__item:last-child { border-inline-end: 0; }
  .onward__num { font-size: var(--t-label); font-weight: 600; letter-spacing: .1em; color: var(--blue-bright); }
  .onward__title { color: var(--white); font-size: var(--t-h4); font-weight: 600; letter-spacing: -.015em; transition: color var(--d-fast) var(--e-out); }
  .onward__desc { font-size: var(--t-meta); color: var(--muted); max-width: 34ch; flex: 1; }
  .onward__item .media { margin-bottom: var(--s2); }
  .onward__item:hover .onward__title { color: var(--blue-bright); }

  
  .form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s7) var(--grid-gap); }
  .field { display: flex; flex-direction: column; gap: var(--s3); }
  .field--full { grid-column: 1 / -1; }
  .field label {
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--muted-2);
  }
  .field input,
  .field select,
  .field textarea {
    width: 100%;
    padding: var(--s3) 0;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--line-2);
    color: var(--white);
    font-size: var(--t-lead);
    border-radius: 0;
    transition: border-color var(--d-fast) var(--e-out);
  }
  .field select { padding-inline-end: var(--s5); }
  .field textarea { resize: vertical; min-height: 132px; line-height: 1.6; }
  .field input:focus,
  .field select:focus,
  .field textarea:focus { border-bottom-color: var(--blue-bright); }
  .field input::placeholder,
  .field textarea::placeholder { color: var(--muted-2); opacity: 1; }
  .field__note { font-size: var(--t-meta); color: var(--muted-2); }
  .field option { background: var(--surface); color: var(--ice); }

  
  .channels { border-top: 1px solid var(--line); }
  .channel {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 5fr) auto;
    gap: var(--s3) var(--grid-gap);
    padding-block: clamp(24px, 2.6vw, 38px);
    border-bottom: 1px solid var(--line);
    align-items: baseline;
  }
  .channel__name { color: var(--white); font-size: var(--t-h4); font-weight: 600; letter-spacing: -.015em; }
  .channel__desc { font-size: var(--t-meta); color: var(--muted); }

  
  .orggroup + .orggroup { margin-top: clamp(56px, 6vw, 96px); }
  .orggroup__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--s5);
    padding-bottom: var(--s4);
    border-bottom: 1px solid var(--line-2);
    margin-bottom: var(--s6);
  }
  .orggroup__count { font-size: var(--t-meta); color: var(--muted-2); font-variant-numeric: tabular-nums; }
  .orglist {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 var(--grid-gap);
  }
  .orglist li {
    padding-block: var(--s4);
    border-bottom: 1px solid var(--line);
    color: var(--white);
    font-weight: 500;
    letter-spacing: -.01em;
  }
  .orglist li small {
    display: block;
    font-weight: 400;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-size: var(--t-label);
    color: var(--muted-2);
    margin-top: var(--s2);
  }

  
  .capnav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid var(--line);
    margin-bottom: clamp(56px, 6vw, 96px);
  }
  .capnav a {
    display: flex;
    align-items: baseline;
    gap: var(--s4);
    padding: var(--s5) var(--s5) var(--s5) 0;
    border-bottom: 1px solid var(--line);
    border-inline-end: 1px solid var(--line);
    color: var(--muted);
    transition: color var(--d-fast) var(--e-out);
  }
  .capnav a:nth-child(3n) { border-inline-end: 0; }
  .capnav a:hover { color: var(--white); }
  .capnav b { color: var(--white); font-weight: 600; letter-spacing: -.01em; }
  .capnav span {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .1em;
    color: var(--blue-bright);
    font-variant-numeric: tabular-nums;
  }

  
  .pillar {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--grid-gap);
    align-items: center;
    padding-block: clamp(56px, 6vw, 104px);
    border-top: 1px solid var(--line);
  }
  .pillar:last-of-type { border-bottom: 1px solid var(--line); }
  .pillar__media { grid-column: 1 / span 6; }
  .pillar__body { grid-column: 8 / span 5; }
  .pillar--flip .pillar__media { grid-column: 7 / span 6; grid-row: 1; }
  .pillar--flip .pillar__body { grid-column: 1 / span 5; grid-row: 1; }
  .pillar__num { font-size: var(--t-label); font-weight: 600; letter-spacing: .16em; color: var(--blue-bright); display: block; margin-bottom: var(--s5); }
  .pillar__name { margin-bottom: var(--s3); }
  .pillar__tagline { color: var(--blue-bright); font-size: var(--t-meta); letter-spacing: .04em; margin-bottom: var(--s5); }
  .pillar__lines { margin-block: var(--s5); border-top: 1px solid var(--line); }
  .pillar__lines li { padding-block: var(--s3); border-bottom: 1px solid var(--line); font-size: var(--t-meta); color: var(--muted); }

  
  .scopelist { border-top: 1px solid var(--line); }
  .scopelist li {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: var(--s4);
    padding-block: var(--s5);
    border-bottom: 1px solid var(--line);
    color: var(--muted);
  }
  .scopelist b {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .1em;
    color: var(--blue-bright);
    font-variant-numeric: tabular-nums;
    padding-top: .25em;
  }
  .scopelist strong { display: block; color: var(--white); font-weight: 600; letter-spacing: -.01em; margin-bottom: var(--s2); }
}

@layer sections {

  
  .phero--compact { min-height: clamp(400px, 56svh, 560px); }
  .phero--tall    { min-height: clamp(560px, 84svh, 900px); }

  
  .phero__facts {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s3) var(--s7);
    padding-top: var(--s5);
    border-top: 1px solid var(--line);
    font-size: var(--t-meta);
    color: var(--muted);
  }
  .phero__facts div { display: flex; flex-direction: column; gap: var(--s2); }
  .phero__facts span:first-child {
    font-size: var(--t-label);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--muted-2);
  }
  .phero__facts span:last-child { color: var(--ice); }

  
  .plist .project + .project { margin-top: clamp(72px, 8vw, 132px); }

  
  .band {
    position: relative;
    display: flex;
    align-items: center;
    min-height: clamp(420px, 56vh, 620px);
    overflow: hidden;
    isolation: isolate;
  }
  .band__bg { position: absolute; inset: 0; z-index: -2; }
  .band__bg img { width: 100%; height: 100%; object-fit: cover; }
  .band::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(14, 42, 71, .78) 0%, rgba(14, 42, 71, .66) 50%, rgba(14, 42, 71, .90) 100%);
  }
}


@layer layout {
  .section--light .field option,
  .section--light-2 .field option { background: var(--paper); color: var(--ink-abs); }
  .section--light .field input,
  .section--light .field select,
  .section--light .field textarea,
  .section--light-2 .field input,
  .section--light-2 .field select,
  .section--light-2 .field textarea { color: var(--ink-abs); }
  .section--light .pull p,
  .section--light-2 .pull p { color: var(--ink-abs); }
}

@layer responsive {
  @media (max-width: 1180px) {
    .split__a, .split__b,
    .split--48 .split__a, .split--48 .split__b { grid-column: 1 / span 12; }
    .pillar__media, .pillar--flip .pillar__media { grid-column: 1 / span 12; grid-row: auto; }
    .pillar__body,  .pillar--flip .pillar__body  { grid-column: 1 / span 12; grid-row: auto; }
    .seq__a, .seq__b { grid-column: 1 / span 12; }
    .orglist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .capnav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .capnav a:nth-child(3n) { border-inline-end: 1px solid var(--line); }
    .capnav a:nth-child(2n) { border-inline-end: 0; }
    .channel { grid-template-columns: minmax(0, 1fr); }
  }

  @media (max-width: 860px) {
    .onward { grid-template-columns: minmax(0, 1fr); }
    .onward__item { border-inline-end: 0; padding-inline-end: 0; }
    .facts__row { grid-template-columns: minmax(0, 1fr); gap: var(--s2); }
    .form { grid-template-columns: minmax(0, 1fr); gap: var(--s6); }
    .phero--compact { min-height: clamp(360px, 52svh, 460px); }
  }

  @media (max-width: 560px) {
    .orglist { grid-template-columns: minmax(0, 1fr); }
    .capnav { grid-template-columns: minmax(0, 1fr); }
    .capnav a, .capnav a:nth-child(2n) { border-inline-end: 0; padding-inline-end: 0; }
    .pull { padding-inline-start: var(--s5); }
    .filters { gap: var(--s2) var(--s5); }
    .filters__count { flex-basis: 100%; margin-inline-start: 0; }
    .scopelist li { grid-template-columns: 34px minmax(0, 1fr); gap: var(--s3); }
    .pillar { padding-block: clamp(40px, 8vw, 64px); }
  }
}

@layer rtl {
  [dir='rtl'] .nav__panel { inset-inline-start: auto; inset-inline-end: -20px; }
  [dir='rtl'] .nav__caret { transform: translateY(-2px) rotate(135deg); }
  [dir='rtl'] .filters__btn::after,
  [dir='rtl'] .subnav--light .subnav__link::after { transform-origin: right; }
  [dir='rtl'] .filters__btn[aria-pressed='true']::after { transform: scaleX(1); }
  [dir='rtl'] .drawer__sub a { padding-inline: var(--s7) 0; }
  [dir='rtl'] .capnav span,
  [dir='rtl'] .scopelist b,
  [dir='rtl'] .pillar__num,
  [dir='rtl'] .onward__num,
  [dir='rtl'] .orggroup__count { direction: ltr; unicode-bidi: isolate; }
}

@layer motion {
  
  .drawer__group > summary {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity var(--d-base) var(--e-out), transform var(--d-base) var(--e-out);
  }
  .drawer.is-open .drawer__group > summary { opacity: 1; transform: none; }

  
  .subnav__scroll.has-more::after { opacity: 1; }

  @media (prefers-reduced-motion: reduce) {
    .drawer__group > summary { opacity: 1; transform: none; }
  }
}

@layer components {
  
  .facts--wide .facts__row { grid-template-columns: minmax(0, 2fr) minmax(0, 10fr); }
}

@layer responsive {
  @media (max-width: 860px) {
    .facts--wide .facts__row { grid-template-columns: minmax(0, 1fr); }
  }
}


@layer utilities {
  .is-filtered { display: none; }
  .is-empty    { display: none; }
  .filters__empty { display: none; }
  .filters__empty.is-shown { display: block; }
}



@layer sections {

  
  .threshold {
    position: relative;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding-block: calc(var(--nav-h) + var(--s7)) clamp(40px, 6vh, 72px);
    overflow: hidden;
    isolation: isolate;
  }
  .threshold__bg { position: absolute; inset: 0; z-index: -2; }
  .threshold__bg img { width: 100%; height: 100%; object-fit: cover; }
  .threshold::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
      linear-gradient(180deg, rgba(14, 42, 71, .62) 0%, rgba(14, 42, 71, .30) 40%, rgba(14, 42, 71, .95) 100%),
      linear-gradient(90deg, rgba(14, 42, 71, .78) 0%, rgba(14, 42, 71, 0) 66%);
  }

  
  .threshold__mark {
    display: flex;
    align-items: baseline;
    gap: clamp(16px, 2vw, 32px);
    padding-bottom: var(--s5);
    margin-bottom: clamp(20px, 3vh, 40px);
    border-bottom: 1px solid var(--line);
  }
  .threshold__num {
    font-size: clamp(2.4rem, 4.4vw, 4.2rem);
    font-weight: 600;
    line-height: .8;
    letter-spacing: -.04em;
    color: var(--blue-bright);
    font-variant-numeric: tabular-nums;
  }
  .threshold__world {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: var(--ice);
  }
  .threshold__title { margin-bottom: clamp(18px, 2.6vh, 34px); }
  .threshold__lead { max-width: 52ch; margin-bottom: clamp(26px, 4vh, 52px); }
  .threshold__actions { display: flex; flex-wrap: wrap; gap: var(--s4); }

  
  .thead {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: clamp(360px, 52svh, 520px);
    padding-block: calc(var(--nav-h) + var(--s7)) clamp(32px, 5vh, 56px);
    background: var(--ink);
    overflow: hidden;
  }
  .thead--paper {
    background: var(--paper);
    --white: var(--ink-abs);
    --ice: #0A2240;
    --muted: #171A1F;
    --muted-2: #5C6470;
    --line: rgba(14, 42, 71, .13);
    --line-2: rgba(14, 42, 71, .26);
    --blue-bright: #0057B8;
  }
  
  .thead::after {
    content: '';
    position: absolute;
    inset-block: 0;
    inset-inline-end: 0;
    width: min(38%, 520px);
    background-image:
      repeating-linear-gradient(90deg, var(--line) 0 1px, transparent 1px clamp(48px, 6vw, 96px));
    pointer-events: none;
    opacity: .9;
  }
  .thead__inner { position: relative; z-index: 1; width: 100%; }
  .thead__mark {
    display: flex;
    align-items: baseline;
    gap: var(--s5);
    margin-bottom: var(--s6);
  }
  .thead__num {
    font-size: clamp(1.5rem, 2.4vw, 2.2rem);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.03em;
    color: var(--blue-bright);
    font-variant-numeric: tabular-nums;
  }
  .thead__label {
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--muted);
  }
  .thead__title { margin-bottom: var(--s5); max-width: 20ch; }
  .thead__lead { max-width: 56ch; }

  
  .phero--header {
    min-height: clamp(340px, 48svh, 520px);
    align-items: flex-end;
  }

  
  .plead { position: relative; display: block; margin-bottom: clamp(64px, 7vw, 120px); }
  .plead .media { aspect-ratio: var(--ar-wide); }
  .plead .media::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
      linear-gradient(180deg, rgba(14, 42, 71, .05) 0%, rgba(14, 42, 71, .12) 44%, rgba(14, 42, 71, .68) 82%, rgba(14, 42, 71, .94) 100%),
      linear-gradient(90deg, rgba(14, 42, 71, .74) 0%, rgba(14, 42, 71, .28) 40%, rgba(14, 42, 71, 0) 68%);
    pointer-events: none;
  }
  .plead__body {
    position: absolute;
    inset-block-end: clamp(28px, 4vw, 64px);
    inset-inline: 0;
    z-index: 1;
  }
  .plead__inner {
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: var(--gutter);
  }
  .plead__inner > * { max-width: min(620px, 52%); }
  .plead__inner .metarow { max-width: min(760px, 64%); }

  
  .plist .project__media { grid-column: 1 / span 8; }
  .plist .project__body  { grid-column: 9 / span 4; }
  .plist .project--flip .project__media { grid-column: 5 / span 8; grid-row: 1; }
  .plist .project--flip .project__body  { grid-column: 1 / span 4; grid-row: 1; }
  .plist .media--project { aspect-ratio: 3 / 2; }

  
  .caserail { align-items: start; }
  .caserail__rail { grid-column: 1 / span 4; position: sticky; top: calc(var(--nav-h) + 32px); }
  .caserail__body { grid-column: 6 / span 7; }

  
  .relcaps { border-top: 1px solid var(--line-2); }
  .relcaps__row {
    display: grid;
    grid-template-columns: 64px minmax(0, 5fr) minmax(0, 6fr) auto;
    gap: var(--s4) var(--grid-gap);
    align-items: baseline;
    padding-block: clamp(22px, 2.4vw, 34px);
    border-bottom: 1px solid var(--line);
    transition: background-color var(--d-fast) var(--e-out);
  }
  .relcaps__row:hover { background: rgba(255, 255, 255, .03); }
  .section--light .relcaps__row:hover,
  .section--light-2 .relcaps__row:hover { background: rgba(14, 42, 71, .03); }
  .relcaps__num {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .1em;
    color: var(--blue-bright);
    font-variant-numeric: tabular-nums;
  }
  .relcaps__name { color: var(--white); font-size: var(--t-h4); font-weight: 600; letter-spacing: -.015em; }
  .relcaps__desc { font-size: var(--t-meta); color: var(--muted); }
  .relcaps__go {
    font-size: var(--t-label);
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted-2);
    white-space: nowrap;
  }
  .relcaps__row:hover .relcaps__go { color: var(--blue-bright); }

  
  .nextdest {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--s6);
    padding-top: var(--s6);
    border-top: 1px solid var(--line-2);
  }
  .nextdest__label {
    font-size: var(--t-label);
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--muted-2);
    display: block;
    margin-bottom: var(--s3);
  }
  .nextdest__title {
    color: var(--white);
    font-size: var(--t-d3);
    font-weight: 600;
    letter-spacing: -.025em;
    line-height: 1.05;
    transition: color var(--d-fast) var(--e-out);
  }
  a.nextdest:hover .nextdest__title { color: var(--blue-bright); }

  
  .cta--plain {
    min-height: 0;
    padding-block: clamp(72px, 8vw, 128px);
    background: var(--ink);
  }
  .cta--plain::before { display: none; }
  .cta--paper {
    background: var(--paper-2);
    --white: var(--ink-abs);
    --ice: #0A2240;
    --muted: #171A1F;
    --muted-2: #5C6470;
    --line: rgba(14, 42, 71, .13);
    --line-2: rgba(14, 42, 71, .26);
    --blue-bright: #0057B8;
  }
  .cta--paper .btn--ghost { border-color: var(--line-2); color: var(--ink-abs); }
  .cta--paper .btn--ghost:hover { border-color: var(--ink-abs); background: rgba(14, 42, 71, .05); }
}


@view-transition { navigation: auto; }

@layer responsive {
  @media (max-width: 1180px) {
    .caserail__rail, .caserail__body { grid-column: 1 / span 12; }
    .caserail__rail { position: static; margin-bottom: var(--s7); }
    .plist .project__media, .plist .project--flip .project__media { grid-column: 1 / span 12; grid-row: auto; }
    .plist .project__body,  .plist .project--flip .project__body  { grid-column: 1 / span 12; grid-row: auto; }
    .relcaps__row { grid-template-columns: 48px minmax(0, 1fr) auto; }
    .relcaps__desc { grid-column: 2 / span 2; }
  }

  @media (max-width: 860px) {
    .plead__inner > *, .plead__inner .metarow { max-width: none; }
    .plead .media { aspect-ratio: var(--ar-project); }
    .thead::after { width: 44%; }
  }

  @media (max-width: 560px) {
    .threshold { min-height: 96svh; }
    .threshold__actions { flex-direction: column; align-items: stretch; }
    .threshold__actions .btn { width: 100%; }
    .threshold__mark { gap: var(--s4); }
    .thead { min-height: clamp(300px, 44svh, 420px); }
    .thead::after { display: none; }
    .relcaps__row { grid-template-columns: 36px minmax(0, 1fr); gap: var(--s2) var(--s4); }
    .relcaps__desc, .relcaps__go { grid-column: 2; }
    .nextdest { gap: var(--s4); }
  }
}

@layer rtl {
  [dir='rtl'] .threshold::before {
    background:
      linear-gradient(180deg, rgba(14, 42, 71, .62) 0%, rgba(14, 42, 71, .30) 40%, rgba(14, 42, 71, .95) 100%),
      linear-gradient(270deg, rgba(14, 42, 71, .78) 0%, rgba(14, 42, 71, 0) 66%);
  }
  [dir='rtl'] .plead .media::after {
    background:
      linear-gradient(180deg, rgba(14, 42, 71, .05) 0%, rgba(14, 42, 71, .12) 44%, rgba(14, 42, 71, .68) 82%, rgba(14, 42, 71, .94) 100%),
      linear-gradient(270deg, rgba(14, 42, 71, .74) 0%, rgba(14, 42, 71, .28) 40%, rgba(14, 42, 71, 0) 68%);
  }
  [dir='rtl'] .threshold__num,
  [dir='rtl'] .thead__num,
  [dir='rtl'] .relcaps__num { direction: ltr; unicode-bidi: isolate; }
}



@layer components {

  
  .worldstat {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(32px, 5vw, 88px);
    padding-block: clamp(28px, 3vw, 44px);
    border-top: 1px solid var(--line-2);
    border-bottom: 1px solid var(--line);
  }
  .worldstat__item { display: flex; flex-direction: column; gap: var(--s2); min-width: 0; }
  .worldstat__num {
    font-size: clamp(2.6rem, 5vw, 4.4rem);
    font-weight: 600;
    line-height: .85;
    letter-spacing: -.04em;
    color: var(--white);
    font-variant-numeric: tabular-nums;
  }
  .worldstat__label {
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--muted-2);
  }
  
  .worldstat--accent .worldstat__num { color: var(--blue-bright); }

  
  .model {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--line-2);
  }
  .model__step {
    display: flex;
    flex-direction: column;
    gap: var(--s3);
    padding: clamp(24px, 2.6vw, 40px) clamp(20px, 2vw, 36px) clamp(28px, 3vw, 48px) 0;
    border-inline-end: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    position: relative;
  }
  .model__step:last-child { border-inline-end: 0; }
  
  .model__step:not(:last-child)::after {
    content: '→';
    position: absolute;
    inset-inline-end: -7px;
    top: clamp(24px, 2.6vw, 40px);
    font-size: .8rem;
    line-height: 1;
    color: var(--blue-bright);
    background: var(--paper);
    padding-block: 2px;
  }
  .section--light-2 .model__step:not(:last-child)::after { background: var(--paper-2); }
  .model__num {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .1em;
    color: var(--blue-bright);
    font-variant-numeric: tabular-nums;
  }
  .model__name {
    color: var(--white);
    font-size: var(--t-h4);
    font-weight: 600;
    letter-spacing: -.015em;
  }
  .model__desc { font-size: var(--t-meta); color: var(--muted); }

  
  .crossworld {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(20px, 3vw, 48px);
    padding-block: clamp(28px, 3.4vw, 52px);
    border-top: 1px solid var(--line-2);
    transition: background-color var(--d-fast) var(--e-out);
  }
  .crossworld:last-of-type { border-bottom: 1px solid var(--line-2); }
  .crossworld:hover { background: rgba(255, 255, 255, .03); }
  .section--light .crossworld:hover,
  .section--light-2 .crossworld:hover { background: rgba(14, 42, 71, .03); }
  .crossworld__num {
    font-size: clamp(1.4rem, 2.4vw, 2.2rem);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.03em;
    color: var(--blue-bright);
    font-variant-numeric: tabular-nums;
  }
  .crossworld__world {
    display: block;
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--muted-2);
    margin-bottom: var(--s2);
  }
  .crossworld__title {
    color: var(--white);
    font-size: var(--t-d3);
    font-weight: 600;
    letter-spacing: -.025em;
    line-height: 1.02;
    transition: color var(--d-fast) var(--e-out);
  }
  .crossworld:hover .crossworld__title { color: var(--blue-bright); }
  .crossworld__go {
    font-size: var(--t-label);
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted-2);
    white-space: nowrap;
  }

  
  .tier3 { border-top: 1px solid var(--line-2); }
  .tier3__row {
    display: grid;
    grid-template-columns: 64px minmax(0, 5fr) minmax(0, 4fr) minmax(0, 3fr) auto;
    gap: var(--s3) var(--grid-gap);
    align-items: baseline;
    padding-block: clamp(20px, 2.2vw, 32px);
    border-bottom: 1px solid var(--line);
    transition: background-color var(--d-fast) var(--e-out);
  }
  .tier3__row:hover { background: rgba(255, 255, 255, .03); }
  .tier3__num {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .1em;
    color: var(--blue-bright);
    font-variant-numeric: tabular-nums;
  }
  .tier3__name { color: var(--white); font-size: var(--t-h4); font-weight: 600; letter-spacing: -.015em; }
  .tier3__meta { font-size: var(--t-meta); color: var(--muted); }
  .tier3__sector {
    font-size: var(--t-label);
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted-2);
  }
  .tier3__go { font-size: var(--t-label); color: var(--muted-2); white-space: nowrap; }

  
  .discovery { border-block: 1px solid var(--line); padding-block: var(--s5); margin-bottom: clamp(48px, 5vw, 88px); }
  .discovery__row { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--s3) var(--s6); }
  .discovery__row + .discovery__row { margin-top: var(--s5); padding-top: var(--s5); border-top: 1px solid var(--line); }
  .discovery__key {
    font-size: var(--t-label);
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--muted-2);
    min-width: 88px;
  }
  .discovery__row--secondary .filters__btn { font-size: var(--t-meta); letter-spacing: .08em; text-transform: none; }
  .discovery__count { margin-inline-start: auto; font-size: var(--t-meta); color: var(--muted-2); }

  
  .split--construction .split__a { grid-column: 1 / span 4; }   
  .split--construction .split__b { grid-column: 6 / span 6; }
  .split--trading .split__a { grid-column: 1 / span 6; }        
  .split--trading .split__b { grid-column: 8 / span 5; }
  .split--projects .split__a { grid-column: 1 / span 3; }       
  .split--projects .split__b { grid-column: 5 / span 8; }
}


@layer motion {

  
  .nav { view-transition-name: mab-nav; }
  .footer { view-transition-name: mab-footer; }

  
  [data-vt='world-construction'] { view-transition-name: world-construction; }
  [data-vt='world-trading']      { view-transition-name: world-trading; }
  [data-vt='world-projects']     { view-transition-name: world-projects; }
  [data-vt='title-construction'] { view-transition-name: title-construction; }
  [data-vt='title-trading']      { view-transition-name: title-trading; }
  [data-vt='title-projects']     { view-transition-name: title-projects; }
  [data-vt='page-head']          { view-transition-name: page-head; }

  
  ::view-transition-group(world-construction) {
    animation-duration: 620ms;
    animation-timing-function: var(--e-out);
  }
  ::view-transition-new(world-construction) {
    animation: excavate-img 620ms var(--e-out) both;
  }
  ::view-transition-group(title-construction) { animation-duration: 620ms; }
  ::view-transition-new(title-construction) {
    animation: excavate-title 560ms var(--e-out) 90ms both;
  }
  ::view-transition-old(title-construction) {
    animation: excavate-title-out 260ms var(--e-out) both;
  }
  @keyframes excavate-img {
    from { transform: scale(1.06); opacity: .55; }
    to   { transform: scale(1); opacity: 1; }
  }
  @keyframes excavate-title {
    from { opacity: 0; transform: translateY(34px); }
    to   { opacity: 1; transform: none; }
  }
  @keyframes excavate-title-out {
    to { opacity: 0; transform: translateY(-18px); }
  }

  
  ::view-transition-group(world-trading) {
    animation-duration: 540ms;
    animation-timing-function: var(--e-io);
  }
  ::view-transition-new(world-trading) {
    animation: deliver-img 540ms var(--e-io) both;
  }
  ::view-transition-group(title-trading) { animation-duration: 540ms; }
  ::view-transition-new(title-trading) {
    animation: deliver-title 480ms var(--e-out) 60ms both;
  }
  ::view-transition-old(title-trading) {
    animation: deliver-title-out 240ms var(--e-out) both;
  }
  @keyframes deliver-img {
    from { transform: translateX(-4.5%); opacity: .6; }
    to   { transform: none; opacity: 1; }
  }
  @keyframes deliver-title {
    from { opacity: 0; transform: translateX(38px); }
    to   { opacity: 1; transform: none; }
  }
  @keyframes deliver-title-out {
    to { opacity: 0; transform: translateX(-24px); }
  }

  
  ::view-transition-group(world-projects) {
    animation-duration: 680ms;
    animation-timing-function: var(--e-out);
  }
  ::view-transition-new(world-projects) {
    animation: reveal-img 680ms var(--e-out) both;
  }
  ::view-transition-group(title-projects) { animation-duration: 680ms; }
  ::view-transition-new(title-projects) {
    animation: reveal-title 520ms var(--e-out) 170ms both;
  }
  ::view-transition-old(title-projects) {
    animation: reveal-title-out 220ms var(--e-out) both;
  }
  @keyframes reveal-img {
    from { transform: scale(1.14); opacity: .5; }
    to   { transform: scale(1); opacity: 1; }
  }
  @keyframes reveal-title {
    from { opacity: 0; transform: scale(1.04); }
    to   { opacity: 1; transform: none; }
  }
  @keyframes reveal-title-out { to { opacity: 0; } }

  
  ::view-transition-group(page-head) { animation-duration: 340ms; }
  ::view-transition-new(page-head) { animation: turn-in 340ms var(--e-out) both; }
  ::view-transition-old(page-head) { animation: turn-out 200ms var(--e-out) both; }
  @keyframes turn-in { from { opacity: 0; transform: translateY(12px); } }
  @keyframes turn-out { to { opacity: 0; } }

  
  ::view-transition-group(root) { animation-duration: 420ms; }
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation-duration: 420ms;
    animation-timing-function: var(--e-io);
  }

  
  @media (max-width: 860px) {
    ::view-transition-group(world-construction),
    ::view-transition-group(title-construction) { animation-duration: 460ms; }
    ::view-transition-group(world-trading),
    ::view-transition-group(title-trading) { animation-duration: 400ms; }
    ::view-transition-group(world-projects),
    ::view-transition-group(title-projects) { animation-duration: 500ms; }
  }

  @media (prefers-reduced-motion: reduce) {
    ::view-transition-group(*),
    ::view-transition-old(*),
    ::view-transition-new(*) { animation: none !important; }
  }
}

@layer responsive {
  @media (max-width: 1180px) {
    .split--construction .split__a,
    .split--construction .split__b,
    .split--trading .split__a,
    .split--trading .split__b,
    .split--projects .split__a,
    .split--projects .split__b { grid-column: 1 / span 12; }
    .model { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .model__step:nth-child(2)::after { content: none; }
    .tier3__row { grid-template-columns: 48px minmax(0, 1fr) auto; }
    .tier3__meta { grid-column: 2 / span 2; }
  }

  @media (max-width: 860px) {
    .worldstat { gap: var(--s6) clamp(28px, 8vw, 56px); }
    .crossworld { grid-template-columns: auto minmax(0, 1fr); }
    .crossworld__go { grid-column: 2; }
  }

  @media (max-width: 560px) {
    .model { grid-template-columns: minmax(0, 1fr); }
    .model__step { border-inline-end: 0; padding-inline-end: 0; }
    .model__step::after { content: none !important; }
    .tier3__row { grid-template-columns: 34px minmax(0, 1fr); gap: var(--s2) var(--s4); }
    .tier3__meta, .tier3__sector, .tier3__go { grid-column: 2; }
    .worldstat { gap: var(--s5) var(--s7); }
    .worldstat__num { font-size: clamp(2.2rem, 13vw, 3rem); }
    .discovery__key { min-width: 0; flex-basis: 100%; }
  }
}

@layer rtl {
  [dir='rtl'] .model__step:not(:last-child)::after { content: '←'; inset-inline-end: -7px; }
  [dir='rtl'] .worldstat__num,
  [dir='rtl'] .crossworld__num,
  [dir='rtl'] .tier3__num,
  [dir='rtl'] .model__num { direction: ltr; unicode-bidi: isolate; }
  
  [dir='rtl'] .deliver-flip { --deliver-x: -1; }
}


@layer motion {
  
  :root:active-view-transition-type(pass)::view-transition-group(world-construction),
  :root:active-view-transition-type(pass)::view-transition-group(world-trading),
  :root:active-view-transition-type(pass)::view-transition-group(world-projects),
  :root:active-view-transition-type(pass)::view-transition-group(title-construction),
  :root:active-view-transition-type(pass)::view-transition-group(title-trading),
  :root:active-view-transition-type(pass)::view-transition-group(title-projects) {
    animation-duration: 420ms;
  }
  :root:active-view-transition-type(pass)::view-transition-new(world-construction),
  :root:active-view-transition-type(pass)::view-transition-new(world-trading),
  :root:active-view-transition-type(pass)::view-transition-new(world-projects),
  :root:active-view-transition-type(pass)::view-transition-new(title-construction),
  :root:active-view-transition-type(pass)::view-transition-new(title-trading),
  :root:active-view-transition-type(pass)::view-transition-new(title-projects) {
    animation: pass-in 420ms var(--e-io) both;
  }
  @keyframes pass-in { from { opacity: 0; } to { opacity: 1; } }

  
  :root:active-view-transition-type(turn)::view-transition-group(root) {
    animation-duration: 340ms;
  }
}


@layer layout {
  .section--hub { padding-block: clamp(52px, 4.4vw, 84px); }
}

@layer sections {
  .section--hub .shead,
  .section--hub .projects__head { margin-bottom: clamp(20px, 2.2vw, 36px); }
  .section--hub .worldstat  { padding-block: clamp(22px, 2.4vw, 34px); }
  .section--hub .cap        { padding-block: clamp(14px, 1.6vw, 22px); }
  .section--hub .crossworld { padding-block: clamp(16px, 1.8vw, 24px); }

  
  .plist--hub .media--project    { aspect-ratio: var(--ar-wide); }
  .plist--hub .project + .project { margin-top: clamp(28px, 2.8vw, 44px); }
  .plist--hub .project__scope    { display: none; }

  
  .section--hub + .cta { min-height: clamp(380px, 42vh, 480px); }
  .section--hub + .cta .cta__actions { margin-top: var(--s6); }
}


@layer sections {
  .doors {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--line-2);
  }

  .door {
    display: flex;
    flex-direction: column;
    gap: var(--s3);
    padding: clamp(18px, 2vw, 30px) clamp(18px, 2vw, 32px) clamp(18px, 2.2vw, 32px) 0;
    border-inline-end: 1px solid var(--line);
    position: relative;
    isolation: isolate;
  }
  .door:last-child { border-inline-end: 0; }

  
  .door::before {
    content: '';
    position: absolute;
    inset-block-start: -1px;
    inset-inline-start: 0;
    height: 1px;
    width: 100%;
    background: var(--blue-bright);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--d-base) var(--e-out);
  }
  .door:hover::before,
  .door:focus-visible::before { transform: scaleX(1); }

  .door__mark { display: flex; align-items: baseline; gap: var(--s3); }
  .door__num {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .1em;
    color: var(--blue-bright);
    font-variant-numeric: tabular-nums;
    transition: transform var(--d-base) var(--e-out);
  }
  .door:hover .door__num { transform: translateY(-2px); }
  .door__world {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--ice);
  }

  
  .door__strip {
    aspect-ratio: 16 / 5;
    overflow: hidden;
    background: var(--surface);
  }
  .door__strip img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform var(--d-slow) var(--e-out);
  }

  .door__line {
    color: var(--white);
    font-size: clamp(1rem, 1.15vw, 1.18rem);
    font-weight: 600;
    letter-spacing: -.015em;
    line-height: 1.2;
    text-wrap: balance;
  }

  .door__go {
    display: flex;
    align-items: center;
    gap: var(--s2);
    margin-top: auto;
    padding-top: var(--s2);
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted-2);
    transition: color var(--d-fast) var(--e-out);
  }
  .door__go i {
    font-style: normal;
    opacity: 0;
    transform: translateX(-6px);
    transition: opacity var(--d-base) var(--e-out), transform var(--d-base) var(--e-out);
  }
  .door:hover .door__go,
  .door:focus-visible .door__go { color: var(--white); }
  .door:hover .door__go i,
  .door:focus-visible .door__go i { opacity: 1; transform: none; }

  
  .door--construction:hover .door__strip img { transform: scale(1.08); }        
  .door--trading:hover .door__strip img      { transform: translateX(-5%) scale(1.03); } 
  .door--projects:hover .door__strip img     { transform: scale(.94); }         

  
  .hero__doors { margin-top: auto; padding-top: clamp(20px, 3vh, 44px); }
}

@layer responsive {
  @media (max-width: 860px) {
    .doors { grid-template-columns: minmax(0, 1fr); }
    .door {
      display: grid;
      grid-template-columns: 84px minmax(0, 1fr);
      grid-template-areas: 'strip mark' 'strip line';
      align-items: center;
      gap: var(--s2) var(--s4);
      padding: var(--s4) 0;
      border-inline-end: 0;
      border-bottom: 1px solid var(--line);
    }
    .door__strip { grid-area: strip; aspect-ratio: 4 / 3; }
    .door__mark  { grid-area: mark; }
    .door__line  { grid-area: line; font-size: 1rem; }
    .door__go    { display: none; }
  }

  @media (max-width: 560px) {
    .hero__doors { padding-top: var(--s5); }
    .door { grid-template-columns: 68px minmax(0, 1fr); }
  }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    .door::before { transform: scaleX(1); }
    .door__go i { opacity: 1; transform: none; }
  }
}

@layer sections {
  
  .hero { padding-block: calc(var(--nav-h) + clamp(8px, 2vh, 48px)) 0; }
  .hero__title { margin-bottom: clamp(10px, 1.6vh, 28px); }
  .hero__lead  { margin-bottom: clamp(14px, 2vh, 36px); }
  .hero__doors { padding-top: clamp(14px, 2vh, 36px); }
  .door { padding-block: clamp(14px, 1.6vw, 26px); }
}

@layer responsive {
  
  @media (min-width: 861px) and (max-height: 860px) {
    .hero__title { margin-bottom: clamp(8px, 1.2vh, 18px); }
    .hero__lead  { margin-bottom: clamp(10px, 1.6vh, 22px); max-width: 46ch; }
    .hero__doors { padding-top: clamp(10px, 1.4vh, 20px); }
    .door { padding-block: clamp(12px, 1.3vw, 20px); gap: var(--s2); }
    .door__strip { aspect-ratio: 16 / 4; }
  }
}

@layer responsive {
  
  @media (min-width: 861px) and (max-height: 900px) {
    .hero__title { font-size: min(var(--t-d1), 13.2vh); }
  }
}

@layer components {
  
  a.channel { transition: background-color var(--d-fast) var(--e-out); }
  a.channel:hover { background: rgba(14, 42, 71, .03); }
  .section--ink a.channel:hover { background: rgba(255, 255, 255, .03); }
  a.channel:hover .channel__name { color: var(--blue-bright); }
  .channel__name { transition: color var(--d-fast) var(--e-out); }
}



@layer sections {

  
  .proof { border-top: 1px solid var(--line-2); }
  .proof__row {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    align-items: end;
    gap: var(--s4) var(--grid-gap);
    padding-block: clamp(24px, 3.2vw, 52px);
    border-bottom: 1px solid var(--line);
  }
  .proof__num {
    font-size: clamp(3.4rem, 9vw, 8.5rem);
    font-weight: 600;
    line-height: .82;
    letter-spacing: -.045em;
    color: var(--white);
    font-variant-numeric: tabular-nums;
    text-wrap: nowrap;
  }
  .proof__label {
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--muted-2);
    padding-bottom: clamp(6px, 1vw, 16px);
  }
  
  .proof__row--lead .proof__num { font-size: clamp(4rem, 12vw, 11rem); }

  
  .showcase__item { display: block; margin-bottom: clamp(56px, 7vw, 120px); }
  .showcase__item:last-child { margin-bottom: 0; }
  .showcase__item .media { aspect-ratio: 16 / 9; }
  .showcase__item--lead .media { aspect-ratio: var(--ar-wide); }

  .showcase__meta {
    display: grid;
    grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
    align-items: start;
    gap: var(--s5) var(--grid-gap);
    padding-top: var(--s5);
    border-top: 1px solid var(--line-2);
  }
  .showcase__name { margin-bottom: var(--s2); }
  .showcase__place { color: var(--muted); }
  .showcase__facts {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s4) clamp(28px, 4vw, 64px);
  }
  .showcase__fact { display: flex; flex-direction: column; gap: var(--s2); }
  .showcase__fact span:first-child {
    font-size: var(--t-label);
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--muted-2);
  }
  .showcase__fact span:last-child { color: var(--ice); font-weight: 500; letter-spacing: -.01em; }
  .showcase__go { margin-top: var(--s5); }
  .showcase__item:hover .media img { transform: scale(1.03); }

  
  .namefield {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
    gap: clamp(10px, 1.4vw, 22px) clamp(20px, 2.6vw, 44px);
  }
  .namefield__name {
    font-size: clamp(1.5rem, 3.4vw, 3.1rem);
    font-weight: 600;
    letter-spacing: -.028em;
    line-height: 1.06;
    color: var(--muted);
    transition: color var(--d-base) var(--e-out);
  }
  .namefield__name:hover { color: var(--white); }
  
  .namefield__name:not(:last-child)::after {
    content: '';
    display: inline-block;
    width: 5px; height: 5px;
    margin-inline-start: clamp(20px, 2.6vw, 44px);
    background: var(--blue-bright);
    vertical-align: middle;
    opacity: .55;
  }
}

@layer responsive {
  @media (max-width: 860px) {
    .proof__row { grid-template-columns: minmax(0, 1fr); align-items: start; gap: var(--s2); }
    .proof__label { padding-bottom: 0; }
    .showcase__meta { grid-template-columns: minmax(0, 1fr); }
    .showcase__item .media,
    .showcase__item--lead .media { aspect-ratio: 4 / 3; }
  }

  @media (max-width: 560px) {
    .namefield { gap: var(--s3) var(--s5); }
    .namefield__name:not(:last-child)::after { margin-inline-start: var(--s5); }
  }
}



@layer layout {
  
  .section--home { padding-block: clamp(56px, 4.6vw, 88px); }
}

@layer sections {
  .section--home .shead { margin-bottom: clamp(24px, 2.6vw, 40px); }

  
  .engines {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid var(--line-2);
  }
  .engine {
    display: flex;
    flex-direction: column;
    gap: var(--s4);
    padding: clamp(28px, 3vw, 48px) clamp(24px, 3vw, 56px) clamp(28px, 3vw, 48px) 0;
    border-inline-end: 1px solid var(--line);
  }
  .engine:last-child { border-inline-end: 0; padding-inline: clamp(24px, 3vw, 56px) 0; }
  .engine .media { aspect-ratio: 16 / 9; margin-bottom: var(--s2); }
  .engine__num {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .1em;
    color: var(--blue-bright);
    font-variant-numeric: tabular-nums;
  }
  .engine__name { margin-bottom: var(--s2); }
  .engine__desc { color: var(--muted); max-width: 40ch; }
  
  .engine__points {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s3) var(--s5);
    padding-top: var(--s4);
    border-top: 1px solid var(--line);
    font-size: var(--t-meta);
    color: var(--muted-2);
  }
  .engine__points li { display: flex; align-items: center; }
  .engine__points li:not(:last-child)::after {
    content: '';
    width: 3px; height: 3px;
    background: var(--muted-2);
    margin-inline-start: var(--s5);
  }
  .engine__go { margin-top: auto; padding-top: var(--s5); }
  .engine:hover .media img { transform: scale(1.04); }

  
  .proof--gateway .proof__row { padding-block: clamp(14px, 1.6vw, 26px); }
  .proof--gateway .proof__row--lead { padding-block: clamp(20px, 2.4vw, 40px); }
  .proof--gateway .proof__row:not(.proof__row--lead) .proof__num {
    font-size: clamp(2.4rem, 5vw, 4.6rem);
  }

  
  .work__item { display: block; margin-bottom: clamp(48px, 5vw, 88px); }
  .work__item:last-child { margin-bottom: 0; }

  .work__item--lead .media { aspect-ratio: var(--ar-wide); }
  .work__item--lead .work__meta { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); }

  .work__split {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--s5) var(--grid-gap);
    align-items: end;
  }
  .work__item--a .work__media { grid-column: 1 / span 8; }
  .work__item--a .work__body  { grid-column: 9 / span 4; }
  .work__item--b .work__media { grid-column: 5 / span 8; grid-row: 1; }
  .work__item--b .work__body  { grid-column: 1 / span 4; grid-row: 1; }
  .work__split .media { aspect-ratio: 16 / 9; }

  .work__meta {
    display: grid;
    grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
    gap: var(--s4) var(--grid-gap);
    align-items: start;
    padding-top: var(--s4);
    border-top: 1px solid var(--line-2);
  }
  .work__name { margin-bottom: var(--s1); }
  .work__place { color: var(--muted); font-size: var(--t-meta); }
  .work__facts { display: flex; flex-wrap: wrap; gap: var(--s3) clamp(24px, 3vw, 52px); }
  .work__fact { display: flex; flex-direction: column; gap: var(--s1); }
  .work__fact span:first-child {
    font-size: var(--t-label);
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--muted-2);
  }
  .work__fact span:last-child { color: var(--ice); font-weight: 500; }
  .work__item:hover .media img { transform: scale(1.03); }

  
  .routes { border-top: 1px solid var(--line-2); }
  .route {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 6fr) auto;
    align-items: baseline;
    gap: var(--s3) var(--grid-gap);
    padding-block: clamp(20px, 2.4vw, 34px);
    border-bottom: 1px solid var(--line);
    transition: background-color var(--d-fast) var(--e-out);
  }
  .route:hover { background: rgba(14, 42, 71, .03); }
  .section--ink .route:hover { background: rgba(255, 255, 255, .03); }
  .route__q { color: var(--muted); font-size: var(--t-meta); }
  .route__a {
    color: var(--white);
    font-size: var(--t-h4);
    font-weight: 600;
    letter-spacing: -.015em;
    transition: color var(--d-fast) var(--e-out);
  }
  .route:hover .route__a { color: var(--blue-bright); }
  .route__go {
    font-size: var(--t-label);
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted-2);
    white-space: nowrap;
  }
}

@layer responsive {
  @media (max-width: 1180px) {
    .work__item--a .work__media, .work__item--b .work__media { grid-column: 1 / span 12; grid-row: auto; }
    .work__item--a .work__body,  .work__item--b .work__body  { grid-column: 1 / span 12; grid-row: auto; }
  }

  @media (max-width: 860px) {
    .engines { grid-template-columns: minmax(0, 1fr); }
    .engine { border-inline-end: 0; border-bottom: 1px solid var(--line); padding-inline: 0; }
    .engine:last-child { border-bottom: 0; padding-inline: 0; }
    .work__meta { grid-template-columns: minmax(0, 1fr); }
    .route { grid-template-columns: minmax(0, 1fr); }
    .route__go { grid-column: 1; }
  }
}

@layer layout {
  
  .section--home { padding-block: clamp(44px, 3.6vw, 68px); }
}

@layer sections {
  .section--home .shead { margin-bottom: clamp(20px, 2.2vw, 34px); }
  .section--home .projects__head { margin-bottom: clamp(20px, 2.2vw, 34px); }
  .work__item { margin-bottom: clamp(32px, 3vw, 52px); }
  .work__item--lead .media { aspect-ratio: 2.4 / 1; }
  .work__split .media { aspect-ratio: 3 / 2; }
  .work__item--a .work__media { grid-column: 1 / span 7; }
  .work__item--a .work__body  { grid-column: 8 / span 5; }
  .work__item--b .work__media { grid-column: 6 / span 7; grid-row: 1; }
  .work__item--b .work__body  { grid-column: 1 / span 5; grid-row: 1; }
  .engine .media { aspect-ratio: 2 / 1; }
}



@layer sections {

  
  .identity { border-block: 1px solid var(--line-2); padding-block: clamp(28px, 3vw, 52px); }
  .identity__line {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--s3) clamp(18px, 2.4vw, 40px);
    margin-bottom: var(--s5);
  }
  .identity__word {
    font-size: clamp(1.6rem, 3.6vw, 3.4rem);
    font-weight: 600;
    letter-spacing: -.03em;
    line-height: 1.05;
    color: var(--white);
  }
  .identity__word--dim { color: var(--muted-2); }
  .identity__sep { color: var(--blue-bright); font-size: clamp(1rem, 1.8vw, 1.6rem); }
  .identity__note { color: var(--muted); max-width: 66ch; }

  
  .metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    background: var(--line);
    border: 1px solid var(--line);
  }
  .metric {
    background: var(--ink);
    padding: clamp(20px, 2.2vw, 34px) clamp(16px, 1.8vw, 28px);
    display: flex;
    flex-direction: column;
    gap: var(--s2);
    min-width: 0;
  }
  .section--navy .metric { background: var(--navy); }
  .metric--wide { grid-column: span 2; }
  .metric__num {
    font-size: clamp(1.9rem, 3.4vw, 3.2rem);
    font-weight: 600;
    line-height: .95;
    letter-spacing: -.035em;
    color: var(--white);
    font-variant-numeric: tabular-nums;
  }
  .metric__label {
    font-size: var(--t-label);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--muted-2);
    line-height: 1.35;
  }

  
  .area__head {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    gap: var(--s5) var(--grid-gap);
    align-items: end;
    padding-bottom: clamp(20px, 2.4vw, 36px);
    border-bottom: 1px solid var(--line-2);
    margin-bottom: clamp(24px, 2.8vw, 44px);
  }
  .area__desc { color: var(--muted); max-width: 52ch; }

  .worklist {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(20px, 2.4vw, 40px);
  }
  .worklist--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .worklist__item { display: block; }
  .worklist__item .media { aspect-ratio: 4 / 3; margin-bottom: var(--s4); }
  .worklist__item:hover .media img { transform: scale(1.04); }
  .worklist__name {
    color: var(--white);
    font-size: var(--t-h4);
    font-weight: 600;
    letter-spacing: -.015em;
    display: block;
    transition: color var(--d-fast) var(--e-out);
  }
  .worklist__item:hover .worklist__name { color: var(--blue-bright); }
  .worklist__place { font-size: var(--t-meta); color: var(--muted-2); }

  
  .sectors { border-top: 1px solid var(--line-2); }
  .sector {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: baseline;
    gap: var(--s4) var(--grid-gap);
    padding-block: clamp(16px, 1.8vw, 26px);
    border-bottom: 1px solid var(--line);
    transition: background-color var(--d-fast) var(--e-out);
  }
  .sector:hover { background: rgba(14, 42, 71, .03); }
  .section--ink .sector:hover, .section--navy .sector:hover { background: rgba(255, 255, 255, .03); }
  .sector__count {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .1em;
    color: var(--blue-bright);
    font-variant-numeric: tabular-nums;
    min-width: 3ch;
  }
  .sector__name {
    color: var(--white);
    font-size: clamp(1.15rem, 1.9vw, 1.7rem);
    font-weight: 600;
    letter-spacing: -.02em;
    transition: color var(--d-fast) var(--e-out);
  }
  .sector:hover .sector__name { color: var(--blue-bright); }
  .sector__go { font-size: var(--t-label); letter-spacing: .14em; text-transform: uppercase; color: var(--muted-2); }
}

@layer responsive {
  @media (max-width: 1180px) {
    .worklist--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .area__head { grid-template-columns: minmax(0, 1fr); align-items: start; }
  }

  @media (max-width: 860px) {
    .metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .metric--wide { grid-column: span 2; }
  }

  @media (max-width: 560px) {
    .worklist, .worklist--three { grid-template-columns: minmax(0, 1fr); }
    .metrics { grid-template-columns: minmax(0, 1fr); }
    .metric--wide { grid-column: span 1; }
    .identity__sep { display: none; }
    .sector { grid-template-columns: auto minmax(0, 1fr); }
    .sector__go { display: none; }
  }
}



@layer sections {

  
  .bignum {
    display: block;
    font-size: clamp(2.8rem, 7vw, 6.4rem);
    font-weight: 600;
    line-height: .84;
    letter-spacing: -.05em;
    color: var(--white);
    font-variant-numeric: tabular-nums;
    margin-bottom: var(--s4);
  }
  .bignum__label {
    display: block;
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--muted-2);
    margin-bottom: clamp(36px, 5vw, 80px);
  }
  .subnums {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--s5) var(--grid-gap);
    padding-top: clamp(20px, 2.4vw, 36px);
    border-top: 1px solid var(--line-2);
  }
  .subnum { display: flex; flex-direction: column; gap: var(--s2); min-width: 0; }
  .subnum__n {
    font-size: clamp(1.7rem, 2.6vw, 2.5rem);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.035em;
    color: var(--white);
    font-variant-numeric: tabular-nums;
  }
  .subnum__l {
    font-size: var(--t-label);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--muted-2);
    line-height: 1.4;
  }

  
  .selected__lead { display: block; margin-bottom: clamp(28px, 3vw, 48px); }
  .selected__lead .media { aspect-ratio: 2.4 / 1; margin-bottom: var(--s4); }
  .selected__pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 40px); }
  .selected__pair .media { aspect-ratio: 3 / 2; margin-bottom: var(--s4); }
  .selected__item { display: block; }
  .selected__item:hover .media img { transform: scale(1.04); }
  .selected__name {
    display: block;
    color: var(--white);
    font-size: var(--t-d3);
    font-weight: 600;
    letter-spacing: -.025em;
    line-height: 1.05;
    transition: color var(--d-fast) var(--e-out);
  }
  .selected__lead .selected__name { font-size: var(--t-d2); }
  .selected__item:hover .selected__name { color: var(--blue-bright); }
  .selected__place { display: block; color: var(--muted); margin-top: var(--s2); }
}

@layer responsive {
  @media (max-width: 860px) {
    .subnums { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s6) var(--grid-gap); }
    .selected__pair { grid-template-columns: minmax(0, 1fr); }
    .selected__lead .media { aspect-ratio: 4 / 3; }
  }
  @media (max-width: 560px) {
    .subnums { grid-template-columns: minmax(0, 1fr); gap: var(--s5); }
  }
}


@layer sections {

  
  .hero--quiet { justify-content: center; padding-block: calc(var(--nav-h) + var(--s8)) var(--s8); }
  .hero--quiet .hero__title { margin-bottom: clamp(20px, 3vh, 40px); }
  .hero--quiet .hero__lead { max-width: 46ch; margin-bottom: 0; }
  .hero__cue {
    position: absolute;
    inset-block-end: clamp(28px, 5vh, 56px);
    inset-inline-start: var(--gutter);
    display: flex;
    align-items: center;
    gap: var(--s4);
    font-size: var(--t-label);
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--muted-2);
  }
  .hero__cue i { display: block; width: 56px; height: 1px; background: linear-gradient(90deg, var(--blue-bright), transparent); }

  
  .worlds { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 3.2vw, 64px); }
  .world { display: block; }
  .world .media { aspect-ratio: 3 / 2; margin-bottom: var(--s5); }
  .world__label {
    display: flex;
    align-items: baseline;
    gap: var(--s3);
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--muted-2);
    margin-bottom: var(--s3);
  }
  .world__label b { color: var(--blue-bright); font-weight: 600; font-variant-numeric: tabular-nums; }
  .world__name {
    display: block;
    color: var(--white);
    font-size: var(--t-d3);
    font-weight: 600;
    letter-spacing: -.025em;
    line-height: 1.05;
    transition: color var(--d-fast) var(--e-out);
  }
  .world:hover .world__name { color: var(--blue-bright); }
  .world:hover .media img { transform: scale(1.04); }
  
  .world--trading:hover .media img { transform: translateX(-4%) scale(1.03); }
  .world--projects:hover .media img { transform: scale(.95); }
}

@layer responsive {
  @media (max-width: 860px) {
    .worlds { grid-template-columns: minmax(0, 1fr); gap: clamp(28px, 6vw, 48px); }
    .hero__cue { display: none; }
  }
}


@layer components {
  .rail {
    position: fixed;
    inset-block: 0;
    inset-inline-start: 0;
    z-index: 90;
    width: var(--gutter);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--s6);
    pointer-events: none;
  }
  .rail__track {
    position: relative;
    width: 1px;
    height: clamp(140px, 26vh, 260px);
    background: var(--line);
    overflow: hidden;
  }
  .rail__fill {
    position: absolute;
    inset-block-start: 0;
    inset-inline: 0;
    height: 100%;
    
    background: #0057B8;
    transform: scaleY(var(--progress, 0));
    transform-origin: top;
    transition: transform 120ms linear;
  }

  .rail__social {
    display: flex;
    flex-direction: column;
    gap: var(--s4);
    pointer-events: auto;
  }
  .rail__social a {
    display: grid;
    place-items: center;
    width: 30px; height: 30px;
    border: 1px solid var(--line);
    border-radius: 50%;
    color: var(--muted-2);
    transition: border-color var(--d-fast) var(--e-out), color var(--d-fast) var(--e-out);
  }
  .rail__social a:hover { border-color: var(--blue-bright); color: var(--white); }
  .rail__social svg { width: 13px; height: 13px; fill: currentColor; }

  
  .rail--ink .rail__track { background: rgba(14, 42, 71, .16); }
  .rail--ink .rail__social a { border-color: rgba(14, 42, 71, .16); color: #5C6470; }
}

@layer responsive {
  
  @media (max-width: 1150px) { .rail { display: none; } }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    .rail__fill { transition: none; }
  }
}


@layer components {
  .eyebrow { gap: var(--s4); }
  .eyebrow__text {
    font-size: clamp(.82rem, .95vw, .95rem);
    font-weight: 600;
    letter-spacing: .18em;
    color: var(--blue-bright);
  }
  .eyebrow__line { background: var(--blue-bright); opacity: .45; }

  
  .label--section {
    color: var(--blue-bright);
    font-size: clamp(.82rem, .95vw, .95rem);
    font-weight: 600;
    letter-spacing: .18em;
  }

  
  .section--light .worldstat__num,
  .section--light-2 .worldstat__num,
  .section--light .subnum__n,
  .section--light-2 .subnum__n { color: var(--blue-bright); }
}

@layer sections {
  
  .scale.section--light { background: var(--paper); border-block-color: rgba(14, 42, 71, .14); }
  .scale.section--light .scale__item { background: var(--paper); }
  .scale.section--light .scale__grid { background: rgba(14, 42, 71, .14); }
  .scale.section--light .scale__num { color: var(--blue-bright); }
}


@layer sections {
  .reel__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--s6);
    flex-wrap: wrap;
    margin-bottom: clamp(20px, 2.4vw, 36px);
  }

  .reel__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: clamp(232px, 21vw, 320px);
    gap: clamp(16px, 1.8vw, 28px);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    
    margin-inline: calc(var(--gutter) * -1);
    padding-inline: var(--gutter);
    padding-bottom: var(--s4);
    overscroll-behavior-x: contain;
    cursor: grab;
  }
  .reel__track::-webkit-scrollbar { display: none; }
  .reel__track.is-dragging { cursor: grabbing; scroll-snap-type: none; }
  .reel__track.is-dragging a { pointer-events: none; }

  .reel__item { scroll-snap-align: start; display: block; min-width: 0; }
  .reel__item .media { aspect-ratio: 3 / 4; margin-bottom: var(--s4); }
  .reel__item:hover .media img { transform: scale(1.04); }
  .reel__name {
    display: block;
    color: var(--white);
    font-size: var(--t-h4);
    font-weight: 600;
    letter-spacing: -.015em;
    transition: color var(--d-fast) var(--e-out);
  }
  .reel__item:hover .reel__name { color: var(--blue-bright); }
  .reel__place { display: block; font-size: var(--t-meta); color: var(--muted-2); margin-top: var(--s2); }

  .reel__foot {
    display: flex;
    align-items: center;
    gap: var(--s5);
    margin-top: clamp(16px, 2vw, 28px);
  }
  .reel__count {
    font-size: var(--t-label);
    letter-spacing: .18em;
    color: var(--muted-2);
    font-variant-numeric: tabular-nums;
    min-width: 6ch;
  }
  .reel__count b { color: var(--blue-bright); font-weight: 600; }
  .reel__nav { display: flex; gap: var(--s3); margin-inline-start: auto; }
  .reel__nav button {
    width: 46px; height: 46px;
    display: grid;
    place-items: center;
    border: 1px solid var(--line-2);
    border-radius: var(--r);
    color: var(--ice);
    font-size: 1.05rem;
    transition: border-color var(--d-fast) var(--e-out), background-color var(--d-fast) var(--e-out), color var(--d-fast) var(--e-out);
  }
  .reel__nav button:hover:not(:disabled) { border-color: var(--blue-bright); color: var(--blue-bright); }
  .reel__nav button:disabled { opacity: .32; cursor: default; }
  
  .reel__hint {
    font-size: var(--t-label);
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--muted-2);
  }
}

@layer responsive {
  @media (max-width: 560px) {
    .reel__track { grid-auto-columns: 70vw; }
    .reel__hint { display: none; }
  }
}


@layer sections {
  .figures__lead {
    margin-block: clamp(32px, 4vw, 56px) clamp(28px, 3vw, 44px);
  }
  
  .figures__lead .bignum {
    font-size: clamp(2.4rem, 4.4vw, 3.8rem);
    color: var(--blue-bright);
    margin-bottom: var(--s3);
  }
  .figures__lead .bignum__label { margin-bottom: 0; }

  #about .subnums { margin-top: clamp(48px, 5.5vw, 88px); }
}


@layer components {

  
  .orgcards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: var(--line-2);
    border: 1px solid var(--line-2);
  }
  .orgcard { background: var(--paper); }
  .orgcard__top {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: var(--s5);
    padding: clamp(20px, 2.2vw, 30px);
    cursor: pointer;
    list-style: none;
    transition: background-color var(--d-fast) var(--e-out);
  }
  .orgcard__top::-webkit-details-marker { display: none; }
  .orgcard__top:hover { background: var(--paper-2); }
  .orgcard__mark {
    justify-self: center;
    width: 100%;
    max-width: 190px;
    height: auto;
    opacity: .62;
    transition: opacity var(--d-fast) var(--e-out);
  }
  .orgcard[open] .orgcard__mark,
  .orgcard__top:hover .orgcard__mark { opacity: 1; }
  .orgcard__name {
    font-size: var(--t-h4);
    font-weight: 600;
    letter-spacing: -.015em;
    color: var(--white);
  }
  
  .orgcard__sign {
    position: relative;
    width: 14px;
    height: 14px;
    flex: none;
  }
  .orgcard__sign::before,
  .orgcard__sign::after {
    content: '';
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 0;
    width: 14px;
    height: 1.5px;
    background: var(--blue-bright);
    transition: transform var(--d-fast) var(--e-out);
  }
  .orgcard__sign::after { transform: rotate(90deg); }
  .orgcard[open] .orgcard__sign::after { transform: rotate(0deg); }

  .orgcard__body {
    padding: 0 clamp(20px, 2.2vw, 30px) clamp(24px, 2.4vw, 32px);
    border-top: 1px solid var(--line);
    margin-top: var(--s2);
    padding-top: var(--s5);
  }
  .orgcard__note {
    font-size: var(--t-meta);
    color: var(--muted-2);
    line-height: 1.7;
    margin-bottom: var(--s5);
    max-width: 46ch;
  }
}

@layer responsive {
  @media (max-width: 1080px) {
    .orgcards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 560px) {
    .orgcards { grid-template-columns: minmax(0, 1fr); }
  }
}


@layer components {
  .certdocs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 2.6vw, 44px);
    margin-top: clamp(48px, 5vw, 80px);
  }
  .certdoc { margin: 0; }
  .certdoc img {
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid var(--line-2);
    background: var(--paper);
  }
  .certdoc__cap { display: block; margin-top: var(--s4); }
  .certdoc__std {
    display: block;
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--blue-bright);
    margin-bottom: var(--s2);
  }
  .certdoc__what {
    display: block;
    font-size: var(--t-h4);
    font-weight: 600;
    letter-spacing: -.015em;
    color: var(--white);
  }
  .certdocs__note { margin-top: var(--s5); }

  .badges {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 32px);
    margin-top: clamp(32px, 3.5vw, 52px);
    list-style: none;
  }
  .badge { display: flex; flex-direction: column; gap: var(--s3); }
  .badge__img { width: clamp(72px, 8vw, 104px); height: auto; }
  .badge__text b {
    display: block;
    font-size: var(--t-meta);
    font-weight: 600;
    letter-spacing: .04em;
    color: var(--white);
  }
  .badge__text small {
    display: block;
    margin-top: var(--s1);
    font-size: var(--t-label);
    line-height: 1.5;
    color: var(--muted-2);
  }
}

@layer responsive {
  @media (max-width: 860px) {
    .certdocs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 560px) {
    .certdocs { grid-template-columns: minmax(0, 1fr); }
    .badges { grid-template-columns: minmax(0, 1fr); gap: var(--s5); }
    .badge { flex-direction: row; align-items: center; gap: var(--s4); }
  }
}

@layer sections {
  
  .badges { margin-top: clamp(40px, 4.5vw, 72px); }
  .badge__img { width: clamp(84px, 9vw, 116px); }
}


@layer components {
  .clients {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1px;
    background: var(--line-2);
    border: 1px solid var(--line-2);
    list-style: none;
  }
  .client { background: #FFFFFF; }
  .client__link {
    display: grid;
    place-items: center;
    min-height: clamp(112px, 11vw, 156px);
    padding: clamp(16px, 1.8vw, 28px);
    background: #FFFFFF;
  }
  .client__logo {
    width: auto;
    max-width: 100%;
    max-height: clamp(64px, 6.5vw, 92px);
    
    transition: transform var(--d-fast) var(--e-out);
  }
  a.client__link:hover, a.client__link:focus-visible { background: var(--paper); }
  a.client__link:hover .client__logo,
  a.client__link:focus-visible .client__logo { transform: scale(1.04); }

  
  
  .orgcard__mark--photo {
    width: auto;
    max-width: 100%;
    height: clamp(74px, 7.2vw, 100px);
    object-fit: contain;
    background: #FFFFFF;
    padding: 0;
  }
}

@layer responsive {
  @media (max-width: 1080px) {
    .clients { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  }
  @media (max-width: 560px) {
    .clients { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
}


@layer components {
  .fcerts {
    margin-top: clamp(48px, 5vw, 80px);
    padding-top: clamp(28px, 3vw, 44px);
    border-top: 1px solid var(--line);
  }
  .fcerts__head { margin-bottom: var(--s5); }
  .fcerts__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: clamp(20px, 2.6vw, 44px);
    list-style: none;
  }
  .fcert {
    display: flex;
    align-items: center;
    gap: var(--s3);
    min-width: 0;
  }
  .fcert img {
    width: clamp(48px, 4.4vw, 62px);
    height: auto;
    flex: none;
    opacity: .82;
    transition: opacity var(--d-fast) var(--e-out);
  }
  .fcert:hover img { opacity: 1; }
  .fcert span {
    font-size: var(--t-label);
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--muted-2);
    line-height: 1.4;
  }
}

@layer responsive {
  @media (max-width: 700px) {
    .fcerts__row { gap: var(--s5) var(--s6); }
    .fcert span { display: none; }
    .fcert img { width: 56px; }
  }
}


@layer sections {
  .hero--slides { justify-content: center; padding-block: calc(var(--nav-h) + var(--s8)) var(--s9); }

  .hslide {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    
    transition: opacity 420ms var(--e-out), visibility 0s linear 420ms;
  }
  .hslide.is-active {
    opacity: 1;
    visibility: visible;
    transition: opacity 420ms var(--e-out), visibility 0s;
  }

  .hslide__bg { position: absolute; inset: 0; z-index: 0; }
  .hslide__bg img { width: 100%; height: 100%; object-fit: cover; }
  .hslide__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
      linear-gradient(180deg, rgba(14, 42, 71, .58) 0%, rgba(14, 42, 71, .18) 42%, rgba(14, 42, 71, .82) 100%),
      linear-gradient(90deg, rgba(14, 42, 71, .80) 0%, rgba(14, 42, 71, .34) 46%, rgba(14, 42, 71, 0) 72%);
  }

  .hslide__inner { position: relative; z-index: 1; max-width: 100%; }

  .hslide__meta {
    display: flex;
    align-items: center;
    gap: var(--s4);
    margin-bottom: var(--s5);
    font-size: var(--t-label);
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--muted);
  }
  .hslide__num { color: var(--blue-bright); font-weight: 600; font-variant-numeric: tabular-nums; }
  .hslide__rule { width: clamp(28px, 4vw, 64px); height: 1px; background: var(--blue-bright); opacity: .5; }

  .hslide__title { color: var(--white); max-width: 18ch; }
  .hslide__text { color: var(--muted); max-width: 52ch; margin-top: clamp(16px, 2.4vh, 32px); }
  .hslide__link { margin-top: clamp(20px, 3vh, 40px); }

  
  .hslide__meta, .hslide__title, .hslide__text, .hslide__link {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 420ms var(--e-out), transform 420ms var(--e-out);
  }
  .hslide.is-active .hslide__meta  { transition-delay: 90ms; }
  .hslide.is-active .hslide__title { transition-delay: 150ms; }
  .hslide.is-active .hslide__text  { transition-delay: 210ms; }
  .hslide.is-active .hslide__link  { transition-delay: 270ms; }
  .hslide.is-active .hslide__meta,
  .hslide.is-active .hslide__title,
  .hslide.is-active .hslide__text,
  .hslide.is-active .hslide__link { opacity: 1; transform: none; }

  
  .hero__controls {
    position: absolute;
    z-index: 2;
    inset-block-end: clamp(28px, 5vh, 56px);
    inset-inline-end: var(--gutter);
    display: flex;
    align-items: center;
    gap: var(--s4);
  }
  .hero__btn {
    width: 46px; height: 46px;
    display: grid;
    place-items: center;
    border: 1px solid var(--line-2);
    border-radius: var(--r);
    color: var(--ice);
    font-size: 1.05rem;
    transition: border-color var(--d-fast) var(--e-out), color var(--d-fast) var(--e-out);
  }
  .hero__btn:hover { border-color: var(--blue-bright); color: var(--blue-bright); }

  
  html:not(.js) .hero__controls { display: none; }
}

@layer responsive {
  @media (max-width: 700px) {
    .hslide__title { max-width: 14ch; }
    .hero__controls { inset-block-end: auto; inset-block-start: calc(var(--nav-h) + var(--s5)); }
  }
}

@layer motion {
  
  @media (prefers-reduced-motion: reduce) {
    .hslide,
    .hslide.is-active,
    .hslide__meta, .hslide__title, .hslide__text, .hslide__link {
      transition: none;
      transform: none;
    }
    .hslide.is-active .hslide__meta,
    .hslide.is-active .hslide__title,
    .hslide.is-active .hslide__text,
    .hslide.is-active .hslide__link { opacity: 1; }
  }
}


@layer components {
  .hero__ticks {
    position: absolute;
    z-index: 2;
    inset-block-end: clamp(28px, 5vh, 56px);
    inset-inline-start: var(--gutter);
    display: flex;
    gap: var(--s3);
  }
  .htick {
    
    display: grid;
    align-items: center;
    width: clamp(28px, 3.4vw, 52px);
    height: 22px;
    padding: 0;
  }
  .htick i {
    display: block;
    position: relative;
    height: 2px;
    background: rgba(242,245,249, .28);
    overflow: hidden;
    transition: background-color var(--d-fast) var(--e-out);
  }
  .htick:hover i { background: rgba(242,245,249, .5); }

  
  .htick i::after {
    content: '';
    position: absolute;
    inset-block: 0;
    inset-inline-start: 0;
    width: 0;
    background: var(--blue-bright);
  }
  .htick.is-on i::after { animation: htick 4200ms linear forwards; }
  @keyframes htick { from { width: 0 } to { width: 100% } }

  .htick:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 4px; }

  html:not(.js) .hero__ticks { display: none; }
}

@layer responsive {
  @media (max-width: 700px) {
    
    .htick { width: clamp(20px, 6vw, 34px); }
  }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    
    .htick.is-on i::after { animation: none; width: 100%; }
  }
}


@layer components {
  .brandmark {
    display: block;
    width: auto;
    height: clamp(46px, 4.4vw, 60px);
    margin-bottom: var(--s5);
    background: #FFFFFF;
    
    padding: 0;
  }
  
  .brandmark--head {
    height: clamp(54px, 5.4vw, 74px);
    margin-bottom: clamp(24px, 2.6vw, 40px);
  }
}

@layer responsive {
  @media (max-width: 560px) {
    .brandmark { height: 44px; }
    .brandmark--head { height: 50px; }
  }
}


@layer components {
  .cover {
    margin: 0;
    display: grid;
    place-items: center;
    padding: clamp(20px, 2.6vw, 44px);
    background: var(--surface);
    border: 1px solid var(--line);
  }
  .cover img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: clamp(320px, 34vw, 520px);
    height: auto;
    
    box-shadow: 0 18px 40px rgba(14, 42, 71, .22);
    transition: transform var(--d-base) var(--e-out);
  }
  .pillar:hover .cover img { transform: translateY(-4px); }

  
  .section--light .cover,
  .section--light-2 .cover { background: var(--paper); }
}

@layer responsive {
  @media (max-width: 900px) {
    .cover img { max-height: 380px; }
  }
}


@layer sections {
  
  .worlds {
    max-width: 1120px;
    gap: clamp(24px, 2.6vw, 48px);
  }
  .world .media { aspect-ratio: 16 / 10; margin-bottom: var(--s4); }
  .world__name { font-size: clamp(1.25rem, 1.7vw, 1.6rem); line-height: 1.15; }
}

@layer responsive {
  @media (max-width: 860px) {
    .worlds { max-width: none; }
  }
}


@layer components {
  .showcase {
    margin: 0;
    
    padding-block: clamp(56px, 6vw, 96px);
    background: var(--paper);
  }
  .showcase__media {
    aspect-ratio: var(--ar-wide);
    overflow: hidden;
  }
  .showcase__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--d-slow) var(--e-out);
  }
  .showcase:hover .showcase__media img { transform: scale(1.02); }

  .showcase__cap {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: var(--s3) var(--s6);
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: var(--gutter);
    padding-top: var(--s5);
  }
  .showcase__name {
    color: var(--ink-abs);
    font-size: var(--t-h4);
    font-weight: 600;
    letter-spacing: -.015em;
  }
  .showcase__place {
    font-size: var(--t-meta);
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #5C6470;
  }
  .showcase__cap .link-arrow { margin-inline-start: auto; }

  
  .marks {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: clamp(16px, 2vw, 32px);
    margin-top: clamp(36px, 4vw, 60px);
    list-style: none;
  }
  .marks img {
    display: block;
    width: auto;
    height: clamp(44px, 4.2vw, 58px);
    background: #FFFFFF;
  }
}

@layer responsive {
  @media (max-width: 700px) {
    .showcase__media { aspect-ratio: 4 / 3; }
    .showcase__cap .link-arrow { margin-inline-start: 0; }
    .marks img { height: 38px; }
  }
}


@layer motion {
  ::view-transition-old(mab-nav),
  ::view-transition-old(mab-footer) { animation: none; opacity: 0; }
  ::view-transition-new(mab-nav),
  ::view-transition-new(mab-footer) { animation: none; opacity: 1; }

  
  ::view-transition-group(mab-nav)    { z-index: 20; }
  ::view-transition-group(mab-footer) { z-index: 20; }
}



@layer sections {

  
  .ab-paper,
  .ab-stone {
    --white:       var(--ink-abs);
    --ice:         #0A2240;
    --muted:       #171A1F;
    --muted-2:     #5C6470;
    --line:        rgba(14, 42, 71, .13);
    --line-2:      rgba(14, 42, 71, .26);
    --blue-bright: #0057B8;
    color: var(--muted);
  }
  .ab-paper { background: var(--paper); }
  .ab-stone { background: var(--paper-2); }

  
  .ab-hero { padding-block: calc(var(--nav-h) + clamp(28px, 4vh, 56px)) 0; }
  
  .ab-hero .crumb { margin-bottom: clamp(24px, 3vh, 38px); color: var(--muted-2); }
  .ab-hero .crumb a:hover { color: var(--ink-abs); }
  .ab-hero .crumb [aria-current] { color: var(--ink-abs); }

  .ab-hero__eyebrow {
    display: flex;
    align-items: center;
    gap: var(--s4);
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--muted-2);
    margin-bottom: var(--s5);
  }
  .ab-hero__rule { width: clamp(28px, 3vw, 56px); height: 2px; background: var(--blue-bright); }

  .ab-hero__title {
    font-size: clamp(3rem, 7.4vw, 6.6rem);
    font-weight: 600;
    line-height: .92;
    letter-spacing: -.04em;
    color: var(--ink-abs);
  }
  .ab-hero__lead {
    margin-top: clamp(20px, 2.6vh, 34px);
    max-width: 44ch;
    font-size: var(--t-lead);
    line-height: 1.6;
  }

  
  .ab-hero__media {
    margin: clamp(32px, 4.5vh, 60px) 0 0;
    overflow: hidden;   
  }
  .ab-hero__media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3.4 / 1;
    object-fit: cover;
  }
  .ab-hero__cap {
    display: flex;
    align-items: baseline;
    gap: var(--s5);
    max-width: var(--container);
    margin-inline: auto;
    padding: var(--s4) var(--gutter) 0;
    font-size: var(--t-meta);
    color: var(--ink-abs);
    font-weight: 600;
  }
  .ab-hero__place {
    font-weight: 400;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-size: var(--t-label);
    color: var(--muted-2);
  }

  
  .ab-say { padding-block: clamp(56px, 7vh, 100px); }
  .ab-say .container {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--grid-gap);
  }
  .ab-say__title {
    grid-column: 1 / span 6;
    font-size: clamp(2rem, 3.6vw, 3.5rem);
    font-weight: 600;
    line-height: 1.04;
    letter-spacing: -.03em;
    color: var(--ink-abs);
  }
  .ab-say__body {
    grid-column: 8 / span 5;
    align-self: end;
    max-width: 46ch;
    font-size: var(--t-lead);
    line-height: 1.7;
  }

  
  .ab-do { padding-block: clamp(56px, 7vh, 100px); }
  .ab-do .container {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: clamp(32px, 4vw, 72px) var(--grid-gap);
    align-items: start;
  }
  .ab-do__major { grid-column: 1 / span 8; display: block; }
  .ab-do__minor {
    grid-column: 10 / span 3;
    display: block;
    
    padding-top: clamp(20px, 4vw, 64px);
  }

  .ab-do__label {
    display: flex;
    align-items: baseline;
    gap: var(--s3);
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--muted-2);
    margin-bottom: var(--s4);
  }
  .ab-do__label b { color: var(--blue-bright); font-weight: 600; font-variant-numeric: tabular-nums; }

  .ab-do__title {
    display: block;
    color: var(--ink-abs);
    font-weight: 600;
    letter-spacing: -.025em;
    line-height: 1.08;
    transition: color var(--d-fast) var(--e-out);
  }
  .ab-do__major .ab-do__title { font-size: clamp(1.7rem, 3vw, 2.9rem); }
  .ab-do__minor .ab-do__title { font-size: clamp(1.2rem, 1.6vw, 1.5rem); }
  .ab-do__major:hover .ab-do__title,
  .ab-do__minor:hover .ab-do__title { color: var(--blue-bright); }

  .ab-do__media {
    display: block;
    margin-block: clamp(24px, 3vw, 44px) var(--s5);
    overflow: hidden;
  }
  .ab-do__media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 1;
    object-fit: cover;
    transition: transform var(--d-slow) var(--e-out);
  }
  .ab-do__major:hover .ab-do__media img { transform: scale(1.02); }

  .ab-do__marks {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--s4);
    margin-block: clamp(20px, 2.4vw, 32px) var(--s5);
  }
  .ab-do__marks img {
    display: block;
    width: auto;
    height: clamp(36px, 3.4vw, 46px);
    background: #FFFFFF;
  }

  
  .ab-figures {
    background: var(--ink);
    padding-block: clamp(64px, 8vh, 112px) clamp(48px, 6vh, 80px);
  }
  .ab-figures__num {
    display: block;
    font-size: clamp(2.8rem, 8.4vw, 7rem);
    font-weight: 600;
    line-height: .86;
    letter-spacing: -.05em;
    color: var(--white);
    font-variant-numeric: tabular-nums;
  }
  .ab-figures__cap {
    display: block;
    margin-top: var(--s4);
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--muted-2);
  }
  .ab-figures__row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: clamp(40px, 5vh, 72px);
    border-top: 1px solid var(--line-2);
  }
  .ab-figures__item {
    padding: clamp(24px, 3vh, 40px) var(--s5) 0 0;
    border-inline-start: 1px solid var(--line);
  }
  .ab-figures__item:first-child { border-inline-start: 0; padding-inline-start: 0; }
  .ab-figures__item + .ab-figures__item { padding-inline-start: var(--s5); }
  .ab-figures__n {
    display: block;
    font-size: clamp(1.6rem, 2.6vw, 2.4rem);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.035em;
    color: var(--white);
    font-variant-numeric: tabular-nums;
  }
  .ab-figures__l {
    display: block;
    margin-top: var(--s3);
    font-size: var(--t-label);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--muted-2);
    line-height: 1.4;
  }

  
  .ab-proof { background: var(--ink); padding-bottom: clamp(52px, 6.5vh, 88px); }
  .ab-proof__media { margin: 0; overflow: hidden; }
  .ab-proof__media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3.2 / 1;
    object-fit: cover;
  }
  .ab-proof__foot {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: var(--s4) var(--s7);
    padding-top: clamp(24px, 3vh, 40px);
  }
  .ab-proof__meta { display: flex; align-items: baseline; gap: var(--s5); flex-wrap: wrap; }
  .ab-proof__name {
    font-size: clamp(1.4rem, 2.2vw, 2rem);
    font-weight: 600;
    letter-spacing: -.025em;
    color: var(--white);
  }
  .ab-proof__place {
    font-size: var(--t-label);
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--muted);
  }
  .ab-proof__all {
    margin-inline-start: auto;
    font-size: var(--t-meta);
    color: var(--muted-2);
    transition: color var(--d-fast) var(--e-out);
  }
  .ab-proof__all:hover { color: var(--blue-bright); }

  
  .ab-work { padding-block: clamp(64px, 8vh, 116px); }
  .ab-work__head {
    font-size: clamp(1.9rem, 3.2vw, 3.1rem);
    font-weight: 600;
    letter-spacing: -.03em;
    line-height: 1.05;
    color: var(--ink-abs);
    margin-bottom: clamp(28px, 3.6vh, 52px);
  }
  .ab-work__list { list-style: none; }
  .ab-work__row {
    display: grid;
    grid-template-columns: clamp(64px, 8vw, 132px) minmax(0, 4fr) minmax(0, 6fr);
    gap: var(--s5) var(--grid-gap);
    align-items: baseline;
    padding-block: clamp(18px, 2.3vh, 30px);
    border-top: 1px solid var(--line);
  }
  .ab-work__row:last-child { border-bottom: 1px solid var(--line); }
  .ab-work__num {
    font-size: clamp(1.1rem, 1.5vw, 1.4rem);
    font-weight: 600;
    letter-spacing: .06em;
    color: var(--blue-bright);
    font-variant-numeric: tabular-nums;
  }
  .ab-work__title {
    font-size: clamp(1.15rem, 1.7vw, 1.55rem);
    font-weight: 600;
    letter-spacing: -.02em;
    line-height: 1.15;
    color: var(--ink-abs);
  }
  .ab-work__text { max-width: 58ch; line-height: 1.7; }

  
  .ab-trust { padding-block: clamp(60px, 7.5vh, 104px); }
  .ab-trust__label {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--blue-bright);
    margin-bottom: var(--s5);
  }
  .ab-trust__head {
    font-size: clamp(1.9rem, 3.2vw, 3.1rem);
    font-weight: 600;
    letter-spacing: -.03em;
    line-height: 1.05;
    color: var(--ink-abs);
    margin-bottom: clamp(28px, 3.6vh, 52px);
  }
  .ab-trust__field {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: clamp(10px, 1.4vw, 24px) clamp(24px, 3vw, 56px);
    list-style: none;
    max-width: none;
  }
  .ab-trust__name {
    font-size: clamp(1.7rem, 3.6vw, 3.4rem);
    font-weight: 600;
    letter-spacing: -.035em;
    line-height: 1.1;
    color: var(--ink-abs);
  }
  
  .ab-trust__name + .ab-trust__name::before {
    content: '';
    display: inline-block;
    width: clamp(14px, 1.6vw, 28px);
    height: 2px;
    margin-inline-end: clamp(12px, 1.4vw, 24px);
    vertical-align: middle;
    background: var(--blue-bright);
    opacity: .5;
  }
  .ab-trust__go { margin-top: clamp(28px, 3.6vh, 52px); }

  
  .ab-cta { padding-block: clamp(56px, 7vh, 96px); }
  .ab-cta__title {
    font-size: clamp(2.4rem, 5.4vw, 5rem);
    font-weight: 600;
    line-height: .98;
    letter-spacing: -.04em;
    color: var(--ink-abs);
    margin-bottom: clamp(32px, 4vh, 56px);
  }
  .ab-routes { list-style: none; border-top: 1px solid var(--line); }
  .ab-route {
    display: grid;
    grid-template-columns: clamp(140px, 18vw, 260px) minmax(0, 1fr);
    gap: var(--s4) var(--grid-gap);
    align-items: baseline;
    padding-block: clamp(16px, 2.1vh, 26px);
    border-bottom: 1px solid var(--line);
  }
  .ab-route__label {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--muted-2);
  }
  .ab-route__q {
    font-size: clamp(1.1rem, 1.7vw, 1.5rem);
    font-weight: 600;
    letter-spacing: -.02em;
    color: var(--ink-abs);
    transition: color var(--d-fast) var(--e-out);
  }
  .ab-route__q:hover { color: var(--blue-bright); }
  .ab-cta__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--s5) var(--s7);
    margin-top: clamp(28px, 3.6vh, 52px);
  }
  .ab-cta__tel {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .18em;
    color: var(--muted-2);
    transition: color var(--d-fast) var(--e-out);
  }
  .ab-cta__tel:hover { color: var(--ink-abs); }
}

@layer responsive {
  @media (max-width: 1080px) {
    .ab-say__title { grid-column: 1 / span 7; }
    .ab-say__body  { grid-column: 8 / span 5; }
    .ab-do__major  { grid-column: 1 / span 7; }
    .ab-do__minor  { grid-column: 9 / span 4; }
    .ab-trust__field { max-width: none; }
  }

  @media (max-width: 860px) {
    .ab-hero__media img { aspect-ratio: 16 / 10; }
    .ab-say .container,
    .ab-do .container { grid-template-columns: minmax(0, 1fr); }
    .ab-say__title, .ab-say__body,
    .ab-do__major, .ab-do__minor { grid-column: 1 / -1; }
    .ab-say__body { margin-top: var(--s6); }
    .ab-do__minor { padding-top: 0; border-top: 1px solid var(--line); padding-block-start: clamp(32px, 5vw, 56px); }
    .ab-do__minor .ab-do__title { font-size: clamp(1.4rem, 4.6vw, 1.9rem); }
    .ab-do__marks { flex-direction: row; flex-wrap: wrap; align-items: center; }

    .ab-figures__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ab-figures__item:nth-child(3) { border-inline-start: 0; padding-inline-start: 0; }
    .ab-figures__item:nth-child(n+3) { margin-top: var(--s6); }

    .ab-proof__media img { aspect-ratio: 4 / 3; }
    .ab-proof__all { margin-inline-start: 0; }

    .ab-work__row { grid-template-columns: minmax(0, 1fr); gap: var(--s3); }
    .ab-work__num { margin-bottom: var(--s2); }

    .ab-trust__field { max-width: none; }
    .ab-route { grid-template-columns: minmax(0, 1fr); gap: var(--s2); }
  }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    .ab-hero [class^='ab-'], .ab-hero [class*=' ab-'],
    [class^='ab-'], [class*=' ab-'],
    [class^='ab-'] img, [class*=' ab-'] img {
      transition: none !important;
      animation: none !important;
      transform: none !important;
    }
  }
}



@layer sections {

  
  .co-paper,
  .co-stone {
    --white:       var(--ink-abs);
    --ice:         #0A2240;
    --muted:       #171A1F;
    --muted-2:     #5C6470;
    --line:        rgba(14, 42, 71, .13);
    --line-2:      rgba(14, 42, 71, .26);
    --blue-bright: #0057B8;
    color: var(--muted);
  }
  .co-paper { background: var(--paper); }
  .co-stone { background: var(--paper-2); }

  
  .co-open {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    
    min-height: 100svh;
    padding-block: calc(var(--nav-h) + var(--s7)) clamp(40px, 6vh, 72px);
    overflow: hidden;
    isolation: isolate;
  }
  .co-open__bg { position: absolute; inset: 0; z-index: -2; }
  .co-open__bg img { width: 100%; height: 100%; object-fit: cover; }
  
  .co-open::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
      linear-gradient(90deg, rgba(14, 42, 71, .86) 0%, rgba(14, 42, 71, .42) 44%, rgba(14, 42, 71, .06) 78%),
      linear-gradient(180deg, rgba(14, 42, 71, .58) 0%, rgba(14, 42, 71, 0) 34%);
  }
  .co-open__inner { position: relative; }
  .co-open .crumb { margin-bottom: clamp(26px, 3.6vh, 52px); }

  .co-open__mark {
    display: flex;
    align-items: baseline;
    gap: var(--s4);
    margin-bottom: var(--s5);
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--muted);
  }
  .co-open__num { color: var(--blue-bright); font-weight: 600; font-variant-numeric: tabular-nums; }

  .co-open__title {
    font-size: clamp(3rem, 7.6vw, 6.8rem);
    font-weight: 600;
    line-height: .92;
    letter-spacing: -.04em;
    color: var(--white);
  }
  .co-open__lead {
    margin-top: clamp(18px, 2.4vh, 30px);
    max-width: 48ch;
    font-size: var(--t-lead);
    line-height: 1.6;
    color: var(--muted);
  }
  .co-open__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s4);
    margin-top: clamp(26px, 3.4vh, 44px);
  }
  
  .co-open__cap {
    position: absolute;
    inset-block-end: clamp(16px, 2.4vh, 26px);
    inset-inline-end: var(--gutter);
    font-size: var(--t-label);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(242,245,249, .66);
  }

  
  .co-who { padding-block: clamp(44px, 5.5vh, 78px); }
  .co-who .container {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: clamp(28px, 4vh, 56px) var(--grid-gap);
  }
  .co-who__title {
    grid-column: 1 / span 6;
    font-size: clamp(1.9rem, 3.4vw, 3.3rem);
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -.03em;
    color: var(--ink-abs);
  }
  .co-who__body {
    grid-column: 8 / span 5;
    align-self: end;
    max-width: 44ch;
    font-size: var(--t-lead);
    line-height: 1.7;
  }
  .co-metrics {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: clamp(20px, 3vh, 44px);
    border-top: 1px solid var(--line-2);
  }
  .co-metric { padding: clamp(20px, 2.6vh, 34px) var(--s5) 0 0; border-inline-start: 1px solid var(--line); }
  .co-metric:first-child { border-inline-start: 0; }
  .co-metric + .co-metric { padding-inline-start: var(--s5); }
  .co-metric__n {
    font-size: clamp(1.9rem, 3.4vw, 3rem);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.04em;
    color: var(--ink-abs);
    font-variant-numeric: tabular-nums;
  }
  .co-metric__l {
    margin: var(--s3) 0 0;
    font-size: var(--t-label);
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--muted-2);
  }

  
  .co-index { padding-block: clamp(44px, 5.5vh, 78px); }
  .co-index__label {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--blue-bright);
    margin-bottom: var(--s5);
  }
  .co-index__head {
    font-size: clamp(1.9rem, 3.2vw, 3.1rem);
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -.03em;
    color: var(--ink-abs);
    margin-bottom: clamp(22px, 2.8vh, 40px);
  }

  .co-disc {
    position: relative;
    display: grid;
    grid-template-columns: clamp(52px, 6.5vw, 104px) minmax(0, 1fr) clamp(28px, 3vw, 48px);
    gap: var(--s4) var(--grid-gap);
    align-items: baseline;
    padding-block: clamp(14px, 1.7vh, 22px);
    border-top: 1px solid var(--line);
  }
  .co-index__list > :last-child { border-bottom: 1px solid var(--line); }
  
  .co-disc::before {
    content: '';
    position: absolute;
    inset-block-start: -1px;
    inset-inline: 0;
    height: 1px;
    background: var(--blue-bright);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--d-base) var(--e-out);
  }
  .co-disc--link:hover::before,
  .co-disc--link:focus-visible::before { transform: scaleX(1); }

  .co-disc__n {
    font-size: clamp(1rem, 1.4vw, 1.3rem);
    font-weight: 600;
    letter-spacing: .06em;
    color: var(--muted-2);
    font-variant-numeric: tabular-nums;
    transition: color var(--d-fast) var(--e-out), transform var(--d-base) var(--e-out);
  }
  .co-disc--link:hover .co-disc__n,
  .co-disc--link:focus-visible .co-disc__n { color: var(--blue-bright); transform: translateX(4px); }

  .co-disc__body { display: block; }
  .co-disc__t {
    display: block;
    font-size: clamp(1.2rem, 1.9vw, 1.7rem);
    font-weight: 600;
    letter-spacing: -.025em;
    line-height: 1.15;
    color: var(--ink-abs);
    transition: color var(--d-fast) var(--e-out);
  }
  .co-disc--link:hover .co-disc__t,
  .co-disc--link:focus-visible .co-disc__t { color: var(--blue-bright); }

  .co-disc__d {
    display: block;
    margin-top: var(--s2);
    max-width: 62ch;
    color: var(--muted-2);
    line-height: 1.65;
    transition: color var(--d-fast) var(--e-out);
  }
  .co-disc--link:hover .co-disc__d,
  .co-disc--link:focus-visible .co-disc__d { color: var(--muted); }

  
  .co-disc__more {
    display: block;
    margin-top: var(--s2);
    max-width: 70ch;
    font-size: var(--t-meta);
    letter-spacing: .01em;
    color: var(--muted-2);
  }

  .co-disc__go {
    justify-self: end;
    font-size: 1.1rem;
    color: var(--muted-2);
    transition: color var(--d-fast) var(--e-out), transform var(--d-base) var(--e-out);
  }
  .co-disc--link:hover .co-disc__go,
  .co-disc--link:focus-visible .co-disc__go { color: var(--blue-bright); transform: translateX(6px); }

  .co-index__all { margin-top: clamp(22px, 2.8vh, 38px); }

  
  .co-proof { background: var(--ink); padding-block: clamp(44px, 5.5vh, 78px); }
  .co-proof__head {
    font-size: clamp(2rem, 3.6vw, 3.4rem);
    font-weight: 600;
    line-height: 1.02;
    letter-spacing: -.035em;
    color: var(--white);
    margin-bottom: clamp(24px, 3.2vh, 44px);
  }

  
  .co-lead { display: block; }
  .co-lead__media { display: block; overflow: hidden; }
  .co-lead__media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 1;
    object-fit: cover;
    transition: transform var(--d-slow) var(--e-out);
  }
  .co-lead:hover .co-lead__media img { transform: scale(1.02); }

  .co-lead__foot {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: var(--s4) var(--grid-gap);
    align-items: end;
    padding-top: clamp(18px, 2.4vh, 28px);
  }
  .co-lead__id {
    grid-column: 1 / -1;
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--blue-bright);
  }
  .co-lead__name {
    grid-column: 1;
    font-size: clamp(1.7rem, 3vw, 2.8rem);
    font-weight: 600;
    letter-spacing: -.03em;
    line-height: 1.05;
    color: var(--white);
    transition: color var(--d-fast) var(--e-out);
  }
  .co-lead:hover .co-lead__name { color: var(--blue-bright); }
  .co-lead__place {
    grid-column: 1;
    grid-row: 3;
    margin-top: var(--s2);
    font-size: var(--t-label);
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--muted);
  }
  .co-lead__foot .co-facts { grid-column: 2; grid-row: 2 / span 2; align-self: end; }
  .co-lead__go { grid-column: 2; grid-row: 4; justify-self: start; margin-top: var(--s4); }

  .co-facts {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--s3) var(--s6);
  }
  .co-fact { font-size: var(--t-meta); color: var(--muted); }
  .co-fact b {
    font-size: clamp(1.05rem, 1.5vw, 1.3rem);
    font-weight: 600;
    letter-spacing: -.01em;
    color: var(--white);
    font-variant-numeric: tabular-nums;
  }
  .co-fact--state {
    font-size: var(--t-label);
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--blue-bright);
  }

  
  .co-second {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: clamp(24px, 3vw, 48px) var(--grid-gap);
    align-items: center;
    margin-top: clamp(32px, 4vh, 56px);
    padding-top: clamp(26px, 3.2vh, 44px);
    border-top: 1px solid var(--line);
  }
  .co-second__media { grid-column: 1 / span 7; display: block; overflow: hidden; }
  .co-second__media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    transition: transform var(--d-slow) var(--e-out);
  }
  .co-second:hover .co-second__media img { transform: scale(1.02); }
  .co-second__body { grid-column: 9 / span 4; display: block; }
  .co-second__id {
    display: block;
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--blue-bright);
    margin-bottom: var(--s4);
  }
  .co-second__name {
    display: block;
    font-size: clamp(1.5rem, 2.4vw, 2.2rem);
    font-weight: 600;
    letter-spacing: -.03em;
    line-height: 1.05;
    color: var(--white);
    transition: color var(--d-fast) var(--e-out);
  }
  .co-second:hover .co-second__name { color: var(--blue-bright); }
  .co-second__place {
    display: block;
    margin-top: var(--s2);
    font-size: var(--t-label);
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--muted);
  }
  .co-facts--stack {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--s3);
    margin-block: var(--s4);
    padding-top: var(--s4);
    border-top: 1px solid var(--line);
  }
  .co-proof__all { margin-top: clamp(22px, 2.8vh, 38px); }

  
  .co-how { padding-block: clamp(44px, 5.5vh, 78px); }
  .co-how__head {
    font-size: clamp(1.9rem, 3.2vw, 3.1rem);
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -.03em;
    color: var(--ink-abs);
    margin-bottom: clamp(28px, 3.6vh, 52px);
  }
  .co-step {
    display: grid;
    grid-template-columns: clamp(52px, 6.5vw, 104px) minmax(0, 1fr) auto;
    gap: var(--s4) var(--grid-gap);
    align-items: baseline;
    padding-block: clamp(20px, 2.6vh, 32px);
    border-top: 1px solid var(--line);
  }
  .co-how__list > :last-child { border-bottom: 1px solid var(--line); }
  .co-step__n {
    font-size: clamp(1rem, 1.4vw, 1.3rem);
    font-weight: 600;
    letter-spacing: .06em;
    color: var(--blue-bright);
    font-variant-numeric: tabular-nums;
  }
  .co-step__body { display: block; }
  .co-step__t {
    display: block;
    font-size: clamp(1.2rem, 1.9vw, 1.7rem);
    font-weight: 600;
    letter-spacing: -.025em;
    color: var(--ink-abs);
    transition: color var(--d-fast) var(--e-out);
  }
  .co-step:hover .co-step__t { color: var(--blue-bright); }
  .co-step__d { display: block; margin-top: var(--s3); max-width: 62ch; line-height: 1.7; }
  .co-step__go { justify-self: end; }

  
  .co-next { background: var(--ink); padding-block: clamp(44px, 5.5vh, 78px); }
  .co-next__head {
    font-size: clamp(1.9rem, 3.2vw, 3.1rem);
    font-weight: 600;
    letter-spacing: -.03em;
    color: var(--white);
    margin-bottom: clamp(24px, 3vh, 40px);
  }
  .co-door {
    display: block;
    padding-block: clamp(18px, 2.3vh, 30px);
    border-top: 1px solid var(--line-2);
    transition: border-color var(--d-base) var(--e-out);
  }
  .co-door:last-of-type { border-bottom: 1px solid var(--line-2); }
  .co-door:hover { border-top-color: var(--blue-bright); }
  .co-door__n {
    display: block;
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .24em;
    color: var(--blue-bright);
    font-variant-numeric: tabular-nums;
    margin-bottom: var(--s3);
  }
  .co-door__world {
    display: block;
    font-size: var(--t-label);
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--muted-2);
    margin-bottom: var(--s4);
  }
  .co-door__title {
    display: block;
    font-weight: 600;
    letter-spacing: -.035em;
    line-height: 1.02;
    color: var(--white);
    transition: color var(--d-fast) var(--e-out);
  }
  .co-door--major .co-door__title { font-size: clamp(1.8rem, 3.6vw, 3.2rem); max-width: 16ch; }
  .co-door--minor .co-door__title { font-size: clamp(1.4rem, 2.4vw, 2.1rem); max-width: 22ch; }
  
  .co-door--minor { padding-inline-start: clamp(0px, 12vw, 220px); }
  .co-door:hover .co-door__title { color: var(--blue-bright); }
  .co-door__go { margin-top: clamp(18px, 2.4vh, 30px); }

  
  .co-ask { padding-block: clamp(44px, 5.5vh, 78px); }
  .co-ask__title {
    font-size: clamp(2rem, 4.2vw, 3.8rem);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.035em;
    color: var(--ink-abs);
  }
  .co-ask__body {
    margin-top: clamp(18px, 2.4vh, 28px);
    max-width: 48ch;
    font-size: var(--t-lead);
    line-height: 1.7;
  }
  .co-ask__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--s5) var(--s7);
    margin-top: clamp(28px, 3.6vh, 48px);
  }
  .co-ask__tel {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .18em;
    color: var(--muted-2);
    transition: color var(--d-fast) var(--e-out);
  }
  .co-ask__tel:hover { color: var(--ink-abs); }
}

@layer responsive {
  @media (max-width: 1080px) {
    .co-who__title { grid-column: 1 / span 7; }
    .co-who__body  { grid-column: 8 / span 5; }
    .co-second__media { grid-column: 1 / span 6; }
    .co-second__body  { grid-column: 8 / span 5; }
    .co-door--minor { padding-inline-start: clamp(0px, 8vw, 120px); }
  }

  @media (max-width: 860px) {
    .co-open { min-height: 100svh; }
    .co-open__cap { display: none; }

    .co-who .container { grid-template-columns: minmax(0, 1fr); }
    .co-who__title, .co-who__body { grid-column: 1 / -1; }
    .co-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .co-metric:nth-child(3) { border-inline-start: 0; padding-inline-start: 0; }
    .co-metric:nth-child(n+3) { margin-top: var(--s6); }

    .co-disc { grid-template-columns: clamp(40px, 12vw, 60px) minmax(0, 1fr); }
    .co-disc__go { grid-column: 2; justify-self: start; }

    .co-lead__media img { aspect-ratio: 4 / 3; }
    .co-lead__foot { grid-template-columns: minmax(0, 1fr); }
    .co-lead__name, .co-lead__place, .co-lead__foot .co-facts, .co-lead__go {
      grid-column: 1; grid-row: auto; margin-top: var(--s3);
    }

    .co-second { grid-template-columns: minmax(0, 1fr); }
    .co-second__media, .co-second__body { grid-column: 1 / -1; }

    .co-step { grid-template-columns: clamp(40px, 12vw, 60px) minmax(0, 1fr); }
    .co-step__go { grid-column: 2; justify-self: start; margin-top: var(--s4); }

    .co-door--minor { padding-inline-start: 0; }
  }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    [class^='co-'], [class*=' co-'],
    [class^='co-'] img, [class*=' co-'] img,
    .co-disc::before {
      transition: none !important;
      animation: none !important;
      transform: none !important;
    }
  }
}



@layer sections {

  .cx-paper,
  .cx-stone {
    --white:       var(--ink-abs);
    --ice:         #0A2240;
    --muted:       #171A1F;
    --muted-2:     #5C6470;
    --line:        rgba(14, 42, 71, .13);
    --line-2:      rgba(14, 42, 71, .26);
    --blue-bright: #0057B8;
    color: var(--muted);
  }
  .cx-paper { background: var(--paper); }
  .cx-stone { background: var(--paper-2); }

  
  .cx-open {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: clamp(560px, 74svh, 780px);
    padding-block: calc(var(--nav-h) + var(--s7)) clamp(32px, 5vh, 56px);
    overflow: hidden;
    isolation: isolate;
  }
  .cx-open__bg { position: absolute; inset: 0; z-index: -2; }
  .cx-open__bg img { width: 100%; height: 100%; object-fit: cover; }
  .cx-open::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
      linear-gradient(90deg, rgba(14, 42, 71, .88) 0%, rgba(14, 42, 71, .48) 46%, rgba(14, 42, 71, .10) 80%),
      linear-gradient(180deg, rgba(14, 42, 71, .60) 0%, rgba(14, 42, 71, 0) 36%);
  }
  .cx-open__inner { position: relative; }
  .cx-open .crumb { margin-bottom: clamp(22px, 3vh, 40px); }
  .cx-open__mark {
    display: flex;
    align-items: baseline;
    gap: var(--s4);
    margin-bottom: var(--s5);
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--muted);
  }
  .cx-open__rule {
    display: block;
    width: clamp(28px, 3.4vw, 52px);
    height: 2px;
    background: var(--blue-bright);
    align-self: center;
  }
  .cx-open__title {
    font-size: clamp(2.2rem, 5.2vw, 4.6rem);
    font-weight: 600;
    line-height: .96;
    letter-spacing: -.04em;
    color: var(--white);
  }
  .cx-open__lead {
    margin-top: clamp(16px, 2.2vh, 26px);
    max-width: 54ch;
    font-size: var(--t-lead);
    line-height: 1.6;
    color: var(--muted);
  }
  .cx-open__cap {
    position: absolute;
    inset-block-end: clamp(14px, 2vh, 22px);
    inset-inline-end: var(--gutter);
    font-size: var(--t-label);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(242,245,249, .62);
  }

  
  .cx-explore { padding-block: clamp(56px, 7vh, 104px); }
  .cx-explore__label {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--blue-bright);
    margin-bottom: var(--s5);
  }
  .cx-explore__head {
    font-size: clamp(1.8rem, 3vw, 2.9rem);
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -.03em;
    color: var(--ink-abs);
    margin-bottom: clamp(34px, 4.4vh, 60px);
  }
  .cx-explore__body {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
    gap: clamp(32px, 4vw, 88px);
    align-items: start;
  }

  
  .cx-tabs { display: flex; flex-direction: column; }
  .cx-tab {
    position: relative;
    display: grid;
    grid-template-columns: clamp(34px, 3.4vw, 46px) minmax(0, 1fr);
    gap: var(--s4);
    align-items: baseline;
    padding: clamp(16px, 2vh, 24px) var(--s5);
    
    margin-inline-start: calc(var(--s5) * -1);
    text-align: start;
    border-top: 1px solid var(--line);
    cursor: pointer;
    transition: background-color var(--d-base) var(--e-out);
  }
  .cx-tab:last-child { border-bottom: 1px solid var(--line); }
  
  .cx-tab::before {
    content: '';
    position: absolute;
    inset-block: 0;
    inset-inline-start: 0;
    width: 2px;
    background: var(--blue-bright);
    transform: scaleY(0);
    transform-origin: top;
    transition: transform var(--d-base) var(--e-out);
  }
  .cx-tab.is-on::before { transform: scaleY(1); }
  .cx-tab.is-on { background: var(--ink-abs); }
  .cx-tab:not(.is-on):hover { background: rgba(14, 42, 71, .05); }
  .cx-tab__n {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .08em;
    color: var(--muted-2);
    font-variant-numeric: tabular-nums;
    transition: color var(--d-fast) var(--e-out);
  }
  .cx-tab__t {
    font-size: clamp(1.1rem, 1.7vw, 1.55rem);
    font-weight: 600;
    letter-spacing: -.025em;
    line-height: 1.2;
    color: var(--muted-2);
    transition: color var(--d-fast) var(--e-out);
  }
  .cx-tab:hover .cx-tab__t { color: var(--ink-abs); }
  .cx-tab.is-on .cx-tab__n { color: var(--blue-bright); }
  .cx-tab.is-on .cx-tab__t { color: var(--paper); }

  
  .cx-panel {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: clamp(24px, 2.8vw, 48px);
    align-items: start;
  }
  .cx-panel[hidden] { display: none; }
  
  html.js .cx-panel:not(.is-on) { display: none; }
  .cx-panel__n {
    display: block;
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .24em;
    color: var(--blue-bright);
    margin-bottom: var(--s3);
  }
  .cx-panel__t {
    font-size: clamp(1.7rem, 2.8vw, 2.5rem);
    font-weight: 600;
    letter-spacing: -.03em;
    line-height: 1.05;
    color: var(--ink-abs);
    margin-bottom: var(--s5);
  }
  .cx-panel__d { font-size: var(--t-lead); line-height: 1.7; max-width: 54ch; }
  .cx-panel__note {
    margin-top: var(--s4);
    padding-top: var(--s4);
    border-top: 1px solid var(--line);
    font-size: var(--t-meta);
    line-height: 1.7;
    color: var(--muted-2);
    max-width: 58ch;
  }
  .cx-panel__go { margin-top: var(--s5); }

  .cx-scope__head {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--muted-2);
    padding-bottom: var(--s3);
    border-bottom: 1px solid var(--line-2);
  }
  .cx-scope { list-style: none; }
  .cx-scope li {
    padding-block: var(--s4);
    border-bottom: 1px solid var(--line);
    font-size: var(--t-meta);
    color: var(--muted);
  }

  
  
  .cx-panel__proof {
    grid-column: 1 / -1;
    margin: clamp(24px, 3vh, 38px) 0 0;
    display: grid;
    grid-template-columns: clamp(120px, 15vw, 190px) minmax(0, 1fr);
    gap: clamp(16px, 2vw, 28px);
    align-items: center;
    padding-block: clamp(16px, 2vh, 24px);
    border-top: 1px solid var(--line-2);
    border-bottom: 1px solid var(--line);
  }
  .cx-panel__proof img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
  }
  .cx-panel__proof figcaption { display: block; }
  .cx-proof__label {
    display: block;
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--blue-bright);
    margin-bottom: var(--s2);
  }
  .cx-proof__name {
    display: block;
    font-weight: 600;
    letter-spacing: -.015em;
    color: var(--ink-abs);
    margin-bottom: var(--s2);
  }
  .cx-proof__scope { display: block; font-size: var(--t-meta); color: var(--muted-2); line-height: 1.6; }

  
  .cx-proof { padding-block: clamp(64px, 8vh, 116px); }
  .cx-proof__eyebrow {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--blue-bright);
    margin-bottom: var(--s5);
  }
  .cx-proof__head {
    font-size: clamp(2rem, 3.6vw, 3.4rem);
    font-weight: 600;
    line-height: 1.02;
    letter-spacing: -.035em;
    color: var(--ink-abs);
  }
  .cx-proof__sub { margin-top: var(--s5); max-width: 46ch; font-size: var(--t-lead); }

  
  
  .cx-lead {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 2.4vw, 40px);
    margin-top: clamp(30px, 3.8vh, 52px);
  }
  .cx-card { display: flex; flex-direction: column; }
  .cx-card__media { display: block; flex: none; overflow: hidden; margin-bottom: var(--s4); }
  .cx-card__media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    transition: transform var(--d-slow) var(--e-out);
  }
  .cx-card:hover .cx-card__media img { transform: scale(1.03); }
  .cx-card__name {
    display: block;
    font-size: clamp(1.1rem, 1.6vw, 1.4rem);
    font-weight: 600;
    letter-spacing: -.02em;
    color: var(--ink-abs);
    transition: color var(--d-fast) var(--e-out);
  }
  .cx-card:hover .cx-card__name { color: var(--blue-bright); }
  .cx-card__place {
    display: block;
    margin-top: var(--s2);
    font-size: var(--t-label);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--muted-2);
  }
  .cx-card__scope { display: block; margin-top: var(--s3); font-size: var(--t-meta); color: var(--muted); }
  .cx-card__state {
    display: block;
    
    margin-top: auto;
    padding-top: var(--s3);
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--blue-bright);
  }

  
  .cx-rest__head {
    margin-top: clamp(44px, 5.4vh, 76px);
    margin-bottom: var(--s4);
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--muted-2);
  }
  .cx-rest { list-style: none; border-top: 1px solid var(--line-2); }
  .cx-rest__row { display: block; border-bottom: 1px solid var(--line); }
  .cx-rest__link,
  .cx-rest__row.is-plain {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr) minmax(0, 5fr) auto;
    gap: var(--s2) var(--grid-gap);
    align-items: baseline;
    padding-block: clamp(18px, 2.3vh, 28px);
  }
  .cx-rest__name {
    font-size: clamp(1rem, 1.25vw, 1.15rem);
    font-weight: 600;
    letter-spacing: -.02em;
    color: var(--ink-abs);
    transition: color var(--d-fast) var(--e-out);
  }
  .cx-rest__link:hover .cx-rest__name { color: var(--blue-bright); }
  .cx-rest__place {
    font-size: var(--t-label);
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted-2);
  }
  .cx-rest__scope { font-size: var(--t-meta); color: var(--muted); line-height: 1.6; }
  .cx-rest__state {
    justify-self: end;
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--blue-bright);
    white-space: nowrap;
  }
  .cx-proof__all { margin-top: clamp(32px, 4vh, 54px); }

  
  .cx-how { padding-block: clamp(52px, 6.5vh, 92px); }
  
  .cx-how__head {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--muted-2);
    margin-bottom: var(--s5);
    padding-bottom: var(--s4);
    border-bottom: 1px solid var(--line-2);
  }
  .cx-route {
    display: grid;
    grid-template-columns: clamp(46px, 5.5vw, 88px) minmax(0, 1fr) auto;
    gap: var(--s4) var(--grid-gap);
    align-items: baseline;
    padding-block: clamp(20px, 2.6vh, 32px);
    border-top: 1px solid var(--line);
  }
  .cx-how__list > :last-child { border-bottom: 1px solid var(--line); }
  .cx-route__n {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .08em;
    color: var(--blue-bright);
    font-variant-numeric: tabular-nums;
  }
  .cx-route__body { display: block; }
  .cx-route__t {
    display: block;
    font-size: clamp(1.15rem, 1.8vw, 1.6rem);
    font-weight: 600;
    letter-spacing: -.025em;
    color: var(--ink-abs);
    transition: color var(--d-fast) var(--e-out);
  }
  .cx-route:hover .cx-route__t { color: var(--blue-bright); }
  .cx-route__d { display: block; margin-top: var(--s3); max-width: 62ch; line-height: 1.7; }
  .cx-route__go { justify-self: end; }

  
  .cx-ask { padding-block: clamp(52px, 6.5vh, 92px); }
  .cx-ask__title {
    font-size: clamp(1.9rem, 3.8vw, 3.4rem);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.035em;
    color: var(--ink-abs);
  }
  .cx-ask__body { margin-top: var(--s5); max-width: 46ch; font-size: var(--t-lead); line-height: 1.7; }
  .cx-ask__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--s5) var(--s7);
    margin-top: clamp(24px, 3vh, 40px);
  }
  .cx-ask__tel {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .18em;
    color: var(--muted-2);
    transition: color var(--d-fast) var(--e-out);
  }
  .cx-ask__tel:hover { color: var(--ink-abs); }

  
  html:not(.js) .cx-tabs { display: none; }
  html:not(.js) .cx-explore__body { grid-template-columns: minmax(0, 1fr); }
  html:not(.js) .cx-panel + .cx-panel {
    margin-top: clamp(40px, 5vh, 72px);
    padding-top: clamp(28px, 3.4vh, 48px);
    border-top: 1px solid var(--line-2);
  }
}

@layer responsive {
  @media (max-width: 1080px) {
    .cx-explore__body { grid-template-columns: minmax(0, 1fr); }
    .cx-tabs { flex-direction: row; flex-wrap: wrap; gap: 0 clamp(16px, 2vw, 32px); }
    .cx-tab { flex: 1 1 200px; }
    .cx-tab:last-child { border-bottom: 0; }
    .cx-panel { padding-top: clamp(20px, 2.6vh, 32px); border-top: 1px solid var(--line-2); }
    .cx-rest__link,
    .cx-rest__row.is-plain { grid-template-columns: minmax(0, 4fr) minmax(0, 6fr) auto; }
    .cx-rest__place { grid-column: 1; }
  }

  @media (max-width: 860px) {
    .cx-panel,
    .cx-panel__proof,
    .cx-lead { grid-template-columns: minmax(0, 1fr); }
    .cx-rest__link,
    .cx-rest__row.is-plain { grid-template-columns: minmax(0, 1fr); }
    .cx-rest__state { justify-self: start; }
    .cx-route { grid-template-columns: clamp(38px, 11vw, 56px) minmax(0, 1fr); }
    .cx-route__go { grid-column: 2; justify-self: start; margin-top: var(--s4); }
    .cx-open__cap { display: none; }
  }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    [class^='cx-'], [class*=' cx-'],
    [class^='cx-'] img, [class*=' cx-'] img,
    .cx-tab::before {
      transition: none !important;
      animation: none !important;
      transform: none !important;
    }
  }
}

@layer responsive {
  
  @media (min-width: 561px) and (max-width: 860px) {
    .cx-lead { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cx-lead > :last-child { grid-column: 1 / -1; }
    .cx-lead > :last-child .cx-card__media img { aspect-ratio: 21 / 9; }

    .cx-rest__link,
    .cx-rest__row.is-plain {
      grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
      gap: var(--s2) var(--grid-gap);
      align-items: start;
    }
    .cx-rest__name  { grid-column: 1; grid-row: 1; }
    .cx-rest__place { grid-column: 1; grid-row: 2; }
    .cx-rest__scope { grid-column: 2; grid-row: 1; }
    .cx-rest__state { grid-column: 2; grid-row: 2; justify-self: start; }

    
    .cx-panel__proof { grid-template-columns: clamp(110px, 18vw, 160px) minmax(0, 1fr); }
  }
}



@layer sections {

  
  .pj-eyebrow {
    display: flex;
    align-items: center;
    gap: clamp(10px, 1.4vw, 20px);
    margin: 0 0 var(--s5);
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--muted-2);
  }
  .pj-eyebrow__n { color: var(--blue-bright); font-weight: 600; font-variant-numeric: tabular-nums; }
  .pj-eyebrow__rule { width: clamp(24px, 3vw, 52px); height: 1px; background: var(--blue-bright); opacity: .5; }

  
  .pj-head {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: clamp(480px, 62svh, 640px);
    padding-block: calc(var(--nav-h) + var(--s7)) clamp(34px, 5vh, 60px);
    overflow: hidden;
    isolation: isolate;
    background: var(--ink);
  }
  .pj-head__bg { position: absolute; inset: 0; z-index: -2; }
  .pj-head__bg img { width: 100%; height: 100%; object-fit: cover; }
  .pj-head::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
      linear-gradient(92deg, rgba(14,42,71,.90) 0%, rgba(14,42,71,.52) 44%, rgba(14,42,71,.10) 80%),
      linear-gradient(180deg, rgba(14,42,71,.62) 0%, rgba(14,42,71,0) 32%, rgba(14,42,71,.72) 100%);
  }
  .pj-head__inner { position: relative; }
  .pj-head .crumb { margin-bottom: clamp(24px, 3.4vh, 46px); }
  .pj-head__title {
    margin: 0;
    font-size: clamp(2.4rem, 5.6vw, 5rem);
    font-weight: 600;
    line-height: .96;
    letter-spacing: -.04em;
    color: var(--white);
  }

  
  .pj-totals {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(24px, 4vw, 72px);
    margin: clamp(26px, 3.6vh, 48px) 0 0;
    padding-top: clamp(20px, 2.6vh, 32px);
    border-top: 1px solid var(--line-2);
  }
  .pj-totals dt {
    font-size: clamp(1.7rem, 3vw, 2.6rem);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.04em;
    color: var(--blue-bright);
    font-variant-numeric: tabular-nums;
  }
  .pj-totals dd {
    margin: var(--s3) 0 0;
    font-size: var(--t-label);
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--muted);
  }

  
  .pj-explore { padding-block: clamp(48px, 6vh, 92px); }
  .pj-switch {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: clamp(18px, 2.6vw, 44px);
    padding-bottom: clamp(14px, 2vh, 22px);
    border-bottom: 1px solid var(--line-2);
    margin-bottom: clamp(24px, 3.4vh, 48px);
  }
  .pj-switch__b,
  .pj-switch__off {
    position: relative;
    padding: 0 0 6px;
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--muted-2);
    transition: color var(--d-fast) var(--e-out);
  }
  .pj-switch__b::after {
    content: '';
    position: absolute;
    inset-block-end: -1px;
    inset-inline: 0;
    height: 2px;
    background: var(--blue-bright);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 300ms var(--e-out);
  }
  .pj-switch__b:hover { color: var(--ink-abs); }
  .pj-switch__b[aria-selected='true'] { color: var(--ink-abs); }
  .pj-switch__b[aria-selected='true']::after { transform: scaleX(1); }
  .pj-switch__off { opacity: .4; cursor: not-allowed; }
  .pj-switch__off::before { content: '— '; }

  html.js .pj-view:not(.is-on) { display: none; }
  .pj-view[hidden] { display: none; }
  
  html:not(.js) .pj-switch { display: none; }
  html:not(.js) .pj-view + .pj-view { margin-top: clamp(44px, 6vh, 84px); }

  .pj-view__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--s5);
    margin-bottom: clamp(18px, 2.6vh, 32px);
  }
  .pj-view__title {
    margin: 0;
    font-size: clamp(1.1rem, 1.6vw, 1.4rem);
    font-weight: 600;
    letter-spacing: -.02em;
    color: var(--ink-abs);
  }
  .pj-view__meta {
    margin: 0;
    font-size: var(--t-label);
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--muted-2);
    font-variant-numeric: tabular-nums;
  }

  
  .pj-register { border-top: 1px solid var(--line-2); }
  .pj-row {
    display: grid;
    grid-template-columns: clamp(30px, 3.4vw, 52px) clamp(150px, 17vw, 260px) minmax(0, 1fr) clamp(100px, 10vw, 150px) clamp(110px, 11vw, 165px) 24px;
    gap: clamp(14px, 2vw, 32px);
    align-items: start;
    padding-block: clamp(16px, 2.2vh, 26px);
    border-bottom: 1px solid var(--line);
    position: relative;
  }
  .pj-row::before {
    content: '';
    position: absolute;
    inset-block-end: -1px;
    inset-inline: 0;
    height: 1px;
    background: var(--blue-bright);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 340ms var(--e-out);
  }
  a.pj-row:hover::before,
  a.pj-row:focus-visible::before { transform: scaleX(1); }

  .pj-row__n {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .1em;
    color: var(--muted-2);
    font-variant-numeric: tabular-nums;
    padding-top: 3px;
    transition: color var(--d-fast) var(--e-out);
  }
  a.pj-row:hover .pj-row__n { color: var(--blue-bright); }

  .pj-row__media { display: block; overflow: hidden; }
  .pj-row__media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    transition: transform var(--d-slow) var(--e-out);
  }
  a.pj-row:hover .pj-row__media img { transform: scale(1.04); }
  
  .pj-row__noimg {
    display: block;
    aspect-ratio: 3 / 2;
    border: 1px solid var(--line);
    background:
      repeating-linear-gradient(135deg, transparent 0 7px, var(--line-2) 7px 8px);
  }

  .pj-row__body { display: block; min-width: 0; }
  .pj-row__name {
    display: block;
    font-size: clamp(1.02rem, 1.4vw, 1.32rem);
    font-weight: 600;
    letter-spacing: -.025em;
    line-height: 1.14;
    color: var(--ink-abs);
    transition: color var(--d-fast) var(--e-out);
  }
  a.pj-row:hover .pj-row__name { color: var(--blue-bright); }
  .pj-row__place {
    display: block;
    margin-top: var(--s2);
    font-size: var(--t-label);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--muted-2);
  }
  .pj-row__scope {
    display: block;
    margin-top: var(--s3);
    font-size: var(--t-meta);
    line-height: 1.5;
    color: var(--steel, #5C6470);
  }
  .pj-row__sector,
  .pj-row__status {
    font-size: var(--t-label);
    letter-spacing: .16em;
    text-transform: uppercase;
    line-height: 1.5;
    padding-top: 3px;
  }
  .pj-row__sector { color: var(--muted-2); }
  .pj-row__status { color: var(--blue-bright); font-weight: 600; }
  .pj-row--norecord .pj-row__status { color: var(--muted-2); font-weight: 500; }
  .pj-row__go {
    justify-self: end;
    padding-top: 1px;
    font-size: 1.05rem;
    color: var(--muted-2);
    transition: color var(--d-fast) var(--e-out), transform 320ms var(--e-out);
  }
  a.pj-row:hover .pj-row__go { color: var(--blue-bright); transform: translateX(5px); }

  
  .pj-groups { border-top: 1px solid var(--line-2); }
  .pj-group { border-bottom: 1px solid var(--line); }
  .pj-group__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto 16px;
    align-items: center;
    gap: clamp(14px, 2vw, 28px);
    padding-block: clamp(15px, 2.1vh, 24px);
    cursor: pointer;
    list-style: none;
  }
  .pj-group__top::-webkit-details-marker { display: none; }
  .pj-group__name {
    font-size: clamp(1.05rem, 1.7vw, 1.55rem);
    font-weight: 600;
    letter-spacing: -.025em;
    color: var(--ink-abs);
    transition: color var(--d-fast) var(--e-out);
  }
  .pj-group__top:hover .pj-group__name { color: var(--blue-bright); }
  .pj-group__rule { height: 1px; background: var(--line); min-width: clamp(20px, 8vw, 200px); }
  .pj-group__n {
    font-size: clamp(1rem, 1.4vw, 1.25rem);
    font-weight: 600;
    letter-spacing: -.02em;
    color: var(--blue-bright);
    font-variant-numeric: tabular-nums;
  }
  .pj-group__sign { position: relative; width: 12px; height: 12px; }
  .pj-group__sign::before,
  .pj-group__sign::after {
    content: '';
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 0;
    width: 12px;
    height: 1.5px;
    background: var(--blue-bright);
    transition: transform var(--d-fast) var(--e-out);
  }
  .pj-group__sign::after { transform: rotate(90deg); }
  .pj-group[open] .pj-group__sign::after { transform: rotate(0deg); }

  .pj-group__body { padding-bottom: clamp(10px, 1.6vh, 18px); }
  .pj-line {
    display: grid;
    grid-template-columns: clamp(28px, 3vw, 44px) minmax(0, 1fr) clamp(96px, 10vw, 148px) clamp(108px, 11vw, 162px) 22px;
    gap: clamp(12px, 1.8vw, 26px);
    align-items: baseline;
    padding-block: clamp(10px, 1.4vh, 15px);
    border-top: 1px solid var(--line-2);
  }
  .pj-line__n { font-size: var(--t-label); letter-spacing: .1em; color: var(--muted-2); font-variant-numeric: tabular-nums; }
  .pj-line__name { font-weight: 600; letter-spacing: -.02em; color: var(--ink-abs); transition: color var(--d-fast) var(--e-out); }
  a.pj-line:hover .pj-line__name { color: var(--blue-bright); }
  .pj-line__sector,
  .pj-line__status { font-size: var(--t-label); letter-spacing: .16em; text-transform: uppercase; }
  .pj-line__sector { color: var(--muted-2); }
  .pj-line__status { color: var(--blue-bright); font-weight: 600; }
  .pj-line--norecord .pj-line__status { color: var(--muted-2); font-weight: 500; }
  .pj-line__go { justify-self: end; color: var(--muted-2); transition: color var(--d-fast) var(--e-out), transform 300ms var(--e-out); }
  a.pj-line:hover .pj-line__go { color: var(--blue-bright); transform: translateX(4px); }

  
  .pj-rec {
    background: var(--paper);
    --white: var(--ink-abs);
    --muted: #171A1F;
    --muted-2: #5C6470;
    --line: rgba(14, 42, 71, .13);
    --line-2: rgba(14, 42, 71, .26);
    --blue-bright: #0057B8;
    color: var(--muted);
    padding: calc(var(--nav-h) + clamp(40px, 6vh, 78px)) 0 clamp(30px, 4vh, 52px);
  }
  .pj-rec__inner { position: relative; }
  .pj-rec .crumb { margin-bottom: clamp(22px, 3vh, 40px); }
  .pj-rec__title {
    margin: 0;
    font-size: clamp(2.1rem, 5vw, 4.4rem);
    font-weight: 600;
    line-height: .98;
    letter-spacing: -.04em;
    color: var(--ink-abs);
  }
  .pj-rec__lead {
    margin: clamp(16px, 2.2vh, 26px) 0 0;
    max-width: 56ch;
    font-size: var(--t-lead);
    line-height: 1.65;
    color: #5C6470;
  }

  .pj-plate { margin: 0; overflow: hidden; background: var(--paper); }
  .pj-plate img { display: block; width: 100%; height: auto; aspect-ratio: 21 / 9; object-fit: cover; }

  .pj-facts { padding-block: clamp(44px, 6vh, 88px); }
  .pj-record { margin: 0; border-top: 1px solid var(--line-2); }
  .pj-record__row {
    display: grid;
    grid-template-columns: clamp(120px, 16vw, 230px) minmax(0, 1fr);
    gap: clamp(14px, 2vw, 36px);
    align-items: baseline;
    padding-block: clamp(14px, 2vh, 22px);
    border-bottom: 1px solid var(--line);
  }
  .pj-record dt {
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--muted-2);
  }
  .pj-record dd {
    margin: 0;
    font-size: clamp(.98rem, 1.2vw, 1.14rem);
    font-weight: 600;
    letter-spacing: -.015em;
    color: var(--ink-abs);
  }

  .pj-story { padding-block: clamp(40px, 5.5vh, 80px); }
  .pj-story__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(20px, 3.4vw, 68px); align-items: start; }
  .pj-story__h { margin: 0; font-size: clamp(1.5rem, 2.6vw, 2.4rem); font-weight: 600; letter-spacing: -.035em; line-height: 1.04; color: var(--ink-abs); }
  .pj-story__lead { margin: 0; font-size: var(--t-lead); line-height: 1.7; color: var(--ink-abs); }
  .pj-story__body { margin: 1.1em 0 0; line-height: 1.78; color: var(--steel, #5C6470); }

  .pj-scope { padding-block: clamp(44px, 6vh, 88px); }
  .pj-scope__h { margin: 0 0 clamp(22px, 3.2vh, 42px); font-size: clamp(1.6rem, 2.8vw, 2.6rem); font-weight: 600; letter-spacing: -.035em; line-height: 1.04; color: var(--ink-abs); }
  .pj-scope__list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line-2); }
  .pj-scope__list li {
    display: grid;
    grid-template-columns: clamp(34px, 4vw, 62px) minmax(0, 1fr);
    gap: clamp(12px, 2vw, 30px);
    align-items: baseline;
    padding-block: clamp(14px, 2vh, 22px);
    border-bottom: 1px solid var(--line);
  }
  .pj-scope__n { font-size: var(--t-label); font-weight: 600; letter-spacing: .1em; color: var(--blue-bright); font-variant-numeric: tabular-nums; }
  .pj-scope__b { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(10px, 2vw, 30px); align-items: baseline; }
  .pj-scope__name { font-size: clamp(1rem, 1.3vw, 1.2rem); font-weight: 600; letter-spacing: -.02em; color: var(--ink-abs); }
  .pj-scope__desc { font-size: var(--t-meta); line-height: 1.6; color: var(--steel, #5C6470); }

  .pj-exec { margin-top: clamp(30px, 4.4vh, 58px); display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(12px, 2vw, 30px); align-items: start; }
  .pj-exec__h { margin: 0; font-size: clamp(1.05rem, 1.5vw, 1.35rem); font-weight: 600; letter-spacing: -.025em; color: var(--ink-abs); }
  .pj-exec__b { margin: 0; line-height: 1.78; color: var(--steel, #5C6470); max-width: 62ch; }

  
  .pj-next { padding-block: clamp(40px, 5.5vh, 80px); }
  .pj-next__a {
    position: relative;
    display: grid;
    grid-template-columns: clamp(96px, 12vw, 180px) clamp(34px, 4vw, 62px) minmax(0, 1fr) auto;
    gap: clamp(14px, 2vw, 34px);
    align-items: baseline;
    padding-block: clamp(20px, 2.8vh, 34px);
    border-top: 1px solid var(--line-2);
    border-bottom: 1px solid var(--line-2);
  }
  .pj-next__k { font-size: var(--t-label); letter-spacing: .2em; text-transform: uppercase; color: var(--muted-2); }
  .pj-next__n { font-size: var(--t-label); font-weight: 600; letter-spacing: .1em; color: var(--blue-bright); font-variant-numeric: tabular-nums; }
  .pj-next__name {
    font-size: clamp(1.2rem, 2.2vw, 2rem);
    font-weight: 600;
    letter-spacing: -.03em;
    line-height: 1.06;
    color: var(--ink-abs);
    transition: color var(--d-fast) var(--e-out);
  }
  .pj-next__a:hover .pj-next__name { color: var(--blue-bright); }
  .pj-next__place {
    grid-column: 3;
    margin-top: var(--s2);
    font-size: var(--t-label);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--muted-2);
  }
  .pj-next__go { justify-self: end; align-self: center; grid-row: 1 / span 2; grid-column: 4; }
  .pj-next__all { margin-top: clamp(20px, 3vh, 34px); }

  
  .pj-ask { padding-block: clamp(44px, 6vh, 88px); }
  .pj-ask__title { margin: 0; font-size: clamp(1.8rem, 3.6vw, 3.2rem); font-weight: 600; line-height: 1.02; letter-spacing: -.038em; color: var(--ink-abs); }
  .pj-ask__body { margin: clamp(14px, 2vh, 22px) 0 0; max-width: 46ch; font-size: var(--t-lead); line-height: 1.7; }
  .pj-ask__row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s5) clamp(20px, 3vw, 46px); margin-top: clamp(22px, 3vh, 38px); }
  .pj-ask__tel { font-size: var(--t-label); font-weight: 600; letter-spacing: .18em; color: var(--muted-2); transition: color var(--d-fast) var(--e-out); }
  .pj-ask__tel:hover { color: var(--ink-abs); }
}

@layer responsive {
  @media (max-width: 1080px) {
    .pj-row { grid-template-columns: clamp(28px, 4vw, 44px) clamp(130px, 20vw, 200px) minmax(0, 1fr) auto; }
    .pj-row__sector { grid-column: 3; grid-row: 2; padding-top: 0; margin-top: var(--s3); }
    .pj-row__status { grid-column: 3; grid-row: 3; padding-top: 0; margin-top: var(--s2); }
    .pj-row__go { grid-row: 1; }
    .pj-line { grid-template-columns: clamp(26px, 4vw, 40px) minmax(0, 1fr) auto; }
    .pj-line__sector { grid-column: 2; }
    .pj-line__status { grid-column: 2; }
    .pj-story__grid, .pj-scope__b, .pj-exec { grid-template-columns: minmax(0, 1fr); }
  }

  @media (max-width: 720px) {
    
    .pj-row {
      grid-template-columns: clamp(26px, 7vw, 40px) minmax(0, 1fr);
      gap: var(--s3) var(--s4);
      padding-block: clamp(18px, 2.6vh, 26px);
    }
    .pj-row__media { grid-column: 1 / -1; grid-row: 1; margin-bottom: var(--s4); }
    .pj-row__n { grid-column: 1; grid-row: 2; }
    .pj-row__body { grid-column: 2; grid-row: 2; }
    .pj-row__sector { grid-column: 2; grid-row: 3; margin-top: 0; }
    .pj-row__status { grid-column: 2; grid-row: 4; margin-top: var(--s2); }
    .pj-row__go { display: none; }

    .pj-line { grid-template-columns: clamp(24px, 7vw, 36px) minmax(0, 1fr); gap: var(--s2) var(--s4); }
    .pj-line__go { display: none; }

    .pj-head { min-height: clamp(420px, 56svh, 520px); }
    .pj-totals { gap: var(--s6) clamp(20px, 8vw, 44px); }
    .pj-record__row { grid-template-columns: minmax(0, 1fr); gap: var(--s2); }
    .pj-next__a { grid-template-columns: clamp(26px, 7vw, 40px) minmax(0, 1fr); }
    .pj-next__k { grid-column: 1 / -1; margin-bottom: var(--s3); }
    .pj-next__n { grid-column: 1; }
    .pj-next__name, .pj-next__place { grid-column: 2; }
    .pj-next__go { grid-column: 2; grid-row: auto; justify-self: start; margin-top: var(--s4); }
    .pj-plate img { aspect-ratio: 4 / 3; }
  }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    [class^='pj-'], [class*=' pj-'],
    [class^='pj-'] img, [class*=' pj-'] img,
    .pj-row::before, .pj-switch__b::after, .pj-group__sign::before, .pj-group__sign::after {
      transition: none !important;
      animation: none !important;
      transform: none !important;
    }
  }
}



@layer sections {
  .cl-head {
    background: var(--paper);
    --white: var(--ink-abs); --muted: #171A1F; --muted-2: #5C6470;
    --line: rgba(14,42,71,.13); --line-2: rgba(14,42,71,.26); --blue-bright: #0057B8;
    color: var(--muted);
    padding: calc(var(--nav-h) + clamp(44px, 7vh, 92px)) 0 clamp(36px, 5vh, 68px);
  }
  .cl-head .crumb { margin-bottom: clamp(22px, 3vh, 40px); }
  .cl-head__title {
    margin: 0;
    font-size: clamp(2.2rem, 5.2vw, 4.6rem);
    font-weight: 600; line-height: .98; letter-spacing: -.04em;
    color: var(--ink-abs);
  }
  .cl-head__lead {
    margin: clamp(16px, 2.2vh, 26px) 0 0;
    max-width: 54ch; font-size: var(--t-lead); line-height: 1.7; color: #5C6470;
  }
  .cl-head .pj-totals { border-top-color: rgba(14,42,71,.26); }
  .cl-head .pj-totals dt { color: #0057B8; }
  .cl-head .pj-totals dd { color: #5C6470; }

  .cl-field { padding-block: clamp(44px, 6vh, 88px); }
  .cl-field__head {
    display: flex; align-items: baseline; justify-content: space-between;
    gap: var(--s5); padding-bottom: var(--s4);
    border-bottom: 1px solid var(--line-2);
  }
  .cl-field__head--second { margin-top: clamp(48px, 6.5vh, 96px); }
  .cl-field__h {
    margin: 0; font-size: var(--t-label); font-weight: 600;
    letter-spacing: .24em; text-transform: uppercase; color: var(--muted-2);
  }
  .cl-field__meta {
    margin: 0; font-size: var(--t-label); font-weight: 600; letter-spacing: .18em;
    color: var(--blue-bright); font-variant-numeric: tabular-nums;
  }

  .cl-org { border-bottom: 1px solid var(--line); }
  .cl-org__top {
    display: grid; grid-template-columns: auto 1fr auto 14px;
    align-items: center; gap: clamp(14px, 2vw, 30px);
    padding-block: clamp(15px, 2.2vh, 26px); cursor: pointer; list-style: none;
  }
  .cl-org__top::-webkit-details-marker { display: none; }
  .cl-org__name {
    font-size: clamp(1.15rem, 2.2vw, 2rem); font-weight: 600;
    letter-spacing: -.03em; line-height: 1.1; color: var(--ink-abs);
    transition: color var(--d-fast) var(--e-out);
  }
  .cl-org__top:hover .cl-org__name { color: var(--blue-bright); }
  .cl-org__rule { height: 1px; background: var(--line); min-width: clamp(16px, 6vw, 180px); }
  .cl-org__tag {
    font-size: var(--t-label); font-weight: 600; letter-spacing: .18em;
    text-transform: uppercase; color: var(--blue-bright); white-space: nowrap;
  }
  .cl-org:not(:has(.cl-org__v:not(.cl-org__v--none))) .cl-org__tag { color: var(--muted-2); }
  .cl-org__sign { position: relative; width: 12px; height: 12px; }
  .cl-org__sign::before, .cl-org__sign::after {
    content: ''; position: absolute; inset-block-start: 50%; inset-inline-start: 0;
    width: 12px; height: 1.5px; background: var(--blue-bright);
    transition: transform var(--d-fast) var(--e-out);
  }
  .cl-org__sign::after { transform: rotate(90deg); }
  .cl-org[open] .cl-org__sign::after { transform: rotate(0deg); }

  .cl-org__body { padding: 0 0 clamp(20px, 2.8vh, 32px); }
  .cl-org__grid {
    display: grid; grid-template-columns: minmax(0,3fr) minmax(0,3fr) minmax(0,4fr);
    gap: clamp(16px, 2.4vw, 40px); align-items: start;
    padding-top: var(--s4); border-top: 1px solid var(--line-2);
  }
  .cl-org__k {
    margin: 0 0 var(--s2); font-size: var(--t-label); letter-spacing: .2em;
    text-transform: uppercase; color: var(--muted-2);
  }
  .cl-org__v { margin: 0; font-size: var(--t-meta); line-height: 1.65; color: var(--ink-abs); }
  .cl-org__v--none { color: var(--muted-2); }
  .cl-org__mark img { width: auto; max-width: 100%; height: clamp(52px, 5.4vw, 74px); background: #FFFFFF; }
  .cl-org__go { margin-top: clamp(16px, 2.2vh, 24px); }

  
  .cl-names { border-top: 1px solid var(--line-2); }
  .cl-name {
    display: flex; align-items: baseline; justify-content: space-between;
    gap: var(--s5);
    padding-block: clamp(13px, 1.9vh, 22px);
    border-bottom: 1px solid var(--line);
    text-decoration: none; color: inherit;
    transition: padding-inline-start var(--d-fast) var(--e-out);
  }
  .cl-name:hover { padding-inline-start: var(--s3); }
  .cl-name__t {
    font-size: clamp(1.15rem, 2.2vw, 1.9rem); font-weight: 600;
    line-height: 1.1; letter-spacing: -.03em; color: var(--ink-abs);
    transition: color var(--d-fast) var(--e-out);
  }
  .cl-name:hover .cl-name__t { color: var(--blue-bright); }
  .cl-name__go { color: var(--blue-bright); opacity: 0; transition: opacity var(--d-fast) var(--e-out); }
  .cl-name:hover .cl-name__go { opacity: 1; }

  .cl-note {
    margin: clamp(30px, 4vh, 56px) 0 0; padding-top: var(--s5);
    border-top: 1px solid var(--line); max-width: 72ch;
    font-size: var(--t-meta); line-height: 1.75; color: var(--muted-2);
  }
}

@layer responsive {
  @media (max-width: 860px) {
    .cl-org__top { grid-template-columns: 1fr auto 14px; }
    .cl-org__rule { display: none; }
    .cl-org__grid { grid-template-columns: minmax(0,1fr); gap: var(--s5); }
  }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    [class^='cl-'], [class*=' cl-'], .cl-org__sign::before, .cl-org__sign::after {
      transition: none !important; animation: none !important; transform: none !important;
    }
  }
}



@layer sections {
  .ct-head {
    background: var(--paper);
    --white: var(--ink-abs); --muted: #171A1F; --muted-2: #5C6470;
    --line: rgba(14,42,71,.13); --line-2: rgba(14,42,71,.26); --blue-bright: #0057B8;
    color: var(--muted);
    padding: calc(var(--nav-h) + clamp(44px, 7vh, 92px)) 0 clamp(36px, 5vh, 68px);
  }
  .ct-head .crumb { margin-bottom: clamp(22px, 3vh, 40px); }
  .ct-head__title {
    margin: 0;
    font-size: clamp(2.2rem, 5.2vw, 4.6rem);
    font-weight: 600; line-height: .98; letter-spacing: -.04em;
    color: var(--ink-abs);
  }
  .ct-head__lead {
    margin: clamp(16px, 2.2vh, 26px) 0 0;
    max-width: 52ch; font-size: var(--t-lead); line-height: 1.7; color: #5C6470;
  }

  
  .ct-routes { padding-block: clamp(30px, 4vh, 56px) clamp(44px, 6vh, 88px); }
  .ct-routes__list { border-top: 1px solid var(--line-2); }
  .ct-route {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: baseline;
    gap: clamp(16px, 3vw, 46px);
    padding-block: clamp(20px, 3vh, 34px);
    border-bottom: 1px solid var(--line);
    text-decoration: none;
    color: inherit;
    transition: background var(--d-fast) var(--e-out);
  }
  .ct-route:hover { background: rgba(0,87,184,.05); }
  .ct-route__n {
    font-size: var(--t-label); font-weight: 600; letter-spacing: .18em;
    color: var(--blue-bright); font-variant-numeric: tabular-nums;
  }
  .ct-route__b { display: block; }
  .ct-route__name {
    display: block;
    font-size: var(--t-label); font-weight: 600; letter-spacing: .24em;
    text-transform: uppercase; color: var(--muted-2);
    margin-bottom: var(--s2);
  }
  .ct-route__ask {
    display: block;
    font-size: clamp(1.3rem, 2.6vw, 2.15rem); font-weight: 600;
    line-height: 1.08; letter-spacing: -.03em; color: var(--ink-abs);
    transition: color var(--d-fast) var(--e-out);
  }
  .ct-route:hover .ct-route__ask { color: var(--blue-bright); }
  .ct-route__desc {
    display: block; margin-top: var(--s3);
    max-width: 46ch; font-size: var(--t-meta); line-height: 1.65; color: var(--muted-2);
  }
  .ct-route__go {
    font-size: 1.15rem; color: var(--blue-bright);
    transition: transform var(--d-fast) var(--e-out);
  }
  .ct-route:hover .ct-route__go { transform: translateX(6px); }

  
  .ct-form { padding-block: clamp(44px, 6vh, 88px); }
  .ct-form__grid {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
    gap: clamp(28px, 5vw, 90px);
    align-items: start;
  }
  .ct-form__h {
    margin: 0;
    font-size: clamp(1.7rem, 3.4vw, 3rem);
    font-weight: 600; line-height: 1.02; letter-spacing: -.035em;
    color: var(--ink-abs);
  }
  .ct-form__note {
    margin: clamp(16px, 2.2vh, 24px) 0 0;
    max-width: 44ch; font-size: var(--t-meta); line-height: 1.75; color: var(--muted-2);
  }
  .ct-form .form { margin: 0; }
  
  .ct-form .field--full .btn { align-self: flex-start; }
  .ct-form .field--full select { max-width: 32ch; }
  .ct-form .field__note { margin: var(--s4) 0 0; max-width: 46ch; line-height: 1.65; }

  
  .ct-office { padding-block: clamp(44px, 6vh, 88px); }
  .ct-office__grid {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 5fr);
    gap: clamp(28px, 5vw, 90px);
    align-items: start;
  }
  .ct-office__h {
    margin: var(--s4) 0 0;
    font-size: clamp(1.6rem, 3.2vw, 2.7rem);
    font-weight: 600; line-height: 1.06; letter-spacing: -.035em;
    color: var(--ink-abs);
  }
  .ct-office__rows { margin: 0; border-top: 1px solid var(--line-2); }
  .ct-office__row {
    display: grid;
    grid-template-columns: clamp(74px, 9vw, 110px) minmax(0, 1fr);
    gap: clamp(14px, 2.4vw, 34px);
    padding-block: clamp(14px, 2vh, 22px);
    border-bottom: 1px solid var(--line);
  }
  .ct-office__row dt {
    font-size: var(--t-label); font-weight: 600; letter-spacing: .2em;
    text-transform: uppercase; color: var(--muted-2); line-height: 1.9;
  }
  .ct-office__row dd {
    margin: 0; font-size: var(--t-meta); line-height: 1.7; color: var(--ink-abs);
  }
  .ct-office__row dd a { color: inherit; text-decoration: none; border-bottom: 1px solid var(--line-2); }
  .ct-office__row dd a:hover { color: var(--blue-bright); border-bottom-color: currentColor; }

}

@layer responsive {
  @media (max-width: 860px) {
    .ct-route { grid-template-columns: auto minmax(0, 1fr); }
    .ct-route__go { display: none; }
    .ct-form__grid,
    .ct-office__grid { grid-template-columns: minmax(0, 1fr); }
  }
  @media (max-width: 520px) {
    .ct-office__row { grid-template-columns: minmax(0, 1fr); gap: var(--s2); }
    .ct-office__row dt { line-height: 1.4; }
  }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    [class^='ct-'], [class*=' ct-'] {
      transition: none !important; animation: none !important; transform: none !important;
    }
  }
}



@layer sections {
  
  .hero--reel .hero__reel { position: absolute; inset: 0; z-index: 0; }
  .hero--reel .hslide { display: block; }
  .hero--reel .hslide__bg::after {
    background:
      linear-gradient(180deg, rgba(14, 42, 71, .66) 0%, rgba(14, 42, 71, .30) 34%, rgba(14, 42, 71, .93) 100%),
      linear-gradient(90deg, rgba(14, 42, 71, .82) 0%, rgba(14, 42, 71, .38) 50%, rgba(14, 42, 71, .10) 76%, rgba(14, 42, 71, .30) 100%);
  }

  .hm-reel {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: clamp(20px, 4vw, 64px);
    flex-wrap: wrap;
    padding-block: clamp(14px, 2vh, 26px);
    border-top: 1px solid var(--line);
  }

  
  .hm-reel__caps { display: grid; min-width: 0; }
  .hm-cap {
    grid-area: 1 / 1;
    display: flex;
    flex-direction: column;
    gap: var(--s3);
    text-decoration: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 420ms var(--e-out), transform 420ms var(--e-out),
                visibility 0s linear 420ms;
  }
  .hm-cap.is-active {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: opacity 420ms var(--e-out) 120ms, transform 420ms var(--e-out) 120ms,
                visibility 0s;
  }
  .hm-cap__top { display: flex; align-items: center; gap: clamp(12px, 1.6vw, 22px); min-width: 0; }
  .hm-cap__bot { display: flex; align-items: baseline; gap: clamp(12px, 1.6vw, 20px); min-width: 0; }
  .hm-cap__n {
    font-size: var(--t-label); font-weight: 600; letter-spacing: .18em;
    color: var(--blue-bright); font-variant-numeric: tabular-nums;
  }
  .hm-cap__rule { width: clamp(20px, 3vw, 48px); height: 1px; flex: none; background: var(--blue-bright); opacity: .5; }
  .hm-cap__place {
    font-size: var(--t-label); letter-spacing: .2em; text-transform: uppercase;
    color: var(--muted-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .hm-cap__name {
    font-size: clamp(1.35rem, 2.6vw, 2.3rem); font-weight: 600;
    line-height: 1.06; letter-spacing: -.035em; color: var(--white);
    transition: color var(--d-fast) var(--e-out);
  }
  .hm-cap:hover .hm-cap__name { color: var(--blue-bright); }
  .hm-cap__go {
    font-size: 1.1rem; color: var(--blue-bright); flex: none;
    transition: transform var(--d-fast) var(--e-out);
  }
  .hm-cap:hover .hm-cap__go { transform: translateX(6px); }

  .hm-reel__nav { display: flex; align-items: center; gap: clamp(16px, 2.4vw, 32px); }
  .hm-reel__btns { display: flex; gap: var(--s3); }
  .hero--reel .hero__ticks { position: static; inset: auto; }

  
  html:not(.js) .hm-reel__nav { display: none; }
  html:not(.js) .hm-cap:not(.is-active) { display: none; }

  
  .hm-where { padding-block: clamp(48px, 7vh, 104px); }
  .hm-where__head {
    display: flex; align-items: flex-end; justify-content: space-between;
    gap: clamp(24px, 4vw, 64px); flex-wrap: wrap;
    margin-bottom: clamp(30px, 4vh, 56px);
  }
  .hm-where__h {
    margin: var(--s4) 0 0;
    font-size: clamp(2rem, 4.4vw, 3.9rem);
    font-weight: 600; line-height: .99; letter-spacing: -.04em;
    color: var(--ink-abs);
  }
  .hm-where__totals { border-top: 0; margin: 0; }
  .hm-where__all { margin-top: clamp(26px, 3.4vh, 44px); }

  .hm-areas { border-top: 1px solid var(--line-2); }
  .hm-area {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: baseline;
    gap: clamp(16px, 3vw, 46px);
    padding-block: clamp(18px, 2.6vh, 30px);
    border-bottom: 1px solid var(--line);
    text-decoration: none; color: inherit;
    transition: background var(--d-fast) var(--e-out);
  }
  .hm-area:hover { background: rgba(0,87,184,.05); }
  .hm-area__n {
    font-size: var(--t-label); font-weight: 600; letter-spacing: .18em;
    color: var(--blue-bright); font-variant-numeric: tabular-nums;
  }
  .hm-area__b { display: block; }
  .hm-area__name {
    display: block;
    font-size: clamp(1.25rem, 2.5vw, 2.05rem); font-weight: 600;
    line-height: 1.08; letter-spacing: -.03em; color: var(--ink-abs);
    transition: color var(--d-fast) var(--e-out);
  }
  .hm-area:hover .hm-area__name { color: var(--blue-bright); }
  
  .hm-area__list {
    display: block; margin-top: var(--s3);
    max-width: 68ch; font-size: var(--t-meta); line-height: 1.6; color: var(--muted-2);
  }
  .hm-area__go {
    font-size: 1.15rem; color: var(--blue-bright);
    transition: transform var(--d-fast) var(--e-out);
  }
  .hm-area:hover .hm-area__go { transform: translateX(6px); }

  
  .hm-clients { padding-block: clamp(48px, 7vh, 104px); }
  .hm-clients__grid {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
    gap: clamp(28px, 5vw, 90px);
    align-items: start;
  }
  .hm-clients__h {
    margin: var(--s4) 0 0;
    font-size: clamp(1.7rem, 3.4vw, 3rem);
    font-weight: 600; line-height: 1.02; letter-spacing: -.035em;
    color: var(--ink-abs);
  }
  .hm-clients__all { margin-top: clamp(20px, 2.8vh, 34px); }
  .hm-clients__list { border-top: 1px solid var(--line-2); }
  .hm-client {
    display: block;
    padding-block: clamp(12px, 1.8vh, 20px);
    border-bottom: 1px solid var(--line);
    font-size: clamp(1.2rem, 2.3vw, 1.9rem); font-weight: 600;
    line-height: 1.1; letter-spacing: -.03em;
    color: var(--ink-abs); text-decoration: none;
    transition: color var(--d-fast) var(--e-out), padding-inline-start var(--d-fast) var(--e-out);
  }
  .hm-client:hover { color: var(--blue-bright); padding-inline-start: var(--s3); }

  
  .loc2 {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
    gap: clamp(20px, 3vw, 44px);
    align-items: stretch;
    margin-top: clamp(34px, 4.5vh, 62px);
    border: 1px solid var(--line-2);
  }
  .loc2__body { padding: clamp(24px, 3vw, 40px); }
  .loc2__k {
    margin: 0; font-size: var(--t-label); font-weight: 600; letter-spacing: .24em;
    text-transform: uppercase; color: var(--blue-bright);
  }
  .loc2__h {
    margin: var(--s4) 0 0;
    font-size: clamp(1.25rem, 2.2vw, 1.9rem);
    font-weight: 600; line-height: 1.1; letter-spacing: -.03em; color: var(--ink-abs);
  }
  .loc2__addr {
    margin: clamp(16px, 2.2vh, 24px) 0 0; font-style: normal;
    font-size: var(--t-meta); line-height: 1.75; color: var(--muted-2);
  }
  .loc2__lines {
    display: flex; flex-direction: column; gap: var(--s2);
    margin: clamp(14px, 2vh, 20px) 0 0;
    font-size: var(--t-meta); line-height: 1.6;
  }
  .loc2__lines a { color: var(--ink-abs); text-decoration: none; border-bottom: 1px solid var(--line-2); align-self: flex-start; }
  .loc2__lines a:hover { color: var(--blue-bright); border-bottom-color: currentColor; }
  .loc2__go { margin-top: clamp(18px, 2.6vh, 28px); }
  .loc2__map { position: relative; min-height: clamp(320px, 42vh, 460px); background: var(--surface); }
  .loc2__map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; z-index: 1; }
  .loc2__fallback {
    position: absolute; inset: 0; z-index: 0;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: var(--s4); padding: var(--s5); text-align: center; text-decoration: none;
    font-size: var(--t-label); letter-spacing: .16em; text-transform: uppercase;
    color: var(--muted-2);
    background: repeating-linear-gradient(45deg, rgba(14,42,71,.05) 0 7px, transparent 7px 14px);
  }
  .loc2__fmark {
    display: grid; place-items: center; width: 54px; height: 54px;
    border-radius: 50%; border: 1px solid var(--blue-bright);
    background: var(--paper); color: var(--blue-bright);
    font-size: 1.5rem; font-weight: 600; letter-spacing: -.02em;
  }

  
  .hm-work {
    position: relative; isolation: isolate;
    padding-block: clamp(48px, 7vh, 104px);
    background: var(--ink-abs);
    --white: #FFFFFF; --muted-2: rgba(242,245,249,.72);
    --line: rgba(242,245,249,.16); --line-2: rgba(242,245,249,.28);
  }
  .hm-work__bg {
    position: absolute; inset: 0; z-index: 0;
    background: url('../images/site/kafd.jpg') center / cover no-repeat;
  }
  .hm-work__bg::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(14,42,71,.90) 0%, rgba(14,42,71,.82) 40%, rgba(14,42,71,.94) 100%);
  }
  .hm-work__inner { position: relative; z-index: 1; }
  .hm-work__head {
    display: flex; align-items: flex-end; justify-content: space-between;
    gap: clamp(24px, 4vw, 64px); flex-wrap: wrap;
    margin-bottom: clamp(26px, 3.4vh, 44px);
  }
  .hm-work__h {
    margin: var(--s4) 0 0;
    font-size: clamp(1.7rem, 3.4vw, 3rem);
    font-weight: 600; line-height: 1.02; letter-spacing: -.035em;
    color: #FFFFFF;
  }
  .hm-work__all { color: #FFFFFF; }
  .pj-eyebrow--rev { color: rgba(242,245,249,.78); }
  .pj-eyebrow--rev .pj-eyebrow__n { color: var(--blue-bright); }
  .pj-cards__empty,
  .pcards__empty {
    margin: clamp(24px, 3vh, 40px) 0 0;
    font-size: var(--t-lead); color: var(--muted-2);
  }
  .pcards__empty[hidden] { display: none; }

  
  .hm-purpose {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(18px, 2.2vw, 34px);
    margin-top: clamp(18px, 2.2vw, 34px);
    align-items: start;
  }
  .hm-purpose__item {
    border: 1px solid var(--line);
    border-top: 2px solid var(--blue-bright);
    background: var(--paper);
  }
  .hm-purpose__top {
    display: grid; grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center; gap: clamp(12px, 1.4vw, 18px);
    padding: clamp(18px, 2.2vw, 26px);
    cursor: pointer; list-style: none;
  }
  .hm-purpose__top::-webkit-details-marker { display: none; }
  .hm-purpose__mark {
    display: grid; place-items: center;
    width: 40px; height: 40px; border-radius: 50%;
    border: 1px solid var(--blue-bright);
    color: var(--blue-bright); font-size: 1.05rem; line-height: 1;
    transition: background var(--d-fast) var(--e-out), color var(--d-fast) var(--e-out);
  }
  .hm-purpose__item[open] .hm-purpose__mark { background: var(--blue-bright); color: #FFFFFF; }
  .hm-purpose__k {
    font-size: var(--t-label); font-weight: 600; letter-spacing: .24em;
    text-transform: uppercase; color: var(--ink-abs);
  }
  .hm-purpose__sign { position: relative; width: 12px; height: 12px; }
  .hm-purpose__sign::before, .hm-purpose__sign::after {
    content: ''; position: absolute; inset-block-start: 50%; inset-inline-start: 0;
    width: 12px; height: 1.5px; background: var(--blue-bright);
    transition: transform var(--d-fast) var(--e-out);
  }
  .hm-purpose__sign::after { transform: rotate(90deg); }
  .hm-purpose__item[open] .hm-purpose__sign::after { transform: rotate(0deg); }
  .hm-purpose__body {
    padding: 0 clamp(18px, 2.2vw, 26px) clamp(20px, 2.4vw, 28px);
  }
  .hm-purpose__t {
    margin: 0; padding-top: var(--s4);
    border-top: 1px solid var(--line);
    font-size: var(--t-meta); line-height: 1.75; color: var(--ink-abs);
  }
  .hm-purpose__open {
    margin: 0; padding-top: var(--s4);
    border-top: 1px solid var(--line);
    font-size: var(--t-meta); line-height: 1.75; color: var(--muted-2);
  }

  
  .hm-marks {
    background: #FFFFFF;
    --white: var(--ink-abs); --muted: #171A1F; --muted-2: #5C6470;
    --line: rgba(14,42,71,.13); --line-2: rgba(14,42,71,.26); --blue-bright: #0057B8;
    color: var(--muted);
    padding-block: clamp(34px, 4.5vh, 64px);
    overflow: hidden;
  }
  .hm-marks__all { margin-top: clamp(24px, 3vh, 40px); color: var(--ink-abs); }
}

@layer components {
  
  .marquee {
    position: relative;
    overflow: hidden;
    
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  }
  .marquee__track {
    display: flex;
    align-items: center;
    gap: clamp(40px, 6vw, 96px);
    width: max-content;
    animation: marquee 46s linear infinite;
  }
  .marquee__item { flex: none; display: grid; place-items: center; }
  .marquee__item img {
    
    height: clamp(54px, 5.6vw, 80px);
    width: auto;
    
    opacity: .9;
    transition: filter var(--d-base) var(--e-out), opacity var(--d-base) var(--e-out);
  }
  .marquee__item:hover img { opacity: 1; }

  @keyframes marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
  }

  
  .totop {
    position: fixed;
    inset-block-end: clamp(18px, 3vh, 34px);
    inset-inline-start: clamp(18px, 3vw, 34px);
    z-index: 60;
    width: 54px; height: 54px;
    display: grid; place-items: center;
    border: 0; padding: 0; cursor: pointer;
    border-radius: 50%;
    background: var(--paper);
    box-shadow: 0 8px 26px rgba(14, 42, 71, .18);
    opacity: 0; visibility: hidden;
    transform: translateY(10px);
    transition: opacity var(--d-base) var(--e-out),
                transform var(--d-base) var(--e-out),
                visibility 0s linear var(--d-base);
  }
  .totop.is-on {
    opacity: 1; visibility: visible; transform: none;
    transition: opacity var(--d-base) var(--e-out),
                transform var(--d-base) var(--e-out),
                visibility 0s;
  }
  .totop svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
  .totop__track { fill: none; stroke: rgba(14, 42, 71, .14); stroke-width: 2; }
  .totop__fill {
    fill: none; stroke: var(--blue-bright); stroke-width: 2; stroke-linecap: round;
    stroke-dasharray: var(--circ);
    stroke-dashoffset: calc(var(--circ) * (1 - var(--progress, 0)));
  }
  .totop__arrow {
    position: relative;
    font-size: 1.05rem; line-height: 1; color: var(--ink-abs);
    transition: transform var(--d-fast) var(--e-out);
  }
  .totop:hover .totop__arrow { transform: translateY(-2px); }
}

@layer sections {
  
  .footer {
    position: relative;
    isolation: isolate;
    background:
      linear-gradient(180deg, rgba(14,42,71,.88) 0%, rgba(14,42,71,.78) 42%, rgba(14,42,71,.94) 100%),
      var(--ink-abs) url('../images/site/towers.jpg') center / cover no-repeat;
  }
  
  .footer .footer__heading { color: rgba(242,245,249,.80); }
  .footer .footer__list a,
  .footer .footer__brand p,
  .footer .body { color: rgba(242,245,249,.88); }
  .footer .label,
  .footer .label--section { color: rgba(242,245,249,.78); }
  .footer .cert__name,
  .footer .certs__k { color: rgba(242,245,249,.80); }

}

@layer responsive {
  @media (max-width: 1100px) {
    .hm-certs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hm-purpose { grid-template-columns: minmax(0, 1fr); }
    .hm-figures { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  }
  @media (max-width: 860px) {
    .hm-about__grid { grid-template-columns: minmax(0, 1fr); }
  }
  @media (max-width: 560px) {
    .hm-certs__grid { grid-template-columns: minmax(0, 1fr); }
    .hm-figures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .totop { width: 46px; height: 46px; }
  }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    
    .marquee__track { animation: none !important; transform: none !important; }
    .marquee { mask-image: none; overflow-x: auto; }
    .totop, .totop__arrow, .marquee__item img {
      transition: none !important; animation: none !important;
    }
  }
}




@layer sections {
  .nav__inner { gap: clamp(12px, 2vw, 32px); }

  .nav__pill {
    display: flex;
    align-items: center;
    gap: clamp(6px, 1vw, 14px);
    margin-inline: auto;
    padding: 6px;
    border-radius: 999px;
    background: rgba(242,245,249, .10);
    border: 1px solid rgba(242,245,249, .14);
    backdrop-filter: blur(14px);
    transition: background-color var(--d-base) var(--e-out),
                border-color var(--d-base) var(--e-out);
  }

  
  .nav__link {
    padding: 9px clamp(11px, 1.2vw, 18px);
    border-radius: 999px;
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
    white-space: nowrap;
    color: rgba(242,245,249, .78);
    transition: color var(--d-fast) var(--e-out), background-color var(--d-fast) var(--e-out);
  }
  
  .nav__link::after { content: none; }
  .nav__link:hover { color: var(--white); background: rgba(242,245,249, .10); }
  .nav__link[aria-current='page'] { color: var(--white); background: rgba(242,245,249, .16); }

  .nav__cta {
    flex: none;
    padding: 11px clamp(16px, 1.8vw, 26px);
    border-radius: 999px;
    background: var(--blue-bright);
    
    color: #0E2A47;
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    white-space: nowrap;
    transition: background-color var(--d-fast) var(--e-out), color var(--d-fast) var(--e-out);
  }
  .nav__cta:hover { background: #0A2240; color: #FFFFFF; }
  .nav__cta[aria-current='page'] { background: var(--ink-abs); color: #FFFFFF; }

  
  
  .nav.nav--solid { background: rgba(255, 255, 255, .94); border-bottom-color: rgba(14, 42, 71, .13); }
  .nav.nav--solid .nav__pill { background: rgba(14, 42, 71, .05); border-color: rgba(14, 42, 71, .10); }
  .nav.nav--solid .nav__link { color: #3C4550; }
  .nav.nav--solid .nav__link:hover { color: var(--ink-abs); background: rgba(14, 42, 71, .06); }
  .nav.nav--solid .nav__link[aria-current='page'] { color: var(--ink-abs); background: rgba(14, 42, 71, .10); }
  .nav.nav--solid .lang { color: #5C6470; }
  .nav.nav--solid .lang a:hover,
  .nav.nav--solid .lang [aria-current='true'] { color: var(--ink-abs); }
  .nav.nav--solid .nav__toggle span,
  .nav.nav--solid .nav__toggle span::before,
  .nav.nav--solid .nav__toggle span::after { background: var(--ink-abs); }
}

@layer responsive {
  
  @media (max-width: 1100px) {
    .nav__pill { display: none; }
    .nav__inner { justify-content: space-between; }
  }
  @media (max-width: 640px) {
    .nav__cta { display: none; }
  }
}




@layer sections {
  .pj-top {
    background: var(--paper);
    --white: var(--ink-abs); --muted: #171A1F; --muted-2: #5C6470;
    --line: rgba(14,42,71,.13); --line-2: rgba(14,42,71,.26); --blue-bright: #0057B8;
    color: var(--muted);
    padding: calc(var(--nav-h) + clamp(40px, 6vh, 84px)) 0 clamp(24px, 3.4vh, 44px);
  }
  .pj-top .crumb { margin-bottom: clamp(20px, 2.8vh, 36px); }
  .pj-top__title {
    margin: 0;
    font-size: clamp(2.2rem, 5.2vw, 4.6rem);
    font-weight: 600; line-height: .98; letter-spacing: -.04em;
    color: var(--ink-abs);
  }

  
  .pj-locator { padding-block: clamp(28px, 4vh, 56px) clamp(44px, 6vh, 88px); }
  .pj-locator__grid {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 7fr);
    gap: clamp(28px, 5vw, 80px);
    align-items: center;
  }
  .pj-total__k {
    margin: 0; font-size: var(--t-label); font-weight: 600; letter-spacing: .24em;
    text-transform: uppercase; color: var(--muted-2);
  }
  .pj-total__n {
    margin: var(--s2) 0 0;
    font-size: clamp(3.4rem, 8vw, 6.4rem);
    font-weight: 600; line-height: .9; letter-spacing: -.05em;
    color: var(--blue-bright); font-variant-numeric: tabular-nums;
  }
  .pj-total__l {
    margin: var(--s3) 0 0; font-size: var(--t-meta); line-height: 1.6; color: var(--muted-2);
  }

  .pj-chips {
    display: flex; flex-wrap: wrap; gap: var(--s3);
    margin-top: clamp(24px, 3.4vh, 40px);
  }
  .pj-chip {
    display: inline-flex; align-items: baseline; gap: var(--s3);
    padding: 9px 14px;
    border: 1px solid var(--line-2); border-radius: 999px;
    background: transparent; cursor: pointer;
    font-size: var(--t-meta); color: var(--ink-abs);
    transition: border-color var(--d-fast) var(--e-out), background var(--d-fast) var(--e-out);
  }
  .pj-chip:hover { border-color: var(--blue-bright); }
  .pj-chip.is-on { border-color: var(--blue-bright); background: rgba(0,87,184,.09); }
  .pj-chip__n {
    font-size: var(--t-label); font-weight: 600; letter-spacing: .12em;
    color: var(--blue-bright); font-variant-numeric: tabular-nums;
  }

  .pj-map { margin: 0; }
  .pj-map svg { width: 100%; height: auto; display: block; overflow: visible; }
  .pj-map__grid { stroke: rgba(14,42,71,.12); stroke-width: 1; }
  
  .pj-map__live {
    height: clamp(320px, 46vh, 520px);
    background: var(--surface);
    border: 1px solid var(--line-2);
  }
  .pj-map__live .leaflet-container { font: inherit; background: var(--surface); }
  .pj-map__live .leaflet-control-attribution {
    background: rgba(242,245,249,.86); color: #5C6470;
    font-size: 11px; padding: 2px 6px;
  }
  .pj-map__live .leaflet-control-attribution a { color: #0057B8; }
  .pj-map__live .leaflet-bar a {
    background: var(--paper); color: var(--ink-abs);
    border-bottom-color: rgba(14,42,71,.13);
  }
  .pj-map__live .leaflet-bar a:hover { background: #FFFFFF; }

  .mapin { background: none; border: 0; }
  .mapin__dot {
    position: absolute; inset: 0;
    display: grid; place-items: center;
    border-radius: 50%;
    background: #0057B8; color: #FFFFFF;
    box-shadow: 0 0 0 5px rgba(0,87,184,.20);
    transition: box-shadow var(--d-base) var(--e-out);
  }
  .mapin__dot i {
    font-style: normal; font-size: 11px; font-weight: 600;
    letter-spacing: .02em; font-variant-numeric: tabular-nums;
  }
  
  .mapin__label {
    position: absolute; inset-inline-start: 32px; inset-block-start: 1px;
    white-space: nowrap;
    padding: 4px 9px; border-radius: 3px;
    background: rgba(242,245,249,.96);
    border: 1px solid rgba(14,42,71,.16);
    font-size: 12px; letter-spacing: .02em; color: #0E2A47;
    opacity: 0; transform: translateX(-4px);
    transition: opacity var(--d-fast) var(--e-out), transform var(--d-fast) var(--e-out);
    pointer-events: none;
  }
  .mapin:hover, .mapin.is-on { z-index: 500 !important; }
  .mapin:hover .mapin__label,
  .mapin.is-on .mapin__label { opacity: 1; transform: none; }
  .mapin:hover .mapin__dot,
  .mapin.is-on .mapin__dot { box-shadow: 0 0 0 10px rgba(0,87,184,.28); }
  .mapin.is-off { opacity: .38; }

  
  .pj-map__plot { width: 100%; height: auto; display: block; overflow: visible; }

  .pj-map__note {
    margin-top: clamp(14px, 2vh, 22px);
    max-width: 62ch; font-size: var(--t-meta); line-height: 1.6; color: var(--muted-2);
  }

  .pj-pin__lead { stroke: rgba(14,42,71,.30); stroke-width: 1; }
  .pj-pin__halo {
    fill: rgba(0,87,184,.14); stroke: none;
    transition: r var(--d-base) var(--e-out), fill var(--d-base) var(--e-out);
  }
  .pj-pin__dot { fill: #0057B8; }
  .pj-pin__n {
    fill: #0057B8; font-size: 22px; font-weight: 600; letter-spacing: .04em;
    font-variant-numeric: tabular-nums;
  }
  .pj-pin__name { fill: #0E2A47; font-size: 26px; font-weight: 600; letter-spacing: -.01em; }
  .pj-pin.is-on .pj-pin__halo { r: 26; fill: rgba(0,87,184,.26); }
  .pj-pin.is-off { opacity: .28; }

  
  .pj-work { padding-block: clamp(44px, 6vh, 88px); }
  .pj-work__head {
    display: flex; align-items: baseline; justify-content: space-between;
    gap: var(--s5); flex-wrap: wrap; margin-bottom: clamp(20px, 2.8vh, 32px);
  }
  .pj-work__h {
    margin: 0; font-size: clamp(1.5rem, 3vw, 2.4rem);
    font-weight: 600; letter-spacing: -.035em; color: var(--ink-abs);
  }
  .pj-work__count {
    margin: 0; font-size: var(--t-label); font-weight: 600; letter-spacing: .18em;
    color: var(--muted-2); font-variant-numeric: tabular-nums;
  }

  .pj-tabs { margin-bottom: clamp(24px, 3.4vh, 44px); overflow-x: auto; }
  .pj-tabs__row { display: flex; gap: var(--s3); min-width: max-content; }
  .pj-tab {
    padding: 10px 16px;
    border: 1px solid var(--line-2); border-radius: 999px;
    background: transparent; cursor: pointer; white-space: nowrap;
    font-size: var(--t-meta); color: var(--ink-abs);
    transition: border-color var(--d-fast) var(--e-out), background var(--d-fast) var(--e-out), color var(--d-fast) var(--e-out);
  }
  .pj-tab i {
    font-style: normal; margin-inline-start: var(--s2);
    font-size: var(--t-label); font-weight: 600; letter-spacing: .1em;
    color: var(--muted-2); font-variant-numeric: tabular-nums;
  }
  .pj-tab:hover { border-color: var(--blue-bright); }
  .pj-tab.is-on { background: var(--ink-abs); border-color: var(--ink-abs); color: var(--paper); }
  .pj-tab.is-on i { color: rgba(242,245,249,.66); }

  
  html:not(.js) .pj-tabs,
  html:not(.js) .pj-chips { display: none; }
}

@layer responsive {
  @media (max-width: 1100px) {
    .pj-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  }
  @media (max-width: 860px) {
    .pj-locator__grid { grid-template-columns: minmax(0, 1fr); }
    .pj-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pj-pin__name { font-size: 34px; }
    .pj-pin__n { font-size: 28px; }
  }
  @media (max-width: 520px) {
    .pj-cards { grid-template-columns: minmax(0, 1fr); }
    .pj-card__box { margin-top: -14%; }
  }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    .pj-card__media img, .pj-pin__halo, .pj-chip, .pj-tab {
      transition: none !important; animation: none !important; transform: none !important;
    }
  }
}




@layer sections {
  .pr-hero {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: clamp(380px, 56svh, 560px);
    padding-block: calc(var(--nav-h) + var(--s6)) clamp(30px, 4.5vh, 56px);
    overflow: hidden;
    isolation: isolate;
    background: var(--ink-abs);
  }
  .pr-hero__bg { position: absolute; inset: 0; z-index: -2; }
  .pr-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
  .pr-hero::after {
    content: '';
    position: absolute; inset: 0; z-index: -1;
    background:
      linear-gradient(180deg, rgba(14,42,71,.62) 0%, rgba(14,42,71,.22) 40%, rgba(14,42,71,.88) 100%),
      linear-gradient(90deg, rgba(14,42,71,.74) 0%, rgba(14,42,71,.18) 62%, rgba(14,42,71,0) 100%);
  }
  .pr-hero__inner { position: relative; }
  .pr-hero .crumb { margin-bottom: clamp(20px, 3vh, 40px); }
  .pr-hero__meta {
    display: flex; align-items: center; gap: var(--s4);
    margin: 0 0 var(--s4);
    font-size: var(--t-label); letter-spacing: .2em; text-transform: uppercase;
    color: rgba(242,245,249,.76);
  }
  .pr-hero__n { color: var(--blue-bright); font-weight: 600; font-variant-numeric: tabular-nums; }
  .pr-hero__rule { width: clamp(28px, 4vw, 64px); height: 1px; background: var(--blue-bright); opacity: .55; }
  .pr-hero__title {
    margin: 0;
    font-size: clamp(2.1rem, 5.4vw, 4.6rem);
    font-weight: 600; line-height: .98; letter-spacing: -.04em;
    color: #FFFFFF; max-width: 20ch;
  }

  
  .pr-hero--noimg { background: var(--paper); min-height: clamp(300px, 42svh, 420px); }
  .pr-hero--noimg::after { content: none; }
  .pr-hero__bg--none {
    background: repeating-linear-gradient(45deg,
      rgba(14,42,71,.05) 0 7px, transparent 7px 14px);
  }
  .pr-hero--noimg .pr-hero__meta { color: #5C6470; }
  .pr-hero--noimg .pr-hero__title { color: var(--ink-abs); }

  
  .pr-brief { padding-block: clamp(44px, 6.5vh, 96px); }
  .pr-brief__grid {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
    gap: clamp(30px, 5vw, 90px);
    align-items: start;
  }
  .pr-facts { margin: 0; padding-inline-end: clamp(0px, 3vw, 48px); border-inline-end: 1px solid var(--line); }
  .pr-fact { padding-block: clamp(11px, 1.6vh, 17px); }
  .pr-fact + .pr-fact { border-top: 1px solid var(--line); }
  .pr-fact dt {
    font-size: var(--t-label); font-weight: 600; letter-spacing: .18em;
    text-transform: uppercase; color: var(--blue-bright);
  }
  .pr-fact dd {
    margin: var(--s2) 0 0; font-size: var(--t-meta); line-height: 1.55; color: var(--ink-abs);
  }
  
  .pr-fact__none { color: var(--muted-2); font-style: italic; }

  .pr-brief__body p {
    margin: 0 0 var(--s5);
    max-width: 62ch; font-size: var(--t-lead); line-height: 1.75; color: var(--muted);
  }
  .pr-brief__body p:last-child { margin-bottom: 0; }

  
  .pr-scope { padding-block: clamp(44px, 6.5vh, 96px); }
  .pr-scope__h {
    margin: 0 0 clamp(24px, 3.4vh, 44px);
    font-size: clamp(1.6rem, 3.4vw, 2.8rem);
    font-weight: 600; line-height: 1.04; letter-spacing: -.035em; color: var(--ink-abs);
  }
  .pr-scope__list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line-2); }
  .pr-scope__item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: clamp(16px, 3vw, 46px);
    padding-block: clamp(15px, 2.2vh, 26px);
    border-bottom: 1px solid var(--line);
  }
  .pr-scope__n {
    font-size: var(--t-label); font-weight: 600; letter-spacing: .18em;
    color: var(--blue-bright); font-variant-numeric: tabular-nums;
  }
  .pr-scope__b { display: block; }
  .pr-scope__name {
    display: block; font-size: clamp(1.05rem, 1.9vw, 1.5rem); font-weight: 600;
    letter-spacing: -.025em; color: var(--ink-abs);
  }
  .pr-scope__desc {
    display: block; margin-top: var(--s2);
    max-width: 68ch; font-size: var(--t-meta); line-height: 1.65; color: var(--muted-2);
  }
  .pr-scope__exec { margin-top: clamp(30px, 4vh, 56px); max-width: 68ch; }
  .pr-scope__exec h3 {
    margin: 0 0 var(--s3);
    font-size: var(--t-label); font-weight: 600; letter-spacing: .24em;
    text-transform: uppercase; color: var(--muted-2);
  }
  .pr-scope__exec p { margin: 0; font-size: var(--t-meta); line-height: 1.75; color: var(--ink-abs); }

  
  .pr-thin { padding-block: clamp(34px, 4.5vh, 64px); }
  .pr-thin__note {
    margin: 0; max-width: 62ch;
    font-size: var(--t-meta); line-height: 1.75; color: var(--muted-2);
  }

}

@layer responsive {
  @media (max-width: 860px) {
    .pr-brief__grid { grid-template-columns: minmax(0, 1fr); }
    .pr-facts { padding-inline-end: 0; border-inline-end: 0; border-bottom: 1px solid var(--line-2); padding-bottom: var(--s5); }
  }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    [class^='pr-'], [class*=' pr-'] {
      transition: none !important; animation: none !important; transform: none !important;
    }
  }
}




@layer sections {
  .wa-top {
    background: var(--paper);
    --white: var(--ink-abs); --muted: #171A1F; --muted-2: #5C6470;
    --line: rgba(14,42,71,.13); --line-2: rgba(14,42,71,.26); --blue-bright: #0057B8;
    color: var(--muted);
    padding: calc(var(--nav-h) + clamp(44px, 7vh, 92px)) 0 clamp(30px, 4vh, 56px);
  }
  .wa-top .crumb { margin-bottom: clamp(22px, 3vh, 40px); }
  .wa-top__title {
    margin: 0;
    font-size: clamp(2.2rem, 5.2vw, 4.6rem);
    font-weight: 600; line-height: .98; letter-spacing: -.04em; color: var(--ink-abs);
  }
  .wa-top__lead {
    margin: clamp(16px, 2.2vh, 26px) 0 0;
    max-width: 52ch; font-size: var(--t-lead); line-height: 1.7; color: #5C6470;
  }

  .wa-index {
    display: flex; flex-wrap: wrap; gap: var(--s3);
    margin-top: clamp(28px, 3.8vh, 48px);
  }
  .wa-index__link {
    display: inline-flex; align-items: baseline; gap: var(--s3);
    padding: 9px 16px; border: 1px solid rgba(14,42,71,.26); border-radius: 999px;
    font-size: var(--t-meta); color: var(--ink-abs); text-decoration: none;
    transition: border-color var(--d-fast) var(--e-out), background var(--d-fast) var(--e-out);
  }
  .wa-index__link span {
    font-size: var(--t-label); font-weight: 600; letter-spacing: .12em;
    color: #0057B8; font-variant-numeric: tabular-nums;
  }
  .wa-index__link:hover { border-color: #0057B8; background: rgba(0,87,184,.06); }

  
  .wa-sec { padding-block: clamp(40px, 6vh, 88px); scroll-margin-top: calc(var(--nav-h) + 20px); }
  .wa-sec__grid {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 7fr);
    gap: clamp(24px, 4vw, 72px);
    align-items: start;
  }
  .wa-sec__h {
    margin: 0;
    font-size: clamp(1.5rem, 3vw, 2.4rem);
    font-weight: 600; line-height: 1.05; letter-spacing: -.035em; color: var(--ink-abs);
  }
  .wa-sec__body { min-width: 0; }

  
  .wa-sec--open .wa-sec__body { border-top: 1px solid var(--line-2); padding-top: var(--s5); }
  .wa-open {
    margin: 0; max-width: 60ch;
    font-size: var(--t-meta); line-height: 1.75; color: var(--muted-2);
  }

  .wa-say {
    margin: 0 0 var(--s5);
    font-size: clamp(1.35rem, 2.6vw, 2.1rem); font-weight: 600;
    line-height: 1.1; letter-spacing: -.035em; color: var(--ink-abs);
  }
  .wa-p {
    margin: 0; max-width: 64ch;
    font-size: var(--t-lead); line-height: 1.75; color: var(--muted);
  }

  .wa-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: clamp(14px, 2vw, 26px); margin-top: clamp(26px, 3.6vh, 44px); }
  .wa-two__item {
    display: block; padding-top: var(--s4);
    border-top: 1px solid var(--line-2); text-decoration: none; color: inherit;
  }
  .wa-two__n {
    display: block; font-size: var(--t-label); font-weight: 600; letter-spacing: .18em;
    color: var(--blue-bright); font-variant-numeric: tabular-nums;
  }
  .wa-two__name {
    display: block; margin-top: var(--s2);
    font-size: clamp(1.15rem, 2.2vw, 1.7rem); font-weight: 600;
    letter-spacing: -.03em; color: var(--ink-abs);
    transition: color var(--d-fast) var(--e-out);
  }
  .wa-two__item:hover .wa-two__name { color: var(--blue-bright); }
  .wa-two__desc {
    display: block; margin-top: var(--s2);
    font-size: var(--t-meta); line-height: 1.6; color: var(--muted-2);
  }
  .wa-two__go { display: inline-block; margin-top: var(--s3); color: var(--blue-bright); }

  .wa-how { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line-2); }
  .wa-how__item {
    display: grid; grid-template-columns: auto minmax(0, 1fr);
    gap: clamp(14px, 2.4vw, 34px);
    padding-block: clamp(14px, 2vh, 24px);
    border-bottom: 1px solid var(--line);
  }
  .wa-how__n {
    font-size: var(--t-label); font-weight: 600; letter-spacing: .18em;
    color: var(--blue-bright); font-variant-numeric: tabular-nums;
  }
  .wa-how__b { display: block; }
  .wa-how__name {
    display: block; font-size: clamp(1.05rem, 1.8vw, 1.4rem); font-weight: 600;
    letter-spacing: -.025em; color: var(--ink-abs);
  }
  .wa-how__desc {
    display: block; margin-top: var(--s2);
    max-width: 68ch; font-size: var(--t-meta); line-height: 1.65; color: var(--muted-2);
  }

  .wa-figures {
    display: grid; grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(14px, 2vw, 28px);
    margin: clamp(30px, 4vh, 56px) 0 0; padding-top: var(--s5);
    border-top: 1px solid var(--line-2);
  }
  .wa-figures dt {
    font-size: clamp(1.1rem, 2vw, 1.7rem); font-weight: 600;
    letter-spacing: -.03em; color: var(--blue-bright); font-variant-numeric: tabular-nums;
  }
  .wa-figures dd {
    margin: var(--s2) 0 0;
    font-size: var(--t-label); letter-spacing: .14em; text-transform: uppercase; color: var(--muted-2);
  }
  .wa-more { margin-top: clamp(24px, 3.2vh, 40px); }
}

@layer responsive {
  @media (max-width: 860px) {
    .wa-sec__grid { grid-template-columns: minmax(0, 1fr); gap: var(--s5); }
    .wa-figures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 520px) {
    .wa-two { grid-template-columns: minmax(0, 1fr); }
  }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    [class^='wa-'], [class*=' wa-'] {
      transition: none !important; animation: none !important; transform: none !important;
    }
  }
}




@layer sections {
  .pcard {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--paper);
    border: 1px solid var(--line);
    text-decoration: none;
    color: inherit;
    isolation: isolate;
    transition: border-color var(--d-base) var(--e-out),
                box-shadow var(--d-base) var(--e-out);
  }
  a.pcard:hover {
    border-color: var(--blue-bright);
    box-shadow: 0 18px 44px rgba(14, 42, 71, .10);
  }

  
  .pcard__mark {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    width: 54px; height: 54px;
    display: grid; place-items: center;
    border-radius: 50%;
    background: var(--paper);
    border: 1px solid var(--blue-bright);
    color: var(--blue-bright);
    font-size: 1.5rem; font-weight: 600; letter-spacing: -.02em; line-height: 1;
    transition: background var(--d-base) var(--e-out), color var(--d-base) var(--e-out);
  }
  a.pcard:hover .pcard__mark { background: var(--blue-bright); color: #FFFFFF; }

  .pcard__head {
    display: block;
    padding: clamp(38px, 4vw, 48px) clamp(18px, 2vw, 26px) clamp(14px, 1.6vw, 20px);
  }
  .pcard__name {
    display: block;
    font-size: clamp(1.05rem, 1.25vw, 1.28rem); font-weight: 600;
    line-height: 1.22; letter-spacing: -.02em; color: var(--blue-bright);
    transition: color var(--d-fast) var(--e-out);
  }

  .pcard__rows { display: block; padding: 0 clamp(18px, 2vw, 26px) clamp(16px, 2vw, 24px); }
  .pcard__row {
    display: block;
    padding-block: clamp(8px, 1vw, 11px);
    border-bottom: 1px solid var(--line);
  }
  .pcard__row:last-child { border-bottom: 0; }
  .pcard__k {
    display: block;
    font-size: var(--t-label); letter-spacing: .14em; text-transform: uppercase;
    color: var(--muted-2);
  }
  .pcard__v {
    display: block; margin-top: 3px;
    font-size: var(--t-meta); line-height: 1.4; color: var(--ink-abs);
  }
  .pcard__v--none { color: var(--muted-2); font-style: italic; }

  
  .pcard__media {
    display: block; position: relative;
    margin-top: auto;
    aspect-ratio: 16 / 11;
    overflow: hidden;
    background: var(--surface);
  }
  .pcard__media img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform var(--d-slow) var(--e-out);
  }
  a.pcard:hover .pcard__media img { transform: scale(1.05); }
  .pcard__noimg {
    position: absolute; inset: 0;
    background: repeating-linear-gradient(45deg,
      rgba(14,42,71,.06) 0 6px, transparent 6px 12px);
  }
  .pcard__go {
    position: absolute;
    inset-block-end: clamp(12px, 1.4vw, 18px);
    inset-inline-end: clamp(12px, 1.4vw, 18px);
    display: inline-flex; align-items: center; gap: var(--s3);
    padding: 9px 16px;
    border-radius: 999px;
    background: var(--paper);
    font-size: var(--t-label); font-weight: 600; letter-spacing: .16em;
    text-transform: uppercase; color: var(--ink-abs);
  }
  .pcard__go i {
    font-style: normal;
    display: grid; place-items: center;
    width: 24px; height: 24px; border-radius: 50%;
    background: var(--blue-bright); color: #FFFFFF;
    transition: transform var(--d-fast) var(--e-out);
  }
  a.pcard:hover .pcard__go i { transform: translateX(3px); }

  .pcard__pending {
    display: block;
    padding: 0 clamp(18px, 2vw, 26px) clamp(14px, 1.6vw, 20px);
    font-size: var(--t-label); letter-spacing: .16em; text-transform: uppercase;
    color: var(--muted-2);
  }
  .pcard[hidden] { display: none; }

  .pcards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(38px, 3vw, 54px) clamp(18px, 2vw, 30px);
    align-items: stretch;
  }
  .pcards--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  
  .pcards--tight { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(22px, 1.6vw, 30px) clamp(12px, 1vw, 18px); }
  .pcards--tight .pcard__mark { width: 40px; height: 40px; font-size: 1.1rem; }
  .pcards--tight .pcard__head { padding: clamp(28px, 2.4vw, 34px) clamp(12px, 1vw, 16px) clamp(9px, .9vw, 13px); }
  .pcards--tight .pcard__name { font-size: clamp(.86rem, .92vw, 1rem); }
  .pcards--tight .pcard__rows { padding: 0 clamp(12px, 1vw, 16px) clamp(10px, 1vw, 15px); }
  .pcards--tight .pcard__row { padding-block: clamp(5px, .6vw, 8px); }
  .pcards--tight .pcard__v { font-size: .78rem; }
  .pcards--tight .pcard__go { padding: 6px 11px; }
  .pcards--tight .pcard__go i { width: 19px; height: 19px; }

  
  .pswitch {
    display: flex; align-items: center; gap: clamp(14px, 2vw, 26px);
    margin-bottom: clamp(34px, 4vh, 56px);
  }
  .pswitch__b {
    background: none; border: 0; padding: 0 0 6px; cursor: pointer;
    font-size: var(--t-label); font-weight: 600; letter-spacing: .2em;
    text-transform: uppercase; color: var(--muted-2);
    border-bottom: 2px solid transparent;
    transition: color var(--d-fast) var(--e-out), border-color var(--d-fast) var(--e-out);
  }
  .pswitch__b:hover { color: var(--ink-abs); }
  .pswitch__b.is-on { color: var(--ink-abs); border-bottom-color: var(--blue-bright); }
  .pswitch__sep { color: var(--line-2); }
  html:not(.js) .pswitch { display: none; }
}

@layer motion {
  
  .js .pcard[data-reveal] { transform: translateX(-16px); }
  .js .pcard[data-reveal].is-in { transform: none; }

  @media (prefers-reduced-motion: reduce) {
    .js .pcard[data-reveal],
    .pcard, .pcard__mark, .pcard__media img, .pcard__go i {
      transition: none !important; animation: none !important; transform: none !important;
    }
  }
}

@layer responsive {
  @media (max-width: 1100px) {
    .pcards, .pcards--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pcards--tight { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  }
  @media (max-width: 620px) {
    .pcards, .pcards--4 { grid-template-columns: minmax(0, 1fr); }
    .pcards--tight { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
}




@layer sections {
  
  .hm-about { padding-block: clamp(48px, 7vh, 110px); }
  .hm-about__grid {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 5fr);
    gap: clamp(28px, 5vw, 84px);
    align-items: center;
  }
  .hm-about__h {
    margin: var(--s4) 0 0;
    font-size: clamp(2rem, 4.4vw, 3.6rem);
    font-weight: 600; line-height: 1.0; letter-spacing: -.04em;
    color: var(--ink-abs);
  }
  .hm-about__p {
    margin: clamp(18px, 2.6vh, 30px) 0 0;
    max-width: 56ch; font-size: var(--t-lead); line-height: 1.75; color: var(--muted);
  }
  .hm-about__more { margin-top: clamp(24px, 3.2vh, 38px); }
  .hm-about__fig { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: var(--surface); }
  .hm-about__fig img { width: 100%; height: 100%; object-fit: cover; display: block; }

  .hm-figures {
    display: grid; grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 32px);
    margin: clamp(38px, 5vh, 72px) 0 0; padding-top: clamp(24px, 3vh, 40px);
    border-top: 1px solid var(--line-2);
  }
  .hm-figures dt {
    font-size: clamp(1.3rem, 2.4vw, 2.1rem); font-weight: 600;
    letter-spacing: -.03em; color: var(--blue-bright); font-variant-numeric: tabular-nums;
  }
  .hm-figures dd {
    margin: var(--s2) 0 0;
    font-size: var(--t-label); letter-spacing: .14em; text-transform: uppercase; color: var(--muted-2);
  }

  
  .hm-certs { padding-block: clamp(48px, 7vh, 104px); }
  .hm-certs__head { margin-bottom: clamp(30px, 4vh, 56px); }
  .hm-certs__h {
    margin: var(--s4) 0 0;
    font-size: clamp(1.7rem, 3.4vw, 3rem);
    font-weight: 600; line-height: 1.02; letter-spacing: -.035em; color: var(--ink-abs);
  }
  .hm-certs__grid {
    display: grid; grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 30px);
    margin: 0; padding: 0; list-style: none;
  }
  .hm-cert {
    display: flex; flex-direction: column; align-items: center; text-align: center;
    gap: var(--s3);
    padding: clamp(20px, 2.4vw, 30px) clamp(12px, 1.4vw, 18px);
    border: 1px solid var(--line);
    background: var(--paper);
  }
  .hm-cert__badge {
    display: grid; place-items: center;
    width: clamp(56px, 6vw, 78px); aspect-ratio: 1;
  }
  .hm-cert__badge img { width: 100%; height: 100%; object-fit: contain; }
  .hm-cert__name {
    font-size: var(--t-meta); font-weight: 600; letter-spacing: -.01em; color: var(--ink-abs);
  }
  .hm-cert__note {
    font-size: var(--t-label); line-height: 1.5; letter-spacing: .06em; color: var(--muted-2);
  }

  
  .hm-marks {
    
    background: #FFFFFF;
    padding-block: clamp(44px, 5.5vh, 78px);
    overflow: hidden;
  }
  .hm-marks__all { margin-top: clamp(24px, 3vh, 40px); }
}

@layer components {
  
  .marquee {
    position: relative;
    overflow: hidden;
    
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  }
  .marquee__track {
    display: flex;
    align-items: center;
    gap: clamp(40px, 6vw, 96px);
    width: max-content;
    animation: marquee 46s linear infinite;
  }
  .marquee__item { flex: none; display: grid; place-items: center; }
  .marquee__item img {
    
    height: clamp(54px, 5.6vw, 80px);
    width: auto;
    
    filter: grayscale(1);
    opacity: .62;
    transition: filter var(--d-base) var(--e-out), opacity var(--d-base) var(--e-out);
  }
  .marquee__item:hover img { filter: none; opacity: 1; }

  @keyframes marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
  }

  
  .totop {
    position: fixed;
    inset-block-end: clamp(18px, 3vh, 34px);
    inset-inline-start: clamp(18px, 3vw, 34px);
    z-index: 60;
    width: 54px; height: 54px;
    display: grid; place-items: center;
    border: 0; padding: 0; cursor: pointer;
    border-radius: 50%;
    background: var(--paper);
    box-shadow: 0 8px 26px rgba(14, 42, 71, .18);
    opacity: 0; visibility: hidden;
    transform: translateY(10px);
    transition: opacity var(--d-base) var(--e-out),
                transform var(--d-base) var(--e-out),
                visibility 0s linear var(--d-base);
  }
  .totop.is-on {
    opacity: 1; visibility: visible; transform: none;
    transition: opacity var(--d-base) var(--e-out),
                transform var(--d-base) var(--e-out),
                visibility 0s;
  }
  .totop svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
  .totop__track { fill: none; stroke: rgba(14, 42, 71, .14); stroke-width: 2; }
  .totop__fill {
    fill: none; stroke: var(--blue-bright); stroke-width: 2; stroke-linecap: round;
    stroke-dasharray: var(--circ);
    stroke-dashoffset: calc(var(--circ) * (1 - var(--progress, 0)));
  }
  .totop__arrow {
    position: relative;
    font-size: 1.05rem; line-height: 1; color: var(--ink-abs);
    transition: transform var(--d-fast) var(--e-out);
  }
  .totop:hover .totop__arrow { transform: translateY(-2px); }
}

@layer sections {
  
  .footer { position: relative; isolation: isolate; }
  .footer__bg { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
  .footer__bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .footer::before {
    content: '';
    position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(180deg, rgba(14,42,71,.94) 0%, rgba(14,42,71,.90) 46%, rgba(14,42,71,.97) 100%);
  }
}

@layer responsive {
  @media (max-width: 1100px) {
    .hm-certs__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .hm-figures { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  }
  @media (max-width: 860px) {
    .hm-about__grid { grid-template-columns: minmax(0, 1fr); }
  }
  @media (max-width: 560px) {
    .hm-certs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hm-figures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .totop { width: 46px; height: 46px; }
  }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    
    .marquee__track { animation: none !important; transform: none !important; }
    .marquee { mask-image: none; overflow-x: auto; }
    .totop, .totop__arrow, .marquee__item img {
      transition: none !important; animation: none !important;
    }
  }
}


@layer components {
  .lightbox {
    position: fixed; inset: 0; z-index: 200;
    display: grid; place-items: center;
    padding: clamp(16px, 4vw, 56px);
  }
  .lightbox[hidden] { display: none; }
  .lightbox__ground {
    position: absolute; inset: 0;
    background: rgba(14, 42, 71, .88);
    backdrop-filter: blur(6px);
    cursor: zoom-out;
  }
  .lightbox__frame {
    position: relative;
    max-width: min(780px, 100%);
    max-height: 100%;
    display: flex;
  }
  .lightbox__img {
    max-width: 100%;
    max-height: calc(100svh - clamp(32px, 8vw, 112px));
    width: auto; height: auto;
    object-fit: contain;
    background: #FFFFFF;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .45);
  }
  .lightbox__close {
    position: absolute;
    inset-block-start: clamp(-46px, -4vw, -14px);
    inset-inline-end: 0;
    width: 40px; height: 40px;
    display: grid; place-items: center;
    border: 0; border-radius: 50%;
    background: var(--paper); color: var(--ink-abs);
    font-size: 1.4rem; line-height: 1; cursor: pointer;
  }
  .lightbox__close:hover { background: #FFFFFF; }

  
  .is-lightbox, .is-lightbox body { overflow: hidden; }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    .lightbox, .lightbox__img, .lightbox__close {
      transition: none !important; animation: none !important;
    }
  }
}



@layer sections {

  
  .hm-certs__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2.2vw, 34px); }
  .hm-cert {
    display: flex; flex-direction: column; align-items: stretch;
    text-align: start; gap: 0; padding: 0;
    border: 1px solid var(--line); border-top: 0;
    background: var(--paper); overflow: hidden;
  }
  .hm-cert__doc {
    display: block; background: #FFFFFF;
    height: clamp(190px, 22vh, 250px); overflow: hidden;
  }
  .hm-cert__doc img {
    width: 100%; height: 100%; display: block;
    object-fit: cover; object-position: top center;
    transition: transform var(--d-slow) var(--e-out);
  }
  .hm-cert__doc:hover img { transform: scale(1.02); }
  .hm-cert__b {
    display: flex; flex-direction: column; gap: var(--s2);
    padding: clamp(16px, 1.8vw, 24px);
    border-top: 2px solid var(--blue-bright);
    margin-top: auto;
  }
  .hm-cert__name {
    font-size: clamp(1rem, 1.3vw, 1.2rem); font-weight: 600;
    letter-spacing: -.01em; color: var(--ink-abs);
  }
  .hm-cert__note {
    font-size: var(--t-label); line-height: 1.5; letter-spacing: .06em; color: var(--muted-2);
  }
  .hm-cert__valid {
    font-size: var(--t-label); font-weight: 600; letter-spacing: .12em;
    text-transform: uppercase; color: var(--blue-bright);
  }

  
  .hm-marks {
    --white: var(--ink-abs); --muted: #171A1F; --muted-2: #5C6470;
    --line: rgba(14,42,71,.13); --line-2: rgba(14,42,71,.26);
    color: var(--muted);
  }
  .hm-marks__all { color: var(--ink-abs); }
  .marquee__item img { filter: none; mix-blend-mode: normal; opacity: .9; }
  .marquee__item:hover img { opacity: 1; }

  
  .footer {
    position: relative;
    isolation: isolate;
    background:
      linear-gradient(180deg, rgba(14,42,71,.88) 0%, rgba(14,42,71,.78) 42%, rgba(14,42,71,.94) 100%),
      var(--ink-abs) url('../images/site/towers.jpg') center / cover no-repeat;
  }
  .footer::before { content: none; }

  
  .footer .footer__heading { color: rgba(242,245,249,.80); }
  .footer .footer__list a,
  .footer .footer__brand p,
  .footer .body { color: rgba(242,245,249,.88); }
  .footer .label,
  .footer .label--section { color: rgba(242,245,249,.78); }

  
  .floc {
    margin-top: clamp(30px, 4vh, 54px); padding-top: clamp(22px, 3vh, 34px);
    border-top: 1px solid rgba(242,245,249,.16);
  }
  .floc__head { margin-bottom: var(--s4); }
  .floc__row {
    display: flex; flex-wrap: wrap; align-items: baseline;
    gap: clamp(16px, 3vw, 54px);
  }
  .floc__addr {
    margin: 0; font-style: normal; max-width: 42ch;
    font-size: var(--t-meta); line-height: 1.7; color: rgba(242,245,249,.88);
  }
  .floc__lines {
    display: flex; flex-wrap: wrap; gap: var(--s3) clamp(16px, 2vw, 30px); margin: 0;
    font-size: var(--t-meta);
  }
  .floc__lines a {
    color: rgba(242,245,249,.88); text-decoration: none;
    border-bottom: 1px solid rgba(242,245,249,.24);
  }
  .floc__lines a:hover { color: #FFFFFF; border-bottom-color: currentColor; }
  .floc__go {
    margin-inline-start: auto; white-space: nowrap;
    font-size: var(--t-label); font-weight: 600; letter-spacing: .18em;
    text-transform: uppercase; color: var(--blue-bright); text-decoration: none;
  }
  .floc__go:hover { color: #FFFFFF; }

  
  .pcard {
    --white: var(--ink-abs);
    --muted: #171A1F;
    --muted-2: #5C6470;
    --line: rgba(14,42,71,.13);
    --line-2: rgba(14,42,71,.26);
    --blue-bright: #0057B8;
    color: var(--muted);
  }

  
  .loc2__map { min-height: clamp(320px, 42vh, 460px); }
}

@layer responsive {
  @media (max-width: 1100px) {
    .hm-certs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 560px) {
    .hm-certs__grid { grid-template-columns: minmax(0, 1fr); }
  }
}



@layer sections {
  .wa-top { padding-bottom: clamp(26px, 3.4vh, 48px); }
  .wa-top__lead { max-width: 48ch; }

  .wa-index { margin-top: clamp(30px, 4vh, 52px); }

  
  .wa-words { padding-block: clamp(48px, 7vh, 110px); }
  .wa-st { margin-top: clamp(30px, 4vh, 56px); border-top: 1px solid var(--line-2); }
  .wa-st__item {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 8fr);
    gap: clamp(18px, 4vw, 80px);
    padding-block: clamp(30px, 4.6vh, 66px);
    border-bottom: 1px solid var(--line);
  }
  .wa-st__k {
    margin: 0;
    font-size: var(--t-label); font-weight: 600; letter-spacing: .26em;
    text-transform: uppercase; color: var(--blue-bright);
    
    padding-top: .35em;
  }
  .wa-st__b { min-width: 0; }
  .wa-st__lead {
    margin: 0 0 clamp(16px, 2.2vh, 26px);
    font-size: clamp(1.4rem, 2.9vw, 2.35rem);
    font-weight: 600; line-height: 1.08; letter-spacing: -.035em;
    color: var(--ink-abs);
  }
  
  .wa-st__p {
    margin: 0; max-width: 68ch;
    font-size: clamp(1.02rem, 1.5vw, 1.28rem);
    line-height: 1.72;
    color: var(--ink-abs);
  }

  
  .wa-do { padding-block: clamp(48px, 7vh, 110px); }
  .wa-do__h {
    margin: var(--s4) 0 clamp(30px, 4vh, 56px);
    font-size: clamp(1.8rem, 3.6vw, 3.1rem);
    font-weight: 600; line-height: 1.02; letter-spacing: -.04em; color: var(--ink-abs);
  }
  .wa-div {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(20px, 3vw, 44px);
  }
  .wa-div__item {
    display: block; text-decoration: none; color: inherit;
    background: var(--paper);
    border: 1px solid var(--line);
    overflow: hidden;
    transition: border-color var(--d-base) var(--e-out), box-shadow var(--d-base) var(--e-out);
  }
  .wa-div__item:hover { border-color: var(--blue-bright); box-shadow: 0 18px 44px rgba(14,42,71,.10); }
  .wa-div__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--surface); }
  .wa-div__media img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform var(--d-slow) var(--e-out);
  }
  .wa-div__item:hover .wa-div__media img { transform: scale(1.04); }
  .wa-div__b { display: block; padding: clamp(20px, 2.6vw, 34px); }
  .wa-div__n {
    display: block; font-size: var(--t-label); font-weight: 600; letter-spacing: .18em;
    color: var(--blue-bright); font-variant-numeric: tabular-nums;
  }
  .wa-div__name {
    display: block; margin-top: var(--s2);
    font-size: clamp(1.3rem, 2.4vw, 1.9rem); font-weight: 600;
    letter-spacing: -.03em; color: var(--ink-abs);
    transition: color var(--d-fast) var(--e-out);
  }
  .wa-div__item:hover .wa-div__name { color: var(--blue-bright); }
  .wa-div__p {
    display: block; margin-top: var(--s3); max-width: 46ch;
    font-size: var(--t-meta); line-height: 1.7; color: var(--muted-2);
  }
  .wa-div__go { margin-top: clamp(16px, 2.2vh, 24px); }

  .wa-figures {
    display: grid; grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 32px);
    margin: clamp(36px, 5vh, 70px) 0 0; padding-top: clamp(24px, 3vh, 40px);
    border-top: 1px solid var(--line-2);
  }
  .wa-figures dt {
    font-size: clamp(1.3rem, 2.4vw, 2.1rem); font-weight: 600;
    letter-spacing: -.03em; color: var(--blue-bright); font-variant-numeric: tabular-nums;
  }
  .wa-figures dd {
    margin: var(--s2) 0 0;
    font-size: var(--t-label); letter-spacing: .14em; text-transform: uppercase; color: var(--muted-2);
  }

  
  .wa-how-sec { padding-block: clamp(48px, 7vh, 110px); }
  .wa-how-sec__head {
    display: flex; align-items: flex-end; justify-content: space-between;
    gap: clamp(24px, 4vw, 64px); flex-wrap: wrap;
    margin-bottom: clamp(28px, 3.8vh, 50px);
  }
  .wa-how-sec__h {
    margin: var(--s4) 0 0;
    font-size: clamp(1.8rem, 3.6vw, 3.1rem);
    font-weight: 600; line-height: 1.02; letter-spacing: -.04em; color: var(--ink-abs);
  }

  .wa-how { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line-2); }
  .wa-how__item {
    display: grid; grid-template-columns: auto minmax(0, 1fr);
    gap: clamp(16px, 3vw, 48px);
    padding-block: clamp(17px, 2.4vh, 30px);
    border-bottom: 1px solid var(--line);
  }
  .wa-how__n {
    font-size: var(--t-label); font-weight: 600; letter-spacing: .18em;
    color: var(--blue-bright); font-variant-numeric: tabular-nums; padding-top: .25em;
  }
  .wa-how__b { display: block; }
  .wa-how__name {
    display: block; font-size: clamp(1.08rem, 1.9vw, 1.45rem); font-weight: 600;
    letter-spacing: -.025em; color: var(--ink-abs);
  }
  .wa-how__desc {
    display: block; margin-top: var(--s3);
    max-width: 72ch; font-size: var(--t-meta); line-height: 1.72; color: var(--muted-2);
  }

  
  .wa-cred {
    margin-top: clamp(34px, 4.6vh, 62px); padding-top: clamp(22px, 3vh, 34px);
    border-top: 1px solid var(--line-2);
  }
  .wa-cred__k {
    margin: 0 0 var(--s4);
    font-size: var(--t-label); font-weight: 600; letter-spacing: .24em;
    text-transform: uppercase; color: var(--muted-2);
  }
  .wa-cred__row {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 34px); margin: 0; padding: 0; list-style: none;
  }
  .wa-cred__item { padding-top: var(--s4); border-top: 2px solid var(--blue-bright); }
  .wa-cred__name {
    display: block; font-size: clamp(1rem, 1.3vw, 1.16rem); font-weight: 600;
    letter-spacing: -.01em; color: var(--ink-abs);
  }
  .wa-cred__note {
    display: block; margin-top: var(--s2);
    font-size: var(--t-label); line-height: 1.5; letter-spacing: .06em; color: var(--muted-2);
  }
  .wa-cred__valid {
    display: block; margin-top: var(--s2);
    font-size: var(--t-label); font-weight: 600; letter-spacing: .12em;
    text-transform: uppercase; color: var(--blue-bright);
  }
  .wa-cred__go { margin-top: clamp(20px, 2.8vh, 30px); }
}

@layer responsive {
  @media (max-width: 980px) {
    .wa-st__item { grid-template-columns: minmax(0, 1fr); gap: var(--s4); }
    .wa-st__k { padding-top: 0; }
    .wa-div { grid-template-columns: minmax(0, 1fr); }
    .wa-figures { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .wa-cred__row { grid-template-columns: minmax(0, 1fr); }
  }
  @media (max-width: 560px) {
    .wa-figures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wa-how__item { grid-template-columns: minmax(0, 1fr); gap: var(--s2); }
  }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    .wa-div__item, .wa-div__media img {
      transition: none !important; animation: none !important; transform: none !important;
    }
  }
}



@layer base {
  picture { display: contents; }
}



@layer sections {
  
  .loc2[hidden] { display: none; }

  .offsw {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(18px, 2.4vw, 34px);
    margin-bottom: clamp(20px, 2.6vh, 32px);
  }
  .offsw__t {
    position: relative;
    padding: var(--s3) 0;
    background: none;
    border: 0;
    font: inherit;
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted-2);
    cursor: pointer;
    transition: color var(--d-fast) var(--e-out);
  }
  .offsw__t::after {
    content: '';
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--d-base) var(--e-out);
  }
  .offsw__t:hover,
  .offsw__t.is-on { color: var(--ink-abs); }
  .offsw__t.is-on::after { transform: scaleX(1); }

  
  .loc2__pend,
  .loc2__await,
  .loc2__addr--pending { color: var(--muted-2); font-style: italic; }
  .loc2__map--pending {
    display: grid;
    place-items: center;
    padding: var(--s6);
    background: var(--paper-2);
    border: 1px dashed var(--line-2);
  }
  .loc2__await { margin: 0; max-width: 34ch; text-align: center; font-size: var(--t-meta); }
}


@layer responsive {
  @media (max-width: 860px) {
    .loc2 { grid-template-columns: minmax(0, 1fr); }
    .loc2__map { min-height: clamp(240px, 34vh, 320px); }
  }
}


@layer rtl {
  
  @media (max-width: 560px) {
    [dir='rtl'] .hm-reel__nav { flex-wrap: wrap; row-gap: var(--s4); }
    [dir='rtl'] .hero__ticks { flex-wrap: wrap; min-width: 0; }
  }

  
  [dir='rtl'] .hm-figures dt { unicode-bidi: isolate; }

  
  [dir='rtl'] .hm-cap__name,
  [dir='rtl'] .pcard__name,
  [dir='rtl'] .hm-cert__name { direction: ltr; unicode-bidi: isolate; text-align: right; }

  
  [dir='rtl'] .pcard__go i,
  [dir='rtl'] .hm-cap__go,
  [dir='rtl'] .floc__go span,
  [dir='rtl'] .hm-about__more .link-arrow__icon { transform: scaleX(-1); }

  
  [dir='rtl'] .pj-eyebrow__rule,
  [dir='rtl'] .hm-cap__rule { transform: scaleX(-1); }
}


@layer rtl {
  
  [dir='rtl'] .co-open::before {
    background:
      linear-gradient(270deg, rgba(14, 42, 71, .86) 0%, rgba(14, 42, 71, .42) 44%, rgba(14, 42, 71, .06) 78%),
      linear-gradient(180deg, rgba(14, 42, 71, .58) 0%, rgba(14, 42, 71, 0) 34%);
  }
}


@layer motion {
  .js[dir='rtl'] .pcard[data-reveal] { transform: translateX(16px); }
  
  .js[dir='rtl'] .pcard[data-reveal].is-in { transform: none; }
}


@layer motion {
  @keyframes marquee-rtl {
    from { transform: translateX(0); }
    to   { transform: translateX(50%); }
  }
  [dir='rtl'] .marquee__track { animation-name: marquee-rtl; }
}


@layer sections {
  .hero__bp {
    position: absolute;
    inset: 0;
    z-index: 0;              
    pointer-events: none;
    overflow: hidden;
    
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 40%, rgba(0,0,0,.40) 58%, transparent 76%);
    mask-image: linear-gradient(180deg, #000 0%, #000 40%, rgba(0,0,0,.40) 58%, transparent 76%);
  }
  
    @keyframes bp-drift {
      from { transform: translate3d(0, 0, 0); }
      to   { transform: translate3d(-4.5%, 0, 0); }
    }
    .hero__bpdrift { animation: bp-drift 72s linear infinite alternate; }

    @supports (animation-timeline: scroll()) {
      
      @keyframes bp-park   { to { transform: translate3d(0, -16%, 0); } }
      @keyframes word-park { to { transform: translate3d(0, -6%, 0); } }

      .hero--reel .hero__bppar,
      .hero--reel .hero__inner {
        animation-timeline: scroll(root block);
        animation-range: 0 100svh;
        animation-timing-function: linear;
        animation-fill-mode: both;
      }
      .hero--reel .hero__bppar { animation-name: bp-park; }
      .hero--reel .hero__inner { animation-name: word-park; }
    }
  }

  @media (prefers-reduced-motion: reduce) {
    
    .hero__bpdrift,
    .hero--reel .hero__bppar,
    .hero--reel .hero__bp,
    .hero--reel .hero__inner {
      animation: none !important;
      transform: none !important;
    }
  }
}


@layer motion {
  .hm-purpose__mark {
    position: relative;
    transition:
      background var(--d-fast) var(--e-out),
      color var(--d-fast) var(--e-out),
      transform var(--d-base) var(--e-out),
      border-color var(--d-fast) var(--e-out);
  }

  
  .hm-purpose__mark::after {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: 50%;
    border: 1px solid var(--blue-bright);
    opacity: 0;
    pointer-events: none;
  }

  @media (prefers-reduced-motion: no-preference) {
    @keyframes mark-ping {
      from { transform: scale(1);    opacity: .55; }
      to   { transform: scale(1.75); opacity: 0; }
    }

    .hm-purpose__top:hover .hm-purpose__mark,
    .hm-purpose__top:focus-visible .hm-purpose__mark {
      transform: scale(1.08);
    }
    .hm-purpose__top:hover .hm-purpose__mark::after,
    .hm-purpose__top:focus-visible .hm-purpose__mark::after {
      animation: mark-ping 560ms var(--e-out) 1;
    }
    
    .hm-purpose__item[open] .hm-purpose__mark { transform: scale(1.06); }
  }

  
  .hm-purpose__top:hover .hm-purpose__mark,
  .hm-purpose__top:focus-visible .hm-purpose__mark {
    background: var(--blue-bright);
    color: #FFFFFF;
  }
  .hm-purpose__top:hover .hm-purpose__k,
  .hm-purpose__top:focus-visible .hm-purpose__k { color: var(--blue-bright); }

  @media (prefers-reduced-motion: reduce) {
    .hm-purpose__mark,
    .hm-purpose__item[open] .hm-purpose__mark { transform: none !important; }
    .hm-purpose__mark::after { animation: none !important; opacity: 0 !important; }
  }
}


@layer motion {
  @media (prefers-reduced-motion: no-preference) {
    a.pcard {
      transition:
        border-color var(--d-base) var(--e-out),
        box-shadow var(--d-base) var(--e-out),
        transform var(--d-base) var(--e-out);
    }

    .js a.pcard[data-reveal].is-in:hover,
    .js a.pcard[data-reveal].is-in:focus-visible,
    a.pcard:hover,
    a.pcard:focus-visible {
      transform: translate3d(0, -6px, 0);
      box-shadow: 0 26px 60px rgba(14, 42, 71, .18);
    }

    
    a.pcard:hover .pcard__media img,
    a.pcard:focus-visible .pcard__media img { transform: scale(1.07); }
  }
}


@layer sections {
  .wa-st__side {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(14px, 1.8vh, 22px);
    min-width: 0;
  }

  .wa-st__vis {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;              
    background: #FFFFFF;
    border: 1px solid rgba(0, 87, 184, .18);
  }
  .wa-st__vis--photo img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
  }

  
  .wa-st__drift {
    position: absolute;
    inset-block: 0;
    inset-inline-start: -9%;
    width: 118%;
  }
  .wa-st__svg { display: block; width: 100%; height: 100%; }
}

@layer rtl {
  
  [dir=rtl] .wa-st__svg { transform: scaleX(-1); }
}

@layer motion {
  @media (prefers-reduced-motion: no-preference) {
    
    .wa-st__drift { animation: bp-drift 76s linear infinite alternate; }
    .wa-st__item:nth-of-type(2) .wa-st__drift {
      animation-duration: 94s;
      animation-delay: -31s;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .wa-st__drift { animation: none !important; transform: none !important; }
  }
}

@layer responsive {
  @media (max-width: 860px) {
    
    .wa-st__side { gap: var(--s4); }
    .wa-st__vis { aspect-ratio: 16 / 7; max-height: 180px; }
  }
  @media (max-width: 560px) {
    .wa-st__vis { aspect-ratio: 16 / 8; max-height: 148px; }
  }
}


@layer sections {
  .wa-lead {
    position: relative;
    isolation: isolate;
    padding-block: calc(var(--nav-h) + clamp(30px, 5vh, 70px)) clamp(34px, 5vh, 66px);
    background: var(--ink);
    color: #FFFFFF;
    overflow: hidden;
    
    --white: #FFFFFF;
    --ice: #FFFFFF;
    --muted: #B9C7D4;
    --muted-2: #8FA6BA;
    --line: rgba(255, 255, 255, .12);
    --line-2: rgba(255, 255, 255, .24);
    --blue-bright: #3BA0E0;
  }

  
  .wa-lead__fig {
    position: absolute;
    inset-block: 0;
    inset-inline-end: 0;
    width: clamp(240px, 38vw, 620px);
    z-index: -2;
  }
  .wa-lead__fig img { width: 100%; height: 100%; object-fit: cover; display: block; }

  .wa-lead__ground {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--ink);
    
    clip-path: polygon(0 0, 72% 0, 52% 100%, 0 100%);
  }
  
  .wa-lead::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
      linear-gradient(90deg, rgba(14,42,71,.96) 0%, rgba(14,42,71,.86) 46%, rgba(14,42,71,.34) 74%, rgba(14,42,71,.58) 100%),
      linear-gradient(180deg, rgba(14,42,71,.30) 0%, rgba(14,42,71,0) 30%, rgba(14,42,71,.72) 68%, rgba(14,42,71,.94) 100%);
  }

  .wa-lead__inner { position: relative; z-index: 1; }

  
  .wa-lead .wa-top__title { color: #FFFFFF; }
  .wa-lead .wa-top__lead { max-width: 44ch; color: #D6E1EA; }
  .wa-lead .wa-index { margin-top: clamp(26px, 3.4vh, 44px); }
  .wa-lead .wa-index__link { color: #D6E1EA; }
  .wa-lead .wa-index__link span { color: #3BA0E0; }
  .wa-lead .wa-index__link:hover { color: #FFFFFF; }
  .wa-lead .crumb a, .wa-lead .crumb span { color: #8FA6BA; }
  .wa-lead .crumb [aria-current] { color: #FFFFFF; }

  
  .wa-figures--lead {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(14px, 2vw, 34px);
    margin: clamp(34px, 5vh, 64px) 0 0;
    padding-top: clamp(22px, 3vh, 34px);
    border-top: 1px solid rgba(59, 160, 224, .28);
  }
  
  .wa-figures--lead div { display: flex; flex-direction: column; justify-content: flex-end; }

  .wa-figures--lead dt {
    font-size: clamp(1.5rem, 3.4vw, 3.1rem);
    font-weight: 600; letter-spacing: -.035em; line-height: 1.02;
    color: #FFFFFF;
    font-variant-numeric: tabular-nums;
  }
  .wa-figures--lead dd {
    margin: clamp(6px, .9vh, 12px) 0 0;
    font-size: var(--t-label); font-weight: 500; letter-spacing: .14em;
    text-transform: uppercase; color: #3BA0E0;
  }
  
  .wa-figures--lead div:last-child dt { color: #3BA0E0; }
}

@layer rtl {
  
  [dir='rtl'] .wa-lead__ground { clip-path: polygon(100% 0, 28% 0, 48% 100%, 100% 100%); }
  [dir='rtl'] .wa-lead::after {
    background:
      linear-gradient(270deg, rgba(14,42,71,.96) 0%, rgba(14,42,71,.86) 46%, rgba(14,42,71,.34) 74%, rgba(14,42,71,.58) 100%),
      linear-gradient(180deg, rgba(14,42,71,.30) 0%, rgba(14,42,71,0) 30%, rgba(14,42,71,.72) 68%, rgba(14,42,71,.94) 100%);
  }
}

@layer responsive {
  @media (max-width: 1100px) {
    .wa-figures--lead { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: clamp(20px, 3vh, 30px); }
  }
  @media (max-width: 860px) {
    
    .wa-lead__fig { inset-block: 0 auto; inset-inline: 0; width: 100%; height: clamp(180px, 34vh, 280px); }
    .wa-lead__ground { clip-path: polygon(0 26%, 100% 16%, 100% 100%, 0 100%); }
    [dir='rtl'] .wa-lead__ground { clip-path: polygon(0 16%, 100% 26%, 100% 100%, 0 100%); }
    .wa-lead { padding-block: calc(var(--nav-h) + clamp(150px, 30vh, 250px)) clamp(28px, 4vh, 44px); }
    .wa-lead::after,
    [dir='rtl'] .wa-lead::after {
      background: linear-gradient(180deg, rgba(14,42,71,.34) 0%, rgba(14,42,71,.72) 22%, rgba(14,42,71,.97) 34%, var(--ink) 46%);
    }
  }
  @media (max-width: 560px) {
    .wa-figures--lead { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wa-figures--lead div:last-child { grid-column: span 2; }
  }
}


@layer sections {
  .wa-st--pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    border-bottom: 0;
  }
  
  .wa-st--pair .wa-st__item {
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(16px, 2vh, 26px);
    padding-block: clamp(30px, 4.6vh, 62px);
    padding-inline: 0 clamp(24px, 3.4vw, 56px);
    border-bottom: 0;
  }
  .wa-st--pair .wa-st__item + .wa-st__item {
    padding-inline: clamp(24px, 3.4vw, 56px) 0;
    border-inline-start: 1px solid var(--line);
  }
  
  .wa-st--pair .wa-st__side { width: 100%; }
  .wa-st--pair .wa-st__vis { aspect-ratio: 24 / 7; max-height: 190px; }

  
  .wa-mission {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    align-items: stretch;
    margin-top: clamp(26px, 3.6vh, 48px);
    background: #FFFFFF;
    border-top: 1px solid var(--line-2);
  }

  
  .wa-mission__fig {
    position: relative;
    min-height: clamp(260px, 34vw, 480px);
    overflow: hidden;
    clip-path: polygon(0 0, 100% 0, 86% 100%, 0 100%);
  }
  .wa-mission__fig img { width: 100%; height: 100%; object-fit: cover; display: block; }

  .wa-mission__body {
    padding: clamp(28px, 4vh, 54px) 0 clamp(28px, 4vh, 54px) clamp(24px, 3vw, 56px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: clamp(18px, 2.4vh, 30px);
  }
  .wa-mission__k { margin: 0; }

  .wa-mission__list {
    list-style: none;
    margin: 0; padding: 0;
    display: flex;
    flex-direction: column;
    gap: clamp(18px, 2.6vh, 34px);
  }
  .wa-mission__item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: clamp(14px, 1.6vw, 22px);
    align-items: start;
  }
  
  .wa-mission__n {
    display: grid; place-items: center;
    width: clamp(34px, 3.4vw, 44px);
    aspect-ratio: 1;
    background: #0057B8;
    color: #FFFFFF;
    font-size: var(--t-label); font-weight: 600; letter-spacing: .02em;
    font-variant-numeric: tabular-nums;
  }
  .wa-mission__t {
    margin: 0;
    max-width: 62ch;
    font-size: clamp(1.02rem, 1.5vw, 1.28rem);
    line-height: 1.72;
    color: var(--ink-abs);
  }
  
  .wa-mission__t b { font-weight: 600; color: var(--ink-abs); }
}

@layer rtl {
  
  [dir='rtl'] .wa-mission__fig { clip-path: polygon(100% 0, 0 0, 14% 100%, 100% 100%); }
  [dir='rtl'] .wa-mission__body { padding-inline: clamp(24px, 3vw, 56px) 0; }
}

@layer responsive {
  @media (max-width: 1100px) {
    .wa-mission { grid-template-columns: minmax(0, 1fr); }
    .wa-mission__fig {
      min-height: clamp(200px, 32vh, 320px);
      clip-path: polygon(0 0, 100% 0, 100% 86%, 0 100%);
    }
    [dir='rtl'] .wa-mission__fig { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 86%); }
    .wa-mission__body { padding: clamp(24px, 3.4vh, 40px) 0 clamp(24px, 3.4vh, 40px); }
    [dir='rtl'] .wa-mission__body { padding-inline: 0; }
  }
  @media (max-width: 860px) {
    
    .wa-st--pair { grid-template-columns: minmax(0, 1fr); }
    .wa-st--pair .wa-st__item { padding-inline: 0 !important; border-inline-start: 0; }
    .wa-st--pair .wa-st__item + .wa-st__item { border-top: 1px solid var(--line); }
    .wa-st--pair .wa-st__vis { aspect-ratio: 16 / 7; max-height: 180px; }
  }
}


@layer sections {
  .wa-lead {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: center;
  }
  
  .wa-lead__fig {
    position: absolute;
    inset: 0;
    width: auto;
    z-index: -2;
  }
  .wa-lead__ground { display: none; }

  
  .wa-lead::after {
    background:
      linear-gradient(90deg, rgba(14,42,71,.62) 0%, rgba(14,42,71,.34) 42%, rgba(14,42,71,.26) 72%, rgba(14,42,71,.38) 100%),
      linear-gradient(180deg, rgba(14,42,71,.34) 0%, rgba(14,42,71,.10) 38%, rgba(14,42,71,.46) 100%);
  }

  .wa-lead__inner {
    display: grid;
    grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
    align-items: center;
    gap: clamp(24px, 4vw, 72px);
  }

  
  .wa-lead__panel {
    background: rgba(14, 42, 71, .92);
    padding: clamp(26px, 3.4vw, 48px);
    border: 1px solid rgba(59, 160, 224, .16);
  }
  .wa-lead__panel .crumb { margin-bottom: clamp(14px, 2vh, 22px); }
  .wa-lead__panel .wa-top__lead { max-width: 34ch; }

  
  .wa-lead__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(10px, 1.2vw, 18px);
    margin: 0;
  }
  .wa-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: clamp(4px, .7vh, 9px);
    padding: clamp(16px, 1.8vw, 26px);
    
    background: rgba(14, 42, 71, .82);
    border: 1px solid rgba(59, 160, 224, .22);
  }
  .wa-card--wide { grid-column: 1 / -1; }

  .wa-lead__cards dt {
    margin: 0;
    font-size: clamp(1.6rem, 2.9vw, 2.7rem);
    font-weight: 600; letter-spacing: -.035em; line-height: 1.02;
    color: #FFFFFF;
    font-variant-numeric: tabular-nums;
  }
  .wa-lead__cards dd {
    margin: 0;
    font-size: var(--t-label); font-weight: 500; letter-spacing: .14em;
    text-transform: uppercase; color: #3BA0E0;
  }
  .wa-card--wide dt { font-size: clamp(1.9rem, 3.4vw, 3.2rem); color: #3BA0E0; }
}

@layer responsive {
  @media (max-width: 1100px) {
    .wa-lead__inner { grid-template-columns: minmax(0, 1fr); gap: clamp(20px, 3vh, 34px); }
  }
  @media (max-width: 860px) {
    
    .wa-lead__fig { inset: 0 0 auto 0; height: clamp(170px, 30vh, 260px); }
    .wa-lead { padding-block: calc(var(--nav-h) + clamp(140px, 28vh, 230px)) clamp(26px, 4vh, 40px); }
    .wa-lead::after,
    [dir='rtl'] .wa-lead::after {
      background: linear-gradient(180deg, rgba(14,42,71,.40) 0%, rgba(14,42,71,.74) 20%, rgba(14,42,71,.97) 32%, var(--ink) 44%);
    }
    .wa-lead__panel { background: none; border: 0; padding: 0; }
    .wa-card { background: rgba(255, 255, 255, .06); }
  }
  @media (max-width: 420px) {
    .wa-lead__cards { grid-template-columns: minmax(0, 1fr); }
    .wa-card--wide { grid-column: auto; }
  }
}


@layer sections {
  .wa-flow {
    position: relative;
    list-style: none;
    margin: clamp(30px, 4vh, 56px) 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-template-rows: auto var(--band) auto;
    gap: var(--rowgap);
    --band: clamp(112px, 11vw, 150px);
    --rowgap: clamp(12px, 1.6vw, 26px);
  }
  
  
  .wa-flow__line {
    position: relative;
    grid-row: 2;
    grid-column: 1 / -1;
    align-self: center;
    width: 100%;
    border-top: 2px dotted rgba(14, 42, 71, .22);
  }

  
  .wa-flow__step {
    grid-row: 1 / -1;
    display: grid;
    grid-template-rows: subgrid;
    justify-items: center;
    text-align: center;
    transition: transform var(--d-base) var(--e-out);
  }
  
  .wa-flow > li:nth-of-type(1) { grid-column: 1; }
  .wa-flow > li:nth-of-type(2) { grid-column: 2; }
  .wa-flow > li:nth-of-type(3) { grid-column: 3; }
  .wa-flow > li:nth-of-type(4) { grid-column: 4; }
  .wa-flow > li:nth-of-type(5) { grid-column: 5; }

  .wa-flow__step--up .wa-flow__b { grid-row: 1; align-self: end; }
  .wa-flow__step--up .wa-flow__dot { grid-row: 2; align-self: start; }
  .wa-flow__step--down .wa-flow__dot { grid-row: 2; align-self: end; }
  .wa-flow__step--down .wa-flow__b { grid-row: 3; }

  @supports not (grid-template-rows: subgrid) {
    .wa-flow__step { grid-row: auto; grid-template-rows: var(--band) auto; }
    .wa-flow__step--up .wa-flow__b,
    .wa-flow__step--down .wa-flow__b { grid-row: auto; }
    .wa-flow__step--up .wa-flow__dot { grid-row: auto; align-self: start; }
    .wa-flow__step--down .wa-flow__dot { grid-row: auto; align-self: end; }
  }

  .wa-flow__dot {
    position: relative;
    z-index: 1;
    display: grid; place-items: center;
    width: clamp(54px, 5.4vw, 78px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: #0057B8;
    color: #FFFFFF;
    transition: transform var(--d-base) var(--e-out), box-shadow var(--d-base) var(--e-out);
  }
  .wa-flow__dot b {
    font-size: var(--t-label); font-weight: 600; letter-spacing: .06em;
    font-variant-numeric: tabular-nums;
  }
  
  .wa-flow__step--down .wa-flow__dot { background: #0057B8; color: #FFFFFF; }
  .wa-flow__step--up .wa-flow__dot { background: #3BA0E0; color: #0E2A47; }

  
  .wa-flow__dot::after {
    content: '';
    position: absolute;
    inset-inline-start: 50%;
    width: 0;
    height: var(--rowgap);
    border-inline-start: 2px dotted rgba(14, 42, 71, .22);
    z-index: -1;
  }
  .wa-flow__step--up .wa-flow__dot::after { inset-block-end: 100%; }
  .wa-flow__step--down .wa-flow__dot::after { inset-block-start: 100%; }

  .wa-flow__b { display: block; max-width: 30ch; }
  .wa-flow__step--down .wa-flow__b { padding-top: clamp(12px, 1.6vh, 20px); }
  .wa-flow__step--up .wa-flow__b { padding-bottom: clamp(12px, 1.6vh, 20px); }
  .wa-flow__name {
    display: block;
    font-size: clamp(.98rem, 1.2vw, 1.12rem);
    font-weight: 600; letter-spacing: -.012em; line-height: 1.25;
    color: var(--ink-abs);
  }
  .wa-flow__desc {
    display: block;
    margin-top: clamp(7px, .9vh, 11px);
    font-size: var(--t-meta);
    line-height: 1.7;
    color: var(--muted-2);
    transition: color var(--d-base) var(--e-out);
  }
}

@layer motion {
  @media (prefers-reduced-motion: no-preference) {
    .wa-flow__step:hover,
    .wa-flow__step:focus-within { transform: translate3d(0, -4px, 0); }
    .wa-flow__step:hover .wa-flow__dot,
    .wa-flow__step:focus-within .wa-flow__dot {
      transform: scale(1.06);
      box-shadow: 0 10px 26px rgba(14, 42, 71, .18);
    }
  }
  
  .wa-flow__step:hover .wa-flow__desc,
  .wa-flow__step:focus-within .wa-flow__desc { color: var(--ink-abs); }

  @media (prefers-reduced-motion: reduce) {
    .wa-flow__step, .wa-flow__dot { transform: none !important; }
  }
}

@layer responsive {
  @media (max-width: 1100px) {
    
    .wa-flow {
      grid-template-columns: minmax(0, 1fr);
      grid-template-rows: none;
      gap: clamp(20px, 3vh, 32px);
    }
    .wa-flow > li { grid-column: 1; grid-row: auto; }
    .wa-flow__step {
      grid-template-rows: auto;
      grid-template-columns: auto minmax(0, 1fr);
      gap: clamp(14px, 3vw, 22px);
      justify-items: start;
      text-align: start;
      align-items: start;
    }
    .wa-flow__step--up .wa-flow__dot,
    .wa-flow__step--down .wa-flow__dot {
      grid-row: auto; grid-column: 1;
      align-self: start;
      width: clamp(44px, 9vw, 58px);
    }
    .wa-flow__step--up .wa-flow__b,
    .wa-flow__step--down .wa-flow__b {
      grid-row: auto; grid-column: 2;
      align-self: start;
      padding: 0;
      max-width: 60ch;
    }
    .wa-flow__dot::after { display: none; }
    
    .wa-flow__line {
      position: absolute;
      grid-row: auto;
      inset-inline-start: calc(clamp(44px, 9vw, 58px) / 2);
      inset-block: 8px;
      width: 0;
      border-top: 0;
      border-inline-start: 2px dotted rgba(14, 42, 71, .22);
    }
  }
}


@layer sections {
  .wa-vision {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    align-items: stretch;
    margin-top: clamp(26px, 3.6vh, 48px);
    background: #FFFFFF;
    border-top: 1px solid var(--line-2);
  }
  .wa-vision__body {
    padding: clamp(28px, 4vh, 54px) clamp(24px, 3vw, 56px) clamp(28px, 4vh, 54px) 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: clamp(18px, 2.4vh, 30px);
  }
  .wa-vision__k { margin: 0; padding-top: 0; }

  .wa-vision__item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: clamp(14px, 1.6vw, 22px);
    align-items: start;
  }
  .wa-vision__n {
    display: grid; place-items: center;
    width: clamp(34px, 3.4vw, 44px);
    aspect-ratio: 1;
    background: #0057B8;
    color: #FFFFFF;
    font-size: var(--t-label); font-weight: 600; letter-spacing: .02em;
    font-variant-numeric: tabular-nums;
  }
  .wa-vision__t {
    margin: 0;
    max-width: 62ch;
    font-size: clamp(1.02rem, 1.5vw, 1.28rem);
    line-height: 1.72;
    color: var(--ink-abs);
  }

  
  .wa-vision__fig {
    position: relative;
    min-height: clamp(260px, 30vw, 430px);
    overflow: hidden;
    clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%);
  }
  .wa-vision__fig img { width: 100%; height: 100%; object-fit: cover; display: block; }
}

@layer rtl {
  [dir='rtl'] .wa-vision__fig { clip-path: polygon(86% 0, 0 0, 0 100%, 100% 100%); }
  [dir='rtl'] .wa-vision__body { padding-inline: 0 clamp(24px, 3vw, 56px); }
}

@layer motion {
  @media (prefers-reduced-motion: no-preference) {
    @supports (animation-timeline: view()) {
      
      @keyframes fig-in-end   { from { opacity: 0; transform: translate3d(9%, 0, 0); } }
      @keyframes fig-in-start { from { opacity: 0; transform: translate3d(-9%, 0, 0); } }

      .wa-vision__fig img,
      .wa-mission__fig img {
        animation-timeline: view(block);
        animation-range: entry 8% cover 34%;
        animation-fill-mode: both;
        animation-timing-function: var(--e-out);
      }
      
      .wa-vision__fig img  { animation-name: fig-in-end; }
      .wa-mission__fig img { animation-name: fig-in-start; }
      [dir='rtl'] .wa-vision__fig img  { animation-name: fig-in-start; }
      [dir='rtl'] .wa-mission__fig img { animation-name: fig-in-end; }
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .wa-vision__fig img,
    .wa-mission__fig img { animation: none !important; transform: none !important; opacity: 1 !important; }
  }
}

@layer responsive {
  @media (max-width: 1100px) {
    .wa-vision { grid-template-columns: minmax(0, 1fr); }
    
    .wa-vision__body { order: 2; padding: clamp(24px, 3.4vh, 40px) 0; }
    [dir='rtl'] .wa-vision__body { padding-inline: 0; }
    .wa-vision__fig {
      order: 1;
      min-height: clamp(200px, 30vh, 300px);
      clip-path: polygon(0 0, 100% 0, 100% 86%, 0 100%);
    }
    [dir='rtl'] .wa-vision__fig { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 86%); }
    
    @media (prefers-reduced-motion: no-preference) {
      @supports (animation-timeline: view()) {
        @keyframes fig-in-up { from { opacity: 0; transform: translate3d(0, 7%, 0); } }
        .wa-vision__fig img, .wa-mission__fig img,
        [dir='rtl'] .wa-vision__fig img, [dir='rtl'] .wa-mission__fig img { animation-name: fig-in-up; }
      }
    }
  }
}


@layer sections {
  .pj-top.section--ink,
  .cl-head.section--ink,
  .ct-head.section--ink,
  .pr-hero--noimg.section--ink {
    background: var(--ink);
    color: var(--muted);
    --white:       #FFFFFF;
    --ice:         #FFFFFF;
    --muted:       #9DB2C4;
    --muted-2:     #8A9DB1;
    --line:        rgba(255, 255, 255, .10);
    --line-2:      rgba(255, 255, 255, .20);
    --surface:     #173E66;
    --surface-2:   #1D4A78;
    --blue-bright: #3BA0E0;
  }
  
  .pj-top.section--ink .pj-top__title,
  .cl-head.section--ink .cl-head__title,
  .ct-head.section--ink .ct-head__title,
  .pr-hero--noimg.section--ink .pr-hero__title { color: #FFFFFF; }

  
  main > .section--light + .section--light,
  main > .section--light + .section--light-2,
  main > .section--light-2 + .section--light,
  main > .section--light-2 + .section--light-2,
  main > .cx-paper + .cx-stone,
  main > .cx-stone + .cx-paper,
  main > .cx-paper + .cx-paper,
  main > .co-paper + .co-stone,
  main > .section--light + .cta--paper,
  main > .section--light-2 + .cta--paper { border-top: 1px solid rgba(14, 42, 71, .13); }

  
  .hm-marks { border-top: 1px solid rgba(14, 42, 71, .13); }
}


@layer sections {
  
  .wa-do.section--ink .wa-do__h { color: #FFFFFF; }

  .wa-do.section--ink .wa-div__item {
    --white: var(--ink-abs);
    --ice: #0A2240;
    --muted: #171A1F;
    --muted-2: #5C6470;
    --line: rgba(14, 42, 71, .13);
    --line-2: rgba(14, 42, 71, .26);
    --blue-bright: #0057B8;
    color: var(--muted);
  }

  .cl-head.section--ink .cl-head__lead,
  .ct-head.section--ink .ct-head__lead { color: #D6E1EA; }
  .cl-head.section--ink .pj-totals dt { color: #3BA0E0; }
  .cl-head.section--ink .pj-totals dd { color: #9DB2C4; }
  .cl-head.section--ink .pj-totals { border-top-color: rgba(255, 255, 255, .24); }

  
  .pr-hero--noimg.section--ink .pr-hero__meta,
  .pr-hero--noimg.section--ink .pr-hero__meta > span:not(.pr-hero__n):not(.pr-hero__rule) { color: #9DB2C4; }
  .pr-hero--noimg.section--ink .pr-hero__n { color: #3BA0E0; }
}


@layer sections {
  .hm-cert__doc { border: 1px solid rgba(14, 42, 71, .13); }
}


@layer components {
  .field input,
  .field select,
  .field textarea {
    padding: clamp(11px, 1.1vw, 14px) clamp(12px, 1.2vw, 16px);
    background: #F9F9F8;
    
    border: 1px solid rgba(14, 42, 71, .50);
    border-radius: 2px;
    transition:
      border-color var(--d-fast) var(--e-out),
      background-color var(--d-fast) var(--e-out),
      box-shadow var(--d-fast) var(--e-out);
  }
  .field select { padding-inline-end: clamp(28px, 2.6vw, 38px); }

  .field input:hover,
  .field select:hover,
  .field textarea:hover { border-color: rgba(14, 42, 71, .62); }

  
  .field input:focus,
  .field select:focus,
  .field textarea:focus {
    background: #FFFFFF;
    border-color: #0057B8;
    box-shadow: 0 0 0 3px rgba(0, 87, 184, .14);
    outline: none;
  }

  
  .section--ink .field input,
  .section--ink .field select,
  .section--ink .field textarea,
  .drawer .field input {
    background: rgba(255, 255, 255, .05);
    border-color: rgba(255, 255, 255, .38);
  }
  .section--ink .field input:focus,
  .section--ink .field select:focus,
  .section--ink .field textarea:focus {
    background: rgba(255, 255, 255, .09);
    border-color: #3BA0E0;
    box-shadow: 0 0 0 3px rgba(59, 160, 224, .18);
  }
}


@layer sections {
  .co-index__orbit {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(240px, 24vw, 340px) minmax(0, 1fr);
    grid-template-rows: repeat(3, auto);
    align-items: center;
    gap: clamp(14px, 1.8vh, 26px) clamp(24px, 3.6vw, 70px);
    margin-top: clamp(30px, 4vh, 56px);
  }

  
  .co-index__ring {
    position: absolute;
    inset-inline-start: 50%;
    inset-block-start: 50%;
    width: clamp(340px, 34vw, 500px);
    aspect-ratio: 1;
    translate: -50% -50%;
    border: 2px dotted rgba(14, 42, 71, .16);
    border-radius: 50%;
    pointer-events: none;
  }

  
  .co-index__core {
    grid-column: 2;
    grid-row: 1 / -1;
    justify-self: center;
    align-self: center;
    display: grid;
    place-items: center;
    text-align: center;
    width: clamp(240px, 24vw, 340px);
    aspect-ratio: 1;
    border-radius: 50%;
    padding: clamp(20px, 2.4vw, 34px);
    background: #0057B8;
    box-shadow: 0 0 0 clamp(8px, 1vw, 14px) rgba(0, 87, 184, .10);
  }
  .co-index__core .co-index__head {
    margin: 0;
    color: #FFFFFF;
    font-size: clamp(1.2rem, 1.9vw, 1.75rem);
    line-height: 1.16;
    letter-spacing: -.028em;
  }

  
  .co-index__orbit > .co-disc {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: clamp(12px, 1.2vw, 18px);
    padding: clamp(14px, 1.5vw, 20px) clamp(18px, 1.8vw, 26px);
    border: 0;
    border-radius: 999px;
    background: #0E2A47;
    color: #FFFFFF;
  }
  
  .co-index__orbit > .co-disc { background: #0E2A47; }
  .co-index__orbit > .co-disc:is(:nth-child(3), :nth-child(5), :nth-child(6), :nth-child(8)) { background: #0057B8; }

  
  .co-index__orbit > .co-disc:nth-child(3) { grid-column: 1; grid-row: 1; margin-inline-end: clamp(10px, 2.4vw, 46px); }
  .co-index__orbit > .co-disc:nth-child(4) { grid-column: 1; grid-row: 2; }
  .co-index__orbit > .co-disc:nth-child(5) { grid-column: 1; grid-row: 3; margin-inline-end: clamp(10px, 2.4vw, 46px); }
  .co-index__orbit > .co-disc:nth-child(6) { grid-column: 3; grid-row: 1; margin-inline-start: clamp(10px, 2.4vw, 46px); }
  .co-index__orbit > .co-disc:nth-child(7) { grid-column: 3; grid-row: 2; }
  .co-index__orbit > .co-disc:nth-child(8) { grid-column: 3; grid-row: 3; margin-inline-start: clamp(10px, 2.4vw, 46px); }

  
  .co-index__orbit > .co-disc .co-disc__n {
    grid-column: 1;
    display: grid;
    place-items: center;
    width: clamp(42px, 4vw, 56px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: #FFFFFF;
    color: #0E2A47;
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .04em;
    font-variant-numeric: tabular-nums;
  }
  .co-index__orbit > .co-disc:is(:nth-child(3), :nth-child(5), :nth-child(6), :nth-child(8)) .co-disc__n { color: #0057B8; }
  
  .co-index__orbit > .co-disc:nth-child(-n+5) { direction: rtl; }
  .co-index__orbit > .co-disc:nth-child(-n+5) > * { direction: ltr; }
  [dir='rtl'] .co-index__orbit > .co-disc:nth-child(-n+5) { direction: ltr; }
  [dir='rtl'] .co-index__orbit > .co-disc:nth-child(-n+5) > * { direction: rtl; }

  .co-index__orbit > .co-disc .co-disc__body { grid-column: 2; display: block; text-align: start; }
  .co-index__orbit > .co-disc .co-disc__t {
    display: block;
    color: #FFFFFF;
    font-size: clamp(.98rem, 1.15vw, 1.1rem);
    font-weight: 600;
    letter-spacing: -.012em;
    line-height: 1.25;
  }
  .co-index__orbit > .co-disc .co-disc__d {
    display: block;
    margin-top: 5px;
    color: rgba(255, 255, 255, .80);
    font-size: var(--t-meta);
    line-height: 1.55;
  }
  
  .co-index__orbit > .co-disc .co-disc__more {
    display: block;
    margin-top: 7px;
    
    color: rgba(255, 255, 255, .86);
    font-size: calc(var(--t-meta) * .94);
    line-height: 1.5;
  }
  
  .co-index__orbit > .co-disc::before {
    content: '';
    position: absolute;
    inset-block-start: 50%;
    width: 11px;
    height: 11px;
    translate: 0 -50%;
    border: 2px solid #3BA0E0;
    border-radius: 50%;
    background: #FFFFFF;
    
    transform: none;
  }
  
  .co-index__orbit > .co-disc:nth-child(-n+5)::before { right: 0; left: auto; }
  .co-index__orbit > .co-disc:nth-child(n+6)::before { left: 0; right: auto; }
  [dir='rtl'] .co-index__orbit > .co-disc:nth-child(-n+5)::before { left: 0; right: auto; }
  [dir='rtl'] .co-index__orbit > .co-disc:nth-child(n+6)::before { right: 0; left: auto; }
  .co-index__list > :last-child { border-bottom: 0; }
}

@layer responsive {
  @media (max-width: 1100px) {
    
    .co-index__orbit { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; gap: clamp(12px, 2vh, 18px); }
    .co-index__ring { display: none; }
    .co-index__core {
      grid-column: 1; grid-row: auto;
      width: 100%; aspect-ratio: auto;
      border-radius: clamp(16px, 3vw, 28px);
      padding: clamp(24px, 4vw, 40px);
      margin-bottom: clamp(8px, 1.4vh, 16px);
    }
    .co-index__orbit > .co-disc {
      grid-column: 1 !important;
      grid-row: auto !important;
      margin-inline: 0 !important;
      border-radius: clamp(14px, 3vw, 22px);
      direction: inherit !important;
    }
    .co-index__orbit > .co-disc > * { direction: inherit !important; }
    .co-index__orbit > .co-disc::before { display: none; }
  }
}


@layer components {
  .ph {
    position: relative;
    border: 1px dashed rgba(14, 42, 71, .38);
    border-radius: 3px;
    background: rgba(0, 87, 184, .035);
    padding: clamp(18px, 2.2vw, 28px);
  }
  .ph__tag {
    
    display: block;
    margin: 0 0 clamp(12px, 1.4vh, 18px);
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    
    color: #0057B8;
  }
  
  .ph :is(p, span):not(.ph__tag) { color: var(--ink-abs); }
}


@layer sections {
  .wa-hist__h {
    margin: clamp(14px, 1.8vh, 22px) 0 0;
    font-size: clamp(1.9rem, 4vw, 3.2rem);
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -.03em;
    color: var(--ink-abs);
  }
  .wa-hist__grid {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
    gap: clamp(20px, 2.6vw, 44px);
    margin-top: clamp(28px, 3.6vh, 52px);
    align-items: start;
  }
  .wa-hist__year {
    margin: 0;
    font-size: clamp(2.4rem, 5vw, 4rem);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.04em;
    font-variant-numeric: tabular-nums;
  }
  .wa-hist__found-l {
    margin: clamp(8px, 1vh, 12px) 0 0;
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted-2) !important;
  }
  .wa-hist__found-p,
  .wa-hist__mark-p {
    margin: clamp(12px, 1.5vh, 18px) 0 0;
    font-size: var(--t-meta);
    line-height: 1.7;
  }
  .wa-hist__marks { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(14px, 1.8vh, 22px); }
  .wa-hist__mark-y {
    margin: 0;
    font-size: clamp(1.1rem, 1.6vw, 1.4rem);
    font-weight: 600;
    letter-spacing: -.02em;
    font-variant-numeric: tabular-nums;
  }
  .wa-hist__mark-t {
    margin: clamp(4px, .6vh, 8px) 0 0;
    font-size: clamp(1rem, 1.3vw, 1.2rem);
    font-weight: 600;
    letter-spacing: -.015em;
  }
}

@layer responsive {
  @media (max-width: 860px) {
    .wa-hist__grid { grid-template-columns: minmax(0, 1fr); }
  }
}


@layer sections {
  .wa-ld__head {
    display: grid;
    grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
    gap: clamp(20px, 3vw, 56px);
    align-items: end;
    margin-top: clamp(14px, 1.8vh, 22px);
  }
  .wa-ld__h {
    margin: 0;
    font-size: clamp(1.9rem, 4vw, 3.2rem);
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -.03em;
    color: var(--ink-abs);
  }
  .wa-ld__note {
    margin: 0;
    font-size: var(--t-meta);
    line-height: 1.7;
  }
  .wa-ld__note .ph__tag { display: block; }

  .wa-ld__grid {
    list-style: none;
    margin: clamp(28px, 3.6vh, 52px) 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 28px);
  }
  .wa-ld__card { display: flex; flex-direction: column; }
  
  .wa-ld__mark {
    display: grid;
    place-items: center;
    width: clamp(64px, 6.5vw, 88px);
    aspect-ratio: 1;
    margin-bottom: clamp(16px, 2vh, 24px);
    border-radius: 50%;
    background: #0057B8;
    color: #FFFFFF;
    font-size: clamp(1rem, 1.3vw, 1.2rem);
    font-weight: 600;
    letter-spacing: .06em;
    font-variant-numeric: tabular-nums;
  }
  .wa-ld__card:nth-child(even) .wa-ld__mark { background: #0E2A47; }

  .wa-ld__role {
    margin: 0;
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted-2) !important;
  }
  .wa-ld__name {
    margin: clamp(8px, 1vh, 12px) 0 0;
    font-size: clamp(1.05rem, 1.4vw, 1.3rem);
    font-weight: 600;
    letter-spacing: -.02em;
    line-height: 1.2;
  }
  .wa-ld__title {
    margin: clamp(5px, .7vh, 8px) 0 0;
    font-size: var(--t-meta);
    font-weight: 600;
  }
  .wa-ld__bio {
    margin: clamp(12px, 1.5vh, 18px) 0 0;
    font-size: var(--t-meta);
    line-height: 1.7;
  }
}

@layer responsive {
  @media (max-width: 1000px) {
    .wa-ld__head { grid-template-columns: minmax(0, 1fr); align-items: start; gap: clamp(16px, 2.4vh, 24px); }
    .wa-ld__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 640px) {
    .wa-ld__grid { grid-template-columns: minmax(0, 1fr); }
  }
}


@layer sections {
  
  
  .ld-open {
    background: var(--ink-abs);
    padding-block: clamp(96px, 13vh, 172px) clamp(56px, 7vh, 92px);
  }
  .ld-open__h {
    margin: clamp(14px, 1.8vh, 22px) 0 0;
    font-size: clamp(2.2rem, 5.6vw, 4.4rem);
    font-weight: 600;
    line-height: 1.02;
    letter-spacing: -.035em;
    color: #FFFFFF;
  }
  .ld-open__p {
    margin: clamp(18px, 2.2vh, 28px) 0 0;
    max-width: 46ch;
    font-size: clamp(1rem, 1.25vw, 1.15rem);
    line-height: 1.7;
    
    color: rgba(255, 255, 255, .78);
  }

  
  .ld-lead { padding-block: clamp(30px, 4vh, 56px) clamp(56px, 7vh, 96px); }
  
  .ld-card {
    display: grid;
    grid-template-columns: clamp(200px, 24vw, 300px) minmax(0, 1fr);
    gap: clamp(24px, 4vw, 64px);
    align-items: start;
  }

  .ld-card__fig {
    position: relative;
    margin: 0;
    
    aspect-ratio: 1;
    background: var(--surface);
  }
  .ld-card__fig :is(img, picture) {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  
  .ld-card__fig picture { display: contents; }
  
  .ld-card__ticks {
    position: absolute;
    inset: calc(-1 * clamp(8px, .9vw, 13px));
    pointer-events: none;
    --t: clamp(16px, 1.8vw, 26px);
    --c: rgba(14, 42, 71, .55);
    background:
      linear-gradient(var(--c), var(--c)) 0 0 / var(--t) 1px no-repeat,
      linear-gradient(var(--c), var(--c)) 0 0 / 1px var(--t) no-repeat,
      linear-gradient(var(--c), var(--c)) 100% 0 / var(--t) 1px no-repeat,
      linear-gradient(var(--c), var(--c)) 100% 0 / 1px var(--t) no-repeat,
      linear-gradient(var(--c), var(--c)) 0 100% / var(--t) 1px no-repeat,
      linear-gradient(var(--c), var(--c)) 0 100% / 1px var(--t) no-repeat,
      linear-gradient(var(--c), var(--c)) 100% 100% / var(--t) 1px no-repeat,
      linear-gradient(var(--c), var(--c)) 100% 100% / 1px var(--t) no-repeat;
  }

  .ld-card__b { padding-top: clamp(4px, 1vh, 10px); max-width: 46rem; }
  
  .ld-card__role {
    position: relative;
    margin: 0 0 clamp(14px, 1.8vh, 22px);
    padding-bottom: clamp(12px, 1.5vh, 18px);
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #0057B8;
    border-bottom: 1px solid rgba(14, 42, 71, .30);
  }
  .ld-card__role::before,
  .ld-card__role::after {
    content: '';
    position: absolute;
    inset-block-end: 0;
    width: 1px;
    height: 7px;
    background: rgba(14, 42, 71, .30);
  }
  .ld-card__role::before { inset-inline-start: 0; }
  .ld-card__role::after { inset-inline-end: 0; }

  .ld-card__name {
    margin: 0;
    font-size: clamp(1.6rem, 3.4vw, 2.7rem);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -.03em;
    color: var(--ink-abs);
  }
  .ld-card__bio {
    margin: clamp(20px, 2.6vh, 32px) 0 0;
    max-width: 52ch;
    font-size: var(--t-meta);
    line-height: 1.75;
  }

  
  .ld-stamp {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, max-content));
    width: max-content;
    max-width: 100%;
    margin: clamp(24px, 3vh, 38px) 0 0;
    border: 1px solid rgba(14, 42, 71, .30);
  }
  .ld-stamp__f {
    padding: clamp(10px, 1.3vh, 15px) clamp(16px, 2vw, 28px);
    border-inline-start: 1px solid rgba(14, 42, 71, .30);
  }
  .ld-stamp__f:first-child { border-inline-start: 0; }
  .ld-stamp dt {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted-2);
  }
  .ld-stamp dd {
    margin: 5px 0 0;
    font-size: var(--t-meta);
    font-weight: 600;
    color: var(--ink-abs);
  }

  
  .ld-rest { padding-block: clamp(46px, 6vh, 78px) clamp(70px, 9vh, 118px); }
  
  .ld-rest__head { max-width: 62ch; }
  .ld-rest__h {
    margin: 0;
    font-size: clamp(1.5rem, 3vw, 2.3rem);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -.028em;
    color: var(--ink-abs);
  }
  .ld-rest__note {
    margin: clamp(16px, 2vh, 24px) 0 0;
    font-size: var(--t-meta);
    line-height: 1.7;
  }
  .ld-rest__note .ph__tag { display: block; }

  .ld-rest__grid {
    list-style: none;
    margin: clamp(26px, 3.4vh, 44px) 0 0;
    padding: 0;
    display: grid;
    
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 28px);
    max-width: 62rem;
  }
  .ld-pend { display: flex; flex-direction: column; }
  .ld-pend__mark {
    display: grid;
    place-items: center;
    width: clamp(56px, 5.5vw, 76px);
    aspect-ratio: 1;
    margin-bottom: clamp(14px, 1.8vh, 22px);
    border-radius: 50%;
    background: #0057B8;
    color: #FFFFFF;
    font-size: var(--t-meta);
    font-weight: 600;
    letter-spacing: .06em;
    font-variant-numeric: tabular-nums;
    transform: none;
  }
  .ld-pend:nth-child(even) .ld-pend__mark { background: #0E2A47; }
  .ld-pend__role {
    margin: 0;
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted-2) !important;
  }
  .ld-pend__name {
    margin: clamp(8px, 1vh, 12px) 0 0;
    font-size: clamp(1rem, 1.3vw, 1.2rem);
    font-weight: 600;
    letter-spacing: -.02em;
    line-height: 1.2;
  }
  .ld-pend__title { margin: clamp(5px, .7vh, 8px) 0 0; font-size: var(--t-meta); font-weight: 600; }
  .ld-pend__bio { margin: clamp(12px, 1.5vh, 18px) 0 0; font-size: var(--t-meta); line-height: 1.7; }
}

@layer responsive {
  @media (max-width: 1000px) {
    .ld-card { grid-template-columns: minmax(0, 1fr); gap: clamp(22px, 3.4vh, 34px); }
    .ld-card__fig { max-width: 420px; }
    .ld-rest__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 640px) {
    .ld-rest__grid { grid-template-columns: minmax(0, 1fr); }
    .ld-stamp { grid-template-columns: minmax(0, 1fr); }
    .ld-stamp__f { border-inline-start: 0; border-top: 1px solid rgba(14, 42, 71, .30); }
    .ld-stamp__f:first-child { border-top: 0; }
  }
}


@layer sections {
  
  .hs-open {
    background: var(--ink-abs);
    padding-block: clamp(96px, 13vh, 172px) clamp(56px, 7vh, 92px);
  }
  .hs-open__h {
    margin: clamp(14px, 1.8vh, 22px) 0 0;
    font-size: clamp(2.2rem, 5.6vw, 4.4rem);
    font-weight: 600;
    line-height: 1.02;
    letter-spacing: -.035em;
    color: #FFFFFF;
  }
  .hs-open__p {
    margin: clamp(18px, 2.2vh, 28px) 0 0;
    max-width: 52ch;
    font-size: clamp(1rem, 1.25vw, 1.15rem);
    line-height: 1.7;
    color: rgba(255, 255, 255, .78);
  }

  
  .hs-run { padding-block: clamp(56px, 7vh, 96px) clamp(70px, 9vh, 118px); }
  
  .hs-lvl__fig.ph { background: rgba(0, 87, 184, .05); }

  .hs-line {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: clamp(28px, 4vh, 56px);
    
    --gutter: clamp(64px, 7vw, 108px);
  }
  .hs-line__rule {
    position: absolute;
    inset-block: clamp(14px, 2vh, 24px) 0;
    inset-inline-start: calc(var(--gutter) / 2);
    width: 1px;
    background: rgba(14, 42, 71, .28);
    transform-origin: top;
  }

  .hs-lvl {
    position: relative;
    display: grid;
    grid-template-columns: var(--gutter) minmax(0, 7fr) minmax(0, 5fr);
    grid-template-rows: auto 1fr;
    column-gap: clamp(16px, 2.4vw, 40px);
    row-gap: 0;
    align-items: start;
  }

  
  .hs-lvl__mark {
    grid-column: 1;
    position: relative;
    justify-self: center;
    margin-top: clamp(10px, 1.4vh, 16px);
    width: 0;
    height: 0;
    border-inline: 8px solid transparent;
    border-block-start: 12px solid #0057B8;
  }
  .hs-lvl__mark::after {
    content: '';
    position: absolute;
    inset-block-start: -15px;
    inset-inline-start: -13px;
    width: 26px;
    height: 1px;
    background: #0057B8;
  }
  .hs-lvl--datum .hs-lvl__mark { border-block-start-color: var(--ink-abs); }
  .hs-lvl--datum .hs-lvl__mark::after { background: var(--ink-abs); height: 2px; }

  .hs-lvl__level {
    grid-column: 1;
    margin: clamp(10px, 1.2vh, 14px) 0 0;
    text-align: center;
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .06em;
    font-variant-numeric: tabular-nums;
    color: var(--muted-2);
  }

  .hs-lvl__b { grid-column: 2; grid-row: 1 / span 2; }
  .hs-lvl__y {
    margin: 0;
    font-size: clamp(1.8rem, 3.6vw, 2.9rem);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.035em;
    font-variant-numeric: tabular-nums;
  }
  .hs-lvl--datum .hs-lvl__y { font-size: clamp(2.2rem, 4.6vw, 3.6rem); }
  .hs-lvl__t {
    margin: clamp(10px, 1.3vh, 16px) 0 0;
    font-size: clamp(1.05rem, 1.5vw, 1.35rem);
    font-weight: 600;
    letter-spacing: -.02em;
    line-height: 1.25;
  }
  .hs-lvl__p {
    margin: clamp(12px, 1.5vh, 18px) 0 0;
    max-width: 54ch;
    font-size: var(--t-meta);
    line-height: 1.75;
  }

  
  .hs-lvl__fig {
    grid-column: 3;
    grid-row: 1 / span 2;
    align-self: start;
    margin: 0;
    aspect-ratio: 3 / 2;
    display: grid;
    place-content: center;
    text-align: center;
  }
  .hs-lvl__fig .ph__tag { margin: 0; }

  
  .hs-lvl--datum::after {
    content: '';
    position: absolute;
    inset-block-end: calc(-1 * clamp(14px, 2vh, 28px));
    inset-inline: 0;
    height: 0;
    border-top: 1px solid rgba(14, 42, 71, .30);
    border-bottom: 1px solid rgba(14, 42, 71, .30);
    padding-block-start: 3px;
  }

  .hs-run__note {
    margin: clamp(34px, 4.5vh, 60px) 0 0;
    max-width: 62ch;
    font-size: var(--t-meta);
    line-height: 1.7;
  }
}

@layer motion {
  
  @media (prefers-reduced-motion: no-preference) {
    @supports (animation-timeline: view()) {
      .hs-line__rule {
        scale: 1 0;
        animation: hs-draw linear both;
        animation-timeline: view(block);
        animation-range: entry 10% cover 60%;
      }
      @keyframes hs-draw { to { scale: 1 1; } }
    }
  }
}

@layer responsive {
  @media (max-width: 1000px) {
    .hs-lvl { grid-template-columns: var(--gutter) minmax(0, 1fr); }
    
    .hs-lvl__fig {
      grid-column: 2;
      grid-row: 3;
      margin-top: clamp(16px, 2vh, 24px);
      max-width: 34rem;
    }
  }
  @media (max-width: 560px) {
    .hs-line { --gutter: 46px; }
    .hs-lvl { gap: clamp(12px, 3vw, 18px); }
    .hs-lvl__level { font-size: calc(var(--t-label) * .92); }
  }
}


@layer sections {
  .pj-sectors {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: var(--ink-abs);
    padding-block: clamp(64px, 9vh, 124px);
  }
  .pj-sectors__bg,
  .pj-sectors__bg img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2;
  }
  
  .pj-sectors::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(14, 42, 71, .90) 0%, rgba(14, 42, 71, .96) 100%);
  }

  
  .pj-sectors__m { display: none; }

  .pj-sectors__inner { position: relative; }
  .pj-sectors__h {
    margin: clamp(14px, 1.8vh, 22px) 0 0;
    font-size: clamp(1.9rem, 4.4vw, 3.4rem);
    font-weight: 600;
    line-height: 1.04;
    letter-spacing: -.034em;
    color: #FFFFFF;
  }

  
  .pj-mgrid {
    position: relative;
    list-style: none;
    margin: clamp(26px, 4vh, 54px) auto 0;
    padding: 0;
    max-width: 62rem;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-template-rows: repeat(3, auto);
    gap: clamp(6px, 1vw, 16px);
    place-items: center;
  }
  
  .pj-mgrid::before {
    content: '';
    position: absolute;
    inset: clamp(-10px, -1vw, -4px) 0;
    z-index: -1;
    background: rgba(59, 160, 224, .11);
    clip-path: polygon(
      0% 100%, 0% 0%, 19% 0%, 50% 54%, 81% 0%, 100% 0%,
      100% 100%, 79% 100%, 79% 33%, 55% 76%, 45% 76%, 21% 33%, 21% 100%
    );
    pointer-events: none;
  }

  .pj-dia--peak-l { grid-column: 1; grid-row: 1; }
  .pj-dia--peak-r { grid-column: 5; grid-row: 1; }
  .pj-dia--in-l   { grid-column: 2; grid-row: 2; }
  .pj-dia--in-r   { grid-column: 4; grid-row: 2; }
  .pj-dia--foot-l { grid-column: 1; grid-row: 3; }
  .pj-dia--foot-r { grid-column: 5; grid-row: 3; }

  .pj-dia { position: relative; width: 100%; max-width: clamp(120px, 15vw, 190px); }
  .pj-dia__hit {
    display: grid;
    place-items: center;
    width: 100%;
    aspect-ratio: 1;
    padding: 0;
    border: 1px solid rgba(59, 160, 224, .40);
    border-radius: clamp(6px, .8vw, 12px);
    background: rgba(0, 87, 184, .78);
    color: #FFFFFF;
    font: inherit;
    cursor: pointer;
    
    rotate: 45deg;
    transition: background var(--d-base) var(--e-out),
                border-color var(--d-base) var(--e-out),
                scale var(--d-base) var(--e-out);
  }
  .pj-dia__in {
    display: grid;
    justify-items: center;
    gap: 6px;
    rotate: -45deg;
    text-align: center;
    padding-inline: 6px;
  }
  .pj-dia__n {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .1em;
    font-variant-numeric: tabular-nums;
    
    color: rgba(255, 255, 255, .80);
  }
  .pj-dia__t {
    font-size: clamp(.78rem, 1.05vw, .95rem);
    font-weight: 600;
    letter-spacing: .02em;
    line-height: 1.2;
    color: #FFFFFF;
  }

  
  .pj-dia__hit.is-on {
    background: #FFFFFF;
    border-color: #FFFFFF;
  }
  .pj-dia__hit.is-on .pj-dia__t { color: var(--ink-abs); }
  .pj-dia__hit.is-on .pj-dia__n { color: #0057B8; }

  .pj-sectors__note {
    margin: clamp(26px, 3.4vh, 44px) 0 0;
    text-align: center;
    font-size: var(--t-meta);
    color: rgba(255, 255, 255, .72);
  }
}

@layer motion {
  @media (prefers-reduced-motion: no-preference) {
    .pj-dia__hit:hover,
    .pj-dia__hit:focus-visible {
      background: rgba(0, 87, 184, .92);
      border-color: #3BA0E0;
      scale: 1.05;
    }
  }
  
  @media (prefers-reduced-motion: reduce) {
    .pj-dia__hit:hover,
    .pj-dia__hit:focus-visible { background: rgba(0, 87, 184, .92); border-color: #3BA0E0; }
  }
}

@layer responsive {
  
  @media (max-width: 860px) {
    .pj-mgrid::before { display: none; }
    .pj-mgrid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      grid-template-rows: none;
      gap: clamp(10px, 3vw, 18px);
      max-width: 30rem;
    }
    .pj-dia { grid-column: auto !important; grid-row: auto !important; max-width: none; }
    .pj-dia__hit { rotate: none; aspect-ratio: 3 / 2; border-radius: clamp(10px, 2.5vw, 16px); }
    .pj-dia__in { rotate: none; }
  }
}


@layer components {
  .nav__has {
    position: relative;
    display: inline-flex;
    align-items: center;
  }

  .nav__sub {
    position: absolute;
    inset-block-start: calc(100% + 10px);
    
    left: 50%;
    translate: -50% 0;
    z-index: 60;
    display: grid;
    min-width: 13rem;
    padding: 6px;
    border-radius: 12px;
    background: #FFFFFF;
    border: 1px solid rgba(14, 42, 71, .10);
    box-shadow: 0 18px 44px rgba(14, 42, 71, .22);
    
    opacity: 0;
    visibility: hidden;
    translate: -50% -6px;
    transition: opacity var(--d-fast) var(--e-out),
                translate var(--d-fast) var(--e-out),
                visibility 0s linear var(--d-fast);
  }
  
  .nav__sub::before {
    content: '';
    position: absolute;
    inset-block-end: 100%;
    inset-inline: 0;
    height: 12px;
  }

  .nav__has:hover .nav__sub,
  .nav__has:focus-within .nav__sub,
  .nav__has.is-open .nav__sub {
    opacity: 1;
    visibility: visible;
    translate: -50% 0;
    transition-delay: 0s;
  }

  
  .nav__has.is-shut .nav__sub {
    opacity: 0;
    visibility: hidden;
    translate: -50% -6px;
  }

  .nav__sub-link {
    display: block;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: var(--t-label);
    font-weight: 500;
    letter-spacing: .12em;
    text-transform: uppercase;
    
    color: #3C4550;
    text-decoration: none;
    white-space: nowrap;
    transition: background var(--d-fast) var(--e-out), color var(--d-fast) var(--e-out);
  }
  .nav__sub-link:hover,
  .nav__sub-link:focus-visible {
    background: rgba(14, 42, 71, .06);
    color: var(--ink-abs);
  }

  
  .drawer__link--sub {
    padding-inline-start: clamp(28px, 7vw, 48px);
    opacity: .82;
  }
  .drawer__link--sub::before {
    content: '';
    display: inline-block;
    width: clamp(12px, 3vw, 20px);
    height: 1px;
    margin-inline-end: 10px;
    vertical-align: middle;
    background: currentColor;
    opacity: .5;
  }
}

@layer rtl {
  
  [dir='rtl'] .drawer__link--sub::before { margin-inline-end: 10px; }
}

@layer responsive {
  @media (max-width: 1150px) {
    
    .nav__sub { display: none; }
  }
}


@layer sections {
  .ld-run {
    display: grid;
    gap: clamp(40px, 6vh, 86px);
  }
  .ld-run > .ld-card + .ld-card {
    padding-top: clamp(40px, 6vh, 86px);
    border-top: 1px solid rgba(14, 42, 71, .13);
  }

  
  .ld-card {
    grid-template-columns: clamp(170px, 20vw, 240px) minmax(0, 1fr);
    align-items: center;
  }
  .ld-card--right {
    grid-template-columns: minmax(0, 1fr) clamp(170px, 20vw, 240px);
  }
  .ld-card--right .ld-card__fig { grid-column: 2; grid-row: 1; }
  .ld-card--right .ld-card__b   { grid-column: 1; grid-row: 1; }
  .ld-card--left  .ld-card__fig { grid-column: 1; grid-row: 1; }
  .ld-card--left  .ld-card__b   { grid-column: 2; grid-row: 1; }

  
  .ld-stamp__blank {
    color: #0057B8 !important;
    font-weight: 600;
    letter-spacing: .04em;
  }
}

@layer responsive {
  @media (max-width: 1000px) {
    .ld-card,
    .ld-card--right,
    .ld-card--left { grid-template-columns: minmax(0, 1fr); align-items: start; }
    .ld-card--right .ld-card__fig,
    .ld-card--left  .ld-card__fig { grid-column: 1; grid-row: 1; max-width: 240px; }
    .ld-card--right .ld-card__b,
    .ld-card--left  .ld-card__b   { grid-column: 1; grid-row: 2; }
  }
}


@layer components {
  .pj-more {
    display: flex;
    justify-content: center;
    margin-top: clamp(32px, 4.5vh, 60px);
  }

  .pj-more__btn {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    gap: clamp(14px, 1.6vw, 26px);
    padding: 7px 7px 7px clamp(22px, 2.4vw, 34px);
    border: 1px solid rgba(14, 42, 71, .30);
    border-radius: 999px;
    background: transparent;
    color: var(--ink-abs);
    font: inherit;
    cursor: pointer;
    transition: border-color var(--d-base) var(--e-out), color var(--d-base) var(--e-out);
  }
  
  .pj-more__btn::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: #0057B8;
    transform-origin: left;
    scale: 0 1;
    transition: scale var(--d-base) var(--e-out);
  }
  [dir='rtl'] .pj-more__btn::before { transform-origin: right; }

  .pj-more__t {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
  }
  .pj-more__go {
    display: grid;
    place-items: center;
    width: clamp(36px, 3.4vw, 46px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: #0057B8;
    color: #FFFFFF;
    font-size: 1.05rem;
    transition: background var(--d-base) var(--e-out), color var(--d-base) var(--e-out);
  }
  [dir='rtl'] .pj-more__go { scale: -1 1; }

  
  .pj-more__btn:hover,
  .pj-more__btn:focus-visible {
    border-color: #0057B8;
    color: #FFFFFF;
  }
  .pj-more__btn:hover::before,
  .pj-more__btn:focus-visible::before { scale: 1 1; }
  .pj-more__btn:hover .pj-more__go,
  .pj-more__btn:focus-visible .pj-more__go { background: #FFFFFF; color: #0057B8; }

  
  .pj-more__btn[aria-expanded='true'] .pj-more__go { rotate: 180deg; }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    
    .pj-more__btn::before { transition: none; }
    .pj-more__btn[aria-expanded='true'] .pj-more__go { rotate: none; }
  }
  @media (prefers-reduced-motion: no-preference) {
    .pj-more__go { transition: background var(--d-base) var(--e-out), color var(--d-base) var(--e-out), rotate var(--d-base) var(--e-out); }
  }
}



@layer sections {
  .pcard__go {
    position: absolute;
    isolation: isolate;
    overflow: hidden;
    inset-block-end: clamp(12px, 1.4vw, 18px);
    inset-inline-end: clamp(12px, 1.4vw, 18px);
    transition: color var(--d-base) var(--e-out);
  }
  .pcard__go::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: #0057B8;
    transform-origin: left;
    scale: 0 1;
    transition: scale var(--d-base) var(--e-out);
  }
  [dir='rtl'] .pcard__go::before { transform-origin: right; }

  .pcard__go i { transition: background var(--d-base) var(--e-out), color var(--d-base) var(--e-out), transform var(--d-fast) var(--e-out); }

  a.pcard:hover .pcard__go,
  a.pcard:focus-visible .pcard__go { color: #FFFFFF; }
  a.pcard:hover .pcard__go::before,
  a.pcard:focus-visible .pcard__go::before { scale: 1 1; }
  
  a.pcard:hover .pcard__go i,
  a.pcard:focus-visible .pcard__go i { background: #FFFFFF; color: #0057B8; }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    
    .pcard__go::before { transition: none; }
  }
}


@layer sections {
  main > .pj-sectors:first-child {
    padding-block-start: clamp(104px, 13vh, 168px);
  }
  .pj-sectors .crumb { margin-bottom: clamp(18px, 2.4vh, 30px); }
  
  .pj-sectors .crumb,
  .pj-sectors .crumb a { color: rgba(255, 255, 255, .72); }
  .pj-sectors .crumb a:hover { color: #FFFFFF; }
  .pj-sectors .crumb [aria-current='page'] { color: #FFFFFF; }
  
  .pj-sectors .crumb__sep { color: rgba(255, 255, 255, .56); }
}


@layer sections {
  
  .co-index__open {
    position: relative;
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
    text-align: center;
  }
  .co-index__open .co-index__head { margin: 0; }

  .co-index__cue {
    position: absolute;
    inset-block-end: clamp(26px, 3.4vw, 44px);
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    
    color: rgba(255, 255, 255, .82);
    transition: opacity var(--d-base) var(--e-out);
  }

  
  .co-index__rim {
    position: absolute;
    inset: 0;
    pointer-events: none;
  }
  .co-index__pip {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    display: grid;
    place-items: center;
    width: clamp(30px, 3vw, 38px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: #FFFFFF;
    color: #0E2A47;
    font-size: calc(var(--t-label) * .94);
    font-weight: 600;
    letter-spacing: .04em;
    font-variant-numeric: tabular-nums;
    
    --deg: 0deg;
    
    --r: calc(clamp(240px, 24vw, 340px) / 2 - clamp(15px, 1.5vw, 19px));
    translate: -50% -50%;
    rotate: 0deg;
    transform: rotate(var(--deg)) translate(var(--r)) rotate(calc(-1 * var(--deg)));
    transition: opacity var(--d-base) var(--e-out), scale var(--d-base) var(--e-out);
  }
  .co-index__pip:nth-child(1) { --deg: 216deg; }
  .co-index__pip:nth-child(2) { --deg: 180deg; }
  .co-index__pip:nth-child(3) { --deg: 144deg; }
  .co-index__pip:nth-child(4) { --deg: -36deg; }
  .co-index__pip:nth-child(5) { --deg: 0deg; }
  .co-index__pip:nth-child(6) { --deg: 36deg; }
}


@layer motion {
  
  .js .co-index__orbit > .co-disc {
    opacity: 0;
    visibility: hidden;
    scale: .72;
    
    translate: var(--tx, 0) 0;
    transition:
      opacity var(--d-base) var(--e-out),
      scale var(--d-base) var(--e-out),
      translate var(--d-base) var(--e-out),
      visibility 0s linear var(--d-base);
  }
  .js .co-index__orbit > .co-disc:nth-child(-n+5) { --tx: 26%; }
  .js .co-index__orbit > .co-disc:nth-child(n+6)  { --tx: -26%; }

  .js .co-index__orbit.is-open > .co-disc {
    opacity: 1;
    visibility: visible;
    scale: 1;
    translate: 0 0;
    
    transition-delay: calc(var(--i, 0) * 70ms);
    transition-duration: var(--d-slow, .52s);
  }

  
  .js .co-index__orbit.is-open .co-index__pip {
    opacity: 0;
    scale: .4;
    transition-delay: calc(var(--i, 0) * 70ms);
  }
  .js .co-index__orbit.is-open .co-index__cue { opacity: 0; }

  .co-index__open:hover .co-index__pip,
  .co-index__open:focus-visible .co-index__pip { scale: 1.12; }
  .js .co-index__orbit.is-open .co-index__open:hover .co-index__pip { scale: .4; }

  .co-index__open::after {
    content: '';
    position: absolute;
    inset: clamp(-14px, -1.4vw, -8px);
    border-radius: 50%;
    border: 1px solid rgba(59, 160, 224, .34);
    scale: .94;
    opacity: 0;
    transition: scale var(--d-base) var(--e-out), opacity var(--d-base) var(--e-out);
  }
  .co-index__open:hover::after,
  .co-index__open:focus-visible::after { scale: 1; opacity: 1; }

  @media (max-width: 1100px) {
    
    .js .co-index__orbit > .co-disc { translate: 0 -12px; }

    
    .js .co-index__orbit > .co-disc {
      display: none;
      transition-behavior: allow-discrete;
    }
    .js .co-index__orbit.is-open > .co-disc { display: grid; }
    @starting-style {
      .js .co-index__orbit.is-open > .co-disc { opacity: 0; translate: 0 -12px; }
    }
  }

  @media (prefers-reduced-motion: reduce) {
    
    .js .co-index__orbit > .co-disc,
    .js .co-index__orbit.is-open > .co-disc,
    .js .co-index__orbit .co-index__pip,
    .co-index__open::after {
      transition: none !important;
      transition-delay: 0s !important;
      translate: 0 0 !important;
      scale: 1 !important;
    }
  }
}

@layer responsive {
  @media (max-width: 1100px) {
    
    .co-index__rim { display: none; }
    .co-index__cue { position: static; display: block; margin-top: clamp(12px, 2vh, 18px); }
    
  }
}


@layer sections {
  
  .wa-hexes {
    display: grid;
    
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: repeat(3, auto);
    margin: 0 auto;
    max-width: 44rem;
    width: 100%;
    gap: clamp(-38px, -3vw, -18px) clamp(-24px, -1.8vw, -10px);
    align-items: start;
  }
  .wa-hex:nth-child(1) { grid-column: 1; grid-row: 1; }
  .wa-hex:nth-child(2) { grid-column: 3; grid-row: 1; }
  .wa-hex:nth-child(3) { grid-column: 2; grid-row: 2; }
  .wa-hex:nth-child(4) { grid-column: 1; grid-row: 3; }
  .wa-hex:nth-child(5) { grid-column: 3; grid-row: 3; }
  .wa-hex {
    position: relative;
    max-width: clamp(150px, 15vw, 224px);
    justify-self: center;
    aspect-ratio: 1 / 1.09;
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    background: rgba(0, 87, 184, .62);
    display: grid;
    place-items: center;
    text-align: center;
    padding: clamp(8px, 1vw, 16px);
    
    margin-block-start: 0;
    transition: background var(--d-base) var(--e-out);
  }
  
  .wa-hex:nth-child(even) { background: rgba(14, 42, 71, .58); }

  .wa-hex__in { display: grid; gap: clamp(2px, .5vh, 6px); }
  .wa-hex__n {
    margin: 0;
    font-size: clamp(.95rem, 1.6vw, 1.45rem);
    font-weight: 600;
    line-height: 1.02;
    letter-spacing: -.03em;
    color: #FFFFFF;
    font-variant-numeric: tabular-nums;
  }
  .wa-hex__l {
    margin: 0;
    font-size: calc(var(--t-label) * .84);
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    line-height: 1.25;
    
    color: rgba(255, 255, 255, .84);
  }
}

@layer motion {
  @media (prefers-reduced-motion: no-preference) {
    
    .js .wa-hexes .wa-hex {
      opacity: 0;
      scale: .86;
      animation: wa-hex-in .7s var(--e-out) both;
      animation-delay: calc(var(--i, 0) * 110ms);
      animation-timeline: view(block);
      animation-range: entry 0% entry 42%;
    }
    @supports not (animation-timeline: view()) {
      .js .wa-hexes .wa-hex { opacity: 1; scale: 1; animation: none; }
    }
    @keyframes wa-hex-in { to { opacity: 1; scale: 1; } }
  }
}

@layer responsive {
  @media (max-width: 760px) {
    
    .wa-hexes {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      grid-template-rows: none;
      gap: clamp(-20px, -4vw, -10px) clamp(-14px, -3vw, -8px);
    }
    .wa-hex:nth-child(n) { grid-column: auto !important; grid-row: auto !important; margin-block-start: 0; }
    .wa-hex:nth-child(even) { margin-block-start: calc(28% * 1.09); }
  }
}


@layer sections {
  .wa-lead { padding-block: clamp(72px, 8.5vh, 112px) clamp(32px, 4vh, 54px); }
  .wa-lead__h { font-size: clamp(1.7rem, 3.6vw, 2.9rem); }
  .wa-lead__p { font-size: clamp(.9rem, 1vw, 1rem); max-width: 42ch; }
  .wa-lead__panel { padding: clamp(24px, 3vw, 44px); }

  .wa-words { padding-block: clamp(38px, 5vh, 66px); }
  .wa-vision__t,
  .wa-mission__t { font-size: clamp(.9rem, 1.05vw, 1rem); line-height: 1.6; }
  .wa-vision__fig img,
  .wa-mission__fig img { max-height: clamp(200px, 28vh, 310px); object-fit: cover; }
}


@layer components {
  .wabtn {
    position: fixed;
    inset-block-end: clamp(18px, 3vh, 34px);
    inset-inline-end: clamp(18px, 3vw, 34px);
    z-index: 60;
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    
    background: #128C7E;
    color: #FFFFFF;
    box-shadow: 0 8px 26px rgba(14, 42, 71, .24);
    transition: transform var(--d-base) var(--e-out), box-shadow var(--d-base) var(--e-out);
  }
  .wabtn__i {
    width: 28px;
    height: 28px;
    fill: currentColor;
    display: block;
  }
}

@layer motion {
  @media (prefers-reduced-motion: no-preference) {
    .wabtn:hover,
    .wabtn:focus-visible {
      transform: translateY(-3px);
      box-shadow: 0 14px 34px rgba(14, 42, 71, .30);
    }
  }
  
  .wabtn:focus-visible { outline: 2px solid #0E2A47; outline-offset: 3px; }
}

@layer responsive {
  @media (max-width: 560px) {
    .wabtn { width: 48px; height: 48px; }
    .wabtn__i { width: 25px; height: 25px; }
  }
}


@layer sections {
  .loc2 { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); }
  .loc2__map  { grid-column: 1; grid-row: 1; }
  .loc2__body { grid-column: 2; grid-row: 1; }
}

@layer responsive {
  @media (max-width: 900px) {
    
    .loc2__body { grid-column: 1; grid-row: 1; }
    .loc2__map  { grid-column: 1; grid-row: 2; }
  }
}


@layer components {
  .wabox {
    position: fixed;
    inset-block-end: clamp(18px, 3vh, 34px);
    inset-inline-end: clamp(18px, 3vw, 34px);
    z-index: 60;
  }
  
  .wabox .wabtn { position: relative; inset: auto; }
  .wabtn::-webkit-details-marker { display: none; }
  .wabtn { list-style: none; cursor: pointer; }

  .wamenu {
    position: absolute;
    inset-block-end: calc(100% + 12px);
    inset-inline-end: 0;
    width: max-content;
    max-width: min(20rem, calc(100vw - 2 * clamp(18px, 3vw, 34px)));
    padding: clamp(12px, 1.4vw, 16px);
    border-radius: 14px;
    background: #FFFFFF;
    border: 1px solid rgba(14, 42, 71, .12);
    box-shadow: 0 20px 48px rgba(14, 42, 71, .24);
  }
  .wamenu__h {
    margin: 0 0 clamp(8px, 1vh, 12px);
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted-2);
  }

  .waopt {
    display: grid;
    gap: 2px;
    margin: 0;
    padding: clamp(9px, 1vh, 12px) clamp(10px, 1vw, 14px);
    border-radius: 10px;
    text-decoration: none;
    transition: background var(--d-fast) var(--e-out);
  }
  a.waopt:hover,
  a.waopt:focus-visible { background: rgba(18, 140, 126, .10); }

  .waopt__k {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #128C7E;
  }
  .waopt__n {
    font-size: var(--t-meta);
    font-weight: 600;
    color: var(--ink-abs);
  }
  .waopt__w {
    font-size: calc(var(--t-meta) * .92);
    color: var(--muted-2);
  }

  
  .waopt--pending .waopt__k { color: var(--muted-2); }
  .waopt--pending .waopt__n {
    font-weight: 500;
    color: var(--muted-2);
    font-style: italic;
  }
}

@layer motion {
  @media (prefers-reduced-motion: no-preference) {
    .wabox[open] .wamenu { animation: wa-in .22s var(--e-out) both; }
    @keyframes wa-in { from { opacity: 0; transform: translateY(8px); } }
  }
}


@layer components {
  .wabtn--solo {
    position: fixed;
    inset-block-end: clamp(18px, 3vh, 34px);
    inset-inline-end: clamp(18px, 3vw, 34px);
    translate: 0 calc(-1 * var(--wa-lift, 0px));
    transition: translate var(--d-base) var(--e-out), transform var(--d-base) var(--e-out), box-shadow var(--d-base) var(--e-out);
  }
}
@layer motion {
  @media (prefers-reduced-motion: reduce) { .wabtn--solo { transition: none; } }
}


@layer components {
  .form__req {
    margin: 0 0 clamp(4px, 1vh, 10px);
    font-size: var(--t-meta);
    color: var(--muted-2);
  }
  .field__err {
    margin: 8px 0 0;
    font-size: var(--t-meta);
    font-weight: 600;
    color: var(--ink-abs);
  }
  .field__err::before { content: '— '; }
  .field.is-invalid :is(input, select, textarea) {
    border-width: 2px;
    border-color: var(--ink-abs);
  }
}


@layer sections {
  .wa-vision,
  .wa-mission { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }

  .wa-vision__fig,
  .wa-mission__fig { min-height: clamp(320px, 32vw, 500px); }
  .wa-vision__fig img,
  .wa-mission__fig img { max-height: none; height: 100%; }

  .wa-vision__t,
  .wa-mission__t { max-width: none; }

  .wa-vision__body,
  .wa-mission__body { padding-block: clamp(22px, 3vh, 40px); }
}

@layer responsive {
  @media (max-width: 900px) {
    .wa-vision,
    .wa-mission { grid-template-columns: minmax(0, 1fr); }
    .wa-vision__fig,
    .wa-mission__fig { min-height: clamp(220px, 56vw, 360px); }
  }
}


:root {
  --title-page: clamp(2.25rem, 4.4vw, 3.9rem);
  --title-section: clamp(1.7rem, 3vw, 2.7rem);
}


main :is(.d1, .wa-top__title, .co-open__title, .pj-sectors__h, .cl-head__title,
         .ct-head__title, .ld-open__h, .hs-open__h, .cx-open__title, .pr-hero__title) {
  font-size: var(--title-page);
  line-height: 1.04;
  letter-spacing: -.035em;
  font-weight: 600;
}


main :is(.hm-about__h, .hm-work__h, .hm-certs__h, .wa-do__h, .wa-how-sec__h, .pj-ask__title,
         .co-proof__head, .co-next__head, .co-ask__title, .d2, .pj-work__h, .ct-form__h,
         .ld-rest__h, .cx-explore__head, .cx-proof__head, .cx-ask__title, .pr-scope__h) {
  font-size: var(--title-section);
  line-height: 1.08;
  letter-spacing: -.03em;
  font-weight: 600;
}


[dir='rtl'] main :is(.d1, .wa-top__title, .co-open__title, .pj-sectors__h, .cl-head__title,
         .ct-head__title, .ld-open__h, .hs-open__h, .cx-open__title, .pr-hero__title,
         .hm-about__h, .hm-work__h, .hm-certs__h, .wa-do__h, .wa-how-sec__h, .pj-ask__title,
         .co-proof__head, .co-next__head, .co-ask__title, .d2, .pj-work__h, .ct-form__h,
         .ld-rest__h, .cx-explore__head, .cx-proof__head, .cx-ask__title, .pr-scope__h) {
  letter-spacing: 0;
  line-height: 1.3;
}


@layer components {
  html.pbook-open { overflow: hidden; }

  .pbook {
    width: 100vw;
    max-width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #FFFFFF;
    overflow: hidden;
  }
  
  .pbook::backdrop { background: #0E2A47; }
  .pbook[open] { display: grid; }

  .pbook__stage {
    --pw: min(44vw, 560px, calc((100dvh - 230px) / 1.35));
    display: grid;
    grid-template-rows: auto 1fr auto auto auto;
    justify-items: center;
    align-items: center;
    gap: clamp(8px, 1.4vh, 16px);
    padding: clamp(14px, 2.4vh, 26px) clamp(16px, 3vw, 40px);
    height: 100%;
    box-sizing: border-box;
  }

  .pbook__top {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .pbook__title {
    margin: 0;
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #3BA0E0;
  }
  .pbook__tools { display: flex; gap: 8px; }
  .pbook__tool,
  .pbook__nav {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 50%;
    background: transparent;
    color: #FFFFFF;
    cursor: pointer;
    transition: background var(--d-fast) var(--e-out), border-color var(--d-fast) var(--e-out), opacity var(--d-fast) var(--e-out);
  }
  .pbook__tool svg,
  .pbook__nav svg { width: 20px; height: 20px; }
  .pbook__tool:hover, .pbook__tool:focus-visible,
  .pbook__nav:hover:not(:disabled), .pbook__nav:focus-visible { background: #0057B8; border-color: #0057B8; }
  .pbook__nav:disabled { opacity: .28; cursor: default; }
  .pbook__tool[aria-pressed="true"] .pbook__mute { display: none; }
  .pbook__tool[aria-pressed="false"] .pbook__wave { display: none; }

  .pbook__frame {
    display: flex;
    align-items: center;
    gap: clamp(10px, 2vw, 28px);
    min-height: 0;
  }

  
  .pbook__book {
    position: relative;
    width: calc(var(--pw) * 2);
    height: calc(var(--pw) * 1.35);
    perspective: calc(var(--pw) * 5);
    transition: translate .7s cubic-bezier(.45, .05, .25, 1);
    touch-action: pan-y;
  }
  .pbook__book.is-closed { translate: -25% 0; }
  .pbook__book.is-closed-back { translate: 25% 0; }

  .pbook__slot,
  .pbook__leaf {
    position: absolute;
    inset-block: 0;
    width: 50%;
  }
  .pbook__slot--l, .pbook__leaf--l { inset-inline-start: 0; }
  .pbook__slot--r, .pbook__leaf--r { inset-inline-start: 50%; }
  .pbook__slot:empty { visibility: hidden; }

  
  .pbook__slot--l > .bpage { box-shadow: inset -26px 0 30px -24px rgba(14, 42, 71, .38); }
  .pbook__slot--r > .bpage { box-shadow: inset 26px 0 30px -24px rgba(14, 42, 71, .30); }

  .pbook__leaf { transform-style: preserve-3d; z-index: 3; }
  .pbook__leaf--r { transform-origin: left center; }
  .pbook__leaf--l { transform-origin: right center; }
  .pbook__face {
    position: absolute;
    inset: 0;
    backface-visibility: hidden;
  }
  .pbook__face--back { transform: rotateY(180deg); }
  .pbook__face:empty { display: none; }
  .pbook__face::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(14, 42, 71, .28), rgba(14, 42, 71, 0) 60%);
    animation: pbook-shade .72s cubic-bezier(.45, .05, .25, 1) both;
  }
  .pbook__face--back::after { background: linear-gradient(270deg, rgba(14, 42, 71, .28), rgba(14, 42, 71, 0) 60%); }
  @keyframes pbook-shade { 0% { opacity: 0; } 50% { opacity: 1; } 100% { opacity: 0; } }

  
  .pbook__book.is-single { width: var(--pw); }
  .pbook__book.is-single .pbook__slot--r,
  .pbook__leaf--single { inset-inline-start: 0; width: 100%; }
  .pbook__leaf--single { transform-origin: left center; }
  .pbook__book.is-single .pbook__slot--r > .bpage { box-shadow: none; }

  
  .bpage {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    gap: clamp(6px, 1.1vh, 12px);
    padding: clamp(14px, 2.6vh, 30px) clamp(14px, 2vw, 30px);
    background: #FFFFFF;
    color: var(--ink-abs);
    overflow: hidden;
    box-sizing: border-box;
  }
  .bpage__run {
    display: flex;
    justify-content: space-between;
    padding-bottom: clamp(6px, 1vh, 10px);
    border-bottom: 1px solid rgba(14, 42, 71, .16);
    font-size: calc(var(--t-label) * .86);
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted-2);
  }
  .bpage__fig {
    margin: 0;
    flex: 0 0 auto;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--surface);
  }
  .bpage__fig picture { display: contents; }
  .bpage__fig img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .bpage__n {
    margin: clamp(2px, .6vh, 8px) 0 0;
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .1em;
    color: #0057B8;
    font-variant-numeric: tabular-nums;
  }
  .bpage__name {
    margin: 0;
    font-size: clamp(1.05rem, calc(var(--pw) * .042), 1.55rem);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -.02em;
  }
  .bpage__rows { margin: 0; display: grid; gap: 0; }
  .bpage__row {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    gap: 10px;
    padding-block: clamp(4px, .8vh, 8px);
    border-bottom: 1px solid rgba(14, 42, 71, .10);
    font-size: clamp(.78rem, calc(var(--pw) * .026), .92rem);
  }
  .bpage__row dt {
    font-size: calc(var(--t-label) * .9);
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--muted-2);
  }
  .bpage__row dd { margin: 0; }
  .bpage__row dd.is-none { font-style: italic; color: var(--muted-2); }
  .bpage__foot {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .bpage__go {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #0057B8;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
  }
  .bpage__pend {
    font-size: var(--t-label);
    font-style: italic;
    color: var(--muted-2);
  }
  .bpage__folio {
    font-size: var(--t-label);
    color: var(--muted-2);
    font-variant-numeric: tabular-nums;
  }

  
  .bpage--cover,
  .bpage--back {
    background: #0E2A47;
    color: #FFFFFF;
    justify-content: space-between;
    box-shadow: inset 12px 0 0 #0057B8;
  }
  .bpage--back { box-shadow: inset -12px 0 0 #0057B8; justify-content: center; align-items: center; }
  .bpage__mono {
    display: grid;
    place-items: center;
    width: clamp(54px, calc(var(--pw) * .16), 90px);
    aspect-ratio: 1;
    border: 1px solid rgba(59, 160, 224, .5);
    border-radius: 50%;
    font-size: clamp(1.3rem, calc(var(--pw) * .06), 2.2rem);
    font-weight: 600;
    color: #3BA0E0;
  }
  .bpage__cover-b { display: grid; gap: clamp(8px, 1.4vh, 14px); }
  .bpage__eyebrow {
    margin: 0;
    font-size: calc(var(--t-label) * .9);
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #3BA0E0;
  }
  .bpage--end .bpage__eyebrow { color: #0057B8; }
  .bpage__cover-h,
  .bpage__end-h {
    margin: 0;
    font-size: clamp(1.8rem, calc(var(--pw) * .1), 3.2rem);
    font-weight: 600;
    line-height: 1.02;
    letter-spacing: -.035em;
  }
  .bpage__cover-p { margin: 0; font-size: var(--t-meta); color: rgba(255, 255, 255, .78); }
  .bpage__logo { width: 70%; max-width: 280px; height: auto; }
  .bpage--end { justify-content: center; gap: clamp(12px, 2vh, 20px); }
  .bpage__end-p { margin: 0; max-width: 32ch; font-size: var(--t-meta); line-height: 1.6; color: var(--muted-2); }

  
  .pbook__where {
    margin: 0;
    min-height: 1.2em;
    font-size: var(--t-meta);
    color: rgba(255, 255, 255, .78);
    font-variant-numeric: tabular-nums;
  }
  .pbook__tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    max-width: min(100%, 60rem);
  }
  .pbook__tab {
    min-width: 36px;
    height: 32px;
    padding: 0 8px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 6px;
    background: transparent;
    color: rgba(255, 255, 255, .82);
    font: inherit;
    font-size: var(--t-label);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    cursor: pointer;
    transition: background var(--d-fast) var(--e-out), color var(--d-fast) var(--e-out), border-color var(--d-fast) var(--e-out);
  }
  .pbook__tab:hover, .pbook__tab:focus-visible { border-color: #3BA0E0; color: #FFFFFF; }
  .pbook__tab.is-on { background: #FFFFFF; border-color: #FFFFFF; color: #0E2A47; }
  .pbook__hint { margin: 0; font-size: calc(var(--t-meta) * .92); color: rgba(255, 255, 255, .62); }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    .pbook__book { transition: none; }
    .pbook__face::after { animation: none; opacity: 0; }
  }
  @media (prefers-reduced-motion: no-preference) {
    .pbook[open] .pbook__stage { animation: pbook-in .45s var(--e-out) both; }
    @keyframes pbook-in { from { opacity: 0; transform: translateY(18px) scale(.98); } }
  }
}

@layer responsive {
  @media (max-width: 760px) {
    .pbook__stage { --pw: min(calc(100vw - 132px), calc((100dvh - 250px) / 1.35)); }
    .pbook__frame { gap: 6px; }
    .pbook__nav { width: 36px; height: 36px; }
    .pbook__hint { display: none; }
    .pbook__tab { min-width: 30px; height: 28px; padding: 0 5px; }
  }
}


@layer sections {
  .cl-logos {
    list-style: none;
    margin: clamp(10px, 1.6vh, 18px) 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .cl-logo {
    display: grid;
    place-items: center;
    height: clamp(120px, 12vw, 176px);
    border-bottom: 1px solid rgba(14, 42, 71, .13);
  }
  
  .cl-logo__in {
    display: grid;
    place-items: center;
    width: 72%;
    height: clamp(58px, 6vw, 92px);
    transition: transform .45s cubic-bezier(.2, .7, .2, 1);
  }
  .cl-logo__in picture { display: contents; }
  .cl-logo__in img {
    max-width: 100%;
    max-height: clamp(58px, 6vw, 92px);
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
  }
  .cl-logo--name .cl-logo__in {
    text-align: center;
    font-size: clamp(1rem, 1.45vw, 1.3rem);
    font-weight: 600;
    letter-spacing: -.01em;
    line-height: 1.2;
    color: var(--ink-abs);
  }
}

@layer motion {
  @media (prefers-reduced-motion: no-preference) {
    .cl-logo:hover .cl-logo__in { transform: scale(1.1); }
  }
}

@layer responsive {
  @media (max-width: 900px) { .cl-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); } .cl-logo__in { width: 80%; } }
  @media (max-width: 560px) {
    .cl-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cl-logo { height: clamp(96px, 28vw, 130px); }
  }
}


@layer components {
  .pbook::backdrop {
    background:
      radial-gradient(ellipse 60% 55% at 50% 48%, rgba(0, 87, 184, .55) 0%, rgba(0, 87, 184, .18) 45%, rgba(0, 87, 184, 0) 100%), #0E2A47;
  }
  .pbook__book {
    filter: drop-shadow(0 34px 44px rgba(0, 0, 0, .45)) drop-shadow(0 6px 10px rgba(0, 0, 0, .25));
  }
  
  .pbook__slot--l::before,
  .pbook__slot--r::before {
    content: '';
    position: absolute;
    inset-block: 3px;
    width: 7px;
    background: repeating-linear-gradient(90deg, #FFFFFF 0 1px, #d9dee4 1px 2px);
    border-radius: 2px;
  }
  .pbook__slot--l::before { inset-inline-start: -6px; }
  .pbook__slot--r::before { inset-inline-end: -6px; }
  .pbook__book.is-single .pbook__slot--r::before { inset-inline-end: -6px; }

  .bpage--cover,
  .bpage--back {
    background: linear-gradient(135deg, rgba(255, 255, 255, .10) 0%, rgba(255, 255, 255, 0) 55%, rgba(0, 0, 0, .14) 100%), #0057B8;
    box-shadow: inset 10px 0 18px -10px rgba(0, 0, 0, .45);
  }
  .bpage--back { box-shadow: inset -10px 0 18px -10px rgba(0, 0, 0, .45); }
  .bpage--cover {
    justify-content: flex-start;
    align-items: center;
    text-align: center;
    padding-block: clamp(26px, 5vh, 56px);
  }
  .bpage--cover .bpage__logo {
    width: 72%;
    max-width: 320px;
    height: auto;
    margin-bottom: auto;
  }
  .bpage--cover .bpage__cover-b { margin-bottom: auto; justify-items: center; }
  .bpage--cover .bpage__cover-p { color: rgba(255, 255, 255, .86); letter-spacing: .08em; text-transform: uppercase; font-size: var(--t-label); font-weight: 600; }
  .bpage__cover-rule {
    width: 44%;
    height: 1px;
    background: rgba(255, 255, 255, .45);
  }
  .bpage--back .bpage__logo { width: 52%; max-width: 240px; height: auto; opacity: .9; }
  .bpage__mono { display: none; }

  
  .bpage__link { color: inherit; text-decoration: none; display: block; }
  .bpage__figlink { flex: 0 0 auto; }
  .bpage__figlink .bpage__fig { transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
  .bpage__figlink:hover .bpage__fig img,
  .bpage__figlink:focus-visible .bpage__fig img { transform: scale(1.04); }
  .bpage__fig img { transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
  .bpage__namelink:hover .bpage__name,
  .bpage__namelink:focus-visible .bpage__name { color: #0057B8; }

  
  .pbook__face::after { animation-duration: .82s; }
}


@layer sections {
  .pr-gallery { padding-block: clamp(40px, 6vh, 84px); }
  .pr-gallery__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding-bottom: clamp(12px, 1.6vh, 18px);
    border-bottom: 1px solid rgba(14, 42, 71, .16);
  }
  .pr-gallery__h { margin: 0; font-size: var(--title-section, 2.4rem); font-weight: 600; letter-spacing: -.03em; color: var(--ink-abs); }
  .pr-gallery__count { margin: 0; font-size: var(--t-label); font-weight: 600; letter-spacing: .12em; color: #0057B8; font-variant-numeric: tabular-nums; }

  .pr-gallery__grid {
    list-style: none;
    margin: clamp(18px, 2.6vh, 30px) 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: clamp(150px, 16vw, 250px);
    gap: clamp(8px, 1vw, 14px);
  }
  .pr-gallery__item:first-child { grid-column: span 2; grid-row: span 2; }
  .pr-gallery__grid--2 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); grid-auto-rows: clamp(220px, 26vw, 420px); }
  .pr-gallery__grid--2 .pr-gallery__item:first-child { grid-column: auto; grid-row: auto; }

  .pr-gallery__open {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: var(--surface);
    overflow: hidden;
    cursor: zoom-in;
  }
  .pr-gallery__open picture { display: contents; }
  .pr-gallery__open img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s cubic-bezier(.2, .7, .2, 1);
  }

  
  .pr-view {
    width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh;
    margin: 0; padding: 0; border: 0;
    background: transparent;
    color: #FFFFFF;
  }
  .pr-view::backdrop { background: rgba(14, 42, 71, .96); }
  .pr-view[open] { display: grid; grid-template-rows: auto 1fr auto; align-items: center; justify-items: center; }
  .pr-view__top { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: clamp(12px, 2vh, 22px) clamp(16px, 3vw, 36px); box-sizing: border-box; }
  .pr-view__n { font-size: var(--t-meta); color: rgba(255, 255, 255, .78); font-variant-numeric: tabular-nums; }
  .pr-view__stage { display: flex; align-items: center; gap: clamp(8px, 2vw, 24px); min-height: 0; max-width: 100%; padding-inline: clamp(8px, 2vw, 24px); box-sizing: border-box; }
  .pr-view__img { max-width: min(86vw, 1600px); max-height: calc(100dvh - 150px); width: auto; height: auto; display: block; box-shadow: 0 24px 60px rgba(0, 0, 0, .45); }
  .pr-view__btn {
    display: grid; place-items: center; flex: none;
    width: 46px; height: 46px; padding: 0;
    border: 1px solid rgba(255, 255, 255, .28); border-radius: 50%;
    background: transparent; color: #FFFFFF; font-size: 1.1rem; cursor: pointer;
  }
  .pr-view__btn:hover, .pr-view__btn:focus-visible { background: #0057B8; border-color: #0057B8; }
  .pr-view__btn:disabled { opacity: .28; cursor: default; }
  .pr-view__hint { padding-bottom: clamp(12px, 2vh, 20px); font-size: calc(var(--t-meta) * .92); color: rgba(255, 255, 255, .62); }
}

@layer motion {
  @media (prefers-reduced-motion: no-preference) {
    .pr-gallery__open:hover img, .pr-gallery__open:focus-visible img { transform: scale(1.05); }
    .pr-view[open] .pr-view__img { animation: pr-view-in .35s var(--e-out) both; }
    @keyframes pr-view-in { from { opacity: 0; transform: scale(.97); } }
  }
}

@layer responsive {
  @media (max-width: 700px) {
    .pr-gallery__grid, .pr-gallery__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: clamp(120px, 34vw, 190px); }
    .pr-gallery__item:first-child { grid-column: span 2; grid-row: span 1; }
    .pr-view__btn { width: 38px; height: 38px; }
  }
}


@layer sections {
  .pr-gallery__grid:not(.pr-gallery__grid--2) .pr-gallery__item:last-child:nth-child(3n+1):not(:first-child) { grid-column: 1 / -1; }
}
@layer responsive {
  @media (max-width: 700px) {
    .pr-gallery__grid:not(.pr-gallery__grid--2) .pr-gallery__item:last-child:nth-child(3n+1):not(:first-child) { grid-column: auto; }
    .pr-gallery__grid .pr-gallery__item:last-child:nth-child(even) { grid-column: 1 / -1; }
  }
}


@layer sections {
  .ld-card { grid-template-columns: clamp(160px, 16vw, 220px) minmax(0, 1fr); }
  .ld-card--right { grid-template-columns: minmax(0, 1fr) clamp(160px, 16vw, 220px); }
  .ld-card__role { line-height: 1.5; max-width: 40ch; }
}


@layer motion {
  @media (prefers-reduced-motion: no-preference) {
    
    .js [data-reveal]:not(.is-settled) {
      transition:
        opacity var(--d-flow) var(--e-out),
        transform calc(var(--d-flow) + 150ms) var(--e-out);
    }
    
    .js [data-reveal][data-reveal-dir="up"]         { transform: translate3d(0, 20px, 0); }
    .js [data-reveal][data-reveal-dir="left"]       { transform: translate3d(-26px, 0, 0); }
    .js [data-reveal][data-reveal-dir="right"]      { transform: translate3d(26px, 0, 0); }
    .js [data-reveal][data-reveal-dir="rise-media"] { transform: translate3d(0, 24px, 0); }
    .js [data-reveal][data-reveal-dir].is-in        { transform: none; }

    
    .js [data-reveal][data-reveal-dir]:is(figure, picture, .pr-gallery__item, .ld-card__fig) img {
      transform: scale(1.12);
      transition: transform 1.6s cubic-bezier(.16, 1, .3, 1);
    }
    .js [data-reveal][data-reveal-dir].is-in:is(figure, picture, .pr-gallery__item, .ld-card__fig) img { transform: none; }
    
    .js .pr-gallery__open:hover img, .js .pr-gallery__open:focus-visible img { transform: scale(1.05) !important; }
  }
}


@layer base {
  main { overflow-x: clip; }
}
@layer motion {
  @media (prefers-reduced-motion: no-preference) and (max-width: 700px) {
    .js [data-reveal][data-reveal-dir="left"]  { transform: translate3d(-36px, 0, 0); }
    .js [data-reveal][data-reveal-dir="right"] { transform: translate3d(36px, 0, 0); }
    .js [data-reveal][data-reveal-dir="up"]    { transform: translate3d(0, 36px, 0); }
  }
}


@layer sections {
  .catdoor {
    display: grid;
    gap: var(--s4);
    justify-items: center;
    width: 100%;
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    text-align: center;
    cursor: pointer;
  }
  .catdoor .cover { width: 100%; }
  .catdoor .cover img { transition: transform .5s cubic-bezier(.16, 1, .3, 1), box-shadow .5s cubic-bezier(.16, 1, .3, 1); }
  .catdoor:hover .cover img,
  .catdoor:focus-visible .cover img {
    transform: translateY(-8px) rotate(-1.2deg);
    box-shadow: 0 30px 56px rgba(14, 42, 71, .30);
  }
  .catdoor__cue {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #0057B8;
  }
  .catdoor:focus-visible { outline: 2px solid #0057B8; outline-offset: 6px; }

  
  .pillar__body .catlink { display: flex; margin-bottom: var(--s3); }
  button.link-arrow { border: 0; background: none; font: inherit; font-size: var(--t-label); cursor: pointer; padding-inline: 0; }

  
  .catview {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    transition: grid-template-rows .75s cubic-bezier(.16, 1, .3, 1), opacity .45s ease;
  }
  .catview.is-open { grid-template-rows: 1fr; opacity: 1; }
  .catview__in { overflow: hidden; min-height: 0; }
  .catview__bar {
    display: flex;
    align-items: center;
    gap: var(--s4);
    padding: var(--s4) var(--s5);
    background: #0E2A47;
    color: #FFFFFF;
  }
  .catview__t { margin: 0 auto 0 0; font-weight: 600; }
  .catview__tool {
    border: 1px solid rgba(255, 255, 255, .5);
    background: none;
    color: #FFFFFF;
    font: inherit;
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 8px 14px;
    cursor: pointer;
    transition: background-color .25s ease, color .25s ease;
  }
  .catview__tool:hover, .catview__tool:focus-visible { background: #FFFFFF; color: #0E2A47; }
  .catview__doc {
    display: block;
    width: 100%;
    
    height: min(62vh, 720px);
    border: 0;
    background: #0E2A47;
  }
  .catview + .pillar { border-top: 0; }
}
@layer responsive {
  @media (max-width: 700px) {
    .catview__bar { flex-wrap: wrap; padding: var(--s3) var(--s4); }
    .catview__t { flex-basis: 100%; }
    .catview__doc { height: 62vh; }
  }
}
@layer motion {
  @media (prefers-reduced-motion: reduce) {
    .catview, .catdoor .cover img { transition: none; }
  }
}


@layer components {
  .scrollcue {
    position: fixed;
    inset-block-end: clamp(18px, 3vh, 34px);
    inset-inline-start: 50%;
    z-index: 55;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 10px 18px 8px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 999px;
    background: rgba(14, 42, 71, .72);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    color: #FFFFFF;
    font: inherit;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 0 10px 28px rgba(14, 42, 71, .22);
    opacity: 0;
    visibility: hidden;
    translate: -50% 12px;
    transition: opacity .5s cubic-bezier(.16, 1, .3, 1), translate .5s cubic-bezier(.16, 1, .3, 1), visibility 0s linear .5s, background-color .25s ease;
  }
  [dir='rtl'] .scrollcue { translate: 50% 12px; letter-spacing: 0; font-size: 12px; }
  .scrollcue.is-on {
    opacity: 1;
    visibility: visible;
    translate: -50% 0;
    transition: opacity .5s cubic-bezier(.16, 1, .3, 1), translate .5s cubic-bezier(.16, 1, .3, 1), visibility 0s, background-color .25s ease;
  }
  [dir='rtl'] .scrollcue.is-on { translate: 50% 0; }
  .scrollcue:hover, .scrollcue:focus-visible { background: #0057B8; }
  .scrollcue:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 3px; }
  .scrollcue__i { width: 16px; height: 16px; }
}
@layer motion {
  @media (prefers-reduced-motion: no-preference) {
    .scrollcue.is-on .scrollcue__i { animation: scrollcue-drop 1.6s cubic-bezier(.45, 0, .55, 1) infinite; }
    @keyframes scrollcue-drop {
      0%, 100% { transform: translateY(-2px); opacity: .55; }
      50%      { transform: translateY(4px);  opacity: 1; }
    }
  }
}

@layer sections { .pillar:first-of-type { border-top: 0; } }


main .hm-work__h {
  font-size: clamp(1.5rem, 2.4vw, 2.15rem);
  line-height: 1.16;
  max-width: 34ch;
}


@layer components {
  .wa-lead__cards { align-self: center; }
  .wa-card { padding: clamp(12px, 1.3vw, 20px) clamp(16px, 1.6vw, 24px); }
  .wa-lead__cards dt { font-size: clamp(1.45rem, 2.2vw, 2.1rem); white-space: nowrap; }
  .wa-card--wide dt { font-size: clamp(1.6rem, 2.6vw, 2.5rem); }
}
@layer sections {
  @media (min-width: 861px) {
    
    .wa-lead { padding-block-start: calc(var(--nav-h) + clamp(22px, 3.4vh, 40px)); }
  }
}


@layer sections {
  .ct-together { display: grid; align-content: start; justify-items: start; }
  .ct-together__k {
    margin: 0 0 clamp(14px, 1.6vw, 22px);
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #0057B8;
  }
  .ct-together__h { margin: 0; color: #0E2A47; }
  .ct-together__btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 44px;
    min-width: min(100%, 300px);
    margin-top: clamp(26px, 3vw, 40px);
    padding: 20px 26px;
    background: #0057B8;
    color: #FFFFFF;
    font-weight: 600;
    text-decoration: none;
    transition: background-color .3s ease, transform .3s cubic-bezier(.16, 1, .3, 1), box-shadow .3s ease;
  }
  .ct-together__arr { font-size: 1.2em; line-height: 1; transition: transform .3s cubic-bezier(.16, 1, .3, 1); }
  .ct-together__btn:hover, .ct-together__btn:focus-visible {
    background: #0E2A47;
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(14, 42, 71, .22);
  }
  .ct-together__btn:hover .ct-together__arr, .ct-together__btn:focus-visible .ct-together__arr { transform: translate(3px, -3px); }
  .ct-together__btn:focus-visible { outline: 2px solid #0057B8; outline-offset: 3px; }
}


@layer sections {
  .wa-guides { padding-block: clamp(56px, 7vh, 96px); }
  .wa-guides__h {
    margin: var(--s4) 0 clamp(36px, 4.4vw, 64px);
    color: var(--white);
    font-size: var(--title-section);
    line-height: 1.08;
    letter-spacing: -.03em;
    font-weight: 600;
  }
  .wa-guides__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(24px, 3.4vw, 56px);
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--line);
    padding-top: clamp(26px, 3vw, 44px);
  }
  .wa-guide__n {
    display: block;
    margin-bottom: clamp(16px, 2vw, 26px);
    color: var(--blue-bright);
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .16em;
    font-variant-numeric: tabular-nums;
  }
  .wa-guide__k {
    margin: 0 0 var(--s4);
    color: var(--white);
    font-size: clamp(1.25rem, 1.9vw, 1.7rem);
    font-weight: 600;
    letter-spacing: -.02em;
  }
  .wa-guide__p { margin: 0; color: var(--ice); max-width: 34ch; }

  
  .hm-together { padding-block: clamp(56px, 7vh, 104px); }
  .hm-together__in { display: grid; justify-items: start; }
  .hm-together__h { margin-bottom: 0; }
}
@layer responsive {
  @media (max-width: 860px) {
    .wa-guides__list { grid-template-columns: minmax(0, 1fr); gap: clamp(28px, 5vw, 40px); }
    .wa-guide__p { max-width: none; }
  }
}

main .hm-together__h {
  font-size: var(--title-section);
  line-height: 1.08;
  letter-spacing: -.03em;
  font-weight: 600;
  color: #0E2A47;
}


@layer sections {
  .tm { padding-block: clamp(40px, 5vh, 72px) clamp(56px, 7vh, 96px); }
  .tm__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--s5);
    margin-bottom: clamp(20px, 2.6vw, 34px);
  }
  .tm__hint {
    margin: 0;
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #0057B8;
  }
  .tm__nav { display: flex; gap: 10px; }
  .tm__go {
    width: 44px; height: 44px;
    display: grid; place-items: center;
    border: 1px solid var(--line);
    background: none;
    color: #0E2A47;
    cursor: pointer;
    border-radius: 50%;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease;
  }
  .tm__go svg { width: 20px; height: 20px; }
  .tm__go:hover, .tm__go:focus-visible { background: #0057B8; border-color: #0057B8; color: #FFFFFF; }
  .tm__go[disabled] { opacity: .35; cursor: default; }
  .tm__go[disabled]:hover { background: none; color: #0E2A47; border-color: var(--line); }

  .tm__rail {
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    cursor: grab;
    
    margin-inline: calc(50% - 50vw);
    padding-inline: max(var(--gutter, 24px), calc(50vw - var(--container, 1280px) / 2));
  }
  .tm__rail::-webkit-scrollbar { display: none; }
  .tm__rail:focus-visible { outline: 2px solid #0057B8; outline-offset: 4px; }
  .tm__rail.is-dragging { cursor: grabbing; scroll-snap-type: none; }
  .tm__rail.is-dragging * { pointer-events: none; }

  .tm__row {
    display: flex;
    gap: clamp(10px, 1.2vw, 18px);
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .tm-card {
    flex: 0 0 clamp(230px, 24vw, 330px);
    scroll-snap-align: start;
    display: grid;
    align-content: start;
    gap: 2px;
  }
  .tm-card__role {
    margin: 0;
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted-2, #6B7C8C);
    min-height: 2.4em;
  }
  .tm-card__name {
    margin: 0 0 clamp(14px, 1.6vw, 22px);
    font-size: clamp(1.05rem, 1.5vw, 1.3rem);
    font-weight: 600;
    letter-spacing: -.02em;
    color: #0E2A47;
  }
  .tm-card__fig {
    margin: 0;
    aspect-ratio: 1;
    overflow: hidden;
    background: var(--surface);
  }
  .tm-card__fig img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(1) contrast(1.02);
    transition: filter .5s ease, transform .7s cubic-bezier(.16, 1, .3, 1);
  }
  .tm-card:hover .tm-card__fig img,
  .tm-card:focus-within .tm-card__fig img { filter: none; transform: scale(1.04); }
}
@layer responsive {
  @media (max-width: 700px) {
    .tm-card { flex-basis: min(74vw, 300px); }
    .tm__bar { flex-wrap: wrap; }
  }
}
@layer motion {
  @media (prefers-reduced-motion: reduce) {
    .tm-card__fig img { transition: none; }
    .tm__rail { scroll-behavior: auto; }
  }
}

@layer sections {
  .tm__rail { scroll-padding-inline-start: max(var(--gutter), calc(50vw - var(--container) / 2)); }
}


@layer sections {
  .tm-card {
    display: block;
    align-content: initial;
    gap: 0;
  }
  .tm-card__hit {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    padding: 0;
    border: 0;
    background: linear-gradient(180deg, #F2F5F9 0%, #E6ECF3 100%);
    cursor: pointer;
    text-align: center;
    font: inherit;
    -webkit-tap-highlight-color: transparent;
  }
  .tm-card__hit:focus-visible { outline: 2px solid #0057B8; outline-offset: 3px; }

  
  .tm-card__cap {
    position: absolute;
    inset-inline: 0;
    top: clamp(18px, 2.4vw, 32px);
    z-index: 2;
    display: grid;
    gap: 6px;
    padding-inline: 14px;
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity .5s cubic-bezier(.16, 1, .3, 1), transform .6s cubic-bezier(.16, 1, .3, 1);
  }
  .tm-card.is-on .tm-card__cap { opacity: 1; transform: none; }
  .tm-card__role {
    display: block;
    font-size: clamp(.78rem, .9vw, .9rem);
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    color: #4A5A68;
    min-height: 0;
  }
  .tm-card__name {
    display: block;
    font-size: clamp(1.15rem, 1.7vw, 1.55rem);
    font-weight: 400;
    letter-spacing: -.01em;
    color: #0E2A47;
  }

  
  .tm-card__fig {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    display: block;
    height: 62%;
    margin: 0;
    background: none;
    aspect-ratio: auto;
  }
  .tm-card__fig picture, .tm-card__fig img { display: block; width: 100%; height: 100%; }
  .tm-card__fig img {
    object-fit: cover;
    object-position: 50% 22%;
    filter: grayscale(1) contrast(1.04);
    transform: none;
    transition: transform .8s cubic-bezier(.16, 1, .3, 1);
  }
  
  .tm-card__hit:hover .tm-card__fig img { transform: scale(1.03); filter: grayscale(1) contrast(1.04); }
  .tm-card:hover .tm-card__fig img,
  .tm-card:focus-within .tm-card__fig img { filter: grayscale(1) contrast(1.04); }
  .tm-card.is-on .tm-card__fig { height: 58%; }
  .tm-card__fig { transition: height .6s cubic-bezier(.16, 1, .3, 1); }
}
@layer motion {
  @media (prefers-reduced-motion: no-preference) {
    
    .js .tm-card[data-reveal]:not(.is-in) { opacity: 0; transform: translate3d(0, 40px, 0); }
  }
  @media (prefers-reduced-motion: reduce) {
    .tm-card__cap, .tm-card__fig, .tm-card__fig img { transition: none; }
  }
}


@layer sections {
  .tm-card { flex-basis: clamp(260px, 27vw, 380px); }
  .tm-card__fig { height: 80%; }
  .tm-card__hit:hover .tm-card__fig,
  .tm-card__hit:focus-visible .tm-card__fig,
  .tm-card.is-on .tm-card__fig { height: 72%; }
  .tm-card__hit:hover .tm-card__cap,
  .tm-card__hit:focus-visible .tm-card__cap,
  .tm-card.is-on .tm-card__cap { opacity: 1; transform: none; }
  .tm-card__cap { top: clamp(14px, 1.8vw, 24px); }
}

@layer sections {
  .tm__rail { scroll-snap-type: x proximity; }
}

@layer sections {
  .tm__rail.is-gliding { scroll-snap-type: none; }
}

@layer sections {
  .hm-work__p {
    margin: var(--s4) 0 0;
    max-width: 48ch;
    color: #D6E1EA;
    font-size: clamp(.95rem, 1.15vw, 1.08rem);
    line-height: 1.55;
  }
}
main .hm-work__h { font-size: var(--title-section); max-width: none; line-height: 1.08; }

@layer sections {
  .pcard__credit {
    display: block;
    margin-top: 8px;
    font-size: .68rem;
    letter-spacing: .04em;
    color: var(--muted-2, #6B7C8C);
  }
}


@layer sections {
  .cr-head {
    padding-block: calc(var(--nav-h) + clamp(40px, 6vh, 90px)) clamp(44px, 6vh, 80px);
    background: var(--ink);
    color: #FFFFFF;
  }
  .cr-head__title {
    margin: var(--s4) 0 var(--s5);
    font-size: var(--title-page);
    line-height: 1.04;
    letter-spacing: -.035em;
    font-weight: 600;
  }
  .cr-head__lead { max-width: 52ch; color: #D6E1EA; margin: 0; }

  .cr-list { padding-block: clamp(46px, 6vh, 86px); }
  .cr-list__head {
    display: flex; align-items: baseline; justify-content: space-between;
    gap: var(--s5); border-bottom: 1px solid var(--line);
    padding-bottom: var(--s4); margin-bottom: clamp(20px, 3vw, 34px);
  }
  .cr-list__h { margin: 0; font-size: var(--title-section); letter-spacing: -.03em; font-weight: 600; }
  .cr-list__n { margin: 0; color: var(--muted-2); font-variant-numeric: tabular-nums; }

  .cr-jobs { list-style: none; margin: 0; padding: 0; }
  .cr-job { border-bottom: 1px solid var(--line); }
  .cr-job__hit {
    display: flex; align-items: center; justify-content: space-between; gap: var(--s5);
    padding-block: clamp(20px, 2.6vw, 30px);
    text-decoration: none; color: inherit;
    transition: padding-inline .4s cubic-bezier(.16, 1, .3, 1), background-color .3s ease;
  }
  .cr-job__hit:hover, .cr-job__hit:focus-visible {
    background: var(--surface);
    padding-inline: clamp(10px, 1.4vw, 20px);
  }
  .cr-job__name { display: block; font-size: clamp(1.1rem, 1.7vw, 1.5rem); font-weight: 600; letter-spacing: -.02em; }
  .cr-job__sum { display: block; margin-top: 6px; color: var(--muted); max-width: 60ch; }
  .cr-job__meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 12px; }
  .cr-job__meta span {
    font-size: var(--t-label); letter-spacing: .1em; text-transform: uppercase; color: var(--muted-2);
  }
  .cr-job__go { font-size: 1.4rem; color: var(--blue); transition: transform .35s cubic-bezier(.16, 1, .3, 1); }
  .cr-job__hit:hover .cr-job__go { transform: translateX(6px); }
  [dir='rtl'] .cr-job__hit:hover .cr-job__go { transform: translateX(-6px); }

  .cr-empty {
    border: 1px dashed var(--line); padding: clamp(24px, 4vw, 40px);
    color: var(--muted); margin: 0;
  }
  .cr-general { margin: clamp(26px, 3.4vw, 44px) 0 0; }

  
  .cr-one {
    padding-block: calc(var(--nav-h) + clamp(30px, 4.6vh, 66px)) clamp(34px, 5vh, 58px);
    background: var(--ink); color: #FFFFFF;
    --muted: #B9C7D4; --muted-2: #8FA6BA; --line: rgba(255,255,255,.14);
  }
  .cr-one .crumb a, .cr-one .crumb span { color: #8FA6BA; }
  .cr-one__title {
    margin: var(--s5) 0 var(--s4);
    font-size: var(--title-page); line-height: 1.05; letter-spacing: -.035em; font-weight: 600;
  }
  .cr-one__meta { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0; }
  .cr-one__meta span { font-size: var(--t-label); letter-spacing: .12em; text-transform: uppercase; color: #3BA0E0; }

  .cr-body { padding-block: clamp(46px, 6vh, 86px); }
  .cr-body__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(30px, 4vw, 70px); align-items: start; }
  .cr-body__text p { margin: 0 0 var(--s4); max-width: 62ch; }
  .cr-body__text ul { margin: 0 0 var(--s5); padding-inline-start: 1.1em; }
  .cr-body__text li { margin-bottom: 8px; }
  .cr-close { color: var(--muted); font-size: var(--t-meta); }

  .cr-apply { background: var(--surface); padding: clamp(22px, 3vw, 38px); border: 1px solid var(--line); }
  .cr-apply__h { margin: 0 0 var(--s5); font-size: clamp(1.15rem, 1.8vw, 1.5rem); font-weight: 600; letter-spacing: -.02em; }
  .cr-errs { border-inline-start: 3px solid #A42A2A; background: #FBF1F1; padding: 14px 18px; margin-bottom: var(--s5); }
  .cr-errs p { margin: 0 0 6px; font-weight: 600; }
  .cr-errs ul { margin: 0; padding-inline-start: 1.1em; }
  .cr-form input[type="file"] { padding: 10px; background: #FFFFFF; }
  
  .cr-hp {
    position: absolute;
    width: 1px; height: 1px;
    margin: -1px; padding: 0; border: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .cr-done { padding-block: calc(var(--nav-h) + clamp(50px, 8vh, 110px)) clamp(60px, 9vh, 120px); }
  .cr-done__h { margin: 0 0 var(--s5); font-size: var(--title-page); letter-spacing: -.035em; font-weight: 600; }
  .cr-done__p { max-width: 58ch; margin: 0 0 var(--s4); }
}
@layer responsive {
  @media (max-width: 900px) {
    .cr-body__grid { grid-template-columns: minmax(0, 1fr); }
    .cr-job__hit { align-items: flex-start; }
  }
}

@layer sections {
  .cr-scan { margin: 8px 0 0; font-size: var(--t-meta); color: var(--muted); }
  .cr-scan--ok { color: #1E6B3A; }
  .cr-scan--warn { color: #8A6A20; }
  .cr-form .is-fromcv { background: #F2F8FC; border-color: #BFD9EC; }

  .cr-done__row { display: flex; flex-wrap: wrap; gap: var(--s4); }

  .cr-track { list-style: none; margin: var(--s5) 0; padding: 0; display: grid; gap: 0; }
  .cr-track__step { display: flex; align-items: center; gap: var(--s4); padding-block: 12px; position: relative; }
  .cr-track__step::before {
    content: ''; position: absolute; inset-inline-start: 7px; top: 28px; bottom: -12px;
    width: 2px; background: var(--line);
  }
  .cr-track__step:last-child::before { display: none; }
  .cr-track__dot {
    width: 16px; height: 16px; border-radius: 50%;
    border: 2px solid var(--line); background: #FFFFFF; flex: 0 0 auto; z-index: 1;
  }
  .cr-track__step.is-done .cr-track__dot { background: #0057B8; border-color: #0057B8; }
  .cr-track__step.is-done::before { background: #0057B8; }
  .cr-track__step.is-now .cr-track__k { font-weight: 700; }
  .cr-track__k { color: var(--muted); }
  .cr-track__step.is-done .cr-track__k { color: var(--ink-abs); }
  .cr-track__who { font-size: clamp(1rem, 1.3vw, 1.15rem); }
  .cr-track__when, .cr-track__out { color: var(--muted); }
}

@layer sections {
  .cr-scan { display: grid; gap: 2px; }
  .cr-scan__other { color: var(--muted-2); font-size: .92em; }
  .cr-scan__go { justify-self: start; margin-top: 4px; font-weight: 600; }

  .cr-help {
    display: grid;
    gap: 2px;
    margin: var(--s5) 0 0;
    padding-top: var(--s4);
    border-top: 1px solid var(--line);
    font-size: var(--t-meta);
    color: var(--muted);
  }
  .cr-help span:last-child { color: var(--muted-2); }
  .cr-help--list { margin-top: clamp(26px, 3.4vw, 44px); border-top: 0; padding-top: 0; }
}

@layer sections {
  .cr-ways {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(12px, 1.6vw, 20px);
    margin-top: clamp(30px, 4vw, 56px);
  }
  .cr-way {
    display: grid;
    align-content: start;
    gap: 8px;
    padding: clamp(18px, 2.2vw, 26px);
    border: 1px solid var(--line);
    background: #FFFFFF;
    text-decoration: none;
    color: inherit;
    transition: border-color .3s ease, transform .35s cubic-bezier(.16, 1, .3, 1);
  }
  .cr-way:hover, .cr-way:focus-visible { border-color: #0057B8; transform: translateY(-3px); }
  .cr-way__k { font-weight: 600; font-size: clamp(1rem, 1.25vw, 1.12rem); color: #0057B8; }
  .cr-way__p { color: var(--muted); font-size: var(--t-meta); line-height: 1.6; }
  .cr-way--help .cr-way__p { font-variant-numeric: tabular-nums; }
}
@media (max-width: 860px) {
  .cr-ways { grid-template-columns: minmax(0, 1fr); }
}


@layer sections {
  
  .cr-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: clamp(12px, 1.6vw, 20px);
    padding: clamp(16px, 2vw, 24px);
    border: 1px solid var(--line);
    background: #FFFFFF;
    margin-bottom: clamp(20px, 2.6vw, 32px);
  }
  .cr-filters__f { margin: 0; display: grid; gap: 6px; min-width: 190px; }
  .cr-filters__f--grow { flex: 1 1 260px; }
  .cr-filters__f label {
    font-size: var(--t-label); letter-spacing: .12em; text-transform: uppercase; color: var(--muted-2);
  }
  .cr-filters__f select, .cr-filters__f input {
    padding: 11px 13px; font: inherit; color: inherit;
    border: 1px solid var(--line); background: var(--surface); width: 100%;
  }
  .cr-filters__f select:focus, .cr-filters__f input:focus { outline: 2px solid #0057B8; outline-offset: 1px; }
  .cr-filters__go { align-self: flex-end; }
  .cr-filters__clear { align-self: center; font-size: var(--t-meta); color: var(--muted); }

  .cr-count { margin: 0 0 clamp(16px, 2vw, 24px); color: var(--muted); font-size: var(--t-meta); }

  
  .cr-grid {
    list-style: none; margin: 0; padding: 0;
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(14px, 1.8vw, 22px);
  }
  .cr-card {
    display: grid; align-content: start; gap: var(--s4);
    padding: clamp(22px, 2.6vw, 32px);
    border: 1px solid var(--line); background: #FFFFFF;
    transition: border-color .3s ease, transform .4s cubic-bezier(.16, 1, .3, 1), box-shadow .3s ease;
  }
  .cr-card:hover {
    border-color: #0057B8; transform: translateY(-3px);
    box-shadow: 0 16px 34px rgba(14, 42, 71, .08);
  }
  .cr-card__name { margin: 0; font-size: clamp(1.15rem, 1.7vw, 1.45rem); font-weight: 600; letter-spacing: -.02em; }
  .cr-card__name a { text-decoration: none; color: var(--ink-abs); }
  .cr-card__name a:hover { color: #0057B8; }
  .cr-card__sum { margin: 0; color: var(--muted); line-height: 1.65; }

  .cr-facts { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
  .cr-facts li { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: var(--t-meta); }
  .cr-i { width: 17px; height: 17px; flex: 0 0 auto; color: #0057B8; }

  .cr-card__go { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }

  
  .cr-one__dept {
    margin: var(--s4) 0 0; color: #3BA0E0;
    font-size: var(--t-label); letter-spacing: .14em; text-transform: uppercase;
  }
  .cr-body__grid { grid-template-columns: 1.35fr .65fr; }
  .cr-body__h { margin: 0 0 var(--s5); font-size: clamp(1.2rem, 1.9vw, 1.6rem); font-weight: 600; letter-spacing: -.02em; }
  .cr-body__text h3 { margin: var(--s6) 0 var(--s4); font-size: 1.05rem; font-weight: 600; }

  .cr-side {
    position: sticky; top: calc(var(--nav-h) + 16px);
    display: grid; gap: var(--s5);
    padding: clamp(20px, 2.4vw, 28px);
    border: 1px solid var(--line); background: #FFFFFF;
  }
  .cr-side__apply { width: 100%; text-align: center; }
  .cr-side__facts { margin: 0; display: grid; gap: 0; }
  .cr-side__facts > div { display: grid; gap: 4px; padding-block: 14px; border-bottom: 1px solid var(--line); }
  .cr-side__facts > div:last-child { border-bottom: 0; padding-bottom: 0; }
  .cr-side__facts dt {
    display: flex; align-items: center; gap: 8px;
    font-size: var(--t-label); letter-spacing: .12em; text-transform: uppercase; color: var(--muted-2);
  }
  .cr-side__facts dd { margin: 0; font-weight: 600; }

  
  .cr-applysec { padding-block: clamp(46px, 6vh, 86px); }
  .cr-apply { max-width: 900px; margin-inline: auto; background: #FFFFFF; border: 1px solid var(--line); padding: clamp(24px, 3.4vw, 46px); }
  .cr-apply__sub { margin: calc(var(--s4) * -1) 0 var(--s6); color: var(--muted); }
  .cr-leg {
    grid-column: 1 / -1;
    margin: var(--s5) 0 var(--s4);
    padding-bottom: 10px;
    border-bottom: 1px solid var(--line);
    font-size: var(--t-label); letter-spacing: .14em; text-transform: uppercase; color: #0057B8;
  }
  .cr-form .cr-leg:first-of-type { margin-top: 0; }
  .cr-opt { color: var(--muted-2); font-weight: 400; text-transform: none; letter-spacing: 0; }

  
  .cr-file { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
  .cr-drop {
    display: grid; justify-items: center; gap: 6px;
    padding: clamp(26px, 4vw, 44px);
    border: 2px dashed var(--line); background: var(--surface);
    text-align: center; cursor: pointer;
    transition: border-color .25s ease, background-color .25s ease;
  }
  .cr-drop:hover, .cr-file:focus-visible + .cr-drop, .cr-drop.is-over { border-color: #0057B8; background: #F2F8FC; }
  .cr-drop__icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #E7F1F8; }
  .cr-drop__icon .cr-i { width: 22px; height: 22px; }
  .cr-drop__k { font-weight: 600; }
  .cr-drop__p { color: var(--muted); font-size: var(--t-meta); }
  .cr-drop__file { margin-top: 8px; font-weight: 600; color: #0057B8; }
}
@layer responsive {
  @media (max-width: 1000px) {
    .cr-grid { grid-template-columns: minmax(0, 1fr); }
    .cr-body__grid { grid-template-columns: minmax(0, 1fr); }
    .cr-side { position: static; }
  }
  @media (max-width: 700px) {
    .cr-filters { flex-direction: column; align-items: stretch; }
    .cr-filters__go { width: 100%; }
  }
}


@layer components {
  .hslide__v,
  .hero__v {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    
    background: var(--ink);
  }
  .hslide__bg { position: absolute; inset: 0; overflow: hidden; }

}
@layer sections {
  
  .hero--reel .hslide__bg::after {
    background:
      linear-gradient(180deg, rgba(14, 42, 71, .42) 0%, rgba(14, 42, 71, .16) 34%, rgba(14, 42, 71, .88) 100%),
      linear-gradient(90deg, rgba(14, 42, 71, .74) 0%, rgba(14, 42, 71, .30) 46%, rgba(14, 42, 71, .06) 76%, rgba(14, 42, 71, .22) 100%);
  }
}
@layer sections {
  
  .btn {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-radius: 999px;
    border: 1px solid var(--line-2);
    background-color: transparent;
    color: var(--white);
    transition:
      border-color var(--d-base) var(--e-out),
      color var(--d-base) var(--e-out);
  }
  
  .btn::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: #0057B8;
    transform-origin: left;
    scale: 0 1;
    transition: scale var(--d-base) var(--e-out);
  }
  [dir='rtl'] .btn::before { transform-origin: right; }

  
  .btn--accent { border-color: #0057B8; }
  .btn--ghost  { border-color: var(--line); }

  
  .btn:hover,
  .btn:focus-visible,
  .btn:active {
    border-color: #0057B8;
    background-color: transparent;
    color: #FFFFFF;
  }
  .btn:hover::before,
  .btn:focus-visible::before,
  .btn:active::before { scale: 1 1; }

  
  .cta--paper .btn--ghost,
  .cta--paper .btn--ghost:hover,
  .section--light .btn--primary,
  .section--light .btn--primary:hover,
  .section--light-2 .btn--primary,
  .section--light-2 .btn--primary:hover { background-color: transparent; }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    
    .btn::before { transition: none; }
  }
}

@layer sections {
  

  
  .cr-one {
    padding-block: calc(var(--nav-h) + clamp(22px, 3.2vh, 44px)) clamp(26px, 3.6vh, 44px);
    background:
      radial-gradient(120% 140% at 0% 0%, rgba(0, 87, 184, .55) 0%, rgba(0, 87, 184, 0) 58%),
      radial-gradient(90% 120% at 100% 100%, rgba(59, 160, 224, .16) 0%, rgba(59, 160, 224, 0) 60%),
      var(--ink);
  }

  
  .cr-body.section--light {
    background:
      radial-gradient(70% 90% at 100% 0%, rgba(0, 87, 184, .07) 0%, rgba(0, 87, 184, 0) 62%),
      linear-gradient(180deg, #FFFFFF 0%, #F7F9FB 100%);
    padding-block: clamp(34px, 4.4vh, 62px) clamp(40px, 5vh, 72px);
  }

  .cr-body__h {
    display: flex;
    align-items: center;
    gap: var(--s4);
  }
  
  .cr-body__h::before {
    content: '';
    flex: none;
    width: clamp(20px, 2.4vw, 38px);
    height: 2px;
    background: #0057B8;
  }

  .cr-body__text { font-size: var(--t-lead); line-height: 1.62; }
  .cr-body__text p { max-width: 64ch; }

  
  .cr-body__text ul {
    display: grid;
    gap: clamp(10px, 1.2vh, 14px);
    margin: 0 0 var(--s5);
    padding-inline-start: 0;
    max-width: 64ch;
  }
  .cr-body__text li {
    position: relative;
    margin: 0;
    padding-inline-start: clamp(20px, 2vw, 26px);
  }
  .cr-body__text li::before {
    content: '';
    position: absolute;
    inset-inline-start: 0;
    top: .62em;
    width: 7px;
    height: 7px;
    background: #0057B8;
  }
  .cr-body__text > *:last-child { margin-bottom: 0; }

  
  .cr-body__h--next { margin-top: clamp(34px, 4.4vh, 58px); }
  .cr-steps {
    display: grid;
    gap: 0;
    margin: 0 0 var(--s5);
    padding: 0;
    max-width: 64ch;
    border-top: 1px solid var(--line);
  }
  
  .cr-steps li::before { content: none; }
  .cr-steps li {
    display: grid;
    padding-inline-start: 0;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: baseline;
    column-gap: clamp(14px, 1.8vw, 24px);
    padding-block: clamp(14px, 1.8vh, 20px);
    border-bottom: 1px solid var(--line);
  }
  .cr-steps__n {
    grid-row: 1 / span 2;
    color: #0057B8;
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .14em;
    font-variant-numeric: tabular-nums;
  }
  .cr-steps__k { font-weight: 600; color: var(--ink-abs); }
  .cr-steps__p { margin-top: 4px; color: var(--muted); font-size: var(--t-meta); }
  .cr-steps__foot { color: var(--muted); font-size: var(--t-meta); }
  .cr-steps__foot a { color: #0057B8; text-decoration: underline; text-underline-offset: 3px; }

  
  .cr-side {
    border-color: rgba(14, 42, 71, .16);
    box-shadow: 0 18px 44px rgba(14, 42, 71, .06);
  }

  
  .cr-applysec.section--light-2 {
    background: linear-gradient(180deg, #F7F9FB 0%, #EEF2F6 100%);
  }

  
  .cr-drop {
    grid-auto-flow: column;
    justify-content: center;
    align-items: center;
    gap: clamp(12px, 1.4vw, 18px);
    padding: clamp(16px, 1.8vw, 22px) clamp(18px, 2.4vw, 30px);
    text-align: start;
    
    border-color: rgba(0, 87, 184, .34);
    background: #F7FAFC;
  }
  .cr-drop__icon { width: 38px; height: 38px; }
  .cr-drop__icon .cr-i { width: 19px; height: 19px; }
  .cr-drop__t { display: grid; gap: 2px; }
}

@layer responsive {
  @media (max-width: 560px) {
    
    .cr-drop { grid-auto-flow: row; justify-items: center; text-align: center; }
  }
}

@layer sections {
  
  .pj-head--short {
    min-height: 0;
    padding-block: calc(var(--nav-h) + clamp(22px, 3.2vh, 44px)) clamp(26px, 3.6vh, 46px);
  }
  .pj-head--short .crumb { margin-bottom: clamp(14px, 1.8vh, 24px); }
  
  .pj-head__bg,
  .pj-head__bg img {
    position: absolute;
    inset: 0;
    z-index: -2;          
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .pj-head--short::after {
    background:
      linear-gradient(92deg, rgba(14,42,71,.92) 0%, rgba(14,42,71,.72) 46%, rgba(14,42,71,.42) 100%),
      linear-gradient(180deg, rgba(14,42,71,.55) 0%, rgba(14,42,71,.30) 50%, rgba(14,42,71,.62) 100%);
  }
  
  .pj-head--short .pj-head__title { font-size: var(--title-page); }

  
  .wa-index__link {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    align-items: center;
    transition: border-color var(--d-base) var(--e-out), color var(--d-base) var(--e-out);
  }
  .wa-index__link::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: #0057B8;
    transform-origin: left;
    scale: 0 1;
    transition: scale var(--d-base) var(--e-out);
  }
  [dir='rtl'] .wa-index__link::before { transform-origin: right; }
  .wa-index__go {
    display: inline-block;
    color: #0057B8;
    transition: transform var(--d-base) var(--e-out), color var(--d-base) var(--e-out);
  }
  .wa-index__link:hover,
  .wa-index__link:focus-visible { border-color: #0057B8; background: transparent; color: #FFFFFF; }
  .wa-index__link:hover::before,
  .wa-index__link:focus-visible::before { scale: 1 1; }
  .wa-index__link:hover .wa-index__go,
  .wa-index__link:focus-visible .wa-index__go { color: #FFFFFF; transform: translateY(3px); }

  
  .tm-card { flex-basis: clamp(180px, 20vw, 248px); }
  .tm-card__in { display: grid; gap: clamp(10px, 1.2vw, 14px); margin: 0; }
  .tm-card__fig {
    position: static;
    display: block;
    height: auto;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: linear-gradient(180deg, #F2F5F9 0%, #E6ECF3 100%);
  }
  .tm-card__cap {
    position: static;
    display: grid;
    gap: 2px;
    padding-inline: 0;
    opacity: 1;
    transform: none;
    text-align: start;
  }
  .tm-card__name {
    font-size: clamp(.98rem, 1.15vw, 1.14rem);
    font-weight: 600;
    color: var(--ink-abs);
  }
  .tm-card__role {
    font-size: var(--t-meta);
    line-height: 1.4;
    color: var(--muted-2);
  }
  
  .tm-card__in { position: relative; display: block; }
  .tm-card__cap {
    position: absolute;
    inset-inline: 0;
    
    inset-block-start: auto;
    inset-block-end: 0;
    z-index: 2;
    display: grid;
    gap: 1px;
    padding: clamp(28px, 4vw, 44px) clamp(12px, 1.4vw, 16px) clamp(12px, 1.4vw, 16px);
    background: linear-gradient(180deg,
      rgba(14, 42, 71, 0) 0%,
      rgba(14, 42, 71, .42) 38%,
      rgba(14, 42, 71, .88) 100%);
    pointer-events: none;            
    text-align: start;
  }
  .tm-card__name {
    font-size: clamp(.95rem, 1.1vw, 1.08rem);
    font-weight: 600;
    line-height: 1.25;
    color: #FFFFFF;
  }
  .tm-card__role {
    font-size: clamp(.68rem, .76vw, .78rem);
    line-height: 1.35;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .72);
  }
  
  .tm-card__fig { aspect-ratio: 4 / 5; }
  
  .tm-card.is-on .tm-card__cap { opacity: 0; transition: opacity .25s var(--e-out); }

  
  .tm-card__hit {
    position: relative;
    width: 100%;
    padding: 0;
    border: 0;
    cursor: pointer;
    font: inherit;
    -webkit-tap-highlight-color: transparent;
  }
  .tm-card__hit:focus-visible { outline: 2px solid #0057B8; outline-offset: 3px; }
  .tm-card__more {
    position: absolute;
    inset-block-start: 10px;
    inset-inline-start: 10px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(14, 42, 71, .62);
    color: #FFFFFF;
    font-size: 1rem;
    line-height: 1;
    transition: background-color var(--d-base) var(--e-out), rotate var(--d-base) var(--e-out);
  }
  .tm-card__hit:hover .tm-card__more { background: #0057B8; }
  .tm-card.is-on .tm-card__more { rotate: 45deg; }

  
  .tm-panel {
    position: absolute;
    inset-inline: 0;
    inset-block-start: 0;
    z-index: 3;
    display: grid;
    align-content: start;
    gap: 6px;
    aspect-ratio: 4 / 5;
    padding: clamp(16px, 1.8vw, 22px);
    background: var(--ink);
    color: #FFFFFF;
    opacity: 0;
    transition: opacity .3s var(--e-out);
  }
  .tm-panel[hidden] { display: none; }
  .tm-card.is-on .tm-panel { opacity: 1; }
  .tm-card__in { position: relative; }
  .tm-panel__x {
    justify-self: end;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .26);
    border-radius: 50%;
    background: transparent;
    color: #FFFFFF;
    font: inherit;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color var(--d-base) var(--e-out);
  }
  .tm-panel__x:hover, .tm-panel__x:focus-visible { background: #0057B8; }
  .tm-panel__name { margin: var(--s3) 0 0; font-weight: 600; font-size: 1.05rem; }
  .tm-panel__role {
    margin: 0;
    font-size: var(--t-meta);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #3BA0E0;
  }
  .tm-panel__p { margin: var(--s4) 0 0; font-size: var(--t-meta); color: #B9C7D4; }

  
  .tmjoin {
    padding-block: clamp(46px, 6.5vh, 96px);
    
    border-top: 1px solid var(--line);
  }
  .tmjoin__in {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between;
    gap: clamp(22px, 3vw, 56px);
  }
  .tmjoin__h {
    margin: var(--s4) 0 var(--s4);
    font-size: var(--title-section);
    line-height: 1.05;
    letter-spacing: -.03em;
    font-weight: 600;
    color: var(--white);
  }
  .tmjoin__p { margin: 0; max-width: 54ch; color: var(--muted); }
  .tmjoin__go { flex: none; }

  
  .tm-card:hover .tm-card__fig img { transform: scale(1.04); }
}

@layer components {
  
  .ckn {
    
    --white:   var(--ink-abs);
    --ice:     #0A2240;
    --muted:   #171A1F;
    --muted-2: #5C6470;
    --line:    rgba(14, 42, 71, .13);
    --line-2:  rgba(14, 42, 71, .26);
    --blue-bright: #0057B8;

    position: fixed;
    
    inset-inline-end: clamp(16px, 2.4vw, 28px);
    bottom: clamp(16px, 2.4vw, 28px);
    z-index: 900;
    display: grid;
    justify-items: start;
    gap: var(--s4);
    width: min(400px, calc(100vw - 32px));
    padding: clamp(18px, 2vw, 24px);
    border: 1px solid rgba(14, 42, 71, .14);
    border-radius: 2px;
    background: #FFFFFF;
    box-shadow: 0 22px 54px rgba(14, 42, 71, .16);
    transform: translateY(14px);
    opacity: 0;
    transition: opacity .38s ease, transform .5s cubic-bezier(.16, 1, .3, 1);
  }
  .ckn.is-up { opacity: 1; transform: none; }
  .ckn__t {
    margin: 0;
    font-size: var(--t-meta);
    line-height: 1.55;
    color: #171A1F;
  }
  .ckn .btn { border-color: #0057B8; }
}

@layer responsive {
  @media (max-width: 560px) {
    .ckn { inset-inline: 16px; width: auto; }
  }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    .ckn { transition: none; }
  }
}

@layer sections {
  
  .cx-open__n {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .14em;
    color: var(--blue-bright);
    font-variant-numeric: tabular-nums;
  }

  
  .scrollcue {
    width: 32px;
    height: 32px;
    padding: 0;
    gap: 0;
    justify-content: center;
    border-radius: 50%;
  }
  .scrollcue__i { width: 15px; height: 15px; }
}

@layer sections {
  
  .wa-flow {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    gap: 0;
    margin: clamp(26px, 3.4vh, 44px) 0 0;
    padding: 0;
    border-top: 1px solid var(--line);
    list-style: none;
  }
  .wa-flow__line { display: none; }          
  
  .wa-flow > li:nth-of-type(1),
  .wa-flow > li:nth-of-type(2),
  .wa-flow > li:nth-of-type(3),
  .wa-flow > li:nth-of-type(4),
  .wa-flow > li:nth-of-type(5) { grid-column: auto; grid-row: auto; }
  .wa-flow__step--up .wa-flow__b,
  .wa-flow__step--down .wa-flow__b,
  .wa-flow__step--up .wa-flow__dot,
  .wa-flow__step--down .wa-flow__dot { grid-row: auto; align-self: start; }
  
  .wa-flow__step--down .wa-flow__dot,
  .wa-flow__step--up .wa-flow__dot {
    background: none;
    color: var(--blue-bright);
  }
  .wa-flow__dot::after { content: none; }
  .wa-flow__step--down .wa-flow__b,
  .wa-flow__step--up .wa-flow__b { padding: 0; }
  .wa-flow__step,
  .wa-flow__step--up,
  .wa-flow__step--down {
    grid-row: auto;
    grid-template-rows: auto;
    justify-items: start;
    display: grid;
    grid-template-columns: 3.2rem minmax(0, 15rem) minmax(0, 1fr);
    align-items: start;
    gap: clamp(14px, 2vw, 34px);
    margin: 0;
    padding-block: clamp(18px, 2.4vh, 28px);
    border-bottom: 1px solid var(--line);
    transform: none;
    text-align: start;
  }
  .wa-flow__dot {
    display: block;
    width: auto;
    height: auto;
    margin: 0;
    background: none;
    border-radius: 0;
    color: var(--blue-bright);
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .14em;
    font-variant-numeric: tabular-nums;
    line-height: 1.6;
  }
  .wa-flow__dot b { font-weight: 600; }
  .wa-flow__b {
    display: contents;                        
  }
  .wa-flow__name {
    font-size: clamp(1.02rem, 1.4vw, 1.24rem);
    font-weight: 600;
    letter-spacing: -.01em;
    color: var(--white);
    text-align: start;
  }
  .wa-flow__desc {
    margin: 0;
    max-width: 62ch;
    color: var(--muted);
    text-align: start;
  }
}

@layer responsive {
  @media (max-width: 760px) {
    .wa-flow__step,
    .wa-flow__step--up,
    .wa-flow__step--down { grid-template-columns: 2.6rem minmax(0, 1fr); }
    
    .wa-flow__desc { grid-column: 2; }
  }
}


  
  .tm-panel {
    align-content: end;
    gap: 4px;
    
    pointer-events: none;
    background: linear-gradient(180deg, rgba(14, 42, 71, .38) 0%, rgba(14, 42, 71, .88) 68%);
    -webkit-backdrop-filter: blur(3px) saturate(.9);
    backdrop-filter: blur(3px) saturate(.9);
  }
  .tm-panel__name,
  .tm-panel__role,
  .tm-panel__p {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .42s var(--e-out), transform .52s var(--e-out);
  }
  .tm-card.is-on .tm-panel__name,
  .tm-card.is-on .tm-panel__role,
  .tm-card.is-on .tm-panel__p { opacity: 1; transform: none; }
  .tm-card.is-on .tm-panel__name { transition-delay: .10s; }
  .tm-card.is-on .tm-panel__role { transition-delay: .17s; }
  .tm-card.is-on .tm-panel__p    { transition-delay: .24s; }
  .tm-panel__name { margin: 0; }
  .tm-panel__p { margin: var(--s3) 0 0; }

  
  .tm.section--light { padding-block-start: clamp(22px, 3vh, 44px); }
  .tm__bar { margin-bottom: clamp(12px, 1.6vh, 18px); }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    .tm-panel__name,
    .tm-panel__role,
    .tm-panel__p { transition: none; transform: none; }
  }
}

@layer sections {
  
  .xp {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: clamp(12px, 1.4vw, 20px);
    margin: clamp(26px, 3.4vh, 46px) 0 0;
    padding: 0;
    list-style: none;
  }
  .xp__i:nth-child(1),
  .xp__i:nth-child(2) { grid-column: span 3; }
  .xp__i:nth-child(3),
  .xp__i:nth-child(4),
  .xp__i:nth-child(5) { grid-column: span 2; }

  .xp__i {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--s3);
    min-height: clamp(220px, 20vw, 268px);
    padding: clamp(24px, 2.4vw, 32px);
    border: 1px solid var(--line);
    color: var(--white);
    transition: color .45s var(--e-out), border-color .45s var(--e-out);
  }

  
  .xp__i::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -2;
    background: linear-gradient(160deg, #0057B8 0%, #0E2A47 100%);
    transform-origin: bottom;
    scale: 1 0;
    transition: scale .55s var(--e-out);
  }

  
  .xp__ghost {
    position: absolute;
    z-index: -1;
    inset-inline-end: -.06em;
    inset-block-end: -.30em;
    font-size: clamp(7rem, 13vw, 12rem);
    font-weight: 700;
    line-height: .8;
    letter-spacing: -.06em;
    color: rgba(0, 87, 184, .07);
    font-variant-numeric: tabular-nums;
    pointer-events: none;
    transition: transform .6s var(--e-out), color .5s var(--e-out);
  }

  
  .xp__rule {
    position: absolute;
    inset-block-start: 0;
    inset-inline: 0;
    height: 3px;
    background: #0057B8;
    transform-origin: left;
    scale: 0 1;
    transition: scale .5s var(--e-out), background-color .45s var(--e-out);
  }
  [dir='rtl'] .xp__rule { transform-origin: right; }
  
  .xp__i:first-child .xp__rule { scale: 1 1; }

  .xp__n {
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .18em;
    color: #0057B8;
    font-variant-numeric: tabular-nums;
    transition: color .45s var(--e-out);
  }
  .xp__t {
    margin: 0;
    font-size: clamp(1.1rem, 1.6vw, 1.44rem);
    font-weight: 600;
    letter-spacing: -.015em;
  }
  .xp__d { margin: 0; max-width: 46ch; color: var(--muted); transition: color .45s var(--e-out); }
  .xp__more {
    margin: auto 0 0;
    padding-top: var(--s4);
    border-top: 1px solid var(--line);
    font-size: var(--t-meta);
    color: var(--muted-2);
    transition: color .45s var(--e-out), border-color .45s var(--e-out);
  }

  
  .xp__i:hover { border-color: #0E2A47; color: #FFFFFF; }
  .xp__i:hover::before { scale: 1 1; }
  .xp__i:hover .xp__rule { scale: 1 1; background: #3BA0E0; }
  .xp__i:hover .xp__ghost {
    transform: translate(-6%, -14%);
    color: rgba(255, 255, 255, .10);
  }
  .xp__i:hover .xp__n { color: #3BA0E0; }
  .xp__i:hover .xp__d { color: rgba(255, 255, 255, .86); }
  .xp__i:hover .xp__more {
    color: rgba(255, 255, 255, .70);
    border-color: rgba(255, 255, 255, .22);
  }
}

@layer responsive {
  @media (max-width: 1040px) {
    .xp { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .xp__i:nth-child(1),
    .xp__i:nth-child(2),
    .xp__i:nth-child(3),
    .xp__i:nth-child(4),
    .xp__i:nth-child(5) { grid-column: span 1; }
  }
  @media (max-width: 640px) {
    .xp { grid-template-columns: minmax(0, 1fr); }
  }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    
    .xp__i, .xp__i::before, .xp__ghost, .xp__rule,
    .xp__n, .xp__d, .xp__more { transition: none; }
    .xp__i:hover .xp__ghost { transform: none; }
  }
}

@layer sections {
  
  .nf-play {
    margin: var(--s4) 0 0;
    font-size: clamp(1.05rem, 1.6vw, 1.35rem);
    font-weight: 500;
    color: #3BA0E0;
    letter-spacing: 0;
  }

  
  .footer__made { color: var(--muted-2); }
  .footer__made strong { font-weight: 600; color: var(--muted); letter-spacing: .04em; }

  
  .wabtn {
    width: 46px;
    height: 46px;
    inset-block-end: clamp(12px, 2vh, 20px);
    inset-inline-end: clamp(12px, 2vw, 20px);
  }
  .wabtn__i { width: 23px; height: 23px; }

  
  .tm.section--light { padding-block-start: clamp(10px, 1.6vh, 22px); }
  .tm__bar { margin-bottom: clamp(6px, 0.9vh, 12px); }
}

@layer components {
  
  .lightbox__img.is-waiting { filter: blur(6px); transform: scale(1.02); }
  .lightbox__img { transition: filter .35s var(--e-out), transform .35s var(--e-out); }
}

@layer motion {
  
  .js [data-reveal].is-at-once,
  .js [data-reveal].is-at-once.is-in,
  .js [data-reveal][data-reveal-dir].is-at-once {
    opacity: 1;
    transform: none;
    transition: none;
    transition-delay: 0s;
  }
  .js [data-reveal].is-at-once [data-reveal],
  .js [data-reveal-media].is-at-once img {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

@layer sections {
  
  .pj-head--short {
    padding-block: calc(var(--nav-h) + clamp(14px, 2vh, 26px)) clamp(16px, 2.2vh, 28px);
  }
  .pj-work { padding-block: clamp(20px, 2.6vh, 36px) clamp(44px, 6vh, 88px); }
  .pj-work__head { margin-bottom: clamp(12px, 1.6vh, 20px); }
  .pj-work__h { font-size: clamp(1.3rem, 2.4vw, 1.9rem); }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    
    .hslide__v, .hero__v { transition: none; }
  }
}


@layer tokens {
  :root {
    
    --mark-rev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 44'%3E%3Cpath d='M23 1v28.4L2 42z' fill='%23FFFFFF'/%3E%3Cpath d='M25 1l21 41-21-12.6z' fill='%233BA0E0'/%3E%3Cpath d='M4 44l20-12 20 12z' fill='%230057B8'/%3E%3C/svg%3E");
    --mark-ink: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 44'%3E%3Cpath d='M23 1v28.4L2 42z' fill='%230E2A47'/%3E%3Cpath d='M25 1l21 41-21-12.6z' fill='%230057B8'/%3E%3Cpath d='M4 44l20-12 20 12z' fill='%233BA0E0'/%3E%3C/svg%3E");
  }
  :root { --mark: var(--mark-rev); }
  .section--light, .section--light-2 { --mark: var(--mark-ink); }
}

@layer base {
  
  p, dd, blockquote { text-align: justify; }
}

@layer components {
  
  .pj-eyebrow::before,
  .eyebrow::before {
    content: '';
    flex: none;
    width: 1.35em;
    aspect-ratio: 48 / 44;
    background: var(--mark) center / contain no-repeat;
  }
  .pj-eyebrow, .eyebrow { text-align: start; }
}

@layer responsive {
  
  .footer { overflow: hidden; }
  .footer::after {
    content: '';
    position: absolute;
    z-index: -1;
    right: clamp(-120px, -4vw, -40px);
    bottom: clamp(-60px, -3vw, -20px);
    width: clamp(260px, 30vw, 520px);
    aspect-ratio: 48 / 44;
    background: var(--mark) center / contain no-repeat;
    opacity: .07;
    pointer-events: none;
  }
  [dir='rtl'] .footer::after { right: auto; left: clamp(-120px, -4vw, -40px); }

  
  .hero--reel:has(.hero__brand) {
    justify-content: center;
    padding-bottom: clamp(40px, 8vh, 110px);
  }
  .hero__brand > * { max-width: 760px; }
  .hero__kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: clamp(14px, 2.2vh, 26px);
    color: #FFFFFF;
    font-size: var(--t-label);
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
    text-align: start;
  }
  .hero__kicker::before {
    content: '';
    width: 22px;
    aspect-ratio: 48 / 44;
    background: var(--mark) center / contain no-repeat;
  }
  .hero__kicker i { font-style: normal; color: #3BA0E0; margin-inline: 4px; }
  @media (max-width: 520px) { .hero__kicker { letter-spacing: .12em; font-size: .68rem; } }
  .hero__brand .hero__title {
    margin-bottom: clamp(10px, 1.6vh, 20px);
    text-shadow: 0 2px 30px rgba(14,42,71,.45);
  }
  .hero__accent { font-style: normal; color: #3BA0E0; }
  .hero__sub {
    color: #FFFFFF;
    font-size: clamp(1.3rem, 2.3vw, 2.15rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.01em;
    text-align: start;
    text-wrap: balance;
    margin-bottom: clamp(14px, 2.2vh, 26px);
    text-shadow: 0 2px 24px rgba(14,42,71,.5);
  }
  .hero__brand .hero__lead {
    max-width: 60ch;
    color: rgba(242,245,249,.9);
    margin-bottom: clamp(22px, 3.4vh, 40px);
  }
  .hero__brand .hero__cta { margin-bottom: 0; }
  .hero__brand .btn--ghost { border-color: rgba(255,255,255,.55); color: #FFFFFF; }
  .hero__brand .btn span { margin-inline-start: 8px; }

  
  .hm-impact {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: clamp(280px, 24vw, 360px);
    background: #0E2A47;
    border-radius: 8px;
  }
  .hm-impact__img {
    position: absolute; inset: 0 auto 0 0; z-index: -2;
    width: 40%; height: 100%;
    object-fit: cover;
    object-position: 50% 66%;
  }
  .hm-impact::before {
    content: '';
    position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(90deg, rgba(14,42,71,0) 0%, rgba(14,42,71,.15) 18%, rgba(14,42,71,.8) 31%, #0E2A47 39.5%);
  }
  .hm-impact__copy {
    width: 62%;
    padding: clamp(28px, 3vw, 48px) clamp(24px, 3vw, 48px) clamp(28px, 3vw, 48px) 0;
  }
  .hm-impact__h {
    color: #FFFFFF;
    font-size: clamp(1.5rem, 2.3vw, 2.3rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.015em;
    text-align: start;
    margin-bottom: clamp(24px, 3vw, 40px);
  }
  .hm-values { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .hm-values li {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding-inline: 8px;
    color: rgba(242,245,249,.9);
    font-size: .76rem;
    font-weight: 600;
    line-height: 1.35;
    text-align: center;
  }
  .hm-values li + li { border-inline-start: 1px solid rgba(242,245,249,.2); }
  .hm-values svg {
    width: 32px; height: 32px;
    fill: none;
    stroke: #3BA0E0;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .hm-accr {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: clamp(14px, 1.6vw, 20px);
    margin-top: clamp(24px, 3vw, 40px);
  }
  .hm-accr__h {
    color: #0E2A47;
    font-size: clamp(1.25rem, 1.8vw, 1.7rem);
    font-weight: 700;
    letter-spacing: -.015em;
  }
  .hm-iso { display: flex; gap: clamp(22px, 3vw, 44px); }
  .hm-iso li { display: flex; flex-direction: column; align-items: center; gap: 6px; }
  .hm-iso__seal {
    display: grid;
    place-items: center;
    width: clamp(64px, 5.6vw, 80px);
    aspect-ratio: 1;
    border-radius: 50%;
    border: 3px solid #0057B8;
    box-shadow: inset 0 0 0 3px #FFFFFF, inset 0 0 0 4px rgba(0,87,184,.35);
    background: #FFFFFF;
    color: #0057B8;
    transition: transform var(--d-fast) var(--e-out), background-color var(--d-fast) var(--e-out), color var(--d-fast) var(--e-out);
  }
  .hm-iso__seal:hover,
  .hm-iso__seal:focus-visible { background: #0057B8; color: #FFFFFF; transform: translateY(-2px); }
  .hm-iso__iso { font-size: clamp(1.2rem, 1.6vw, 1.5rem); font-weight: 800; letter-spacing: .02em; }
  .hm-iso__n { color: #0E2A47; font-size: .85rem; font-weight: 700; }

  @media (max-width: 760px) {
    .hm-impact { flex-direction: column; align-items: stretch; min-height: 0; }
    .hm-impact__img { position: relative; width: 100%; height: auto; aspect-ratio: 4 / 3; object-position: 50% 62%; }
    .hm-impact::before { background: linear-gradient(180deg, rgba(14,42,71,0) 0%, rgba(14,42,71,0) 32%, #0E2A47 44%); }
    .hm-impact__copy { width: 100%; padding: 0 20px 24px; margin-top: -56px; }
    .hm-values { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 20px; }
    .hm-values li:nth-child(4) { border-inline-start: 0; }
    .hm-accr { align-items: center; }
  }
}


main .hero__brand .hero__title {
  font-size: clamp(3rem, 7.4vw, 6.6rem);
  font-weight: 800;
  line-height: .98;
  letter-spacing: -.03em;
}
@media (min-width: 861px) and (max-height: 900px) {
  main .hero__brand .hero__title { font-size: min(clamp(3rem, 7.4vw, 6.6rem), 13vh); }
}

@layer responsive {
  
  .pj-head__sub {
    max-width: 52ch;
    margin-top: clamp(8px, 1.2vh, 14px);
    color: rgba(242,245,249,.88);
    font-size: var(--t-lead);
    text-align: start;
  }

  .pj-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
  .pj-tab {
    padding: 9px 18px;
    border-radius: 999px;
    border: 1px solid rgba(14,42,71,.16);
    background: #FFFFFF;
    color: #0E2A47;
    font-size: .8rem;
    font-weight: 600;
    transition: background-color var(--d-fast) var(--e-out), color var(--d-fast) var(--e-out), border-color var(--d-fast) var(--e-out);
  }
  .pj-tab:hover { border-color: #0057B8; color: #0057B8; }
  .pj-tab.is-on { background: #0057B8; border-color: #0057B8; color: #FFFFFF; }

  .pjcards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(14px, 1.4vw, 22px);
  }
  .pjc {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: flex-end;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 6px;
    background: #0E2A47;
    color: #FFFFFF;
  }
  .pjc { --mark: var(--mark-rev); }
  .pjc[hidden] { display: none; }
  .pjc__media { position: absolute; inset: 0; z-index: -2; }
  .pjc__media picture, .pjc__media img { display: block; width: 100%; height: 100%; }
  .pjc__media img { object-fit: cover; transition: transform var(--d-slow) var(--e-out); }
  a.pjc:hover .pjc__media img, a.pjc:focus-visible .pjc__media img { transform: scale(1.05); }
  
  .pjc__media:not(:has(picture)) {
    background:
      var(--mark) center 42% / 22% auto no-repeat,
      radial-gradient(120% 120% at 0% 0%, #0057B8 0%, #0E2A47 70%);
  }
  .pjc::before {
    content: '';
    position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(180deg, rgba(14,42,71,0) 40%, rgba(14,42,71,.55) 66%, rgba(14,42,71,.94) 100%);
  }
  .pjc__body {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: clamp(14px, 1.5vw, 22px);
    padding-inline-end: 60px;
  }
  .pjc__name { font-size: clamp(1rem, 1.2vw, 1.2rem); font-weight: 700; line-height: 1.2; }
  .pjc__loc { color: rgba(242,245,249,.85); font-size: .8rem; }
  .pjc__sec { color: #3BA0E0; font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
  .pjc__go {
    position: absolute;
    right: clamp(14px, 1.5vw, 22px);
    bottom: clamp(14px, 1.5vw, 22px);
    display: grid;
    place-items: center;
    width: 36px; height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.45);
    font-size: 1rem;
    transition: background-color var(--d-fast) var(--e-out), border-color var(--d-fast) var(--e-out);
  }
  [dir='rtl'] .pjc__go { right: auto; left: clamp(14px, 1.5vw, 22px); }
  a.pjc:hover .pjc__go, a.pjc:focus-visible .pjc__go { background: #0057B8; border-color: #0057B8; }
  .pjc__pending {
    position: absolute;
    top: 12px;
    right: 12px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(14,42,71,.7);
    color: rgba(242,245,249,.9);
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
  }
  [dir='rtl'] .pjc__pending { right: auto; left: 12px; }

  @media (max-width: 1000px) { .pjcards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 520px)  { .pjcards { grid-template-columns: minmax(0, 1fr); } }
}


main :is(h1, h2, .d1, .d2):not(.label, .sr-only, .cl-field__h, .cx-how__head, .co-sqs__h) {
  font-weight: 800;
  letter-spacing: -.03em;
}
main :is(h3, .d3):not(.label, .sr-only, .cx-rest__head, [class=""]):not(:where(h3:not([class]))) {
  font-weight: 700;
}
main :is(h1, h2, h3) .accent { color: var(--blue-bright); }
[dir='rtl'] main :is(h1, h2, .d1, .d2) { letter-spacing: 0; }

@layer responsive {
  
  .hero--reel .hslide__bg::after,
  .threshold::before {
    background:
      linear-gradient(90deg, rgba(14,42,71,.84) 0%, rgba(14,42,71,.62) 36%, rgba(14,42,71,.16) 64%, rgba(14,42,71,0) 100%),
      linear-gradient(180deg, rgba(14,42,71,.30) 0%, rgba(14,42,71,0) 22%, rgba(14,42,71,0) 72%, rgba(14,42,71,.45) 100%);
  }
  [dir='rtl'] .hero--reel .hslide__bg::after,
  [dir='rtl'] .threshold::before {
    background:
      linear-gradient(270deg, rgba(14,42,71,.84) 0%, rgba(14,42,71,.62) 36%, rgba(14,42,71,.16) 64%, rgba(14,42,71,0) 100%),
      linear-gradient(180deg, rgba(14,42,71,.30) 0%, rgba(14,42,71,0) 22%, rgba(14,42,71,0) 72%, rgba(14,42,71,.45) 100%);
  }
  @media (max-width: 760px) {
    .hero--reel .hslide__bg::after,
    .threshold::before,
    [dir='rtl'] .hero--reel .hslide__bg::after,
    [dir='rtl'] .threshold::before {
      background: linear-gradient(180deg, rgba(14,42,71,.35) 0%, rgba(14,42,71,.15) 25%, rgba(14,42,71,.62) 58%, rgba(14,42,71,.9) 100%);
    }
  }
  
  .hero--reel .hero__inner,
  .threshold .container { text-shadow: 0 1px 18px rgba(14,42,71,.55); }
}

@layer responsive {
  
  .nav__mark { width: auto; height: clamp(40px, 3.3vw, 52px); }
  .footer__brand img { width: 150px; }
  .bpage__logo { max-width: 150px; }
  .bpage--cover .bpage__logo { max-width: 180px; }
  .bpage--back .bpage__logo { max-width: 130px; }
  @media (max-width: 760px) { .nav__mark { height: 38px; } }
}

@layer responsive {
  
  .brandmark[src*="brands/onyx"] { padding: .16em .45em; box-sizing: border-box; }
}

@layer responsive {
  
  .cover {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    transition: border-color var(--d-base) var(--e-out);
  }
  .cover::before,
  .cover::after {
    content: '';
    position: absolute;
    z-index: -1;
    pointer-events: none;
  }
  .cover::before {
    inset: 0;
    background: linear-gradient(160deg, #0E2A47 0%, #0057B8 58%, #3BA0E0 100%);
    transform-origin: bottom;
    scale: 1 0;
    transition: scale .6s cubic-bezier(.22, .61, .36, 1);
  }
  .cover::after {
    right: -6%;
    bottom: -8%;
    width: 46%;
    aspect-ratio: 48 / 44;
    background: var(--mark-rev) center / contain no-repeat;
    opacity: 0;
    translate: 0 30%;
    transition: opacity .5s ease .12s, translate .6s cubic-bezier(.22, .61, .36, 1) .08s;
  }
  :is(.catdoor:hover, .catdoor:focus-visible, .catdoor:active, .catdoor[aria-expanded='true']) .cover {
    border-color: #0057B8;
  }
  :is(.catdoor:hover, .catdoor:focus-visible, .catdoor:active, .catdoor[aria-expanded='true']) .cover::before {
    scale: 1 1;
  }
  :is(.catdoor:hover, .catdoor:focus-visible, .catdoor:active, .catdoor[aria-expanded='true']) .cover::after {
    opacity: .22;
    translate: 0 0;
  }
  :is(.catdoor:hover, .catdoor:focus-visible, .catdoor:active, .catdoor[aria-expanded='true']) .cover img {
    box-shadow: 0 30px 60px rgba(4, 16, 32, .45);
  }
  [dir='rtl'] .cover::after { right: auto; left: -6%; }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    .cover::before, .cover::after { transition: none; }
  }
}

@layer responsive {
  
  [dir='rtl'] .hm-impact__img { inset: 0 0 0 auto; }
  [dir='rtl'] .hm-impact::before {
    background: linear-gradient(270deg, rgba(14,42,71,0) 0%, rgba(14,42,71,.15) 18%, rgba(14,42,71,.8) 31%, #0E2A47 39.5%);
  }
  [dir='rtl'] .hm-impact__copy { padding-inline: clamp(24px, 3vw, 48px) 0; }
  [dir='rtl'] .hm-impact__h { letter-spacing: 0; line-height: 1.4; }
  @media (max-width: 760px) {
    [dir='rtl'] .hm-impact::before { background: linear-gradient(180deg, rgba(14,42,71,0) 0%, rgba(14,42,71,0) 32%, #0E2A47 44%); }
    [dir='rtl'] .hm-impact__copy { padding: 0 20px 24px; }
  }
  [dir='rtl'] .hero__sub { letter-spacing: 0; line-height: 1.45; }
}

@layer responsive {
  
  .pj-map__live { position: relative; isolation: isolate; z-index: 0; }
}

@layer responsive {
  
  .legal { padding-block: calc(var(--nav-h) + clamp(32px, 5vh, 64px)) clamp(64px, 9vh, 120px); }
  .legal__in { max-width: 880px; }
  .legal .crumb { margin-bottom: clamp(18px, 2.4vh, 28px); }
  .legal__h {
    color: #0E2A47;
    font-size: clamp(2.2rem, 4.4vw, 3.6rem);
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.05;
  }
  .legal__date { margin: 14px 0 clamp(28px, 4vh, 44px); color: #5C6470; font-size: var(--t-meta); text-align: start; }
  .legal__lead {
    padding: clamp(18px, 2vw, 24px);
    margin-bottom: clamp(28px, 4vh, 40px);
    background: #F2F5F9;
    border-inline-start: 3px solid #0057B8;
    color: #0E2A47;
    font-size: var(--t-lead);
  }
  .legal__body h2 {
    margin: clamp(32px, 4vh, 44px) 0 12px;
    color: #0E2A47;
    font-size: clamp(1.2rem, 1.6vw, 1.45rem);
    font-weight: 700;
    letter-spacing: -.01em;
  }
  .legal__body h3 { margin: 20px 0 6px; color: #0057B8; font-size: 1rem; font-weight: 700; }
  .legal__body p, .legal__body li { color: #171A1F; line-height: 1.75; }
  .legal__body p + p { margin-top: 12px; }
  .legal__body ul { margin: 10px 0; padding-inline-start: 1.3em; list-style: disc; }
  .legal__body li + li { margin-top: 6px; }
  .legal__body li::marker { color: #0057B8; }
  .legal__body a { color: #0057B8; text-decoration: underline; text-underline-offset: 3px; }
  [dir='rtl'] .legal__h, [dir='rtl'] .legal__body h2 { letter-spacing: 0; line-height: 1.35; }

  
  .footer__bottom .footer__legal { display: inline-flex; flex-wrap: wrap; gap: 18px; }
  .footer__bottom .footer__legal a,
  p.footer__legal a { color: inherit; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(242,245,249,.35); }
  .footer__bottom .footer__legal a:hover,
  p.footer__legal a:hover { color: #3BA0E0; text-decoration-color: currentColor; }
  p.footer__legal a { margin-inline-start: 12px; }
  .field__note a { color: #0057B8; text-decoration: underline; }
}
@layer responsive {
  .legal .crumb, .legal .crumb a { color: #5C6470; opacity: 1; }
  .legal .crumb [aria-current] { color: #0E2A47; }
}

@layer responsive {
  
  .footer__social {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(242,245,249,.88);
    transition: color var(--d-fast) var(--e-out);
  }
  .footer__social svg {
    width: 22px; height: 22px;
    fill: currentColor;
    transition: transform var(--d-fast) var(--e-out);
  }
  .footer__social:hover, .footer__social:focus-visible { color: #3BA0E0; }
  .footer__social:hover svg { transform: translateY(-2px); }
}

@layer responsive {
  
  .org { padding-block: clamp(56px, 8vh, 110px); border-top: 1px solid rgba(14,42,71,.1); }
  .org__h { color: #0E2A47; font-size: var(--title-section, clamp(1.7rem, 3vw, 2.7rem)); font-weight: 800; letter-spacing: -.03em; line-height: 1.08; }
  .org__p { margin: 12px 0 clamp(32px, 5vh, 56px); color: #5C6470; text-align: start; }

  .org__tree { display: flex; flex-direction: column; align-items: center; }
  .org__node {
    display: flex; align-items: center; gap: 14px;
    padding: 12px 18px 12px 12px;
    background: #FFFFFF;
    border: 1px solid rgba(14,42,71,.14);
    border-radius: 12px;
    color: #0E2A47;
    text-align: start;
    box-shadow: 0 8px 24px rgba(14,42,71,.06);
  }
  .org__node img, .org__initials {
    width: 56px; height: 56px; flex: none;
    border-radius: 50%; object-fit: cover; object-position: 50% 20%;
    filter: grayscale(1);
  }
  .org__initials {
    display: grid; place-items: center;
    background: linear-gradient(160deg, #0E2A47, #0057B8);
    color: #FFFFFF; font-weight: 700; letter-spacing: .04em; filter: none;
  }
  .org__txt { display: grid; gap: 2px; }
  .org__txt b { font-size: 1rem; font-weight: 700; }
  .org__txt small { color: #0057B8; font-size: .78rem; font-weight: 700; letter-spacing: .06em; }
  .org__txt small i { font-style: normal; font-weight: 500; color: #5C6470; letter-spacing: 0; }

  .org__node--head { background: #0E2A47; border-color: #0E2A47; color: #FFFFFF; position: relative; }
  .org__node--head small { color: #3BA0E0; }
  .org__node--head small i { color: rgba(255, 255, 255, .72); }
  
  .org__node--head::after {
    content: ''; position: absolute; left: 50%; top: 100%;
    width: 2px; height: 28px; background: rgba(14,42,71,.25);
  }

  .org__row {
    position: relative;
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(12px, 2vw, 28px);
    width: 100%; max-width: 1100px;
    margin-top: 56px;
  }
  
  .org__row::before {
    content: ''; position: absolute; top: -28px;
    left: calc(100% / 6); right: calc(100% / 6);
    height: 2px; background: rgba(14,42,71,.25);
  }
  .org__node--officer { position: relative; cursor: pointer; width: 100%; transition: border-color var(--d-base) var(--e-out), box-shadow var(--d-base) var(--e-out), transform var(--d-base) var(--e-out); isolation: isolate; overflow: visible; }
  .org__node--officer::before {
    content: ''; position: absolute; left: 50%; bottom: 100%;
    width: 2px; height: 28px; background: rgba(14,42,71,.25);
  }
  
  .org__node--officer::after {
    content: ''; position: absolute; inset: 0; z-index: -1; border-radius: inherit;
    background: linear-gradient(160deg, #0E2A47 0%, #0057B8 60%, #3BA0E0 100%);
    opacity: 0; transition: opacity var(--d-base) var(--e-out);
  }
  .org__node--officer:hover, .org__node--officer:focus-visible, .org__node--officer.is-on {
    border-color: #0057B8; transform: translateY(-3px);
    box-shadow: 0 16px 36px rgba(0,87,184,.22); color: #FFFFFF;
  }
  .org__node--officer:is(:hover, :focus-visible, .is-on)::after { opacity: 1; }
  .org__node--officer:is(:hover, :focus-visible, .is-on) small,
  .org__node--officer:is(:hover, :focus-visible, .is-on) small i { color: #DCEBF8; }
  .org__node--officer:is(:hover, :focus-visible, .is-on) img { filter: none; }
  .org__chev {
    margin-inline-start: auto; width: 10px; height: 10px; flex: none;
    border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
    transform: rotate(45deg); transition: transform var(--d-base) var(--e-out); opacity: .7;
  }
  .org__node--officer.is-on .org__chev { transform: rotate(225deg); }

  
  .org__panel { width: 100%; margin-top: 28px; }
  .org__panel-h { margin-bottom: 16px; color: #0E2A47; font-weight: 800; font-size: 1.1rem; text-align: start; }
  .org__panel-h span { color: #5C6470; font-weight: 500; }
  .org__depts { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; }
  .org__dept {
    padding: 16px 18px;
    background: #F2F5F9;
    border-top: 3px solid #0057B8;
    border-radius: 8px;
    opacity: 0; transform: translateY(14px);
    transition: opacity .45s var(--e-out), transform .45s var(--e-out);
    transition-delay: calc(var(--i) * 55ms);
  }
  .org__panel.is-open .org__dept { opacity: 1; transform: none; }
  .org__dept > b { display: block; margin-bottom: 10px; color: #0E2A47; font-size: .92rem; }
  .org__dept ul { display: grid; gap: 6px; }
  .org__dept li li, .org__dept ul li {
    position: relative; padding-inline-start: 14px;
    color: #3C4550; font-size: .82rem; line-height: 1.4;
  }
  .org__dept ul li::before {
    content: ''; position: absolute; left: 0; top: .5em;
    width: 6px; height: 6px; border-radius: 50%; background: #3BA0E0;
  }

  @media (max-width: 760px) {
    .org__row { grid-template-columns: minmax(0, 1fr); margin-top: 28px; }
    .org__row::before, .org__node--officer::before { display: none; }
  }

  
  .stk { padding-block: calc(var(--nav-h) + clamp(28px, 5vh, 64px)) clamp(64px, 9vh, 120px); background: #F2F5F9; }
  .stk__h { color: #0E2A47; font-size: clamp(2.4rem, 5vw, 4rem); font-weight: 800; letter-spacing: -.03em; line-height: 1; }
  .stk__lead { max-width: 52ch; margin: 14px 0 clamp(32px, 5vh, 56px); color: #3C4550; text-align: start; }
  .stk__grid { display: grid; grid-template-columns: 1fr minmax(220px, 300px) 1fr; gap: clamp(20px, 4vw, 64px); align-items: center; }
  .stk__col { display: grid; gap: clamp(28px, 6vh, 80px); }
  .stk__b { padding: 18px 20px; border-radius: 10px; transition: background-color var(--d-base) var(--e-out), box-shadow var(--d-base) var(--e-out); cursor: default; }
  .stk__b.is-on { background: #FFFFFF; box-shadow: 0 14px 34px rgba(14,42,71,.1); }
  .stk__n { color: #0057B8; font-size: 2rem; font-weight: 800; line-height: 1; }
  .stk__t { margin-top: 8px; color: #0E2A47; font-size: 1.15rem; font-weight: 800; letter-spacing: -.01em; }
  .stk__sub { color: #0057B8; font-size: .8rem; font-weight: 700; letter-spacing: .04em; text-align: start; }
  .stk__p, .stk__l li { color: #3C4550; font-size: .86rem; line-height: 1.5; }
  .stk__p { margin-top: 8px; }
  .stk__l { margin-top: 10px; display: grid; gap: 3px; }
  .stk__l li::before { content: '— '; color: #3BA0E0; }
  .stk__art { width: 100%; height: auto; overflow: visible; }
  .stk__s { transition: opacity var(--d-base) var(--e-out), transform var(--d-base) var(--e-out); transform-box: fill-box; transform-origin: center; }
  .stk__art[data-on] .stk__s { opacity: .28; }
  .stk__art[data-on='gm'] [data-stk='gm'],
  .stk__art[data-on='cfo'] [data-stk='cfo'],
  .stk__art[data-on='coo'] [data-stk='coo'],
  .stk__art[data-on='ctco'] [data-stk='ctco'] { opacity: 1; }
  @media (max-width: 900px) {
    .stk__grid { grid-template-columns: minmax(0, 1fr); }
    .stk__mid { order: -1; max-width: 220px; margin-inline: auto; }
  }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    .org__dept { transition: none; opacity: 1; transform: none; }
    .org__node--officer, .stk__s { transition: none; }
  }
}
@layer responsive {
  .org__h, .org__dept, .org__dept > b, .org__panel-h { text-align: start; }
}
@layer responsive {
  .org__row { --org-gap: clamp(12px, 2vw, 28px); gap: var(--org-gap); }
  .org__row::before { left: calc((100% - 2 * var(--org-gap)) / 6); right: calc((100% - 2 * var(--org-gap)) / 6); }
}

@layer responsive {
  
  .org__panel-h { opacity: 0; transform: translateY(10px); transition: opacity .8s var(--e-out), transform .8s var(--e-out); }
  .org__panel.is-open .org__panel-h { opacity: 1; transform: none; }
  .org__dept {
    transform: translateY(28px) scale(.97);
    transition: opacity 1s var(--e-out), transform 1.1s var(--e-out);
    transition-delay: calc(.25s + var(--i) * 160ms);
  }
  .org__dept ul li {
    opacity: 0; transform: translateX(-8px);
    transition: opacity .7s var(--e-out), transform .7s var(--e-out);
    transition-delay: calc(.6s + var(--i) * 160ms);
  }
  .org__dept ul li:nth-child(2) { transition-delay: calc(.72s + var(--i) * 160ms); }
  .org__dept ul li:nth-child(3) { transition-delay: calc(.84s + var(--i) * 160ms); }
  .org__dept ul li:nth-child(4) { transition-delay: calc(.96s + var(--i) * 160ms); }
  .org__dept ul li:nth-child(5) { transition-delay: calc(1.08s + var(--i) * 160ms); }
  .org__dept ul li:nth-child(6) { transition-delay: calc(1.2s + var(--i) * 160ms); }
  .org__panel.is-open .org__dept ul li { opacity: 1; transform: none; }
}
@layer motion {
  @media (prefers-reduced-motion: reduce) {
    .org__panel-h, .org__dept ul li { transition: none; opacity: 1; transform: none; }
  }
}


@layer responsive {
  
  .js [data-reveal] {
    transform: translateY(28px) scale(.985);
    transition: opacity 1s var(--e-out), transform 1.1s var(--e-out);
  }
  .js [data-reveal][data-reveal-dir="up"]         { transform: translate3d(0, 28px, 0) scale(.985); }
  .js [data-reveal][data-reveal-dir="rise-media"] { transform: translate3d(0, 32px, 0) scale(.985); }
  .js [data-reveal].is-in,
  .js [data-reveal][data-reveal-dir].is-in { transform: none; }

  
  .nav, .nav__pill, .subnav, .scrollcue, .tm-panel, .hm-values {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .nav.nav--solid, .nav.is-solid { background-color: rgba(247,249,252,.97); }
  .nav__pill { background-color: rgba(255,255,255,.96); }
  .scrollcue { background-color: rgba(14,42,71,.72); }

  
  .ckb {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
    display: flex; align-items: center; justify-content: space-between; gap: 16px 32px;
    flex-wrap: wrap;
    padding: 18px clamp(16px, 3vw, 40px);
    background: #0E2A47;
    border-top: 3px solid #0057B8;
    box-shadow: 0 -10px 30px rgba(4,16,32,.25);
    color: #F2F5F9;
    transform: translateY(110%);
    transition: transform .6s var(--e-out);
  }
  .ckb.is-up { transform: none; }
  .ckb__t { margin: 0; font-size: .95rem; line-height: 1.5; text-align: start; }
  .ckb__t a { color: #3BA0E0; text-decoration: underline; text-underline-offset: 3px; }
  .ckb__a { display: flex; gap: 12px; flex-wrap: wrap; }
  .ckb__btn {
    padding: 12px 22px; border-radius: 8px;
    border: 1px solid rgba(242,245,249,.45);
    color: #FFFFFF; font-weight: 700; font-size: .9rem;
    transition: background-color var(--d-fast) var(--e-out), border-color var(--d-fast) var(--e-out);
  }
  .ckb__btn:hover, .ckb__btn:focus-visible { border-color: #FFFFFF; background: rgba(255,255,255,.08); }
  .ckb__btn--yes { background: #0057B8; border-color: #0057B8; }
  .ckb__btn--yes:hover, .ckb__btn--yes:focus-visible { background: #3BA0E0; border-color: #3BA0E0; }
  @media (max-width: 640px) {
    .ckb__a { width: 100%; }
    .ckb__btn { flex: 1; }
  }
  
  body:has(.ckb.is-up) .wabtn, body:has(.ckb.is-up) .totop { bottom: 110px; }
}

@layer motion {
  @media (prefers-reduced-motion: reduce) {
    .ckb { transition: none; }
  }
}
@layer responsive {
  @media (max-width: 640px) {
    body:has(.ckb.is-up) .wabtn, body:has(.ckb.is-up) .totop { bottom: 180px; }
  }
}

@layer responsive {
  
  .tm-in {
    display: inline-flex; align-items: center; gap: 8px;
    margin-top: var(--s4);
    padding: 8px 14px;
    border-radius: 999px;
    background: #0057B8;
    color: #FFFFFF;
    font-size: var(--t-meta); font-weight: 600;
    opacity: 0; transform: translateY(10px);
    transition: opacity .42s var(--e-out) .24s, transform .52s var(--e-out) .24s, background-color var(--d-fast) var(--e-out);
  }
  .tm-in svg { width: 16px; height: 16px; fill: currentColor; }
  .tm-card.is-on .tm-in { opacity: 1; transform: none; }
  .tm-in:hover, .tm-in:focus-visible { background: #3BA0E0; }
}
@layer responsive {
  .tm-panel__role, .tm-panel__name, .tm-panel__p, .tm-card__role { text-align: start; }
  .tm-in { align-self: flex-start; width: auto; justify-self: start; }
}

@layer responsive {
  
  .nf-seal {
    display: flex; align-items: center; flex-wrap: wrap; gap: 18px 22px;
    margin-top: clamp(22px, 3vh, 34px);
    padding: 18px 24px;
    max-width: 720px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(59,160,224,.35);
    border-inline-start: 4px solid #3BA0E0;
    border-radius: 12px;
  }
  .nf-seal__icon {
    display: grid; place-items: center; flex: none;
    width: 52px; height: 52px; border-radius: 50%;
    background: #0057B8;
    box-shadow: 0 0 0 6px rgba(0,87,184,.25);
  }
  .nf-seal__icon svg { width: 26px; height: 26px; fill: none; stroke: #FFFFFF; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .nf-seal__logo img { display: block; height: 46px; width: auto; }
  .nf-seal__logo { padding-inline-end: 22px; border-inline-end: 1px solid rgba(242,245,249,.25); }
  .nf-seal__text { display: grid; gap: 4px; flex: 1 1 260px; color: rgba(242,245,249,.85); font-size: .92rem; line-height: 1.5; text-align: start; }
  .nf-seal__text b { color: #FFFFFF; font-weight: 700; }
  .nf-seal__text [lang='ar'] { font-family: var(--ff-ar); }
}

@layer responsive {
  
  .tm-card.is-on .tm-in { pointer-events: auto; position: relative; z-index: 4; cursor: pointer; }
}


@layer rtl {
  [dir='rtl'] .tm__go svg { transform: scaleX(-1); }
}


@layer sections {
  .tg { padding-block: clamp(48px, 6vw, 88px); }
  .tg__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 28px);
    margin: 0; padding: 0; list-style: none;
  }
  .tg-card {
    display: grid;
    grid-template-columns: clamp(150px, 15vw, 210px) minmax(0, 1fr);
    min-height: clamp(190px, 19vw, 262px);
    background: #FFFFFF;
    border: 1px solid var(--line);
    overflow: hidden;
    transition: border-color var(--d-base) var(--e-out), box-shadow var(--d-base) var(--e-out);
  }
  .tg-card:hover { border-color: #3BA0E0; box-shadow: 0 18px 44px rgba(14, 42, 71, .10); }
  .tg-card:nth-child(even) { grid-template-columns: minmax(0, 1fr) clamp(150px, 15vw, 210px); }
  .tg-card:nth-child(even) .tg-card__ph { order: 2; }
  .tg-card:nth-child(even) .tg-card__tx { text-align: end; align-items: flex-end; }

  .tg-card__ph { position: relative; overflow: hidden; background: #E9EDF1; }
  .tg-card__ph picture, .tg-card__ph img { display: block; width: 100%; height: 100%; }
  .tg-card__ph img {
    object-fit: cover; object-position: 50% 18%;
    filter: grayscale(1) contrast(1.04);
    transition: transform var(--d-slow) var(--e-out);
  }
  .tg-card:hover .tg-card__ph img { transform: scale(1.04); }

  .tg-card__tx {
    display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
    gap: 6px; padding: clamp(18px, 2.2vw, 32px);
  }
  .tg-card__n { font-size: .72rem; font-weight: 700; letter-spacing: .22em; color: #3BA0E0; }
  .tg-card__name { margin: 0; font-size: clamp(1.1rem, 1.5vw, 1.45rem); line-height: 1.2; color: #0E2A47; }
  .tg-card__role {
    margin: 0; font-size: .74rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
    color: #5B6878; line-height: 1.5;
  }
  .tg-card__in {
    display: inline-flex; align-items: center; gap: 8px; margin-top: 10px;
    padding: 7px 14px; border-radius: 999px; border: 1px solid var(--line);
    font-size: .78rem; font-weight: 600; color: #0057B8; text-decoration: none;
    transition: background-color var(--d-fast) var(--e-out), color var(--d-fast) var(--e-out), border-color var(--d-fast) var(--e-out);
  }
  .tg-card__in svg { width: 14px; height: 14px; fill: currentColor; }
  .tg-card__in:hover, .tg-card__in:focus-visible { background: #0057B8; border-color: #0057B8; color: #FFFFFF; }

  
  .tg-card.tg-card--cta {
    grid-template-columns: minmax(0, 1fr);
    background: linear-gradient(135deg, #0E2A47 0%, #0057B8 100%);
    border-color: transparent;
  }
  .tg-card--cta .tg-card__name { color: #FFFFFF; }
  .tg-card--cta .tg-card__lead { margin: 0; color: rgba(255, 255, 255, .78); line-height: 1.6; max-width: 34ch; }
  .tg-card__go {
    display: inline-flex; align-items: center; gap: 10px; margin-top: 12px;
    padding: 10px 20px; border-radius: 999px; background: #FFFFFF; color: #0E2A47;
    font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-decoration: none;
  }
  .tg-card__go:hover, .tg-card__go:focus-visible { background: #3BA0E0; color: #FFFFFF; }

  @media (max-width: 760px) {
    .tg__grid { grid-template-columns: minmax(0, 1fr); }
    .tg-card, .tg-card:nth-child(even) { grid-template-columns: 128px minmax(0, 1fr); min-height: 170px; }
    .tg-card:nth-child(even) .tg-card__ph { order: 0; }
    .tg-card:nth-child(even) .tg-card__tx { text-align: start; align-items: flex-start; }
    .tg-card.tg-card--cta { grid-template-columns: minmax(0, 1fr); }
  }
}


@layer sections {
  .cr-jobs { margin: 18px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
  .cr-jobs > li { border-bottom: 1px solid var(--line); }
  .cr-job {
    display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center;
    gap: clamp(14px, 2.4vw, 32px);
    padding: clamp(18px, 2.2vw, 26px) clamp(6px, 1vw, 14px);
    color: #0E2A47; text-decoration: none;
    transition: background-color var(--d-base) var(--e-out), padding var(--d-base) var(--e-out);
  }
  .cr-job__n { font-size: .78rem; font-weight: 700; letter-spacing: .2em; color: #3BA0E0; }
  .cr-job__t { font-size: clamp(1.1rem, 1.8vw, 1.5rem); font-weight: 700; line-height: 1.3; }
  .cr-job__go {
    display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
    padding: 10px 18px; border-radius: 999px; border: 1px solid #0057B8;
    font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #0057B8;
    transition: background-color var(--d-fast) var(--e-out), color var(--d-fast) var(--e-out);
  }
  .cr-job:hover, .cr-job:focus-visible { background: #F2F5F9; padding-inline: clamp(14px, 1.6vw, 24px); }
  .cr-job:hover .cr-job__go, .cr-job:focus-visible .cr-job__go { background: #0057B8; color: #FFFFFF; }
  .cr-follow { margin-top: 28px; }
  .cr-follow a { font-weight: 600; color: #0057B8; text-decoration: none; border-bottom: 1px solid currentColor; }
  [dir='rtl'] .cr-job__go, [dir='rtl'] .cr-job__t { letter-spacing: 0; }
  @media (max-width: 640px) {
    .cr-job { grid-template-columns: auto minmax(0, 1fr); }
    .cr-job__go { grid-column: 2; justify-self: start; }
  }
}


@layer sections {
  .footer { padding-block: clamp(48px, 6vw, 80px) 0; overflow: hidden; }
  
  .footer::before {
    content: ''; position: absolute; inset: 0 0 auto; height: 2px; z-index: 1;
    background: linear-gradient(90deg, transparent 0%, #3BA0E0 50%, transparent 100%) 0 0 / 40% 100% no-repeat;
    animation: ft-sweep 7s linear infinite;
  }
  @keyframes ft-sweep { from { background-position: -40% 0; } to { background-position: 140% 0; } }

  .ft-cta {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 40px;
    padding: clamp(26px, 3vw, 40px) clamp(24px, 3.4vw, 48px);
    border: 1px solid rgba(242, 245, 249, .14); border-radius: 18px;
    background: linear-gradient(120deg, rgba(0, 87, 184, .55) 0%, rgba(14, 42, 71, .35) 70%);
    backdrop-filter: none;
  }
  .ft-cta__k { margin: 0 0 6px; font-size: .72rem; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; color: #9FD0F2; text-align: start; }
  .ft-cta__h { margin: 0; font-size: clamp(1.4rem, 2.6vw, 2.1rem); font-weight: 700; line-height: 1.2; color: #FFFFFF; text-align: start; }
  .ft-cta__btn {
    display: inline-flex; align-items: center; gap: 12px; flex: none;
    padding: 14px 26px; border-radius: 999px; background: #FFFFFF; color: #0E2A47;
    font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; text-decoration: none;
    transition: background-color var(--d-fast) var(--e-out), color var(--d-fast) var(--e-out), transform var(--d-fast) var(--e-out);
  }
  .ft-cta__btn svg { width: 18px; height: 18px; transition: transform var(--d-base) var(--e-out); }
  .ft-cta__btn:hover, .ft-cta__btn:focus-visible { background: #3BA0E0; color: #FFFFFF; transform: translateY(-2px); }
  .ft-cta__btn:hover svg, .ft-cta__btn:focus-visible svg { transform: translateX(4px); }

  .ft {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, .8fr) minmax(0, .8fr) minmax(0, 1.25fr);
    gap: clamp(28px, 4vw, 64px);
    padding-block: clamp(44px, 5vw, 68px);
  }
  .ft__brand img { width: 150px; height: auto; display: block; }
  .ft__tag { margin: 22px 0 0; max-width: 36ch; text-align: start; font-size: .95rem; line-height: 1.75; color: rgba(242, 245, 249, .74); }
  .ft__social { display: flex; gap: 10px; margin-top: 28px; }
  .ft__social a {
    display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%;
    border: 1px solid rgba(242, 245, 249, .26); color: #FFFFFF;
    transition: background-color var(--d-fast) var(--e-out), border-color var(--d-fast) var(--e-out), transform var(--d-fast) var(--e-out);
  }
  .ft__social svg { width: 17px; height: 17px; }
  .ft__social a:hover, .ft__social a:focus-visible { background: #0057B8; border-color: #0057B8; transform: translateY(-3px); }

  .ft__h { margin: 0 0 20px; font-size: .72rem; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; color: #3BA0E0; text-align: start; }
  .ft__h--next { margin-top: 34px; }
  [dir='rtl'] .ft__h, [dir='rtl'] .ft-cta__k { letter-spacing: 0; font-size: .82rem; }
  .ft__list { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
  .ft__list a {
    display: inline-flex; align-items: center; gap: 8px;
    color: rgba(242, 245, 249, .88); text-decoration: none; font-size: .98rem;
    transition: color var(--d-fast) var(--e-out);
  }
  .ft__list a svg { width: 14px; height: 14px; color: #3BA0E0; opacity: 0; transform: translateX(-6px); transition: opacity var(--d-fast) var(--e-out), transform var(--d-base) var(--e-out); }
  [dir='rtl'] .ft__list a svg, [dir='rtl'] .ft-cta__btn svg, [dir='rtl'] .ft__map svg { scale: -1 1; }
  [dir='rtl'] .ft__list a svg { transform: translateX(6px); }
  .ft__list a:hover, .ft__list a:focus-visible { color: #FFFFFF; }
  .ft__list a:hover svg, .ft__list a:focus-visible svg { opacity: 1; transform: none; }

  .ft__info { margin: 0; padding: 0; list-style: none; display: grid; gap: 16px; }
  .ft__info li { display: grid; grid-template-columns: 36px minmax(0, 1fr); align-items: center; gap: 12px; }
  .ft__ic {
    display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px;
    background: rgba(59, 160, 224, .14); color: #3BA0E0;
  }
  .ft__ic svg { width: 18px; height: 18px; }
  .ft__info address { font-style: normal; font-size: .92rem; line-height: 1.6; color: rgba(242, 245, 249, .8); }
  .ft__info a { color: rgba(242, 245, 249, .9); text-decoration: none; font-size: .96rem; justify-self: start; }
  .ft__info a:hover, .ft__info a:focus-visible { color: #FFFFFF; }
  .ft__map {
    display: inline-flex; align-items: center; gap: 8px; margin-top: 22px;
    font-size: .74rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: #3BA0E0; text-decoration: none;
  }
  .ft__map svg { width: 15px; height: 15px; transition: transform var(--d-base) var(--e-out); }
  .ft__map:hover, .ft__map:focus-visible { color: #FFFFFF; }
  .ft__map:hover svg { transform: translateX(4px); }


  @media (max-width: 1100px) {
    .ft { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ft__brand { grid-column: 1 / -1; }
  }
  @media (max-width: 640px) {
    .ft { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ft__reach { grid-column: 1 / -1; }
    .ft-cta { flex-direction: column; align-items: flex-start; }
  }
  @media (prefers-reduced-motion: reduce) {
    .footer::before { animation: none; }
  }
}


@layer sections {
  .nw { padding-block: clamp(40px, 5vw, 72px) clamp(56px, 7vw, 96px); }
  .nw__tabs { margin-bottom: clamp(28px, 3vw, 40px); }
  .nw__empty { padding: 48px 0; color: #5B6878; }
  .nw__grid {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(18px, 2vw, 28px); margin: 0; padding: 0; list-style: none;
  }
  .nw-card { background: #FFFFFF; border: 1px solid var(--line); transition: border-color var(--d-base) var(--e-out), box-shadow var(--d-base) var(--e-out); }
  .nw-card:hover { border-color: #3BA0E0; box-shadow: 0 18px 44px rgba(14, 42, 71, .10); }
  .nw-card__a { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
  .nw-card__ph { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #E9EDF1; }
  .nw-card__pic, .nw-card__pic img { display: block; width: 100%; height: 100%; }
  .nw-card__pic img { object-fit: cover; transition: transform var(--d-slow) var(--e-out); }
  .nw-card:hover .nw-card__pic img { transform: scale(1.04); }
  .nw-card__mark {
    position: absolute; inset: 0;
    background: var(--mark) center / 22% auto no-repeat, radial-gradient(120% 120% at 0% 0%, #0057B8 0%, #0E2A47 70%);
    --mark: var(--mark-rev);
  }
  .nw-card__tx { display: flex; flex-direction: column; gap: 10px; flex: 1; padding: clamp(18px, 2vw, 26px); }
  .nw-card__meta, .nw-art__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font-size: .78rem; color: #5B6878; }
  .nw-card__kind { font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #0057B8; }
  [dir='rtl'] .nw-card__kind { letter-spacing: 0; }
  .nw-card__t { font-size: clamp(1.05rem, 1.4vw, 1.25rem); font-weight: 700; line-height: 1.35; color: #0E2A47; }
  .nw-card__s { color: #3C4856; line-height: 1.65; font-size: .95rem; text-align: start; }
  .nw-card__go { margin-top: auto; padding-top: 6px; font-size: .76rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #0057B8; }
  [dir='rtl'] .nw-card__go { letter-spacing: 0; }

  .nw-card--lead { grid-column: span 2; }
  .nw-card--lead .nw-card__a { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
  .nw-card--lead .nw-card__ph { aspect-ratio: auto; min-height: 320px; }
  .nw-card--lead .nw-card__t { font-size: clamp(1.3rem, 2vw, 1.75rem); }

  .nw-art { padding-block: clamp(36px, 5vw, 64px) clamp(56px, 7vw, 96px); }
  .nw-art__in { max-width: 820px; }
  .nw-art__meta { margin: 26px 0 12px; }
  .nw-art__h { margin: 0; font-size: clamp(1.8rem, 3.6vw, 2.8rem); line-height: 1.15; color: #0E2A47; }
  .nw-art__lead { margin: 18px 0 0; font-size: 1.15rem; line-height: 1.7; color: #3C4856; text-align: start; }
  .nw-art__pic { display: block; margin: clamp(26px, 3vw, 40px) 0; }
  .nw-art__pic img { display: block; width: 100%; height: auto; }
  .nw-art__body p, .nw-art__body li { font-size: 1.05rem; line-height: 1.85; color: #171A1F; text-align: start; }
  .nw-art__body p + p { margin-top: 16px; }
  .nw-art__body ul { margin: 14px 0; padding-inline-start: 1.3em; list-style: disc; }
  .nw-art__body li::marker { color: #0057B8; }
  .nw-art__back { margin-top: 40px; }
  .nw-art__back a { font-weight: 700; color: #0057B8; text-decoration: none; }

  @media (max-width: 1000px) {
    .nw__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nw-card--lead .nw-card__a { grid-template-columns: minmax(0, 1fr); }
    .nw-card--lead .nw-card__ph { aspect-ratio: 16 / 9; min-height: 0; }
  }
  @media (max-width: 640px) {
    .nw__grid { grid-template-columns: minmax(0, 1fr); }
    .nw-card--lead { grid-column: auto; }
  }
}

@layer sections {
  .cr-job__b { display: grid; gap: 8px; min-width: 0; }
  .cr-job__f { display: flex; flex-wrap: wrap; gap: 6px 20px; font-size: .86rem; color: #5B6878; }
  .cr-job__f > span { display: inline-flex; align-items: center; gap: 6px; }
  .cr-job__f .cr-i { width: 16px; height: 16px; color: #3BA0E0; }
  
  .cr-job__go { background: #FFFFFF; }
  .cr-job:hover .cr-job__go, .cr-job:focus-visible .cr-job__go { background: #0057B8; border-color: #0057B8; color: #FFFFFF; }
}


@layer base {
  @media (max-width: 760px) {
    p, dd, blockquote { text-align: start; }
  }
}
@layer responsive {
  @media (max-width: 1000px) {
    .org__row { grid-template-columns: minmax(0, 1fr); margin-top: 28px; }
    .org__row::before, .org__node--officer::before { display: none; }
  }
}


@layer base {
  img { -webkit-user-drag: none; user-select: none; -webkit-touch-callout: none; }
}

@layer sections {
  .cr-head__lead { text-align: start; }
  .nw-art__body ul + p, .nw-art__body p + ul { margin-top: 12px; }
}


@layer responsive {
  @media (max-width: 1260px) {
    .nav__pill { display: none; }
    .nav__inner { justify-content: space-between; }
    .nav__toggle { display: flex; }
    .nav__end { margin-inline-start: auto; }
  }
}


@layer components {
  .pager { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin-top: clamp(28px, 3vw, 44px); }
  .pager__n, .pager__step {
    display: inline-grid; place-items: center; min-width: 42px; height: 42px; padding: 0 14px;
    border-radius: 999px; border: 1px solid var(--line); background: #FFFFFF;
    font-size: .85rem; font-weight: 600; color: #0E2A47; text-decoration: none;
    transition: background-color var(--d-fast) var(--e-out), color var(--d-fast) var(--e-out), border-color var(--d-fast) var(--e-out);
  }
  a.pager__n:hover, a.pager__step:hover, a.pager__n:focus-visible, a.pager__step:focus-visible { border-color: #0057B8; color: #0057B8; }
  .pager__n.is-on { background: #0057B8; border-color: #0057B8; color: #FFFFFF; }
  .pager__step.is-off { opacity: .4; }
  .pager__gap { color: #5B6878; padding: 0 4px; }
}


@layer sections {
  .ft-end { position: relative; display: flex; flex-direction: column; border-top: 1px solid rgba(242, 245, 249, .12); }
  .ft-end__row {
    display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center;
    gap: 16px clamp(24px, 3vw, 48px); padding-block: 26px;
    font-size: .84rem; color: rgba(242, 245, 249, .62);
  }
  .ft-end__rights { margin: 0; text-align: start; }
  .ft-end__links { display: flex; flex-wrap: wrap; align-items: center; margin: 0; padding: 0; list-style: none; }
  .ft-end__links li { display: flex; align-items: center; }
  .ft-end__links li + li::before { content: ''; width: 4px; height: 4px; margin-inline: 14px; border-radius: 50%; background: #3BA0E0; }
  .ft-end__links a, .ft-end__links button {
    padding: 0; border: 0; background: none; font: inherit; cursor: pointer;
    color: rgba(242, 245, 249, .84); text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor); background-repeat: no-repeat;
    background-size: 0 1px; background-position: 0 100%;
    transition: color var(--d-fast) var(--e-out), background-size var(--d-base) var(--e-out);
  }
  [dir='rtl'] .ft-end__links a, [dir='rtl'] .ft-end__links button { background-position: 100% 100%; }
  .ft-end__links a:hover, .ft-end__links button:hover,
  .ft-end__links a:focus-visible, .ft-end__links button:focus-visible { color: #FFFFFF; background-size: 100% 1px; }

  .ft-end__tools { display: flex; align-items: center; gap: 18px; }
  .ft-end__lang { display: flex; margin: 0; padding: 3px; border-radius: 999px; border: 1px solid rgba(242, 245, 249, .2); }
  .ft-end__lang a { padding: 6px 14px; border-radius: 999px; color: rgba(242, 245, 249, .74); text-decoration: none; font-size: .8rem; transition: background-color var(--d-fast) var(--e-out), color var(--d-fast) var(--e-out); }
  .ft-end__lang a[aria-current='true'] { background: #FFFFFF; color: #0E2A47; font-weight: 600; }
  .ft-end__lang a:not([aria-current='true']):hover { color: #FFFFFF; }
  .ft-end__top {
    display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; cursor: pointer;
    border: 1px solid rgba(242, 245, 249, .3); background: transparent; color: #FFFFFF;
    transition: background-color var(--d-fast) var(--e-out), border-color var(--d-fast) var(--e-out), transform var(--d-base) var(--e-out);
  }
  .ft-end__top svg { width: 18px; height: 18px; }
  .ft-end__top:hover, .ft-end__top:focus-visible { background: #0057B8; border-color: #0057B8; transform: translateY(-3px); }

  .ft-end__mark {
    order: 3; margin: 0; padding-bottom: clamp(20px, 2.6vw, 40px); text-align: center; white-space: nowrap; user-select: none;
    font-size: clamp(54px, 12.2vw, 178px); font-weight: 800; line-height: 1; letter-spacing: -.02em;
    color: transparent; -webkit-text-stroke: 1.2px rgba(242, 245, 249, .3);
    background: linear-gradient(100deg, transparent 38%, rgba(59, 160, 224, .9) 50%, transparent 62%) 0 0 / 250% 100% no-repeat;
    -webkit-background-clip: text; background-clip: text;
    animation: ft-mark 3.6s ease-in-out infinite;
  }
  @keyframes ft-mark { 0% { background-position: 120% 0; } 75%, 100% { background-position: -20% 0; } }
  .ft-end__made {
    order: 2; align-self: flex-end; margin: 6px 0 clamp(4px, 1vw, 12px);
    font-size: .76rem; letter-spacing: .06em; color: rgba(242, 245, 249, .55); text-align: end;
  }
  .ft-end__made strong { color: #FFFFFF; font-weight: 700; }

  
  .totop { transition: opacity var(--d-base) var(--e-out), visibility 0s linear var(--d-base); }
  html.is-at-end .totop { opacity: 0; visibility: hidden; pointer-events: none; }

  @media (max-width: 1000px) {
    .ft-end__row { grid-template-columns: minmax(0, 1fr) auto; }
    .ft-end__rights { grid-column: 1 / -1; }
  }
  @media (max-width: 640px) {
    .ft-end__row { grid-template-columns: minmax(0, 1fr); justify-items: start; }
    .ft-end__tools { width: 100%; justify-content: space-between; }
    .ft-end__made { align-self: flex-start; text-align: start; }
    .ft-end__mark { padding-bottom: 84px; }
  }
  @media (prefers-reduced-motion: reduce) { .ft-end__mark { animation: none; } }
}

@layer sections {
  .pr-related { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: #0057B8; text-decoration: none; border-bottom: 1px solid currentColor; }
  .pr-related:hover, .pr-related:focus-visible { color: #0E2A47; }
}


@layer sections {
  .footer { padding-block: clamp(36px, 4.5vw, 60px) 0; }
  .ft { padding-block: 0 clamp(26px, 3vw, 40px); gap: clamp(24px, 3.4vw, 56px); }
  .ft__brand img { width: 132px; }
  .ft__brand .ft-cta__k { margin: 26px 0 6px; }
  .ft__brand .ft-cta__h { font-size: clamp(1.15rem, 1.6vw, 1.45rem); max-width: 16ch; }
  .ft__act { margin-top: 18px; }
  .ft__brand .ft-cta__btn { padding: 11px 20px; font-size: .72rem; }
  .ft__social { margin-top: 20px; }
  .ft__h--next { margin-top: 26px; }
  .ft__list { gap: 10px; }
  .ft__info { gap: 12px; }
  .ft__map { margin-top: 16px; }
  .ft-end__row { padding-block: 18px; }
  .ft-end__rights { display: grid; gap: 4px; }
  .ft-end__made { display: block; font-size: .76rem; letter-spacing: .04em; color: rgba(242, 245, 249, .5); }
  .ft-end__made strong { color: #FFFFFF; font-weight: 700; }
  .ft-end__mark { font-size: clamp(48px, 9vw, 132px); padding-bottom: clamp(14px, 1.8vw, 26px); }
  @media (max-width: 640px) { .ft-end__mark { padding-bottom: 84px; } }
}
@layer sections {
  .ft-end__rights .ft-end__made { order: 0; align-self: auto; justify-self: start; margin: 0; text-align: start; }
}

@layer sections {
  .pjc__scope { color: #FFFFFF; font-size: .78rem; font-weight: 600; line-height: 1.4; }
}


@layer sections {

  .nw-art__body h2 { margin: 26px 0 10px; font-size: 1.6em; color: #0E2A47; line-height: 1.3; }
  .nw-art__body h3 { margin: 20px 0 8px; font-size: 1.25em; color: #0E2A47; }
  .nw-art__body ol { margin: 14px 0; padding-inline-start: 1.4em; list-style: decimal; }
  .nw-art__body ul { margin: 14px 0; padding-inline-start: 1.4em; list-style: disc; }
  .nw-art__body blockquote { margin: 20px 0; padding: 12px 20px; border-inline-start: 4px solid #3BA0E0; background: #F2F5F9; color: #0E2A47; }
  .nw-art__body a { color: #0057B8; text-decoration: underline; text-underline-offset: 3px; }
  .nw-art__body .a-center { text-align: center; }
  .nw-art__body .c-navy { color: #0E2A47; }   .nw-art__body .c-blue { color: #0057B8; }   .nw-art__body .c-sky { color: #3BA0E0; }
  .nw-art__body .c-grey { color: #5B6878; }   .nw-art__body .c-green { color: #1E8E5A; }   .nw-art__body .c-red { color: #C0392B; }
  .nw-art__body .s-sm { font-size: .85em; }   .nw-art__body .s-lg { font-size: 1.3em; }   .nw-art__body .s-xl { font-size: 1.7em; font-weight: 700; line-height: 1.35; }

}

@layer sections {
  .pcard__media--mark { --mark: var(--mark-rev); background: var(--mark) center / 26% auto no-repeat, radial-gradient(120% 120% at 0% 0%, #0057B8 0%, #0E2A47 70%); }
}


@layer sections {
  .nw-art { padding: 0; background: #FFFFFF; }
  .nw-art__narrow { max-width: 800px; }
  .nw-art__head { background: #F2F5F9; padding: clamp(40px, 6vw, 80px) 0 clamp(90px, 10vw, 140px); border-bottom: 1px solid var(--line); }
  .nw-art .nw-art__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 18px; font-size: .85rem; color: #5B6878; }
  .nw-art__kind { padding: 5px 12px; border-radius: 999px; background: #0057B8; color: #FFFFFF; font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; }
  [dir='rtl'] .nw-art__kind { letter-spacing: 0; font-size: .8rem; }
  .nw-art .nw-art__h { margin: 0; font-size: clamp(2rem, 4.4vw, 3.2rem); line-height: 1.12; color: #0E2A47; }
  .nw-art .nw-art__lead { margin-top: 18px; font-size: clamp(1.05rem, 1.5vw, 1.25rem); line-height: 1.7; color: #3C4856; }
  .nw-art .nw-art__lead p { margin: 0; text-align: start; }
  .nw-art__media { max-width: 1040px; margin-top: clamp(-120px, -9vw, -70px); }
  .nw-art .nw-art__pic { display: block; margin: 0; border-radius: 18px; overflow: hidden; background: #E9EDF1; box-shadow: 0 24px 60px rgba(14, 42, 71, .16); }
  .nw-art .nw-art__pic img { display: block; width: 100%; height: auto; max-height: 72vh; object-fit: contain; margin-inline: auto; }
  .nw-art .nw-art__body { padding-top: clamp(32px, 4vw, 52px); }
  .nw-art .nw-art__body p, .nw-art .nw-art__body li { font-size: 1.1rem; line-height: 1.9; }
  .nw-art__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; margin: clamp(36px, 4vw, 56px) 0 clamp(48px, 6vw, 80px); padding-top: 24px; border-top: 1px solid var(--line); }
  .nw-art__foot .nw-art__back { margin: 0; font-weight: 700; color: #0057B8; text-decoration: none; }
  .nw-share { display: flex; align-items: center; gap: 10px; margin: 0; color: #5B6878; font-size: .85rem; }
  .nw-share a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line); color: #0E2A47; transition: background-color var(--d-fast) var(--e-out), color var(--d-fast) var(--e-out), border-color var(--d-fast) var(--e-out); }
  .nw-share a svg { width: 17px; height: 17px; }
  .nw-share a:hover, .nw-share a:focus-visible { background: #0057B8; border-color: #0057B8; color: #FFFFFF; }
  .nw-more { padding-block: clamp(48px, 6vw, 80px); }
  .nw-more__h { margin: 0 0 24px; font-size: clamp(1.4rem, 2.4vw, 1.9rem); color: #0E2A47; }
}

@layer sections {
  .nw-art__head { padding-top: calc(var(--nav-h, 84px) + clamp(28px, 4vw, 56px)); }
  .nw-art .nw-share a { border: 1px solid #D5DCE4; }
}

@layer sections {
  .nw-art__foot { margin-bottom: 0; padding-bottom: clamp(48px, 6vw, 80px); }
  .nw-art .nw-art__body > * + * { margin-top: 18px; }
}


@layer sections {
  .nb { padding-block: clamp(48px, 6vw, 80px); border-top: 1px solid var(--line); }
  .nb__head { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
  .nb__h { margin: 0; font-size: clamp(1.4rem, 2.4vw, 1.9rem); color: #0E2A47; }
  .nb__dot { width: 9px; height: 9px; border-radius: 50%; background: #3BA0E0; box-shadow: 0 0 0 0 rgba(59,160,224,.6); animation: nb-pulse 2s ease-out infinite; }
  @keyframes nb-pulse { to { box-shadow: 0 0 0 12px rgba(59,160,224,0); } }
  .nb__empty { color: #5B6878; }
  .nb__list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
  .nb__item { display: grid; grid-template-columns: 150px 150px minmax(0, 1fr); align-items: baseline; gap: 8px 24px; padding: 18px 4px; border-bottom: 1px solid var(--line); }
  .nb__date { font-size: .85rem; color: #5B6878; }
  .nb__kind { font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #0057B8; }
  [dir='rtl'] .nb__kind { letter-spacing: 0; font-size: .82rem; }
  .nb__t { margin: 0; font-size: 1.05rem; font-weight: 600; color: #0E2A47; text-align: start; }
  .nb__t a { color: inherit; text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size var(--d-base) var(--e-out); }
  .nb__t a:hover { background-size: 100% 1px; color: #0057B8; }
  .nb__s { display: block; margin-top: 4px; font-size: .95rem; font-weight: 400; color: #3C4856; }
  @media (max-width: 760px) { .nb__item { grid-template-columns: auto 1fr; } .nb__t { grid-column: 1 / -1; } }
  @media (prefers-reduced-motion: reduce) { .nb__dot { animation: none; } }
}

@layer sections {
  .tg-card.tg-card--cta { grid-column: 1 / -1; min-height: 0; }
  .tg-card--cta .tg-card__tx { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 28px; }
  .tg-card--cta .tg-card__go { margin-top: 0; }
}


@layer responsive {
  
  .hm-impact .hm-accr { flex-direction: row; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 14px 24px; margin-top: clamp(22px, 2.4vw, 32px); padding-top: clamp(18px, 2vw, 26px); border-top: 1px solid rgba(242,245,249,.18); }
  .hm-impact .hm-accr__h { color: #FFFFFF; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; margin: 0; }
  [dir='rtl'] .hm-impact .hm-accr__h { letter-spacing: 0; font-size: .92rem; }
  .hm-impact .hm-iso { gap: 18px; }
  .hm-impact .hm-iso li { flex-direction: row; gap: 8px; }
  .hm-impact .hm-iso__seal { width: 46px; border-width: 2px; }
  .hm-impact .hm-iso__iso { font-size: .82rem; }
  .hm-impact .hm-iso__n { color: #FFFFFF; }
  .hm-impact__img { object-position: 52% 40%; }
  .hm-impact picture { display: contents; }

  
  .tb { padding-block: calc(var(--nav-h, 84px) + clamp(28px, 4vw, 52px)) clamp(48px, 6vw, 80px); }
  .tb__h { margin: 14px 0 clamp(28px, 3vw, 40px); font-size: clamp(2rem, 4.4vw, 3.4rem); line-height: 1.1; color: #FFFFFF; }
  .tb__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 22px); }
  .tb-brand { position: relative; isolation: isolate; display: flex; align-items: flex-end; min-height: clamp(380px, 38vw, 520px); border-radius: 16px; overflow: hidden; color: #FFFFFF; text-decoration: none; }
  .tb-brand__bg, .tb-brand__bg picture, .tb-brand__bg img { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -2; }
  .tb-brand__bg img { object-fit: cover; object-position: 50% 30%; transition: transform var(--d-slow) var(--e-out); }
  .tb-brand::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(14,42,71,.1) 0%, rgba(14,42,71,.55) 45%, rgba(14,42,71,.96) 100%); }
  .tb-brand:hover .tb-brand__bg img { transform: scale(1.05); }
  .tb-brand__in { display: grid; gap: 10px; padding: clamp(22px, 2.4vw, 32px); }
  .tb-brand__name { font-size: clamp(1.6rem, 2.4vw, 2.1rem); font-weight: 800; letter-spacing: .02em; color: #FFFFFF; }
  .tb-brand__line { font-size: .98rem; line-height: 1.6; color: rgba(242,245,249,.86); text-align: start; }
  .tb-brand__go { margin-top: 6px; font-size: .74rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: #3BA0E0; }
  [dir='rtl'] .tb-brand__go { letter-spacing: 0; font-size: .85rem; }
  @media (max-width: 900px) { .tb__grid { grid-template-columns: minmax(0, 1fr); } .tb-brand { min-height: 320px; } }
}

@layer responsive {
  html { scroll-behavior: smooth; }
  .pillar { scroll-margin-top: calc(var(--nav-h, 84px) + 24px); }
}


@layer responsive {

  
  .wa-div { align-items: stretch; }
  .wa-div__item { display: flex; flex-direction: column; }
  .wa-div__media { aspect-ratio: auto; height: clamp(220px, 34vh, 340px); }
  .wa-div__b { flex: 1; display: flex; flex-direction: column; }
  .wa-div__go { margin-top: auto; align-self: flex-start; }
  
  .wa-div__media { position: relative; }
  .wa-div__media img { filter: grayscale(.85) contrast(1.05) brightness(.95); }
  .wa-div__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(0,87,184,.38), rgba(14,42,71,.55)); mix-blend-mode: multiply; pointer-events: none; }
  .wa-div__item:hover .wa-div__media img { filter: grayscale(.4) contrast(1.05); }
}
@layer responsive {
  .wa-do.section--ink { padding-block: clamp(36px, 5vh, 60px); }
  .wa-div__media { height: clamp(200px, 30vh, 300px); }
  .wa-div__b { padding: clamp(18px, 2vw, 28px); }
}
@layer responsive {
  
  .wa-div__media img, .wa-div__item:hover .wa-div__media img { filter: none; object-position: 50% 30%; }
  .wa-div__media::after { content: none; }
  .wa-div__media { height: clamp(220px, 34vh, 340px); }
  .wa-do.section--ink { padding-top: clamp(24px, 3.5vh, 44px); }
}


@layer responsive {
  .nw-art .nw-art__head { padding: calc(var(--nav-h, 84px) + clamp(28px, 4vw, 56px)) 0 clamp(36px, 5vw, 72px); }
  .nw-art__top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
  .nw-art__top--solo { grid-template-columns: minmax(0, 800px); }
  .nw-art__top .nw-art__media { max-width: none; margin: 0; padding: 0; }
  .nw-art__top .nw-art__pic img { max-height: 70vh; }
  @media (max-width: 860px) {
    .nw-art__top { grid-template-columns: minmax(0, 1fr); }
  }
}
@layer responsive {
  .nw-art .nw-art__head { padding: calc(var(--nav-h, 84px) + clamp(20px, 2.6vw, 36px)) 0 clamp(36px, 5vw, 64px); }
  .nw-art__top { align-items: start; }
  .nw-art__top .nw-art__media { position: sticky; top: calc(var(--nav-h, 84px) + 20px); }
  .nw-art__top .nw-art__pic img { max-height: calc(100vh - var(--nav-h, 84px) - 60px); }
  .nw-art__top .nw-art__h { font-size: clamp(1.8rem, 3.2vw, 2.7rem); }
  .nw-art__top .nw-art__body { padding-top: clamp(18px, 2vw, 26px); }
  .nw-art__top .nw-art__body p, .nw-art__top .nw-art__body li { font-size: 1.05rem; line-height: 1.85; }
  .nw-art__top .nw-art__foot { margin: clamp(24px, 3vw, 36px) 0 0; }
  @media (max-width: 860px) {
    .nw-art__top .nw-art__media { position: static; order: -1; }
  }
}


@layer responsive {
  .hm-stats { position: relative; overflow: hidden; isolation: isolate; padding-block: clamp(64px, 9vw, 120px) clamp(48px, 6vw, 80px); background: radial-gradient(120% 80% at 50% 0%, #17406B 0%, #0E2A47 55%, #0A2038 100%); color: #FFFFFF; }
  .hm-stats__grid-bg { position: absolute; inset: 0; z-index: -1; opacity: .5;
    background-image: linear-gradient(rgba(59,160,224,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(59,160,224,.08) 1px, transparent 1px);
    background-size: 48px 48px; -webkit-mask-image: radial-gradient(70% 70% at 50% 40%, #000 30%, transparent 100%); mask-image: radial-gradient(70% 70% at 50% 40%, #000 30%, transparent 100%); }

  .hm-stats__row { display: grid; grid-template-columns: 1fr 1.25fr 1fr; align-items: end; gap: clamp(20px, 4vw, 64px); margin: 0; }
  .hm-stat { display: flex; flex-direction: column; align-items: center; text-align: center; margin: 0; }
  .hm-stat dt { order: 2; margin-top: 18px; font-weight: 700; line-height: 1; letter-spacing: -.02em; color: #FFFFFF; unicode-bidi: isolate; }
  .hm-stat dd { order: 3; margin: 12px 0 0; font-size: .82rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: #8FC3EA; }
  [dir="rtl"] .hm-stat dd { letter-spacing: 0; font-size: 1rem; }
  .hm-stat--side dt { font-size: clamp(2.4rem, 4.4vw, 3.6rem); }
  .hm-stat--core dt { white-space: nowrap; padding-bottom: .08em; font-size: clamp(2.8rem, 6vw, 5rem); background: linear-gradient(180deg, #FFFFFF 30%, #9ED0F2); -webkit-background-clip: text; background-clip: text; color: transparent; }
  .hm-stat--core dd { color: #3BA0E0; }
  [dir="rtl"] .hm-stat--core dt { font-size: clamp(2.2rem, 4.4vw, 3.8rem); }

  
  .hm-ic { display: grid; place-items: center; }
  .hm-ic svg { width: 100%; height: 100%; overflow: visible; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
  .hm-stat__ic { order: 1; width: clamp(64px, 7vw, 88px); height: clamp(64px, 7vw, 88px); padding: 14px; border-radius: 22px; color: #3BA0E0;
    background: linear-gradient(160deg, rgba(59,160,224,.18), rgba(0,87,184,.08)); border: 1px solid rgba(59,160,224,.3); box-shadow: 0 14px 40px rgba(0,0,0,.25); }

  
  .hm-mark { order: 1; position: relative; display: grid; place-items: center; width: clamp(150px, 16vw, 210px); aspect-ratio: 1; }
  .hm-mark__svg { position: relative; z-index: 1; width: 52%; overflow: visible; filter: drop-shadow(0 12px 30px rgba(59,160,224,.45)); }
  .hm-mark__l { fill: #FFFFFF; } .hm-mark__r { fill: #3BA0E0; } .hm-mark__b { fill: #0057B8; }
  .hm-mark__ring { position: absolute; inset: 0; border-radius: 50%; border: 1.5px dashed rgba(59,160,224,.55); }
  .hm-mark__ring--2 { inset: 13%; border: 1px solid rgba(255,255,255,.14); background: radial-gradient(circle, rgba(59,160,224,.22), transparent 70%); }

  
  .hm-stats__k { margin: clamp(56px, 7vw, 90px) 0 clamp(22px, 3vw, 34px); text-align: center; font-size: .8rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: #8FC3EA; }
  [dir="rtl"] .hm-stats__k { letter-spacing: 0; font-size: 1.05rem; }
  .hm-sectors { list-style: none; margin: 0; padding: 0 0 4%; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: clamp(10px, 1.4vw, 18px); }
  .hm-sector { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; aspect-ratio: .88; padding: 16px 10px;
    clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
    background: linear-gradient(170deg, rgba(255,255,255,.12), rgba(255,255,255,.03)); color: #FFFFFF; transition: background .4s ease; }
  .hm-sector:nth-child(even) { background: linear-gradient(170deg, #1A5FB4, #0E3B73); margin-top: 18%; margin-bottom: -18%; }
  .hm-sector .hm-ic { width: clamp(44px, 4.2vw, 62px); height: clamp(44px, 4.2vw, 62px); color: #9ED0F2; }
  .hm-sector:nth-child(even) .hm-ic { color: #FFFFFF; }
  .hm-sector__t { font-size: clamp(.68rem, .82vw, .8rem); font-weight: 600; line-height: 1.3; text-align: center; letter-spacing: .06em; text-transform: uppercase; }
  [dir="rtl"] .hm-sector__t { letter-spacing: 0; font-size: clamp(.8rem, .95vw, .95rem); }
  .hm-sector:hover { background: linear-gradient(170deg, #2A7BD6, #0E4A8F); }
  .hm-ic__teeth { stroke-width: 6; stroke-dasharray: 5.2 4.75; }
  .hm-ic__twinkle, .hm-ic__light, .hm-ic__blink rect, .hm-ic__car { fill: currentColor; stroke: none; }

  @media (max-width: 900px) {
    .hm-stats__row { grid-template-columns: 1fr 1fr; }
    .hm-stat--core { grid-column: 1 / -1; order: -1; margin-bottom: 12px; }
    .hm-sectors { grid-template-columns: repeat(4, minmax(0, 1fr)); padding-bottom: 0; }
    .hm-sector:nth-child(even) { margin: 0; }
  }
  @media (max-width: 560px) {
    .hm-sectors { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  }
}

@layer motion {
  @media (prefers-reduced-motion: no-preference) {
    
    .js .hm-ic__draw > * { stroke-dasharray: 160; stroke-dashoffset: 160; }
    .js .is-in .hm-ic__draw > * { animation: hm-draw 1.6s cubic-bezier(.6,.1,.2,1) .2s forwards; }
    @keyframes hm-draw { to { stroke-dashoffset: 0; } }

    
    .js .hm-mark__l, .js .hm-mark__r, .js .hm-mark__b { opacity: 0; transform-box: fill-box; transform-origin: center; }
    .js .hm-mark__l { transform: translate(-40%, -10%); }
    .js .hm-mark__r { transform: translate(40%, -10%); }
    .js .hm-mark__b { transform: translateY(60%); }
    .js .is-in .hm-mark__l, .js .is-in .hm-mark__r, .js .is-in .hm-mark__b { animation: hm-join .9s cubic-bezier(.2,.8,.2,1) .2s forwards; }
    .js .is-in .hm-mark__r { animation-delay: .32s; }
    .js .is-in .hm-mark__b { animation-delay: .44s; }
    @keyframes hm-join { to { opacity: 1; transform: none; } }
    .is-in .hm-mark__svg { animation: hm-float 5s ease-in-out 1.4s infinite; }
    @keyframes hm-float { 50% { transform: translateY(-6px); } }
    .hm-mark__ring { animation: hm-turn 28s linear infinite; }
    .hm-mark__ring--2 { animation: hm-glow 4s ease-in-out infinite; }
    @keyframes hm-turn { to { transform: rotate(360deg); } }
    @keyframes hm-glow { 50% { box-shadow: 0 0 60px rgba(59,160,224,.35); } }

    
    .hm-ic__swing { transform-box: view-box; transform-origin: 36px 10px; animation: hm-swing 3.2s ease-in-out infinite; }
    @keyframes hm-swing { 0%, 100% { transform: rotate(-9deg); } 50% { transform: rotate(9deg); } }
    .hm-ic__bob { animation: hm-bob 2.6s ease-in-out infinite; }
    @keyframes hm-bob { 50% { transform: translateY(-3px); } }
    .hm-ic__twinkle { transform-box: fill-box; transform-origin: center; animation: hm-twinkle 2.4s ease-in-out infinite; }
    @keyframes hm-twinkle { 0%, 100% { opacity: .25; transform: scale(.6) rotate(0); } 50% { opacity: 1; transform: scale(1) rotate(45deg); } }
    .hm-ic__pulse { stroke-dasharray: 90; stroke-dashoffset: 90; animation: hm-ecg 2.2s linear infinite; }
    @keyframes hm-ecg { 70%, 100% { stroke-dashoffset: -90; } }
    .hm-ic__light { opacity: .2; animation: hm-lamp 3s ease-in-out infinite; }
    .hm-ic__light--2 { animation-delay: 1.5s; }
    @keyframes hm-lamp { 0%, 100% { opacity: .15; } 40%, 60% { opacity: 1; } }
    .hm-ic__blink rect { opacity: .15; animation: hm-lamp 2.8s ease-in-out infinite; }
    .hm-ic__blink rect:nth-child(2) { animation-delay: .4s; }
    .hm-ic__blink rect:nth-child(3) { animation-delay: .9s; }
    .hm-ic__blink rect:nth-child(4) { animation-delay: 1.3s; }
    .hm-ic__blink rect:nth-child(5) { animation-delay: 1.8s; }
    .hm-ic__blink rect:nth-child(6) { animation-delay: 2.2s; }
    .hm-ic__car { animation: hm-drive 3.6s ease-in-out infinite; }
    @keyframes hm-drive { 0% { transform: translateX(0); opacity: 0; } 10%, 85% { opacity: 1; } 100% { transform: translateX(46px); opacity: 0; } }
    .hm-ic__spin { transform-box: view-box; transform-origin: 32px 28px; animation: hm-turn 14s linear infinite; }
    .hm-ic--gear .hm-ic__spin { transform-origin: 32px 32px; animation-duration: 9s; }
  }
}


@layer responsive {
  .hm-stats__row { align-items: center; }
  .hm-stat--core { position: relative; justify-content: flex-start; width: clamp(300px, 34vw, 470px); aspect-ratio: 48 / 44; margin-inline: auto; }
  .hm-tri { position: absolute; inset: 0; }
  .hm-tri .hm-mark__l { fill: url(#hmTl); } .hm-tri .hm-mark__r { fill: url(#hmTr); } .hm-tri .hm-mark__b { fill: url(#hmTb); }
  .hm-tri__svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 26px 50px rgba(0,0,0,.45)) drop-shadow(0 0 40px rgba(59,160,224,.25)); }
  .hm-tri .hm-mark__ring { inset: auto; left: 50%; top: 58%; width: 104%; aspect-ratio: 1; translate: -50% -50%; border-color: rgba(59,160,224,.35); }
  .hm-stat--core dt { position: absolute; left: 50%; top: 53%; translate: -50% -50%; margin: 0; z-index: 1;
    font-size: clamp(1.9rem, 3.4vw, 3.3rem); color: #FFFFFF; background: none; -webkit-background-clip: border-box; background-clip: border-box;
    text-shadow: 0 4px 18px rgba(6,24,48,.6); }
  .hm-stat--core dd { position: absolute; left: 50%; top: 88.5%; translate: -50% -50%; margin: 0; z-index: 1; white-space: nowrap;
    font-size: clamp(.58rem, .72vw, .72rem); letter-spacing: .22em; color: #CFE6F8; }
  [dir="rtl"] .hm-stat--core dt { font-size: clamp(1.6rem, 2.8vw, 2.7rem); }
  [dir="rtl"] .hm-stat--core dd { font-size: clamp(.78rem, .9vw, .92rem); letter-spacing: 0; }
  @media (max-width: 900px) {
    .hm-stat--core { width: min(84vw, 380px); }
  }
}
@layer motion {
  @media (prefers-reduced-motion: no-preference) {
    .is-in .hm-tri__svg { animation: hm-float 6s ease-in-out 1.4s infinite; }
  }
}


@layer responsive {
  .pjc__ic { position: absolute; top: 14px; inset-inline-start: 14px; z-index: 2; width: 46px; height: 46px; padding: 9px; border-radius: 14px;
    color: #FFFFFF; background: rgba(14,42,71,.55); border: 1px solid rgba(255,255,255,.22); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
  .pcard__head { display: flex; align-items: center; gap: 12px; }
  .pcard__ic { flex: none; width: 40px; height: 40px; padding: 7px; border-radius: 12px; color: #0057B8; background: #EAF2FC; }
  .pcard__ic .hm-ic__teeth { stroke-width: 5; }
}


@layer motion {
  @media (prefers-reduced-motion: no-preference) {
    .hm-values li:nth-child(1) svg path:first-child { animation: hv-stack 2.8s ease-in-out infinite; }
    @keyframes hv-stack { 50% { transform: translateY(-2.4px); } }
    .hm-values li:nth-child(2) svg { transform-origin: 50% 10%; animation: hv-swing 3.4s ease-in-out infinite; }
    @keyframes hv-swing { 0%, 100% { transform: rotate(-7deg); } 50% { transform: rotate(7deg); } }
    .hm-values li:nth-child(3) svg { transform-origin: 20% 80%; animation: hv-sway 3s ease-in-out infinite; }
    @keyframes hv-sway { 0%, 100% { transform: rotate(-6deg); } 50% { transform: rotate(5deg) scale(1.05); } }
    .hm-values li:nth-child(4) svg circle:nth-of-type(2), .hm-values li:nth-child(4) svg path:last-child { animation: hv-stack 2.4s ease-in-out .5s infinite; }
    .hm-values li:nth-child(4) svg circle:nth-of-type(1) { animation: hv-stack 2.4s ease-in-out infinite; }
    .hm-values li:nth-child(5) svg path:last-child { stroke-dasharray: 14; stroke-dashoffset: 14; animation: hv-check 3s ease-in-out infinite; }
    @keyframes hv-check { 30%, 80% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: -14; } }
    .hm-values li svg { transition: transform .3s ease; }
  }
}


@layer responsive {
  .ai { display: inline-grid; place-items: center; flex: none; width: 34px; height: 34px; padding: 6px; border-radius: 10px; color: #0057B8; background: #EAF2FC; vertical-align: middle; }
  .ai svg { width: 100%; height: 100%; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
  .cr-count { display: flex; align-items: center; gap: 10px; }
  .cr-job__n { display: inline-flex; align-items: center; gap: 14px; }
  .cr-job__n .ai { width: 46px; height: 46px; padding: 10px; border-radius: 14px; }
  .nb__head .ai { width: 44px; height: 44px; padding: 9px; border-radius: 14px; color: #FFFFFF; background: linear-gradient(160deg, #3BA0E0, #0057B8); }
  .nb__kind { display: inline-flex; align-items: center; gap: 8px; }
  .nb__kind .ai { width: 28px; height: 28px; padding: 5px; border-radius: 8px; }
}
@layer motion {
  @media (prefers-reduced-motion: no-preference) {
    .ai__lid { animation: ai-lid 2.6s ease-in-out infinite; }
    @keyframes ai-lid { 50% { transform: translateY(-1.4px); } }
    .ai__latch { animation: ai-blink 2.6s ease-in-out infinite; }
    @keyframes ai-blink { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }
    .cr-job:hover .ai--case svg { animation: ai-hop .6s ease-out; }
    @keyframes ai-hop { 40% { transform: translateY(-3px) rotate(-6deg); } }
    .ai__line { stroke-dasharray: 8; stroke-dashoffset: 8; animation: ai-type 3.2s ease-in-out infinite; }
    .ai__line--2 { animation-delay: .35s; }
    .ai__line--3 { animation-delay: .7s; }
    @keyframes ai-type { 25%, 75% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: -8; } }
  }
}
@layer responsive { .nb__item { grid-template-columns: 150px 210px minmax(0, 1fr); } .nb__kind { white-space: nowrap; } @media (max-width: 760px) { .nb__item { grid-template-columns: auto 1fr; } } }


@layer responsive {
  .hm-trib { position: relative; width: clamp(320px, 48vw, 660px); aspect-ratio: 48 / 44; margin: 0 auto; }
  .hm-trib .hm-tri { position: absolute; inset: 0; }
  .hm-trib .hm-mark__ring { inset: auto; left: 50%; top: 58%; width: 104%; aspect-ratio: 1; translate: -50% -50%; border-color: rgba(59,160,224,.35); }
  .hm-tri__data { position: absolute; inset: 0; margin: 0; }
  .hm-tri__f { position: absolute; z-index: 1; display: flex; flex-direction: column; align-items: center; text-align: center; translate: -50% -50%; }
  .hm-tri__f dt { order: 2; margin: 0; font-weight: 800; line-height: 1; letter-spacing: -.02em; color: #FFFFFF; unicode-bidi: isolate; white-space: nowrap; text-shadow: 0 4px 16px rgba(6,24,48,.55); }
  .hm-tri__f dd { order: 3; margin: 8px 0 0; font-weight: 700; line-height: 1.25; letter-spacing: .16em; text-transform: uppercase; color: #E3F1FC; }
  [dir="rtl"] .hm-tri__f dd { letter-spacing: 0; }
  .hm-tri__ic { order: 1; width: clamp(30px, 3.6vw, 48px); height: clamp(30px, 3.6vw, 48px); margin-bottom: 8px; color: #FFFFFF; }
  
  .hm-tri__f--a, .hm-tri__f--b { top: 58%; width: 27%; }
  .hm-tri__f--a { left: 34.6%; }
  .hm-tri__f--b { left: 65.4%; }
  [dir="rtl"] .hm-tri__f--a { left: 65.4%; }
  [dir="rtl"] .hm-tri__f--b { left: 34.6%; }
  .hm-tri__f--a dt, .hm-tri__f--b dt { font-size: clamp(1.4rem, 2.7vw, 2.5rem); }
  .hm-tri__f--a dd, .hm-tri__f--b dd { font-size: clamp(.5rem, .62vw, .66rem); }
  [dir="rtl"] .hm-tri__f--a dd, [dir="rtl"] .hm-tri__f--b dd { font-size: clamp(.68rem, .85vw, .9rem); }
  
  .hm-tri__f--base { left: 50%; top: 90%; width: 52%; }
  .hm-tri__f--base dt { font-size: clamp(1.25rem, 2.5vw, 2.3rem); background: linear-gradient(180deg, #FFFFFF 40%, #BFE2FA); -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: none; }
  .hm-tri__f--base dd { margin-top: 6px; font-size: clamp(.48rem, .58vw, .62rem); color: #9ED0F2; }
  [dir="rtl"] .hm-tri__f--base dt { font-size: clamp(1.05rem, 2vw, 1.9rem); }
  [dir="rtl"] .hm-tri__f--base dd { font-size: clamp(.62rem, .78vw, .82rem); }
  @media (max-width: 700px) {
    .hm-trib { width: min(94vw, 440px); }
    .hm-tri__ic { display: none; }
  }
}
@layer motion {
  @media (prefers-reduced-motion: no-preference) {
    .is-in .hm-tri__svg { animation: hm-float 4s ease-in-out 1s infinite; }
    .hm-trib .hm-mark__ring { animation: hm-turn 16s linear infinite; }
  }
}


@layer motion {
  @media (prefers-reduced-motion: no-preference) {
    .js .is-in .hm-ic__draw > * { animation-duration: 1s; animation-delay: .1s; }
    .hm-ic__swing { animation-duration: 1.4s; }
    .hm-ic__bob { animation-duration: 1.2s; }
    @keyframes hm-bob { 50% { transform: translateY(-5px); } }
    .hm-ic__twinkle { animation-duration: 1.2s; }
    .hm-ic__pulse { animation-duration: 1.2s; }
    .hm-ic__light, .hm-ic__blink rect { animation-duration: 1.4s; }
    .hm-ic__light--2 { animation-delay: .7s; }
    .hm-ic__car { animation-duration: 1.8s; }
    .hm-ic__spin { animation-duration: 5s; }
    .hm-ic--gear .hm-ic__spin { animation-duration: 3.5s; }

    
    .hm-values li svg { overflow: visible; }
    .hm-values li:nth-child(1) svg path:first-child { animation: hv-stack2 1.2s ease-in-out infinite; }
    @keyframes hv-stack2 { 50% { transform: translateY(-4px); } }
    .hm-values li:nth-child(2) svg { animation: hv-swing2 1.4s ease-in-out infinite; }
    @keyframes hv-swing2 { 0%, 100% { transform: rotate(-14deg); } 50% { transform: rotate(14deg); } }
    .hm-values li:nth-child(3) svg { animation: hv-sway2 1.3s ease-in-out infinite; }
    @keyframes hv-sway2 { 0%, 100% { transform: rotate(-12deg) scale(.95); } 50% { transform: rotate(10deg) scale(1.12); } }
    .hm-values li:nth-child(4) svg circle:nth-of-type(1) { animation: hv-stack2 1s ease-in-out infinite; }
    .hm-values li:nth-child(4) svg circle:nth-of-type(2), .hm-values li:nth-child(4) svg path:last-child { animation: hv-stack2 1s ease-in-out .3s infinite; }
    .hm-values li:nth-child(5) svg { animation: hv-pop 1.6s ease-in-out infinite; }
    @keyframes hv-pop { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.14); } }
    .hm-values li:nth-child(5) svg path:last-child { animation: hv-check 1.6s ease-in-out infinite; }

    
    .hm-iso__seal { animation: hv-pop 1.8s ease-in-out infinite; }
    .hm-iso:nth-of-type(2) .hm-iso__seal { animation-delay: .3s; }
    .hm-iso:nth-of-type(3) .hm-iso__seal { animation-delay: .6s; }

    
    .ai svg { animation: ai-bounce 1.2s ease-in-out infinite; }
    @keyframes ai-bounce { 0%, 100% { transform: translateY(0) rotate(0); } 30% { transform: translateY(-3px) rotate(-6deg); } 60% { transform: translateY(0) rotate(4deg); } }
    .ai__lid { animation-duration: 1.2s; }
    .ai__latch { animation-duration: 1.2s; }
    .ai__line { animation-duration: 1.6s; }
    .ai__line--2 { animation-delay: .2s; }
    .ai__line--3 { animation-delay: .4s; }
  }
}
@layer responsive { .hm-tri__f--a dd, .hm-tri__f--b dd { font-size: clamp(.56rem, .74vw, .8rem); } .hm-tri__f--base dd { font-size: clamp(.54rem, .68vw, .74rem); } }


@layer responsive {
  .hm-stats { padding-block: clamp(40px, 5vw, 72px); }
  .hm-trib { width: clamp(320px, 36vw, 500px); }
  .hm-tri__f--a dt, .hm-tri__f--b dt { font-size: clamp(1.2rem, 2vw, 1.9rem); }
  .hm-tri__f--a dd, .hm-tri__f--b dd { font-size: clamp(.5rem, .58vw, .64rem); letter-spacing: .12em; }
  [dir="rtl"] .hm-tri__f--a dd, [dir="rtl"] .hm-tri__f--b dd { font-size: clamp(.66rem, .78vw, .84rem); letter-spacing: 0; }
  .hm-tri__ic { width: clamp(26px, 2.6vw, 38px); height: clamp(26px, 2.6vw, 38px); margin-bottom: 6px; }
  .hm-tri__f--base dt { font-size: clamp(1.1rem, 1.9vw, 1.8rem); }
  [dir="rtl"] .hm-tri__f--base dt { font-size: clamp(.95rem, 1.6vw, 1.5rem); }
  .hm-tri__f--base dd { font-size: clamp(.48rem, .54vw, .6rem); }
  [dir="rtl"] .hm-tri__f--base dd { font-size: clamp(.6rem, .7vw, .76rem); }
}


@layer responsive {
  .ft__list a { display: inline-flex; align-items: center; gap: 12px; }
  .ft__ic { display: inline-grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 10px; color: #3BA0E0;
    background: rgba(59,160,224,.1); border: 1px solid rgba(59,160,224,.22); transition: background-color .3s ease, color .3s ease; }
  .ft__list a .ft__ic svg { width: 18px; height: 18px; opacity: 1; transform: none; color: inherit; transition: none; }
  [dir="rtl"] .ft__list a .ft__ic svg { scale: 1; transform: none; }
  .ft__list a:hover .ft__ic { background: #3BA0E0; color: #FFFFFF; }
}


@layer motion {
  @media (prefers-reduced-motion: no-preference) {
    .js .is-in .hm-ic__draw > * { animation-duration: 1.3s; }
    .hm-ic__swing { animation-duration: 1.9s; }
    .hm-ic__bob { animation-duration: 1.6s; }
    .hm-ic__twinkle { animation-duration: 1.6s; }
    .hm-ic__pulse { animation-duration: 1.6s; }
    .hm-ic__light, .hm-ic__blink rect { animation-duration: 1.9s; }
    .hm-ic__car { animation-duration: 2.4s; }
    .hm-ic__spin { animation-duration: 7s; }
    .hm-ic--gear .hm-ic__spin { animation-duration: 5s; }
    .hm-values li:nth-child(1) svg path:first-child { animation-duration: 1.6s; }
    .hm-values li:nth-child(2) svg { animation-duration: 1.9s; }
    .hm-values li:nth-child(3) svg { animation-duration: 1.8s; }
    .hm-values li:nth-child(4) svg circle:nth-of-type(1), .hm-values li:nth-child(4) svg circle:nth-of-type(2), .hm-values li:nth-child(4) svg path:last-child { animation-duration: 1.4s; }
    .hm-values li:nth-child(5) svg, .hm-values li:nth-child(5) svg path:last-child { animation-duration: 2.1s; }
    .hm-iso__seal { animation-duration: 2.4s; }
    .ai svg { animation-duration: 1.6s; }
    .ai__lid, .ai__latch { animation-duration: 1.6s; }
    .ai__line { animation-duration: 2.1s; }

    .ft__ic svg { animation: ft-bob 1.8s ease-in-out infinite; }
    .ft__list li:nth-child(2) .ft__ic svg { animation-delay: .25s; }
    .ft__list li:nth-child(3) .ft__ic svg { animation-delay: .5s; }
    .ft__list li:nth-child(4) .ft__ic svg { animation-delay: .75s; }
    .ft__list li:nth-child(5) .ft__ic svg { animation-delay: 1s; }
    @keyframes ft-bob { 0%, 100% { transform: translateY(0) rotate(0); } 35% { transform: translateY(-3px) rotate(-6deg); } 70% { transform: translateY(1px) rotate(4deg); } }
    .ft__list a:hover .ft__ic svg { animation-duration: .7s; }
  }
}


@layer responsive {
  .hm-stats { padding-block: clamp(32px, 4vw, 56px); }
  .hm-trib { width: clamp(280px, 27vw, 390px); }
  .hm-tri__f--a dt, .hm-tri__f--b dt { font-size: clamp(1rem, 1.55vw, 1.5rem); }
  .hm-tri__f--a dd, .hm-tri__f--b dd { margin-top: 5px; font-size: clamp(.46rem, .5vw, .56rem); letter-spacing: .1em; }
  [dir="rtl"] .hm-tri__f--a dd, [dir="rtl"] .hm-tri__f--b dd { font-size: clamp(.6rem, .66vw, .72rem); letter-spacing: 0; }
  .hm-tri__ic { width: clamp(20px, 1.9vw, 28px); height: clamp(20px, 1.9vw, 28px); margin-bottom: 4px; }
  .hm-tri__f--base dt { font-size: clamp(.95rem, 1.45vw, 1.4rem); }
  [dir="rtl"] .hm-tri__f--base dt { font-size: clamp(.82rem, 1.2vw, 1.15rem); }
  .hm-tri__f--base dd { margin-top: 4px; font-size: clamp(.44rem, .46vw, .52rem); }
  [dir="rtl"] .hm-tri__f--base dd { font-size: clamp(.56rem, .6vw, .66rem); }
}


@layer responsive {
  .hm-stats { padding-block: clamp(24px, 3vw, 40px); }
  .hm-trib { width: clamp(320px, 42vw, 600px); aspect-ratio: 48 / 20; }
  .hm-trib .hm-mark__ring { display: none; }
  .hm-tri__svg { filter: drop-shadow(0 18px 34px rgba(0,0,0,.4)); }
  .hm-tri__f--a, .hm-tri__f--b { top: 60%; width: 26%; }
  .hm-tri__f--a dt, .hm-tri__f--b dt { font-size: clamp(1.1rem, 1.7vw, 1.65rem); }
  .hm-tri__f--a dd, .hm-tri__f--b dd { margin-top: 4px; font-size: clamp(.5rem, .55vw, .62rem); }
  [dir="rtl"] .hm-tri__f--a dd, [dir="rtl"] .hm-tri__f--b dd { font-size: clamp(.62rem, .7vw, .78rem); }
  .hm-tri__ic { width: clamp(18px, 1.6vw, 24px); height: clamp(18px, 1.6vw, 24px); margin-bottom: 3px; }
  .hm-tri__f--base { top: 87%; width: 50%; }
  .hm-tri__f--base dt { font-size: clamp(1rem, 1.5vw, 1.45rem); }
  [dir="rtl"] .hm-tri__f--base dt { font-size: clamp(.9rem, 1.3vw, 1.25rem); }
  .hm-tri__f--base dd { margin-top: 2px; font-size: clamp(.46rem, .5vw, .56rem); }
  [dir="rtl"] .hm-tri__f--base dd { font-size: clamp(.58rem, .64vw, .7rem); }
  @media (max-width: 700px) {
    .hm-trib { width: 94vw; aspect-ratio: 48 / 26; }
  }
}


@layer responsive {
  .hm-figures--wide { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: clamp(36px, 5vw, 64px); padding-top: clamp(28px, 3.4vw, 44px); border-top: 1px solid var(--line); }
  .hm-figures--wide > div { display: flex; align-items: center; justify-content: center; gap: clamp(14px, 1.6vw, 22px); padding: 6px clamp(10px, 2vw, 28px); text-align: start; }
  .hm-figures--wide > div + div { border-inline-start: 1px solid var(--line); }
  .hm-figures--wide dt { margin: 0; }
  .hm-figures--wide dd { margin: 8px 0 0; }
  .hm-figures--wide > div { display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; justify-content: center; column-gap: clamp(14px, 1.6vw, 22px); }
  .hm-fig__ic { grid-row: 1 / 3; align-self: center; width: clamp(54px, 5vw, 70px); height: clamp(54px, 5vw, 70px); padding: 12px; border-radius: 18px; color: #0057B8; background: #EAF2FC; }
  .hm-fig__ic .hm-ic__rise { stroke: #3BA0E0; }
  @media (max-width: 760px) {
    .hm-figures--wide { grid-template-columns: minmax(0, 1fr); row-gap: 22px; }
    .hm-figures--wide > div { justify-content: start; }
    .hm-figures--wide > div + div { border-inline-start: 0; border-top: 1px solid var(--line); padding-top: 22px; }
  }
}
@layer motion {
  @media (prefers-reduced-motion: no-preference) {
    .hm-ic__rise { stroke-dasharray: 60; stroke-dashoffset: 60; animation: hm-rise 2.2s ease-in-out infinite; }
    @keyframes hm-rise { 45%, 80% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: -60; } }
    .hm-figures--wide > div:hover .hm-fig__ic { transform: translateY(-3px); transition: transform .3s ease; }
  }
}


@layer responsive {
  .tb__lead { max-width: 760px; margin: 0 0 clamp(22px, 2.6vw, 34px); font-size: clamp(1rem, 1.25vw, 1.15rem); line-height: 1.8; color: rgba(242,245,249,.84); text-align: start; }
  .cr-more { margin-top: clamp(28px, 3vw, 40px); padding: clamp(20px, 2.4vw, 28px); border-radius: 14px; background: #F2F5F9; border-inline-start: 4px solid #0057B8; }
  .cr-more__h { margin: 0 0 8px; font-size: clamp(1.1rem, 1.6vw, 1.35rem); color: #0E2A47; }
  .cr-more__p { margin: 0; color: #3C4856; line-height: 1.8; text-align: start; }
  .cr-more + .cr-follow { margin-top: 16px; }
}


@layer responsive {
  [dir="rtl"] .pjcards, [dir="rtl"] .pcards { direction: ltr; }
  [dir="rtl"] .pjcards > *, [dir="rtl"] .pcards > * { direction: rtl; }
}
@layer responsive {
  [dir="rtl"] .tg__grid, [dir="rtl"] .cl-logos { direction: ltr; }
  [dir="rtl"] .tg__grid > *, [dir="rtl"] .cl-logos > * { direction: rtl; }
}


@layer responsive {
  [dir="rtl"] .tb__grid, [dir="rtl"] .hm-impact, [dir="rtl"] .hm-values, [dir="rtl"] .hm-iso, [dir="rtl"] .marquee { direction: ltr; }
  [dir="rtl"] .tb__grid > *, [dir="rtl"] .hm-impact > *, [dir="rtl"] .hm-values > *, [dir="rtl"] .hm-iso > * { direction: rtl; }
  [dir="rtl"] .wa-card dt { font-size: clamp(1.5rem, 2.4vw, 2.3rem); white-space: nowrap; }
}
@layer responsive {
  [dir="rtl"] .hm-impact__img { inset: 0 auto 0 0; }
  [dir="rtl"] .hm-impact::before { background: linear-gradient(90deg, rgba(14,42,71,0) 0%, rgba(14,42,71,.15) 18%, rgba(14,42,71,.8) 31%, #0E2A47 39.5%); }
  [dir="rtl"] .hm-impact__copy { padding: clamp(28px, 3vw, 48px) clamp(24px, 3vw, 48px) clamp(28px, 3vw, 48px) 0; }
  @media (max-width: 760px) {
    [dir="rtl"] .hm-impact::before { background: linear-gradient(180deg, rgba(14,42,71,0) 0%, rgba(14,42,71,0) 32%, #0E2A47 44%); }
    [dir="rtl"] .hm-impact__copy { padding: 0 20px 24px; }
  }
}
@layer responsive {
  [dir="rtl"] .hm-impact .hm-accr { direction: ltr; }
  [dir="rtl"] .hm-impact .hm-accr > * { direction: rtl; }
}
@layer responsive {
  [dir="rtl"] .hm-impact .hm-accr > .hm-iso { direction: ltr; }
  [dir="rtl"] .hm-impact .hm-accr > .hm-iso > li { direction: ltr; }
}
@layer responsive {
  [dir="rtl"] .hm-figures--wide { direction: ltr; }
  [dir="rtl"] .hm-figures--wide > div { direction: ltr; }
  [dir="rtl"] .hm-figures--wide dd { direction: rtl; text-align: left; }
  [dir="rtl"] .hm-figures--wide > div + div { border-inline-start: 1px solid var(--line); }
}
@layer responsive { [dir="rtl"] .hm-figures--wide > div:first-child dt { direction: rtl; text-align: left; } }


@layer responsive {
  .pjc__more { position: absolute; inset: 0; z-index: 3; }
  .pjc__more .pr-gallery__open { display: none; }
  .pjc__more .pr-gallery__open:first-child { display: block; position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
  .pjc__more .pr-gallery__open img { opacity: 0; width: 100%; height: 100%; }
  .pjc__count { position: absolute; top: 14px; inset-inline-end: 14px; display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 999px;
    font-size: .78rem; font-weight: 700; color: #FFFFFF; background: rgba(14,42,71,.6); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); pointer-events: none; }
  .pjc__count::before { content: ''; width: 14px; height: 14px; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Ccircle cx='9' cy='10' r='2'/%3E%3Cpath d='m21 16-5-5-9 8'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Ccircle cx='9' cy='10' r='2'/%3E%3Cpath d='m21 16-5-5-9 8'/%3E%3C/svg%3E") center / contain no-repeat; }
  .pjc[data-gallery]:hover .pjc__media img { transform: scale(1.05); }
}
@layer responsive {
  .pr-gallery__credit { margin: 14px 0 0; font-size: .74rem; line-height: 1.6; color: #5B6878; text-align: start; }
  .pr-gallery__credit a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
}
@layer responsive { @media (min-width: 761px) { .pr-gallery__grid--5 .pr-gallery__item:last-child { grid-column: span 2; } } }



@layer sections {
  .wa-values { margin: clamp(28px, 3vw, 44px) 0 0; font-size: var(--t-label); font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--blue-bright); }
  .wa-values i { font-style: normal; opacity: .45; margin-inline: .5em; }
  [dir="rtl"] .wa-values { letter-spacing: 0; }
  .wa-guides__lead { margin: calc(-1 * clamp(16px, 2vw, 32px)) 0 clamp(32px, 3.6vw, 52px); max-width: 62ch; color: var(--ice); font-size: clamp(1.02rem, 1.2vw, 1.15rem); line-height: 1.6; }
  .wa-guides__list--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .wa-scale .wa-guide__k { font-size: clamp(2rem, 3.4vw, 3.1rem); letter-spacing: -.035em; font-variant-numeric: tabular-nums; white-space: nowrap; }
  .co-sqs__lead { margin: var(--s4) 0 0; max-width: 64ch; color: var(--muted-2); font-size: clamp(1rem, 1.15vw, 1.1rem); line-height: 1.6; }
  .xp.xp--even > .xp__i { grid-column: span 2; }
  .xp--compact .xp__i { min-height: clamp(150px, 13vw, 190px); }
  .xp--compact .xp__ghost { font-size: clamp(5rem, 9vw, 8rem); }
}
@layer responsive {
  .hm-figures--wide { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  @media (max-width: 1100px) {
    .hm-figures--wide { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 26px; }
    .hm-figures--wide > div:nth-child(3) { border-inline-start: 0; }
    .wa-guides__list--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 1040px) { .xp.xp--even > .xp__i { grid-column: span 1; } }
  @media (max-width: 760px) {
    .hm-figures--wide { grid-template-columns: minmax(0, 1fr); }
    .wa-guides__list--4 { grid-template-columns: minmax(0, 1fr); }
  }
}

@layer sections {
  .disc__scope li strong, .cx-scope li strong { display: block; margin-bottom: 2px; color: var(--white); font-weight: 600; }
}
@layer responsive {
  
  .hm-figures--wide dt { white-space: nowrap; font-size: clamp(1.5rem, 2.5vw, 2.5rem); }
}


@layer responsive {
  
  [dir="rtl"] .tg__grid > .tg-card { direction: ltr; }
  [dir="rtl"] .tg-card__tx { direction: rtl; text-align: left; align-items: flex-end; }
  [dir="rtl"] .tg-card:nth-child(even) .tg-card__tx { text-align: right; align-items: flex-start; }
  [dir="rtl"] .tg-card.tg-card--cta { direction: rtl; }
  [dir="rtl"] .tg-card.tg-card--cta .tg-card__tx { text-align: start; align-items: center; }
  @media (max-width: 760px) {
    [dir="rtl"] .tg-card:nth-child(even) .tg-card__tx { text-align: left; align-items: flex-end; }
  }

  
  .hm-figures--wide dd { white-space: nowrap; }
  [dir="rtl"] .hm-figures--wide dt { font-size: clamp(1.3rem, 2vw, 2.05rem); }

  
  .co-sqs--more { padding-block: clamp(72px, 9vw, 128px); }
  .co-sqs--more .co-sqs__h { font-size: clamp(1.8rem, 3vw, 2.7rem); font-weight: 600; letter-spacing: -.025em; line-height: 1.12; }
  [dir="rtl"] .co-sqs--more .co-sqs__h { letter-spacing: 0; line-height: 1.3; }

  
  .btn--dl { gap: .5em; }
  .btn--dl__meta { font-size: .72em; opacity: .75; letter-spacing: .08em; }
  .wa-dl { margin: clamp(18px, 2.4vh, 26px) 0 0; }
}


@layer responsive {
  .hero__title-sub { display: block; margin-top: .18em; font-size: .38em; font-weight: 500; letter-spacing: -.01em; line-height: 1.2; color: inherit; opacity: .92; }
  [dir="rtl"] .hero__title-sub { letter-spacing: 0; line-height: 1.35; }

  
  .nav__cat { display: inline-flex; align-items: center; gap: 7px; padding: 7px 13px; border: 1px solid currentColor; border-radius: 999px;
    font-size: var(--t-label); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; line-height: 1; white-space: nowrap;
    color: var(--muted); transition: color var(--d-fast) var(--e-out), background-color var(--d-fast) var(--e-out), border-color var(--d-fast) var(--e-out); }
  .nav__cat svg { width: 17px; height: 17px; flex: none; }
  .nav__cat:hover, .nav__cat:focus-visible { color: #FFFFFF; background: #0057B8; border-color: #0057B8; }
  [dir="rtl"] .nav__cat { letter-spacing: 0; font-size: .86rem; text-transform: none; }
  .nav.nav--solid .nav__cat, .nav.is-solid .nav__cat { color: #0E2A47; border-color: rgba(14, 42, 71, .28); }
  .nav.nav--solid .nav__cat:hover, .nav.is-solid .nav__cat:hover { color: #FFFFFF; border-color: #0057B8; }
  @media (max-width: 1200px) { .nav__cat span { display: none; } .nav__cat { padding: 8px; } }
}
@layer responsive {
  
  
  @media (max-width: 1600px) { :root:not([dir="rtl"]) .nav__end { gap: var(--s3); } :root:not([dir="rtl"]) .nav__cat { padding: 7px 11px; letter-spacing: .06em; } :root:not([dir="rtl"]) .nav__cta { padding-inline: 22px; } }
}
@layer responsive {
  
  @media (max-width: 1600px) and (min-width: 1081px) {
    :root:not([dir="rtl"]) .nav__inner { gap: 14px; }
    :root:not([dir="rtl"]) .nav__pill { gap: 2px; }
    :root:not([dir="rtl"]) .nav__pill .nav__link { padding-inline: clamp(8px, .8vw, 13px); letter-spacing: .07em; }
  }
}

@layer responsive {
  @media (min-width: 761px) {
    .tg__grid > .tg-card.tg-card--cta:nth-child(even) { grid-column: auto; min-height: clamp(190px, 19vw, 262px); }
    .tg__grid > .tg-card.tg-card--cta:nth-child(even) .tg-card__tx { flex-direction: column; flex-wrap: nowrap; align-items: flex-start; justify-content: center; gap: 10px; }
    [dir="rtl"] .tg__grid > .tg-card.tg-card--cta:nth-child(even) .tg-card__tx { align-items: flex-start; }
  }
}
