@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--navy:#123554;--blue:#326eaa;--blue-deep:#1e568b;--gold:#ecb35e;--paper:#f7f9fb;--ink:#24394a;--muted:#647888;--line:#dce6ec}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{display:flex;flex-direction:column;min-height:100vh;margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65}
main{flex:1}
button{font:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
h1,h2,h3,h4{margin:0;font-family:Manrope,'DM Sans',Arial,sans-serif;line-height:1.18;letter-spacing:-.035em;color:var(--navy)}
p{margin:0}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.wrap{width:min(1210px,calc(100% - 56px));margin:auto}
.skip-link{position:absolute;top:-60px;left:12px;z-index:100;padding:10px 16px;background:#fff;color:#123c66}
.skip-link:focus{top:12px}
.site-header{font-family:Arial,Helvetica,sans-serif}
.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid #e8e5dd;background:rgba(255,253,248,.98);box-shadow:0 5px 25px rgba(13,47,83,.04)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:26px;height:80px}
.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}
.brand-mark{width:52px;height:52px;object-fit:contain;border-radius:50%;background:#fff}
.brand-text{display:flex;flex-direction:column;line-height:1.04}
.brand-text strong{font:800 1.15rem Manrope,sans-serif;letter-spacing:-.045em;color:var(--navy)}
.brand-text small{margin-top:5px;color:var(--blue);font-size:.69rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.site-header .brand{display:inline-flex;gap:12px}
.site-header .brand img{width:48px;height:48px;border:1px solid #e8e7df;border-radius:50%;background:#fff;object-fit:cover}
.site-header .brand span{display:flex;flex-direction:column;line-height:1.05}
.site-header .brand strong{color:#123c66;font:700 1.23rem Georgia,serif;letter-spacing:-.03em}
.site-header .brand small{margin-top:6px;color:#286ea9;font-size:.62rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase}
.site-nav{display:flex;align-items:center;gap:27px}
.site-nav>a:not(.nav-cta){color:#40596a;font-size:.82rem;font-weight:700}
.site-nav>a:hover,.site-nav>a[aria-current=page]{color:#286ea9}
.nav-cta{border-radius:3px;padding:11px 16px;background:#123c66;color:#fff;font-size:.78rem;font-weight:800;white-space:nowrap}
.nav-cta span{margin-left:8px}
.nav-cta:hover{background:#286ea9;color:#fff!important}
.menu-button{display:none}
.page-hero{position:relative;overflow:hidden;border-bottom:1px solid #e2edf2;padding:65px 0 70px;background:linear-gradient(125deg,#eaf3f8,#fff 62%,#eef7f4)}
.page-hero:after{position:absolute;top:-190px;right:-100px;width:380px;height:380px;border:1px solid #d7e7ef;border-radius:50%;box-shadow:0 0 0 70px rgba(99,167,195,.04);content:'';pointer-events:none}
.page-hero .container{position:relative;z-index:1}
.breadcrumbs{display:flex;align-items:center;gap:9px;margin-bottom:20px;color:#738a99;font-size:.8rem}
.breadcrumbs a{color:var(--blue-deep)}
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;color:var(--blue-deep);font-size:.76rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.eyebrow:before{width:26px;height:2px;background:var(--gold);content:''}
.page-hero h1{max-width:780px;margin:12px 0 16px;font-size:clamp(2.55rem,4.5vw,4.4rem);font-weight:800}
.page-hero p{max-width:680px;color:#5b7181;font-size:1.04rem}
.section{padding:92px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:36px}
.section-head h2{margin-top:10px;font-size:clamp(2rem,3.3vw,3.35rem);font-weight:800}
.section-head p{max-width:500px;color:var(--muted)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}
.gallery-card{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#fff}
.gallery-photo{display:block;height:245px;overflow:hidden;background:#e5eef4}
.gallery-photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.gallery-photo:hover img{transform:scale(1.04)}
.gallery-caption{padding:18px 20px}
.gallery-caption h3{font-size:1rem;font-weight:800}
.gallery-caption p{margin-top:5px;color:var(--muted);font-size:.83rem}
.gallery-empty{border:1px dashed var(--line);border-radius:16px;padding:54px 25px;background:#fff;color:var(--muted);text-align:center}
.gallery-pagination{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:38px;color:var(--muted);font-size:.88rem}
.gallery-pagination a{color:var(--blue-deep);font-weight:800}
.gallery-dialog-open{overflow:hidden}
.gallery-dialog{width:min(960px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;border:0;border-radius:16px;padding:0;background:#fff;box-shadow:0 30px 80px rgba(4,22,40,.35);color:var(--ink)}
.gallery-dialog[open]{display:flex;flex-direction:column}
.gallery-dialog::backdrop{background:rgba(7,27,48,.82)}
.gallery-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:none;padding:13px 18px;background:#fff;color:var(--navy);font-size:.8rem}
.gallery-dialog-head button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);font-size:1rem}
.gallery-dialog-head button:hover{background:#eaf3f8}
.gallery-dialog-media{display:grid;place-items:center;min-height:0;overflow:auto;background:#102f4b}
.gallery-dialog-media img{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 180px);object-fit:contain}
.gallery-dialog-caption{flex:none;padding:16px 20px 19px;background:#fff}
.gallery-dialog-caption h2{font-size:1rem;font-weight:800;letter-spacing:-.02em}
.gallery-dialog-caption p{margin-top:5px;color:var(--muted);font-size:.85rem}
.site-footer{padding:62px 0 25px;background:#102f4b;color:#c6d9e6}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px}
.footer-brand .brand-text strong{color:#fff}
.footer-brand .brand-text small{color:#a6d9de}
.footer-grid p{max-width:380px;margin-top:18px;color:#b7ccda;font-size:.88rem}
.footer-grid h4{margin:5px 0 18px;color:#fff;font-size:.93rem;letter-spacing:0}
.footer-links{display:grid;gap:11px}
.footer-links a{color:#bdd0de;font-size:.87rem}
.footer-links a:hover{color:#fff}
.footer-bottom{margin-top:45px;border-top:1px solid rgba(255,255,255,.12);padding-top:22px;color:#8fb0c4;font-size:.77rem}
@media(max-width:1080px){.site-nav{gap:17px}.site-nav>a:not(.nav-cta){font-size:.76rem}}
@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.wrap{width:min(100% - 40px,1210px)}.header-inner{height:70px}.menu-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:43px;height:43px;border:1px solid #d8e3e7;background:transparent;cursor:pointer}.menu-button span{display:block;width:19px;height:2px;background:#123c66}.site-nav{display:none;position:absolute;top:70px;right:0;left:0;align-items:stretch;border-bottom:1px solid #d8e3e7;padding:15px 20px 22px;background:#fffdf8;box-shadow:0 17px 28px rgba(13,47,83,.12)}.site-nav.open{display:flex;flex-direction:column;gap:0}.site-nav>a:not(.nav-cta){padding:10px 3px;font-size:.9rem}.site-nav .nav-cta{margin-top:9px;text-align:center}}
@media(max-width:760px){.container{width:min(100% - 36px,1180px)}.page-hero{padding:48px 0 53px}.section{padding:65px 0}.section-head{display:block}.section-head p{margin-top:15px}.footer-grid{grid-template-columns:1fr 1fr;gap:34px}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:600px){.wrap{width:min(100% - 32px,1210px)}.site-header .brand img{width:43px;height:43px}.site-header .brand strong{font-size:1.08rem}.site-header .brand small{font-size:.56rem}}
@media(max-width:520px){.gallery-grid,.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.gallery-photo{height:230px}.section-head h2{font-size:2rem}.gallery-pagination{gap:14px;flex-wrap:wrap}}
@media(max-width:520px){.gallery-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:11px}.gallery-dialog-media img{max-height:calc(100dvh - 160px)}.gallery-dialog-caption{padding:13px 16px 17px}}
