*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{overflow-x:hidden}
:root{--navy:#053140;--teal:#12607d;--cyan:#0099c3;--sky:#8cc8e2;--mist:#eaf4f8;--ink:#0b2530;--brand:#00829f}
body.gfix{--brand:#c8202b;--cyan:#e0454f;--sky:#f3a3a8;--mist:#fbefef}
body{margin:0;font:17px/1.65 "Avenir Next","Century Gothic","Segoe UI",system-ui,sans-serif;color:var(--ink);background:#fff}
h1,h2,h3{line-height:1.12;letter-spacing:-.02em;margin:0 0 .5em}h1{font-size:clamp(2.2rem,5vw,3.6rem)}h2{font-size:clamp(1.6rem,3vw,2.2rem)}h3{font-size:1.25rem}
.nw{white-space:nowrap}h1,h2{text-wrap:balance}img{max-width:100%;height:auto;display:block}a{color:inherit}p{margin:0 0 1em}.w{max-width:1160px;margin:0 auto;padding:0 24px}
a:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
header{background:var(--navy);color:#fff}header .w{display:flex;flex-wrap:wrap;align-items:center;gap:12px 36px;padding-top:18px;padding-bottom:18px}
header img{height:36px;width:auto}nav{display:flex;flex-wrap:wrap;gap:2px 26px;margin-right:auto}
nav a{text-decoration:none;padding:6px 0;border-bottom:3px solid transparent;color:#cfe3ec}nav a:hover,nav a[aria-current]{color:#fff;border-color:var(--cyan)}
.tel{text-decoration:none;font-weight:700;white-space:nowrap}
.btn{display:inline-block;background:var(--brand);color:#fff;font-weight:700;text-decoration:none;padding:13px 26px;border-radius:999px;border:2px solid var(--brand)}
.btn:hover{filter:brightness(1.1)}.btn.o{background:none;border-color:#fff}.btn.o:hover{background:#fff;color:var(--navy);filter:none}
.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}.hero .w{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:36px;align-items:center;padding-top:64px;padding-bottom:72px}
@media(min-width:860px){.hero .w{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}}.hero .w>*{min-width:0}
.hero p{color:#cfe3ec;max-width:48ch;font-size:1.1rem}.hero .act{display:flex;flex-wrap:wrap;gap:14px;margin-top:1.4em}
.hero .motif{position:absolute;right:-8%;top:50%;width:760px;max-width:none;transform:translateY(-50%);opacity:.5}
.shot img{margin:auto;max-width:min(100%,520px);filter:drop-shadow(0 24px 40px rgba(0,0,0,.4))}.hero .pic{margin:auto;max-width:min(100%,520px);filter:drop-shadow(0 24px 40px rgba(0,0,0,.4))}
section{padding:64px 0}.alt{background:var(--mist)}
.cards{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}@media(min-width:860px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
.card{display:block;background:#fff;border-radius:16px;padding:28px;text-decoration:none;border-top:6px solid var(--c,#0099c3);box-shadow:0 2px 0 rgba(5,49,64,.08),0 14px 30px -18px rgba(5,49,64,.35)}
.card:hover{transform:translateY(-3px)}.card svg{width:44px;height:44px;stroke:var(--c,#0099c3);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:14px}
.card b{color:var(--c,#0b6d8a)}.card.r{--c:#c8202b}.card.r b{color:#c8202b}
.stats{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.stats b{display:block;font-size:3rem;line-height:1;color:var(--teal);letter-spacing:-.03em}
.vals{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}@media(min-width:860px){.vals{grid-template-columns:repeat(3,1fr)}}.vals>div{border-left:4px solid var(--cyan);padding-left:18px}
.chips{display:flex;gap:10px;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 32px}.chips li,.chips a{background:var(--mist);color:var(--navy);padding:7px 18px;border-radius:999px;font-weight:600;font-size:.95rem;text-decoration:none}
.chips a:hover{background:var(--navy);color:#fff}
.gal{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-bottom:48px}.gal img,.cat img{background:#fff;border-radius:12px;border:1px solid #d6e6ee}.gal a{display:block;cursor:zoom-in;transition:transform .2s}.gal a:hover{transform:translateY(-3px)}.gal{align-items:start}.gal figure{margin:0}.gal figcaption{font-weight:700;margin-top:10px}
dialog{border:0;padding:0;width:100%;height:100%;max-width:none;max-height:none;background:rgba(5,49,64,.97);color:#fff}dialog::backdrop{background:rgba(5,49,64,.9)}
.lbw{height:100%;overflow:auto;padding:64px 16px 24px;display:flex;justify-content:center;align-items:flex-start}.lbw img{width:min(100%,1100px);max-width:none;height:auto;background:#fff;border-radius:8px}
dialog button{position:fixed;z-index:2;border:0;background:rgba(255,255,255,.14);color:#fff;font:inherit;font-size:2rem;line-height:1;width:48px;height:48px;border-radius:50%;cursor:pointer}dialog button:hover{background:rgba(255,255,255,.3)}dialog .x{top:12px;right:12px}dialog .p,dialog .n{top:50%;margin-top:-24px}dialog .p{left:12px}dialog .n{right:12px}

.cta{background:linear-gradient(120deg,var(--teal),var(--cyan));color:#fff}.cta .w{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between}.cta h2,.cta p{margin:0}.cta .btn{background:#fff;color:var(--navy);border-color:#fff}
.info{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}@media(min-width:860px){.info{grid-template-columns:repeat(3,minmax(0,1fr))}}.info div{background:var(--mist);border-radius:16px;padding:24px}.info small{display:block;color:var(--teal);font-weight:700;margin-bottom:4px}
iframe{width:100%;height:400px;border:0;border-radius:16px;margin-top:32px}
footer{background:var(--navy);color:#9cc0cf;padding:28px 0;font-size:.92rem}.pwo{position:fixed;inset:0;background:rgba(5,49,64,.85);display:grid;place-items:center;z-index:20;padding:16px}.pwb{background:#fff;color:var(--ink);border-radius:16px;padding:26px;width:min(100%,380px)}.pwb input{width:100%;font:inherit;padding:11px 14px;border:2px solid #b9d3de;border-radius:10px;margin:12px 0 4px}.pwb .err{color:#c8202b;min-height:1.6em;font-size:.95rem}.pwb .row{display:flex;gap:10px;justify-content:flex-end}.pwb button{font:inherit;font-weight:700;border-radius:999px;padding:10px 22px;border:2px solid var(--brand);cursor:pointer;background:var(--brand);color:#fff}.pwb button[type=button]{background:none;color:var(--ink);border-color:#b9d3de}
footer a{color:#fff}footer .w{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px}footer .adm{color:#9cc0cf;opacity:.7;font-size:.85rem;text-decoration:none;border:1px solid rgba(156,192,207,.35);padding:2px 12px;border-radius:999px}footer .adm:hover{opacity:1;color:#fff}
