/* ─── KDES Inner Pages — Shared Stylesheet ─────────────────────────────── */
:root{
  --bg:#070605;--ink:#f0ece4;--ink-dim:rgba(240,236,228,.45);
  --ink-ghost:rgba(240,236,228,.12);--accent:#dc5000;
  --border:rgba(240,236,228,.1);--font:'DM Sans',ui-sans-serif,system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:hidden;scroll-behavior:auto}
body{font-family:var(--font);background:var(--bg);color:var(--ink);overflow-x:hidden;cursor:none}
img,video{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
ul{list-style:none}

/* NOISE */
body::after{content:'';position:fixed;inset:0;z-index:9990;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.03;will-change:auto}

/* CURSOR */
#cdot,#cring{position:fixed;border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%)}
#cdot{width:6px;height:6px;background:var(--ink)}
#cring{width:32px;height:32px;border:1px solid rgba(240,236,228,.2);transition:width .35s,height .35s,border-color .3s}
.hovering #cring{width:52px;height:52px;border-color:var(--accent)}

/* PRELOADER */
#pre{position:fixed;inset:0;z-index:9980;background:#000;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:28px}
.pre-logo{width:min(220px,50vw);height:auto}
.pre-bar-wrap{width:min(180px,40vw);height:1px;background:rgba(240,236,228,.1);overflow:hidden}
.pre-bar-fill{height:100%;width:0;background:var(--accent);transition:width 1.4s cubic-bezier(.4,0,.2,1)}
.pre-label{font-size:8px;letter-spacing:.38em;text-transform:uppercase;color:rgba(240,236,228,.25)}

/* NAV */
#nav{position:fixed;inset:0 0 auto 0;z-index:900;padding:0 52px;height:88px;display:flex;align-items:center;transition:background .5s,border-color .5s}
#nav.scrolled{background:rgba(7,6,5,.92);backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}
.nav-logo{max-width:200px;width:auto;height:auto}
.nav-links{display:flex;gap:2px;margin-left:auto;align-items:center}
.nav-link{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(240,236,228,.82);padding:8px 14px;transition:color .25s}
.nav-link:hover{color:var(--ink)}
.nav-link.active{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px;text-decoration-thickness:2px}
.nav-item{position:relative}
.nav-dropdown{position:absolute;top:calc(100% + 10px);left:0;background:rgba(10,8,6,.97);border:1px solid var(--border);border-top:2px solid var(--accent);min-width:200px;padding:8px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .25s;z-index:200}
.nav-item:hover .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.nav-dropdown a{display:block;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);padding:10px 18px;transition:color .2s}
.nav-dropdown a:hover{color:var(--ink)}
.nav-sub{position:relative}
.nav-sub-drop{position:absolute;left:100%;top:0;background:rgba(10,8,6,.97);border:1px solid var(--border);min-width:190px;padding:8px 0;opacity:0;visibility:hidden;transition:all .25s}
.nav-sub:hover .nav-sub-drop{opacity:1;visibility:visible}
.nav-socials{display:flex;align-items:center;gap:14px;margin-left:20px;padding-left:20px;border-left:1px solid var(--border)}
.nav-social-icon{color:rgba(240,236,228,.5);transition:color .25s;display:flex;align-items:center;line-height:0}
.nav-social-icon:hover{color:var(--ink)}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:4px;margin-left:auto}
.nav-toggle span{display:block;width:22px;height:1px;background:var(--ink);transition:transform .3s,opacity .3s}
.nav-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ── PAGE HERO ── */
.page-hero{position:relative;height:72vh;min-height:480px;overflow:hidden;display:flex;align-items:flex-end}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.45) saturate(.7);transform:scale(1.04)}
.page-hero-veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,6,5,.95) 0%,rgba(7,6,5,.5) 50%,rgba(7,6,5,.2) 100%)}
.page-hero-veil2{position:absolute;inset:0;background:linear-gradient(115deg,rgba(7,6,5,.6) 0%,transparent 55%)}
.page-hero-content{position:relative;z-index:2;padding:0 64px 80px}
.page-hero-eyebrow{font-size:9px;letter-spacing:.44em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;display:flex;align-items:center;gap:14px}
.page-hero-eyebrow::before{content:'';display:block;width:28px;height:1px;background:var(--accent);flex-shrink:0}
.page-hero-title{font-size:clamp(2.5rem,6vw,6.5rem);font-weight:200;letter-spacing:-.04em;line-height:1;margin-bottom:20px}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim)}
.breadcrumb a{color:var(--ink-dim);transition:color .25s}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb span{color:var(--accent)}

/* ── BUTTONS ── */
.btn-fill{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:#fff;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:15px 34px;transition:opacity .25s;cursor:none}
.btn-fill:hover{opacity:.82}
.btn-ghost{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:11px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--border);padding:14px 26px;transition:border-color .3s,color .3s;cursor:none}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}

/* ── SCROLL REVEAL ── */
.sr-fade{opacity:0;transform:translateY(32px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}
.sr-fade.revealed{opacity:1;transform:translateY(0)}
.sr-fade.d1{transition-delay:.1s}.sr-fade.d2{transition-delay:.2s}.sr-fade.d3{transition-delay:.3s}
.sr-fade.d4{transition-delay:.4s}.sr-fade.d5{transition-delay:.5s}

/* ── SECTION UTILITIES ── */
.section-pad{padding:110px 64px}
.section-kicker{font-size:9px;letter-spacing:.36em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;display:flex;align-items:center;gap:14px}
.section-kicker::before{content:'';display:block;width:28px;height:1px;background:var(--accent);flex-shrink:0}
.section-hl{font-size:clamp(1.8rem,3.5vw,3.5rem);font-weight:200;letter-spacing:-.03em;line-height:1.1;margin-bottom:32px}
.section-body{font-size:15px;line-height:1.8;color:var(--ink-dim);max-width:640px}
.divider{height:1px;background:var(--border);margin:0}

/* ── TICKER ── */
.ticker{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:14px 0;overflow:hidden;background:var(--bg)}
.ticker-inner{display:flex;white-space:nowrap;animation:tickRun 22s linear infinite}
.ticker.rev .ticker-inner{animation-direction:reverse}
.ticker-inner span{display:inline-flex;align-items:center;gap:22px;padding:0 22px;font-size:9px;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-dim)}
.ticker-inner span::after{content:'✦';color:var(--accent);font-size:.6em}
@keyframes tickRun{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── VMV CARDS ── */
.vmv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}
.vmv-card{background:var(--bg);padding:48px 40px;position:relative;overflow:hidden}
.vmv-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.22,1,.36,1)}
.vmv-card.revealed::before{transform:scaleX(1)}
.vmv-tag{font-size:8px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:24px;display:flex;align-items:center;gap:10px}
.vmv-tag::before{content:'';display:block;width:12px;height:1px;background:var(--accent)}
.vmv-title{font-size:1.15rem;font-weight:300;line-height:1.3;margin-bottom:18px}
.vmv-body{font-size:13px;line-height:1.8;color:var(--ink-dim)}

/* ── FEATURE PANELS (about page) ── */
.fp-section{padding:110px 0;border-top:1px solid var(--border)}
.fp-section:first-of-type{border-top:none}
.fp-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;min-height:500px}
.fp-grid.rev{direction:rtl}
.fp-grid.rev>*{direction:ltr}
.fp-img{overflow:hidden;position:relative}
.fp-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.72) saturate(.75);transition:transform .9s,filter .6s}
.fp-img:hover img{transform:scale(1.04);filter:brightness(.85) saturate(.9)}
.fp-body{display:flex;flex-direction:column;justify-content:center;padding:72px 64px;background:rgba(240,236,228,.02)}
.fp-num{font-size:60px;font-weight:200;color:rgba(240,236,228,.06);letter-spacing:-.05em;line-height:1;margin-bottom:24px}
.fp-kicker{font-size:9px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.fp-title{font-size:clamp(1.5rem,2.5vw,2.2rem);font-weight:300;letter-spacing:-.03em;line-height:1.25;margin-bottom:22px}
.fp-text{font-size:14px;line-height:1.85;color:var(--ink-dim)}

/* ── STATS ── */
.stats-bar{padding:72px 64px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:grid;grid-template-columns:repeat(4,1fr);gap:48px;text-align:center;background:rgba(220,80,0,.04)}
.stat-num{font-size:clamp(2.4rem,4vw,4rem);font-weight:200;letter-spacing:-.05em;line-height:1;color:var(--ink)}
.stat-suf{color:var(--accent)}
.stat-lbl{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim);margin-top:8px}

/* ── SERVICE GRID (services page) ── */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border)}
.svc-card{background:var(--bg);position:relative;overflow:hidden;aspect-ratio:4/3;cursor:none}
.svc-card-img{position:absolute;inset:0}
.svc-card-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.5) saturate(.65);transition:transform .8s,filter .6s}
.svc-card:hover .svc-card-img img{transform:scale(1.07);filter:brightness(.68) saturate(.85)}
.svc-card-veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,6,5,.95) 0%,rgba(7,6,5,.3) 60%,transparent 100%)}
.svc-card-body{position:absolute;bottom:0;left:0;right:0;padding:24px}
.svc-card-num{font-size:8px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.svc-card-name{font-size:clamp(1rem,1.4vw,1.2rem);font-weight:300;line-height:1.2;margin-bottom:10px}
.svc-card-link{font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);display:flex;align-items:center;gap:6px;transition:color .25s,gap .3s}
.svc-card:hover .svc-card-link{color:var(--accent);gap:12px}

/* ── SERVICE DETAIL (service pages) ── */
.svc-detail{padding:110px 64px}
.svc-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.svc-detail-imgs{display:flex;flex-direction:column;gap:12px}
.svc-detail-imgs img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:brightness(.78) saturate(.8)}
.svc-detail-body{}
.svc-detail-kicker{font-size:9px;letter-spacing:.36em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;display:flex;align-items:center;gap:14px}
.svc-detail-kicker::before{content:'';display:block;width:28px;height:1px;background:var(--accent)}
.svc-detail-hl{font-size:clamp(1.8rem,3vw,3rem);font-weight:200;letter-spacing:-.04em;line-height:1.1;margin-bottom:28px}
.svc-detail-text{font-size:14px;line-height:1.85;color:var(--ink-dim);margin-bottom:40px}
.svc-deliverables-title{font-size:9px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}
.svc-feature-list{display:flex;flex-direction:column;gap:0}
.svc-feature-list li{font-size:13px;color:var(--ink-dim);padding:13px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px;line-height:1.4}
.svc-feature-list li::before{content:'';display:block;width:6px;height:1px;background:var(--accent);flex-shrink:0}
.svc-related{padding:0 64px 110px;border-top:1px solid var(--border);margin-top:72px;padding-top:72px}
.svc-related-kicker{font-size:9px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin-bottom:36px}
.svc-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}
.svc-related-card{background:var(--bg);padding:32px 28px;transition:background .25s}
.svc-related-card:hover{background:rgba(220,80,0,.06)}
.svc-related-num{font-size:8px;letter-spacing:.26em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.svc-related-name{font-size:1rem;font-weight:300;margin-bottom:12px;color:var(--ink)}
.svc-related-arrow{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);display:flex;align-items:center;gap:6px;transition:gap .3s,color .3s}
.svc-related-card:hover .svc-related-arrow{gap:12px;color:var(--accent)}

/* ── PORTFOLIO GRID ── */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}
.pgrid-item{overflow:hidden;position:relative;cursor:none;aspect-ratio:4/3}
.pgrid-item img{width:100%;height:100%;object-fit:cover;filter:brightness(.78) saturate(.8);transition:transform .6s,filter .5s;display:block}
.pgrid-item:hover img{transform:scale(1.06);filter:brightness(.96) saturate(1)}
.pgrid-hover{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:16px;background:linear-gradient(to top,rgba(7,6,5,.88),transparent 55%);opacity:0;transition:opacity .4s}
.pgrid-item:hover .pgrid-hover{opacity:1}
.pgrid-hover-tag{font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}
.pgrid-hover-title{font-size:12px;color:var(--ink)}
.pgrid-item.hidden{display:none}
.port-filters{display:flex;flex-wrap:wrap;gap:0;margin-bottom:40px}
.port-filter{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);padding:10px 20px;background:none;border:1px solid var(--border);margin-right:-1px;margin-bottom:-1px;cursor:none;transition:all .22s;font-family:inherit}
.port-filter.active,.port-filter:hover{background:var(--accent);color:#fff;border-color:var(--accent);z-index:1}

/* ── CONTACT ── */
.cg-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.cg-office{background:rgba(240,236,228,.03);border:1px solid var(--border);padding:48px 44px}
.cg-office-flag{font-size:9px;letter-spacing:.36em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;display:flex;align-items:center;gap:12px}
.cg-office-flag::before{content:'';display:block;width:16px;height:1px;background:var(--accent)}
.cg-office-name{font-size:1.5rem;font-weight:200;letter-spacing:-.03em;margin-bottom:32px}
.cg-row{display:flex;gap:14px;margin-bottom:18px;align-items:flex-start}
.cg-row-icon{width:14px;height:14px;flex-shrink:0;margin-top:3px;opacity:.5}
.cg-row-label{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}
.cg-row-val{font-size:13px;color:var(--ink-dim);line-height:1.7}
.cg-row-val a{color:var(--ink-dim);transition:color .25s}
.cg-row-val a:hover{color:var(--accent)}
.cg-maps{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:56px}
.cg-maps iframe{width:100%;height:320px;border:0;filter:invert(90%) hue-rotate(180deg) brightness(.85)}
.cg-form{margin-top:72px;max-width:680px}
.cg-form-title{font-size:clamp(1.4rem,2.5vw,2rem);font-weight:200;letter-spacing:-.03em;margin-bottom:36px}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:8px}
.form-group input,.form-group textarea,.form-group select{width:100%;background:rgba(240,236,228,.04);border:1px solid var(--border);color:var(--ink);font-family:var(--font);font-size:13px;padding:14px 16px;outline:none;transition:border-color .25s;resize:vertical}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(240,236,228,.2)}
.form-group input:focus,.form-group textarea:focus{border-color:var(--accent)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-submit{margin-top:28px}

/* ── PAGE CTA ── */
.page-cta{padding:130px 44px;text-align:center;position:relative;overflow:hidden;border-top:1px solid var(--border)}
.page-cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,rgba(220,80,0,.1),transparent 65%)}
.page-cta-kicker{font-size:9px;letter-spacing:.38em;text-transform:uppercase;color:var(--accent);margin-bottom:22px}
.page-cta-hl{font-size:clamp(2.2rem,6vw,6rem);font-weight:200;letter-spacing:-.04em;line-height:1;margin-bottom:28px}
.page-cta-hl em{font-style:normal;color:var(--accent)}
.page-cta-sub{font-size:14px;color:var(--ink-dim);max-width:480px;margin:0 auto 44px;line-height:1.7}
.page-cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ── FOOTER ── */
footer{padding:72px 44px 40px;border-top:1px solid var(--border)}
.ft-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.ft-logo{height:56px;width:auto;margin-bottom:16px}
.ft-brand-text{font-size:13px;line-height:1.7;color:var(--ink-dim);max-width:240px}
.ft-col-title{font-size:8px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:16px}
.ft-links li{margin-bottom:9px}
.ft-links a{font-size:13px;color:var(--ink-dim);transition:color .2s}
.ft-links a:hover{color:var(--ink)}
.ft-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px;border-top:1px solid var(--border);flex-wrap:wrap;gap:10px}
.ft-copy{font-size:11px;color:var(--ink-dim)}
.ft-socials{display:flex;gap:18px}
.ft-socials a{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);transition:color .25s}
.ft-socials a:hover{color:var(--ink)}
.ft-dev-link{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.08em;color:rgba(240,236,228,.38);transition:color .25s;text-decoration:none;white-space:nowrap}
.ft-dev-link:hover{color:rgba(240,236,228,.7)}
.ft-dev-logo{width:16px;height:16px;object-fit:contain;opacity:.7;flex-shrink:0}
.ft-dev-link:hover .ft-dev-logo{opacity:1}

/* ── RESPONSIVE ── */

/* 1280 — large laptop */
@media(max-width:1280px){
  #nav{padding:0 40px}
  .section-pad{padding:100px 48px}
  .page-hero-content{padding:0 48px 72px}
  .fp-body{padding:64px 48px}
  .svc-detail{padding:100px 48px}
  .svc-related{padding:0 48px 100px;margin-top:64px;padding-top:64px}
  .stats-bar{padding:64px 48px}
  footer{padding:64px 40px 36px}
}

/* 1100 — tablet landscape */
@media(max-width:1100px){
  .fp-grid{grid-template-columns:1fr}
  .fp-img{min-height:380px}
  .svc-grid{grid-template-columns:repeat(3,1fr)}
  .svc-detail-grid{grid-template-columns:1fr;gap:48px}
  .cg-grid{grid-template-columns:1fr}
  .cg-maps{grid-template-columns:1fr}
  .svc-related-grid{grid-template-columns:1fr 1fr}
  .vmv-grid{grid-template-columns:1fr}
  .stats-bar{grid-template-columns:repeat(2,1fr);gap:32px}
  .ft-grid{grid-template-columns:1fr 1fr;gap:32px}
  .pgrid{grid-template-columns:repeat(3,1fr)}
  .port-filters{flex-wrap:wrap}
  .page-hero-title{font-size:clamp(2.2rem,6vw,5rem)}
}

/* 768 — tablet portrait / large phone */
@media(max-width:768px){
  #nav{padding:0 20px;height:68px}
  .nav-logo{max-width:155px}
  .nav-links{display:none}
  .nav-socials{display:none}
  .nav-toggle{display:flex}
  .nav-links.open{display:flex;flex-direction:column;position:fixed;inset:68px 0 0 0;background:rgba(7,6,5,.98);padding:36px 20px;overflow-y:auto;z-index:899}
  .nav-links.open .nav-link{font-size:13px;padding:14px 0;border-bottom:1px solid var(--border)}
  .nav-links.open .nav-socials{display:flex;margin-top:28px;padding-top:24px;padding-left:0;border-left:none;border-top:1px solid var(--border)}
  .page-hero{min-height:380px}
  .page-hero-content{padding:0 20px 52px}
  .page-hero-title{font-size:clamp(1.9rem,7vw,3rem)}
  .section-pad{padding:68px 20px}
  .section-hl{font-size:clamp(1.5rem,5.5vw,2.5rem)}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .fp-body{padding:44px 20px}
  .fp-grid{grid-template-columns:1fr}
  .fp-img{min-height:300px}
  .svc-detail{padding:68px 20px}
  .svc-related{padding:0 20px 68px;margin-top:40px;padding-top:40px}
  .svc-related-grid{grid-template-columns:1fr}
  .stats-bar{padding:44px 20px;grid-template-columns:1fr 1fr;gap:28px}
  .vmv-card{padding:36px 24px}
  .pgrid{grid-template-columns:repeat(2,1fr)}
  .port-filters{flex-wrap:wrap}
  .port-filter{font-size:8px;padding:8px 14px;flex:0 0 auto}
  .page-cta{padding:88px 20px}
  .page-cta-hl{font-size:clamp(1.8rem,7vw,3rem)}
  .page-cta-btns{flex-direction:column;align-items:center}
  footer{padding:52px 20px 28px}
  .ft-grid{grid-template-columns:1fr;gap:24px}
  .ft-logo{height:44px}
  .ft-bottom{flex-direction:column;gap:14px;text-align:center}
  .ft-socials{justify-content:center}
  .cg-grid{padding:0}
  .cg-office{padding:32px 24px}
  .cg-maps iframe{height:220px}
  .form-row{grid-template-columns:1fr}
  .cg-form{max-width:100%}
  .breadcrumb{font-size:8px}
  .svc-feature-list li{font-size:12px}
}

/* 480 — small phones */
@media(max-width:480px){
  #nav{height:60px}
  .nav-logo{max-width:136px}
  .nav-links.open{inset:60px 0 0 0}
  .page-hero{min-height:320px}
  .page-hero-content{padding:0 16px 44px}
  .section-pad{padding:56px 16px}
  .pgrid{grid-template-columns:repeat(2,1fr)}
  .svc-grid{grid-template-columns:1fr 1fr}
  .stats-bar{grid-template-columns:1fr 1fr;padding:36px 16px}
  .vmv-grid{grid-template-columns:1fr}
  .ft-grid{grid-template-columns:1fr}
  .page-cta{padding:72px 16px}
  footer{padding:44px 16px 24px}
  .port-filter{font-size:7px;padding:7px 10px}
  .svc-detail{padding:56px 16px}
  .svc-related{padding:0 16px 56px}
  .fp-body{padding:36px 16px}
  .fp-img{min-height:260px}
  .cg-office{padding:28px 20px}
  .cg-maps iframe{height:200px}
}

/* 375 — iPhone SE / very small */
@media(max-width:375px){
  .section-pad{padding:48px 14px}
  .pgrid{grid-template-columns:1fr 1fr}
  .svc-grid{grid-template-columns:1fr}
  .stats-bar{grid-template-columns:1fr;gap:20px;padding:32px 14px}
  .page-cta{padding:60px 14px}
  footer{padding:40px 14px 20px}
  .svc-detail{padding:48px 14px}
  .vmv-card{padding:28px 18px}
  .section-hl{font-size:clamp(1.3rem,6vw,2rem)}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
