:root{--ink:#0a1330;--ink2:#14224d;--sig:#ff6a13;--blue:#2f6bff;--paper:#f3f6fb;--card:#fff;--mute:#5b6784;--line:#dde4f0;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.65 "Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
h1,h2,h3{font-family:"Barlow Condensed","Arial Narrow",Impact,sans-serif;line-height:1.05;margin:0 0 .4em;font-weight:700;letter-spacing:.01em}
h1{font-size:clamp(2.8rem,8vw,5.5rem)}h2{font-size:clamp(2rem,4.5vw,3rem)}h3{font-size:1.5rem}
img{max-width:100%;display:block;height:auto}a{color:var(--blue)}
:focus-visible{outline:3px solid var(--sig);outline-offset:2px}
.wrap{max-width:1140px;margin:0 auto;padding:0 22px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
header{position:sticky;top:0;z-index:20;background:rgba(10,19,48,.94);backdrop-filter:blur(8px)}
.nav{display:flex;align-items:center;justify-content:space-between;height:66px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font:700 1.45rem "Barlow Condensed",sans-serif}
.brand i{background:var(--sig);color:#fff;font-style:normal;padding:2px 9px;border-radius:6px;font-size:1.05rem}
nav ul{display:flex;gap:2px;list-style:none;margin:0;padding:0}
nav a{display:block;color:#c5d1f2;text-decoration:none;padding:8px 13px;border-radius:8px;font-weight:600;font-size:.95rem}
nav a:hover{color:#fff;background:rgba(255,255,255,.1)}nav a[aria-current]{color:#fff;box-shadow:inset 0 -3px var(--sig);border-radius:0}
#burger{display:none;background:0;border:1px solid #4a5a8c;color:#fff;border-radius:8px;padding:6px 12px;font-size:1.2rem}
@media(max-width:860px){#burger{display:block;margin-left:auto}nav ul{display:none;position:absolute;left:0;right:0;top:66px;flex-direction:column;background:var(--ink);padding:8px 22px 16px}nav ul.open{display:flex}}
.hero{position:relative;min-height:620px;display:flex;align-items:flex-end;color:#fff;background:var(--ink) center/cover;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,19,48,.35),rgba(10,19,48,.92))}
.hero .wrap{position:relative;padding-bottom:64px;padding-top:120px}
.bumper{display:inline-flex;align-items:center;gap:12px;background:var(--sig);color:#fff;font:700 1.6rem "Barlow Condensed",sans-serif;padding:6px 18px;border-radius:8px;border:3px solid #fff;margin-bottom:18px;transform:rotate(-2deg)}
.hero p{font-size:1.3rem;max-width:560px;color:#dbe4fb}
.ph{background:var(--ink) center/cover;color:#fff;position:relative;padding:92px 0 56px}
.ph:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,19,48,.95),rgba(10,19,48,.6))}
.ph .wrap{position:relative}.ph p{max-width:620px;font-size:1.15rem;color:#cdd8f6;margin:0}
.btn{display:inline-block;background:var(--sig);color:#fff;font-weight:700;padding:13px 26px;border-radius:10px;text-decoration:none;margin:10px 10px 0 0;transition:transform .15s}
.btn:hover{transform:translateY(-2px)}.btn.o{background:0;border:2px solid #fff}
section{padding:72px 0}.dark{background:var(--ink);color:#fff}.dark p{color:#c5d1f2}
.lead{color:var(--mute);max-width:660px;font-size:1.15rem}
.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:30px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.card .b{padding:22px}.card img.t{height:190px;width:100%;object-fit:cover;background:var(--ink2)} .card p{color:var(--mute)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border-top:4px solid var(--sig);background:var(--ink2);color:#fff}
.stats div{padding:26px 22px;border-right:1px solid #2a3a6e}.stats b{display:block;font:700 2.6rem "Barlow Condensed",sans-serif}.stats span{color:#aebbe0;font-size:.95rem}
.split{display:grid;gap:44px;grid-template-columns:1fr 1fr;align-items:center}
@media(max-width:820px){.split{grid-template-columns:1fr}}
.split img{border-radius:var(--r);width:100%;height:380px;object-fit:cover;background:var(--ink2)}
.av{width:76px;height:76px;border-radius:14px;background:var(--ink);color:var(--sig);display:grid;place-items:center;font:700 2.2rem "Barlow Condensed",sans-serif;margin-bottom:14px;border-bottom:4px solid var(--sig)}
.meta{color:var(--blue);font-weight:700;font-size:.95rem}
.tl{border-left:4px solid var(--line);padding-left:28px;margin-left:6px}
.tl article{position:relative;margin-bottom:34px}.tl article:before{content:"";position:absolute;left:-39px;top:8px;width:18px;height:18px;border-radius:50%;background:var(--sig);border:4px solid var(--paper)}
.soon{color:var(--mute);font-style:italic}
.steps{list-style:none;counter-reset:s;padding:0;max-width:720px}.steps li{counter-increment:s;padding:0 0 20px 58px;position:relative}
.steps li:before{content:counter(s);position:absolute;left:0;top:0;width:40px;height:40px;border-radius:10px;background:var(--ink);color:#fff;display:grid;place-items:center;font:700 1.3rem "Barlow Condensed",sans-serif}
.cta{background:var(--sig);color:#fff;border-radius:20px;padding:48px 30px;text-align:center}.cta p{max-width:540px;margin:0 auto 14px}.cta .btn{background:var(--ink)}
footer{background:var(--ink);color:#aebbe0;padding:50px 0 28px;font-size:.95rem}footer h3{color:#fff}footer a{display:block;color:#dbe4fb;text-decoration:none;padding:3px 0}
.credit{margin-top:26px;border-top:1px solid #2a3a6e;padding-top:16px;font-size:.85rem}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-weight:600;margin-bottom:6px;color:var(--ink)}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff;transition:border-color .15s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--sig);box-shadow:0 0 0 3px rgba(255,106,19,.15)}
aside ul.contact-info{list-style:none;padding:0;margin:0}
aside ul.contact-info li{margin-bottom:12px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Photo Gallery Components */
.photo-gallery {
  padding: 4rem 0;
}
.gallery-main-view {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 2.5rem;
  aspect-ratio: 16/9;
  border-radius: var(--r);
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(10,19,48,0.15);
  background: var(--ink);
  display: flex;
  align-items: center;
  justify-content: center;
}
.gallery-main-view img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  opacity: 0;
  transition: opacity 0.4s ease, transform 0.4s ease;
  transform: scale(0.98);
}
.gallery-main-view img.loaded {
  opacity: 1;
  transform: scale(1);
}
.gallery-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.85);
  backdrop-filter: blur(4px);
  border: none;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  font-size: 1.5rem;
  color: var(--ink);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s, transform 0.3s;
  z-index: 10;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.gallery-nav:hover {
  background: #fff;
  transform: translateY(-50%) scale(1.1);
  color: var(--sig);
}
.gallery-prev { left: 1.5rem; }
.gallery-next { right: 1.5rem; }

.gallery-thumbnails {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  padding: 1rem 4px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  max-width: 1000px;
  margin: 0 auto;
}
.thumbnail-btn {
  flex: 0 0 140px;
  height: 90px;
  padding: 0;
  border: 4px solid transparent;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  scroll-snap-align: start;
  transition: border-color 0.3s, transform 0.3s, opacity 0.3s;
  background: none;
  opacity: 0.5;
}
.thumbnail-btn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.thumbnail-btn:hover {
  opacity: 0.8;
}
.thumbnail-btn.active {
  border-color: var(--sig);
  opacity: 1;
  transform: translateY(-4px);
  box-shadow: 0 8px 16px rgba(10,19,48,0.1);
}

.gallery-thumbnails::-webkit-scrollbar {
  height: 8px;
}
.gallery-thumbnails::-webkit-scrollbar-track {
  background: rgba(10,19,48,0.05);
  border-radius: 4px;
}
.gallery-thumbnails::-webkit-scrollbar-thumb {
  background: rgba(10,19,48,0.2);
  border-radius: 4px;
}
.gallery-thumbnails::-webkit-scrollbar-thumb:hover {
  background: var(--sig);
}

/* Dropdown Menu Styles */
.has-dropdown {
  position: relative;
}
.dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--ink);
  min-width: 180px;
  border-radius: 8px;
  padding: 8px 0;
  box-shadow: 0 8px 24px rgba(10,19,48,0.5);
  z-index: 100;
  flex-direction: column;
}
@media (min-width: 861px) {
  .has-dropdown:hover .dropdown {
    display: flex;
  }
}
@media (max-width: 860px) {
  .has-dropdown .dropdown {
    position: static;
    display: flex;
    box-shadow: none;
    padding: 0 0 0 16px;
    background: transparent;
  }
}
.dropdown li {
  width: 100%;
}
.dropdown a {
  padding: 8px 16px;
  border-radius: 4px;
}
.dropdown a:hover {
  background: rgba(255,255,255,0.1);
}

@media (max-width: 820px) {
  .split img { height: 260px; }
  .gallery-main-view { aspect-ratio: 4/3; }
  .gallery-thumbnails { gap: 0.5rem; }
  .thumbnail-btn { width: 80px; height: 60px; }
}
@media (max-width: 500px) {
  .split img { height: 220px; }
  .gallery-main-view { aspect-ratio: 4/3; }
  .gallery-nav { padding: 8px; font-size: 1.2rem; }
  .gallery-prev { left: 0.5rem; }
  .gallery-next { right: 0.5rem; }
}

/* Fullscreen Modal */
.fs-modal {
  position: fixed;
  top: 0; left: 0; width: 100%; height: 100%;
  background: rgba(10, 19, 48, 0.95);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.fs-modal.active {
  opacity: 1;
  visibility: visible;
}
.fs-modal img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.5);
  transform: scale(0.9);
  transition: transform 0.3s ease;
}
.fs-modal.active img {
  transform: scale(1);
}
.fs-close {
  position: absolute;
  top: 20px;
  right: 20px;
  background: var(--sig);
  color: #fff;
  border: none;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  font-size: 1.8rem;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  z-index: 10000;
}
.gallery-main-view img {
  cursor: zoom-in;
}
