:root{--navy:#071522;--char:#101820;--gold:#C9A227;--gray:#E8ECEF;--glass:rgba(255,255,255,.06)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:400 16px/1.7 Inter,system-ui,sans-serif;background:var(--navy);color:var(--gray)}
h1,h2,h3{color:#fff;line-height:1.15;margin:0 0 .6em}h1{font-size:clamp(2.2rem,5.5vw,4.2rem);font-weight:800}h2{font-size:clamp(1.7rem,3.4vw,2.6rem);font-weight:700}h3{font-size:1.1rem}
a{color:var(--gold)}.wrap{max-width:1180px;margin:auto;padding:0 24px}section{padding:96px 0}.alt{background:var(--char)}.center{text-align:center}
.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:600}
#progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--gold);z-index:100}
#nav{position:fixed;inset:0 0 auto;z-index:50;transition:.3s}#nav.solid{background:rgba(7,21,34,.96);backdrop-filter:blur(10px);box-shadow:0 2px 20px #0006}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;line-height:1.2}
.logo-img{width:52px;height:52px;object-fit:contain;border-radius:6px;flex-shrink:0;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5))}
.logo-text{display:flex;flex-direction:column}.logo-text b{font-size:.72rem;letter-spacing:.08em;color:#fff;line-height:1.3}.logo-text span{color:var(--gold);font-weight:800;letter-spacing:.2em;font-size:.9rem}
#menu{display:flex;gap:20px;align-items:center}#menu a:not(.btn){color:#fff;text-decoration:none;font-size:.85rem;opacity:.85}#menu a:hover{color:var(--gold)}
#burger{display:none;background:none;border:0;cursor:pointer}#burger i{display:block;width:26px;height:2px;background:#fff;margin:6px 0}
.btn{display:inline-block;padding:14px 26px;border-radius:4px;font-weight:600;text-decoration:none;border:1px solid var(--gold);transition:.25s;cursor:pointer;font-size:.95rem}
.btn.sm{padding:9px 14px;font-size:.78rem}.gold{background:var(--gold);color:var(--navy)}.gold:hover{background:#dcb63a;transform:translateY(-2px)}.ghost{color:#fff;background:transparent}.ghost:hover{background:var(--gold);color:var(--navy)}
.hero{min-height:100vh;display:flex;align-items:center;padding-top:110px;background:linear-gradient(105deg,rgba(7,21,34,.96) 35%,rgba(7,21,34,.7)),var(--hero-img,none) center/cover,radial-gradient(circle at 80% 30%,#17324d,var(--navy))}
.hero .lead{max-width:640px;font-size:1.15rem}.cta{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0}.cta.c{justify-content:center}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:12px;padding:0}.chips li{border:1px solid #ffffff30;background:var(--glass);backdrop-filter:blur(8px);padding:8px 16px;border-radius:40px;font-size:.85rem}
.grid3,.grid4{display:grid;gap:24px;margin-top:40px}.grid3{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(4,1fr)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.stack{display:grid;gap:18px}
.card{background:var(--glass);border:1px solid #ffffff14;border-radius:8px;padding:28px;transition:.3s}.card:hover{transform:translateY(-6px);border-color:var(--gold)}
.stats{padding:0;margin-top:-60px;position:relative}.stat{text-align:center;background:var(--char)}.stat strong{display:block;font-size:2.6rem;color:var(--gold)}.stat small{text-transform:uppercase;letter-spacing:.1em}
.svc .num{color:var(--gold);font-weight:800}.svc em{display:block;color:var(--gold);font-style:normal;font-size:.85rem;margin-bottom:8px}
.ladder{list-style:none;display:flex;gap:10px;padding:0;margin:60px 0 0}.ladder li{flex:1;text-align:center;padding:16px 8px;background:var(--glass);border-top:3px solid var(--gold);font-weight:600;font-size:.9rem;opacity:0;transform:translateX(-16px);transition:.6s var(--d)}
.ladder.on li{opacity:1;transform:none}
.tags{list-style:none;display:flex;flex-wrap:wrap;gap:12px;padding:0}.tags li{padding:12px 20px;border:1px solid var(--gold);border-radius:4px;color:#fff}
.panel{background:linear-gradient(135deg,#0d2a44,var(--char));border:1px solid #ffffff14;border-radius:12px;padding:56px}
.ind{min-height:170px;border-radius:8px;display:flex;align-items:flex-end;padding:20px;background:linear-gradient(180deg,#0000,#000a),linear-gradient(135deg,#17324d,#0a1a2a);transition:.3s}.ind:hover{transform:scale(1.03);box-shadow:0 0 0 1px var(--gold)}.ind span{color:#fff;font-weight:600}
.pkg{display:flex;flex-direction:column;gap:12px}.pkg .btn{margin-top:auto;text-align:center}
.banner{background:linear-gradient(135deg,#0d2a44,var(--navy));border-block:1px solid var(--gold)}.banner p{max-width:640px;margin:auto}
form{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{font-size:.82rem;display:grid;gap:6px}.full{grid-column:1/-1}
input,select,textarea{width:100%;padding:12px;background:var(--navy);border:1px solid #ffffff2a;border-radius:4px;color:#fff;font:inherit}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold)}
.hp{position:absolute;left:-9999px}address{font-style:normal}iframe{width:100%;height:220px;border:0;border-radius:8px;filter:grayscale(.6) invert(.9)}
footer{background:#040d15;padding:56px 0 20px}.fgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px}footer nav{display:grid;grid-template-columns:1fr 1fr;gap:6px}footer nav a{text-decoration:none;color:var(--gray)}.copy{text-align:center;font-size:.8rem;opacity:.7;margin-top:36px}
.reveal{opacity:0;transform:translateY(22px);transition:.7s}.reveal.on{opacity:1;transform:none}
@media(max-width:960px){.grid3,.grid4,.fgrid{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}.ladder{flex-direction:column}
#burger{display:block}#menu{position:fixed;inset:76px 0 auto;background:var(--navy);flex-direction:column;padding:24px;display:none}#menu.open{display:flex}}
@media(max-width:600px){.grid3,.grid4,.fgrid,form{grid-template-columns:1fr}section{padding:64px 0}.panel{padding:28px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}.reveal,.ladder li{opacity:1;transform:none}}

.wheel{position:relative;width:min(480px,88vw);aspect-ratio:1;margin:auto;border:1px dashed #C9A22766;border-radius:50%}
.hub{position:absolute;inset:36%;display:grid;place-items:center;background:var(--gold);color:var(--navy);font-weight:800;border-radius:50%;transition:.4s}
.node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:112px;padding:10px 6px;text-align:center;background:var(--char);border:1px solid var(--gold);border-radius:8px;font:600 .78rem/1.3 Inter,sans-serif;color:#fff;cursor:pointer;z-index:2;transition:left .55s,top .55s,opacity .4s,transform .4s,background .3s,visibility 0s}
.node:hover,.node:focus-visible{background:#1a2a3a;outline:0}
.wheel.open .hub{opacity:0;transform:scale(.3)}
.wheel.open .node:not(.sel){opacity:0;transform:translate(-50%,-50%) scale(.4);pointer-events:none;visibility:hidden;transition:opacity .3s,transform .3s,visibility 0s .3s}
.wheel.open .node.sel{left:50%;top:50%;background:var(--gold);color:var(--navy);z-index:3;width:120px}
.web{position:absolute;inset:0;pointer-events:none}.web svg{position:absolute;inset:0;width:100%;height:100%}
.web polygon,.web line{fill:none;stroke:var(--gold);stroke-opacity:.55;stroke-width:.4;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .8s ease}
.web.on polygon,.web.on line{stroke-dashoffset:0}.web.on polygon:nth-of-type(2){transition-delay:.1s}.web.on polygon:nth-of-type(3){transition-delay:.2s}
.dt{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%) scale(.4);width:104px;padding:6px 8px;text-align:center;background:var(--char);border:1px solid var(--gold);border-radius:8px;font-size:.68rem;line-height:1.3;color:#fff;opacity:0;transition:.4s var(--d);z-index:2}
.web.on .dt{opacity:1;transform:translate(-50%,-50%) scale(1)}
.hint{text-align:center;font-size:.78rem;opacity:.65;margin-top:18px}
@media(max-width:600px){.node{width:96px;font-size:.7rem}.dt{width:88px;font-size:.62rem;padding:5px 6px}}

/* ── Multi-page additions ─────────────────────────────── */
.page-hero{padding:140px 0 80px;background:linear-gradient(105deg,rgba(7,21,34,.97) 40%,rgba(7,21,34,.75)),radial-gradient(circle at 75% 40%,#17324d,var(--navy))}
.page-hero h1{font-size:clamp(1.9rem,4.5vw,3.4rem)}
.page-hero .lead{max-width:680px;font-size:1.1rem}
#menu a.active{color:var(--gold);font-weight:700}

/* ── Image styles ─────────────────────────────────────── */
/* Hero with bg image */
.hero{background:linear-gradient(105deg,rgba(7,21,34,.93) 35%,rgba(7,21,34,.6)),var(--hero-img,none) center/cover no-repeat,radial-gradient(circle at 80% 30%,#17324d,var(--navy))}

/* Page heroes with bg image */
.page-hero{background:linear-gradient(105deg,rgba(7,21,34,.94) 40%,rgba(7,21,34,.7)),var(--hero-img,none) center 30%/cover no-repeat,radial-gradient(circle at 75% 40%,#17324d,var(--navy))}

/* About image */
.about-img{width:100%;height:440px;object-fit:cover;border-radius:12px;border:1px solid #ffffff14;display:block}

/* Service card image */
.svc-img{width:100%;height:180px;object-fit:cover;border-radius:6px 6px 0 0;margin:-28px -28px 18px;width:calc(100% + 56px);display:block}

/* Industry card with bg image */
.ind{background-image:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.72)),var(--ind-img,linear-gradient(135deg,#17324d,#0a1a2a));background-size:cover;background-position:center}

/* Team/person image */
.person-img{width:80px;height:80px;object-fit:cover;border-radius:50%;border:2px solid var(--gold);flex-shrink:0}

/* Feature image (full width section) */
.feature-img{width:100%;height:380px;object-fit:cover;border-radius:12px;border:1px solid #ffffff14}

/* Lazy loading fade-in */
img[loading="lazy"]{opacity:0;transition:opacity .5s}
img[loading="lazy"].loaded{opacity:1}

/* Responsive images */
@media(max-width:960px){
  .about-img{height:320px}
  .feature-img{height:260px}
  .svc-img{height:140px}
}
@media(max-width:600px){
  .about-img,.feature-img{height:220px}
  .svc-img{height:120px}
}
