*{box-sizing:border-box}
:root{--navy:#14243f;--navy2:#0d1a30;--y:#F7D417;--y2:#e0bf00;--ink:#14213a;--mut:#5d6678;--soft:#d3d9e4;--line:#d9dee7;--alt:#f3f5f8;--hf:'Archivo',sans-serif}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Figtree',sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;line-height:1.5}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--y2)}
h1,h2,h3,h4{font-family:var(--hf);margin:0}
p{margin:0}
em{font-style:normal;color:var(--y)}
svg{width:24px;height:24px;fill:none;stroke:var(--y);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
svg.fill{fill:#fff;stroke:none}
.wrap{max-width:1240px;margin:0 auto;padding-left:32px;padding-right:32px}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px}
.row.center{justify-content:center}
.stack{display:flex;flex-direction:column;gap:24px}
.stack-lg{display:flex;flex-direction:column;gap:48px}
.sec{padding-top:clamp(72px,9vw,112px);padding-bottom:clamp(72px,9vw,112px)}
.sec-alt{background:var(--alt)}
.pt{padding-top:56px}
.btn{display:inline-block;background:var(--y);color:var(--navy);font-family:var(--hf);font-weight:700;font-size:15px;padding:15px 28px;border-radius:8px;border:0;cursor:pointer;transition:background .2s,transform .2s}
.btn:hover{background:#ffe14a;color:var(--navy);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4)}
.btn.ghost:hover{border-color:var(--y);color:var(--y)}
.btn.ghost-dark{background:transparent;color:var(--navy);border:1.5px solid var(--line)}
.btn.ghost-dark:hover{border-color:var(--navy)}
.eyebrow{font-family:var(--hf);font-weight:700;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--y)}
.eyebrow.light{color:#aab4c6}
.h2{font-weight:800;font-size:clamp(32px,3.8vw,48px);line-height:1.06;letter-spacing:-.02em;color:var(--navy);text-wrap:balance}
.h2 em{color:var(--y2)}
.lead{font-size:16px;line-height:1.7;color:var(--mut);text-wrap:pretty;max-width:620px}
.shead{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:flex-end}
.shead>div{display:flex;flex-direction:column;gap:16px;max-width:620px}
/* topbar + header */
.topbar{background:var(--navy2);color:#c6cedb;font-size:13px}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between;padding-top:9px;padding-bottom:9px}
.tb-l{display:flex;flex-wrap:wrap;gap:8px 24px}
.hl{color:var(--y);font-weight:600}
.header{background:var(--navy);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.06)}
.header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:16px;padding-bottom:16px}
.logo{display:flex;flex-direction:column;line-height:1}
.logo b{font-family:var(--hf);font-weight:800;font-style:italic;font-size:26px;letter-spacing:.02em;color:#fff}
.logo i{color:var(--y);font-style:normal}
.logo small{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#aab4c6;margin-top:4px}
.nav{display:flex;gap:30px;font-family:var(--hf);font-weight:600;font-size:15px}
.nav a{color:#fff}
.nav a:hover,.nav a.on{color:var(--y)}
.nav .nav-cta{display:none}
.hcall{display:flex;align-items:center;gap:12px}
.hcall>span:last-child{display:flex;flex-direction:column;line-height:1.25}
.hcall small{font-size:12px;color:#aab4c6}
.hcall small.y{color:var(--y);font-size:13px}
.hcall b{font-family:var(--hf);font-weight:700;font-size:17px;color:var(--y)}
.hcall b.w{color:#fff;font-size:16px}
.circ{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center;flex:none}
.circ svg{width:20px;height:20px}
.burger{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;padding:10px;flex-direction:column;justify-content:space-between}
.burger span{display:block;height:2px;background:#fff;border-radius:2px;transition:.25s}
/* hero */
.hero{position:relative;background:var(--navy);overflow:hidden;color:#fff}
.hero>img,.pbanner>img,.band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,36,63,.97),rgba(20,36,63,.85) 45%,rgba(20,36,63,.35))}
.hero-in{position:relative;z-index:1;padding-top:clamp(56px,8vw,104px);padding-bottom:56px;display:flex;flex-direction:column;gap:64px}
.hero-copy{max-width:680px;display:flex;flex-direction:column;gap:24px}
.hero h1{font-weight:800;font-size:clamp(40px,5.6vw,72px);line-height:1.02;letter-spacing:-.025em;text-wrap:balance}
.hero-copy p{font-size:18px;line-height:1.6;color:var(--soft);max-width:520px}
.hero-foot{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;align-items:flex-end}
.stats{display:flex;flex-wrap:wrap;gap:56px}
.stats div{display:flex;flex-direction:column;gap:4px}
.stats b{font-family:var(--hf);font-weight:800;font-style:italic;font-size:52px;line-height:1}
.stats span{font-size:14px;color:var(--y)}
.glass{display:flex;flex-wrap:wrap;background:rgba(20,36,63,.72);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);border-radius:16px;overflow:hidden;max-width:560px;width:100%}
.glass img{flex:1 1 180px;min-height:150px;object-fit:cover}
.glass>div{flex:1 1 240px;padding:22px 24px;display:flex;flex-direction:column;gap:8px}
.glass h3{font-size:17px;color:var(--y)}
.glass p{font-size:14px;line-height:1.55;color:var(--soft)}
/* page banner */
.pbanner{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.pbanner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,36,63,.96),rgba(20,36,63,.78))}
.pbanner .wrap{position:relative;z-index:1;padding-top:clamp(64px,8vw,104px);padding-bottom:clamp(56px,7vw,88px);display:flex;flex-direction:column;gap:16px}
.pbanner h1{font-weight:800;font-size:clamp(38px,5vw,64px);line-height:1.04;letter-spacing:-.02em}
.pbanner p{font-size:17px;line-height:1.6;color:var(--soft);max-width:600px}
.crumb{font-size:13px;color:#aab4c6}
.crumb a:hover{color:var(--y)}
/* features */
.feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.feat{background:var(--navy);border-radius:18px;padding:32px 26px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;box-shadow:0 14px 30px -14px rgba(20,36,63,.55);transition:transform .25s}
.feat:hover{transform:translateY(-4px)}
.feat svg{width:44px;height:44px;stroke-width:1.4}
.feat h3{font-size:18px;color:var(--y)}
.feat p{font-size:14px;line-height:1.55;color:var(--soft)}
/* about */
.about{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:56px;align-items:center}
.about-media{position:relative;padding:0 0 40px 64px}
.about-media .m1{width:100%;aspect-ratio:5/6;object-fit:cover;border-radius:20px;background:#e7eaf0}
.about-media .m2{position:absolute;left:0;top:44%;width:44%;aspect-ratio:4/5;object-fit:cover;border-radius:16px;border:6px solid #fff;background:#e7eaf0}
.badge{position:absolute;left:30%;bottom:0;background:var(--y);color:var(--navy);border-radius:16px;padding:18px 22px;display:flex;flex-direction:column;line-height:1.1;box-shadow:0 16px 30px -12px rgba(20,36,63,.4);font-family:var(--hf)}
.badge b{font-weight:800;font-style:italic;font-size:44px}
.badge span{font-weight:600;font-size:14px}
.point{display:flex;gap:20px;align-items:flex-start}
.point h3{font-size:18px;color:var(--navy);margin-bottom:6px}
.point p{font-size:15px;line-height:1.6;color:var(--mut)}
.sq{flex:none;width:60px;height:60px;border-radius:14px;background:var(--navy);display:grid;place-items:center}
.sq svg{width:28px;height:28px}
.sq.big{width:80px;height:80px}
.sq.big svg{width:38px;height:38px}
/* services */
.cards3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px}
.svc{background:#fff;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;border:1px solid #e8ebf0;transition:transform .25s,box-shadow .25s}
.svc:hover{transform:translateY(-4px);box-shadow:0 20px 40px -20px rgba(20,36,63,.35)}
.svc img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#dfe3ea}
.svc>div{padding:28px;display:flex;flex-direction:column;gap:12px;flex:1}
.svc h3{font-size:21px;color:var(--navy)}
.svc p{font-size:15px;line-height:1.65;color:var(--mut);flex:1}
.more{font-family:var(--hf);font-weight:700;font-size:14px;color:var(--navy);margin-top:8px}
.more i{color:var(--y2);font-style:normal}
.catbox{background:var(--navy);border-radius:20px;padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;gap:32px}
.catbox h3{font-weight:800;font-size:clamp(22px,2.4vw,28px);color:#fff}
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:32px 40px}
.cat{border-top:1px solid rgba(255,255,255,.14);padding-top:18px}
.cat h4{font-size:16px;color:var(--y);margin-bottom:12px}
.cat ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.cat li{font-size:14px;line-height:1.45;color:var(--soft)}
/* gallery */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:20px}
.gi{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/5;background:#dfe3ea;display:block}
.gi img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gi:hover img{transform:scale(1.05)}
.gi::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,36,63,0) 50%,rgba(20,36,63,.92))}
.gi span{position:absolute;left:22px;right:22px;bottom:20px;z-index:1;display:flex;flex-direction:column;gap:4px}
.gi b{font-family:var(--hf);font-size:17px;color:var(--y)}
.gi small{font-size:13px;color:var(--soft)}
.lb{position:fixed;inset:0;z-index:100;background:rgba(13,26,48,.94);display:none;place-items:center;padding:24px;cursor:zoom-out}
.lb.open{display:grid}
.lb img{max-height:88vh;border-radius:12px}
/* band */
.band{position:relative;background:var(--navy);overflow:hidden;color:#fff}
.band::after{content:"";position:absolute;inset:0;background:rgba(20,36,63,.86)}
.band-in{position:relative;z-index:1;max-width:860px;margin:0 auto;padding:clamp(72px,9vw,112px) 32px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px}
.band h2{font-weight:800;font-size:clamp(32px,4.4vw,56px);line-height:1.06;letter-spacing:-.02em;text-wrap:balance}
/* contact */
.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:48px}
.form{display:flex;flex-direction:column;gap:14px}
.g2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.form input,.form textarea,.form select{font:inherit;font-size:15px;color:var(--ink);border:1px solid var(--line);background:#f7f8fa;border-radius:10px;padding:15px 16px;outline:none;width:100%}
.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--navy);background:#fff}
.form textarea{resize:vertical}
.note{font-size:13px;color:var(--mut)}
.map{width:100%;flex:1;min-height:320px;border:0;border-radius:18px;background:#e7eaf0}
.info{background:var(--alt);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:4px;min-width:0}
.info small{font-size:13px;color:var(--mut)}
.info b{font-family:var(--hf);font-size:15px;color:var(--navy);overflow-wrap:anywhere}
.info.dark{background:var(--navy)}
.info.dark small{color:#aab4c6}
.info.dark b{color:var(--y);font-size:17px}
.thanks{display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px;min-height:50vh;justify-content:center}
/* footer */
.footer{background:var(--navy2);color:#aab4c6;font-size:14px}
.footer .wrap{padding-top:64px;padding-bottom:32px;display:flex;flex-direction:column;gap:48px}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px}
.fgrid>div{display:flex;flex-direction:column;gap:10px}
.fgrid h4{font-size:15px;color:#fff;margin-bottom:4px}
.fgrid p{line-height:1.6}
.footer a:hover{color:var(--y)}
.fbot{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:13px}
.wa-float{position:fixed;right:24px;bottom:24px;z-index:60;width:60px;height:60px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 10px 24px -6px rgba(0,0,0,.35);transition:transform .2s}
.wa-float:hover{transform:scale(1.06)}
.wa-float svg{width:30px;height:30px}
/* responsive */
@media (max-width:1080px){.hcall.hide-md,.header .hcall{display:none}}
@media (max-width:900px){
.burger{display:flex}
.nav{position:fixed;top:0;right:0;bottom:0;width:min(320px,85vw);background:var(--navy2);flex-direction:column;gap:6px;padding:96px 28px 28px;transform:translateX(100%);transition:transform .3s;z-index:-1;box-shadow:-20px 0 40px rgba(0,0,0,.3)}
.nav a{padding:12px 0;font-size:18px;border-bottom:1px solid rgba(255,255,255,.08)}
.nav .nav-cta{display:block;margin-top:16px;text-align:center;border:0;color:var(--navy)}
.menu-open .nav{transform:none}
.menu-open .burger span:nth-child(1){transform:translateY(10px) rotate(45deg)}
.menu-open .burger span:nth-child(2){opacity:0}
.menu-open .burger span:nth-child(3){transform:translateY(-10px) rotate(-45deg)}
}
@media (max-width:560px){.wrap{padding-left:20px;padding-right:20px}.about-media{padding-left:32px}.stats{gap:36px}.stats b{font-size:42px}.tb-l span{display:none}}
