/* ============================================================
   STUDIO UTEXO v3 DESIGN SYSTEM
   Anthropic-inspired: flat nav, typographic hero, dark/light
   alternating sections, no glass, no pill radii.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,700;0,800;1,700&display=swap');

:root{
  --bg:#F2EFE9;--dark:#141413;--text:#141413;
  --muted:rgba(20,20,19,0.56);--muted-dk:rgba(242,239,233,0.55);
  --accent:#141413;--line:rgba(20,20,19,0.10);--line-dk:rgba(255,255,255,0.10);
  --body:'Inter',system-ui,sans-serif;--serif:'Playfair Display',Georgia,serif;
  --wrap:min(1260px,100vw - 80px);--ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}

/* ── Hide legacy ─────────────────────────────────────────── */
.hero,.hero-media,.hero-lineart,#grain,#cursor,#progress-bar,
#transition-overlay,#theme-toggle,.nav-gem,#preloader,.bg-orb{display:none!important}
.hero-stats,.port-intro{display:none!important}

/* ── NAV ─────────────────────────────────────────────────── */
#nav{
  position:fixed!important;top:0!important;left:0!important;right:0!important;
  width:100%!important;max-width:100%!important;transform:none!important;
  z-index:100;display:flex!important;align-items:center!important;
  justify-content:space-between!important;
  padding:18px 60px!important;
  background:var(--bg)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  border-radius:0!important;border:none!important;
  border-bottom:1px solid var(--line)!important;
  box-shadow:none!important;
}
.nav-logo{font-size:0!important;color:transparent!important;line-height:0!important;gap:0!important;flex:0 0 auto;display:flex!important;align-items:center}
.nav-logo::before{content:""!important;display:inline-block!important;width:20px!important;height:20px!important;flex:0 0 20px!important;background:var(--text)!important;background-image:none!important;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)!important;border-radius:0!important}
.nav-links{display:flex!important;align-items:center!important;gap:2px!important;list-style:none!important;padding:0!important;margin:0!important;position:static!important;background:transparent!important;border:none!important;box-shadow:none!important}
.nav-links li{display:flex!important;align-items:center!important;height:100%!important}
.nav-links li details{display:flex!important;align-items:center!important}
.nav-links li details summary{display:flex!important;align-items:center!important;cursor:pointer!important}
.nav-links a,.nav-dropdown details summary{font-family:var(--body)!important;font-size:13px!important;font-weight:500!important;color:var(--muted)!important;padding:8px 12px!important;border-radius:6px!important;letter-spacing:.01em!important;transition:color .2s,background .2s!important;background:transparent!important;box-shadow:none!important;border:none!important}
.nav-links a:hover,.nav-links a.current,.nav-dropdown details summary:hover{color:var(--text)!important;background:rgba(20,20,19,.05)!important;transform:none!important}
.nav-dropdown details summary::after{content:'▾';font-size:10px;opacity:.6;margin-left:4px}
.nav-cta{font-family:var(--body)!important;font-size:13px!important;font-weight:600!important;color:#fff!important;background:var(--text)!important;border:1px solid var(--text)!important;border-radius:8px!important;padding:9px 18px!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;transition:opacity .2s!important;min-width:auto!important}
.nav-cta:hover{opacity:.82!important;transform:none!important;box-shadow:none!important;background:var(--text)!important}
.nav-cta::after{display:none!important}
.nav-dropdown-menu{background:#fff!important;border:1px solid var(--line)!important;border-radius:10px!important;box-shadow:0 8px 24px rgba(20,20,19,.10)!important;padding:8px!important}
.nav-dropdown-menu a{color:var(--text)!important;font-size:13px!important;padding:9px 12px!important;border-radius:6px!important}
.nav-dropdown-menu a:hover{background:rgba(20,20,19,.05)!important}
.nav-toggle{background:transparent!important;border:1px solid var(--line)!important;border-radius:8px!important;padding:8px!important;width:40px!important;height:40px!important;box-shadow:none!important}
.nav-toggle span{background:var(--text)!important;height:1.5px!important;border-radius:2px!important}
#nav.open .nav-links{display:flex!important;position:absolute!important;left:0!important;right:0!important;top:calc(100% + 8px)!important;flex-direction:column!important;background:#fff!important;border:1px solid var(--line)!important;box-shadow:0 12px 32px rgba(20,20,19,.10)!important;border-radius:10px!important;padding:12px!important;margin:0 16px!important}
#nav.open .nav-links li,.nav-links.open li{width:100%}

/* ── V2 HERO ─────────────────────────────────────────────── */
.v2-hero{width:100%;min-height:100svh;padding:140px 60px 80px;display:flex;flex-direction:column;justify-content:center;background:var(--bg);position:relative}
.v2-hero-grid{width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:end}
.v2-eyebrow{display:block;font-family:var(--body);font-size:11px;letter-spacing:.20em;text-transform:uppercase;color:var(--muted);margin-bottom:28px}
.v2-hero-title{font-family:var(--serif)!important;font-size:clamp(48px,5.8vw,84px)!important;line-height:1.03!important;letter-spacing:-.025em!important;font-weight:800!important;color:var(--text)!important;margin:0!important}
.v2-hero-right{padding-bottom:8px;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:6px}
.v2-hero-sub{font-family:var(--body)!important;font-size:clamp(16px,1.4vw,19px)!important;line-height:1.62!important;color:var(--muted)!important;margin:0 0 32px!important;max-width:38ch!important}
.v2-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.v2-scroll-hint{width:var(--wrap);margin:56px auto 0;font-family:var(--body);font-size:12px;color:var(--muted);letter-spacing:.12em;display:flex;align-items:center;gap:16px}
.v2-scroll-hint::before{content:"";display:block;width:1px;height:52px;background:var(--line)}

/* ── Buttons ─────────────────────────────────────────────── */
.v2-btn-primary{font-family:var(--body);font-size:14px;font-weight:600;color:#fff;background:var(--text);border:1px solid var(--text);border-radius:8px;padding:13px 22px;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:opacity .2s}
.v2-btn-primary:hover{opacity:.82}
.v2-btn-ghost{font-family:var(--body);font-size:14px;font-weight:500;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:8px;padding:13px 22px;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:border-color .2s,background .2s}
.v2-btn-ghost:hover{border-color:rgba(20,20,19,.3);background:rgba(20,20,19,.03)}
.v2-btn-outline-light{font-family:var(--body);font-size:14px;font-weight:500;color:rgba(242,239,233,.8);background:transparent;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:13px 22px;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:border-color .2s,color .2s,background .2s}
.v2-btn-outline-light:hover{color:#fff;border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.06)}

/* ── Section system ──────────────────────────────────────── */
.v2-section{width:100%;padding:100px 60px;background:var(--bg)}
.v2-section.v2-dark{background:var(--dark);color:#fff}
.v2-section.v2-white{background:#fff}
.v2-container{width:var(--wrap);margin:0 auto}
.v2-rule{width:100%;height:1px;background:var(--line);border:none;margin:0}
.v2-dark .v2-rule{background:var(--line-dk)}
.v2-section-label{font-size:11px;letter-spacing:.20em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;font-family:var(--body);font-weight:500;display:block}
.v2-dark .v2-section-label{color:var(--muted-dk)}
.v2-section-title{font-family:var(--serif)!important;font-size:clamp(38px,4.2vw,60px)!important;font-weight:800!important;line-height:1.05!important;letter-spacing:-.025em!important;color:var(--text)!important;margin:0!important}
.v2-dark .v2-section-title{color:#fff!important}
.v2-section-sub{font-family:var(--body);font-size:15px;line-height:1.65;color:var(--muted);max-width:52ch;margin:16px 0 0}
.v2-dark .v2-section-sub{color:var(--muted-dk)}

/* ── Selected Work (dark) ────────────────────────────────── */
.v2-work-grid{display:grid;grid-template-columns:260px 1fr;gap:64px;align-items:start}
.v2-work-left{position:sticky;top:100px;display:flex;flex-direction:column;gap:28px;align-items:flex-start}
#hp-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#hp-grid .proj-card{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:none!important;border-radius:12px!important;transition:transform .3s var(--ease),background .3s!important}
#hp-grid .proj-card:hover{background:rgba(255,255,255,.10)!important;transform:translateY(-2px)!important;box-shadow:none!important}

/* ── Services grid ───────────────────────────────────────── */
.v2-services-header{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:48px}
.v2-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.v2-service-item{background:var(--bg);padding:32px;transition:background .2s}
.v2-service-item:hover{background:rgba(20,20,19,.03)}
.v2-service-num{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-family:var(--body);margin-bottom:16px;display:block}
.v2-service-title{font-family:var(--body)!important;font-size:18px!important;font-weight:700!important;color:var(--text)!important;margin:0 0 10px!important;letter-spacing:-.01em!important;line-height:1.2!important}
.v2-service-desc{font-size:14px!important;line-height:1.65!important;color:var(--muted)!important;font-family:var(--body)!important;margin:0!important}
.v2-service-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.v2-tag{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);padding:5px 10px;border-radius:4px;font-family:var(--body)}

/* ── Stats ───────────────────────────────────────────────── */
.v2-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:60px}
.v2-stat-item{background:var(--bg);padding:28px 32px}
.v2-stat-num{font-family:var(--body)!important;font-size:clamp(28px,3vw,42px)!important;font-weight:700!important;letter-spacing:-.04em!important;color:var(--text)!important;line-height:1!important;margin-bottom:6px!important}
.v2-stat-label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-family:var(--body)}

/* ── Pricing (light) ─────────────────────────────────────── */
.v2-section-header{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:48px}
.v2-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.v2-price-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:36px 32px 32px;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s;position:relative}
.v2-price-card:hover{border-color:rgba(20,20,19,.20);box-shadow:0 4px 20px rgba(20,20,19,.06)}
.v2-price-card.featured{border-color:var(--muted);box-shadow:none}
.v2-price-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-family:var(--body);font-weight:600;margin-bottom:16px;display:block}
.v2-price-title{font-family:var(--body)!important;font-size:clamp(38px,4vw,56px)!important;font-weight:700!important;letter-spacing:-.04em!important;line-height:1!important;color:var(--text)!important;margin:0 0 12px!important}
.v2-price-copy{font-size:14px!important;line-height:1.65!important;color:var(--muted)!important;font-family:var(--body)!important;margin:0 0 24px!important}
.v2-price-list{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.v2-price-list li{font-size:14px;color:var(--text);font-family:var(--body);line-height:1.5;padding-left:18px;position:relative}
.v2-price-list li::before{content:"—";position:absolute;left:0;color:var(--muted);font-size:12px}

/* ── Reviews (light) ─────────────────────────────────────── */
.v2-reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.v2-review-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px 28px 24px}
.v2-review-stars{color:var(--text);font-size:14px;letter-spacing:2px;margin-bottom:14px;display:block}
.v2-review-text{font-size:15px!important;line-height:1.7!important;color:var(--text)!important;font-family:var(--body)!important;margin:0 0 16px!important}
.v2-review-name{font-size:12px!important;letter-spacing:.10em!important;text-transform:uppercase!important;color:var(--muted)!important;font-family:var(--body)!important;margin:0!important}

/* ── FOOTER ──────────────────────────────────────────────── */

.footer-logo{display:flex!important;align-items:center!important;gap:0!important;color:transparent!important;font-size:0!important;line-height:0!important}
.footer-logo::before{content:""!important;width:18px!important;height:18px!important;flex:0 0 18px!important;display:inline-block!important;background:#fff!important;background-image:none!important;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)!important;border-radius:0!important}
.footer-copy,.footer-right,.footer-meta{font-family:var(--body)!important;font-size:13px!important;line-height:1.7!important;color:rgba(242,239,233,.5)!important}
.footer-copy{max-width:340px!important}
.footer-links,.footer-nav{display:flex!important;flex-direction:column!important;flex-wrap:wrap!important;gap:2px!important;list-style:none!important;padding:0!important;margin:0!important}
footer#footer .footer-links a,footer#footer .footer-nav a{font-family:var(--body)!important;font-size:13px!important;color:rgba(242,239,233,.52)!important;padding:5px 8px!important;border-radius:5px!important;transition:color .2s!important;background:transparent!important;display:block!important}
footer#footer .footer-links a:hover,footer#footer .footer-nav a:hover{color:#fff!important;background:rgba(255,255,255,.07)!important;transform:none!important}
.footer-email a{color:rgba(242,239,233,.62)!important;text-decoration:underline!important;text-underline-offset:3px!important}
.footer-email a:hover{color:#fff!important}

/* ── Page hero (inner pages) ─────────────────────────────── */
.port-hero,.contact-hero,.about-hero,.legal-hero,.page-hero{width:var(--wrap)!important;margin:100px auto 0!important;padding:60px 0 40px!important;border-bottom:1px solid var(--line)!important;margin-bottom:60px!important;min-height:auto!important}
.port-hero-title,.about-title,.contact-title,.legal-title,.page-title{font-family:var(--serif)!important;font-size:clamp(36px,5vw,68px)!important;font-weight:800!important;line-height:1.03!important;letter-spacing:-.025em!important;color:var(--text)!important;margin:0!important;max-width:none!important}
.page-kicker{font-size:11px!important;letter-spacing:.20em!important;text-transform:uppercase!important;color:var(--muted)!important;font-family:var(--body)!important;margin-bottom:16px!important;display:block!important;opacity:1!important}
.page-sub,.proj-sub,.section-copy{font-family:var(--body)!important;font-size:16px!important;line-height:1.65!important;color:var(--muted)!important;margin:16px 0 0!important}

/* ── Section containers ──────────────────────────────────── */
.section,.content-section,.proj-section{width:var(--wrap)!important;margin:0 auto!important;padding:60px 0!important}
.section-head,.grid-head{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end;margin-bottom:36px}
.section-title,h2,.proj-title{font-family:var(--body)!important;font-size:clamp(22px,2.2vw,30px)!important;font-weight:700!important;letter-spacing:-.02em!important;line-height:1.16!important;color:var(--text)!important;margin:0!important}
h1{font-family:var(--serif)!important;font-weight:800!important;letter-spacing:-.025em!important}
h3,h4,h5,h6{font-family:var(--body)!important;font-weight:700!important}

/* ── Global card system ──────────────────────────────────── */
.card,.panel,.stat-card,.image-card,.review-card,.proj-card,.contact-card,.legal-card,.price-card,.blog-card,.metric,.svc-card,.port-intro-stat,.hero-stat,.anim-card{background:#fff!important;border:1px solid var(--line)!important;box-shadow:none!important;border-radius:12px!important;backdrop-filter:none!important}
.card:hover,.panel:hover,.price-card:hover,.blog-card:hover,.review-card:hover,.metric:hover,.proj-card:hover,.svc-card:hover{border-color:rgba(20,20,19,.18)!important;box-shadow:0 4px 18px rgba(20,20,19,.06)!important;transform:translateY(-2px)!important}
.svc-tag,.chip,.tag-pill{background:rgba(20,20,19,.04)!important;border:1px solid var(--line)!important;color:var(--muted)!important;border-radius:4px!important;font-weight:500!important}

/* ── Typography ──────────────────────────────────────────── */
.section-kicker,.page-kicker,.hero-chip,.eyebrow,.proj-sec-lbl,.gallery-lbl,.port-intro-label,.metric-label,.stat-label,.anim-badge,.price-label{font-family:var(--body)!important;font-size:11px!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:var(--muted)!important;font-weight:500!important}
.hero-sub,.section-copy,.page-sub,.proj-sub,.svc-desc,.tc-text,.footer-copy,p{font-family:var(--body)!important}
.svc-title,.step-title,.tc-name,.anim-card h2,.overlay-title,.proj-card-name{font-family:var(--body)!important;font-weight:700!important}

/* ── Forms ───────────────────────────────────────────────── */
input,textarea,select{font-family:var(--body)!important;border:1px solid var(--line)!important;border-radius:8px!important;background:rgba(255,255,255,.9)!important;color:var(--text)!important}
input:focus,textarea:focus,select:focus{border-color:rgba(20,20,19,.3)!important;box-shadow:0 0 0 3px rgba(20,20,19,.06)!important;outline:none!important}
.btn-primary,.submit-btn,.cta-btn{font-family:var(--body)!important;font-size:13px!important;font-weight:600!important;color:#fff!important;background:var(--text)!important;border:1px solid var(--text)!important;border-radius:8px!important;backdrop-filter:none!important;box-shadow:none!important;padding:12px 20px!important;transition:opacity .2s!important}
.btn-primary:hover,.submit-btn:hover{opacity:.82!important;transform:none!important}
.btn-primary::after,.submit-btn::after{display:none!important}
.contact-panel .cf-window{background:rgba(249,248,245,.97)!important;border:1px solid var(--line)!important;border-radius:12px!important;box-shadow:none!important}
.contact-panel .cf-topbar{background:rgba(255,255,255,.85)!important;border-bottom:1px solid var(--line)!important}
.contact-panel .submit-btn{background:var(--text)!important;color:#fff!important;border:none!important;border-radius:8px!important;font-weight:600!important;box-shadow:none!important;opacity:1!important}
.contact-panel .submit-btn:hover{background:rgba(20,20,19,.82)!important;transform:none!important;opacity:1!important}
.contact-panel .cbi.on{border-color:rgba(107,91,149,.3)!important}
.contact-panel .cbi.on .cbi-ck{background:var(--text)!important}
input[type="range"]{accent-color:var(--muted)!important}

/* ── Blog ────────────────────────────────────────────────── */
.blog-card{background:#fff!important;border:1px solid var(--line)!important;border-radius:12px!important;box-shadow:none!important;padding:28px!important}
.blog-card:hover{border-color:rgba(20,20,19,.18)!important;box-shadow:0 4px 18px rgba(20,20,19,.06)!important;transform:none!important}
.blog-card h2,.blog-card h3{font-family:var(--body)!important;font-size:18px!important;font-weight:700!important;line-height:1.25!important;letter-spacing:-.01em!important;margin:0 0 10px!important;color:var(--text)!important}
.blog-card .meta{font-size:11px!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:var(--muted)!important;margin-bottom:10px!important;font-family:var(--body)!important}
.blog-card p{font-size:14px!important;line-height:1.65!important;color:var(--muted)!important;margin:0 0 16px!important}
.blog-card .btn-primary{font-size:12px!important;padding:8px 14px!important;background:transparent!important;color:var(--text)!important;border:1px solid var(--line)!important}
.blog-card .btn-primary:hover{background:rgba(20,20,19,.05)!important;border-color:rgba(20,20,19,.2)!important;opacity:1!important}
.blog-search{font-family:var(--body)!important;border:1px solid var(--line)!important;border-radius:8px!important;background:#fff!important}
.blog-search:focus{border-color:rgba(20,20,19,.2)!important;box-shadow:0 0 0 3px rgba(20,20,19,.05)!important}
.article-content{background:#fff!important;border:1px solid var(--line)!important;box-shadow:none!important;border-radius:12px!important}
.article-content h2,.article-content h3{font-family:var(--body)!important}
.filter-btn{font-family:var(--body)!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:6px!important;box-shadow:none!important;color:var(--text)!important}
.filter-btn.on{background:var(--text)!important;color:#fff!important;border-color:var(--text)!important}

/* ── About accordions ────────────────────────────────────── */
.v2-accord{display:grid;gap:0;border-top:1px solid var(--line)}
.v2-accord details{border-bottom:1px solid var(--line)}
.v2-accord summary{font-family:var(--body)!important;font-size:clamp(17px,1.8vw,21px)!important;font-weight:600!important;color:var(--text)!important;letter-spacing:-.01em!important;padding:22px 0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;cursor:pointer!important;list-style:none!important;background:transparent!important;border-radius:0!important;border:none!important;box-shadow:none!important;width:100%!important;min-height:auto!important}
.v2-accord summary::-webkit-details-marker{display:none}
.v2-accord summary::after{content:"+";font-size:22px;font-weight:300;color:var(--muted);flex-shrink:0}
.v2-accord details[open] summary::after{content:"−"}
.v2-accord-body{padding:0 0 28px;display:grid;gap:14px}
.v2-accord-body p{font-family:var(--body)!important;font-size:15px!important;line-height:1.75!important;color:var(--muted)!important;margin:0!important}
.v2-accord-body strong{color:var(--text)!important;font-weight:600!important}
.v2-accord-body ul{margin:0;padding-left:18px}
.v2-accord-body li{font-family:var(--body)!important;font-size:15px!important;line-height:1.75!important;color:var(--muted)!important;margin-bottom:6px}
.v2-skills{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.v2-skill-tag{font-size:12px;font-family:var(--body);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:6px 12px}
.v2-about-grid{display:grid;grid-template-columns:300px 1fr;gap:64px;align-items:start}
.v2-about-img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top;border-radius:12px;border:1px solid var(--line)}

/* ── Scrollbar ───────────────────────────────────────────── */
html{scrollbar-color:rgba(20,20,19,.18) transparent}
::-webkit-scrollbar-thumb{background:rgba(20,20,19,.16)!important;border-radius:99px!important}

/* ── Mobile ──────────────────────────────────────────────── */
@media(max-width:980px){
  #nav{padding:16px 24px!important}
  .v2-hero{padding:120px 24px 60px}
  .v2-hero-grid{grid-template-columns:1fr;gap:28px}
  .v2-section{padding:72px 24px}
  .v2-container{width:calc(100vw - 48px)}
  .v2-work-grid{grid-template-columns:1fr;gap:40px}
  .v2-work-left{position:static}
  #hp-grid{grid-template-columns:1fr}
  .v2-services-grid{grid-template-columns:1fr}
  .v2-services-header{grid-template-columns:1fr}
  .v2-stats{grid-template-columns:1fr 1fr}
  .v2-pricing-grid{grid-template-columns:1fr}
  .v2-reviews-grid{grid-template-columns:1fr}
  .v2-about-grid{grid-template-columns:1fr;gap:32px}
  .v2-section-header{grid-template-columns:1fr}
  /* footer handled by v3-footer rules */
  .v2-scroll-hint{display:none}
}
@media(max-width:700px){
  #nav{padding:14px 16px!important}

/* ═══════════════════════════════════════════════════════════

/* ════════════════════════════════════════════════════════
   REVIEWS — flex scroll container, JS drives scrollLeft
   ════════════════════════════════════════════════════════ */
.v2-reviews-grid {
  display:flex!important; flex-wrap:nowrap!important;
  overflow-x:hidden!important; overflow-y:visible!important;
  gap:16px!important; margin-top:32px!important;
  user-select:none!important; -webkit-user-select:none!important;
}
.v2-review-card {
  flex:0 0 340px!important; min-width:0!important;
  /* kill the hover transform — it fights the scroll */
  transform:none!important; transition:border-color .2s,box-shadow .2s!important;
}
@media(max-width:700px){
  .v2-review-card { flex:0 0 82vw!important; }
  .v2-reviews-grid { gap:12px!important; padding:0 20px!important; margin:16px -20px 0!important; }
}
@media(max-width:480px){
  .v2-review-card { flex:0 0 88vw!important; }
}

/* ════════════════════════════════════════════════════════
   FOOTER — single definition, wins all cascade
   ════════════════════════════════════════════════════════ */
footer,footer#footer,footer.v3-footer,footer#footer.v3-footer {
  display:block!important; padding:0!important;
  background:var(--dark)!important; border-radius:0!important;
  border:none!important; box-shadow:none!important;
  width:100%!important; max-width:100%!important; margin:0!important;
  grid-template-columns:unset!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
}
.v3-footer-inner {
  width:var(--wrap)!important; margin:0 auto!important;
  display:grid!important; grid-template-columns:1.55fr 1fr 1fr!important;
  gap:56px!important; padding:64px 0 52px!important; align-items:start!important;
}
.v3-footer-logo {
  display:block!important; width:24px!important; height:24px!important;
  background:#fff!important; clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)!important;
  margin-bottom:16px!important; flex-shrink:0!important;
}
.v3-footer-tagline {
  font-family:var(--body)!important; font-size:14px!important; font-weight:600!important;
  color:rgba(242,239,233,.85)!important; margin:0 0 10px!important;
}
.v3-footer-copy {
  font-family:var(--body)!important; font-size:13px!important; line-height:1.7!important;
  color:rgba(242,239,233,.45)!important; margin:0 0 24px!important; max-width:280px!important;
}
.v3-footer-legal {
  font-family:var(--body)!important; font-size:11px!important;
  color:rgba(242,239,233,.28)!important; margin:0!important;
}
.v3-footer-nav-label {
  display:block!important; font-family:var(--body)!important; font-size:10px!important;
  letter-spacing:.22em!important; text-transform:uppercase!important;
  color:rgba(242,239,233,.36)!important; margin-bottom:16px!important; font-weight:500!important;
}
.v3-footer-links { display:flex!important; flex-direction:column!important; gap:2px!important; }
.v3-footer-links a {
  font-family:var(--body)!important; font-size:13px!important;
  color:rgba(242,239,233,.55)!important; padding:5px 8px!important;
  margin-left:-8px!important; border-radius:5px!important;
  display:block!important; text-decoration:none!important;
  transition:color .15s,background .15s!important;
  /* override global.css .footer-links a rule */
  background:transparent!important; transform:none!important;
}
.v3-footer-links a:hover { color:#fff!important; background:rgba(255,255,255,.07)!important; }

/* ════════════════════════════════════════════════════════
   ARTICLE / BLOG
   ════════════════════════════════════════════════════════ */
.article-wrap { width:min(860px,calc(100vw - 48px)); margin:112px auto 60px; }
.article-content { padding:28px 32px; }
.article-content h2 { font-size:22px!important; margin:28px 0 12px!important; }
.article-content h3 { font-size:18px!important; margin:22px 0 10px!important; }
.article-content p  { font-size:15px!important; line-height:1.78!important; margin:0 0 18px!important; }
.article-content ul,.article-content ol { padding-left:20px; margin-bottom:18px; }
.article-content li { font-size:15px!important; line-height:1.75!important; color:var(--muted)!important; }
.article-content a  { color:var(--text)!important; opacity:.7; text-decoration:underline!important; text-underline-offset:3px!important; }
.article-content a.btn-primary { text-decoration:none!important; opacity:1!important; color:#fff!important; }
.blog-grid    { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.proj-grid    { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; width:var(--wrap); margin:0 auto; }
.proj-card    { border-radius:12px!important; overflow:hidden; position:relative; aspect-ratio:16/11; cursor:pointer; }
.proj-grid .proj-card { background:var(--dark)!important; border:1px solid rgba(255,255,255,.06)!important; box-shadow:none!important; }
.port-filter-bar { width:var(--wrap); margin:18px auto; display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.filter-group { display:flex; gap:8px; flex-wrap:wrap; }
.blog-card .btn-primary {
  background:var(--text)!important; color:#fff!important;
  border:1px solid var(--text)!important; font-size:13px!important;
  padding:10px 16px!important; border-radius:8px!important;
  text-decoration:none!important; transform:none!important;
}

/* ════════════════════════════════════════════════════════
   NAV — desktop only: hide toggle, align li items
   ════════════════════════════════════════════════════════ */
.nav-toggle { display:none!important; }
.nav-links li { display:flex!important; align-items:center!important; }
.nav-links li details { display:flex!important; align-items:center!important; }
.nav-links li details summary { display:flex!important; align-items:center!important; }
.nav-links a { line-height:1!important; display:flex!important; align-items:center!important; }

/* ════════════════════════════════════════════════════════
   TABLET ≤980px
   ════════════════════════════════════════════════════════ */
@media(max-width:980px){
  .blog-grid { grid-template-columns:1fr 1fr; }
  .pricing-grid,.v2-pricing-grid { grid-template-columns:1fr; }
  .proj-grid { grid-template-columns:1fr 1fr; }
  .port-filter-bar { width:calc(100vw - 48px); }
  .v3-footer-inner {
    grid-template-columns:1fr 1fr!important; gap:36px!important;
    padding:48px 24px 40px!important; width:100%!important;
  }
  .v3-footer-brand { grid-column:1/-1!important; }
}

/* ════════════════════════════════════════════════════════
   MOBILE ≤700px
   ════════════════════════════════════════════════════════ */
@media(max-width:700px){
  body { overflow-x:hidden; }

  /* NAV */
  #nav { padding:14px 20px!important; }
  .nav-cta { display:none!important; }
  .nav-toggle {
    display:flex!important; flex-direction:column!important;
    align-items:center!important; justify-content:center!important;
    gap:5px!important; background:transparent!important; border:none!important;
    box-shadow:none!important; width:40px!important; height:40px!important;
    padding:0!important; cursor:pointer!important; z-index:201!important; position:relative!important;
  }
  .nav-toggle span {
    width:22px!important; height:1.5px!important; display:block!important;
    background:var(--text)!important; border-radius:2px!important;
    transition:transform .22s,opacity .22s!important;
  }
  .nav-links { display:none!important; visibility:hidden!important; }
  #nav.open .nav-links {
    display:flex!important; visibility:visible!important;
    position:fixed!important; top:0!important; right:0!important;
    bottom:0!important; left:auto!important; width:min(300px,82vw)!important;
    flex-direction:column!important; justify-content:flex-start!important;
    align-items:flex-start!important; background:var(--bg)!important;
    z-index:200!important; padding:72px 24px 40px!important; gap:0!important;
    border:none!important; border-radius:0!important;
    border-left:1px solid var(--line)!important;
    box-shadow:-16px 0 48px rgba(20,20,19,.12)!important;
    overflow-y:auto!important; margin:0!important;
    animation:drawerIn .24s cubic-bezier(.22,1,.36,1)!important;
  }
  @keyframes drawerIn { from{transform:translateX(100%)} to{transform:none} }
  #nav.open::before {
    content:''!important; position:fixed!important; inset:0!important;
    background:rgba(20,20,19,.3)!important; z-index:199!important;
  }
  #nav.open .nav-links li { width:100%!important; border-bottom:1px solid var(--line)!important; }
  #nav.open .nav-links li:last-child { border-bottom:none!important; }
  #nav.open .nav-links a, #nav.open .nav-links summary {
    font-size:18px!important; font-weight:500!important; padding:15px 0!important;
    color:var(--text)!important; display:block!important; width:100%!important;
    background:transparent!important; border-radius:0!important; transform:none!important;
  }
  #nav.open .nav-toggle { position:fixed!important; top:16px!important; right:20px!important; z-index:202!important; }
  #nav.open .nav-toggle span:nth-child(1) { transform:rotate(45deg) translate(0,6.5px)!important; }
  #nav.open .nav-toggle span:nth-child(2) { opacity:0!important; }
  #nav.open .nav-toggle span:nth-child(3) { transform:rotate(-45deg) translate(0,-6.5px)!important; }
  .nav-dropdown details summary { font-size:18px!important; font-weight:500!important; padding:15px 0!important; }
  .nav-dropdown-menu { position:static!important; box-shadow:none!important; border:none!important; background:transparent!important; padding:2px 0 8px 14px!important; border-radius:0!important; }
  .nav-dropdown-menu a { font-size:15px!important; color:var(--muted)!important; padding:9px 0!important; }

  /* HERO — fully centred */
  .v2-hero {
    padding:0!important; min-height:88svh!important;
    display:flex!important; flex-direction:column!important;
    align-items:center!important; justify-content:center!important;
  }
  .v2-hero-grid {
    display:flex!important; flex-direction:column!important;
    align-items:center!important; justify-content:center!important;
    gap:24px!important; text-align:center!important;
    width:calc(100% - 40px)!important; max-width:100%!important;
  }
  .v2-hero-left { width:100%!important; text-align:center!important; }
  .v2-hero-right { width:100%!important; text-align:center!important; }
  .v2-eyebrow { text-align:center!important; display:block!important; margin:0 auto 16px!important; }
  .v2-hero-title {
    font-size:clamp(38px,11vw,56px)!important; text-align:center!important;
    letter-spacing:-.03em!important; line-height:1.05!important; margin:0!important; width:100%!important;
  }
  .v2-hero-sub { display:none!important; }
  .v2-hero-actions {
    display:flex!important; flex-direction:row!important; gap:10px!important;
    justify-content:center!important; flex-wrap:wrap!important; width:100%!important;
  }
  .v2-btn-primary,.v2-btn-ghost {
    flex:0 0 auto!important; width:auto!important; min-width:130px!important;
    padding:14px 20px!important; font-size:14px!important; justify-content:center!important;
  }
  .v2-scroll-hint { display:none!important; }

  /* SECTIONS */
  .v2-section { padding:48px 20px!important; }
  .v2-container { width:100%!important; padding:0!important; }
  .section,.content-section,.proj-section { width:calc(100vw - 40px)!important; padding:28px 0!important; }
  .v2-section-header,.v2-services-header,.section-head,.grid-head { grid-template-columns:1fr!important; gap:10px!important; }
  .v2-section-title { font-size:clamp(24px,7vw,34px)!important; }

  /* PAGE HEROES */
  .port-hero,.about-hero,.contact-hero,.legal-hero,.page-hero {
    width:calc(100vw - 40px)!important; margin:76px auto 24px!important; padding:28px 0 20px!important;
  }
  .port-hero-title,.about-title,.contact-title,.legal-title,.page-title { font-size:clamp(26px,8vw,38px)!important; }

  /* ARTICLE */
  .article-wrap { width:calc(100vw - 40px)!important; margin:76px auto 48px!important; }
  .article-content { padding:18px 16px!important; }
  .article-content h2 { font-size:18px!important; }
  .article-content h3 { font-size:16px!important; }

  /* GRIDS */
  .blog-grid { grid-template-columns:1fr!important; }
  .blog-card { padding:20px 18px!important; }
  .blog-card .btn-primary { display:block!important; text-align:center!important; width:100%!important; }
  .v2-services-grid { grid-template-columns:1fr!important; gap:0!important; }
  .v2-service-item { padding:20px 0!important; border-bottom:1px solid var(--line)!important; }
  .v2-service-item:last-child { border-bottom:none!important; }
  .v2-stats { grid-template-columns:1fr 1fr!important; }
  .v2-stat-item { padding:18px 14px!important; }
  .v2-stat-num { font-size:clamp(24px,6.5vw,36px)!important; }
  .v2-pricing-grid,.pricing-grid { grid-template-columns:1fr!important; gap:12px!important; }
  .v2-price-card,.price-card { padding:24px 20px!important; }
  .v2-price-card .v2-btn-primary,.v2-price-card .v2-btn-ghost,.price-card .btn-primary {
    width:auto!important; padding:12px 20px!important; display:inline-flex!important;
  }
  .proj-grid { grid-template-columns:1fr!important; width:calc(100vw - 40px)!important; }
  .port-filter-bar { width:calc(100vw - 40px)!important; flex-direction:column!important; align-items:flex-start!important; }
  .v2-work-grid { grid-template-columns:1fr!important; gap:28px!important; }
  .v2-work-left { position:static!important; }
  #hp-grid { grid-template-columns:1fr!important; }
  .v2-about-grid { grid-template-columns:1fr!important; gap:24px!important; }
  .contact-wrap,.contact-split { grid-template-columns:1fr!important; }
  .legal-grid,.legal-hub-grid { grid-template-columns:1fr!important; }
  .proj-hero { grid-template-columns:1fr!important; }
  .proj-sections { grid-template-columns:1fr!important; }
  input,textarea,select { font-size:16px!important; }
  .btn-primary,.v2-btn-primary,.v2-btn-ghost { min-height:44px!important; }

  /* FOOTER MOBILE */
  .v3-footer-inner {
    grid-template-columns:1fr 1fr!important; gap:28px 20px!important;
    padding:40px 20px 36px!important; width:100%!important;
    box-sizing:border-box!important; align-items:start!important;
  }
  .v3-footer-brand {
    grid-column:1/-1!important; padding-bottom:20px!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
  }
  .v3-footer-copy { display:none!important; }
  .v3-footer-links { gap:0!important; }
  .v3-footer-links a { padding:5px 0!important; margin-left:0!important; }
}

@media(max-width:480px){
  .v2-hero-title { font-size:clamp(34px,10.5vw,48px)!important; }
  .v2-review-card { flex:0 0 88vw!important; }
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after { animation:none!important; transition-duration:.01ms!important; }
}
