:root{--night:#080e17;--navy:#102440;--blue:#65b7f7;--ink:#10233c;--muted:#53647a;--paper:#f5f8fc;--line:#dbe3ed}*{box-sizing:border-box}body{font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:1rem;line-height:1.8}h1,h2,h3{font-weight:650;letter-spacing:-.045em;line-height:1.14}h1{font-size:clamp(2.7rem,4.7vw,4.8rem)}h2{font-size:clamp(2rem,3vw,3rem)}h3{font-size:1.55rem}p{color:var(--muted)}a{color:#135a94;text-underline-offset:5px}a:hover{color:#0c416b}img{max-width:100%;height:auto}svg{width:26px;height:26px}.container{max-width:1280px;padding-left:28px;padding-right:28px}.preview-bar{background:#102440;color:#c0d1e7;font-size:.66rem;letter-spacing:.04em;padding:7px 0}.preview-bar span{color:var(--blue);padding:0 10px}header{background:var(--night);border-bottom:1px solid #203148}.navbar{min-height:96px}.navbar-brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:1.35rem;font-weight:700;letter-spacing:-.05em}.logo-lab{color:var(--blue);font-size:.76rem;letter-spacing:.14em;font-weight:500}.logo-mark{width:40px;height:40px;border:1px solid #46617d;display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:1.75rem;position:relative}.logo-mark>span{position:absolute;font-size:1rem;right:2px;top:-4px}.navbar .nav-link{font-size:.79rem;color:#bcc9db;padding:14px 11px!important;white-space:nowrap}.navbar .nav-link.active{color:var(--blue);text-decoration:underline;text-underline-offset:10px;text-decoration-thickness:2px}.navbar .nav-link:hover{color:white}.hero{padding:80px 0;background:var(--night);color:white}.eyebrow{color:#1d5d93;text-transform:uppercase;letter-spacing:.15em;font-size:.65rem;font-weight:700;margin-bottom:22px}.hero .eyebrow,.dark-section .eyebrow{color:var(--blue)}.status-dot{display:inline-block;width:6px;height:6px;background:var(--blue);border-radius:50%;margin-right:7px;vertical-align:middle}.hero h1 span,.dark-section h2 span{color:var(--blue)}.hero-lead{font-size:1.1rem;color:#b2c2d6;max-width:460px;margin:26px 0 34px}.btn{border-radius:4px;font-size:.83rem;font-weight:650;line-height:1.6;padding:14px 22px}.btn-primary{--bs-btn-bg:var(--blue);--bs-btn-color:#080e17;--bs-btn-border-color:var(--blue);--bs-btn-hover-bg:#93cfff;--bs-btn-hover-color:#080e17;--bs-btn-hover-border-color:#93cfff;--bs-btn-active-bg:#93cfff;--bs-btn-active-color:#080e17;--bs-btn-active-border-color:#93cfff}.btn-outline-light{--bs-btn-border-color:#4d6078;--bs-btn-color:#e3ecf9;--bs-btn-hover-color:var(--night)}.hero-footnote{font-size:.72rem;color:#a7b5c8;border-top:1px solid #2c3b50;max-width:450px;margin-top:40px;padding-top:19px}.hero-footnote span{color:var(--blue);margin-right:15px}.hero-art{position:relative;display:block;overflow:hidden;border-radius:5px;text-decoration:none;color:white;background:#102440}.hero-art img{width:100%;height:490px;object-fit:cover;filter:brightness(.79)}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(1,8,20,.85),transparent 60%);pointer-events:none}.art-top{position:absolute;top:22px;left:24px;z-index:1;font-size:.58rem;letter-spacing:.17em;color:white;background:#080e1799;padding:7px 10px}.art-bottom{position:absolute;bottom:25px;left:27px;right:27px;display:flex;justify-content:space-between;align-items:center;z-index:1;color:white;font-size:1.2rem;font-weight:600}.art-bottom small{display:block;font-weight:400;color:#b8d6ee;font-size:.75rem;margin-top:3px}.art-arrow{width:44px;height:44px;border:1px solid #c2d7ee66;display:grid;place-items:center;border-radius:50%;color:var(--blue)}.topic-strip{background:#102440;color:#dce6f4;border-top:1px solid #263b53;padding:23px 0}.topic-strip .container{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:.75rem}.topic-strip span:first-child{font-size:.58rem;letter-spacing:.12em;color:#90b5d7}.section{padding:85px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}.section-heading p:last-child{max-width:330px;font-size:.93rem}.section-heading h2{margin-bottom:0}.explore-card{display:block;position:relative;border:1px solid var(--line);background:#fff;padding:34px;height:100%;text-decoration:none;color:var(--ink);border-radius:5px;transition:border-color .15s}.explore-card:hover{border-color:#3076b0;color:var(--ink)}.card-icon{display:grid;place-items:center;width:48px;height:48px;color:#155589;background:#edf5ff;border:1px solid #dce9f6;border-radius:4px;margin-bottom:38px}.card-number{position:absolute;top:35px;right:30px;color:#7d8fa4;font-family:monospace;font-size:.8rem}.explore-card p{font-size:.91rem;margin:19px 0 25px}.card-link{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;font-size:.82rem;font-weight:600;color:#14588e}.dark-section{background:#102440;color:white}.dark-section p{color:#b9c9dc}.text-link{font-size:.84rem;font-weight:650}.dark-section .text-link{color:var(--blue)}.dark-section h2{margin-bottom:25px}.photo-feature{display:block;text-decoration:none;color:white}.photo-feature img{height:330px;width:100%;object-fit:cover;border-radius:4px}.photo-feature>span{display:flex;justify-content:space-between;margin-top:18px;color:white;font-size:.94rem}.photo-feature small{display:block;font-size:.69rem;color:#a9bdd6}.article-teaser{display:block;height:100%;padding:30px 0;border-top:1px solid #9db0c9;text-decoration:none;color:var(--ink)}.article-teaser p:not(.eyebrow){font-size:.91rem;margin:18px 0}.article-teaser h3{max-width:440px}.article-teaser .eyebrow{margin-bottom:15px}footer{background:var(--night);color:#c8d5e6;padding:60px 0 23px}.footer-logo{font-size:1.55rem;font-weight:650;color:white;text-decoration:none;letter-spacing:-.04em}.footer-logo span{font-size:.8rem;color:var(--blue);letter-spacing:.13em}footer p{color:#9fb2ca;font-size:.8rem;margin-top:18px}.footer-links{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 20px;align-content:start}.footer-links a{font-size:.78rem;color:#c8d5e6;text-decoration:none}.footer-links a:hover{color:var(--blue)}.footer-bottom{border-top:1px solid #243045;margin-top:40px;padding-top:23px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:.65rem;color:#9fb2ca}.footer-bottom a{color:var(--blue)}.page-intro{background:#102440;padding:65px 0;color:#fff;margin-bottom:55px}.page-intro .eyebrow{color:var(--blue)}.page-intro .lead{font-size:1.07rem;color:#bbcee6;max-width:730px;margin:24px 0 0}.page-intro h1{max-width:1000px}.source-note{font-size:.78rem;color:#5b6a7d;border-left:2px solid #3f7eac;padding-left:16px;margin-bottom:30px;max-width:900px}.project-card{height:100%;padding:30px;border:1px solid var(--line);background:white;border-radius:4px}.project-card h2{font-size:1.65rem;margin-bottom:22px}.project-card p,.project-card li{font-size:.88rem;color:var(--muted)}.project-card .eyebrow{color:#1d5d93;font-size:.61rem}.project-card ul{padding-left:20px}.project-card code,.prose code{color:#175d95;overflow-wrap:anywhere}.reading-list{max-width:960px}.reading-list>p>a{display:block;background:white;border:1px solid var(--line);padding:23px 26px;border-radius:3px;text-decoration:none;font-size:1.05rem;color:var(--ink);font-weight:550;margin:12px 0}.reading-list>p>a:hover{border-color:#3076b0}.reading-list br{display:none}.reading-list>p>b{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#1d5d93;padding-top:12px}.reading-list hr{margin:30px 0;border-color:var(--line)}.prose{max-width:850px;background:#fff;border:1px solid var(--line);padding:42px;border-radius:4px;overflow-wrap:anywhere}.prose h2{font-size:1.8rem;margin:35px 0 18px;clear:both}.prose h3{font-size:1.3rem;margin-top:25px}.prose p,.prose li{font-size:.96rem}.prose pre{white-space:pre-wrap;background:#edf3f9;padding:20px;overflow-wrap:anywhere}.portrait{float:left;width:160px;height:160px;object-fit:cover;border-radius:5px;margin:0 26px 20px 0}.prose:after{content:"";display:block;clear:both}.breadcrumb-link{font-size:.8rem;color:var(--blue)}.gallery-group{margin-top:50px}.gallery-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;border-bottom:1px solid var(--line);padding-bottom:17px}.gallery-heading h2{font-size:1.8rem;margin:0}.gallery-heading>span{font-size:.65rem;letter-spacing:.1em;color:var(--muted)}.gallery-item{display:block;background:#fff;border:1px solid var(--line);text-decoration:none;border-radius:4px;overflow:hidden}.gallery-item img{width:100%;aspect-ratio:1;object-fit:cover}.gallery-item>span{display:flex;justify-content:space-between;padding:13px 17px;font-size:.75rem;color:var(--ink)}.gallery-item:hover{border-color:#3076b0}.modal-content{background:var(--night);color:white;border:1px solid #344962}.modal-header,.modal-footer{border-color:#283d56}.modal-title{font-size:.86rem;color:#e0ebfa}.modal-body{text-align:center}.modal-body img{max-height:70vh;max-width:100%;object-fit:contain}.modal-footer{justify-content:space-between}.modal-footer>span{color:#afc2d9;font-size:.75rem}.contact-card{height:100%;padding:40px;background:white;border:1px solid var(--line);border-radius:4px}.contact-card h2{font-size:2rem}.contact-symbol{display:block;font-size:2rem;color:#175d95;margin-bottom:25px}.email-link{display:inline-block;font-size:clamp(1.1rem,2vw,1.65rem);font-weight:650;overflow-wrap:anywhere}.contact-card .small{font-size:.77rem}.social-card{background:var(--navy);color:white}.social-card p{color:#bacde2}.social-card .eyebrow{color:var(--blue)}.social-card .btn{margin-top:20px}.skip-link{position:fixed;top:-120px;left:15px;padding:12px 20px;background:var(--blue);color:var(--night);z-index:1100}.skip-link:focus{top:12px}:focus-visible{outline:3px solid #1970b3!important;outline-offset:4px}.hero :focus-visible,header :focus-visible,footer :focus-visible,.dark-section :focus-visible,.modal :focus-visible{outline-color:var(--blue)!important}@media(min-width:992px){.hero .col-lg-6:first-child{padding-right:35px}}@media(max-width:1199px){.navbar-collapse{padding:15px 0}.navbar .nav-link{padding:10px 0!important}.navbar{min-height:85px}.hero h1{font-size:3.7rem}}@media(max-width:991px){.hero{padding:45px 0}.hero-art img{height:430px}.section{padding:60px 0}.hero h1{font-size:clamp(2.8rem,7vw,4.4rem)}.hero-lead{max-width:650px}.section-heading{align-items:start}.explore-card{padding:24px}.card-number{right:22px;top:26px}.footer-links{grid-template-columns:repeat(4,1fr)}.page-intro{padding:50px 0}.photo-feature img{height:370px}}@media(max-width:575px){.container{padding-left:22px;padding-right:22px}.preview-bar{font-size:.58rem}.navbar-brand{font-size:1.2rem}.hero .eyebrow{font-size:.56rem;letter-spacing:.09em}.hero h1{font-size:2.9rem}.hero-lead{font-size:1rem}.hero .btn{font-size:.75rem;padding:13px 15px}.hero-art img{height:370px}.hero-footnote{margin-top:29px}.art-bottom{font-size:1rem;left:20px;right:20px}.art-top{left:20px;top:20px;font-size:.5rem}.topic-strip .container{gap:13px 20px;font-size:.68rem}.topic-strip span:first-child{width:100%}.section-heading{display:block}.section-heading p:last-child{margin-top:20px}.section-heading>a{display:inline-block;margin-top:20px}.section{padding:45px 0}.page-intro{margin-bottom:35px;padding:40px 0}.page-intro h1{font-size:2.6rem}.project-card{padding:24px}.prose{padding:25px}.prose .portrait{float:none;display:block;margin-bottom:25px}.reading-list>p>a{padding:20px;font-size:.95rem}.gallery-group{margin-top:35px}.gallery-item>span{font-size:.7rem;padding:11px}.contact-card{padding:25px}.footer-links{grid-template-columns:repeat(2,1fr)}.footer-bottom{display:block}.footer-bottom>*{display:block;margin-bottom:10px}.photo-feature img{height:280px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
.language-switch{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid #4d6078;border-radius:4px;padding:7px 12px;margin-left:15px;font-size:.75rem;color:#65b7f7;text-decoration:none;line-height:1.5}.language-switch:hover{background:#65b7f7;color:#080e17}@media(max-width:1199px){.language-switch{margin:12px 0 0}}@media(min-width:1200px){.navbar .nav-link{padding-left:8px!important;padding-right:8px!important}}
