/* Shared editorial styles. Deliberately separate from the interactive homepage. */
:root {
  color-scheme:dark;
  --bg:#0d141d; --ink:#eef0ee; --muted:#a3adb6;
  --line:rgba(207,221,226,.16); --accent:#dfcbaa;
  --display:"Cinzel",Georgia,serif; --body:"DM Sans",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-gutter:stable both-edges}
body.site-page{margin:0;background:var(--bg);color:var(--ink);
  font:400 15px/1.8 var(--body);-webkit-font-smoothing:antialiased;
  min-width:320px}
a{color:inherit}
a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
::selection{background:#394a5a;color:white}
.wrap{width:min(1080px,calc(100% - 96px));margin-inline:auto}
.skip{position:absolute;top:8px;left:8px;transform:translateY(-200%);
  padding:8px 15px;color:var(--bg);background:var(--ink);z-index:10}
.skip:focus{transform:none}
.site-header{height:96px;border-bottom:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;gap:36px}
.wordmark{font:500 20px var(--display);letter-spacing:.14em;text-decoration:none;white-space:nowrap}
.wordmark span{display:inline-block;color:var(--accent);opacity:.82}
.site-header nav{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(16px,3vw,38px)}
.site-header nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.16em;
 font-size:10px;font-weight:600;color:var(--muted);transition:color .2s}
.site-header nav a:hover,.site-header nav a[aria-current="page"]{color:var(--ink)}
.site-header nav a[aria-current="page"]{text-decoration:underline;
 text-decoration-color:var(--accent);text-underline-offset:8px;text-decoration-thickness:1px}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--display);font-weight:400;letter-spacing:-.035em;line-height:1.25}
h1{font-size:clamp(40px,5.6vw,67px);margin-bottom:25px}
h2{font-size:clamp(27px,3vw,39px);margin-bottom:20px}
h3{font:400 21px/1.4 var(--display);letter-spacing:-.02em}
.eyebrow{display:block;font-size:10px;line-height:1.4;color:var(--accent);
  font-weight:600;letter-spacing:.19em;text-transform:uppercase;margin-bottom:26px}
.intro{font-size:clamp(16px,1.6vw,19px);line-height:1.8;max-width:530px;
  color:#cad1d6;margin-bottom:29px}
.hero{padding-block:112px 106px;min-height:490px}
.hero.split{display:grid;grid-template-columns:1fr .8fr;gap:11%;align-items:center}
.hero.narrow{max-width:800px;min-height:57vh}
.portrait{min-height:375px;aspect-ratio: .94;
 border:1px solid var(--line);background:linear-gradient(145deg,#15212b,#121a25 70%);
 position:relative;display:flex;align-items:flex-end;justify-content:space-between;
 padding:27px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.15em}
.portrait:before{content:"";position:absolute;inset:13px;border:1px solid rgba(226,230,234,.045)}
.portrait-rule{width:35px;height:1px;background:var(--accent);opacity:.45}
.text-link{display:inline-flex;gap:14px;align-items:center;font-size:12px;
 letter-spacing:.08em;color:var(--ink);text-decoration:none;
 border-bottom:1px solid rgba(222,203,170,.52);padding-bottom:7px}
.text-link:hover{color:var(--accent);border-color:var(--accent)}
.section{padding-block:100px;border-top:1px solid var(--line)}
.section.split{display:grid;grid-template-columns: .45fr 1fr;gap:10%}
.prose{font-size:16px;line-height:1.95;color:#c9d0d4;max-width:610px}
.prose p{margin-bottom:22px}
.prose p:last-child{margin-bottom:0}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:35px}
.section-heading h2{margin-bottom:0}
.quiet-note{display:block;color:var(--muted);font-size:11px;letter-spacing:.08em}
.atlas{padding:26px 20px;border:1px solid var(--line);background:#111a23}
.atlas-chart{display:block;width:min(100%,760px);height:auto;margin:auto;color:#b6c9d2}
.atlas-labels{font:400 12px var(--body);letter-spacing:.05em;opacity:.9}
.atlas-legend{display:none}
.atlas-labels .atlas-center{font:500 13px var(--display);letter-spacing:.06em;fill:#e7dac4;opacity:1}
.small-ending{display:flex;gap:20px;justify-content:space-between;align-items:center;padding-block:45px}
.small-ending .eyebrow{margin:0}
.career{max-width:950px}
.career-row{display:grid;grid-template-columns:.42fr 1fr;gap:9%;align-items:start;
  padding:29px 0;border-top:1px solid var(--line)}
.career-row:last-child{border-bottom:1px solid var(--line)}
.career-row h3{font-size:19px;margin:0}
.career-row p{font-size:15px;color:#b8c2c9;line-height:1.9;margin:0;max-width:580px}
.muted-copy{font-size:15px;color:var(--muted)}
.journal-notice{margin-top:74px;border-top:1px solid var(--line);padding-top:20px}
.site-footer{border-top:1px solid var(--line);min-height:102px;
 display:flex;justify-content:space-between;align-items:center;gap:20px;
 font-size:11px;letter-spacing:.08em;color:var(--muted)}
.site-footer div{display:flex;align-items:center;gap:27px}
.site-footer a{text-decoration:none;color:var(--ink)}
.site-footer a:hover{text-decoration:underline}
@media(max-width:780px){
 .wrap{width:calc(100% - 48px)}
 .site-header{height:auto;min-height:90px;align-items:start;flex-direction:column;
   padding:23px 0;gap:17px}
 .site-header nav{gap:22px}
 .hero{min-height:0;padding-block:80px}
 .hero.split{grid-template-columns:1fr;gap:54px}
 .portrait{max-width:440px;min-height:280px}
 .section{padding-block:70px}
 .section.split{grid-template-columns:1fr;gap:20px}
 .career-row{grid-template-columns:1fr;gap:12px}
}
@media(max-width:480px){
 .wrap{width:calc(100% - 34px)}
 .wordmark{font-size:18px}
 .site-header nav{gap:16px}
 .site-header nav a{font-size:10px;letter-spacing:.08em}
 .hero{padding-block:67px}
 .atlas{padding:12px 4px}
 .atlas-labels{display:none}
 .atlas-legend{display:block;text-align:center;margin:5px 12px 13px;font-size:11px;line-height:2;color:var(--muted)}
 .section-heading{align-items:start;flex-direction:column;gap:14px}
 .site-footer{align-items:start;flex-direction:column;gap:12px;padding-block:25px}
 .small-ending{align-items:start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto} .site-header nav a{transition:none}}

/* Shared masthead mirrors the centered homepage identity, while keeping
   these interior pages deliberately quiet and editorial. */
.site-header {
  height:auto;
  min-height:150px;
  padding:29px 0 26px;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:18px;
}
.site-header .wordmark {
  display:block;
  text-align:center;
  font:400 clamp(23px,2.4vw,35px)/1.5 var(--display);
  letter-spacing:.17em;
  color:var(--ink);
  text-decoration:none;
}
.site-header nav {
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  column-gap:clamp(24px,4vw,64px);
  row-gap:8px;
}
.site-header nav a {
  position:relative;
  display:inline-block;
  padding:4px 3px 8px;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.16em;
  font:400 clamp(11px,.86vw,13px)/1.6 var(--display);
  opacity:.77;
  transition:opacity .25s ease;
}


/* A mirror-like highlight travels through the actual letter shapes.
   No glowing blade or background layer is painted outside the text.
   The short ABC sequence has a long resting interval between passes. */
.site-header nav a {
    color: #f4f9ff;
    opacity: 1;
    text-shadow: 0 0 3px rgba(207, 232, 255, .28);
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
    .site-header nav a {
        background-image: linear-gradient(
            108deg,
            #f4f9ff 0%, #f4f9ff 42%,
            #c0e9ff 46%, #ffffff 48.7%,
            #ffffff 50%, #9edbff 52%,
            #f4f9ff 57%, #f4f9ff 100%
        );
        background-size: 320% 100%;
        background-position: 100% 0;
        background-repeat: no-repeat;
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        animation: nav-text-reflection 9s linear infinite;
    }
    .site-header nav a:nth-child(2) { animation-delay: .38s; }
    .site-header nav a:nth-child(3) { animation-delay: .76s; }
}
@keyframes nav-text-reflection {
    0%, 2% {
        background-position: 100% 0;
        filter: none;
    }
    7% {
        background-position: 50% 0;
        filter: drop-shadow(0 0 3px rgba(226, 244, 255, .85))
                drop-shadow(0 0 6px rgba(131, 201, 255, .52));
    }
    12% {
        background-position: 0% 0;
        filter: none;
    }
    12.01%, 100% {
        background-position: 0% 0;
        filter: none;
    }
}
@media (prefers-reduced-motion: reduce) {
    .site-header nav a {
        animation: none;
        filter: none;
    }
}

.site-header nav a:hover,
.site-header nav a:focus-visible,
.site-header nav a[aria-current="page"] {
  opacity:1;
  color:var(--ink);
}
.site-header nav a[aria-current="page"] {text-decoration:none}
.site-header nav a[aria-current="page"]::after {
  content:"";
  position:absolute;
  left:50%;bottom:0;
  transform:translateX(-50%);
  height:1px;width:16px;
  background:var(--accent);
  opacity:.62;
}
@media(max-width:600px){
  .site-header{min-height:0;padding:23px 0 15px;gap:13px}
  .site-header .wordmark{
    font-size:clamp(18px,5vw,25px);
    letter-spacing:.10em
  }
  .site-header nav{column-gap:clamp(12px,3.4vw,24px)}
  .site-header nav a{font-size:10px;letter-spacing:.07em;padding-inline:0}
}

/* A quiet static Polaris in the name on interior pages.
   On Home, this mark is the real interactive sky control. */
.site-header {
  /* Same title baseline as the homepage masthead. */
  padding-top:39px;
}
.site-header .wordmark {
  font-size:clamp(29px,3vw,44px);
  letter-spacing:.14em;
}
.wordmark-polaris {
  position:relative;
  display:inline-block;
  width:.28em;
  height:1em;
  vertical-align:baseline;
}
.wordmark-polaris::before,
.wordmark-polaris::after {
  content:"";
  position:absolute;
  left:50%;
  /* Match Home's Polaris center, 0.06em above the text baseline. */
  bottom:.06em;
  transform:translate(-50%,50%);
  pointer-events:none;
}
.wordmark-polaris::before {
  width:3px;
  height:3px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 4px rgba(255,255,255,.94),
             0 0 11px rgba(190,220,255,.65);
}
.wordmark-polaris::after {
  width:12px;
  height:12px;
  background:
    linear-gradient(to bottom,transparent,rgba(255,255,255,.92) 50%,transparent)
      center / 1px 12px no-repeat,
    linear-gradient(to right,transparent,rgba(255,255,255,.92) 50%,transparent)
      center / 12px 1px no-repeat;
}
@media (max-width:600px) {
  .site-header {padding-top:29px}
  .site-header .wordmark {
    font-size:clamp(21px,5.8vw,27px);
    letter-spacing:.09em;
    /* Home's brand column gains the same 21px mobile offset. */
    margin-top:21px;
  }
}
