
:root{--navy:#041f42;--navy2:#0a294f;--gold:#f5ad18;--gold2:#ffd86a;--ink:#172033;--muted:#657083;--light:#f5f7fa;--white:#fff;--line:#e5e9ef;--shadow:0 18px 50px rgba(11,18,32,.10);--radius:18px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px;z-index:9999}.topbar{background:var(--navy);color:#dce4f1;font-size:.88rem}.topbar .container{display:flex;justify-content:space-between;gap:20px;padding:8px 0}.topbar a{color:#fff}.header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(229,233,239,.9)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;min-width:250px}.brand img{height:58px;width:92px;object-fit:contain;object-position:left center}.brand-fallback{display:flex;align-items:center;gap:10px}.brand-mark{width:42px;height:42px;border-radius:12px;background:var(--navy);display:grid;place-items:center;color:var(--gold);font-weight:900;font-size:20px}.brand-title{font-weight:900;letter-spacing:.02em;color:var(--navy);line-height:1.05}.brand-title small{display:block;font-weight:600;color:var(--muted);font-size:10px;letter-spacing:.15em;margin-top:4px}.navlinks{display:flex;align-items:center;gap:4px}.navlinks a{padding:10px 12px;border-radius:10px;font-size:.93rem;font-weight:700;color:#364154}.navlinks a:hover,.navlinks a.active{background:#f2f4f7;color:var(--navy)}.navlinks .cta{background:var(--gold);color:var(--navy);padding:11px 15px}.navlinks .cta:hover{background:var(--gold2)}.menu{display:none;border:0;background:none;font-size:28px}.hero{position:relative;overflow:hidden;background:linear-gradient(110deg,var(--navy) 0%,#111d32 62%,#18243a 100%);color:#fff}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 25%,rgba(246,181,30,.22),transparent 28%),radial-gradient(circle at 10% 80%,rgba(255,255,255,.05),transparent 25%)}.hero .container{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;min-height:650px;padding:70px 0}.eyebrow{display:inline-flex;gap:8px;align-items:center;color:var(--gold2);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem}.eyebrow:before{content:"";width:28px;height:2px;background:var(--gold)}h1{font-size:clamp(2.7rem,5vw,5rem);line-height:1.03;letter-spacing:-.045em;margin:16px 0 20px}h2{font-size:clamp(2rem,3.4vw,3rem);line-height:1.1;letter-spacing:-.03em;margin:0 0 16px}h3{line-height:1.2}.hero p{font-size:1.12rem;color:#d5ddec;max-width:680px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 18px;border-radius:12px;font-weight:800;border:1px solid transparent;transition:.2s}.btn-primary{background:var(--gold);color:var(--navy)}.btn-primary:hover{transform:translateY(-2px);background:var(--gold2)}.btn-dark{background:#fff;color:var(--navy)}.btn-outline{border-color:rgba(255,255,255,.3);color:#fff}.btn-outline:hover{background:#fff;color:var(--navy)}.hero-visual{position:relative;min-height:460px;display:grid;place-items:center}.hero-card{width:min(500px,100%);border:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.03));border-radius:28px;padding:24px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.hero-card-inner{border-radius:20px;min-height:380px;background:linear-gradient(135deg,#17253b,#0c1422);display:flex;align-items:flex-end;padding:28px;position:relative;overflow:hidden}.hero-card-inner:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0 35%,rgba(246,181,30,.15) 35% 36%,transparent 36% 58%,rgba(246,181,30,.08) 58% 59%,transparent 59%),repeating-linear-gradient(90deg,transparent 0 60px,rgba(255,255,255,.025) 60px 62px)}.bolt{position:absolute;right:30px;top:35px;font-size:130px;color:rgba(246,181,30,.95);line-height:1;filter:drop-shadow(0 10px 25px rgba(246,181,30,.2))}.hero-card-copy{position:relative;z-index:1}.hero-card-copy strong{display:block;font-size:1.6rem}.hero-card-copy span{color:#c4cede}.section{padding:90px 0}.section.alt{background:var(--light)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}.section-head p{max-width:650px;color:var(--muted);margin:0}.kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:#9a7000}.grid{display:grid;gap:20px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:26px;box-shadow:0 8px 25px rgba(11,18,32,.04);transition:.2s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.icon{width:48px;height:48px;border-radius:14px;background:#fff4ce;color:#8d6800;display:grid;place-items:center;font-size:22px;font-weight:900;margin-bottom:18px}.card h3{margin:0 0 9px;font-size:1.15rem}.card p{margin:0;color:var(--muted);font-size:.95rem}.bullets{padding:0;margin:15px 0 0;list-style:none}.bullets li{margin:8px 0;color:#536072;font-size:.92rem}.bullets li:before{content:"✓";color:#a37500;font-weight:900;margin-right:8px}.band{background:var(--navy);color:#fff;padding:50px 0}.band .container{display:flex;justify-content:space-between;align-items:center;gap:30px}.band p{color:#c9d2df;margin:5px 0 0}.statrow{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#27334a;border:1px solid #27334a;border-radius:18px;overflow:hidden;margin-top:35px}.stat{background:var(--navy);padding:24px}.stat strong{font-size:1.7rem;display:block;color:var(--gold2)}.stat span{font-size:.85rem;color:#c7d0de}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-card{border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 8px 24px rgba(11,18,32,.05)}.project-image{aspect-ratio:4/3;overflow:hidden;background:#e9edf2}.project-image img{width:100%;height:100%;object-fit:cover;transition:.35s}.project-card:hover .project-image img{transform:scale(1.04)}.project-body{padding:20px}.tag{display:inline-block;padding:5px 9px;border-radius:999px;background:#f4f6f8;color:#596577;font-size:.72rem;font-weight:800;margin-bottom:10px}.project-body h3{margin:0 0 8px}.project-body p{color:var(--muted);font-size:.9rem;margin:0}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery a{position:relative;overflow:hidden;border-radius:14px;aspect-ratio:1/1;background:#eee}.gallery a:first-child{grid-column:span 2;grid-row:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:.3s}.gallery a:hover img{transform:scale(1.05)}.page-hero{background:var(--navy);color:#fff;padding:80px 0}.page-hero p{color:#cbd5e1;max-width:700px}.content{max-width:900px}.content p{color:#596577}.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.checklist{display:grid;gap:12px}.check{display:flex;gap:12px;align-items:flex-start}.check span{width:28px;height:28px;border-radius:9px;background:#fff4ce;color:#8d6800;display:grid;place-items:center;font-weight:900;flex:0 0 28px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:25px}.contact-card{padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff}.contact-item{display:flex;gap:14px;margin:18px 0}.contact-item strong{display:block}.contact-item span{color:var(--muted);font-size:.92rem}.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.85rem;font-weight:800}.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid #dbe1e8;border-radius:11px;font:inherit;background:#fff;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#b99018;box-shadow:0 0 0 3px rgba(246,181,30,.15)}.field textarea{min-height:130px;resize:vertical}.notice{padding:14px 16px;background:#fff8df;border:1px solid #f0dda0;border-radius:12px;color:#6c5608;font-size:.9rem}.footer{background:#080e19;color:#d5deea;padding:60px 0 25px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .9fr;gap:50px}.footer h3{color:#fff;margin-top:0}.footer p,.footer li{color:#9eabbd}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin:8px 0}.footer a:hover{color:#fff}.footer-bottom{border-top:1px solid #1d2737;margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:.82rem}.floating{position:fixed;right:20px;bottom:20px;z-index:999;display:flex;flex-direction:column;gap:10px}.float-btn{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:0 10px 30px rgba(0,0,0,.2)}.float-wa{background:#16a34a}.float-call{background:var(--navy)}.modal{position:fixed;inset:0;background:rgba(4,8,15,.8);z-index:2000;display:none;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-box{width:min(980px,100%);background:#fff;border-radius:20px;overflow:hidden;max-height:90vh;overflow-y:auto}.modal-close{position:absolute;right:20px;top:15px;border:0;background:#fff;width:40px;height:40px;border-radius:50%;font-size:24px}.modal-image{width:100%;max-height:65vh;object-fit:contain;background:#111}.modal-copy{padding:25px}.toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);background:var(--navy);color:#fff;padding:12px 18px;border-radius:10px;z-index:3000;display:none}.toast.show{display:block}@media(max-width:980px){.hero .container{grid-template-columns:1fr}.hero-visual{min-height:360px}.navlinks{position:absolute;left:20px;right:20px;top:70px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:10px;display:none;flex-direction:column;align-items:stretch}.navlinks.open{display:flex}.navlinks a{padding:12px}.menu{display:block}.brand{min-width:0}.cards,.project-grid{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.contact-grid,.split{grid-template-columns:1fr}.band .container{flex-direction:column;align-items:flex-start}.gallery{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.container{width:min(var(--max),calc(100% - 28px))}.topbar .container{font-size:.78rem}.topbar .container span:first-child{display:none}.nav{height:68px}.brand-title{font-size:.92rem}.hero .container{padding:65px 0;min-height:620px}.hero-actions{flex-direction:column;align-items:stretch}.btn{width:100%}.section{padding:65px 0}.section-head{display:block}.cards,.project-grid,.grid-3,.grid-4{grid-template-columns:1fr}.statrow{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}.gallery a:first-child{grid-column:span 2;grid-row:span 2}.form{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom div{margin-top:8px}.page-hero{padding:60px 0}h1{font-size:2.65rem}}

/* V1.1 logo and project media enhancements */
.brand{gap:10px}.brand-title{font-size:.98rem}.brand-title small{color:#59636e}.media-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#eef3f8;color:#1d3552;font-size:.72rem;font-weight:800}.project-media{position:relative}.project-media video{width:100%;height:100%;object-fit:cover;background:#07101e}.project-overlay{position:absolute;left:12px;bottom:12px;display:flex;gap:7px;flex-wrap:wrap}.admin-note{margin-top:18px;padding:16px 18px;border:1px dashed #d5dce5;border-radius:14px;background:#f8fafc;color:#596577}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 25px}.filter-btn{border:1px solid #dbe1e8;background:#fff;color:#3c4858;border-radius:999px;padding:8px 12px;font-weight:800;cursor:pointer}.filter-btn.active,.filter-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.project-empty{padding:45px;text-align:center;border:1px dashed #ccd5df;border-radius:18px;color:#657083;background:#fafbfd}.admin-brand{display:flex;align-items:center;gap:12px}.admin-brand img{height:52px;width:80px;object-fit:contain}
@media(max-width:980px){.brand img{height:52px;width:78px}.brand-title{font-size:.9rem}}

.gallery-media video{width:100%;height:100%;object-fit:cover;display:block}.gallery-media{display:block}.modal-box #modalMedia{background:#0b1220}.modal-box #modalMedia .modal-image{display:block;width:100%;max-height:65vh;object-fit:contain}

/* =========================================================
   V1.2 — Interactive Gallery
   ========================================================= */
.gallery-hero{background:radial-gradient(circle at 82% 18%,rgba(245,173,24,.18),transparent 25%),linear-gradient(120deg,#041f42,#07152b 62%,#0b203c)}
.gallery-hero-note{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:26px;color:#d9e1ed;font-size:.86rem;font-weight:800}.gallery-hero-note span:first-child{color:var(--gold2)}
.gallery-section{padding-top:70px}.interactive-gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:210px;gap:16px;perspective:1200px}
.gallery-card{position:relative;min-width:0;cursor:pointer;outline:none;border-radius:20px;transform:translateZ(0);transition:transform .25s ease,filter .25s ease}.gallery-card:nth-child(1){grid-column:span 5;grid-row:span 2}.gallery-card:nth-child(2){grid-column:span 3;grid-row:span 2}.gallery-card:nth-child(3){grid-column:span 4}.gallery-card:nth-child(4){grid-column:span 4}.gallery-card:nth-child(5){grid-column:span 4}.gallery-card:nth-child(6){grid-column:span 4;grid-row:span 2}.gallery-card:nth-child(7){grid-column:span 4;grid-row:span 2}.gallery-card:nth-child(8){grid-column:span 4}.gallery-card:nth-child(9){grid-column:span 4}.gallery-card:nth-child(10){grid-column:span 4}.gallery-card:nth-child(11){grid-column:span 4}.gallery-card:nth-child(12){grid-column:span 4}
.gallery-photo{height:100%;position:relative;overflow:hidden;border-radius:20px;background:#101827;box-shadow:0 14px 35px rgba(4,18,39,.12);transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .12s ease,box-shadow .25s ease;transform-style:preserve-3d}
.gallery-photo:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,216,106,.18),transparent 25%);opacity:0;transition:opacity .2s ease;pointer-events:none}.gallery-card:hover .gallery-photo:after,.gallery-card:focus-visible .gallery-photo:after{opacity:1}
.gallery-photo img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .35s ease}.gallery-card:hover .gallery-photo img,.gallery-card:focus-visible .gallery-photo img{transform:scale(1.09);filter:saturate(1.08) contrast(1.03)}
.gallery-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,11,24,.02) 35%,rgba(3,11,24,.8) 100%);opacity:.75;transition:opacity .25s ease}.gallery-card:hover .gallery-shade{opacity:.95}
.gallery-cursor{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.86);padding:10px 14px;border-radius:999px;background:rgba(4,31,66,.92);color:#fff;border:1px solid rgba(255,255,255,.25);font-size:.78rem;font-weight:900;letter-spacing:.04em;opacity:0;transition:.22s ease;backdrop-filter:blur(10px);z-index:3;box-shadow:0 10px 30px rgba(0,0,0,.2)}.gallery-cursor b{color:var(--gold2);margin-left:5px}.gallery-card:hover .gallery-cursor,.gallery-card:focus-visible .gallery-cursor{opacity:1;transform:translate(-50%,-50%) scale(1)}
.gallery-meta{position:absolute;left:18px;right:18px;bottom:16px;color:#fff;z-index:2}.gallery-meta span{display:inline-block;background:rgba(245,173,24,.95);color:#041f42;border-radius:999px;padding:4px 8px;font-size:.68rem;font-weight:900;margin-bottom:7px}.gallery-meta strong{display:block;font-size:1rem;line-height:1.2;text-shadow:0 2px 10px rgba(0,0,0,.35)}
.gallery-card:focus-visible{box-shadow:0 0 0 4px rgba(245,173,24,.45)}.gallery-card:hover{z-index:4}
.gallery-help{margin-top:22px;padding:15px 18px;border:1px dashed #d5dce5;border-radius:14px;background:#f8fafc;color:#596577;font-size:.88rem}.gallery-help strong{color:var(--navy)}
.gallery-viewer{position:fixed;inset:0;background:rgba(2,8,18,.93);z-index:3000;display:none;align-items:center;justify-content:center;padding:30px}.gallery-viewer.open{display:flex}.viewer-stage{width:min(1120px,calc(100vw - 130px));height:min(88vh,860px);display:flex;flex-direction:column;justify-content:center;position:relative}.viewer-image{display:block;width:100%;height:calc(100% - 95px);object-fit:contain;background:#020711;border-radius:16px;box-shadow:0 30px 90px rgba(0,0,0,.45)}.viewer-info{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;padding:16px 5px 0;color:#fff}.viewer-count{font-size:.72rem;color:var(--gold2);font-weight:900;letter-spacing:.12em;text-transform:uppercase}.viewer-title{font-size:1.35rem;margin:4px 0}.viewer-caption{margin:0;color:#b8c4d5;font-size:.9rem}.viewer-hint{color:#8491a4;font-size:.75rem;white-space:nowrap}.viewer-close{position:fixed;top:22px;right:25px;width:48px;height:48px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:30px;line-height:1;cursor:pointer;z-index:4}.viewer-close:hover{background:var(--gold);color:var(--navy)}.viewer-nav{position:fixed;top:50%;transform:translateY(-50%);width:54px;height:70px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.08);color:#fff;font-size:48px;line-height:1;cursor:pointer;z-index:4}.viewer-nav:hover{background:var(--gold);color:var(--navy)}.viewer-prev{left:25px}.viewer-next{right:25px}.viewer-open{overflow:hidden}
@media(max-width:980px){.interactive-gallery{grid-template-columns:repeat(6,1fr);grid-auto-rows:190px}.gallery-card:nth-child(n){grid-column:span 3;grid-row:span 1}.gallery-card:nth-child(1),.gallery-card:nth-child(6),.gallery-card:nth-child(7){grid-column:span 6;grid-row:span 2}.viewer-stage{width:calc(100vw - 70px);height:82vh}.viewer-nav{width:46px;height:60px}.viewer-prev{left:10px}.viewer-next{right:10px}}
@media(max-width:640px){.gallery-hero-note{display:grid;grid-template-columns:1fr 1fr;gap:7px}.gallery-hero-note span:nth-child(2),.gallery-hero-note span:nth-child(4){display:none}.interactive-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:190px;gap:10px}.gallery-card:nth-child(n){grid-column:span 1;grid-row:span 1}.gallery-card:nth-child(1),.gallery-card:nth-child(6),.gallery-card:nth-child(7){grid-column:span 2;grid-row:span 1}.gallery-photo,.gallery-card{border-radius:15px}.gallery-meta{left:12px;right:12px;bottom:12px}.gallery-meta strong{font-size:.88rem}.gallery-cursor{display:none}.viewer-stage{width:100%;height:78vh}.viewer-image{height:calc(100% - 110px);border-radius:10px}.viewer-info{display:block}.viewer-hint{margin-top:8px}.viewer-nav{width:42px;height:50px;font-size:36px;background:rgba(4,31,66,.75)}.viewer-prev{left:8px}.viewer-next{right:8px}.viewer-close{top:12px;right:12px;width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.gallery-photo,.gallery-photo img,.gallery-cursor,.gallery-shade{transition:none!important}.gallery-card{transform:none!important}}

.modal-media-item{margin:0;background:#111}.modal-media-item figcaption{display:grid;gap:4px;padding:12px 14px 14px;background:#111;color:#fff}.modal-media-item figcaption strong{font-size:.95rem}.modal-media-item figcaption span{font-size:.84rem;color:#cbd5e1;line-height:1.5}
