:root{--navy: #0e1a2b;--navy-2: #142337;--gold: #f2a900;--steel: #6b7280;--light: #f2f4f7;--white: #ffffff;--ink: #17202d;--line: rgba(14, 26, 43, .12);--shadow: 0 24px 60px rgba(14, 26, 43, .12);--font-heading: "Playfair Display", Georgia, serif;--font-body: "Inter", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--font-body);line-height:1.6;background:var(--white)}img{display:block;max-width:100%;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}video,.image-pop-trigger,.media-frame,.service-card,.lightbox-media{user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.eyebrow{color:var(--gold);font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.16,.84,.44,1),transform .8s cubic-bezier(.16,.84,.44,1);will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:none}.reveal-stagger>*{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.16,.84,.44,1),transform .7s cubic-bezier(.16,.84,.44,1)}.reveal-stagger.is-visible>*{opacity:1;transform:none}.reveal-stagger.is-visible>*:nth-child(1){transition-delay:60ms}.reveal-stagger.is-visible>*:nth-child(2){transition-delay:.14s}.reveal-stagger.is-visible>*:nth-child(3){transition-delay:.22s}.reveal-stagger.is-visible>*:nth-child(4){transition-delay:.3s}.reveal-stagger.is-visible>*:nth-child(5){transition-delay:.38s}.reveal-stagger.is-visible>*:nth-child(6){transition-delay:.46s}.reveal-stagger.is-visible>*:nth-child(7){transition-delay:.54s}.reveal-stagger.is-visible>*:nth-child(8){transition-delay:.62s}.hero-anim{opacity:0;transform:translateY(26px);animation:heroIn .9s cubic-bezier(.16,.84,.44,1) forwards}.hero-anim:nth-child(2){animation-delay:.12s}.hero-anim:nth-child(3){animation-delay:.22s}.hero-anim:nth-child(4){animation-delay:.32s}@keyframes heroIn{to{opacity:1;transform:none}}}.site-header{position:sticky;top:0;z-index:30;background:#fffffff5;backdrop-filter:blur(18px);transition:box-shadow .22s ease,background .22s ease}.site-header.is-scrolled{background:#ffffffeb;box-shadow:0 10px 40px #0e1a2b1a}.topbar{background:var(--navy);color:#ffffffd1;font-size:.8rem;font-weight:600;border-bottom:1px solid rgba(242,169,0,.16)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:42px}.topbar-meta,.topbar-contact{display:flex;align-items:center;gap:16px}.topbar-item{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;transition:color .16s ease}.topbar-item svg{color:var(--gold)}a.topbar-item:hover,a.topbar-item:focus-visible{color:var(--white)}.topbar-divider{width:1px;height:14px;background:#fff3}.nav{display:flex;min-height:84px;align-items:center;justify-content:space-between;gap:28px}.site-header.is-scrolled .nav{min-height:74px}.brand{display:flex;align-items:center;gap:18px;min-width:0}.brand img{width:clamp(200px,23vw,300px);height:auto;max-height:80px;object-fit:contain;transition:max-height .22s ease}.site-header.is-scrolled .brand img{max-height:64px}.nav-links{display:flex;align-items:center;gap:clamp(20px,3vw,40px);margin-left:auto;color:var(--navy);font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.nav-links a{position:relative;padding-block:10px;transition:color .16s ease}.nav-links a:hover,.nav-links a:focus-visible{color:var(--gold)}.nav-links a:after{position:absolute;bottom:0;left:0;width:100%;height:2px;content:"";background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.nav-links a:hover:after,.nav-links a:focus-visible:after{transform:scaleX(1)}.nav-cta{margin-left:8px}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:var(--white);cursor:pointer}.nav-toggle span{display:block;height:2px;width:100%;border-radius:2px;background:var(--navy);transition:transform .22s ease,opacity .18s ease}.menu-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-open .nav-toggle span:nth-child(2){opacity:0}.menu-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{display:grid;gap:4px;overflow:hidden;max-height:0;padding:0 max(20px,(100% - 1180px) / 2);border-top:1px solid transparent;background:var(--white);transition:max-height .28s ease,padding .28s ease}.menu-open .mobile-menu{max-height:360px;padding-block:16px;border-top-color:var(--line)}.mobile-menu a{padding:13px 4px;color:var(--navy);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.9rem;border-bottom:1px solid var(--line)}.mobile-menu .btn{margin-top:12px;border-bottom:none;text-transform:none;letter-spacing:0}.btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:8px;padding:13px 20px;font-weight:800;line-height:1;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.btn:hover,.btn:focus-visible{transform:translateY(-2px)}.btn-primary{color:var(--navy);background:var(--gold);box-shadow:0 16px 28px #f2a9003d}.btn-secondary{color:var(--white);border-color:#ffffff5c;background:#ffffff14}.btn-ghost{color:var(--white);border-color:#ffffff47;background:transparent}.btn-ghost:hover,.btn-ghost:focus-visible{border-color:var(--gold);color:var(--gold)}.hero{position:relative;min-height:min(640px,calc(100vh - 88px));display:grid;align-items:end;color:var(--white);overflow:hidden;background:var(--navy)}.hero:before{position:absolute;inset:0;content:"";background:linear-gradient(90deg,#0e1a2bf5,#0e1a2bbd 42%,#0e1a2b2e),url(/images/asset-hero.jpg) center / cover}.hero:after{position:absolute;right:-12vw;bottom:-22vw;width:58vw;aspect-ratio:1;content:"";border:1px solid rgba(242,169,0,.35);border-radius:50%}.hero-inner{position:relative;z-index:1;padding:78px 0 86px}.hero-copy{max-width:720px}h1,h2,h3{margin:0;color:inherit;font-family:var(--font-heading);line-height:1.02}h1{max-width:760px;margin-top:16px;font-size:clamp(3.1rem,6.2vw,5.6rem);font-weight:700}.gold{color:var(--gold)}.hero p{max-width:610px;margin:24px 0 0;color:#ffffffdb;font-size:clamp(1.05rem,1.6vw,1.24rem)}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.stats-band{position:relative;z-index:2;margin-top:-54px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#0e1a2bf5;box-shadow:var(--shadow)}.stat{display:flex;align-items:center;gap:18px;min-height:132px;padding:28px 36px;color:var(--white)}.stat+.stat{border-left:1px solid rgba(255,255,255,.14)}.stat-icon,.service-icon{display:grid;width:58px;height:58px;flex:0 0 auto;place-items:center;border-radius:50%;color:var(--navy);background:var(--gold)}.stat strong{display:block;color:var(--gold);font-size:clamp(2rem,4vw,3rem);line-height:1}.stat span{color:#ffffffd1;font-weight:700}.section{padding:104px 0}.section.light{background:var(--light)}.section.dark{color:var(--white);background:var(--navy)}.media-section{padding-top:92px}.media-feature{display:grid;grid-template-columns:minmax(280px,.68fr) minmax(0,1fr);gap:42px;align-items:center}.media-copy h2{margin-top:10px;color:var(--navy);font-size:clamp(2.3rem,4.8vw,4.2rem)}.media-copy p{max-width:500px;color:var(--steel)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:42px}.section-head h2{margin-top:10px;color:var(--navy);font-size:clamp(2.4rem,5vw,4.4rem)}.dark .section-head h2{color:var(--white)}.section-head p{max-width:520px;margin:0;color:var(--steel)}.dark .section-head p{color:#ffffffb3}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{position:relative;overflow:hidden;min-height:380px;border-radius:8px;background:var(--navy);box-shadow:0 18px 44px #0e1a2b1f;cursor:pointer;isolation:isolate;transition:transform .24s ease,box-shadow .24s ease}.service-card:hover,.service-card:focus-visible{transform:translateY(-10px) scale(1.025);box-shadow:0 28px 70px #0e1a2b38;outline:none}.service-card:focus-visible{box-shadow:0 0 0 4px #f2a90052,0 28px 70px #0e1a2b38}.click-cue{position:absolute;top:13px;right:16px;z-index:4;width:116px;color:var(--gold);pointer-events:none;transform:rotate(3deg);transition:transform .24s ease}.service-card:hover .click-cue,.service-card:focus-visible .click-cue{transform:translate(-6px,-5px) rotate(-2deg) scale(1.06)}.click-cue svg{display:block;width:100%;filter:drop-shadow(0 2px 0 rgba(14,26,43,.55))}.click-cue span{display:inline-flex;margin-top:-1px;margin-left:38px;padding:4px 8px;border-radius:999px;color:var(--white);background:#0e1a2bc7;box-shadow:0 8px 18px #0e1a2b38;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.service-media{position:relative;height:210px;overflow:hidden}.service-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.service-card:hover .service-media img{transform:scale(1.05)}.service-media.is-rotating img{position:absolute;inset:0;opacity:0;transition:opacity .9s ease,transform .6s ease}.service-media.is-rotating img.is-active{opacity:1}.media-tag{position:absolute;top:14px;left:14px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#0e1a2bc7;backdrop-filter:blur(6px);color:var(--white);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.media-video{position:relative;overflow:hidden;border-radius:8px;box-shadow:var(--shadow)}.media-video video{display:block;width:100%;height:100%;min-height:320px;max-height:440px;object-fit:cover;background:var(--navy)}.media-video-badge{position:absolute;bottom:16px;left:16px;display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;background:#0e1a2bb8;backdrop-filter:blur(8px);color:var(--white);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.media-video-badge svg{color:var(--gold)}.media-frame{position:relative;display:block;width:100%;padding:0;border:0;overflow:hidden;border-radius:8px;box-shadow:0 18px 44px #0e1a2b29;cursor:zoom-in;background:transparent;transition:transform .24s ease,box-shadow .24s ease}.media-frame img{width:100%;height:100%;min-height:240px;object-fit:cover;transition:transform .7s ease}.media-frame:hover,.media-frame:focus-visible{transform:translateY(-8px) scale(1.025);box-shadow:0 28px 68px #0e1a2b38;outline:none}.media-frame:hover img,.media-frame:focus-visible img{transform:scale(1.04)}.media-frame.compact img{min-height:230px}.media-frame.slim img{min-height:210px}.service-body{display:grid;gap:14px;padding:28px;color:var(--white)}.service-body h3{font-family:var(--font-body);font-size:1.32rem;line-height:1.22}.service-body p{margin:0;color:#ffffffbd}.service-media-callout{display:grid;grid-template-columns:minmax(260px,.52fr) minmax(0,1fr);gap:28px;align-items:center;margin-top:42px;border:1px solid var(--line);border-radius:8px;padding:28px;background:var(--white);box-shadow:0 18px 44px #0e1a2b14}.service-media-callout h3{margin-top:8px;color:var(--navy);font-family:var(--font-body);font-size:1.55rem;line-height:1.2}.service-media-callout p{margin:12px 0 0;color:var(--steel)}.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:56px;align-items:center}.about-copy h2{margin-top:10px;color:var(--navy);font-size:clamp(2.4rem,5vw,4.7rem)}.about-copy p{color:var(--steel);font-size:1.04rem}.proof-list{display:grid;gap:16px;margin-top:28px}.proof-item{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;border-top:1px solid var(--line);padding-top:18px}.proof-item svg{color:var(--gold)}.proof-item strong{display:block;color:var(--navy)}.proof-item span{color:var(--steel)}.about-panel{border-radius:8px;padding:36px;color:var(--white);background:var(--navy)}.about-panel h3{font-size:2rem}.about-panel p{color:#ffffffbd}.license-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:28px}.license-grid div{border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:18px;background:#ffffff0f}.license-grid strong{display:block;color:var(--gold);font-size:1.8rem;line-height:1}.projects-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.project-card{overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0f;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}.project-card:hover,.project-card:focus-within{transform:translateY(-8px) scale(1.02);border-color:#f2a9006b;box-shadow:0 24px 52px #00000040}.image-pop-trigger{display:block;width:100%;padding:0;border:0;color:inherit;background:transparent;cursor:zoom-in;text-align:inherit}.project-card img{width:100%;aspect-ratio:1.35;object-fit:cover;transition:transform .5s ease,filter .24s ease}.project-card:hover img,.project-card:focus-within img{transform:scale(1.08);filter:saturate(1.08) contrast(1.04)}.project-card div{padding:18px}.project-card strong{display:block;color:var(--white);line-height:1.25}.project-card span{display:block;margin-top:4px;color:#ffffff9e;font-size:.9rem}.contact-grid{display:grid;grid-template-columns:minmax(280px,.74fr) minmax(0,1fr);gap:48px;align-items:start}.contact-card{border-radius:8px;padding:34px;background:var(--navy);color:var(--white)}.contact-card h2{margin-bottom:22px;font-size:clamp(2.2rem,4vw,3.8rem)}.contact-methods{display:grid;gap:18px;margin-top:30px}.contact-method{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center}.contact-method svg{color:var(--gold)}.contact-method span{display:block;color:#ffffff9e;font-size:.86rem}.contact-method strong{color:var(--white);line-height:1.25}.contact-form{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.field{display:grid;gap:8px}.field.full{grid-column:1 / -1}.field label{color:var(--navy);font-weight:800}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:14px 15px;color:var(--navy);background:var(--white);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px #f2a90029}.field textarea{min-height:150px;resize:vertical}.captcha-field{min-height:78px}.form-status{min-height:24px;color:#9f2a1f;font-size:.92rem;font-weight:700}.form-actions{grid-column:1 / -1}.form-actions .btn:disabled{cursor:wait;opacity:.68;transform:none}.thanks-hero{min-height:100vh}.contact-footage{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.42fr);gap:26px;align-items:center;margin-top:42px}.contact-footage p{margin:0;color:var(--steel);font-weight:600}.footer{position:relative;color:#ffffffa8;background:var(--navy)}.footer-cta{position:relative;background:linear-gradient(120deg,#f2a90014,#f2a90000 55%),var(--navy-2);border-top:3px solid var(--gold);border-bottom:1px solid rgba(255,255,255,.08)}.footer-cta-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;padding:52px 0}.footer-cta-inner h2{margin-top:10px;color:var(--white);font-size:clamp(2rem,3.6vw,3.1rem)}.footer-cta-actions{display:flex;flex-wrap:wrap;gap:14px}.footer-main{display:grid;grid-template-columns:1.6fr 1fr 1.1fr 1.3fr;gap:40px;padding:64px 0 48px}.footer-brand img{width:230px;max-width:100%;filter:brightness(0) invert(1)}.footer-brand p{margin:22px 0 0;max-width:340px;color:#ffffff9e;font-size:.95rem}.footer-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.footer-badges span{padding:7px 14px;border:1px solid rgba(242,169,0,.4);border-radius:999px;color:var(--gold);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.footer-col{display:grid;gap:12px;align-content:start}.footer-col strong{margin-bottom:6px;color:var(--white);font-size:.82rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.footer-col a,.footer-col span{display:inline-flex;align-items:center;gap:10px;color:#ffffffa8;font-size:.95rem;transition:color .16s ease,padding-left .16s ease}.footer-col a:hover,.footer-col a:focus-visible{color:var(--gold)}.footer-contact svg{flex:0 0 auto;color:var(--gold)}.footer-address{align-items:flex-start}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);background:#0000002e}.footer-bottom-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:22px 0;font-size:.85rem;color:#ffffff8c}.footer-tagline{color:var(--gold);font-family:var(--font-heading);font-style:italic;font-size:.98rem}.footer-credit{color:#ffffff9e;font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.footer-credit a{color:var(--white);border-bottom:1px solid rgba(242,169,0,.54);transition:color .16s ease,border-color .16s ease}.footer-credit a:hover,.footer-credit a:focus-visible{color:var(--gold);border-color:var(--gold)}.lightbox-open{overflow:hidden}.lightbox{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:28px;opacity:0;pointer-events:none;transition:opacity .22s ease}.lightbox[aria-hidden=false]{opacity:1;pointer-events:auto}.lightbox-backdrop{position:absolute;inset:0;border:0;background:#070c14c7;backdrop-filter:blur(12px);cursor:zoom-out}.lightbox-panel{position:relative;display:grid;grid-template-columns:minmax(0,1.32fr) minmax(300px,.68fr);width:min(1160px,100%);max-height:min(760px,calc(100vh - 56px));overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:var(--white);box-shadow:0 34px 110px #00000073;transform:translateY(24px) scale(.96);transition:transform .26s cubic-bezier(.16,.84,.44,1)}.lightbox[aria-hidden=false] .lightbox-panel{transform:none}.lightbox-panel:focus{outline:none}.lightbox-close{position:absolute;top:14px;right:14px;z-index:3;display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:50%;color:var(--white);background:#0e1a2bbd;cursor:pointer;font-size:2rem;line-height:1}.lightbox-media{min-height:520px;background:var(--navy)}.lightbox-media img{width:100%;height:100%;min-height:520px;object-fit:cover}.lightbox-content{display:flex;flex-direction:column;gap:18px;overflow:auto;padding:42px 34px 34px}.lightbox-content h2{color:var(--navy);font-size:clamp(2.1rem,4vw,3.4rem)}.lightbox-content p{margin:0;color:var(--steel)}.lightbox-content ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.lightbox-content li{position:relative;padding-left:22px;color:var(--navy);font-weight:700}.lightbox-content li:before{position:absolute;top:.68em;left:0;width:9px;height:9px;content:"";border-radius:50%;background:var(--gold)}.lightbox-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:10px;margin-top:auto}.lightbox-thumbs:empty{display:none}.lightbox-thumbs button{overflow:hidden;border:2px solid transparent;border-radius:8px;padding:0;background:var(--light);cursor:pointer}.lightbox-thumbs button.is-active{border-color:var(--gold)}.lightbox-thumbs img{width:100%;aspect-ratio:1.2;object-fit:cover}@media(max-width:980px){.nav{min-height:72px}.site-header.is-scrolled .nav{min-height:66px}.nav-links,.nav-cta{display:none}.nav-toggle{display:flex}.topbar-hide-sm{display:none}.footer-main{grid-template-columns:1fr 1fr;gap:36px 32px}.footer-brand{grid-column:1 / -1}.hero{min-height:620px}.stats-grid,.services-grid,.projects-grid,.about-grid,.contact-grid,.media-feature,.service-media-callout,.contact-footage{grid-template-columns:1fr}.stat+.stat{border-top:1px solid rgba(255,255,255,.14);border-left:0}.projects-grid{grid-template-columns:repeat(2,1fr)}.section-head{display:block}.section-head p{margin-top:16px}.media-video video{min-height:260px}.lightbox-panel{grid-template-columns:1fr;overflow:auto}.lightbox-media,.lightbox-media img{min-height:320px;max-height:48vh}}@media(max-width:640px){.container{width:min(100% - 28px,1180px)}.brand img{width:184px;max-height:58px}.topbar-meta .topbar-divider{display:none}.topbar-item{font-size:.74rem}.footer-main{grid-template-columns:1fr;gap:32px}.footer-cta-actions{width:100%}.footer-cta-actions .btn{flex:1}.hero{min-height:600px}.hero-inner{padding:72px 0 76px}h1{font-size:clamp(3rem,14vw,4.1rem)}.section{padding:76px 0}.stat{padding:24px}.projects-grid,.contact-form,.license-grid{grid-template-columns:1fr}.service-media-callout{padding:20px}.media-frame.compact img,.media-frame.slim img,.media-video video{min-height:200px}.click-cue{width:94px}.lightbox{padding:14px}.lightbox-content{padding:28px 20px 22px}.lightbox-media,.lightbox-media img{min-height:250px}}
