:root{--navy:#0E1F3A;--navy2:#172d52;--gold:#C9A24B;--gd:#8C6A1F;--gold2:#E6CF8E;--cream:#F6F3EC;--white:#FFFEFB;--ink:#0E1F3A;--muted:#5B6678;--line:#E3DDCD}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--cream);color:var(--ink);font:16px 'DM Sans',sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit}::selection{background:var(--gold);color:var(--navy)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.progress{position:fixed;z-index:1000;top:0;left:0;height:4px;background:var(--gold);width:0}
.cursor{position:fixed;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,#C9A24B22,transparent 70%);pointer-events:none;transform:translate(-50%,-50%);z-index:5;opacity:0;transition:opacity .3s}
.nav{position:fixed;z-index:100;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:17px 6%;background:#0E1F3AF2;backdrop-filter:blur(16px);border-bottom:1px solid #C9A24B40;color:#fff}
.brand{font:800 clamp(15px,1.5vw,20px) Montserrat,sans-serif;letter-spacing:-.025em}.brand b{color:var(--gold)}
.links{display:flex;gap:23px;align-items:center}.links a{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#dbe2ef}.links a:hover{color:var(--gold)}
.nav-cta{background:var(--gold);color:var(--navy)!important;border-radius:50px;padding:13px 18px}.nav-cta:hover{background:var(--gold2)}
.menu{display:none;border:0;background:none;font-size:26px;color:var(--gold2)}
section{padding:110px 6%}.wrap{max-width:1450px;margin:auto}
.eyebrow{color:var(--gd);font-size:12px;letter-spacing:.22em;font-weight:800;text-transform:uppercase}
h1,h2,h3{font-family:Syne,sans-serif}
h2{font-size:clamp(38px,6.2vw,88px);letter-spacing:-.07em;line-height:1.04;margin:15px 0 30px;text-transform:uppercase}
h2 em,h1 em{font-style:normal;color:var(--gd)}
.lead{color:var(--muted);font-size:18px;line-height:1.8;max-width:700px;margin:0}
.dark{background:var(--navy);color:#fff}.dark .eyebrow{color:var(--gold)}.dark h2 em,.dark h1 em{color:var(--gold)}.dark .lead{color:#c9d3e6}
.white{background:var(--white)}
.button{display:inline-flex;align-items:center;gap:15px;padding:17px 25px;border-radius:50px;font-weight:800;font-size:13px;border:1px solid var(--gold);transition:transform .3s,box-shadow .3s,background .3s}
.button:hover{transform:translateY(-6px) scale(1.03)}
.button.gold{background:var(--gold);color:var(--navy);box-shadow:0 12px 35px #C9A24B40}
.button.outline{color:#fff;background:transparent}.light .button.outline,.button.outline.d{color:var(--navy);background:#fff}
.hero{min-height:100svh;display:flex;align-items:center;padding:140px 6% 70px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 82% 40%,#2b4a7e88,transparent 42%),linear-gradient(145deg,#0a182e,#0E1F3A 60%,#13294d)}
.hero:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#C9A24B12 1px,transparent 1px),linear-gradient(90deg,#C9A24B12 1px,transparent 1px);background-size:60px 60px;animation:grid 18s linear infinite}
.hero-decor{position:absolute;right:5%;top:14%;font-size:clamp(90px,19vw,280px);color:#C9A24B1c;animation:spin 24s linear infinite;z-index:-1}
.hero-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.7fr);gap:clamp(24px,4vw,72px);align-items:center;width:100%}
.hero h1{font-size:clamp(46px,6.3vw,100px);letter-spacing:-.09em;line-height:.93;margin:26px 0;text-transform:uppercase}
.hero p{font-size:clamp(17px,1.6vw,20px);max-width:640px;color:#c9d3e6;line-height:1.7}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.hero-small{font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--gold);margin-top:34px;line-height:2}
.panel{background:var(--navy2);border:1px solid #C9A24B55;border-radius:28px;padding:14px;box-shadow:0 26px 75px #0006,11px 11px 0 var(--gold);max-width:410px;width:100%;margin:0 auto;animation:float 5s ease-in-out infinite}
.panel-h{display:flex;align-items:center;gap:9px;font:800 11px Syne;letter-spacing:.12em;padding:8px 5px 13px;color:var(--gold)}
.dot{height:9px;width:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px #C9A24B30;animation:pulse 1.8s infinite}
.panel img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 10%;border-radius:19px;background:#fff}
.panel-f{display:flex;justify-content:space-between;gap:8px;font-size:10px;letter-spacing:.08em;font-weight:800;color:#9fb0cb;margin-top:13px}
.sticker{position:absolute;right:3%;bottom:5%;background:var(--gold);color:var(--navy);padding:14px 20px;transform:rotate(10deg);font:800 14px Syne;box-shadow:8px 8px 0 #000;animation:bob 3s ease-in-out infinite}
.ticker{overflow:hidden;background:var(--gold);color:var(--navy);transform:rotate(-1deg) scale(1.03);padding:17px 0;position:relative;z-index:2}
.track{display:flex;width:max-content;animation:marquee 24s linear infinite}.track span{font:800 22px Syne;white-space:nowrap;margin-right:45px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}
.art{min-height:480px;background:var(--navy);border-radius:30px;position:relative;display:grid;place-items:center;overflow:hidden;box-shadow:12px 12px 0 var(--gold);text-align:center;color:#fff}
.art strong{font:800 clamp(60px,9vw,130px) Syne;letter-spacing:-.1em;color:var(--gold);transform:rotate(-8deg);text-shadow:8px 8px 0 #000;position:relative;display:block}
.art small{position:relative;display:block;font-size:14px;color:#c9d3e6;margin-top:30px;letter-spacing:.1em;font-weight:700}
.art:before,.art:after{content:"";position:absolute;border:3px dashed #C9A24B88;border-radius:50%;width:350px;height:350px;animation:spin 30s linear infinite}
.art:after{width:460px;height:460px;border-style:dotted;animation-direction:reverse}
.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.pills span{border:1px solid var(--line);background:#fff;border-radius:50px;padding:12px 17px;font-weight:800;font-size:13px}
.dark .pills span{background:var(--navy2);border-color:#C9A24B44;color:#fff}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-top:70px}
.stat{padding:26px;border:1px solid var(--line);background:#fff;border-radius:22px}.stat b{display:block;font:800 clamp(30px,3.4vw,48px) Syne;letter-spacing:-.05em;color:var(--gd)}.stat span{color:var(--muted);font-size:14px;line-height:1.5}
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:17px;margin-top:45px}
.tile{grid-column:span 4;min-height:290px;padding:30px;background:var(--cream);border:1px solid var(--line);border-radius:25px;position:relative;overflow:hidden;transition:transform .4s,box-shadow .4s}
.tile.wide{grid-column:span 6}.tile:hover{transform:translateY(-12px) rotate(-1deg);box-shadow:0 25px 60px #0E1F3A24}
.tile .sym{font-size:52px;color:var(--gd);display:inline-block;animation:bob 4s ease-in-out infinite}
.tile h3{font-size:26px;margin:20px 0 10px}.tile p{color:var(--muted);line-height:1.7;margin:0 0 12px}.tile b.f{color:var(--gd);font-size:14px}
.tile a.l{display:inline-block;margin-top:8px;font-weight:800;color:var(--navy);border-bottom:2px solid var(--gold)}
.tile:after{content:"✳";position:absolute;right:-20px;bottom:-65px;font-size:170px;color:#C9A24B14;animation:spin 35s linear infinite}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:40px}
.card{border:1px solid var(--line);background:#fff;padding:30px;border-radius:25px;transition:transform .3s}.card:hover{transform:translateY(-9px) rotate(1deg)}
.card h3{font-size:22px;margin:0 0 10px}.card p{color:var(--muted);line-height:1.7;margin:0}.card .sym{font-size:34px;color:var(--gd);display:block;margin-bottom:10px}
.dark .card{background:var(--navy2);border-color:#C9A24B44}.dark .card p{color:#c9d3e6}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:15px;margin-top:45px}
.step{border-radius:20px;border:1px solid var(--line);background:#fff;padding:27px;transition:transform .3s}.step:hover{transform:translateY(-12px)}
.step strong{font:800 44px Syne;color:var(--gd);letter-spacing:-.05em;line-height:1}.step h3{font-size:20px;margin:12px 0 8px}.step p{color:var(--muted);line-height:1.7;margin:0;font-size:15px}
.dark .step{background:var(--navy2);border-color:#C9A24B44}.dark .step strong{color:var(--gold)}.dark .step p{color:#c9d3e6}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:5%;margin-top:45px}.cols h3{font-size:26px;margin:0 0 14px}
ul.t{list-style:none;padding:0;margin:0}ul.t li{padding:8px 0 8px 28px;position:relative;line-height:1.6;color:var(--muted)}ul.t li:before{content:"✳";position:absolute;left:0;color:var(--gd)}
.dark ul.t li{color:#c9d3e6}.dark ul.t li:before{color:var(--gold)}ul.t b{color:var(--ink)}.dark ul.t b{color:#fff}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin:35px 0}
.filter{border:1px solid #d9d1bd;border-radius:50px;padding:12px 20px;background:#fff;font-weight:800;color:var(--navy)}.filter.active{background:var(--navy);color:var(--gold2);border-color:var(--navy)}
.projects{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.project{border-radius:25px;overflow:hidden;background:#fff;border:1px solid var(--line);transition:transform .25s,box-shadow .25s}.project:hover{box-shadow:0 20px 50px #0E1F3A28;transform:translateY(-6px)}.project[hidden]{display:none}
.visual{aspect-ratio:4/3;background:linear-gradient(135deg,#0E1F3A,#1f3d70);display:grid;place-items:center;overflow:hidden;position:relative}
.project:nth-child(4n+2) .visual{background:linear-gradient(135deg,#ebe2d0,#fff8ef)}.project:nth-child(4n+3) .visual{background:linear-gradient(135deg,#172d52,#C9A24B)}.project:nth-child(4n) .visual{background:linear-gradient(135deg,#222,#0E1F3A)}
.visual strong{font:800 96px Syne;color:#ffffffc0;text-shadow:8px 8px 0 var(--gold);transform:rotate(-12deg);transition:transform .5s}.project:hover .visual strong{transform:rotate(8deg) scale(1.15)}
.visual span{position:absolute;bottom:14px;left:16px;font-size:11px;background:#fff;color:var(--navy);border-radius:30px;padding:7px 12px;font-weight:800}
.pinfo{padding:22px}.pinfo h3{font-size:21px;margin:0 0 8px}.pinfo p{color:var(--muted);line-height:1.6;margin:0;font-size:14px}
.frame{border-radius:32px;padding:26px;background:var(--navy2);box-shadow:18px 20px 0 var(--gold);position:relative}
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#fff;margin:18px 0}
table{border-collapse:collapse;width:100%;font-size:14.5px;min-width:560px}th{background:var(--navy);color:var(--gold2);text-align:left;font:700 13px Syne;padding:14px 16px}td{padding:13px 16px;border-top:1px solid var(--line);color:var(--ink)}td:first-child{font-weight:700}
.note{font-size:13.5px;color:var(--muted)}.dark .note{color:#9fb0cb}
.tab[hidden]{display:none}
details{border-bottom:1px solid #d9d1bd;padding:20px 0}summary{cursor:pointer;font:700 19px Syne}details p{color:var(--muted);line-height:1.7;margin:10px 0 0;max-width:760px}
.cta{background:var(--gold);color:var(--navy);text-align:center;overflow:hidden;position:relative}.cta .eyebrow{color:var(--navy)}
.cta h2{font-size:clamp(48px,9vw,125px);margin-bottom:34px}.cta h2 em{color:#fff;text-shadow:5px 5px 0 var(--navy)}
.cta .button{background:var(--navy);color:var(--gold2);border-color:var(--navy)}
.cgrid{display:grid;grid-template-columns:1.1fr .9fr;gap:6%;align-items:center}
.form{background:#fff;border:1px solid var(--line);padding:32px;border-radius:25px;box-shadow:12px 12px 0 var(--navy)}
.form label{display:block;font-weight:800;font-size:12px;margin-bottom:7px;text-transform:uppercase;letter-spacing:.05em}
.form input,.form textarea,.form select{width:100%;border:1px solid #e0d8c5;border-radius:12px;padding:14px;margin-bottom:18px;background:#fffdf8;font:inherit;color:var(--navy)}
.form textarea{min-height:110px;resize:vertical}.form button{width:100%;background:var(--navy);color:var(--gold2);border:0;padding:17px;border-radius:40px;font-weight:800}
.handle{font-weight:800;color:var(--gd);font-size:18px;margin-top:20px}
footer{background:#08142a;color:#fff;padding:60px 6% 30px}.fi{max-width:1450px;margin:auto;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.fi a{margin-left:18px;color:var(--gold2)}.fi p{color:#9fb0cb;max-width:520px}
.to-top{position:fixed;right:22px;bottom:22px;border:0;background:var(--gold);color:var(--navy);width:52px;height:52px;border-radius:50%;font-size:23px;z-index:80;opacity:0;pointer-events:none;transition:.3s}.to-top.show{opacity:1;pointer-events:auto}
.reveal{opacity:0;transform:translateY(55px);transition:opacity .85s,transform .85s}.reveal.in{opacity:1;transform:none}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes bob{50%{transform:translateY(-16px)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes grid{to{background-position:60px 60px}}@keyframes float{50%{translate:0 -9px}}@keyframes pulse{50%{box-shadow:0 0 0 11px #C9A24B00}}
@media(max-width:1100px){.projects{grid-template-columns:repeat(2,1fr)}.links{gap:12px}.links a{font-size:10px}}
@media(max-width:950px){.grid2,.cgrid,.cols{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.tile{grid-column:span 6}.hero-split{grid-template-columns:1fr 320px;gap:25px}}
@media(max-width:780px){.hero-split{grid-template-columns:1fr;gap:40px}.sticker{display:none}.menu{display:block}.links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);padding:20px 6%;flex-direction:column;align-items:flex-start;gap:18px}.links a{font-size:13px}.links.open{display:flex}}
@media(max-width:650px){section{padding:75px 6%}.hero{padding-top:120px}.tile,.tile.wide{grid-column:span 12}.projects{grid-template-columns:1fr}.art{min-height:330px}.panel,.form{box-shadow:7px 7px 0 var(--gold)}.form{box-shadow:7px 7px 0 var(--navy)}.fi a{margin:0 14px 0 0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
