/* Téthys native font stack, verified against its main.min.css. Preserved institutional layout; variance 3, motion 2, density 3. Layers: content 0, language 1, skip link 2. */
:root { --navy:#274263; --paper:#fff; --ink:#343a40; --footer-ink:#f8fafc; --font-sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:400 16px/1.5 var(--font-sans); min-height:100dvh; display:flex; flex-direction:column; }
a { color:inherit; text-underline-offset:3px; }
a:hover { text-decoration:underline; }
a:focus-visible, summary:focus-visible { outline:3px solid #bd2130; outline-offset:5px; }
img { display:block; max-width:100%; }
.skip-link { position:absolute; top:10px; left:10px; z-index:2; background:var(--navy); color:var(--paper); padding:10px 16px; transform:translateY(-200%); }
.skip-link:focus { transform:translateY(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; }
.header-inner { max-width:1110px; margin:0 auto; position:relative; padding:56px 24px 0; }
.brand-frame { display:flex; align-items:center; justify-content:center; width:320px; max-width:100%; margin:auto; }
.brand-frame img { width:100%; height:auto; }
.language { position:absolute; right:0; top:8px; z-index:1; }
.language summary { display:flex; align-items:center; gap:8px; color:var(--paper); background:var(--navy); padding:10px 12px; min-height:44px; min-width:44px; cursor:pointer; list-style:none; font-size:16px; font-weight:400; }
.language summary::-webkit-details-marker { display:none; }
.language summary img { filter:brightness(0) invert(1); }
.caret { display:inline-block; border-top:4px solid currentColor; border-left:4px solid transparent; border-right:4px solid transparent; margin-left:2px; }
.language nav { margin-top:4px; background:var(--paper); border:1px solid #d5dce4; min-width:130px; position:absolute; right:0; }
.language nav a { display:block; padding:10px 16px; color:var(--navy); text-decoration:none; }
.language nav a:hover, .language nav a[aria-current] { background:#edf1f5; }
h1 { margin:48px 24px 0; color:var(--navy); font-size:clamp(30px,4vw,40px); font-weight:500; line-height:1.2; text-align:center; }
.presentation { padding-bottom:72px; }
.intro { width:calc(100% - 48px); max-width:880px; margin:44px auto 0; text-align:center; font-size:20px; line-height:1.5; font-weight:300; }
.intro p { margin:0; }
.mission { width:calc(100% - 48px); max-width:760px; margin:64px auto 0; scroll-margin-top:40px; }
.mission h2 { margin:0 0 20px; color:var(--navy); font-size:28px; line-height:1.25; font-weight:500; }
.mission p { margin:0; font-size:20px; line-height:1.6; font-weight:300; }
.email { display:flex; width:max-content; max-width:calc(100% - 48px); margin:56px auto 0; align-items:center; flex-direction:column; gap:16px; color:var(--navy); font-weight:700; }
.email span { text-decoration:underline; }
.email:hover { text-decoration:none; }
.email:hover span { text-decoration-thickness:2px; }
.email img { width:36px; height:36px; }
footer { margin-top:auto; }
.footer-panel { background:var(--navy); color:var(--footer-ink); }
.footer-grid { max-width:1110px; margin:auto; padding:48px 24px; display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px; }
.footer-grid h2 { font-size:20px; font-weight:500; line-height:1.2; margin:0 0 16px; }
.footer-grid a { display:block; width:max-content; max-width:100%; text-decoration:none; margin-bottom:10px; font-size:16px; }
.footer-grid a:hover { text-decoration:underline; }
.footer-grid address { margin:14px 0 0; font-style:normal; font-size:16px; line-height:1.5; }
.footer-grid .social { margin:22px 0 0; }
.social img { filter:brightness(0) invert(1); }
.footer-grid a:focus-visible { outline-color:var(--paper); }
.copyright { text-align:center; margin:0; padding:16px 24px; font-size:16px; }
.information { padding-bottom:80px; }
.information h1 { font-size:clamp(30px,4vw,40px); }
.information-copy { width:calc(100% - 48px); max-width:760px; margin:48px auto 0; font-size:18px; line-height:1.7; }
.information-copy h2 { color:var(--navy); font-size:23px; font-weight:500; margin:32px 0 10px; }
.back-link { display:inline-block; margin-top:14px; color:var(--navy); }
@media (max-width:1199px) { .header-inner { max-width:960px; } .footer-grid { max-width:960px; } .language { right:24px; } }
@media (max-width:767px) { .header-inner { padding-top:72px; } .brand-frame { width:260px; } h1 { margin-top:36px; } .intro { margin-top:36px; font-size:18px; line-height:1.6; } .mission { margin-top:44px; scroll-margin-top:24px; } .mission h2 { font-size:24px; margin-bottom:16px; } .mission p { font-size:18px; line-height:1.65; } .email { margin-top:40px; } .presentation { padding-bottom:48px; } .footer-grid { grid-template-columns:1fr; gap:32px; padding:40px 24px; } .footer-grid a { padding:4px 0; margin-bottom:4px; } .information-copy { margin-top:32px; font-size:17px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
