@font-face{font-family:'Geist';font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/Geist-Variable.woff2) format('woff2')}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/GeistMono-Variable.woff2) format('woff2')}
@font-face{font-family:'Sorts Mill Goudy';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/SortsMillGoudy-Regular.woff2) format('woff2')}
@font-face{font-family:'Sorts Mill Goudy';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/SortsMillGoudy-Italic.woff2) format('woff2')}

:root{
/* Base palette — the complete set. No colour outside these five. */
--wwc-cream:#F0EBD8; /* warm off-white ground */
--wwc-navy:#1B263B;  /* deep navy — primary text, dark anchor sections */
--wwc-slate:#415A77; /* slate blue — secondary text, key UI */
--wwc-mist:#778DA9;  /* muted blue-grey — rules, dividers, disabled. NOT body text on cream (2.9:1) */
--wwc-sand:#E2DBBE;  /* sand — sparing accent only, never a page background */
/* Light ground (cream) */
--bg:var(--wwc-cream);
--text-1:var(--wwc-navy);   /* 12.0:1 on cream */
--text-2:var(--wwc-slate);  /* 5.4:1 on cream */
--rule:var(--wwc-mist);
--rule-soft:var(--wwc-sand);
--disabled:var(--wwc-mist);
--accent:var(--wwc-sand);
--fill-accent:var(--wwc-sand); /* subtle section fill — a few per page max */
/* Dark ground (navy) */
--dark-bg:var(--wwc-navy);
--dark-text-1:var(--wwc-cream); /* 12.7:1 on navy */
--dark-text-2:var(--wwc-mist);  /* 4.4:1 — labels/eyebrows only, 12–14px caps */
--dark-accent:var(--wwc-sand);  /* 10.9:1 on navy */
--dark-rule:var(--wwc-slate);
/* Interactive */
--link:var(--wwc-navy);
--link-hover:var(--wwc-slate);
--focus-ring:var(--wwc-slate);
--selection:var(--wwc-sand);
}

:root{
--font-sans:'Geist','Helvetica Neue',Helvetica,Arial,sans-serif;
--font-mono:'Geist Mono','SF Mono',Consolas,monospace;
--font-serif:'Sorts Mill Goudy',Georgia,serif; /* pull quotes + one editorial statement per page ONLY */
/* Scale (1440 desktop) */
--fs-display-xl:92px; /* homepage statement */
--fs-display:64px;    /* page openers */
--fs-title:44px;      /* section titles */
--fs-heading:30px;    /* sub-sections */
--fs-subhead:22px;
--fs-lede:21px;       /* opening paragraphs */
--fs-body:17px;
--fs-ui:14px;         /* nav, buttons, form values */
--fs-caption:13px;
--fs-legal:12px;
--fs-label:12px;      /* eyebrows: caps + tracking */
/* Intranet (denser) */
--fs-int-body:13px;
--fs-int-num:12.5px;  /* set in --font-mono */
--fs-int-label:11px;
/* Line heights */
--lh-display:1.02; /* @kind other */
--lh-title:1.1; /* @kind other */
--lh-heading:1.25; /* @kind other */
--lh-body:1.55; /* @kind other */
--lh-ui:1.4; /* @kind other */
/* Tracking */
--ls-display:-0.03em;
--ls-title:-0.02em;
--ls-heading:-0.01em;
--ls-caps:0.14em;   /* eyebrows, small labels */
--ls-caps-wide:0.2em; /* classification strips, wordmark-adjacent */
/* Weights (Geist variable) */
--fw-regular:400; /* @kind font */
--fw-medium:500; /* @kind font */
--fw-semibold:600; /* @kind font */
/* Measure */
--measure:66ch; /* body text 60–75 characters */
--measure-narrow:52ch;
}

:root{
--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--sp-10:128px;--sp-11:176px;
/* Grid — 12 columns, wide margins */
--page-w:1440px;
--margin:72px;
--gutter:24px;
--content-w:1296px; /* page-w minus margins */
--margin-mobile:24px;
/* Section rhythm */
--section-pad:128px;      /* public site vertical section padding */
--section-pad-dark:112px;
--int-pad:24px;           /* intranet page padding */
--int-row:36px;           /* intranet table row height */
--int-nav-w:224px;        /* intranet left navigation */
/* Shape — Swiss: no rounding, no shadows */
--radius:0px;
--shadow:none;
--border:1px solid var(--rule);
/* Motion — opacity and small offsets only */
--dur:160ms; /* @kind other */
--dur-slow:280ms; /* @kind other */
--ease:cubic-bezier(.25,.1,.25,1); /* @kind other */
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text-1);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,p{margin:0}
img,svg{display:block}
a{color:var(--link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--rule);transition:color var(--dur) var(--ease),text-decoration-color var(--dur) var(--ease)}
a:hover{color:var(--link-hover);text-decoration-color:var(--wwc-slate)}
::selection{background:var(--selection);color:var(--wwc-navy)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
button,input,select,textarea{font:inherit;color:inherit}

/* Shell: sign-in and loading screens (before the intranet package is loaded) */
#wwc-shell{position:fixed;inset:0;z-index:100;background:var(--wwc-cream);overflow:auto}
.sh-cls{display:flex;align-items:center;justify-content:center;height:28px;background:var(--wwc-sand);color:var(--wwc-navy);font-size:11px;font-weight:600;letter-spacing:var(--ls-caps-wide);text-transform:uppercase}
.sh-center{display:grid;place-items:center;min-height:calc(100vh - 28px);padding:48px 24px}
.sh-box{width:380px;max-width:100%}
.sh-head{display:grid;justify-items:center;gap:18px;border-bottom:2px solid var(--wwc-navy);padding-bottom:22px}
.sh-head img{height:120px;width:auto}
.sh-label{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--wwc-slate)}
.sh-btn{margin-top:32px;width:100%;height:44px;background:var(--wwc-navy);color:var(--wwc-cream);border:0;font-family:var(--font-sans);font-size:13.5px;font-weight:500;cursor:pointer;transition:background var(--dur) var(--ease)}
.sh-btn:hover{background:var(--wwc-slate)}
.sh-err{margin-top:16px;font-size:12.5px;line-height:1.5;color:var(--wwc-navy);border-left:3px solid var(--wwc-navy);padding-left:10px}
.sh-notes{margin-top:28px;border-top:1px solid var(--rule);padding-top:16px;display:grid;gap:8px}
.sh-notes p{font-size:12px;line-height:1.55;color:var(--wwc-slate)}
.sh-wait__box{display:grid;justify-items:center;gap:22px;text-align:center}
.sh-wait__box img{height:56px;width:auto}
#sh-wait-text{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--wwc-slate);max-width:44ch;line-height:1.6}
#sh-wait-text.sh-wait__err{text-transform:none;letter-spacing:0;font-size:13.5px;color:var(--wwc-navy)}
#sh-note{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;align-items:center;gap:16px;background:var(--wwc-navy);color:var(--wwc-cream);padding:12px 16px;font-size:13px;box-shadow:none}
#sh-note button{background:var(--wwc-cream);color:var(--wwc-navy);border:0;font:inherit;font-weight:600;padding:6px 12px;cursor:pointer}
