:root{
  --blue:#061b3a;--blue-2:#082957;--cyan:#32b7ff;--paper:#f5f7f8;--paper-2:#eef1f3;--ink:#09131f;--muted:#68737d;--line:rgba(8,27,58,.16);--pad:clamp(20px,4vw,64px)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html:has(body.home-cinematic){scroll-snap-type:y mandatory}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
.container{width:100%;padding:0 var(--pad)}
.site-header{position:sticky;top:0;z-index:10;background:rgba(6,27,58,.94);backdrop-filter:blur(18px);color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}
.header-top{display:flex;justify-content:space-between;gap:24px;padding:9px var(--pad);font-size:11px;color:rgba(255,255,255,.66);border-bottom:1px solid rgba(255,255,255,.1)}
.header-top div{display:flex;gap:22px;flex-wrap:wrap}
.header-main{display:grid;grid-template-columns:210px 1fr auto;gap:28px;align-items:center;min-height:78px;padding:0 var(--pad)}
.logo{font:600 20px Unbounded,Arial,sans-serif;letter-spacing:-.06em}.logo span,.accent{color:var(--cyan)}
.nav{display:flex;justify-content:center;gap:clamp(14px,1.8vw,28px);font-size:12px}.nav a{opacity:.82}.nav a:hover{opacity:1;color:var(--cyan)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;border-radius:999px;padding:15px 22px;font-size:12px;font-weight:800;border:1px solid transparent;transition:.25s}
.btn-light{background:#fff;color:var(--blue)}.btn-light:hover,.btn-dark:hover{background:var(--cyan);color:var(--blue)}
.btn-dark{background:var(--blue);color:#fff}.btn-outline{border-color:currentColor}.btn-outline:hover{background:#fff;color:var(--blue)}
.menu-toggle{display:none;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:10px 14px}
.mobile-panel{display:none}
.hero{position:relative;min-height:calc(100vh - 120px);overflow:hidden;background:var(--blue);color:#fff}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,14,34,.92),rgba(3,18,42,.68) 55%,rgba(3,17,38,.84)),url("https://images.unsplash.com/photo-1503387762-592deb58ef4e?auto=format&fit=crop&w=2200&q=88") center/cover;transform:scale(1.03)}
.hero .container{position:relative;min-height:inherit;display:grid;grid-template-columns:repeat(12,1fr);align-content:center;gap:26px;padding-top:70px;padding-bottom:70px}
.kicker,.section-label{font:700 8px Unbounded,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.64)}
.hero h1{grid-column:1/11;margin:18px 0 0;font:500 clamp(48px,8vw,132px)/.9 Unbounded,Arial,sans-serif;letter-spacing:-.08em;text-transform:uppercase}
.hero p{grid-column:1/7;margin:0;font-size:clamp(15px,1.3vw,19px);line-height:1.7;color:rgba(255,255,255,.72)}
.hero-actions{grid-column:1/8;display:flex;gap:16px;flex-wrap:wrap;margin-top:14px}
.hero-stats{grid-column:8/13;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.2);align-self:end}
.hero-stats article{background:rgba(6,27,58,.78);padding:22px}.hero-stats strong{display:block;font:500 36px Unbounded;color:#fff}.hero-stats span{font-size:11px;color:rgba(255,255,255,.62)}
.section{padding:clamp(78px,9vw,150px) 0}.dark{background:var(--blue);color:#fff}.soft{background:var(--paper-2)}
.section-label{display:grid;grid-template-columns:42px auto 1fr;gap:16px;align-items:center;color:#65717c}.dark .section-label{color:rgba(255,255,255,.6)}.section-label i{height:1px;background:currentColor;opacity:.24}
h1,h2,h3{font-family:Unbounded,Arial,sans-serif;letter-spacing:-.06em}
h2{margin:44px 0 0;font-size:clamp(38px,6vw,92px);line-height:.95;text-transform:uppercase}
.lead{font-size:clamp(16px,1.4vw,20px);line-height:1.7;color:var(--muted);max-width:780px}.dark .lead{color:rgba(255,255,255,.64)}
.split{display:grid;grid-template-columns:7fr 5fr;gap:clamp(34px,6vw,92px);align-items:start}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
.grid.two{grid-template-columns:repeat(2,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}
.card{border:1px solid var(--line);background:#fff;padding:26px;min-height:210px;transition:.25s}.dark .card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16)}
.card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(6,27,58,.08)}
.card small{font:700 9px Unbounded;color:var(--cyan);letter-spacing:.12em}.card h3{font-size:clamp(20px,2vw,30px);line-height:1.08;margin:34px 0 12px}.card p{font-size:14px;line-height:1.65;color:var(--muted)}.dark .card p{color:rgba(255,255,255,.62)}
.media-block{height:clamp(320px,44vw,680px);margin-top:56px;position:relative;overflow:hidden}.media-block figcaption{position:absolute;left:14px;bottom:14px;background:#fff;color:var(--blue);font:700 8px Unbounded;padding:9px 12px;letter-spacing:.1em}
.services-list{margin-top:56px;border-top:1px solid var(--line)}
.service-row{display:grid;grid-template-columns:70px 1fr auto;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}
.service-row strong{font:500 26px Unbounded;color:#bdc5cd}.service-row h3{margin:0 0 8px;font-size:clamp(24px,3vw,42px)}.service-row p{margin:0;color:var(--muted);line-height:1.6}.service-row span{color:var(--cyan);font-size:28px}
.case-card{padding:0;overflow:hidden}.case-card .pic{height:310px;background:linear-gradient(135deg,#d7dde3,#f5f7f8)}.case-card .body{padding:24px}.case-card h3{margin:0 0 12px;font-size:25px}.meta{font-size:12px;color:var(--muted);line-height:1.7}.dark .meta{color:rgba(255,255,255,.62)}
.timeline{margin-top:56px;border-top:1px solid var(--line)}.timeline article{display:grid;grid-template-columns:70px 1fr auto;gap:24px;padding:30px 0;border-bottom:1px solid var(--line)}.timeline strong{width:56px;height:56px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--cyan);font:700 10px Unbounded}.timeline h3{margin:4px 0 8px;font-size:25px}.timeline p{margin:0;color:var(--muted);line-height:1.6}
.form{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form label{display:flex;flex-direction:column;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.58)}.form input,.form textarea{border:0;border-bottom:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;padding:16px 0;font:inherit;outline:0}.form textarea{grid-column:1/3;min-height:90px}.form button{width:max-content}
.footer{background:radial-gradient(circle at 80% 0,#0b366c,var(--blue) 54%);color:#fff;padding:64px var(--pad) 28px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:34px}.footer a,.footer p{color:rgba(255,255,255,.62);font-size:13px;line-height:1.7}.footer strong{display:block;margin-bottom:14px;font:700 9px Unbounded;letter-spacing:.12em}.bottom{border-top:1px solid rgba(255,255,255,.16);margin-top:38px;padding-top:20px;color:rgba(255,255,255,.4);font-size:11px}
.home-cinematic{background:var(--blue)}
.home-cinematic{scroll-snap-type:y mandatory}
.home-cinematic .site-header{position:fixed}
.home-cinematic .cinematic-scroll,.home-cinematic .footer{scroll-snap-type:y mandatory}
.home-cinematic .panel{min-height:100vh;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;position:relative;overflow:hidden}
.home-cinematic .panel>.container{width:100%}
.home-cinematic .hero{min-height:100vh}
.home-cinematic .hero:before{will-change:transform}
.home-cinematic .section{padding-top:130px;padding-bottom:70px}
.home-cinematic .footer.panel{min-height:100vh}
.home-cinematic .section-label,.home-cinematic h2,.home-cinematic .lead,.home-cinematic .media-block,.home-cinematic .service-row,.home-cinematic .card,.home-cinematic .timeline article,.home-cinematic .form{will-change:transform,opacity}
.scroll-progress{position:fixed;right:22px;top:50%;z-index:40;width:1px;height:180px;background:rgba(255,255,255,.24);transform:translateY(-50%);pointer-events:none}.scroll-progress span{display:block;width:3px;height:0;background:var(--cyan);transform:translateX(-1px)}
.scroll-hint{position:fixed;right:var(--pad);bottom:28px;z-index:40;color:rgba(255,255,255,.58);font:700 8px Unbounded;letter-spacing:.16em;text-transform:uppercase;writing-mode:vertical-rl;pointer-events:none}
.home-cinematic .hero-stats strong{font-variant-numeric:tabular-nums}
.home-cinematic .project-panel .grid{perspective:1200px}
.page-hero{padding:76px 0 66px;background:var(--blue);color:#fff}.page-hero h1{font-size:clamp(42px,7vw,104px);line-height:.95;text-transform:uppercase;margin:24px 0 0}.breadcrumbs{font-size:12px;color:rgba(255,255,255,.58)}
@media(max-width:980px){.header-top,.nav,.header-main .btn{display:none}.header-main{display:flex;justify-content:space-between}.menu-toggle{display:block}.mobile-panel{display:none;flex-direction:column;gap:16px;padding:18px var(--pad) 26px;background:var(--blue);color:#fff}.mobile-panel.open{display:flex}.mobile-panel a{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12)}.hero h1,.hero p,.hero-actions,.hero-stats{grid-column:1/13}.split,.grid,.grid.two,.grid.four,.footer-grid{grid-template-columns:1fr}.hero-stats{margin-top:28px}.service-row,.timeline article{grid-template-columns:44px 1fr}.service-row span,.timeline time{display:none}.form{grid-template-columns:1fr}.form textarea{grid-column:auto}.home-cinematic .panel{min-height:auto;display:block}.home-cinematic .section,.home-cinematic .footer.panel{min-height:auto}.scroll-progress,.scroll-hint{display:none}}
@media(max-width:620px){.hero h1{font-size:14vw}.section{padding:70px 0}.card{min-height:0}.hero-stats{grid-template-columns:1fr}.media-block{height:72vw}.page-hero h1{font-size:13vw}}
