/* Magnor v2 — shared chrome: tokens, masthead, footer, buttons, apply form.
   Loaded by index, creators and (after site.css) the manifesto. */
:root{
  --ink:#0E0D0B; --ink-2:#17150F; --ink-3:#1F1C16;
  --ivory:#F3EDE2; --ivory-2:#E9E1D3;
  --champagne:#C9A96E; --champagne-hi:#E7CF9C; --champagne-ink:#7A5C24;
  --muted-on-ink:#9A9184; --muted-on-ivory:#6B645A;
  --hair-ink:rgba(243,237,226,.14); --hair-ivory:rgba(14,13,11,.14);
  --f-display:"Instrument Serif","Newsreader",Georgia,serif;
  --f-text:"Newsreader",Georgia,serif;
  --f-ui:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --ease:cubic-bezier(.2,.7,.1,1);
  --gut:clamp(16px,4vw,48px);
  --mast-h:64px;
}
.tc-mast,.tc-foot,.tc-mast *,.tc-foot *{box-sizing:border-box}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--champagne);color:var(--ink);padding:10px 16px;border-radius:999px;font:500 14px/1 var(--f-ui);text-decoration:none}
.skip:focus{top:12px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
:focus-visible{outline:2px solid var(--champagne);outline-offset:3px}

/* ---------- buttons ---------- */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;border-radius:999px;
  border:1px solid var(--champagne);background:var(--champagne);color:var(--ink);font:500 15px/1 var(--f-ui);text-decoration:none;cursor:pointer;
  transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease)}
.pill:hover{background:transparent;color:var(--champagne)}
.pill.ghost{background:transparent;color:inherit;border-color:currentColor}
.pill.ghost:hover{color:var(--champagne);border-color:var(--champagne)}
.tlink{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:inherit;font:500 15px/1 var(--f-ui);text-decoration:none;
  background:linear-gradient(currentColor,currentColor) 0 calc(100% - 10px)/100% 1px no-repeat;transition:color .3s}
.tlink:hover{color:var(--champagne)}

/* ---------- masthead ---------- */
.tc-mast{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--mast-h);color:var(--ivory);
  transition:background .5s var(--ease),border-color .5s var(--ease),transform .5s var(--ease);border-bottom:1px solid transparent}
.tc-mast.solid{background:rgba(14,13,11,.82);-webkit-backdrop-filter:saturate(1.2) blur(12px);backdrop-filter:saturate(1.2) blur(12px);border-bottom-color:var(--hair-ink)}
.tc-mast .wrap{display:flex;align-items:center;gap:24px;height:100%;max-width:1440px;margin:0 auto;padding:0 var(--gut)}
.tc-brand{display:flex;align-items:baseline;gap:9px;color:inherit;text-decoration:none;white-space:nowrap}
.tc-brand b{font:400 26px/1 var(--f-display);letter-spacing:-.01em}
.tc-brand i{font:italic 400 15px/1 var(--f-text);opacity:.7}
.tc-mast nav{margin-left:auto;display:flex;align-items:center;gap:26px}
.tc-mast nav a{font:400 14px/1 var(--f-ui);color:inherit;opacity:.78;text-decoration:none;transition:opacity .3s}
.tc-mast nav a:hover,.tc-mast nav a[aria-current="page"]{opacity:1}
.tc-mast nav a[aria-current="page"]{border-bottom:1px solid var(--champagne);padding-bottom:4px}
.tc-mast nav .cnt{font:500 10px/1 var(--f-mono);letter-spacing:.1em;color:var(--champagne);margin-left:6px;vertical-align:super}
.tc-mast nav a.pill,.tc-mast .pill{opacity:1;min-height:40px;padding:0 18px;font-size:14px;color:var(--ink)}
.tc-mast nav a.pill:hover{color:var(--champagne)}
.tc-mast .mast-cta{display:none}
.tc-mast .menu-btn{display:none;background:none;border:1px solid var(--hair-ink);color:inherit;border-radius:999px;height:40px;padding:0 16px;font:500 13px/1 var(--f-ui);cursor:pointer}
@media (max-width:860px){
  .tc-mast .wrap{gap:10px}
  .tc-brand b{font-size:23px}
  .tc-brand i{font-size:13px}
  .tc-mast .mast-cta{display:inline-flex;margin-left:auto;min-height:38px;padding:0 14px;font-size:13px}
  .tc-mast .menu-btn{display:inline-flex;align-items:center}
  .tc-mast nav{display:none;position:fixed;top:var(--mast-h);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
    background:var(--ink);border-bottom:1px solid var(--hair-ink);padding:8px var(--gut) 24px}
  .tc-mast nav.open{display:flex}
  .tc-mast nav a{padding:16px 0;font-size:17px;border-bottom:1px solid var(--hair-ink);opacity:1}
  .tc-mast nav a.pill{display:none}
}
@media (max-width:380px){ .tc-brand i{display:none} }

/* ---------- footer ---------- */
.tc-foot{background:var(--ink);color:var(--muted-on-ink);border-top:1px solid var(--hair-ink);padding:clamp(72px,9vw,128px) var(--gut) calc(48px + env(safe-area-inset-bottom));position:relative;z-index:2}
.tc-foot .in{max-width:1240px;margin:0 auto}
.tc-foot .sig{margin:0;text-align:center;font:400 clamp(64px,13vw,200px)/1 var(--f-display);letter-spacing:-.025em;color:var(--ivory)}
.tc-foot .sig em{font-style:italic;color:var(--champagne)}
.tc-foot .sig-sub{margin:clamp(16px,2.4vw,40px) 0 0;text-align:center;font:italic 400 18px/1.4 var(--f-text)}
.tc-foot .sig-name{margin-top:6px;font-size:14px;opacity:.7}
.tc-foot .cols{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px 48px;margin-top:clamp(56px,6vw,88px);padding-top:28px;border-top:1px solid var(--hair-ink)}
.tc-foot .mono{font:500 11px/1.9 var(--f-mono);letter-spacing:.14em;text-transform:uppercase}
.tc-foot .h{margin:0 0 6px}
.tc-foot .c{margin:0;font:400 18px/1.4 var(--f-text)}
.tc-foot nav{display:flex;flex-wrap:wrap;gap:0 24px}
.tc-foot nav a{display:inline-flex;align-items:center;min-height:44px}
.tc-foot a{text-decoration:none;color:#CFC7B9}
.tc-foot a:hover{color:var(--ivory)}
.tc-foot .legal{margin:32px 0 0;font:italic 400 15px/1.5 var(--f-text)}

/* ---------- apply form ---------- */
.apply{position:relative;color:var(--ivory)}
.field{display:block;margin:0 0 22px}
.field>span{display:block;font:500 11px/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-on-ink);margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;box-sizing:border-box;background:transparent;border:0;border-bottom:1px solid rgba(243,237,226,.4);color:var(--ivory);
  font:400 18px/1.4 var(--f-text);padding:10px 0;border-radius:0;-webkit-appearance:none;appearance:none}
.field select{background-image:linear-gradient(45deg,transparent 50%,var(--champagne) 50%),linear-gradient(135deg,var(--champagne) 50%,transparent 50%);
  background-position:calc(100% - 12px) 55%,calc(100% - 6px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:28px;text-overflow:ellipsis}
.field select option{background:var(--ink-2);color:var(--ivory)}
.field textarea{min-height:84px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:rgba(243,237,226,.35)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--champagne)}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--champagne);outline-offset:4px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
@media (max-width:620px){.row2{grid-template-columns:1fr}}
.apply .fine{font:italic 400 14px/1.5 var(--f-text);color:var(--muted-on-ink);margin:18px 0 0}
.apply .done,.apply .fallback{display:none}
.apply.sent form,.apply.offline form{display:none}
.apply.sent .done,.apply.offline .fallback{display:block}
.apply h3{font:400 clamp(36px,4vw,52px)/1 var(--f-display);margin:0 0 14px;color:var(--ivory)}
.apply .done p,.apply .fallback p{font:400 18px/1.6 var(--f-text);color:#D9D1C3}

/* no JS: the Menu button cannot open anything, so show the links as a wrapped row instead */
html:not(.js) .tc-mast{position:absolute;height:auto}
html:not(.js) .tc-mast .wrap{flex-wrap:wrap;height:auto;padding-top:14px;padding-bottom:14px}
html:not(.js) .tc-mast .menu-btn{display:none!important}
html:not(.js) .tc-mast nav{display:flex!important;position:static;flex-direction:row;flex-wrap:wrap;gap:4px 18px;padding:0;background:none;border:0;margin-left:0;width:100%}
html:not(.js) .tc-mast nav a{padding:10px 0;font-size:14px;border:0}
@media (min-width:861px){ html:not(.js) .tc-mast nav{width:auto;margin-left:auto} }
.tc-mast .pill{white-space:nowrap}
