:root{
    --bg-0:#06080d; --bg-1:#0a0e16; --bg-2:#0f1622; --bg-elev:#131c2c;
    --ink-0:#e8ecf3; --ink-1:#aab3c2; --ink-2:#6b7587;
    --line:rgba(255,255,255,0.06); --line-strong:rgba(255,255,255,0.12);
    --brand:#2c5aa0; --brand-light:#4a7dc7; --brand-glow:rgba(74,125,199,0.35);
    --accent:#d8ab4e; --steel:#3a4250;
    --f-display:"Manrope",ui-sans-serif,system-ui;
    --f-body:"Manrope",ui-sans-serif,system-ui;
    --f-mono:"JetBrains Mono",ui-monospace,monospace;
    --container:1320px; --gutter:clamp(20px,4vw,56px);
    --ease:cubic-bezier(.65,.05,.36,1); --ease-out:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{ font-family:var(--f-body); background:var(--bg-0); color:var(--ink-0); line-height:1.56; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:hidden; }
::selection{ background:var(--brand); color:#fff; }
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }

.bg-grid{
    position:fixed; inset:0; z-index:0; pointer-events:none;
    background-image:
        linear-gradient(rgba(74,125,199,0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(74,125,199,0.045) 1px, transparent 1px);
    background-size:80px 80px;
    -webkit-mask-image:radial-gradient(ellipse at 50% 25%, #000 0%, transparent 75%);
    mask-image:radial-gradient(ellipse at 50% 25%, #000 0%, transparent 75%);
}
.bg-noise{
    position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.55; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.04 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

.loader{ position:fixed; inset:0; background:var(--bg-0); z-index:10000; display:grid; place-items:center; transition:opacity .6s var(--ease), visibility .6s; }
.loader.done{ opacity:0; visibility:hidden; }
.loader-gear{ width:64px; height:64px; margin:0 auto 20px; color:var(--brand-light); animation:spin 2.2s linear infinite; }
.loader-text{ font-family:var(--f-mono); font-size:11px; letter-spacing:.3em; color:var(--ink-2); text-transform:uppercase; text-align:center; }
@keyframes spin{ to{ transform:rotate(360deg); } }

.wrap{ position:relative; z-index:2; }
.container{ max-width:var(--container); margin:0 auto; padding:0 var(--gutter); }
section{ position:relative; padding:clamp(80px,12vh,140px) 0; }

/* NAV */
.nav{ position:fixed; top:0; left:0; right:0; z-index:100; padding:16px 0; transition:background .4s var(--ease), padding .4s var(--ease), border-color .4s; border-bottom:1px solid transparent; }
.nav.scrolled{ background:rgba(6,8,13,.78); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); padding:12px 0; border-bottom-color:var(--line); }
.nav-inner{ display:flex; align-items:center; justify-content:space-between; gap:22px; }
.logo-crop{ position:relative; display:block; overflow:hidden; }
.logo-crop img{ position:absolute; top:0; left:50%; width:100%; height:auto; max-width:none; transform:translate(-50%,-39%); filter:drop-shadow(0 8px 18px rgba(0,0,0,.5)); }
.nav-logo{ width:clamp(190px,19vw,250px); height:68px; flex:0 0 auto; transition:transform .3s var(--ease), filter .3s var(--ease); }
.nav-logo:hover{ transform:translateY(-1px); filter:brightness(1.08); }
.nav-menu{ display:flex; gap:4px; list-style:none; }
.nav-menu a{ display:inline-block; padding:10px 16px; font-size:13.5px; font-weight:500; color:var(--ink-1); position:relative; transition:color .25s; }
.nav-menu a::before{ content:attr(data-num); font-family:var(--f-mono); font-size:9px; color:var(--ink-2); margin-right:6px; vertical-align:4px; }
.nav-menu a:hover{ color:var(--ink-0); }
.nav-menu a:hover::after{ content:''; position:absolute; left:18px; right:18px; bottom:6px; height:1px; background:var(--brand-light); }
.nav-cta{ display:inline-flex; align-items:center; gap:10px; padding:11px 18px; border:1px solid var(--line-strong); border-radius:999px; font-size:13px; font-weight:600; color:var(--ink-0); transition:all .3s var(--ease); white-space:nowrap; }
.nav-cta::after{ content:''; width:6px; height:6px; background:var(--brand-light); border-radius:50%; box-shadow:0 0 8px var(--brand-glow); animation:pulse 2s infinite; }
.nav-cta:hover{ background:var(--brand); border-color:var(--brand); }
@keyframes pulse{ 0%,100%{ transform:scale(1); opacity:1; } 50%{ transform:scale(1.4); opacity:.5; } }
.nav-burger{ display:none; }

/* HERO */
.hero{ min-height:100vh; padding-top:140px; padding-bottom:60px; display:flex; align-items:center; position:relative; overflow:hidden; }
.hero-bg-gear{ position:absolute; right:-120px; top:50%; transform:translateY(-50%); width:720px; height:720px; color:rgba(74,125,199,0.07); pointer-events:none; }
.hero-bg-gear svg{ animation:spin 60s linear infinite; width:100%; height:100%; }
.hero-bg-gear-2{ position:absolute; right:280px; top:22%; width:280px; height:280px; color:rgba(74,125,199,0.05); pointer-events:none; }
.hero-bg-gear-2 svg{ animation:spin 40s linear infinite reverse; width:100%; height:100%; }
.hero-inner{ display:grid; grid-template-columns:1.4fr 1fr; gap:80px; align-items:center; position:relative; z-index:2; }
.hero-eyebrow{ display:inline-flex; align-items:center; gap:14px; font-family:var(--f-mono); font-size:11px; letter-spacing:.25em; color:var(--ink-2); text-transform:uppercase; margin-bottom:28px; }
.hero-eyebrow::before{ content:''; width:40px; height:1px; background:var(--brand-light); }
.hero-title{ font-family:var(--f-display); font-weight:800; font-size:96px; line-height:1.04; letter-spacing:0; margin-bottom:32px; }
.hero-title .line{ display:block; overflow:hidden; }
.hero-title .line span{ display:inline-block; transform:translateY(110%); animation:rise 1.1s var(--ease-out) forwards; }
.hero-title .line:nth-child(2) span{ animation-delay:.12s; }
.hero-title .line:nth-child(3) span{ animation-delay:.24s; }
.hero-title .accent{ color:var(--brand-light); font-style:normal; }
@keyframes shimmer{ to{ background-position:-200% 0; } }
@keyframes rise{ to{ transform:translateY(0); } }
.hero-sub{ max-width:580px; color:var(--ink-1); font-size:17px; font-weight:400; margin-bottom:44px; opacity:0; animation:fade 1s var(--ease-out) .5s forwards; }
@keyframes fade{ to{ opacity:1; } }
.hero-cta{ display:flex; gap:16px; flex-wrap:wrap; opacity:0; animation:fade 1s var(--ease-out) .7s forwards; }
.btn{ display:inline-flex; align-items:center; gap:12px; padding:16px 28px; border-radius:999px; font-size:14px; font-weight:700; transition:all .35s var(--ease); border:1px solid transparent; }
.btn-primary{ background:var(--brand); color:#fff; box-shadow:0 12px 40px -12px var(--brand-glow); }
.btn-primary:hover{ background:var(--brand-light); transform:translateY(-2px); box-shadow:0 16px 50px -10px var(--brand-glow); }
.btn-ghost{ border-color:var(--line-strong); color:var(--ink-0); }
.btn-ghost:hover{ background:rgba(255,255,255,.04); border-color:var(--brand-light); }
.btn .arrow{ display:inline-flex; transition:transform .3s var(--ease); }
.btn:hover .arrow{ transform:translateX(4px); }

.hero-card{ position:relative; padding:32px; background:linear-gradient(160deg, rgba(255,255,255,.025), rgba(255,255,255,.005)); border:1px solid var(--line-strong); border-radius:4px; backdrop-filter:blur(8px); opacity:0; animation:fade 1s var(--ease-out) .9s forwards; }
.hero-card::before{ content:''; position:absolute; top:-1px; left:-1px; width:28px; height:28px; border-top:2px solid var(--brand-light); border-left:2px solid var(--brand-light); }
.hero-card::after{ content:''; position:absolute; bottom:-1px; right:-1px; width:28px; height:28px; border-bottom:2px solid var(--brand-light); border-right:2px solid var(--brand-light); }
.hero-card-head{ display:flex; align-items:center; justify-content:space-between; font-family:var(--f-mono); font-size:11px; letter-spacing:.18em; color:var(--ink-2); text-transform:uppercase; padding-bottom:18px; margin-bottom:22px; border-bottom:1px dashed var(--line-strong); }
.hero-card-head .dot{ width:8px; height:8px; border-radius:50%; background:#58e08a; box-shadow:0 0 10px #58e08a; }
.hero-spec{ display:grid; grid-template-columns:1fr 1fr; gap:18px 24px; margin-bottom:26px; }
.hero-spec dt{ font-family:var(--f-mono); font-size:10px; color:var(--ink-2); text-transform:uppercase; letter-spacing:.16em; margin-bottom:4px; }
.hero-spec dd{ font-family:var(--f-display); font-weight:700; font-size:18px; color:var(--ink-0); }
.hero-card-foot{ display:flex; align-items:center; gap:12px; padding-top:18px; border-top:1px dashed var(--line-strong); font-family:var(--f-mono); font-size:11px; color:var(--ink-1); }
.hero-card-foot svg{ color:var(--brand-light); }

.scroll-cue{ position:absolute; left:var(--gutter); bottom:36px; display:flex; align-items:center; gap:12px; font-family:var(--f-mono); font-size:10px; letter-spacing:.25em; color:var(--ink-2); text-transform:uppercase; }
.scroll-cue .bar{ width:1px; height:32px; background:var(--line-strong); position:relative; overflow:hidden; }
.scroll-cue .bar::after{ content:''; position:absolute; top:-32px; left:0; right:0; height:16px; background:var(--brand-light); animation:scrollBar 2s var(--ease) infinite; }
@keyframes scrollBar{ 0%{ top:-16px; } 100%{ top:32px; } }

/* MARQUEE */
.marquee{ position:relative; padding:28px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden; background:linear-gradient(180deg, transparent, rgba(74,125,199,.025), transparent); }
.marquee-track{ display:flex; gap:64px; animation:marq 40s linear infinite; width:max-content; align-items:center; }
.marquee-item{ display:inline-flex; align-items:center; gap:64px; font-family:var(--f-display); font-weight:700; font-size:34px; color:var(--ink-2); white-space:nowrap; }
.marquee-item span.dot{ width:8px; height:8px; background:var(--brand-light); border-radius:50%; flex-shrink:0; }
.marquee-item em{ font-style:normal; color:var(--ink-0); }
@keyframes marq{ to{ transform:translateX(-50%); } }

/* SECTION HEADER - badge above title (stacked, not side-by-side) */
.sec-head{ display:flex; flex-direction:column; align-items:flex-start; gap:18px; margin-bottom:80px; }
.sec-num{ font-family:var(--f-mono); font-size:12px; letter-spacing:.22em; color:var(--brand-light); text-transform:uppercase; display:flex; align-items:center; gap:14px; }
.sec-num::before{ content:''; width:32px; height:1px; background:var(--brand-light); }
.sec-title{ font-family:var(--f-display); font-weight:800; font-size:62px; line-height:1.08; letter-spacing:0; margin-top:0; }
.sec-title em{ font-style:normal; color:var(--brand-light); }
.sec-lead{ color:var(--ink-1); font-size:17px; max-width:560px; }

/* SERVICES */
.services-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.service{ position:relative; background:var(--bg-0); padding:44px 36px 40px; overflow:hidden; transition:background .4s var(--ease); min-height:320px; }
.service::before{ content:''; position:absolute; inset:0; background:linear-gradient(140deg, rgba(74,125,199,.12), transparent 60%); opacity:0; transition:opacity .5s; }
.service:hover::before{ opacity:1; }
.service-no{ font-family:var(--f-mono); font-size:11px; color:var(--ink-2); letter-spacing:.2em; margin-bottom:28px; position:relative; z-index:1; }
.service-title{ font-family:var(--f-display); font-weight:800; font-size:25px; margin-bottom:14px; letter-spacing:0; position:relative; z-index:1; }
.service-desc{ color:var(--ink-1); font-size:14.5px; margin-bottom:26px; position:relative; z-index:1; }
.service-tags{ display:flex; flex-wrap:wrap; gap:6px; position:relative; z-index:1; }
.service-tag{ font-family:var(--f-mono); font-size:10px; padding:4px 10px; border:1px solid var(--line-strong); border-radius:2px; color:var(--ink-1); text-transform:uppercase; letter-spacing:.1em; }
.service-arrow{ position:absolute; top:36px; right:36px; width:32px; height:32px; display:grid; place-items:center; color:var(--ink-2); transition:all .4s var(--ease); z-index:1; }
.service:hover .service-arrow{ color:var(--brand-light); transform:rotate(-45deg); }

/* STATS */
.banner{ position:relative; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--bg-1); }
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.stat{ padding:56px 36px; border-right:1px solid var(--line); position:relative; }
.stat:last-child{ border-right:0; }
.stat-value{ font-family:var(--f-display); font-weight:800; font-size:78px; line-height:1; letter-spacing:0; margin-bottom:12px; color:var(--ink-0); }
.stat-value .suf{ color:var(--brand-light); }
.stat-label{ font-family:var(--f-mono); font-size:11px; color:var(--ink-2); text-transform:uppercase; letter-spacing:.18em; }

/* ABOUT */
.about-grid{ display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.about-visual{ position:relative; aspect-ratio:1/1; background:var(--bg-1); border:1px solid var(--line-strong); overflow:hidden; border-radius:4px; }
.about-visual::before,.about-visual::after{ content:''; position:absolute; width:28px; height:28px; }
.about-visual::before{ top:-1px; left:-1px; border-top:2px solid var(--brand-light); border-left:2px solid var(--brand-light); }
.about-visual::after{ bottom:-1px; right:-1px; border-bottom:2px solid var(--brand-light); border-right:2px solid var(--brand-light); }
.about-gear{ position:absolute; inset:0; display:grid; place-items:center; color:var(--brand-light); }
.about-gear svg{ width:70%; height:70%; animation:spin 30s linear infinite; opacity:.85; filter:drop-shadow(0 0 30px var(--brand-glow)); }
.about-gear-sm{ position:absolute; right:18%; top:22%; width:28%; aspect-ratio:1; color:var(--accent); opacity:.7; }
.about-gear-sm svg{ width:100%; height:100%; animation:spin 18s linear infinite reverse; }
.about-cal{ position:absolute; left:24px; bottom:24px; font-family:var(--f-mono); font-size:10px; color:var(--ink-2); letter-spacing:.2em; text-transform:uppercase; }
.about-cal::before{ content:''; display:inline-block; width:24px; height:1px; background:var(--brand-light); vertical-align:middle; margin-right:10px; }
.about-text h3{ font-family:var(--f-display); font-weight:800; font-size:40px; line-height:1.18; letter-spacing:0; margin-bottom:28px; }
.about-text h3 em{ font-style:normal; color:var(--brand-light); }
.about-text p{ color:var(--ink-1); font-size:16px; margin-bottom:20px; }
.about-list{ list-style:none; margin-top:32px; border-top:1px solid var(--line); }
.about-list li{ display:flex; align-items:center; justify-content:space-between; padding:18px 0; border-bottom:1px solid var(--line); font-size:15px; }
.about-list li > span:first-child{ display:flex; align-items:center; gap:14px; }
.about-list .num{ font-family:var(--f-mono); font-size:11px; color:var(--brand-light); }
.about-list svg{ color:var(--brand-light); }

/* PROCESS */
.process-list{ border-top:1px solid var(--line); }
.process-row{ display:grid; grid-template-columns:100px 1fr 2fr 60px; gap:40px; align-items:center; padding:36px 0; border-bottom:1px solid var(--line); transition:padding .4s var(--ease); position:relative; }
.process-row::before{ content:''; position:absolute; inset:0; background:linear-gradient(90deg, transparent, rgba(74,125,199,.03), transparent); opacity:0; transition:opacity .4s; pointer-events:none; }
.process-row:hover::before{ opacity:1; }
.process-row:hover{ padding-left:24px; }
.process-num{ font-family:var(--f-mono); font-size:12px; color:var(--brand-light); letter-spacing:.18em; }
.process-title{ font-family:var(--f-display); font-weight:800; font-size:36px; letter-spacing:0; }
.process-desc{ color:var(--ink-1); font-size:15px; }
.process-row svg{ color:var(--ink-2); transition:all .4s var(--ease); }
.process-row:hover svg{ color:var(--brand-light); transform:translateX(8px); }

/* PROJECTS */
.projects-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:32px; }
.project{ position:relative; aspect-ratio:4/3; background:var(--bg-1); border:1px solid var(--line-strong); overflow:hidden; border-radius:4px; transition:transform .5s var(--ease-out), border-color .4s; }
.project:hover{ transform:translateY(-4px); border-color:var(--brand-light); }
.project-visual{ position:absolute; inset:0; display:grid; place-items:center; color:rgba(74,125,199,.18); transition:all .6s var(--ease-out); }
.project:hover .project-visual{ color:rgba(74,125,199,.32); transform:scale(1.08); }
.project-visual svg{ width:60%; height:60%; animation:spin 50s linear infinite; }
.project-info{ position:absolute; left:0; right:0; bottom:0; padding:32px; background:linear-gradient(180deg, transparent, rgba(6,8,13,.92)); z-index:2; }
.project-kind{ display:inline-block; font-family:var(--f-mono); font-size:10px; padding:4px 10px; background:var(--brand); color:#fff; text-transform:uppercase; letter-spacing:.18em; margin-bottom:18px; border-radius:2px; }
.project-title{ font-family:var(--f-display); font-weight:800; font-size:31px; letter-spacing:0; margin-bottom:10px; }
.project-meta{ display:flex; align-items:center; gap:16px; font-family:var(--f-mono); font-size:11px; color:var(--ink-2); letter-spacing:.12em; text-transform:uppercase; }
.project-meta span:not(:last-child)::after{ content:'·'; margin-left:16px; color:var(--ink-2); }

/* CTA STRIP */
.cta-section{ padding:40px 0; }
.cta-strip{ background:linear-gradient(135deg, var(--brand) 0%, #1e3f73 100%); position:relative; overflow:hidden; border-radius:4px; padding:clamp(48px,7vw,90px); margin:0; }
.cta-strip-bg{ position:absolute; right:-100px; top:-100px; width:500px; height:500px; color:rgba(255,255,255,.04); pointer-events:none; }
.cta-strip-bg svg{ animation:spin 40s linear infinite; width:100%; height:100%; }
.cta-strip-inner{ display:grid; grid-template-columns:1.5fr 1fr; gap:60px; align-items:center; position:relative; z-index:2; }
.cta-strip h2{ font-family:var(--f-display); font-weight:800; font-size:54px; line-height:1.08; letter-spacing:0; }
.cta-strip h2 em{ font-style:normal; opacity:.9; }
.cta-strip p{ color:rgba(255,255,255,.85); margin-top:16px; font-size:16px; }
.cta-actions{ display:flex; flex-direction:column; gap:14px; }
.cta-actions .btn{ justify-content:space-between; width:100%; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); backdrop-filter:blur(8px); color:#fff; }
.cta-actions .btn:hover{ background:#fff; color:var(--brand); border-color:#fff; }

/* CONTACT */
.contact-grid{ display:grid; grid-template-columns:1fr 1.2fr; gap:80px; }
.contact-info{ padding-right:40px; }
.contact-info h3{ font-family:var(--f-display); font-weight:800; font-size:58px; line-height:1.08; letter-spacing:0; margin-bottom:28px; margin-top:24px; }
.contact-info h3 em{ font-style:normal; color:var(--brand-light); }
.contact-info p{ color:var(--ink-1); margin-bottom:48px; max-width:420px; }
.contact-list{ list-style:none; border-top:1px solid var(--line); }
.contact-list__row,.contact-list li{ padding:20px 0; border-bottom:1px solid var(--line); }
.contact-list dt{ font-family:var(--f-mono); font-size:10px; color:var(--ink-2); letter-spacing:.2em; text-transform:uppercase; margin-bottom:6px; }
.contact-list dd{ font-family:var(--f-display); font-weight:500; font-size:18px; }

.contact-form{ background:var(--bg-1); border:1px solid var(--line-strong); padding:40px; border-radius:4px; position:relative; }
.contact-form::before,.contact-form::after{ content:''; position:absolute; width:24px; height:24px; }
.contact-form::before{ top:-1px; left:-1px; border-top:2px solid var(--brand-light); border-left:2px solid var(--brand-light); }
.contact-form::after{ bottom:-1px; right:-1px; border-bottom:2px solid var(--brand-light); border-right:2px solid var(--brand-light); }
.contact-form .row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field{ display:block; margin-bottom:18px; }
.field label{ display:block; font-family:var(--f-mono); font-size:10px; color:var(--ink-2); letter-spacing:.2em; text-transform:uppercase; margin-bottom:8px; }
.field input,.field textarea,.field select{ width:100%; background:transparent; border:0; border-bottom:1px solid var(--line-strong); padding:12px 0; color:var(--ink-0); font:inherit; font-size:15px; transition:border-color .25s, box-shadow .25s; }
.field input:focus,.field textarea:focus,.field select:focus{ outline:none; border-bottom-color:var(--brand-light); }
.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{
    outline:2px solid var(--brand, #1f5f9f);
    outline-offset:3px;
    border-bottom-color:var(--brand, #1f5f9f);
    box-shadow:0 0 0 3px color-mix(in srgb, var(--brand, #1f5f9f) 28%, transparent);
}
.field textarea{ resize:vertical; min-height:100px; }
.field select option{ background:var(--bg-1); color:var(--ink-0); }
.contact-form .btn-primary{ width:100%; justify-content:center; margin-top:8px; }

/* FOOTER */
.footer{ border-top:1px solid var(--line); padding:80px 0 32px; margin-top:60px; }
.footer-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:60px; padding-bottom:60px; border-bottom:1px solid var(--line); }
.footer-logo{ width:238px; height:66px; margin-bottom:24px; }
.footer-brand p{ color:var(--ink-1); font-size:14.5px; max-width:320px; }
.footer-col h4{ font-family:var(--f-mono); font-size:11px; color:var(--ink-2); letter-spacing:.22em; text-transform:uppercase; margin-bottom:22px; }
.footer-col ul{ list-style:none; }
.footer-col li{ margin-bottom:12px; }
.footer-col a{ font-size:14.5px; color:var(--ink-1); transition:color .2s; }
.footer-col a:hover{ color:var(--brand-light); }
.footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:28px; font-family:var(--f-mono); font-size:11px; color:var(--ink-2); letter-spacing:.12em; }

/* REVEAL */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .9s var(--ease-out), transform .9s var(--ease-out); }
.reveal.in{ opacity:1; transform:none; }
.reveal-delay-1{ transition-delay:.08s; }
.reveal-delay-2{ transition-delay:.16s; }

/* RESPONSIVE */
@media (max-width: 980px){
    .hero{ padding-top:120px; }
    .hero-title{ font-size:64px; }
    .marquee-item{ font-size:28px; }
    .sec-title{ font-size:48px; }
    .stat-value{ font-size:62px; }
    .about-text h3{ font-size:36px; }
    .process-title{ font-size:30px; }
    .project-title{ font-size:28px; }
    .cta-strip h2{ font-size:44px; }
    .contact-info h3{ font-size:46px; }
    .hero-inner,.about-grid,.contact-grid,.cta-strip-inner{ grid-template-columns:1fr; gap:48px; }
    .services-grid{ grid-template-columns:repeat(2,1fr); }
    .stats{ grid-template-columns:repeat(2,1fr); }
    .stat:nth-child(2){ border-right:0; }
    .stat:nth-child(1),.stat:nth-child(2){ border-bottom:1px solid var(--line); }
    .sec-head{ gap:16px; }
    .footer-top{ grid-template-columns:1fr 1fr; gap:40px; }
    .process-row{ grid-template-columns:60px 1fr 60px; gap:20px; }
    .process-desc{ display:none; }
    .nav-menu{ display:none; }
    .nav-burger{ display:grid; place-items:center; width:40px; height:40px; border:1px solid var(--line-strong); border-radius:999px; }
    .projects-grid{ grid-template-columns:1fr; }
    .hero-bg-gear{ width:480px; height:480px; right:-180px; opacity:.6; }
    .hero-bg-gear-2{ display:none; }
    .contact-info{ padding-right:0; }
}
@media (max-width: 600px){
    .nav-inner{ gap:12px; }
    .nav-logo{ width:178px; height:60px; }
    .nav-cta{ padding:9px 13px; font-size:12.5px; }
    .nav-burger{ display:none; }
    .hero-title{ font-size:44px; }
    .marquee-item{ font-size:21px; }
    .sec-title{ font-size:34px; }
    .stat-value{ font-size:46px; }
    .about-text h3{ font-size:28px; }
    .process-title{ font-size:24px; }
    .project-title{ font-size:22px; }
    .cta-strip h2{ font-size:32px; }
    .contact-info h3{ font-size:34px; }
    .services-grid{ grid-template-columns:1fr; }
    .stats{ grid-template-columns:1fr; }
    .stat{ border-right:0 !important; border-bottom:1px solid var(--line); }
    .stat:last-child{ border-bottom:0; }
    .footer-top{ grid-template-columns:1fr; }
    .contact-form .row{ grid-template-columns:1fr; }
    .contact-form{ padding:28px; }
    .hero-cta{ width:100%; }
    .hero-cta .btn{ flex:1; justify-content:center; }
}

/* CORPORATE REDESIGN OVERRIDES */
:root{
    --bg-0:#f4f7fa; --bg-1:#ffffff; --bg-2:#eef3f7; --bg-elev:#ffffff;
    --ink-0:#122033; --ink-1:#4f5f73; --ink-2:#7a8797;
    --line:#dbe3eb; --line-strong:#c8d3df;
    --brand:#1f5f9f; --brand-light:#2f73b7; --brand-glow:rgba(31,95,159,.18);
    --accent:#b58a33;
    --container:1180px;
}
html{ background:#f4f7fa; }
body{
    background:#f4f7fa;
    color:var(--ink-0);
    line-height:1.62;
}
.bg-grid,.bg-noise,.loader,.hero-bg-gear,.hero-bg-gear-2,.scroll-cue{ display:none !important; }
.wrap{ position:relative; z-index:1; }
.container{ max-width:var(--container); padding:0 32px; }
section{ padding:88px 0; }

.nav{
    background:rgba(255,255,255,.96);
    border-bottom:1px solid var(--line);
    box-shadow:0 10px 30px rgba(18,32,51,.08);
    padding:12px 0;
}
.nav.scrolled{
    background:rgba(255,255,255,.98);
    padding:10px 0;
    border-bottom-color:var(--line);
}
.nav-inner{ gap:28px; }
.logo-crop{
    background:transparent;
    border:0;
    box-shadow:none;
    overflow:hidden;
}
.logo-crop img{
    width:100%;
    transform:translate(-50%,-39%);
    filter:drop-shadow(0 2px 4px rgba(18,32,51,.12));
}
.nav-logo{
    width:226px;
    height:66px;
    flex:0 0 auto;
}
.nav-logo:hover{
    filter:none;
    transform:none;
}
.nav-menu{ gap:2px; margin-left:auto; align-items:center; }
.nav-menu a,
.nav-menu .nav-link{
    color:#405168;
    font-size:14px;
    font-weight:600;
    padding:10px 13px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    position:relative;
    transition:color .25s;
    background:none;
    border:0;
    cursor:pointer;
    font:inherit;
    line-height:1.2;
}
.nav-menu a::before,
.nav-menu .nav-link::before{ display:none; }
.nav-menu a:hover,
.nav-menu .nav-link:hover,
.nav-menu a.is-active,
.nav-menu .nav-link.is-active,
.nav-item.is-active > .nav-link{
    color:var(--brand);
}
.nav-menu a:hover::after,
.nav-menu .nav-link:hover::after,
.nav-menu a.is-active::after,
.nav-menu .nav-link.is-active::after{
    content:'';
    position:absolute;
    left:13px;
    right:13px;
    bottom:3px;
    height:2px;
    background:var(--brand);
}
.nav-menu .nav-dropdown-toggle:hover::after,
.nav-menu .nav-dropdown-toggle.is-active::after{
    left:13px;
    right:28px;
}
.nav-caret{
    flex:0 0 auto;
    opacity:.7;
    transition:transform .2s var(--ease), opacity .2s;
}
.nav-item.has-dropdown.is-open > .nav-dropdown-toggle .nav-caret,
.nav-item.has-dropdown:hover > .nav-dropdown-toggle .nav-caret{
    transform:rotate(180deg);
    opacity:1;
}
.nav-item.has-dropdown{
    position:relative;
}
.nav-dropdown{
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    min-width:220px;
    margin:0;
    padding:8px;
    list-style:none;
    background:#fff;
    border:1px solid var(--line);
    border-radius:8px;
    box-shadow:0 16px 40px rgba(18,32,51,.12);
    opacity:0;
    visibility:hidden;
    transform:translateY(6px);
    transition:opacity .2s var(--ease), transform .2s var(--ease), visibility .2s;
    z-index:130;
}
.nav-item.has-dropdown::after{
    content:'';
    position:absolute;
    left:0;
    right:0;
    top:100%;
    height:12px;
}
.nav-item.has-dropdown:hover > .nav-dropdown,
.nav-item.has-dropdown:focus-within > .nav-dropdown,
.nav-item.has-dropdown.is-open > .nav-dropdown{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}
.nav-dropdown a{
    display:block;
    width:100%;
    padding:10px 12px;
    border-radius:6px;
    color:#405168;
    font-size:13.5px;
    font-weight:600;
    white-space:nowrap;
}
.nav-dropdown a::after{ display:none !important; }
.nav-dropdown a:hover,
.nav-dropdown a.is-active,
.nav-dropdown a:focus-visible{
    color:var(--brand);
    background:rgba(31,95,159,.06);
}
.nav-dropdown-toggle:focus-visible,
.nav-menu a:focus-visible{
    outline:2px solid var(--brand);
    outline-offset:2px;
    border-radius:4px;
}
.nav-cta{
    background:var(--brand);
    border-color:var(--brand);
    border-radius:6px;
    color:#fff;
    padding:11px 18px;
    box-shadow:0 8px 20px rgba(31,95,159,.18);
}
.nav-cta::after{ display:none; }
.nav-cta:hover{
    background:#174b7d;
    border-color:#174b7d;
}
.nav-burger{ display:none !important; }

/* Mobile bottom tab bar (shown ≤980px) */
.mm-bottom-nav{ display:none; }
.mm-more-sheet{ display:none; }

.hero{
    min-height:auto;
    padding:134px 0 92px;
    background:linear-gradient(180deg,#f9fbfd 0%,#eef3f8 100%);
    border-bottom:1px solid var(--line);
    overflow:hidden;
}
.hero-inner{
    grid-template-columns:1.08fr .82fr;
    gap:64px;
}
.hero-eyebrow{
    color:var(--brand);
    font-family:var(--f-body);
    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
    margin-bottom:20px;
}
.hero-eyebrow::before{
    width:28px;
    background:var(--brand);
}
.hero-title{
    max-width:760px;
    color:#102033;
    font-size:58px;
    line-height:1.12;
    letter-spacing:0;
    margin-bottom:26px;
}
.hero-title .line{ overflow:visible; }
.hero-title .line span{
    transform:none;
    animation:none;
}
.hero-title .accent{
    color:var(--brand);
    -webkit-text-fill-color:currentColor;
}
.hero-sub{
    color:#4b5f75;
    font-size:17px;
    max-width:650px;
    margin-bottom:34px;
    opacity:1;
    animation:none;
}
.hero-cta{
    opacity:1;
    animation:none;
}
.btn{
    border-radius:6px;
    font-size:14px;
    font-weight:700;
    padding:14px 22px;
}
.btn-primary{
    background:var(--brand);
    box-shadow:0 10px 26px rgba(31,95,159,.18);
}
.btn-primary:hover{
    background:#174b7d;
    box-shadow:0 12px 30px rgba(31,95,159,.22);
    transform:translateY(-1px);
}
.btn-ghost{
    background:#fff;
    border-color:var(--line-strong);
    color:#17273b;
}
.btn-ghost:hover{
    background:#f8fafc;
    border-color:var(--brand);
}

.hero-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:8px;
    box-shadow:0 20px 50px rgba(18,32,51,.10);
    padding:30px;
    opacity:1;
    animation:none;
    backdrop-filter:none;
}
.hero-card::before,.hero-card::after{ display:none; }
.hero-card-head{
    color:#5d6d7f;
    border-bottom:1px solid var(--line);
    letter-spacing:.08em;
}
.hero-card-head .dot{
    width:10px;
    height:10px;
    background:#2c7a4b;
    box-shadow:none;
}
.hero-spec{ gap:20px 24px; }
.hero-spec dt{
    color:#7a8797;
    letter-spacing:.08em;
}
.hero-spec dd{
    color:#102033;
    font-size:20px;
}
.hero-card-foot{
    border-top:1px solid var(--line);
    color:#4f5f73;
}

.marquee{
    background:#fff;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    padding:22px 0;
}
.marquee-track{
    max-width:var(--container);
    margin:0 auto;
    padding:0 32px;
    animation:none;
    width:auto;
}
.marquee-item{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    font-family:var(--f-body);
    font-size:14px;
    font-weight:700;
}
.marquee-item:nth-child(2){ display:none; }
.marquee-item span.dot{ display:none; }
.marquee-item em{
    background:#f4f7fa;
    border:1px solid var(--line);
    border-radius:6px;
    color:#25374c;
    font-style:normal;
    padding:9px 13px;
}

.sec-head{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    margin-bottom:46px;
}
.sec-num{
    color:var(--brand);
    font-family:var(--f-body);
    font-size:13px;
    font-weight:800;
    letter-spacing:.06em;
}
.sec-num::before{
    width:26px;
    background:var(--brand);
}
.sec-title{
    color:#102033;
    font-size:44px;
    line-height:1.16;
    margin-top:0;
}
.sec-title em{
    color:var(--brand);
    font-style:normal;
}
.sec-lead{
    color:#52657a;
    font-size:16px;
    max-width:680px;
    margin-top:16px;
}

.services-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    background:transparent;
    border:0;
}
.service{
    background:#fff;
    border:1px solid var(--line);
    border-radius:8px;
    min-height:280px;
    padding:34px 30px;
    box-shadow:0 10px 28px rgba(18,32,51,.05);
    overflow:hidden;
}
.service--photo{
    padding:0;
    min-height:0;
    display:flex;
    flex-direction:column;
}
.service-media{
    position:relative;
    aspect-ratio:16/10;
    overflow:hidden;
    background:#0b1522;
}
.service-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .55s var(--ease-out);
}
a.service--link:hover .service-media img{
    transform:scale(1.04);
}
.service-body{
    position:relative;
    padding:26px 28px 30px;
    flex:1 1 auto;
}
.service--photo .service-arrow{
    top:18px;
    right:18px;
}
a.service--link{
    display:block;
    color:inherit;
    text-decoration:none;
    transition:transform .35s var(--ease), border-color .35s, box-shadow .35s;
}
a.service--photo.service--link{
    display:flex;
}
a.service--link:focus-visible{
    outline:2px solid var(--brand);
    outline-offset:3px;
}
.service::before{ display:none; }
.service:hover,
a.service--link:hover{
    background:#fff;
    border-color:#b6c7d8;
    transform:translateY(-2px);
}
.service-no{
    color:var(--brand);
    letter-spacing:.08em;
    margin-bottom:22px;
}
.service-title{
    color:#102033;
    font-size:23px;
}
.service-desc{
    color:#52657a;
    font-size:15px;
}
.service-tag{
    background:#f4f7fa;
    border-color:var(--line);
    border-radius:5px;
    color:#52657a;
    letter-spacing:.04em;
}
.service-arrow{
    color:#93a2b3;
    top:30px;
    right:30px;
}
.service:hover .service-arrow{
    color:var(--brand);
    transform:none;
}
a.service--link:hover .service-arrow{
    color:var(--brand);
    transform:rotate(-45deg);
}

.service-detail{
    padding:56px 0 72px;
}
.service-detail__grid{
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(280px,.7fr);
    gap:48px;
    align-items:start;
}
.service-detail__media{
    margin:0 0 28px;
    border-radius:8px;
    overflow:hidden;
    background:#0b1522;
}
.service-detail__media img{
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:16/10;
    object-fit:cover;
}
.service-detail__body h2,
.service-detail__features h2{
    margin:0 0 16px;
    font-family:var(--f-display);
    font-size:28px;
    color:#102033;
}
.service-detail__body{
    color:#52657a;
    font-size:16px;
    line-height:1.7;
    margin-bottom:36px;
}
.service-detail__card{
    position:sticky;
    top:110px;
    padding:28px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    box-shadow:0 12px 32px rgba(18,32,51,.06);
}
.service-detail__card h3{
    margin:0 0 10px;
    font-family:var(--f-display);
    font-size:22px;
    color:#102033;
}
.service-detail__card p{
    margin:0 0 20px;
    color:#52657a;
    font-size:15px;
    line-height:1.6;
}
.service-detail__card .btn{
    width:100%;
    justify-content:space-between;
    margin-bottom:10px;
}
.service-detail-related{
    padding:0 0 88px;
}
.service-detail-related__head{
    display:flex;
    flex-direction:row;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:36px;
    width:100%;
}
.service-detail-related__head > .service-detail-related__copy{
    flex:1 1 auto;
    min-width:0;
    text-align:left;
}
.service-detail-related__head .sec-num{
    margin-bottom:0;
}
.service-detail-related__head .sec-title{
    font-size:clamp(28px, 3.4vw, 42px);
    margin-top:14px;
    text-align:left;
}
.svc-related-carousel__arrows{
    display:flex;
    gap:10px;
    flex-shrink:0;
}
.svc-related-carousel__arrow{
    width:44px;
    height:44px;
    border-radius:999px;
    border:1px solid var(--line);
    background:#fff;
    color:#102033;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:border-color .25s, color .25s, background .25s;
}
.svc-related-carousel__arrow:hover:not(:disabled){
    border-color:var(--brand);
    color:var(--brand);
}
.svc-related-carousel__arrow:disabled{
    opacity:.35;
    cursor:default;
}

.sec-head--carousel{
    flex-direction:row;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    width:100%;
}
.sec-head--carousel .sec-head__copy{
    flex:1 1 auto;
    min-width:0;
}
.sec-head--carousel .svc-related-carousel__arrows{
    margin-bottom:4px;
}
.services-carousel .svc-related-carousel__slide .service{
    min-height:0;
}
.services-carousel .service--photo{
    display:flex;
    flex-direction:column;
}
/* Desktop peek: show a sliver of the next card so scrollability is obvious */
@media (min-width: 981px){
    .services-carousel .svc-related-carousel__slide{
        flex-basis:calc((100% - 40px) / 3 - 28px);
    }
}
@media (max-width: 640px){
    .sec-head--carousel{
        flex-direction:column;
        align-items:flex-start;
    }
}

.svc-related-carousel__viewport{
    overflow:hidden;
}
.svc-related-carousel__track{
    display:flex;
    gap:20px;
    transition:transform .45s cubic-bezier(.22,1,.36,1);
    will-change:transform;
}
.svc-related-carousel__slide{
    flex:0 0 calc((100% - 40px) / 3);
    min-width:0;
}
.svc-related-carousel__slide .service{
    height:100%;
    min-height:260px;
}
.svc-related-carousel__dots{
    display:flex;
    justify-content:center;
    gap:8px;
    margin-top:22px;
}
.svc-related-carousel__dot{
    width:8px;
    height:8px;
    border-radius:999px;
    border:0;
    padding:0;
    background:#c5d0db;
    cursor:pointer;
    transition:width .25s, background .25s;
}
.svc-related-carousel__dot.is-active{
    width:22px;
    background:var(--brand);
}
@media (max-width: 980px){
    .service-detail__grid{ grid-template-columns:1fr; gap:28px; }
    .service-detail__card{ position:static; }
    .svc-related-carousel__slide{
        flex-basis:calc((100% - 20px) / 2);
    }
    .svc-related-carousel[data-visible]{
        --svc-related-visible: 2;
    }
}
@media (max-width: 640px){
    .service-detail-related__head{
        flex-direction:column;
        align-items:flex-start;
    }
    .svc-related-carousel__slide{
        flex-basis:100%;
    }
}

.banner{
    background:#102033;
    border:0;
}
.stats{ color:#fff; }
.stat{
    border-right:1px solid rgba(255,255,255,.12);
    padding:46px 30px;
}
.stat-value{
    color:#fff;
    font-size:60px;
}
.stat-value .suf{ color:#8ebce8; }
.stat-label{
    color:#b9c7d6;
    letter-spacing:.08em;
}

.about-grid{
    gap:64px;
}
.about-visual{
    background:linear-gradient(145deg,#102033,#1f5f9f);
    border:0;
    border-radius:8px;
    box-shadow:0 18px 45px rgba(18,32,51,.16);
}
.about-visual--photo{
    background:#0b1522;
}
.about-visual__img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.about-visual::before,.about-visual::after{ display:none; }
.about-cal{
    left:18px;
    bottom:18px;
    z-index:2;
    padding:8px 12px;
    background:rgba(11,21,34,.72);
    border:1px solid rgba(255,255,255,.18);
    color:#fff;
    letter-spacing:.08em;
    backdrop-filter:blur(6px);
}
.about-cal::before{ display:none; }
.about-text h3{
    color:#102033;
    font-size:34px;
}
.about-text h3 em{
    color:var(--brand);
    font-style:normal;
}
.about-text p{
    color:#52657a;
    font-size:16px;
}
.about-list{
    border-top-color:var(--line);
}
.about-list li{
    color:#25374c;
    border-bottom-color:var(--line);
}
.about-list .num,.about-list svg{ color:var(--brand); }

.process-list{ border-top:1px solid var(--line); }
.process-row{
    grid-template-columns:80px 1fr 1.6fr 36px;
    gap:28px;
    padding:26px 0;
    border-bottom:1px solid var(--line);
}
.process-row::before{ display:none; }
.process-row:hover{ padding-left:0; }
.process-num{
    color:var(--brand);
    letter-spacing:.08em;
}
.process-title{
    color:#102033;
    font-size:28px;
}
.process-desc{
    color:#52657a;
}
.process-row svg{ color:#8a98a8; }
.process-row:hover svg{
    color:var(--brand);
    transform:none;
}

.projects-grid{
    grid-template-columns:repeat(2,1fr);
    gap:22px;
}
.project{
    aspect-ratio:4/3;
    min-height:0;
    background:#fff;
    border:1px solid var(--line);
    border-radius:8px;
    box-shadow:0 10px 28px rgba(18,32,51,.05);
}
.project:hover{
    transform:translateY(-2px);
    border-color:#b6c7d8;
}
.project-visual{
    color:rgba(31,95,159,.08);
    background:linear-gradient(145deg,#f8fafc,#eef3f8);
}
.project-visual__img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .6s var(--ease-out);
}
.project--photo .project-visual{
    background:#0b1522;
}
.project--photo:hover .project-visual__img{
    transform:scale(1.04);
}
.project--photo:hover .project-visual{
    transform:none;
}
.project-info{
    padding:28px;
    background:linear-gradient(180deg,rgba(255,255,255,.12),#fff 70%);
}
.project--photo .project-info{
    background:linear-gradient(180deg, transparent, rgba(6,8,13,.9));
}
.project--photo .project-title{ color:#fff; }
.project--photo .project-meta{ color:rgba(255,255,255,.72); }
.project-kind{
    background:#e7f0f8;
    color:var(--brand);
    border-radius:5px;
    letter-spacing:.08em;
}
.project--photo .project-kind{
    background:var(--brand);
    color:#fff;
}
.project-title{
    color:#102033;
    font-size:26px;
}
.project-meta{
    color:#657487;
    letter-spacing:.04em;
}

.cta-strip{
    background:#102033;
    border-radius:8px;
    margin:0;
    padding:60px;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
}
.cta-strip--photo{
    background:#0b1522;
}
.cta-strip-photo{
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
}
.cta-strip-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    opacity:.38;
    filter:saturate(.85);
}
.cta-strip--photo::after{
    content:'';
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(115deg, rgba(11,21,34,.88) 0%, rgba(16,32,51,.72) 55%, rgba(31,95,159,.45) 100%);
    pointer-events:none;
}
.cta-strip-bg{ display:none; }
.cta-strip-inner{
    grid-template-columns:1.4fr .8fr;
    gap:48px;
    position:relative;
    z-index:2;
}
.cta-strip h2{
    font-size:42px;
    line-height:1.16;
    color:#fff;
}
.cta-strip h2 em{ font-style:normal; color:#9fc8ee; }
.cta-strip p{ color:#c7d3df; }
.cta-actions .btn{
    border-radius:6px;
    background:rgba(255,255,255,.08);
}
.cta-actions .btn:hover{
    background:#fff;
    color:#102033;
}

.contact-grid{
    grid-template-columns:.9fr 1.1fr;
    gap:64px;
}
.contact-info h3{
    color:#102033;
    font-size:42px;
    line-height:1.16;
}
.contact-info h3 em{
    color:var(--brand);
    font-style:normal;
}
.contact-info p{ color:#52657a; }
.contact-list{ border-top-color:var(--line); }
.contact-list__row,.contact-list li{ border-bottom-color:var(--line); }
.contact-list dt{
    color:#7a8797;
    letter-spacing:.08em;
}
.contact-list dd{
    color:#102033;
    font-family:var(--f-body);
    font-weight:700;
}
.contact-form{
    background:#fff;
    border:1px solid var(--line);
    border-radius:8px;
    box-shadow:0 16px 42px rgba(18,32,51,.08);
}
.contact-form::before,.contact-form::after{ display:none; }
.field label{
    color:#657487;
    letter-spacing:.08em;
}
.field input,.field textarea,.field select{
    color:#102033;
    border-bottom-color:var(--line-strong);
}
.field input:focus,.field textarea:focus,.field select:focus{
    border-bottom-color:var(--brand);
}
.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{
    outline:2px solid var(--brand, #1f5f9f);
    outline-offset:3px;
    border-bottom-color:var(--brand, #1f5f9f);
    box-shadow:0 0 0 3px rgba(31,95,159,.22);
}
.field select option{
    background:#fff;
    color:#102033;
}

.footer{
    background:#0f1d2d;
    border-top:0;
    margin-top:0;
    color:#dbe6f1;
}
.footer-top{ border-bottom-color:rgba(255,255,255,.12); }
.footer-logo{
    width:238px;
    height:66px;
}
.footer-logo.logo-crop img{
    /* Dark footer: force logo to white for contrast */
    filter:brightness(0) invert(1);
}
.footer-brand p,.footer-col a,.footer-col span{ color:#b8c5d3 !important; }
.footer-col h4{ color:#8292a4; letter-spacing:.08em; }
.footer-col a:hover{ color:#fff; }
.footer-bottom{
    color:#8292a4;
    letter-spacing:.04em;
}

.reveal,.hero-card,.hero-sub,.hero-cta{
    opacity:1;
    transform:none;
}
.reveal{
    transition:none;
}

@media (max-width: 980px){
    .container{ padding:0 24px; }
    section{ padding:72px 0; }
    .nav-menu{ display:none !important; }
    .nav-burger{ display:none !important; }
    .nav-logo{ width:210px; height:62px; }
    body.has-bottom-nav{
        padding-bottom:calc(92px + env(safe-area-inset-bottom, 0px));
    }
    body.mm-more-open{
        overflow:hidden;
        touch-action:none;
    }
    .mm-bottom-nav{
        display:flex;
        position:fixed;
        left:0;
        right:0;
        bottom:0;
        z-index:200;
        align-items:flex-end;
        justify-content:space-around;
        gap:0;
        min-height:64px;
        /* Top padding = notch rise so FAB sits in the shell cutout */
        padding:28px 6px calc(8px + env(safe-area-inset-bottom, 0px));
        background:transparent;
        border:0;
        box-shadow:none;
        overflow:visible;
        pointer-events:none;
    }
    /* Three-piece shell: stretchy sides + fixed 120×92 SVG concave notch */
    .mm-bottom-nav__shell{
        position:absolute;
        left:0;
        right:0;
        bottom:0;
        z-index:0;
        display:flex;
        align-items:flex-end;
        height:calc(92px + env(safe-area-inset-bottom, 0px));
        padding-bottom:env(safe-area-inset-bottom, 0px);
        box-sizing:border-box;
        pointer-events:none;
        filter:drop-shadow(0 -6px 18px rgba(18,32,51,.12));
    }
    .mm-bottom-nav__shell-side{
        flex:1 1 0;
        height:60px;
        margin-bottom:0;
        background:#fff;
        border-top:1px solid rgba(18,32,51,.08);
    }
    .mm-bottom-nav__shell-side--left{ margin-right:-0.5px; }
    .mm-bottom-nav__shell-side--right{ margin-left:-0.5px; }
    .mm-bottom-nav__shell-notch{
        flex:0 0 120px;
        width:120px;
        height:92px;
        display:block;
        overflow:visible;
    }
    .mm-bottom-nav__shell-fill{
        fill:#fff;
        stroke:rgba(18,32,51,.08);
        stroke-width:1;
        vector-effect:non-scaling-stroke;
    }
    .mm-bottom-nav__shell-safe{
        position:absolute;
        left:0;
        right:0;
        bottom:0;
        height:env(safe-area-inset-bottom, 0px);
        background:#fff;
    }
    .mm-bottom-nav__item{
        position:relative;
        z-index:1;
        flex:1 1 0;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:flex-end;
        gap:3px;
        min-width:0;
        min-height:48px;
        padding:4px 2px 2px;
        color:#6b7787;
        font-size:10.5px;
        font-weight:600;
        letter-spacing:.01em;
        text-align:center;
        border-radius:10px;
        background:transparent;
        transition:color .2s, background .2s;
        -webkit-tap-highlight-color:transparent;
        pointer-events:auto;
    }
    .mm-bottom-nav__icon{
        display:grid;
        place-items:center;
        width:24px;
        height:24px;
        color:inherit;
        flex:0 0 auto;
    }
    .mm-bottom-nav__label{
        max-width:100%;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        line-height:1.15;
    }
    .mm-bottom-nav__item.is-active{
        color:#1f5f9f;
    }
    .mm-bottom-nav__item:focus-visible{
        outline:2px solid #1f5f9f;
        outline-offset:2px;
    }
    .mm-bottom-nav__menu-btn{
        cursor:pointer;
        appearance:none;
        border:0;
        font:inherit;
    }
    /* FAB sits in the concave notch; label stays on the bar baseline with siblings */
    .mm-bottom-nav__home{
        position:relative;
        z-index:2;
        gap:6px;
        overflow:visible;
    }
    .mm-bottom-nav__home-btn{
        display:grid;
        place-items:center;
        width:52px;
        height:52px;
        margin-top:-30px;
        border-radius:50%;
        background:linear-gradient(145deg,#102033,#1f5f9f);
        color:#fff;
        box-shadow:
            0 4px 14px rgba(31,95,159,.34),
            0 0 0 3px #fff;
        border:0;
        transition:box-shadow .2s var(--ease), filter .2s;
    }
    .mm-bottom-nav__home.is-active .mm-bottom-nav__home-btn,
    .mm-bottom-nav__home:hover .mm-bottom-nav__home-btn{
        box-shadow:
            0 6px 18px rgba(31,95,159,.42),
            0 0 0 3px #fff;
        filter:brightness(1.04);
    }
    .mm-bottom-nav__home .mm-bottom-nav__label{
        color:#405168;
        font-size:10.5px;
        margin-top:0;
    }
    .mm-bottom-nav__home.is-active .mm-bottom-nav__label{
        color:#1f5f9f;
    }

    /* More menu sheet */
    .mm-more-sheet{
        display:flex;
        position:fixed;
        inset:0;
        z-index:220;
        align-items:flex-end;
        justify-content:center;
        pointer-events:none;
    }
    .mm-more-sheet[hidden]{
        display:none !important;
    }
    .mm-more-sheet.is-open{
        pointer-events:auto;
    }
    .mm-more-sheet__backdrop{
        position:absolute;
        inset:0;
        border:0;
        padding:0;
        margin:0;
        background:rgba(16,32,51,.48);
        opacity:0;
        cursor:pointer;
        transition:opacity .22s var(--ease);
        -webkit-tap-highlight-color:transparent;
    }
    .mm-more-sheet.is-visible .mm-more-sheet__backdrop{
        opacity:1;
    }
    .mm-more-sheet__panel{
        position:relative;
        z-index:1;
        width:min(100%,480px);
        max-height:min(78vh,560px);
        margin:0;
        padding:0 0 calc(12px + env(safe-area-inset-bottom, 0px));
        background:#fff;
        border-radius:20px 20px 0 0;
        box-shadow:0 -16px 40px rgba(18,32,51,.18);
        transform:translateY(110%);
        transition:transform .24s var(--ease-out, cubic-bezier(.16,1,.3,1));
        display:flex;
        flex-direction:column;
        overflow:hidden;
    }
    .mm-more-sheet.is-visible .mm-more-sheet__panel{
        transform:translateY(0);
    }
    .mm-more-sheet__handle{
        width:40px;
        height:4px;
        margin:10px auto 4px;
        border-radius:999px;
        background:rgba(18,32,51,.14);
        flex:0 0 auto;
    }
    .mm-more-sheet__head{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        padding:8px 18px 12px;
        border-bottom:1px solid rgba(18,32,51,.08);
        flex:0 0 auto;
    }
    .mm-more-sheet__title{
        margin:0;
        font-family:var(--f-display, "Manrope", ui-sans-serif, system-ui);
        font-size:18px;
        font-weight:700;
        letter-spacing:-.01em;
        color:#102033;
    }
    .mm-more-sheet__close{
        display:grid;
        place-items:center;
        width:44px;
        height:44px;
        margin:0 -8px 0 0;
        border:0;
        border-radius:10px;
        background:transparent;
        color:#405168;
        cursor:pointer;
        transition:background .2s, color .2s;
        -webkit-tap-highlight-color:transparent;
    }
    .mm-more-sheet__close:hover,
    .mm-more-sheet__close:focus-visible{
        background:rgba(31,95,159,.08);
        color:#1f5f9f;
    }
    .mm-more-sheet__close:focus-visible{
        outline:2px solid #1f5f9f;
        outline-offset:2px;
    }
    .mm-more-sheet__nav{
        overflow-y:auto;
        -webkit-overflow-scrolling:touch;
        overscroll-behavior:contain;
        padding:8px 10px 16px;
    }
    .mm-more-sheet__list{
        list-style:none;
        margin:0;
        padding:0;
        display:flex;
        flex-direction:column;
        gap:2px;
    }
    .mm-more-sheet__group{
        display:flex;
        flex-direction:column;
        gap:0;
    }
    .mm-more-sheet__parent{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        width:100%;
        min-height:48px;
        padding:12px 14px;
        border:0;
        border-radius:12px;
        background:transparent;
        color:#243447;
        font:inherit;
        font-size:15px;
        font-weight:700;
        letter-spacing:-.01em;
        text-align:left;
        cursor:pointer;
        transition:background .18s, color .18s;
        -webkit-tap-highlight-color:transparent;
    }
    .mm-more-sheet__parent:hover,
    .mm-more-sheet__parent:focus-visible{
        background:rgba(31,95,159,.08);
        color:#1f5f9f;
    }
    .mm-more-sheet__parent:focus-visible{
        outline:2px solid #1f5f9f;
        outline-offset:1px;
    }
    .mm-more-sheet__parent.is-active,
    .mm-more-sheet__group.is-section-active > .mm-more-sheet__parent{
        color:#1f5f9f;
    }
    .mm-more-sheet__caret{
        flex:0 0 auto;
        color:#8a97a8;
        transition:transform .2s var(--ease), color .18s;
    }
    .mm-more-sheet__group.is-open > .mm-more-sheet__parent .mm-more-sheet__caret,
    .mm-more-sheet__parent[aria-expanded="true"] .mm-more-sheet__caret{
        transform:rotate(180deg);
        color:#1f5f9f;
    }
    .mm-more-sheet__children{
        list-style:none;
        margin:0 0 4px;
        padding:0 0 4px 8px;
        display:flex;
        flex-direction:column;
        gap:1px;
        border-left:2px solid rgba(31,95,159,.14);
        margin-left:14px;
    }
    .mm-more-sheet__children[hidden]{
        display:none !important;
    }
    .mm-more-sheet__link{
        display:flex;
        align-items:center;
        justify-content:flex-start;
        gap:12px;
        min-height:44px;
        padding:10px 14px;
        border-radius:12px;
        color:#243447;
        font-size:14.5px;
        font-weight:600;
        letter-spacing:-.01em;
        transition:background .18s, color .18s;
        -webkit-tap-highlight-color:transparent;
    }
    .mm-more-sheet__link--root{
        min-height:48px;
        padding:12px 14px;
        font-size:15px;
        font-weight:700;
    }
    .mm-more-sheet__link:hover,
    .mm-more-sheet__link:focus-visible{
        background:rgba(31,95,159,.08);
        color:#1f5f9f;
    }
    .mm-more-sheet__link:focus-visible{
        outline:2px solid #1f5f9f;
        outline-offset:1px;
    }
    .mm-more-sheet__link.is-active{
        background:rgba(31,95,159,.1);
        color:#1f5f9f;
    }

    .hero{ padding:116px 0 72px; }
    .hero-inner,.about-grid,.contact-grid,.cta-strip-inner{
        grid-template-columns:1fr;
        gap:42px;
    }
    .hero-title{ font-size:46px; }
    .sec-head{ gap:12px; }
    .sec-title{ font-size:36px; }
    .services-grid{ grid-template-columns:repeat(2,1fr); }
    .process-row{ grid-template-columns:60px 1fr; }
    .process-desc{ display:block; grid-column:2; }
    .process-row > div:last-child{ display:none; }
    .projects-grid{ grid-template-columns:1fr; }
    .cta-strip{ padding:42px; }
    .cta-strip h2,.contact-info h3{ font-size:34px; }
}
@media (max-width: 600px){
    .container{ padding:0 18px; }
    .nav-inner{ gap:14px; }
    .nav-logo{ width:178px; height:58px; }
    .nav-cta{ padding:9px 12px; font-size:12px; }
    .hero{ padding:106px 0 60px; }
    .hero-title{ font-size:36px; }
    .hero-sub{ font-size:16px; }
    .hero-cta{ flex-direction:column; }
    .hero-cta .btn{ width:100%; justify-content:center; }
    .hero-card{ padding:24px; }
    .hero-spec{ grid-template-columns:1fr; }
    .marquee-track{ padding:0 18px; }
    .services-grid,.stats{ grid-template-columns:1fr; }
    .stat{ border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
    .stat:last-child{ border-bottom:0; }
    .sec-title{ font-size:30px; }
    .service{ min-height:auto; }
    .about-text h3,.process-title,.project-title{ font-size:24px; }
    .process-row{ grid-template-columns:1fr; gap:10px; }
    .process-desc{ grid-column:auto; }
    .cta-strip{ padding:30px 22px; }
    .cta-strip h2,.contact-info h3{ font-size:30px; }
    .footer-top{ grid-template-columns:1fr; }
    .footer-bottom{ flex-direction:column; align-items:flex-start; gap:12px; }
}

/* PREMIUM MOTION LAYER */
section{ scroll-margin-top:96px; }
body::before{
    content:'';
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:0;
    background:
        linear-gradient(115deg, rgba(31,95,159,.08), transparent 34%, rgba(181,138,51,.06) 66%, transparent),
        repeating-linear-gradient(90deg, rgba(31,95,159,.035) 0 1px, transparent 1px 120px);
    opacity:.8;
}
.hero::before{
    content:'';
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(120deg, transparent 0%, rgba(31,95,159,.10) 42%, transparent 60%),
        repeating-linear-gradient(135deg, rgba(31,95,159,.075) 0 1px, transparent 1px 34px);
    background-size:180% 100%, auto;
    animation:blueprintSweep 14s var(--ease-out) infinite alternate;
    opacity:.55;
}
.hero::after{
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(31,95,159,.55), transparent);
}
@keyframes blueprintSweep{
    from{ background-position:0 0, 0 0; }
    to{ background-position:100% 0, 42px 0; }
}
.hero-title .line{ overflow:hidden; }
.hero-title .line span{
    opacity:0;
    transform:translateY(22px);
    animation:titleLift .8s var(--ease-out) forwards;
}
.hero-title .line:nth-child(2) span{ animation-delay:.12s; }
.hero-title .line:nth-child(3) span{ animation-delay:.24s; }
@keyframes titleLift{
    to{ opacity:1; transform:translateY(0); }
}
.hero-sub{
    opacity:0;
    transform:translateY(12px);
    animation:softRise .8s var(--ease-out) .38s forwards;
}
.hero-cta{
    opacity:0;
    transform:translateY(12px);
    animation:softRise .8s var(--ease-out) .52s forwards;
}
.hero-card{
    position:relative;
    overflow:hidden;
    animation:panelSettle .9s var(--ease-out) .48s backwards, panelBreath 7s ease-in-out 1.4s infinite;
}
.hero-card::before{
    content:'';
    display:block;
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:3px;
    background:linear-gradient(90deg, var(--brand), #86b7e7, var(--accent), var(--brand));
    background-size:220% 100%;
    animation:accentSweep 6s linear infinite;
}
@keyframes softRise{
    to{ opacity:1; transform:translateY(0); }
}
@keyframes panelSettle{
    from{ opacity:0; transform:translateY(18px); }
}
@keyframes panelBreath{
    0%,100%{ transform:translateY(0); box-shadow:0 20px 50px rgba(18,32,51,.10); }
    50%{ transform:translateY(-4px); box-shadow:0 24px 58px rgba(18,32,51,.14); }
}
@keyframes accentSweep{
    to{ background-position:220% 0; }
}
.btn,.service,.project,.contact-form,.about-visual{
    will-change:transform;
}
.btn{
    position:relative;
    overflow:hidden;
}
.btn::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(120deg, transparent, rgba(255,255,255,.22), transparent);
    transform:translateX(-120%);
    transition:transform .65s var(--ease-out);
}
.btn:hover::before{ transform:translateX(120%); }
.btn > *{ position:relative; z-index:1; }
.service,.project,.contact-form{
    transition:transform .35s var(--ease-out), box-shadow .35s var(--ease-out), border-color .35s var(--ease-out);
}
.service:hover,.project:hover{
    box-shadow:0 18px 44px rgba(18,32,51,.10);
}
.service::after{
    content:'';
    position:absolute;
    left:0;
    top:30px;
    bottom:30px;
    width:3px;
    background:linear-gradient(180deg, var(--brand), rgba(31,95,159,.08));
    opacity:.18;
    transition:opacity .3s var(--ease-out);
}
.service:hover::after{ opacity:.72; }
.project-info{
    transition:transform .35s var(--ease-out);
}
.project:hover .project-info{ transform:translateY(-2px); }
.marquee-item em{
    transition:background .25s var(--ease-out), border-color .25s var(--ease-out), transform .25s var(--ease-out);
}
.marquee-item em:hover{
    background:#fff;
    border-color:#b6c7d8;
    transform:translateY(-1px);
}
.about-visual{
    isolation:isolate;
}
.about-visual::before{
    content:'';
    display:block;
    position:absolute;
    inset:0;
    z-index:0;
    background:
        repeating-linear-gradient(90deg, rgba(255,255,255,.08) 0 1px, transparent 1px 56px),
        repeating-linear-gradient(0deg, rgba(255,255,255,.06) 0 1px, transparent 1px 56px);
    animation:technicalGrid 16s linear infinite;
}
.about-visual > *{ position:relative; z-index:1; }
@keyframes technicalGrid{
    to{ background-position:56px 0, 0 56px; }
}
.reveal{
    opacity:0;
    transform:translateY(22px);
    transition:opacity .75s var(--ease-out), transform .75s var(--ease-out);
}
.reveal.in{
    opacity:1;
    transform:none;
}
@media (prefers-reduced-motion: reduce){
    *,*::before,*::after{
        animation-duration:.001ms !important;
        animation-iteration-count:1 !important;
        scroll-behavior:auto !important;
        transition-duration:.001ms !important;
    }
    .reveal,.hero-title .line span,.hero-sub,.hero-cta{
        opacity:1 !important;
        transform:none !important;
    }
}

/* THEME: mobile primary chrome = bottom tab bar (logo + Teklif Al remain in top bar) */
@media (max-width: 980px) {
  .nav-burger {
    display: none !important;
  }
  .nav-menu {
    display: none !important;
  }
  .nav-inner {
    position: relative;
  }
}

/* 404 page (theme-owned) */
.page-404 {
  padding: 160px 0 100px;
  text-align: center;
  background: linear-gradient(180deg, #f9fbfd 0%, #eef3f8 100%);
  border-bottom: 1px solid var(--line);
}
.page-404-code {
  font-family: var(--f-display);
  font-weight: 800;
  font-size: clamp(96px, 18vw, 180px);
  line-height: 1;
  color: var(--brand);
  letter-spacing: -0.04em;
  margin-bottom: 12px;
}
.page-404-title {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: clamp(28px, 4vw, 40px);
  color: #102033;
  margin-bottom: 14px;
}
.page-404-body {
  color: #4b5f75;
  font-size: 17px;
  max-width: 480px;
  margin: 0 auto 28px;
}
.page-404 .btn {
  display: inline-flex;
}

.mm-breadcrumb {
  padding: 18px 0 0;
  border-bottom: 0;
  background: #0f1d2d;
}
.mm-breadcrumb-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0 0 14px;
  font-size: 13px;
  color: rgba(255,255,255,.72);
}
.mm-breadcrumb-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.mm-breadcrumb-sep {
  color: rgba(255,255,255,.35);
}
.mm-breadcrumb a {
  color: #9fc8ee;
  text-decoration: none;
}
.mm-breadcrumb a:hover {
  text-decoration: underline;
}
.mm-breadcrumb [aria-current="page"] {
  color: rgba(255,255,255,.92);
  font-weight: 600;
}

/* Fixed nav clearance - inner pages (about/process/…) */
.nav {
  z-index: 200;
  background: #fff;
}
.page-hero {
  position: relative;
  isolation: isolate;
  padding: 128px 0 56px !important;
  margin: 0;
  overflow: hidden;
  background:
    linear-gradient(135deg, #0f1d2d 0%, #163554 48%, #1f5f9f 100%);
  border-bottom: 0;
  color: #fff;
}
.page-hero__grid {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .35;
  background-image:
    linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(90deg, #000 0%, #000 55%, transparent 100%);
}
.page-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 28px;
  align-items: end;
}
.page-hero__copy {
  max-width: 760px;
  padding-left: 18px;
  border-left: 3px solid rgba(126, 182, 239, .85);
}
.page-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 18px;
  font-family: var(--f-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #9fc8ee;
}
.page-hero__badge-line {
  width: 28px;
  height: 1px;
  background: #9fc8ee;
}
.page-hero__title {
  margin: 0 0 16px;
  font-family: var(--f-display);
  font-weight: 800;
  font-size: clamp(34px, 4.6vw, 54px);
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: #fff;
}
.page-hero__title em {
  font-style: normal;
  color: #7eb6ef;
}
.page-hero__lead {
  margin: 0;
  max-width: 58ch;
  font-size: 17px;
  line-height: 1.65;
  color: rgba(255,255,255,.78);
}
.page-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  margin: 22px 0 0;
  padding: 0;
}
.page-hero__meta li {
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  font-family: var(--f-mono);
  font-size: 11px;
  letter-spacing: .06em;
  color: rgba(255,255,255,.88);
}
/* legacy nested classes (older seeds / partials) */
.page-hero .sec-head {
  margin-bottom: 0;
  align-items: start;
}
.page-hero .reveal,
.page-hero .sec-head {
  opacity: 1 !important;
  transform: none !important;
}
.page-hero .sec-title {
  color: #fff;
}
.page-hero .sec-title em {
  color: #7eb6ef;
  font-style: normal;
}
.page-hero .sec-lead {
  margin-top: 12px;
  max-width: 640px;
  color: rgba(255,255,255,.78);
}
.page-hero .sec-num {
  color: #9fc8ee;
}
.mm-breadcrumb {
  padding-top: 110px;
}
/* Avoid double nav offset when breadcrumb sits above an inner page-hero */
.mm-breadcrumb + .page-hero,
main > .mm-breadcrumb + * .page-hero {
  padding-top: 40px !important;
}
body:has(.mm-hero-slider) .mm-breadcrumb,
body:has(.hero) .mm-breadcrumb {
  padding-top: 18px;
}

/* Hero slider (vitrin / izyem-style) */
.mm-hero-slider {
  position: relative;
  overflow: hidden;
  background: #0b1522;
  color: #fff;
  /* Override global `section { padding: 88px 0 }` - was creating empty bands + edge gaps */
  padding: 0 !important;
  margin: 0;
  width: 100%;
  max-width: 100%;
}
.mm-hero-slider--viewport {
  /* Full-viewport hero; absolute slides need an explicit height box. */
  min-height: 100vh;
  height: 100vh;
  min-height: 100dvh;
  height: 100dvh;
}
.mm-hero-slide {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .7s var(--ease), visibility .7s;
  pointer-events: none;
  overflow: hidden;
}
.mm-hero-slide.is-active {
  /* Keep absolute - do not switch to relative (copy jump). */
  z-index: 1;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.mm-hero-slide__media {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.04);
  transition: transform 7s linear;
  will-change: transform;
}
.mm-hero-slide.is-active .mm-hero-slide__media {
  transform: scale(1);
}
.mm-hero-slide__media--fallback {
  background: linear-gradient(135deg, #102033 0%, #1f5f9f 55%, #0b1522 100%);
}
.mm-hero-slide__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(8,14,24,var(--mm-hero-overlay-strong, .78)) 0%, rgba(8,14,24,var(--mm-hero-overlay-middle, .45)) 55%, rgba(8,14,24,.25) 100%),
    linear-gradient(180deg, rgba(8,14,24,.35) 0%, transparent 35%, rgba(8,14,24,.55) 100%);
}
.mm-hero-slide__inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  height: 100%;
  min-height: 100%;
  /* Vertical only — horizontal gutter comes from .container (do not use padding shorthand) */
  padding-top: 140px;
  padding-bottom: 140px;
  box-sizing: border-box;
}
.mm-hero-slide__copy {
  max-width: 720px;
  /* Fade only - no translate on enter/leave */
  transform: none;
}
.mm-hero-slide__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  padding: 8px 14px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  font-family: var(--f-mono);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.88);
  background: rgba(255,255,255,.08);
}
.mm-hero-slide__title {
  font-family: var(--f-display);
  font-weight: 800;
  font-size: clamp(36px, 5.2vw, 64px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  margin: 0 0 18px;
  color: #fff;
}
.mm-hero-slide__title em {
  font-style: normal;
  color: #7eb6ef;
}
.mm-hero-slide__description {
  font-size: 17px;
  line-height: 1.65;
  color: rgba(255,255,255,.82);
  max-width: 540px;
  margin: 0 0 28px;
}
.mm-hero-slide__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.mm-hero-slide__btn-ghost {
  color: #fff !important;
  border-color: rgba(255,255,255,.4) !important;
  background: rgba(255,255,255,.06) !important;
}
.mm-hero-slide__btn-ghost:hover {
  background: rgba(255,255,255,.14) !important;
}
.mm-hero-slider__arrows {
  position: absolute;
  right: max(16px, var(--gutter, 32px));
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mm-hero-slider__arrow {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(8,14,24,.45);
  color: #fff;
  cursor: pointer;
  transition: background .2s, border-color .2s;
}
.mm-hero-slider__arrow:hover {
  background: var(--brand);
  border-color: var(--brand);
}
.mm-hero-slider__controls {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 28px;
  z-index: 4;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 24px;
  box-sizing: border-box;
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  /* Match corporate .container (32px); mobile overrides below */
  padding: 0 32px;
}
.mm-hero-slider__tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
}
.mm-hero-slider__tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.2);
  background: rgba(8,14,24,.35);
  color: rgba(255,255,255,.78);
  font-size: 12px;
  cursor: pointer;
  white-space: nowrap;
}
.mm-hero-slider__tab.is-active {
  background: rgba(31,95,159,.85);
  border-color: transparent;
  color: #fff;
}
.mm-hero-slider__tab-index {
  font-family: var(--f-mono);
  font-size: 10px;
  opacity: .75;
}
.mm-hero-slider__dots {
  display: flex;
  gap: 8px;
}
.mm-hero-slider__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 0;
  background: rgba(255,255,255,.35);
  cursor: pointer;
  padding: 0;
}
.mm-hero-slider__dot.is-active {
  background: #fff;
  box-shadow: 0 0 0 3px rgba(255,255,255,.2);
}
.mm-hero-slider__progress {
  display: flex;
  gap: 6px;
  flex: 1;
  min-width: 120px;
  max-width: 280px;
  margin-left: auto;
}
.mm-hero-slider__progress-segment {
  flex: 1;
  height: 3px;
  border-radius: 99px;
  background: rgba(255,255,255,.22);
  overflow: hidden;
  position: relative;
}
.mm-hero-slider__progress-segment::after {
  content: '';
  position: absolute;
  inset: 0;
  width: 0;
  background: #fff;
}
.mm-hero-slider__progress-segment.is-active::after {
  animation: mm-hero-progress var(--mm-hero-interval, 7000ms) linear forwards;
}
.mm-hero-slider.is-paused .mm-hero-slider__progress-segment.is-active::after,
.mm-hero-slider[data-autoplay="false"] .mm-hero-slider__progress-segment.is-active::after {
  animation-play-state: paused;
}
@keyframes mm-hero-progress {
  from { width: 0; }
  to { width: 100%; }
}
.mm-hero-slider__scroll-cue {
  position: absolute;
  left: 50%;
  /* Sit above the controls row - was overlapping tabs/progress */
  bottom: 92px;
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.72);
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  pointer-events: auto;
}
.mm-hero-slider__scroll-cue .bar {
  width: 1px;
  height: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.7), transparent);
}
@media (max-width: 900px) {
  .page-hero { padding: 112px 0 44px !important; }
  .page-hero__copy { padding-left: 14px; }
  .mm-breadcrumb { padding-top: 100px; }
  .mm-breadcrumb + .page-hero { padding-top: 28px !important; }
  .mm-hero-slider__arrows { display: none; }
  .mm-hero-slide__inner {
    padding-top: 112px;
    padding-bottom: 168px;
    /* Comfortable inset on ~375–430px; overrides flush / 0 side padding */
    padding-left: 20px;
    padding-right: 20px;
  }
  .mm-hero-slider__controls {
    bottom: 88px;
    padding-left: 20px;
    padding-right: 20px;
    gap: 12px 16px;
  }
  .mm-hero-slider__scroll-cue { display: none; }
  .mm-hero-slider__progress {
    margin-left: 0;
    max-width: none;
    width: 100%;
    flex: 1 1 100%;
  }
  .mm-hero-slider__tabs { display: none; }
  .mm-hero-slider--viewport {
    min-height: 100vh;
    height: 100vh;
    min-height: 100dvh;
    height: 100dvh;
  }
}

@media (max-width: 600px) {
  .mm-hero-slide__inner {
    padding-top: 104px;
    padding-bottom: 176px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .mm-hero-slide__title { font-size: clamp(30px, 8.2vw, 40px); }
  .mm-hero-slide__description { font-size: 15px; margin-bottom: 22px; }
  .mm-hero-slide__actions { gap: 10px; }
  .mm-hero-slider__controls {
    bottom: 80px;
    padding-left: 20px;
    padding-right: 20px;
  }
}

/*
 * Scroll-reveal was re-enabled after a corporate pass that set .reveal { opacity:1 }.
 * Competing rules left large sections at opacity:0 (empty white/navy gaps in screenshots
 * and until IO fires). Prefer always-visible content for this theme.
 */
.reveal,
.reveal.reveal-delay-1,
.reveal.reveal-delay-2,
.reveal.in {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* ── Logo wall / references (slider + categories) ── */
.mm-refs {
  background: var(--bg-0, #f4f7fa);
}
.mm-refs .sec-title em {
  color: var(--brand);
  font-style: normal;
}

.mm-refs-slider {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 8px 0;
  mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
}
.mm-refs-slider::before,
.mm-refs-slider::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 48px;
  z-index: 2;
  pointer-events: none;
}
.mm-refs-slider::before {
  left: 0;
  background: linear-gradient(90deg, var(--bg-0, #f4f7fa), transparent);
}
.mm-refs-slider::after {
  right: 0;
  background: linear-gradient(270deg, var(--bg-0, #f4f7fa), transparent);
}
.mm-refs-track {
  display: flex;
  width: max-content;
  gap: 18px;
  align-items: stretch;
  animation: mm-refs-marq 42s linear infinite;
}
.mm-refs-slider:hover .mm-refs-track {
  animation-play-state: paused;
}
.mm-refs-group {
  display: flex;
  gap: 18px;
  align-items: stretch;
  flex-shrink: 0;
}
.mm-refs-item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 168px;
  min-height: 96px;
  padding: 18px 22px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(18, 32, 51, 0.05);
  transition: border-color 0.25s var(--ease, ease), box-shadow 0.25s var(--ease, ease), transform 0.25s var(--ease, ease);
}
.mm-refs-item:hover {
  border-color: rgba(31, 95, 159, 0.35);
  box-shadow: 0 12px 28px rgba(18, 32, 51, 0.1);
  transform: translateY(-2px);
}
.mm-refs-item img {
  max-width: 100%;
  max-height: 52px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(1);
  opacity: 0.72;
  transition: filter 0.3s var(--ease, ease), opacity 0.3s var(--ease, ease);
}
.mm-refs.is-grayscale .mm-refs-item:hover img,
.mm-refs:not(.is-grayscale) .mm-refs-item img {
  filter: none;
  opacity: 1;
}
.mm-refs-item__label {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 14px;
  color: var(--ink-0);
  text-align: center;
  line-height: 1.3;
}
@keyframes mm-refs-marq {
  to { transform: translateX(calc(-50% - 9px)); }
}

.mm-refs-categories {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.mm-refs-cat__title {
  font-family: var(--f-display);
  font-size: 18px;
  font-weight: 800;
  color: #102033;
  letter-spacing: 0.02em;
  margin: 0 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}
.mm-refs-cat__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.mm-refs-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 22px 20px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(18, 32, 51, 0.05);
  color: inherit;
  text-decoration: none;
  transition: border-color 0.25s var(--ease, ease), box-shadow 0.25s var(--ease, ease), transform 0.25s var(--ease, ease);
  min-height: 100%;
}
a.mm-refs-card:hover {
  border-color: rgba(31, 95, 159, 0.4);
  box-shadow: 0 14px 32px rgba(18, 32, 51, 0.1);
  transform: translateY(-2px);
}
.mm-refs-card__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 72px;
  padding: 8px;
  background: var(--bg-2, #eef3f7);
  border-radius: 6px;
}
.mm-refs-card__logo img {
  max-width: 100%;
  max-height: 56px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(1);
  opacity: 0.78;
  transition: filter 0.3s var(--ease, ease), opacity 0.3s var(--ease, ease);
}
.mm-refs.is-grayscale .mm-refs-card:hover img,
.mm-refs:not(.is-grayscale) .mm-refs-card__logo img {
  filter: none;
  opacity: 1;
}
.mm-refs-card__fallback {
  font-family: var(--f-display);
  font-weight: 800;
  font-size: 28px;
  color: var(--brand);
  line-height: 1;
}
.mm-refs-card__name {
  font-family: var(--f-display);
  font-size: 16px;
  font-weight: 800;
  color: #102033;
  line-height: 1.3;
}
.mm-refs-card__summary {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--ink-1, #4f5f73);
}

@media (max-width: 980px) {
  .mm-refs-cat__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .mm-refs-item {
    width: 148px;
    min-height: 88px;
  }
}
@media (max-width: 700px) {
  .mm-refs-cat__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .mm-refs-card {
    padding: 16px 14px;
  }
  .mm-refs-item {
    width: 132px;
    min-height: 80px;
    padding: 14px 16px;
  }
  .mm-refs-track,
  .mm-refs-group {
    gap: 12px;
  }
  @keyframes mm-refs-marq {
    to { transform: translateX(calc(-50% - 6px)); }
  }
}
@media (max-width: 420px) {
  .mm-refs-cat__grid {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  .mm-refs-track {
    animation: none;
  }
  .mm-refs-slider {
    overflow-x: auto;
    margin: 0;
    width: 100%;
    mask-image: none;
    -webkit-mask-image: none;
  }
  .mm-refs-slider::before,
  .mm-refs-slider::after {
    display: none;
  }
  .mm-refs-group:nth-child(2) {
    display: none;
  }
}


/* Blog feed + detail */
.mm-blog-feed{ padding: 0 0 88px; }
.mm-blog-feed__all{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-weight:700;
    color:var(--brand);
    white-space:nowrap;
    margin-bottom:8px;
}
.mm-blog-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}
.mm-blog-card{
    display:flex;
    flex-direction:column;
    background:#fff;
    border:1px solid var(--line);
    border-radius:8px;
    overflow:hidden;
    box-shadow:0 10px 28px rgba(18,32,51,.05);
    min-height:100%;
}
.mm-blog-card__media{
    display:block;
    aspect-ratio:16/10;
    overflow:hidden;
    background:#102033;
}
.mm-blog-card__media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .5s ease;
}
.mm-blog-card:hover .mm-blog-card__media img{ transform:scale(1.04); }
.mm-blog-card__body{
    display:flex;
    flex-direction:column;
    gap:12px;
    padding:22px 22px 24px;
    flex:1;
}
.mm-blog-card__meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
    font-family:var(--f-mono);
    font-size:11px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#7a8b9c;
}
.mm-blog-card__cat{
    display:inline-flex;
    align-items:center;
    padding:5px 10px;
    border-radius:999px;
    background:rgba(31,95,159,.1);
    color:var(--brand);
    font-weight:700;
}
.mm-blog-card__title{
    margin:0;
    font-family:var(--f-display);
    font-size:22px;
    line-height:1.25;
    color:#102033;
}
.mm-blog-card__title a{ color:inherit; }
.mm-blog-card__title a:hover{ color:var(--brand); }
.mm-blog-card__excerpt{
    margin:0;
    color:#52657a;
    font-size:15px;
    line-height:1.6;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.mm-blog-card__foot{
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-top:auto;
    padding-top:14px;
    border-top:1px solid var(--line);
    font-size:13px;
    color:#7a8b9c;
}
.mm-blog-detail{
    padding:28px 0 72px;
}
.mm-blog-detail__inner{ max-width:820px; }
.mm-blog-detail__header{ margin-bottom:28px; }
.mm-blog-detail__meta{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:center;
    margin-bottom:16px;
    font-size:13px;
    color:#7a8b9c;
}
.mm-blog-detail__title{
    margin:0 0 16px;
    font-family:var(--f-display);
    font-size:clamp(32px,4vw,48px);
    line-height:1.15;
    color:#102033;
}
.mm-blog-detail__lead{
    margin:0 0 14px;
    font-size:18px;
    line-height:1.65;
    color:#52657a;
}
.mm-blog-detail__author{
    margin:0;
    font-size:14px;
    color:#7a8b9c;
}
.mm-blog-detail__cover{
    margin:0 0 36px;
    border-radius:8px;
    overflow:hidden;
    border:1px solid var(--line);
}
.mm-blog-detail__cover img{
    width:100%;
    display:block;
    aspect-ratio:16/9;
    object-fit:cover;
}
.mm-blog-detail__body,
.blog-post-body{
    color:#314356;
    font-size:17px;
    line-height:1.75;
}
.mm-blog-detail__body .blog-block-heading,
.blog-post-body .blog-block-heading{
    margin:32px 0 12px;
    font-family:var(--f-display);
    font-size:28px;
    color:#102033;
    line-height:1.25;
}
.mm-blog-detail__body .blog-block-paragraph,
.blog-post-body .blog-block-paragraph{
    margin:0 0 16px;
}
.mm-blog-detail__body ul,
.blog-post-body ul{
    margin:0 0 18px;
    padding-left:1.2em;
}
.mm-blog-detail__body li,
.blog-post-body li{ margin-bottom:8px; }
.mm-blog-detail__back{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:40px;
    padding-top:28px;
    border-top:1px solid var(--line);
}
.mm-blog-related{
    padding:0 0 88px;
}
@media (max-width: 980px){
    .mm-blog-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px){
    .mm-blog-grid{ grid-template-columns:1fr; }
    .mm-blog-detail__title{ font-size:30px; }
}


/* FAQ (SSS) */
.mm-faq{ padding: 0 0 88px; }
.mm-faq-list{
    max-width: 820px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.mm-faq-item{
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(18,32,51,.04);
    transition: border-color .25s ease, box-shadow .25s ease;
}
.mm-faq-item[open]{
    border-color: var(--brand);
    box-shadow: 0 12px 28px rgba(31,95,159,.1);
}
.mm-faq-question{
    list-style: none;
    cursor: pointer;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    color: #102033;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    user-select: none;
}
.mm-faq-question::-webkit-details-marker,
.mm-faq-question::marker{ display:none; content:''; }
.mm-faq-question__text{ flex: 1 1 auto; min-width: 0; }
.mm-faq-toggle{
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: #f5f7fa;
    color: var(--brand);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .2s, border-color .2s, color .2s;
}
.mm-faq-toggle__minus{ display:none; }
.mm-faq-item[open] .mm-faq-toggle{
    background: var(--brand);
    border-color: var(--brand);
    color: #fff;
}
.mm-faq-item[open] .mm-faq-toggle__plus{ display:none; }
.mm-faq-item[open] .mm-faq-toggle__minus{ display:block; }
.mm-faq-answer{
    padding: 0 20px 20px;
    color: #52657a;
    font-size: 15px;
    line-height: 1.7;
}
.mm-faq-answer p{ margin: 0 0 10px; }
.mm-faq-answer p:last-child{ margin-bottom: 0; }
@media (max-width: 640px){
    .mm-faq-question{ font-size: 15px; padding: 16px; }
    .mm-faq-answer{ padding: 0 16px 16px; }
}


/* Contact map */
.mm-map{
    padding: 0 0 88px;
}
.mm-map__frame{
    position: relative;
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid var(--line);
    box-shadow: 0 12px 32px rgba(18,32,51,.08);
    background: #e8eef4;
    aspect-ratio: 21 / 9;
    min-height: 280px;
}
.mm-map__frame iframe{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}
.mm-map__link{
    margin: 14px 0 0;
    text-align: right;
    font-size: 14px;
    font-weight: 700;
}
.mm-map__link a{ color: var(--brand); }
@media (max-width: 640px){
    .mm-map__frame{
        aspect-ratio: 4 / 3;
        min-height: 240px;
    }
}

/* Custom scrollbars
   Site-wide + overflow panels (menu sheet, nav dropdowns).
   Thin industrial-blue thumb; soft blue-gray track. Do not hide scrollbars. */
html{
    scrollbar-width: thin;
    scrollbar-color: #7a94ad #e8eef4;
}
.mm-more-sheet__nav,
.nav-dropdown{
    scrollbar-width: thin;
    scrollbar-color: #7a94ad #e8eef4;
}
.nav-dropdown{
    max-height: min(70vh, 360px);
    overflow-y: auto;
}

html::-webkit-scrollbar,
.mm-more-sheet__nav::-webkit-scrollbar,
.nav-dropdown::-webkit-scrollbar{
    width: 9px;
    height: 9px;
}
html::-webkit-scrollbar-track,
.mm-more-sheet__nav::-webkit-scrollbar-track,
.nav-dropdown::-webkit-scrollbar-track{
    background: #e8eef4;
    border-radius: 999px;
}
html::-webkit-scrollbar-thumb,
.mm-more-sheet__nav::-webkit-scrollbar-thumb,
.nav-dropdown::-webkit-scrollbar-thumb{
    background: #7a94ad;
    border-radius: 999px;
    border: 2px solid #e8eef4;
    background-clip: padding-box;
}
html::-webkit-scrollbar-thumb:hover,
.mm-more-sheet__nav::-webkit-scrollbar-thumb:hover,
.nav-dropdown::-webkit-scrollbar-thumb:hover{
    background: var(--brand, #1f5f9f);
    border: 2px solid #e8eef4;
    background-clip: padding-box;
}
html::-webkit-scrollbar-corner,
.mm-more-sheet__nav::-webkit-scrollbar-corner,
.nav-dropdown::-webkit-scrollbar-corner{
    background: transparent;
}

@media (prefers-reduced-motion: reduce){
    html::-webkit-scrollbar-thumb,
    .mm-more-sheet__nav::-webkit-scrollbar-thumb,
    .nav-dropdown::-webkit-scrollbar-thumb{
        transition: none;
    }
}

