@font-face{font-family:Open Sans;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/open-sans-300-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Open Sans;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/open-sans-300-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/open-sans-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/open-sans-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Open Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/open-sans-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Open Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/open-sans-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Open Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/open-sans-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Open Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/open-sans-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:eurostile-fallback;src:local("Arial"),local("Helvetica");size-adjust:93%}@font-face{font-family:open-sans-fallback;font-weight:300;src:local("Arial"),local("Helvetica");size-adjust:92.5%}@font-face{font-family:open-sans-fallback;font-weight:400;src:local("Arial"),local("Helvetica");size-adjust:105.1%}@font-face{font-family:open-sans-fallback;font-weight:600;src:local("Arial Bold"),local("Arial-BoldMT"),local("Helvetica Bold");size-adjust:100.4%}@font-face{font-family:open-sans-fallback;font-weight:700;src:local("Arial Bold"),local("Arial-BoldMT"),local("Helvetica Bold");size-adjust:104%}:root{--slate-blue: #4a7f99;--deep-teal: #005b87;--pale-blue-grey: #a4bfcc;--charcoal: #333333;--ink: #1c1c1c;--paper: #ffffff;--mist: #f2f2f2;--color-body-text: #24282b;--color-heading: var(--charcoal);--color-accent: var(--slate-blue);--color-accent-hover: var(--deep-teal);--color-card-ground: var(--charcoal);--color-card-heading: var(--paper);--color-card-body: var(--pale-blue-grey);--color-chip-ground: var(--deep-teal);--color-chip-text: var(--paper);--color-section-alt: var(--mist);--font-display: "eurostile", "eurostile-fallback", sans-serif;--font-body: "Open Sans", "open-sans-fallback", sans-serif;--display-size: 54px;--display-line: 60px;--display-weight: 800;--display-tracking: .01em;--subheader-size: 18px;--subheader-tracking: .02em;--body-size: 15px;--body-line: 23px;--lead-size: 18px;--radius-chip: 4px;--radius-card: 5px;--radius-button: 6px;--shadow-hard: 4px 4px 0 0 rgba(0, 0, 0, .25);--gutter: 20px;--section-pad: 75px;--reveal-ease: cubic-bezier(.215, .61, .355, 1);--reveal-duration: .75s}:root[data-contrast=aa]{--color-card-body: #cadae1;--color-accent: #3b667a}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;font-family:var(--font-body);font-size:var(--body-size);line-height:var(--body-line);color:var(--color-body-text);background:var(--paper)}img{max-width:100%;height:auto;display:block}.container{max-width:1100px;margin-inline:auto;padding-inline:var(--gutter)}.skip-link{position:absolute;left:-9999px;top:0;background:var(--paper);color:var(--color-heading);padding:10px 16px;z-index:10000}.skip-link:focus{left:8px;top:8px}h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:var(--display-weight);text-transform:uppercase;letter-spacing:var(--display-tracking);color:var(--color-heading);margin:0 0 .5em}h1{font-size:var(--display-size);line-height:var(--display-line)}h2{font-size:40px;line-height:1.15}h3{font-size:28px;line-height:1.2}@media(max-width:690px){h1{font-size:38px;line-height:44px}h2{font-size:30px}}.lead{font-size:var(--lead-size);line-height:1.5}a{color:var(--color-accent)}a:hover{color:var(--color-accent-hover)}.btn{display:inline-block;font-family:var(--font-body);font-weight:600;font-size:15px;text-transform:uppercase;letter-spacing:.02em;text-decoration:none;border-radius:var(--radius-button);padding:14px 34px;cursor:pointer;transition:background .25s ease,color .25s ease;border:0}.btn-primary{background:var(--color-accent);color:var(--paper)}.btn-primary:hover{background:var(--color-accent-hover);color:var(--paper)}.btn-see{background:transparent;color:var(--color-accent);border:2px solid var(--color-accent);padding:12px 32px}.btn-see:hover{background:var(--color-accent);color:var(--paper)}.site-header{background:var(--paper);position:sticky;top:0;z-index:1000}.site-header .bar{display:flex;align-items:center;justify-content:space-between;padding:14px var(--gutter);max-width:1400px;margin-inline:auto}.site-header .logo{display:flex;align-items:center;gap:12px;text-decoration:none}.site-header .logo img{width:238px;height:auto}@media(max-width:690px){.site-header .logo img{width:190px}}.site-nav{display:none}@media(min-width:1000px){.site-nav{display:flex;gap:34px}.site-nav a{font-family:var(--font-display);font-weight:var(--display-weight);text-transform:uppercase;font-size:15px;letter-spacing:.02em;color:var(--color-heading);text-decoration:none}.site-nav a:hover{color:var(--color-accent)}.menu-toggle{display:none}}.menu-toggle{background:none;border:0;padding:10px;cursor:pointer;display:inline-flex;flex-direction:column;gap:5px}.menu-toggle span{display:block;width:26px;height:3px;background:var(--color-heading)}.slide-menu{position:fixed;inset:0 0 0 auto;width:min(320px,85vw);background:var(--charcoal);color:var(--paper);padding:28px;transform:translate(100%);transition:transform .3s var(--reveal-ease);z-index:2000;display:flex;flex-direction:column;gap:8px}.slide-menu.open{transform:translate(0)}.slide-menu a{font-family:var(--font-display);font-weight:var(--display-weight);text-transform:uppercase;font-size:20px;color:var(--paper);text-decoration:none;padding:10px 0}.slide-menu a:hover{color:var(--pale-blue-grey)}.slide-menu .close{align-self:flex-end;background:none;border:0;color:var(--paper);font-family:var(--font-body);font-size:14px;cursor:pointer;padding:6px;margin-bottom:14px}.menu-backdrop{position:fixed;inset:0;background:#0006;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:1500}.menu-backdrop.show{opacity:1;pointer-events:auto}@media(prefers-reduced-motion:reduce){.slide-menu,.menu-backdrop{transition:none}}.section{padding-block:var(--section-pad)}.section-mist{background:var(--mist)}.section-band{background:var(--pale-blue-grey)}.section-slate{background:linear-gradient(180deg,var(--slate-blue),var(--deep-teal))}.section-slate h2{color:var(--paper)}.mv-row{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start;margin-bottom:34px}.mv-row h2{color:var(--color-accent);margin:0;font-size:34px}.mv-row p{margin:0;font-size:var(--lead-size);line-height:1.5}@media(max-width:690px){.mv-row{grid-template-columns:1fr;gap:8px}}.xgrid{display:grid;grid-template-columns:1fr;gap:34px}@media(min-width:690px){.xgrid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1100px){.xgrid{grid-template-columns:repeat(4,1fr)}}.xcard{display:block;text-decoration:none;background:var(--color-card-ground);border:1px solid rgba(164,191,204,.25);border-radius:var(--radius-card);box-shadow:var(--shadow-hard);padding:34px 38px}.xcard h3{color:var(--color-card-heading);font-size:20px;margin:0 0 12px}.xcard p{font-family:var(--font-display);font-weight:var(--display-weight);text-transform:uppercase;font-size:15px;letter-spacing:.02em;line-height:1.5;color:var(--color-card-body);margin:0}.xcard .more{display:block;text-align:right;margin-top:16px;font-family:var(--font-body);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-card-body)}.pgrid{display:grid;grid-template-columns:1fr;gap:34px}@media(min-width:690px){.pgrid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1100px){.pgrid{grid-template-columns:repeat(4,1fr)}}.pcard{text-decoration:none;color:inherit}.pcard img{border-radius:var(--radius-card);box-shadow:var(--shadow-hard);width:100%;aspect-ratio:1 / 1;object-fit:cover}.pcard h3{font-family:var(--font-body);font-weight:700;text-transform:none;font-size:15px;color:var(--color-body-text);margin:16px 0 6px}.pcard p{font-size:13.5px;color:#5d666c;margin:0 0 10px}.pcard .more{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent-hover);border-bottom:1px solid var(--color-accent-hover);padding-bottom:2px;display:inline-block}.project-detail{max-width:820px}.project-detail h2{margin-top:0}.project-detail .tagline{font-size:var(--lead-size);line-height:1.5;color:var(--color-accent-hover)}.project-figure{margin:34px 0}.project-figure img{border-radius:var(--radius-card);box-shadow:var(--shadow-hard);cursor:zoom-in}dialog.lightbox{border:0;padding:0;background:transparent;max-width:92vw;max-height:92vh}dialog.lightbox::backdrop{background:#000000bf}dialog.lightbox img{max-width:92vw;max-height:88vh;width:auto;height:auto;border-radius:var(--radius-card)}dialog.lightbox button{position:absolute;top:-2px;right:2px;background:none;border:0;color:#fff;font-size:26px;cursor:pointer}.topic-intro{margin-bottom:44px}.topic-banner{border-radius:var(--radius-chip);padding:1em;margin-bottom:14px}.topic-banner h2{color:var(--paper);font-size:28px;margin:0}.topic-intro>p{max-width:720px}.read-more{font-size:13px;text-transform:lowercase;letter-spacing:.04em;color:var(--color-accent-hover);border-bottom:1px solid var(--color-accent-hover);text-decoration:none;padding-bottom:2px}.af-contact{max-width:640px}.af-row{display:flex;gap:16px;flex-wrap:wrap}.af-row .af-field{flex:1 1 220px}.af-field{margin-bottom:18px}.af-field label{display:block;font-size:14px;font-weight:600;color:var(--color-heading);margin-bottom:6px}.af-field input,.af-field textarea{width:100%;padding:10px 12px;font:inherit;font-size:15px;color:var(--color-body-text);border:1px solid rgba(51,51,51,.35);border-radius:var(--radius-chip);background:var(--paper)}.af-field input:focus,.af-field textarea:focus{outline:2px solid var(--color-accent);outline-offset:0;border-color:var(--color-accent)}.af-hp{position:absolute!important;left:-9999px!important;height:1px;overflow:hidden}.af-status{margin-top:12px;font-size:15px}.logo-figure{display:flex;justify-content:center;margin:34px 0}.logo-figure img{max-width:520px;width:100%;height:auto}.site-footer{background:var(--charcoal);color:var(--pale-blue-grey);padding:34px var(--gutter);text-align:center;font-size:14px}.to-top{position:fixed;right:22px;bottom:22px;width:44px;height:44px;border-radius:50%;border:0;background:var(--color-accent);color:var(--paper);display:grid;place-items:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .25s ease,background .25s ease;z-index:900}.to-top.show{opacity:1;pointer-events:auto}.to-top:hover{background:var(--color-accent-hover)}.to-top svg{width:20px;height:20px}.rv{opacity:1;transform:none}html.js .rv{opacity:0;transform:translateY(24px)}html.js .rv-in{opacity:1;transform:none}.rv-in{opacity:1;transform:none;transition:opacity var(--reveal-duration) var(--reveal-ease),transform var(--reveal-duration) var(--reveal-ease)}@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}.rv-in{transition:none}}.hero-stagger span{display:inline-block}html.js .hero-stagger span{opacity:0;transform:translateY(24px);animation:hero-rise .6s var(--reveal-ease) forwards;animation-delay:calc(var(--wi) * 70ms)}@keyframes hero-rise{to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){html.js .hero-stagger span{animation:none;opacity:1;transform:none}}.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.section-slate :focus-visible,.slide-menu :focus-visible,.site-footer :focus-visible,.xcard:focus-visible{outline-color:var(--paper)}.af-err{color:var(--color-accent-hover);font-size:13px;margin:6px 0 0;font-weight:600}.af-field input[aria-invalid=true],.af-field textarea[aria-invalid=true]{border-color:var(--color-accent-hover);border-width:2px}.af-submit[disabled],button.btn[disabled]{opacity:.6;cursor:default}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
