

@font-face{font-family:"Michroma";src:url("/fonts/Michroma-Regular-v1.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("/fonts/InstrumentSerif-Regular-v1.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("/fonts/InstrumentSerif-Italic-v1.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Archivo";src:url("/fonts/Archivo-300-v1.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo";src:url("/fonts/Archivo-400-v1.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo";src:url("/fonts/Archivo-500-v1.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
  
  --espresso:#141210;
  --paper:#F2F0EC;
  --ultramarine:#1531EA;

  
  --warm-900:#241F1B;
  --warm-800:#3A332D;
  --warm-700:#5C544E;
  --warm-500:#8F857F;
  --warm-300:#BDB5AE;
  --warm-200:#D8D3CB;
  --warm-100:#E7E3DC;

  
  --black:#000000;
  --white:#FFFFFF;

  
  --ultramarine-press:oklch(0.42 0.26 267);
  --ultramarine-tint:oklch(0.92 0.05 267);

  
  --surface-page:var(--paper);
  --surface-page-inverse:var(--espresso);
  --surface-card:var(--white);
  --surface-card-inverse:var(--warm-900);
  --surface-sunken:var(--warm-100);
  --surface-accent:var(--ultramarine);

  --text-primary:var(--espresso);
  --text-secondary:var(--warm-700);
  --text-tertiary:var(--warm-500);
  --text-inverse:var(--paper);
  --text-accent:var(--ultramarine);
  --text-on-accent:var(--paper);

  --line-hairline:var(--warm-200);
  --line-strong:var(--espresso);
  --line-inverse:rgba(242,240,236,0.22);
  --line-accent:var(--ultramarine);

  --focus-ring:var(--ultramarine);
  --selection-bg:var(--ultramarine);
  --selection-fg:var(--paper);
}

.art-inverse{
  --surface-page:var(--espresso);
  --surface-card:var(--warm-900);
  --surface-sunken:var(--black);
  --text-primary:var(--paper);
  --text-secondary:var(--warm-300);
  --text-tertiary:var(--warm-500);
  
  --text-accent:var(--ultramarine-tint);
  --text-inverse:var(--espresso);
  --line-hairline:rgba(242,240,236,0.16);
  --line-strong:var(--paper);
  color:var(--text-primary);
  background:var(--surface-page);
}

:root{
  --font-mark:"Michroma",ui-sans-serif,sans-serif; 
  --font-label:"Michroma",ui-sans-serif,sans-serif;
  --font-editorial:"Instrument Serif",ui-serif,Georgia,serif;
  --font-text:"Archivo","Helvetica Neue",Arial,sans-serif;
  --font-mono:ui-monospace,"SFMono-Regular",Menlo,monospace;

  
  --size-3xs:11px;
  --size-2xs:12px;
  --size-xs:13px;
  --size-sm:15px;
  --size-md:17px;
  --size-lg:22px;
  --size-xl:30px;
  --size-2xl:40px;
  --size-3xl:54px;
  --size-4xl:72px;
  --size-5xl:104px;
  --size-6xl:148px;

  --leading-flush:0.88;   
  --leading-tight:1.04;   
  --leading-snug:1.28;
  --leading-body:1.58;
  --leading-loose:1.75;   

  
  --track-mark:0.02em;
  --track-label:0.22em;
  --track-label-tight:0.12em;
  --track-editorial:-0.01em;
  --track-body:0em;

  
  --type-mark-hero:var(--leading-flush) var(--size-5xl)/var(--leading-flush) var(--font-mark);
  --text-display:var(--size-4xl);
  --text-headline:var(--size-2xl);
  --text-title:var(--size-lg);
  --text-body:var(--size-md);
  --text-body-sm:var(--size-sm);
  --text-caption:var(--size-2xs);
  --text-eyebrow:var(--size-3xs);
}

.art-mark{font-family:var(--font-label);text-transform:uppercase;letter-spacing:var(--track-label-tight);line-height:var(--leading-snug)}
.art-eyebrow{font-family:var(--font-label);font-size:var(--size-3xs);text-transform:uppercase;letter-spacing:var(--track-label);line-height:1.2;color:var(--text-secondary)}
.art-label{font-family:var(--font-label);font-size:var(--size-2xs);text-transform:uppercase;letter-spacing:var(--track-label-tight);line-height:1.3}
.art-editorial{font-family:var(--font-editorial);font-weight:400;letter-spacing:var(--track-editorial);line-height:var(--leading-tight)}
.art-body{font-family:var(--font-text);font-weight:400;font-size:var(--size-md);line-height:var(--leading-body);letter-spacing:var(--track-body)}
.art-body-long{font-family:var(--font-text);font-weight:300;font-size:var(--size-md);line-height:var(--leading-loose);text-wrap:pretty}
.art-caption{font-family:var(--font-text);font-weight:400;font-size:var(--size-2xs);line-height:1.45;color:var(--text-secondary)}

:root{
  --space-0:0;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --space-10:40px;
  --space-12:48px;
  --space-16:64px;
  --space-20:80px;
  --space-24:96px;
  --space-32:128px;
  --space-40:160px;

  --page-margin:10%;
  --page-margin-min:24px;
  --measure-max:1440px;
  --measure-text:62ch;
  --grid-columns:12; 
  --grid-gutter:var(--space-6);

  --section-y:var(--space-32);
  --section-y-tight:var(--space-20);
}

:root{
  --radius-none:0;
  --radius-hair:1px;   
  --radius-pill:999px; 

  --border-hair:1px;
  --border-strong:1.5px;
  --rule:var(--border-hair) solid var(--line-hairline);
  --rule-strong:var(--border-hair) solid var(--line-strong);

  
  --shadow-none:none;
  --shadow-lift:0 1px 0 0 var(--line-hairline);
  --shadow-menu:0 12px 32px -12px rgba(20,18,16,0.24);
  --shadow-dialog:0 40px 96px -32px rgba(20,18,16,0.42);
  --shadow-inset-hair:inset 0 0 0 1px var(--line-hairline);

  
  --ease-standard:cubic-bezier(0.2,0,0.1,1); 
  --ease-exit:cubic-bezier(0.4,0,1,1); 
  --dur-fast:120ms; 
  --dur-base:220ms; 
  --dur-slow:420ms; 
  --dur-reveal:700ms; 

  
  --img-filter-archival:grayscale(1) sepia(0.14) contrast(1.06); 
  --img-scrim:linear-gradient(to top,rgba(20,18,16,0.72) 0%,rgba(20,18,16,0) 62%); 
  --blur-veil:saturate(120%) blur(14px); 
  --veil-paper:rgba(242,240,236,0.72);
  --veil-espresso:rgba(20,18,16,0.62);
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-text);font-size:var(--size-md);line-height:var(--leading-body);-webkit-font-smoothing:antialiased}
::selection{background:var(--selection-bg);color:var(--selection-fg)}
a{color:var(--text-accent);text-decoration:none;border-bottom:1px solid currentColor;transition:opacity var(--dur-fast) var(--ease-standard)}
a:hover{opacity:0.62}
a:active{color:var(--ultramarine-press)}
:focus-visible{outline:1.5px solid var(--focus-ring);outline-offset:2px}
img{max-width:100%;display:block}
hr{border:0;border-top:var(--rule);margin:var(--space-8) 0}

.page{background:var(--paper);color:var(--espresso);font-family:var(--font-text);--surface-page:var(--paper);--surface-card:var(--paper);min-height:100vh;overflow-x:clip}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;background-image:url("/assets/paper-grain.png");background-size:220px 220px;opacity:.26;mix-blend-mode:multiply}
a{color:var(--text-primary);text-decoration:none;border:0}
a:hover{color:var(--ultramarine);opacity:1}
@media (hover:hover){
  a.h-ink:hover,button.h-ink:hover{background:#1531EA !important;color:#FFFFFF !important;opacity:1 !important;box-shadow:0 0 0 3px #1531EA !important;border-bottom-color:#1531EA !important}
  a.h-ink-4:hover{background:#1531EA !important;color:#FFFFFF !important;opacity:1 !important;box-shadow:0 0 0 4px #1531EA !important}
  a.h-paper:hover{background:#FFFFFF !important;color:var(--espresso) !important;opacity:1 !important}
  button.h-fill:hover{background:#1531EA !important;border-color:#1531EA !important;color:#FFFFFF !important}
}
a.h-ink:focus-visible,button.h-ink:focus-visible{background:#1531EA !important;color:#FFFFFF !important;opacity:1 !important;box-shadow:0 0 0 3px #1531EA !important;border-bottom-color:#1531EA !important}
a.h-ink-4:focus-visible{background:#1531EA !important;color:#FFFFFF !important;opacity:1 !important;box-shadow:0 0 0 4px #1531EA !important}
a.h-paper:focus-visible{background:#FFFFFF !important;color:var(--espresso) !important;opacity:1 !important}
button.h-fill:focus-visible{background:#1531EA !important;border-color:#1531EA !important;color:#FFFFFF !important}
.art-inverse :focus-visible,.on-dark :focus-visible{outline:2px solid #F2F0EC;outline-offset:3px}
.art-inverse a.h-ink:focus-visible,.on-dark a.h-ink:focus-visible{background:#FFFFFF !important;color:var(--espresso) !important;box-shadow:0 0 0 3px #F2F0EC !important}
.art-inverse a.h-paper:focus-visible,.on-dark a.h-paper:focus-visible{background:#FFFFFF !important;color:var(--espresso) !important}
footer.art-inverse .footer-cols > div{gap:4px!important}
footer.art-inverse .footer-cols a{display:flex;align-items:center;min-height:44px;justify-self:start}
.team-list{list-style:none;margin:0;padding:0}
.team-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:clamp(14px,2.5vw,40px);align-items:baseline;padding:clamp(20px,2.4vw,32px) 0;border-bottom:1px solid var(--line-hairline)}
.team-name{margin:0;font-family:var(--font-text);font-weight:400;font-size:clamp(22px,3vw,44px);line-height:1.08;letter-spacing:-0.025em;text-wrap:balance}
.team-title{margin:0;font-family:var(--font-text);font-weight:300;font-size:clamp(15px,1.2vw,18px);line-height:1.5;color:var(--warm-700);text-align:right;max-width:52ch}
.home-about h2,.home-atlas h2,.home-divisions h2{margin:0;font:inherit;letter-spacing:inherit;text-transform:inherit}
header nav{min-width:0}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:16px;top:12px;z-index:40;padding:10px 14px;background:#FFFFFF;color:var(--espresso);font-family:var(--font-label);font-size:12px;letter-spacing:var(--track-label-tight);text-transform:uppercase;transform:translateY(-200%);transition:transform var(--dur-fast) var(--ease-standard)}
.skip-link:focus{transform:none;outline:1.5px solid var(--focus-ring);outline-offset:2px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,0.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line-hairline);padding:0 clamp(24px,6vw,88px);min-height:64px}
.site-header-inner{max-width:1440px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;min-height:63px;padding:12px 0}
.nav-toggle{display:none;appearance:none;background:transparent;border:0;padding:0;width:44px;height:44px;place-items:center;cursor:pointer;color:var(--espresso)}
.nav-toggle-bars,.nav-toggle-bars::before,.nav-toggle-bars::after{display:block;width:18px;height:1.5px;background:currentColor;position:relative;transition:transform var(--dur-fast) var(--ease-standard),opacity var(--dur-fast) var(--ease-standard)}
.nav-toggle-bars::before,.nav-toggle-bars::after{content:"";position:absolute;left:0}
.nav-toggle-bars::before{top:-6px}
.nav-toggle-bars::after{top:6px}
html.nav-open .nav-toggle-bars{background:transparent}
html.nav-open .nav-toggle-bars::before{top:0;transform:rotate(45deg)}
html.nav-open .nav-toggle-bars::after{top:0;transform:rotate(-45deg)}
.site-nav a[aria-current="page"]{color:var(--espresso)!important}
@media (max-width:1023px){
  html.has-nav-js .site-header{min-height:60px;height:60px}
  html.has-nav-js .site-header-inner{flex-wrap:nowrap;min-height:59px;height:59px;padding:0}
  html.has-nav-js .nav-toggle{display:grid}
  html.has-nav-js .site-nav{display:none!important;position:fixed;left:0;right:0;top:60px;z-index:19;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0;background:#FFFFFF;border-bottom:1px solid var(--line-hairline);padding:8px 0 16px;max-height:calc(100svh - 60px);overflow:auto}
  html.has-nav-js .site-nav.is-open{display:flex!important}
  html.has-nav-js .site-nav a{display:flex;align-items:center;min-height:48px;padding:0 clamp(24px,6vw,88px);font-size:16px!important;letter-spacing:var(--track-label-tight);border-bottom:0!important}
}
.grid-stack{grid-template-columns:minmax(0,1fr)}
.footer-cols{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))!important}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:1px;background:var(--line-hairline)}
.card-grid > *{margin:0!important;border:0!important;background:var(--paper)}
.card-grid-inverse{background:rgba(242,240,236,0.22)}
.card-grid-inverse > *{background:#000000}
@media (max-width:600px){
  .home-tree{display:none!important}
  .home-divisions{grid-template-columns:minmax(0,1fr)!important}
  ferro-blob{width:180px!important;height:180px!important;margin-bottom:16px!important}
  merge-plate{min-height:180px}
  .team-row{grid-template-columns:minmax(0,1fr)}
  .team-title{text-align:left;font-size:15px;max-width:none}
}
@media (max-width:480px){
  .home-hero{min-height:calc(100svh - 60px)!important;padding-top:48px!important;padding-bottom:48px!important}
  .home-hero-pad{padding-left:16px!important;padding-right:16px!important}
}
@media (max-width:400px){
  .home-hero h1{font-size:36px!important}
}
@media (max-width:800px){
  .page h1,.page h2{max-width:100% !important}
  .page [style*="white-space:nowrap"],.page [style*="white-space: nowrap"]{white-space:normal !important}
  [style*="font-size:11px"]{font-size:12px!important}
  [style*="font-size:10px"]{font-size:12px!important}
  .home-about{text-align:left!important;justify-items:start!important}
  .home-about-copy{font-size:22px!important}
  .film-copy{text-align:left!important;justify-items:start!important}
  .film-copy > div{justify-items:start!important}
  .film-ab{grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
}
.video-wrap{position:relative}
.video-toggle{position:absolute;left:clamp(12px,2vw,24px);bottom:clamp(12px,2vw,24px);z-index:3;width:44px;height:44px;padding:0;display:grid;place-items:center;background:#FFFFFF;color:#141210;border:1px solid #FFFFFF;font-size:12px;cursor:pointer}
.sound-toggle{position:absolute;right:clamp(16px,3vw,40px);bottom:clamp(16px,3vw,40px);z-index:3;display:flex;align-items:center;gap:10px;padding:18px 30px;background:#FFFFFF;color:#141210;border:1px solid #FFFFFF;font-family:var(--font-label);font-size:13px;letter-spacing:var(--track-label-tight);text-transform:uppercase;cursor:pointer}
.sound-toggle .sound-label{display:inline}
@media (max-width:800px){
  .sound-toggle{width:44px;height:44px;padding:0;justify-content:center;gap:0}
  .sound-toggle .sound-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}
