:root{--color-primary: #ffffff;--color-secondary: #f8fafc;--color-accent: #B22222;--color-muted: #475569;--color-bg-dark: #0b1220;--text-dark: #0f172a;--text-light: #ffffff;--border: #e2e8f0;--border-dark: #1f2937;--radius: 12px;--container: 1200px;--peek-next: 64px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem}*{box-sizing:border-box}html,body{height:100%}body{margin:0;min-width:320px;min-height:100vh;background:var(--color-primary);color:var(--text-dark);font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;padding:.5rem .75rem;background:#fff;color:#0b1220;border-radius:.5rem;z-index:100}html{scroll-behavior:smooth}a{font-weight:500;color:var(--color-accent);text-decoration:none}a:hover{color:#8b1a1a}h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.1;margin:0 0 var(--space-6)}.muted{color:var(--color-muted)}.center{text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;white-space:nowrap}.container{max-width:var(--container);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}.section{--section-pad: clamp(3rem, 6vw, 5rem);padding-block:var(--section-pad);background:var(--color-primary)}.section-light{background:var(--color-secondary)}.section-dark{background:var(--color-bg-dark);color:var(--text-light)}section[id]{scroll-margin-top:80px}@media (max-width: 767px){section[id]{scroll-margin-top:64px}}.section-approach{background-color:#eef2f7;min-height:70svh}.section-approach>.container{position:relative;background:#ffffffb3;border:1px solid rgba(15,23,42,.06);border-radius:var(--radius);padding-block:clamp(2rem,4vw,3rem);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 30px #00000014}#approach .card{box-shadow:0 6px 20px #00000014;border-color:#0f172a14}#approach.has-bg-fade .section-bg{align-items:end}#approach.has-bg-fade .section-bg img{transform:translateY(0) scale(1.25);object-fit:contain;width:100%;-webkit-mask-image:linear-gradient(to bottom,#000 0 50%,transparent 60%);mask-image:linear-gradient(to bottom,#000 0 50%,transparent 60%);opacity:.35}#approach[data-observe]{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}#approach.is-visible{opacity:1;transform:none}#approach .grid-3>.card{opacity:0;transform:translateY(16px) scale(.98);transition:opacity .5s ease,transform .5s ease}#approach.is-visible .grid-3>.card{opacity:1;transform:none}#approach.is-visible .grid-3>.card:nth-child(1){transition-delay:0ms}#approach.is-visible .grid-3>.card:nth-child(2){transition-delay:.1s}#approach.is-visible .grid-3>.card:nth-child(3){transition-delay:.2s}#services{min-height:calc(100svh - (var(--section-pad) * 2))}.has-bg-fade{position:relative;overflow:hidden;--scrollProgress: 0}.has-bg-fade .section-bg{position:absolute;inset:0;z-index:0;display:grid;place-items:center;pointer-events:none}.has-bg-fade .section-bg img{width:auto;max-width:none;height:auto;opacity:.45;transform:translateY(calc(40px - 120px * var(--scrollProgress))) scale(2);filter:saturate(90%) contrast(110%);-webkit-mask-image:radial-gradient(120% 80% at 50% 40%,#000 60%,transparent 85%);mask-image:radial-gradient(120% 80% at 50% 40%,#000 60%,transparent 85%)}.has-bg-fade>.container,.has-bg-fade>.section-title{position:relative;z-index:1}[data-observe]{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}[data-observe].is-visible{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.marquee-track{animation:none}[data-observe],#approach[data-observe]{opacity:1;transform:none;transition:none}#services .grid-4>.card,#approach .grid-3>.card{opacity:1;transform:none;transition:none}.btn__background,.btn__default,.btn__hover{transition:none}}#services{transition:background-color .4s ease}body.is-scrolled #services{background-color:#e9edf2}.site-header{position:sticky;top:0;z-index:40;background:#0b1220e6;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-dark)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:4rem;gap:var(--space-4);position:relative}@media (min-width: 768px){.header-inner{height:5rem}}.brand{font-weight:700;font-size:clamp(1.125rem,2vw,1.5rem);color:#fff;text-decoration:none}.menu-toggle{color:#fff;padding:var(--space-2);border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem}.menu-text{display:inline-block}@media (min-width: 768px){.menu-text{display:none}}.nav{display:none;position:absolute;left:var(--space-4);right:var(--space-4);top:calc(100% + var(--space-2));background:#0b1220;border:1px solid #111827;border-radius:10px;padding:var(--space-4);box-shadow:0 10px 30px #0000004d;flex-direction:column;gap:var(--space-4);overflow:visible}.nav.open{display:flex}.nav a{color:#fff;opacity:.8}.nav a:hover{opacity:1}.btn-cta-desktop{display:none}@media (min-width: 768px){.menu-toggle{display:none}.nav{position:static;display:flex;background:transparent;border:0;box-shadow:none;padding:0;flex-direction:row;gap:var(--space-6);overflow:visible}.btn-cta-desktop{display:inline-block}}.section-hero{padding-block:clamp(3rem,8vw,6rem);background:var(--color-bg-dark);color:#fff;min-height:75svh}.hero-grid{display:grid;gap:var(--space-10);align-items:center}@media (min-width: 768px){.hero-grid{grid-template-columns:1fr 1fr;gap:var(--space-12)}}.hero-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:0 0 var(--space-6)}.hero-cta{display:flex;align-items:center;gap:var(--space-6);justify-content:center}@media (min-width: 768px){.hero-cta{justify-content:flex-start}}.hero-media img{width:100%;height:auto;border-radius:var(--radius);display:block}.trust-text{color:#ffffffb3;font-size:.875rem}.hide-md{display:none}@media (min-width: 768px){.hide-md{display:block}}.btn{display:inline-block;position:relative;overflow:hidden;padding:.875rem 1.25rem;border-radius:.5rem;color:#0b1220;background-color:var(--color-accent);font-weight:700}.btn__background{position:absolute;inset:0;background:#fff3;transform:translate(-100%);transition:transform .5s}.btn__text{position:relative;display:block;height:28px;overflow:hidden}.btn__default,.btn__hover{display:block;transition:transform .5s}.btn__hover{transform:translateY(28px)}.btn:hover .btn__default,.btn:hover .btn__hover{transform:translateY(-28px)}.btn:hover .btn__background{transform:translate(0)}.section-title{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 var(--space-8);font-weight:800}.grid{display:grid;gap:var(--space-6)}.grid-2{grid-template-columns:1fr}@media (min-width: 768px){.grid-2{grid-template-columns:repeat(2,1fr)}}.grid-4{grid-template-columns:1fr}@media (min-width: 768px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.grid-4{grid-template-columns:repeat(4,1fr)}}.grid-3{grid-template-columns:1fr}@media (min-width: 768px){.grid-3{grid-template-columns:repeat(3,1fr)}}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-6)}.work-card{background:var(--color-secondary);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.work-card .work-media{background:transparent}.work-card img{width:100%;height:16rem;object-fit:cover;display:block}.work-card.work-card--img-dark .work-media{background:#0b0b0b}.work-card .body{padding:var(--space-6);background:inherit}#services .grid-4>.card{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}#services.in-view .grid-4>.card{opacity:1;transform:none}#services.in-view .grid-4>.card:nth-child(1){transition-delay:0ms}#services.in-view .grid-4>.card:nth-child(2){transition-delay:.1s}#services.in-view .grid-4>.card:nth-child(3){transition-delay:.2s}#services.in-view .grid-4>.card:nth-child(4){transition-delay:.3s}#services:not(.in-view) .grid-4>.card{opacity:0;transform:translateY(16px)}body.scrolling-up #services:not(.in-view) .grid-4>.card:nth-child(4){transition-delay:0ms}body.scrolling-up #services:not(.in-view) .grid-4>.card:nth-child(3){transition-delay:.1s}body.scrolling-up #services:not(.in-view) .grid-4>.card:nth-child(2){transition-delay:.2s}body.scrolling-up #services:not(.in-view) .grid-4>.card:nth-child(1){transition-delay:.3s}body.scrolling-down #services:not(.in-view) .grid-4>.card:nth-child(1){transition-delay:0ms}body.scrolling-down #services:not(.in-view) .grid-4>.card:nth-child(2){transition-delay:.1s}body.scrolling-down #services:not(.in-view) .grid-4>.card:nth-child(3){transition-delay:.2s}body.scrolling-down #services:not(.in-view) .grid-4>.card:nth-child(4){transition-delay:.3s}.form-grid{display:grid;gap:var(--space-6)}@media (min-width: 768px){.form-grid{grid-template-columns:1fr 1fr}}label{display:block;font-size:.875rem;color:var(--color-muted)}input,textarea{width:100%;padding:var(--space-3) var(--space-4);background:#fff;border:1px solid #cbd5e1;border-radius:8px;margin-top:var(--space-2);color:var(--text-dark)}textarea{resize:vertical}.site-footer{border-top:1px solid var(--border);padding-block:var(--space-8);background:var(--color-primary);color:var(--color-muted)}@keyframes fadeUp{to{opacity:1;transform:none}}@keyframes tileIn{to{opacity:1;transform:none}}.nav_menu_link{position:relative;display:inline-block;line-height:1.6;padding-bottom:4px}.nav_menu_link:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:#fff;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.nav_menu_link:hover:after{transform:scaleX(1)}.marquee-outer{width:100%;overflow:hidden}.marquee-track{display:flex;gap:3rem;animation:marquee 40s linear infinite;white-space:nowrap;align-items:center}.marquee-segment{display:flex;align-items:center}.marquee-logo{width:96px;height:96px;object-fit:contain;margin-inline:2rem;opacity:.95;filter:saturate(105%)}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}button{all:unset}.scramble-accent{color:var(--color-accent);font-weight:800}
