@font-face{
    font-family:'Inter';
    font-style:normal;
    font-weight:400 800;
    font-display:swap;
    src:url('../fonts/inter-latin-ext.woff2') format('woff2');
    unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
    font-family:'Inter';
    font-style:normal;
    font-weight:400 800;
    font-display:swap;
    src:url('../fonts/inter-latin.woff2') format('woff2');
    unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
    font-family:'Space Grotesk';
    font-style:normal;
    font-weight:500 700;
    font-display:swap;
    src:url('../fonts/space-grotesk-latin-ext.woff2') format('woff2');
    unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
    font-family:'Space Grotesk';
    font-style:normal;
    font-weight:500 700;
    font-display:swap;
    src:url('../fonts/space-grotesk-latin.woff2') format('woff2');
    unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root{
    --bg:#020812;
    --bg-alt:#071622;
    --surface:#ffffff;
    --surface-alt:#eff8f7;
    --text:#071521;
    --text-soft:#465d68;
    --text-on-dark:#e8f7f5;
    --border:rgba(8,113,123,.12);
    --primary:#08717b;
    --primary-2:#64f5dc;
    --accent:#2563eb;
    --radius:14px;
    --radius-small:9px;
    --shadow:0 24px 70px rgba(2,8,18,.16);
    --shadow-soft:0 12px 38px rgba(2,8,18,.09);
    --container:1200px;
    --header-height:76px;
    --section-space:clamp(72px,8vw,112px);
    --transition:.28s ease;
}
*,
*::before,
*::after{box-sizing:border-box;}
html{overflow-x:clip;scroll-behavior:smooth;}
body{
    margin:0;
    font-family:'Inter',system-ui,sans-serif;
    font-size:16px;
    line-height:1.65;
    color:var(--text);
    background:
        radial-gradient(circle at top left, rgba(100,245,220,.10), transparent 24%),
        radial-gradient(circle at top right, rgba(37,99,235,.08), transparent 20%),
        #f7fbfb;
    overflow-x:clip;
}
::selection{background:rgba(100,245,220,.48);color:var(--text);}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
a:focus-visible,
button:focus-visible{
    outline:3px solid var(--primary);
    outline-offset:3px;
}
p{margin:0 0 1em;}
h1,h2,h3,h4,h5,h6{
    margin:0 0 .55em;
    font-family:'Space Grotesk','Inter',sans-serif;
    line-height:1.05;
    letter-spacing:-.04em;
    text-wrap:balance;
}
h1{font-size:clamp(2.8rem,6vw,5.6rem);}
h2{font-size:clamp(2rem,4vw,3.6rem);}
h3{font-size:clamp(1.2rem,2.2vw,1.6rem);}
ul{margin:0;padding:0;}
.container{width:min(calc(100% - 40px),var(--container));margin:0 auto;}
.site-main{overflow:hidden;}
body.menu-open{
    position:fixed;
    top:var(--menu-scroll-offset,0);
    right:0;
    left:0;
    width:100%;
    overflow:hidden;
    padding-right:var(--scrollbar-compensation,0);
}
html.menu-open{overflow:hidden;overscroll-behavior:none;}
html.menu-scroll-restoring{scroll-behavior:auto !important;}
.screen-reader-text{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}
.skip-link:focus{
    position:fixed;
    top:12px;
    left:12px;
    z-index:2000;
    width:auto;
    height:auto;
    padding:12px 18px;
    margin:0;
    overflow:visible;
    clip:auto;
    white-space:normal;
    border-radius:10px;
    background:#fff;
    color:var(--text);
    box-shadow:var(--shadow-soft);
}
.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-family:'Inter',system-ui,sans-serif;
    font-size:.84rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:var(--primary);
    margin-bottom:18px;
}
.eyebrow::before{
    content:"";
    width:30px;
    height:1px;
    background:currentColor;
    opacity:.55;
}
.eyebrow::after{
    content:"";
    width:5px;
    height:5px;
    border-radius:50%;
    background:currentColor;
    box-shadow:0 0 12px currentColor;
    animation:signal-pulse 3.2s ease-in-out infinite;
}
.section-heading{max-width:700px;margin-bottom:34px;}
.section-heading-split{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:24px;
}
.reveal{
    opacity:1;
    transform:none;
}
.js .reveal{
    opacity:0;
    transform:translateY(32px) scale(.985);
    transition:opacity .72s ease,transform .72s cubic-bezier(.22,1,.36,1);
}
.js .reveal.visible{
    opacity:1;
    transform:translateY(0) scale(1);
}
.button{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 24px;
    overflow:hidden;
    border-radius:10px 3px 10px 3px;
    border:1px solid transparent;
    background:linear-gradient(135deg,var(--primary),var(--accent));
    color:#fff;
    font-weight:700;
    box-shadow:0 16px 30px rgba(8,113,123,.26);
    transition:transform var(--transition), box-shadow var(--transition), background var(--transition), border-color var(--transition);
}
.button:not(.button-secondary)::after{
    content:"";
    position:absolute;
    top:-50%;
    bottom:-50%;
    left:-32%;
    width:22%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
    transform:skewX(-18deg);
    transition:transform .65s cubic-bezier(.22,1,.36,1);
    pointer-events:none;
}
.button:not(.button-secondary):hover::after{transform:translateX(700%) skewX(-18deg);}
.button:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 32px rgba(8,113,123,.32);
}
.button-small{min-height:44px;padding:0 18px;font-size:.95rem;}
.button-secondary{
    background:rgba(255,255,255,.7);
    border-color:rgba(8,113,123,.20);
    color:var(--text);
    box-shadow:none;
    backdrop-filter:blur(10px);
}
.button-secondary.light{
    background:rgba(255,255,255,.14);
    border-color:rgba(255,255,255,.28);
    color:#fff;
}
.text-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-weight:700;
    color:var(--primary);
}
.text-link::after{
    content:"→";
    transform:translateX(0);
    transition:transform var(--transition);
}
.text-link:hover::after{transform:translateX(4px);}
.site-header{
    --scroll-progress:0;
    position:sticky;
    top:0;
    z-index:1000;
    width:100%;
    padding:18px 0;
    background:rgba(247,251,251,.90);
    border-bottom:1px solid rgba(8,113,123,.08);
    backdrop-filter:blur(16px);
    transition:padding .24s ease,background .24s ease,box-shadow .24s ease;
}
.site-header::after{
    content:"";
    position:absolute;
    right:0;
    bottom:-1px;
    left:0;
    height:2px;
    background:linear-gradient(90deg,var(--primary),var(--primary-2),var(--accent));
    box-shadow:0 0 14px rgba(100,245,220,.62);
    transform:scaleX(var(--scroll-progress));
    transform-origin:left center;
    pointer-events:none;
}
.site-header.scrolled{
    padding:0;
    background:rgba(247,251,251,.96);
    box-shadow:0 14px 42px rgba(2,8,18,.10);
}
.header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    min-height:var(--header-height);
}
.brand-link{display:inline-flex;align-items:center;}
.brand-logo{display:block;width:clamp(176px,17vw,210px);max-width:48vw;height:auto;}
.primary-nav{display:flex;align-items:center;gap:24px;}
.menu{
    display:flex;
    align-items:center;
    gap:8px;
    list-style:none;
}
.menu li a{
    display:inline-flex;
    align-items:center;
    min-height:42px;
    padding:0 14px;
    border-radius:8px 3px 8px 3px;
    font-weight:600;
    color:var(--text-soft);
    transition:color var(--transition), background var(--transition);
}
.menu li a:hover,
.menu li.current-menu-item a{
    color:var(--text);
    background:rgba(8,113,123,.09);
}
.primary-nav .menu > li:last-child > a{
    min-height:44px;
    padding:0 19px;
    background:linear-gradient(135deg,var(--primary),var(--accent));
    color:#fff;
    box-shadow:0 14px 28px rgba(8,113,123,.22);
    border-radius:10px 3px 10px 3px;
}
.primary-nav .menu > li:last-child > a:hover,
.primary-nav .menu > li:last-child.current-menu-item > a{
    background:linear-gradient(135deg,#075e68,#1d4ed8);
    color:#fff;
    transform:translateY(-1px);
}
.menu-toggle{
    display:none;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    padding:0;
    border:1px solid rgba(8,113,123,.16);
    border-radius:10px 3px 10px 3px;
    background:rgba(8,113,123,.07);
    box-shadow:none;
    transition:background var(--transition),border-color var(--transition),transform var(--transition);
}
.menu-toggle:hover{background:rgba(8,113,123,.12);}
.menu-toggle-icon{
    position:relative;
    display:block;
    width:22px;
    height:16px;
}
.menu-toggle-icon span{
    position:absolute;
    left:0;
    display:block;
    width:22px;
    height:2px;
    margin:0;
    border-radius:2px;
    background:var(--text);
    transform-origin:center;
    transition:top .28s ease,opacity .2s ease,transform .28s ease,background .28s ease;
}
.menu-toggle-icon span:nth-child(1){top:0;}
.menu-toggle-icon span:nth-child(2){top:7px;}
.menu-toggle-icon span:nth-child(3){top:14px;}
.menu-toggle[aria-expanded="true"]{
    background:rgba(255,255,255,.08);
    border-color:rgba(100,245,220,.24);
}
.menu-toggle[aria-expanded="true"] .menu-toggle-icon span{background:#fff;}
.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(1){top:7px;transform:rotate(45deg);}
.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(2){opacity:0;transform:scaleX(.2);}
.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(3){top:7px;transform:rotate(-45deg);}
.mobile-menu-title{display:none;}
.hero{
    position:relative;
    padding:calc(var(--section-space) + 14px) 0 var(--section-space);
}
.hero::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
}
.hero-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    align-items:center;
    gap:clamp(40px,6vw,86px);
}
.hero-content{position:relative;z-index:2;}
.hero-content h1{max-width:820px;}
.hero-text{
    max-width:680px;
    font-size:clamp(1.05rem,1.5vw,1.24rem);
    color:var(--text-soft);
    margin-bottom:28px;
}
.hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}
.hero-media{position:relative;}
.hero-split{
    overflow:hidden;
    color:#fff;
    background:
        radial-gradient(circle at 76% 22%, rgba(100,245,220,.12), transparent 24%),
        radial-gradient(circle at 18% 82%, rgba(37,99,235,.16), transparent 30%),
        linear-gradient(145deg,#020812 0%,#061624 58%,#0a2732 100%);
}
.hero-split::before{
    background-image:
        linear-gradient(rgba(100,245,220,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(100,245,220,.035) 1px, transparent 1px);
    background-size:48px 48px;
    -webkit-mask-image:linear-gradient(to bottom,transparent,#000 28%,#000 72%,transparent);
    mask-image:linear-gradient(to bottom, transparent, #000 28%, #000 72%, transparent);
    --field-step:48px;
    animation:field-drift 18s linear infinite;
}
.hero-split .eyebrow{color:var(--primary-2);}
.hero-split .hero-text{color:rgba(232,247,245,.76);}
.hero-split .button-secondary{
    background:rgba(255,255,255,.08);
    border-color:rgba(100,245,220,.24);
    color:#fff;
}
.hero-image,
.hero-placeholder{
    width:100%;
    aspect-ratio:1/1;
    border-radius:18px 3px 18px 3px;
    box-shadow:var(--shadow);
}
.hero-image{object-fit:cover;}
.hero-placeholder{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 74% 22%, rgba(100,245,220,.18), transparent 18%),
        radial-gradient(circle at 20% 80%, rgba(37,99,235,.18), transparent 28%),
        linear-gradient(155deg,#020812,#071b2a 62%,#0b3440);
    border:1px solid rgba(100,245,220,.18);
    box-shadow:0 30px 90px rgba(0,0,0,.42), inset 0 0 70px rgba(100,245,220,.05);
    transition:box-shadow .9s ease,border-color .9s ease;
}
.hero-placeholder::before{
    content:"";
    position:absolute;
    inset:7%;
    border-radius:50%;
    background:repeating-radial-gradient(circle at center,transparent 0 50px,rgba(100,245,220,.10) 51px 52px,transparent 53px 74px);
    animation:depth-breathe 8s ease-in-out infinite;
}
.hero-placeholder::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:radial-gradient(circle at center,rgba(200,255,247,.24),rgba(100,245,220,.10) 18%,rgba(37,99,235,.08) 38%,transparent 66%);
    opacity:0;
    transition:opacity 1s ease;
    pointer-events:none;
}
.hero-center-logo{
    position:absolute;
    top:50%;
    left:50%;
    z-index:2;
    width:min(70%,340px);
    height:auto;
    opacity:0;
    filter:invert(1) brightness(1.35) blur(10px) drop-shadow(0 0 24px rgba(100,245,220,.32));
    transform:translate(-50%,calc(-50% + 22px)) scale(.92);
    transition:opacity .9s ease .28s,filter 1.1s ease .2s,transform 1.1s cubic-bezier(.22,1,.36,1) .2s;
    pointer-events:none;
}
.hero-placeholder.is-signal-centered{
    border-color:rgba(100,245,220,.34);
    box-shadow:0 34px 100px rgba(0,0,0,.42),inset 0 0 110px rgba(100,245,220,.16),0 0 50px rgba(100,245,220,.10);
}
.hero-placeholder.is-signal-centered::after{opacity:1;}
.hero-placeholder.is-signal-centered .hero-center-logo{
    opacity:.9;
    filter:invert(1) brightness(1.45) blur(0) drop-shadow(0 0 20px rgba(100,245,220,.34));
    transform:translate(-50%,-50%) scale(1);
}
.hero-signal{
    --signal-duration:3200ms;
    --signal-x:76%;
    --signal-y:27%;
    position:absolute;
    top:var(--signal-y);
    left:var(--signal-x);
    z-index:3;
    width:16px;
    height:16px;
    padding:0;
    border:0;
    border-radius:50%;
    background:#c8fff7;
    box-shadow:0 0 18px rgba(200,255,247,.92),0 0 52px rgba(100,245,220,.62);
    transform:translate(-50%,-50%);
    appearance:none;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
    transition:top var(--signal-duration) cubic-bezier(.22,1,.36,1),left var(--signal-duration) cubic-bezier(.22,1,.36,1),transform .55s ease,box-shadow .55s ease,opacity .38s ease;
    pointer-events:none;
}
.hero-placeholder.is-signal-centered .hero-signal{
    opacity:0;
    box-shadow:0 0 24px rgba(255,255,255,.96),0 0 76px rgba(100,245,220,.78),0 0 130px rgba(37,99,235,.34);
    transform:translate(-50%,-50%) scale(.72);
}
.hero-placeholder.is-signal-centered .hero-signal::before{animation-duration:1.4s;}
.hero-signal::before{
    content:"";
    position:absolute;
    inset:-18px;
    border:1px solid rgba(100,245,220,.36);
    border-radius:50%;
    animation:signal-wave 2.8s ease-out infinite;
}
.glow{
    position:absolute;
    border-radius:999px;
    filter:blur(24px);
}
.glow-a{
    top:10%;
    left:6%;
    width:180px;
    height:180px;
    background:rgba(100,245,220,.28);
}
.glow-b{
    right:12%;
    bottom:12%;
    width:220px;
    height:220px;
    background:rgba(37,99,235,.24);
}
@keyframes depth-breathe{
    0%,100%{opacity:.48;transform:scale(.92);}
    50%{opacity:.9;transform:scale(1.04);}
}
@keyframes signal-wave{
    0%{opacity:.8;transform:scale(.3);}
    80%,100%{opacity:0;transform:scale(1.35);}
}
@keyframes signal-pulse{
    0%,100%{opacity:.72;transform:scale(.88);}
    50%{opacity:1;transform:scale(1.16);}
}
@keyframes mobile-signal-breathe{
    0%,100%{opacity:.78;box-shadow:0 0 16px rgba(200,255,247,.78),0 0 42px rgba(100,245,220,.46);}
    50%{opacity:1;box-shadow:0 0 22px rgba(200,255,247,.94),0 0 58px rgba(100,245,220,.62);}
}
@keyframes field-drift{
    to{background-position:var(--field-step) var(--field-step);}
}
.hero-background{
    min-height:78vh;
    display:flex;
    align-items:center;
    background-size:cover;
    background-position:center;
    color:#fff;
}
.hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(2,8,18,.58), rgba(2,8,18,.86));
}
.hero-background-inner,
.hero-color-inner{
    position:relative;
    z-index:2;
    max-width:760px;
}
.hero-background .eyebrow,
.hero-color .eyebrow{color:var(--primary-2);}
.hero-background .hero-text,
.hero-color .hero-text{color:rgba(255,255,255,.82);}
.hero-color{
    background:
        radial-gradient(circle at top right, rgba(100,245,220,.18), transparent 22%),
        radial-gradient(circle at bottom left, rgba(37,99,235,.24), transparent 30%),
        var(--hero-bg);
    color:#fff;
}
.services-section,
.statement-section,
.process-section,
.counters-section,
.logo-marquee-section,
.references-section,
.cta-section,
.references-archive-section,
.page-content-section,
.single-reference-section{
    padding:var(--section-space) 0;
}
.page-content-section.references-page-intro{padding-bottom:0;}
.references-page-intro + .references-archive-section{padding-top:clamp(36px,4vw,56px);}
.services-section{
    position:relative;
    background:linear-gradient(180deg,rgba(239,248,247,.78),rgba(247,251,251,.36));
    border-top:1px solid rgba(8,113,123,.07);
    border-bottom:1px solid rgba(8,113,123,.07);
}
.statement-section{
    position:relative;
    overflow:hidden;
    color:var(--text-on-dark);
    background:
        radial-gradient(circle at 82% 24%,rgba(100,245,220,.13),transparent 24%),
        radial-gradient(circle at 12% 86%,rgba(37,99,235,.16),transparent 30%),
        linear-gradient(145deg,#020812,#061824 68%,#092c36);
}
.statement-section::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:linear-gradient(rgba(100,245,220,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(100,245,220,.035) 1px,transparent 1px);
    background-size:52px 52px;
    -webkit-mask-image:linear-gradient(110deg,transparent,#000 45%,transparent);
    mask-image:linear-gradient(110deg,transparent,#000 45%,transparent);
    pointer-events:none;
}
.statement-inner{position:relative;z-index:1;}
.statement-section .eyebrow{color:var(--primary-2);}
.statement-section h2{
    max-width:1080px;
    margin:0;
    font-size:clamp(2.7rem,6.5vw,6.8rem);
    line-height:.98;
}
.statement-section h2 span,
.statement-section h2 strong{display:block;}
.statement-section h2 span{color:rgba(232,247,245,.58);font-weight:500;}
.statement-section h2 strong{
    margin-top:.16em;
    color:#fff;
    font-weight:700;
}
.process-section{position:relative;background:#f7fbfb;}
.process-layout{
    display:grid;
    grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
    gap:clamp(56px,9vw,140px);
    align-items:start;
}
.process-heading p{
    max-width:540px;
    color:var(--text-soft);
    font-size:1.05rem;
}
.process-steps{margin:0;list-style:none;border-bottom:1px solid var(--border);}
.process-step{
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    gap:24px;
    padding:34px 0 38px;
    border-top:1px solid var(--border);
}
.process-number{
    padding-top:5px;
    color:var(--primary);
    font-family:'Space Grotesk','Inter',sans-serif;
    font-size:.84rem;
    font-weight:700;
    letter-spacing:.14em;
}
.process-step h3{margin-bottom:10px;font-size:clamp(1.6rem,3vw,2.5rem);}
.process-step p{max-width:620px;margin:0;color:var(--text-soft);}
.counters-section{
    position:relative;
    overflow:hidden;
    color:var(--text-on-dark);
    background:
        radial-gradient(circle at 16% 20%,rgba(100,245,220,.13),transparent 24%),
        radial-gradient(circle at 84% 76%,rgba(37,99,235,.16),transparent 28%),
        var(--bg);
}
.counters-section::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(110deg,transparent 0 42%,rgba(100,245,220,.035) 42% 43%,transparent 43% 100%);
    pointer-events:none;
}
.logo-marquee-section{
    position:relative;
    overflow:hidden;
    padding:56px 0 48px;
    background:linear-gradient(90deg,rgba(100,245,220,.035),transparent 24%,transparent 76%,rgba(37,99,235,.035)),#f7fbfb;
    border-top:1px solid rgba(8,113,123,.08);
    border-bottom:1px solid rgba(8,113,123,.08);
}
.logo-marquee-heading{margin-bottom:40px;}
.logo-marquee-heading .eyebrow{margin-bottom:0;}
.logo-marquee{
    --logo-marquee-gap:clamp(20px,3vw,48px);
    --logo-marquee-half-gap:clamp(10px,1.5vw,24px);
    position:relative;
    width:100%;
    overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.logo-marquee-track{
    display:flex;
    gap:var(--logo-marquee-gap);
    width:max-content;
    animation:logo-marquee-scroll var(--marquee-duration,36s) linear infinite;
    will-change:transform;
}
.logo-marquee-group{
    display:flex;
    flex:0 0 auto;
    width:var(--logo-marquee-group-width,auto);
    align-items:center;
    justify-content:space-around;
    gap:var(--logo-marquee-gap);
    min-width:100vw;
}
.logo-marquee-item{
    display:grid;
    flex:0 0 clamp(140px,15vw,200px);
    place-items:center;
    min-height:66px;
    padding:8px 22px;
}
.logo-marquee-link{
    display:grid;
    width:100%;
    min-height:44px;
    place-items:center;
    filter:grayscale(1) contrast(.78);
    opacity:.46;
    transform:scale(.96);
    transition:filter .35s ease,opacity .35s ease,transform .35s cubic-bezier(.22,1,.36,1);
}
.logo-marquee-link:hover,
.logo-marquee-link:focus-visible{
    filter:none;
    opacity:1;
    transform:scale(1.04);
}
.logo-marquee-image{
    width:auto;
    max-width:100%;
    height:auto;
    max-height:42px;
    object-fit:contain;
}
.logo-marquee:hover .logo-marquee-track,
.logo-marquee:focus-within .logo-marquee-track{animation-play-state:paused;}
@keyframes logo-marquee-scroll{
    to{transform:translateX(var(--logo-marquee-distance,calc(-50% - var(--logo-marquee-half-gap))));}
}
.services-grid,
.references-grid,
.packages-grid,
.content-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:24px;
}
.services-grid{grid-template-columns:minmax(0,55fr) minmax(0,45fr);}
.services-grid .service-card{grid-column:auto;}
.services-grid .service-card:last-child:nth-child(3){grid-column:1/-1;}
.services-grid .service-card:only-child{grid-column:1/-1;}
.content-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
.service-card,
.reference-card,
.package-card,
.counter-card,
.info-card,
.content-card{
    position:relative;
    padding:28px;
    border-radius:var(--radius);
    background:rgba(255,255,255,.92);
    border:1px solid var(--border);
    box-shadow:var(--shadow-soft);
    backdrop-filter:blur(12px);
    isolation:isolate;
}
.content-card{min-height:100%;}
.content-card h2{font-size:clamp(1.5rem,2.5vw,2.2rem);}
.content-meta{
    display:inline-flex;
    margin-bottom:12px;
    color:var(--text-soft);
    font-size:.9rem;
    font-weight:600;
}
.content-excerpt{color:var(--text-soft);}
.service-card,
.reference-card{
    min-height:100%;
    transition:translate var(--transition),box-shadow var(--transition),border-color var(--transition);
}
.service-card{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:clamp(24px,4vw,54px);
    min-height:300px;
    padding:clamp(28px,4vw,48px);
    border-radius:4px;
    box-shadow:none;
}
.service-card:last-child:nth-child(3){min-height:250px;}
.service-number{
    color:var(--primary);
    font-family:'Space Grotesk','Inter',sans-serif;
    font-size:.82rem;
    font-weight:700;
    letter-spacing:.16em;
}
.service-card-content{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    min-width:0;
}
.service-card-content h3{
    margin-bottom:16px;
    font-size:clamp(1.7rem,3vw,2.8rem);
}
.service-card-content p{max-width:620px;color:var(--text-soft);}
.service-card-content .text-link{margin-top:auto;padding-top:18px;}
.js .service-card.reveal,
.js .reference-card.reveal,
.js .package-card.reveal{
    transition:opacity .72s ease,transform .72s cubic-bezier(.22,1,.36,1),translate var(--transition),box-shadow var(--transition),border-color var(--transition);
}
.service-card:hover,
.service-card:focus-within,
.reference-card:hover,
.reference-card:focus-within{
    translate:0 -8px;
    box-shadow:var(--shadow);
    border-color:rgba(8,113,123,.24);
}
.service-card::after,
.reference-card::after,
.package-card::after,
.content-card::after{
    content:"";
    position:absolute;
    inset:-1px;
    z-index:2;
    border-radius:inherit;
    background:radial-gradient(240px circle at var(--pointer-x,50%) var(--pointer-y,50%),rgba(100,245,220,.16),transparent 68%);
    opacity:0;
    transition:opacity .25s ease;
    pointer-events:none;
}
.service-card:hover::after,
.service-card:focus-within::after,
.reference-card:hover::after,
.reference-card:focus-within::after,
.package-card:hover::after,
.package-card:focus-within::after,
.content-card:hover::after,
.content-card:focus-within::after{opacity:1;}
.service-card::before,
.package-card::before{
    content:"";
    position:absolute;
    top:0;
    right:28px;
    left:28px;
    height:2px;
    background:linear-gradient(90deg,transparent,var(--primary-2),transparent);
    opacity:.72;
    transform:scaleX(.35);
    transform-origin:center;
    transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .3s ease;
}
.service-card:hover::before,
.service-card:focus-within::before,
.package-card:hover::before,
.package-card:focus-within::before{opacity:1;transform:scaleX(1);}
.service-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:54px;
    height:54px;
    margin-bottom:18px;
    border-radius:11px 3px 11px 3px;
    background:linear-gradient(135deg,rgba(8,113,123,.12),rgba(100,245,220,.22));
    color:var(--primary);
    box-shadow:inset 0 0 0 1px rgba(8,113,123,.08);
}
.service-icon svg{width:26px;height:26px;}
.counters-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:24px;
}
.counter-card{
    text-align:center;
    padding:34px 22px;
    background:rgba(255,255,255,.055);
    border-color:rgba(100,245,220,.14);
    box-shadow:0 20px 50px rgba(0,0,0,.20);
}
.counter-card p{color:rgba(232,247,245,.70);}
.counter-value{
    display:flex;
    justify-content:center;
    align-items:flex-start;
    gap:2px;
    margin-bottom:8px;
    font-family:'Space Grotesk','Inter',sans-serif;
    line-height:1;
}
.counter-number{font-size:clamp(2.4rem,4vw,4rem);font-weight:700;color:#fff;}
.counter-suffix{font-size:clamp(1.5rem,2vw,2.2rem);font-weight:700;color:var(--primary-2);}
.reference-card{padding:0;overflow:hidden;border-radius:4px;}
.reference-link{display:block;height:100%;}
.reference-image-wrap{
    overflow:hidden;
}
.reference-image{
    display:block;
    width:100%;
    height:auto;
}
.reference-image-placeholder{
    aspect-ratio:1200/630;
    background:
        radial-gradient(circle at 70% 28%,rgba(100,245,220,.20),transparent 24%),
        linear-gradient(145deg,rgba(8,113,123,.34),rgba(37,99,235,.24));
}
.reference-content{padding:24px 24px 26px;}
.references-section{
    position:relative;
    background:
        radial-gradient(circle at 92% 10%,rgba(100,245,220,.08),transparent 18%),
        linear-gradient(180deg,#f7fbfb,#edf7f6);
}
.reference-client{
    display:inline-flex;
    margin-bottom:10px;
    color:var(--primary);
    font-weight:700;
    font-size:.9rem;
}
.tag-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:16px;
}
.tag{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:0 12px;
    border-radius:999px;
    background:rgba(8,113,123,.10);
    color:#075e68;
    font-size:.88rem;
    font-weight:600;
}
.package-card{
    display:flex;
    flex-direction:column;
    gap:18px;
    overflow:hidden;
    border-radius:4px;
    box-shadow:none;
    transition:translate var(--transition),box-shadow var(--transition),border-color var(--transition);
}
.package-card:hover,
.package-card:focus-within{
    translate:0 -8px;
    border-color:rgba(8,113,123,.24);
    box-shadow:var(--shadow);
}
.package-card-top{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:18px;
}
.package-card-top h2{
    margin-bottom:0;
    font-size:clamp(1.9rem,3vw,2.8rem);
    overflow-wrap:anywhere;
}
.package-badge{
    display:inline-flex;
    align-items:center;
    align-self:flex-end;
    order:-1;
    min-height:40px;
    max-width:100%;
    padding:0 14px;
    border-radius:999px;
    background:linear-gradient(135deg,rgba(8,113,123,.12),rgba(100,245,220,.22));
    color:var(--text);
    font-weight:700;
    overflow-wrap:anywhere;
    text-align:center;
}
.package-features{
    list-style:none;
    display:grid;
    gap:10px;
}
.package-features li{
    position:relative;
    padding-left:22px;
    color:var(--text-soft);
}
.package-features li::before{
    content:"";
    position:absolute;
    top:.72em;
    left:0;
    width:10px;
    height:10px;
    border-radius:50%;
    background:linear-gradient(135deg, var(--primary), var(--accent));
}
.cta-card{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1.2fr) auto;
    align-items:center;
    gap:24px;
    padding:40px;
    overflow:hidden;
    border-radius:18px 4px 18px 4px;
    color:#fff;
    background:
        radial-gradient(circle at top right,rgba(100,245,220,.22),transparent 22%),
        radial-gradient(circle at bottom left,rgba(37,99,235,.20),transparent 28%),
        linear-gradient(135deg,#020812,#08202d 58%,#0b3b45);
    box-shadow:var(--shadow);
    border:1px solid rgba(100,245,220,.16);
    isolation:isolate;
}
.cta-card::before{
    content:"";
    position:absolute;
    top:-70%;
    left:-38%;
    width:34%;
    height:240%;
    z-index:0;
    background:linear-gradient(90deg,transparent,rgba(100,245,220,.12),transparent);
    transform:rotate(18deg);
    animation:cta-current 8s ease-in-out infinite;
    pointer-events:none;
}
.cta-card > *{position:relative;z-index:1;}
@keyframes cta-current{
    0%,18%{transform:translateX(0) rotate(18deg);opacity:0;}
    42%,62%{opacity:1;}
    82%,100%{transform:translateX(440%) rotate(18deg);opacity:0;}
}
.page-hero{
    position:relative;
    overflow:hidden;
    padding:clamp(68px,8vw,104px) 0 clamp(56px,6vw,82px);
    color:#fff;
    background:
        radial-gradient(circle at 78% 18%,rgba(100,245,220,.13),transparent 22%),
        radial-gradient(circle at 12% 88%,rgba(37,99,235,.16),transparent 26%),
        linear-gradient(145deg,#020812,#061824 68%,#0a2a34);
    border-bottom:1px solid rgba(100,245,220,.12);
}
.page-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:radial-gradient(rgba(100,245,220,.16) 1px,transparent 1px);
    background-size:34px 34px;
    -webkit-mask-image:linear-gradient(110deg,transparent,#000 48%,transparent);
    mask-image:linear-gradient(110deg,transparent,#000 48%,transparent);
    --field-step:34px;
    animation:field-drift 16s linear infinite;
    pointer-events:none;
}
.page-hero .container{position:relative;z-index:1;}
.page-hero .eyebrow{color:var(--primary-2);}
.page-hero h1{max-width:980px;}
.page-intro{
    max-width:720px;
    font-size:1.1rem;
    color:var(--text-soft);
}
.page-hero .page-intro{color:rgba(232,247,245,.74);}
.page-content > *:not(.packages-grid){max-width:760px;}
.page-content h2,
.page-content h3{margin-top:1.3em;}
.wpcf7{width:100%;}
.contact-form{
    position:relative;
    display:grid;
    gap:22px;
    margin-top:32px;
    padding:clamp(26px,4vw,42px);
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:4px;
    background:radial-gradient(circle at 100% 0,rgba(100,245,220,.10),transparent 25%),rgba(255,255,255,.94);
    box-shadow:var(--shadow-soft);
    color-scheme:light;
}
.contact-form::before{
    content:"";
    position:absolute;
    top:0;
    right:clamp(26px,4vw,42px);
    left:clamp(26px,4vw,42px);
    height:2px;
    background:linear-gradient(90deg,transparent,var(--primary-2),transparent);
    opacity:.78;
}
.contact-form__row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}
.contact-form__field{display:grid;gap:8px;min-width:0;}
.contact-form__field label{
    color:var(--text);
    font-size:.92rem;
    font-weight:700;
    line-height:1.3;
    transition:color var(--transition);
}
.contact-form__field:focus-within label{color:var(--primary);}
.contact-form .optional{color:var(--text-soft);font-size:.82rem;font-weight:500;}
.contact-form .wpcf7-form-control-wrap{display:block;}
.contact-form input:not([type="submit"]),
.contact-form textarea,
.contact-form select{
    display:block;
    width:100%;
    min-width:0;
    min-height:56px;
    padding:14px 16px;
    border:1px solid rgba(8,113,123,.18);
    border-radius:4px;
    outline:0;
    background:rgba(247,251,251,.92);
    color:var(--text);
    font:inherit;
    line-height:1.45;
    box-shadow:inset 0 1px 2px rgba(2,8,18,.025);
    transition:border-color var(--transition),background var(--transition),box-shadow var(--transition);
}
.contact-form textarea{min-height:190px;resize:vertical;}
.contact-form input:not([type="submit"]):hover,
.contact-form textarea:hover,
.contact-form select:hover{border-color:rgba(8,113,123,.32);}
.contact-form input:not([type="submit"]):focus,
.contact-form textarea:focus,
.contact-form select:focus{
    border-color:var(--primary);
    background:#fff;
    box-shadow:0 0 0 4px rgba(8,113,123,.10),inset 0 1px 2px rgba(2,8,18,.025);
}
.contact-form input.wpcf7-not-valid,
.contact-form textarea.wpcf7-not-valid,
.contact-form select.wpcf7-not-valid{border-color:#b42318;box-shadow:0 0 0 3px rgba(180,35,24,.08);}
.contact-form .wpcf7-not-valid-tip{margin-top:7px;color:#a51d14;font-size:.85rem;font-weight:600;}
.contact-form__submit{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
    padding-top:2px;
}
.contact-form input[type="submit"]{
    min-height:52px;
    padding:0 26px;
    border:1px solid transparent;
    border-radius:10px 3px 10px 3px;
    background:linear-gradient(135deg,var(--primary),var(--accent));
    color:#fff;
    font:inherit;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 16px 30px rgba(8,113,123,.26);
    transition:transform var(--transition),box-shadow var(--transition),filter var(--transition),opacity var(--transition);
}
.contact-form input[type="submit"]:hover{transform:translateY(-2px);box-shadow:0 20px 38px rgba(8,113,123,.32);filter:saturate(1.08);}
.contact-form input[type="submit"]:focus-visible{outline:3px solid var(--primary);outline-offset:3px;}
.contact-form input[type="submit"]:disabled{cursor:wait;opacity:.64;transform:none;}
.contact-form .wpcf7-spinner{margin:0;background-color:var(--primary);}
.wpcf7 .wpcf7-form .wpcf7-response-output{
    margin:18px 0 0;
    padding:13px 16px;
    border:1px solid var(--border);
    border-radius:4px;
    background:rgba(255,255,255,.92);
    color:var(--text);
    font-size:.92rem;
    font-weight:600;
}
.wpcf7 .wpcf7-form.sent .wpcf7-response-output{border-color:rgba(8,113,123,.34);background:rgba(100,245,220,.10);}
.wpcf7 .wpcf7-form.invalid .wpcf7-response-output,
.wpcf7 .wpcf7-form.unaccepted .wpcf7-response-output,
.wpcf7 .wpcf7-form.payment-required .wpcf7-response-output{border-color:rgba(180,35,24,.34);background:rgba(180,35,24,.06);}
.wpcf7 .wpcf7-form.failed .wpcf7-response-output,
.wpcf7 .wpcf7-form.aborted .wpcf7-response-output,
.wpcf7 .wpcf7-form.spam .wpcf7-response-output{border-color:rgba(180,83,9,.36);background:rgba(245,158,11,.08);}
.single-reference-grid{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
    grid-template-areas:"content sidebar";
    gap:clamp(40px,7vw,96px);
    align-items:start;
}
.single-reference-section{padding-top:clamp(40px,5vw,72px);}
.single-reference-media{margin-bottom:clamp(48px,7vw,84px);}
.single-reference-image{
    padding:0 8px 8px;
    overflow:hidden;
    border:1px solid rgba(100,245,220,.18);
    border-radius:4px;
    background:linear-gradient(145deg,#020812,#071b2a 68%,#0a303a);
    box-shadow:var(--shadow);
}
.single-reference-media:focus-visible,
.single-reference-screen:focus-visible{outline:3px solid var(--primary);outline-offset:4px;}
.reference-browser-bar{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 76px;
}
.reference-browser-dots{
    position:absolute;
    left:12px;
    display:flex;
    align-items:center;
    gap:7px;
}
.reference-browser-dots i{
    display:block;
    width:8px;
    height:8px;
    border-radius:50%;
    background:rgba(232,247,245,.28);
    box-shadow:0 0 10px rgba(100,245,220,.08);
}
.reference-browser-dots i:nth-child(2){background:rgba(100,245,220,.42);}
.reference-browser-dots i:nth-child(3){background:rgba(37,99,235,.48);}
.reference-browser-address{
    display:block;
    width:min(52%,440px);
    padding:6px 14px;
    overflow:hidden;
    border:1px solid rgba(100,245,220,.10);
    border-radius:3px;
    background:rgba(255,255,255,.05);
    color:rgba(232,247,245,.58);
    font-size:.72rem;
    font-weight:600;
    letter-spacing:.02em;
    line-height:1.2;
    text-align:center;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.reference-carousel-controls{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    margin-top:12px;
}
.reference-carousel-controls button{
    display:inline-grid;
    width:34px;
    height:34px;
    padding:0;
    place-items:center;
    border:1px solid var(--border);
    border-radius:3px;
    background:rgba(255,255,255,.72);
    color:var(--text-soft);
    font:inherit;
    line-height:1;
    cursor:pointer;
    transition:background var(--transition),border-color var(--transition),color var(--transition);
}
.reference-carousel-controls button:hover{border-color:rgba(8,113,123,.28);background:#fff;color:var(--primary);}
.reference-carousel-controls > span{min-width:42px;color:var(--text-soft);font-size:.74rem;font-weight:700;text-align:center;}
.single-reference-screen{
    position:relative;
    aspect-ratio:1200/630;
    overflow:hidden;
    border-radius:2px;
    background:#fff;
    transition:opacity .16s ease,transform .16s ease;
}
.single-reference-screen.is-changing{opacity:.22;transform:scale(.997);}
.single-reference-slide[hidden]{display:none;}
.single-reference-slide{
    height:100%;
    overflow:hidden;
}
.single-reference-slide.is-scrollable{
    overflow-y:auto;
    scrollbar-width:none;
}
.single-reference-slide.is-scrollable::-webkit-scrollbar{display:none;}
.reference-scrollbar{
    position:absolute;
    z-index:2;
    top:5px;
    right:2px;
    bottom:5px;
    width:10px;
    opacity:.5;
    cursor:pointer;
    transition:opacity var(--transition);
}
.reference-scrollbar[hidden]{display:none;}
.single-reference-screen:hover .reference-scrollbar,
.reference-scrollbar.is-dragging{opacity:.92;}
.reference-scrollbar-thumb{
    position:absolute;
    top:0;
    right:2px;
    display:block;
    width:3px;
    min-height:34px;
    border-radius:999px;
    background:rgba(6,83,91,.68);
    box-shadow:0 1px 5px rgba(2,8,18,.12);
    cursor:grab;
    transition:width var(--transition),background var(--transition);
    touch-action:none;
}
.reference-scrollbar-thumb:hover,
.reference-scrollbar.is-dragging .reference-scrollbar-thumb{width:5px;background:rgba(5,70,78,.88);cursor:grabbing;}
.single-reference-slide-image{
    display:block;
    width:100%;
    height:auto;
}
.single-reference-content{grid-area:content;min-width:0;}
.single-reference-body{max-width:760px;}
.single-reference-body > :first-child{margin-top:0;}
.single-reference-body > :last-child{margin-bottom:0;}
.single-reference-body h2,
.single-reference-body h3{margin-top:1.35em;}
.single-reference-body p,
.single-reference-body li{color:var(--text-soft);}
.single-reference-body img{border-radius:4px;}
.single-reference-sidebar{
    grid-area:sidebar;
}
.single-reference-sidebar .info-card{padding:clamp(26px,3vw,34px);border-radius:4px;}
.single-reference-sidebar h2{margin-bottom:24px;font-size:clamp(1.7rem,2.6vw,2.35rem);}
.single-reference-sidebar h3{margin-top:28px;font-size:1.05rem;}
.info-list{
    list-style:none;
    display:grid;
    gap:16px;
    margin-bottom:24px;
}
.info-list li{
    display:grid;
    gap:4px;
}
.info-list strong{
    font-size:.82rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--text-soft);
}
.info-list span,
.info-list a{font-weight:600;}
.info-list a{color:var(--primary);}
.reference-navigation{
    margin-top:clamp(64px,9vw,112px);
    padding-top:32px;
    border-top:1px solid var(--border);
}
.reference-navigation-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-bottom:24px;
}
.reference-navigation-heading .eyebrow{margin-bottom:0;}
.reference-navigation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.reference-navigation-link{
    position:relative;
    display:flex;
    min-height:150px;
    flex-direction:column;
    justify-content:center;
    padding:28px;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:4px;
    background:rgba(255,255,255,.92);
    box-shadow:var(--shadow-soft);
    transition:translate var(--transition),border-color var(--transition),box-shadow var(--transition);
}
.reference-navigation-link:hover,
.reference-navigation-link:focus-visible{translate:0 -6px;border-color:rgba(8,113,123,.24);box-shadow:var(--shadow);}
.reference-navigation-link span{
    margin-bottom:10px;
    color:var(--primary);
    font-size:.8rem;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.reference-navigation-link strong{
    font-family:'Space Grotesk','Inter',sans-serif;
    font-size:clamp(1.25rem,2.2vw,1.8rem);
    line-height:1.1;
}
.pagination{
    margin-top:32px;
}
.pagination .nav-links{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
.pagination .page-numbers{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
    min-height:42px;
    padding:0 12px;
    border-radius:9px 3px 9px 3px;
    background:#fff;
    border:1px solid var(--border);
    box-shadow:var(--shadow-soft);
}
.site-footer{
    padding:64px 0 0;
    color:rgba(255,255,255,.82);
    background:
        radial-gradient(circle at top left,rgba(100,245,220,.14),transparent 24%),
        radial-gradient(circle at bottom right,rgba(37,99,235,.16),transparent 28%),
        var(--bg);
    border-top:1px solid rgba(100,245,220,.12);
}
.footer-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:40px;
}
.site-footer h3,
.site-footer h4{color:#fff;}
.footer-menu,
.footer-contact{
    list-style:none;
    display:grid;
    gap:10px;
}
.footer-menu a,
.footer-contact a{transition:color var(--transition);}
.footer-menu a:hover,
.footer-contact a:hover{color:var(--primary-2);}
.footer-bottom{
    margin-top:28px;
    padding:18px 0 30px;
    border-top:1px solid rgba(255,255,255,.10);
}
@media (max-width:1024px){
    .hero-grid,
    .single-reference-grid,
    .cta-card,
    .process-layout{
        grid-template-columns:1fr;
    }
    .references-grid,
    .packages-grid,
    .content-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
    .services-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .services-grid .service-card{grid-column:auto;}
    .services-grid .service-card:last-child:nth-child(odd){grid-column:1/-1;}
    .process-layout{gap:52px;}
    .process-heading{position:static;max-width:720px;}
    .single-reference-grid{
        grid-template-areas:"sidebar" "content";
        gap:40px;
    }
    .section-heading-split{align-items:flex-start;flex-direction:column;}
}
@media (max-width:820px){
    .services-grid{grid-template-columns:1fr;}
    .services-grid .service-card,
    .services-grid .service-card:first-child,
    .services-grid .service-card:nth-child(2),
    .services-grid .service-card:last-child:nth-child(3),
    .services-grid .service-card:last-child:nth-child(odd),
    .services-grid .service-card:only-child{grid-column:1/-1;}
    .service-card{
        grid-template-columns:1fr;
        gap:18px;
        min-height:0;
    }
    .service-number{margin-bottom:4px;}
    .site-header{
        padding:14px 0;
        background:rgba(247,251,251,.98);
        backdrop-filter:none;
    }
    body.menu-open .site-header{
        position:fixed;
        right:0;
        left:0;
    }
    .menu-toggle{display:inline-flex;z-index:1002;}
    body::before{
        content:"";
        position:fixed;
        inset:0;
        z-index:999;
        background:rgba(2,8,18,.62);
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transition:opacity .3s ease,visibility 0s linear .3s;
    }
    body.menu-open::before{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transition-delay:0s;
    }
    .primary-nav{
        position:fixed;
        top:0;
        right:0;
        bottom:0;
        left:auto;
        z-index:1001;
        width:min(88vw,390px);
        height:100vh;
        height:100dvh;
        flex-direction:column;
        align-items:stretch;
        gap:0;
        padding:max(24px,env(safe-area-inset-top)) 28px max(36px,env(safe-area-inset-bottom));
        border-left:1px solid rgba(100,245,220,.16);
        border-radius:0;
        color:#fff;
        background:
            radial-gradient(circle at 92% 8%,rgba(100,245,220,.16),transparent 22%),
            radial-gradient(circle at 12% 88%,rgba(37,99,235,.18),transparent 28%),
            linear-gradient(165deg,#020812,#071a27 62%,#0a2e38);
        box-shadow:-28px 0 70px rgba(0,0,0,.34);
        opacity:0;
        visibility:hidden;
        transform:translate3d(100%,0,0);
        transition:opacity .32s ease,visibility 0s linear .42s,transform .42s cubic-bezier(.22,1,.36,1);
        overflow-y:auto;
        overflow-x:hidden;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:thin;
        scrollbar-color:rgba(100,245,220,.36) transparent;
        backface-visibility:hidden;
        will-change:transform;
    }
    .primary-nav::-webkit-scrollbar{width:6px;}
    .primary-nav::-webkit-scrollbar-track{background:transparent;}
    .primary-nav::-webkit-scrollbar-thumb{
        border-radius:999px;
        background:rgba(100,245,220,.32);
    }
    .primary-nav.is-open{
        opacity:1;
        visibility:visible;
        transform:translate3d(0,0,0);
        transition-delay:0s;
    }
    .mobile-menu-title{
        display:flex;
        align-items:center;
        min-height:48px;
        margin-bottom:34px;
        color:var(--primary-2);
        font-family:'Space Grotesk','Inter',sans-serif;
        font-size:.82rem;
        font-weight:700;
        letter-spacing:.14em;
        text-transform:uppercase;
    }
    .menu{
        flex-direction:column;
        align-items:stretch;
        gap:5px;
        width:100%;
    }
    .primary-nav .menu li a{
        justify-content:flex-start;
        min-height:54px;
        padding:0 16px;
        border-radius:8px 3px 8px 3px;
        color:rgba(232,247,245,.76);
        font-size:1.05rem;
    }
    .primary-nav .menu li a:hover,
    .primary-nav .menu li.current-menu-item > a{
        color:#fff;
        background:rgba(100,245,220,.09);
    }
    .primary-nav .menu > li:last-child{margin-top:14px;}
    .primary-nav .menu > li:last-child > a{
        justify-content:center;
        width:100%;
        border-radius:10px 3px 10px 3px;
        color:#fff;
        background:linear-gradient(135deg,var(--primary),var(--accent));
        box-shadow:0 16px 36px rgba(0,0,0,.22);
    }
}
@media (max-width:680px){
    h1{font-size:clamp(2.3rem,11vw,4rem);}
    .container{width:min(calc(100% - 28px),var(--container));}
    .contact-form{gap:18px;margin-top:26px;padding:22px;}
    .contact-form::before{right:22px;left:22px;}
    .contact-form__row{grid-template-columns:1fr;gap:18px;}
    .single-reference-media{margin-bottom:40px;}
    .single-reference-image{padding:0 5px 5px;}
    .reference-browser-bar{min-height:40px;padding:0 54px;}
    .single-reference-image .reference-browser-dots{left:8px;gap:5px;}
    .single-reference-image .reference-browser-dots i{width:6px;height:6px;}
    .reference-browser-address{width:min(72%,320px);padding:5px 10px;font-size:.66rem;}
    .reference-carousel-controls{justify-content:flex-end;margin-top:10px;}
    .single-reference-grid{gap:32px;}
    .reference-navigation{margin-top:72px;padding-top:28px;}
    .reference-navigation-heading{align-items:flex-start;flex-direction:column;gap:14px;}
    .reference-navigation-grid{grid-template-columns:1fr;}
    .reference-navigation-link{min-height:128px;padding:22px;}
    .hero-placeholder{aspect-ratio:4/3;}
    .hero-split::before{animation-duration:36s;}
    .hero-placeholder::before{animation-duration:14s;}
    .hero-signal{
        --signal-x:72%;
        --signal-y:34%;
        width:44px;
        height:44px;
        background:transparent;
        box-shadow:none;
        cursor:pointer;
        pointer-events:auto;
    }
    .hero-signal::before{
        inset:4px;
        border-color:rgba(100,245,220,.20);
        animation-duration:7s;
    }
    .hero-signal::after{
        content:"";
        position:absolute;
        inset:14px;
        border-radius:50%;
        background:#c8fff7;
        animation:mobile-signal-breathe 7s ease-in-out infinite;
    }
    .hero-signal:focus,
    .hero-signal:focus-visible{outline:none;}
    .hero-signal:focus-visible::after{outline:2px solid var(--primary-2);outline-offset:4px;}
    .hero,
    .services-section,
    .statement-section,
    .process-section,
    .counters-section,
    .references-section,
    .cta-section,
    .references-archive-section,
    .page-content-section,
    .single-reference-section{padding:72px 0;}
    .services-grid,
    .references-grid,
    .packages-grid,
    .counters-grid,
    .content-grid{
        grid-template-columns:1fr;
    }
    .process-step{
        grid-template-columns:46px minmax(0,1fr);
        gap:14px;
        padding:28px 0 32px;
    }
    .logo-marquee{
        -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
        mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
    }
    .logo-marquee-item{
        flex-basis:clamp(128px,39vw,170px);
        min-height:60px;
        padding:8px 18px;
    }
    .logo-marquee-image{max-height:36px;}
    .service-card,
    .counter-card,
    .package-card,
    .info-card,
    .content-card{padding:22px;}
    .cta-card{padding:28px;}
}
@media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *,
    *::before,
    *::after{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        scroll-behavior:auto !important;
        transition-duration:.01ms !important;
    }
    .js .reveal{
        opacity:1;
        transform:none;
    }
    .logo-marquee{
        overflow-x:auto;
        -webkit-mask-image:none;
        mask-image:none;
        scrollbar-width:thin;
        scrollbar-color:rgba(8,113,123,.30) transparent;
    }
    .logo-marquee-track{animation:none;transform:none;}
    .logo-marquee-group[aria-hidden="true"]{display:none;}
}
