:root {
    --bg: #050505;
    --bg-alt: #0a0a0a;
    --bg-card: #0d0d0d;
    --bg-elevated: #141414;
    --bg-hover: #1c1c1c;
    --border: rgba(255,255,255,0.06);
    --border-hover: rgba(255,255,255,0.1);
    --orange: #FF6B1A;
    --orange-light: #FF8C42;
    --orange-dim: rgba(255,107,26,0.1);
    --orange-glow: rgba(255,107,26,0.2);
    --orange-border: rgba(255,107,26,0.25);
    --text: #EDE8E2;
    --text-secondary: #A8A29E;
    --text-muted: #6B6865;
    --text-dim: #3a3836;
    --green: #4ade80;
    --amber: #fbbf24;
    --red: #f87171;
    --font: 'DM Sans', sans-serif;
    --font-display: 'Syne', sans-serif;
    --font-mono: 'Space Mono', monospace;
    --radius: 6px;
    --radius-lg: 12px;
    --ease: cubic-bezier(0.16,1,0.3,1);
}
@font-face { font-family: 'DM Sans'; font-display: swap; }
@font-face { font-family: 'Syne'; font-display: swap; }
@font-face { font-family: 'Space Mono'; font-display: swap; }

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body { background:var(--bg); color:var(--text); font-family:var(--font); font-weight:400; font-size:16px; line-height:1.7; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
::selection { background:var(--orange-dim); color:var(--orange-light); }
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background:var(--bg); }
::-webkit-scrollbar-thumb { background:var(--orange); border-radius:999px; }
img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration:none; }
ul { list-style:none; }

.container { max-width:1200px; margin:0 auto; padding:0 2rem; }

/* ─── HEADER ─── */
.header { position:fixed; top:0; left:0; right:0; z-index:200; width:100%; transition:background .4s,border .4s; border-bottom:1px solid transparent; }
.header-logo { position:relative; z-index:203; }
.header.scrolled { background:rgba(5,5,5,.92); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); border-color:var(--border); }
.header-inner { display:flex; align-items:center; justify-content:space-between; padding:.7rem 2rem; max-width:1200px; margin:0 auto; }
.header-logo { display:flex; align-items:center; gap:10px; z-index:210; }
.header-logo img { height:2rem; width:auto; }
.header-logo span { font-family:var(--font-display); font-weight:800; font-size:clamp(.75rem,1.5vw,.85rem); }

/* ─── HAMBURGER ─── */
.header-burger { display:none; flex-direction:column; justify-content:center; gap:5px; background:none; border:none; cursor:pointer; padding:12px; min-width:48px; min-height:48px; z-index:210; }
.header-burger__line { display:block; width:24px; height:2px; background:var(--text); border-radius:2px; transition:all .3s var(--ease); transform-origin:center; }
.header-burger[aria-expanded="true"] .header-burger__line:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.header-burger[aria-expanded="true"] .header-burger__line:nth-child(2) { opacity:0; }
.header-burger[aria-expanded="true"] .header-burger__line:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* ─── HEADER CTA ─── */
.header-cta { background:transparent; border:1px solid var(--orange-border); color:var(--orange) !important; padding:10px 22px; border-radius:var(--radius); font-weight:600; font-size:clamp(.62rem,1vw,.65rem); letter-spacing:.08em; text-transform:uppercase; transition:all .3s; min-height:44px; }
.header-cta:hover { background:var(--orange); color:var(--bg) !important; border-color:var(--orange); }

/* ─── DROPDOWNS (desktop hover + mobile click via JS) ─── */
.nav-dropdown { position:relative; }
.nav-dropdown-toggle { display:flex; align-items:center; gap:4px; background:none; border:none; font-size:clamp(.68rem,1.2vw,.7rem); font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); cursor:pointer; transition:color .3s; font-family:var(--font); min-height:44px; padding:0; white-space:nowrap; }
.nav-dropdown-toggle::after { content:''; display:inline-block; width:5px; height:5px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-left:2px; transition:transform .2s; }
.nav-dropdown-toggle:hover { color:var(--text); }
.nav-dropdown.open .nav-dropdown-toggle { color:var(--orange-light); }
.nav-dropdown.open .nav-dropdown-toggle::after { transform:rotate(-135deg); }
.nav-dropdown-menu { position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(8px); background:var(--bg-elevated); border:1px solid var(--border); border-radius:var(--radius-lg); padding:.5rem 0; min-width:190px; opacity:0; visibility:hidden; transition:all .25s var(--ease); pointer-events:none; margin-top:8px; z-index:220; }
.nav-dropdown-menu::before { content:''; position:absolute; top:-16px; left:0; right:0; height:16px; }
.nav-dropdown:hover .nav-dropdown-menu { opacity:1; visibility:visible; transform:translateX(-50%) translateY(4px); pointer-events:auto; }
.nav-dropdown.open .nav-dropdown-menu { opacity:1; visibility:visible; transform:translateX(-50%) translateY(4px); pointer-events:auto; }
.nav-dropdown-menu a { display:block; padding:.6rem 1.2rem; font-size:clamp(.68rem,1.2vw,.7rem); font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); transition:all .2s; white-space:nowrap; min-height:40px; display:flex; align-items:center; }
.nav-dropdown-menu a:hover { color:var(--text); background:var(--bg-hover); }

/* ─── HEADER NAV ─── */
.header-nav-overlay { display:none; position:fixed; inset:0; z-index:999; background:rgba(0,0,0,.65); }

/* Desktop nav — positioned to share the header bar */
@media (min-width:921px) {
    .header-nav-logo { display:none; }
    .header-nav-close { display:none; }
    .nav-contact { display:none; }
    .header-nav {
        display:flex;
        align-items:center;
        margin-left:auto;
    }
    .header-nav-inner {
        display:flex; align-items:center; gap:2rem;
    }
    .header-nav-inner > a {
        font-size:clamp(.68rem,1.2vw,.7rem); font-weight:500; letter-spacing:.08em;
        text-transform:uppercase; color:var(--text-muted); transition:color .3s;
        min-height:44px; display:flex; align-items:center; white-space:nowrap; text-decoration:none;
    }
    .header-nav-inner > a:hover { color:var(--text); }
    .header-nav-inner > .header-cta {
        background:transparent; border:1px solid var(--orange-border);
        color:var(--orange) !important; padding:10px 22px; border-radius:var(--radius);
        font-weight:600; font-size:clamp(.62rem,1vw,.65rem); letter-spacing:.08em;
        text-transform:uppercase; transition:all .3s; min-height:44px;
    }
    .header-nav-inner > .header-cta:hover { background:var(--orange); color:var(--bg) !important; border-color:var(--orange); }
    .header-nav-overlay { display:none !important; }
}

/* Mobile nav — full-screen overlay */
@media (max-width:920px) {
    .header-burger { display:flex; position:relative; z-index:1002; }
    .header-burger[aria-expanded="true"] { display:none; }

    .header-nav-logo { display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:800; font-size:1.1rem; letter-spacing:.06em; color:var(--text); text-decoration:none; margin-bottom:.5rem; padding:0; }
    .header-nav-logo img { height:2rem; width:auto; }
    .header-nav-close { display:flex; align-items:center; justify-content:center; position:fixed; top:1rem; right:1.5rem; z-index:1003; width:48px; height:48px; background:none; border:1px solid var(--border); border-radius:var(--radius); color:var(--text); font-size:1.2rem; cursor:pointer; transition:color .2s, border-color .2s; }
    .header-nav-close:hover { color:var(--orange); border-color:var(--orange-border); }

    .header-nav {
        position:fixed; top:0; left:0; right:0;
        min-height:100dvh; min-height:-webkit-fill-available;
        z-index:1000;
        background:var(--bg);
        display:flex; flex-direction:column;
        padding:5rem 1.5rem 2rem;
        overflow-y:auto;
        -webkit-overflow-scrolling:touch;
        opacity:0; visibility:hidden;
        transition:opacity .3s, visibility .3s;
    }
    .header-nav.is-open { opacity:1; visibility:visible; }

    .header-nav-inner { max-width:500px; margin:0 auto; width:100%; }

    .header-nav-inner > a { display:flex; align-items:center; font-size:.85rem; padding:.8rem 0; min-height:50px; border-bottom:1px solid var(--border); color:var(--text-secondary); text-transform:uppercase; letter-spacing:.04em; font-weight:500; text-decoration:none; }
    .header-nav-inner > a:hover { color:var(--text); }
    .header-nav-inner > .header-cta { justify-content:center; margin-top:1rem; border-bottom:none; width:100%; box-sizing:border-box; text-align:center; min-height:48px; }

    .nav-contact { margin-top:2rem; padding-top:1rem; border-top:1px solid var(--border); }
    .nav-contact-item { display:flex; align-items:center; gap:.6rem; padding:.4rem 0; font-size:.75rem; color:var(--text-muted); }
    .nav-contact-item span { flex-shrink:0; font-size:.85rem; color:var(--orange); }

    .nav-dropdown { border-bottom:1px solid var(--border); }
    .nav-dropdown-toggle { font-size:.85rem; width:100%; justify-content:space-between; padding:.8rem 0; min-height:50px; background:none; border:none; cursor:pointer; color:var(--text-secondary); font-family:var(--font); font-weight:500; text-transform:uppercase; letter-spacing:.04em; display:flex; align-items:center; }
    .nav-dropdown-toggle::after { content:''; width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); transition:transform .3s; flex-shrink:0; }
    .nav-dropdown.open .nav-dropdown-toggle { color:var(--orange-light); }
    .nav-dropdown.open .nav-dropdown-toggle::after { transform:rotate(-135deg); }
    .nav-dropdown-menu { display:none; }
    .nav-dropdown.open .nav-dropdown-menu { display:block; }
    .nav-dropdown-menu a { display:flex; align-items:center; font-size:.8rem; padding:.6rem 1rem; color:var(--text-muted); min-height:44px; text-decoration:none; }
    .nav-dropdown-menu a:hover { color:var(--text); }

    .header-nav-overlay.is-visible { display:block; }
}

/* ─── HERO ─── */
.hero { padding:10rem 0 4rem; position:relative; overflow:hidden; min-height:90vh; display:flex; align-items:center; }
.hero-bg { position:absolute; inset:0; pointer-events:none; }
.hero-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,0.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.015) 1px,transparent 1px); background-size:64px 64px; -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,black 0%,transparent 70%); mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,black 0%,transparent 70%); }
.hero-orb { position:absolute; width:600px; height:600px; top:-200px; right:-150px; background:radial-gradient(circle,rgba(255,69,0,0.06) 0%,transparent 65%); border-radius:50%; }
.hero-fox { position:absolute; right:3%; top:50%; transform:translateY(-50%); width:500px; opacity:.07; pointer-events:none; }
.hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.08; pointer-events:none; background:#050505; }
@media (max-width:768px) { .hero-fox { width:300px; right:50%; margin-right:-150px; top:auto; bottom:5%; transform:none; opacity:.12; } }
.hero .container { position:relative; z-index:2; }
.hero-pill { display:inline-flex; align-items:center; gap:6px; background:var(--orange-dim); border:1px solid var(--orange-border); border-radius:100px; padding:5px 14px; font-family:var(--font-mono); font-size:.55rem; text-transform:uppercase; color:var(--orange-light); letter-spacing:.06em; margin-bottom:2rem; }
.hero-pill .dot { width:5px; height:5px; border-radius:50%; background:var(--orange); animation:pulse 2.2s ease-in-out infinite; }
@keyframes pulse { 0%{transform:scale(1);opacity:1} 50%{transform:scale(.5);opacity:.6} 100%{transform:scale(1);opacity:1} }
.hero h1 { font-family:var(--font-display); font-weight:800; font-size:clamp(2.4rem,5vw,4rem); letter-spacing:-.05em; line-height:1; max-width:none; }
.hero h1 .accent { color:var(--orange); }
.accent { color:var(--orange); }
.hero h1 .ghost { color:transparent; -webkit-text-stroke:1.5px rgba(255,107,26,.2); }
.hero p { font-size:.95rem; color:var(--text-secondary); max-width:800px; line-height:1.85; margin-top:1.2rem; }
.hero-btns { display:flex; gap:1rem; margin-top:2rem; }
.hero-showreel { margin-top:3rem; border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--border); background:var(--bg-card); aspect-ratio:16/9; max-width:900px; display:flex; align-items:center; justify-content:center; }
.hero-showreel span { font-family:var(--font-display); font-weight:800; font-size:3rem; color:rgba(255,107,26,.06); letter-spacing:-.04em; }

.btn { display:inline-flex; align-items:center; gap:8px; border:none; border-radius:var(--radius); padding:14px 30px; font-family:var(--font); font-weight:600; font-size:clamp(.72rem,1.2vw,.75rem); text-transform:uppercase; letter-spacing:.06em; cursor:pointer; transition:all .3s; text-decoration:none; min-height:48px; }
.btn-primary { background:var(--orange); color:var(--bg); }
.btn-primary:hover { background:var(--orange-light); transform:translateY(-1px); box-shadow:0 4px 20px var(--orange-glow); }
.btn-outline { background:transparent; border:1px solid var(--border); color:var(--text-muted); }
.btn-outline:hover { color:var(--text); border-color:var(--border-hover); }
.btn-outline svg { transition:transform .3s; }
.btn-outline:hover svg { transform:translateX(4px); }

/* ─── WHAT WE DO ─── */
.section { padding:5rem 0; }
.section-header { margin-bottom:2rem; }
.tag { font-family:var(--font-mono); font-size:clamp(.6rem,1vw,.65rem); text-transform:uppercase; color:var(--orange); letter-spacing:.1em; margin-bottom:.5rem; }
.section-title { font-family:var(--font-display); font-weight:800; font-size:clamp(1.8rem,3vw,2.6rem); letter-spacing:-.04em; line-height:1.1; }
.section-desc { color:var(--text-secondary); font-size:.9rem; line-height:1.8; max-width:600px; margin-top:.8rem; }

/* ─── SIMPLE SERVICES (6 cards) ─── */
.services-simple { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1.5rem; margin-top:2rem; }
.service-simple { padding:2rem; border-radius:var(--radius-lg); background:var(--bg-card); border:1px solid var(--border); transition:all .4s; }
.service-simple:hover { border-color:var(--orange-border); transform:translateY(-3px); }
.ss-num { font-family:var(--font-display); font-weight:800; font-size:2.5rem; line-height:1; color:rgba(255,107,26,.08); margin-bottom:.5rem; }
.service-simple h3 { font-family:var(--font-display); font-weight:700; font-size:1.05rem; margin-bottom:.5rem; }
.service-simple p { font-size:.82rem; color:var(--text-secondary); line-height:1.7; }
@media (max-width:768px) { .services-simple { grid-template-columns:1fr; } }

/* ─── BADGES ─── */
.badge { padding:4px 14px; border-radius:100px; font-size:.62rem; background:var(--orange-dim); border:1px solid var(--orange-border); color:var(--text-secondary); font-family:var(--font-mono); }

/* ─── STATS ─── */
.stats { background:var(--bg-card); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:3rem 0; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; text-align:center; }
.stat-value { font-family:var(--font-display); font-weight:800; font-size:2.5rem; line-height:1; color:var(--orange); }
.stat-value .s { font-size:1.3rem; color:var(--text-muted); }
.stat-label { font-size:.68rem; color:var(--text-muted); margin-top:4px; }
@media (max-width:768px) { .stats-grid { grid-template-columns:repeat(2,1fr); gap:1rem; } }

/* ─── SEO AUDIT ─── */
.audit-block { background:var(--bg-alt); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:5rem 0; }
.audit-widget { margin-top:2rem; background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; }
.audit-bar { display:flex; align-items:center; gap:.6rem; padding:.6rem 1.2rem; background:var(--bg-elevated); border-bottom:1px solid var(--border); }
.audit-dot { width:9px; height:9px; border-radius:50%; }
.audit-dot.r { background:#ff5f57; }
.audit-dot.y { background:#febc2e; }
.audit-dot.g { background:#28c840; }
.audit-title { font-family:var(--font-mono); font-size:.6rem; color:var(--text-dim); }
.audit-body { padding:1.5rem; }
.audit-input { display:flex; gap:.75rem; margin-bottom:1.5rem; position:relative; }
.audit-input input { flex:1; padding:.75rem 1rem .75rem 4.5rem; background:var(--bg); border:1px solid var(--border); border-radius:var(--radius); color:var(--text); font-family:var(--font-mono); font-size:.8rem; outline:none; transition:border-color .3s; }
.audit-input input:focus { border-color:var(--orange-border); }
.audit-prefix { position:absolute; left:1rem; top:50%; transform:translateY(-50%); font-size:.55rem; font-weight:600; color:var(--text-dim); letter-spacing:.06em; font-family:var(--font-mono); pointer-events:none; }
.audit-results { display:none; }
.audit-score { display:flex; align-items:center; gap:1.5rem; padding:1.2rem; background:var(--bg); border:1px solid var(--border); border-radius:var(--radius); margin-bottom:1.5rem; }
.audit-ring { position:relative; width:80px; height:80px; flex-shrink:0; }
.audit-ring svg { transform:rotate(-90deg); }
.audit-ring-num { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:800; font-size:1.4rem; }
.audit-label { font-size:.55rem; font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.06em; color:var(--text-dim); margin-bottom:.5rem; }
.audit-summary { display:flex; gap:.4rem; flex-wrap:wrap; }
.audit-summary-item { font-size:.6rem; padding:2px 10px; border-radius:999px; }
.audit-grid { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }
.audit-tile { display:flex; justify-content:space-between; align-items:center; padding:.6rem .8rem; background:var(--bg); border:1px solid var(--border); border-radius:var(--radius); }
.audit-tile-name { font-size:.68rem; font-weight:500; }
.audit-tile-score { font-size:.8rem; font-weight:700; }
.audit-tile-bar { height:2px; background:rgba(255,255,255,.04); border-radius:2px; overflow:hidden; margin-top:4px; }
.audit-tile-fill { height:100%; border-radius:2px; transition:width 1s var(--ease); }
@media (max-width:768px) { .audit-grid { grid-template-columns:1fr; } }
.audit-error { background:rgba(248,113,113,.1); border:1px solid rgba(248,113,113,.2); border-radius:var(--radius); padding:.75rem 1rem; font-size:.78rem; color:var(--red); margin-bottom:1rem; display:none; }
.audit-status { font-size:.72rem; color:var(--text-muted); margin-bottom:1rem; display:none; }

/* ─── FAQ ─── */
.faq { padding:5rem 0; }
.faq-list { max-width:700px; margin:2rem auto 0; }
.faq-item { border-bottom:1px solid var(--border); }
.faq-q { padding:1.2rem 0; display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-size:.88rem; font-weight:500; transition:color .3s; }
.faq-q:hover { color:var(--orange); }
.faq-toggle { transition:transform .3s; color:var(--text-muted); font-size:.8rem; }
.faq-item.open .faq-toggle { transform:rotate(45deg); color:var(--orange); }
.faq-a { max-height:0; overflow:hidden; transition:max-height .4s var(--ease),padding .4s var(--ease); }
.faq-item.open .faq-a { max-height:300px; padding-bottom:1.2rem; }
.faq-a p { font-size:.82rem; color:var(--text-secondary); line-height:1.7; }

/* ─── CTA ─── */
.cta { padding:5rem 0; text-align:center; background:var(--bg-alt); border-top:1px solid var(--border); }
.cta h2 { font-family:var(--font-display); font-weight:800; font-size:clamp(1.6rem,3vw,2.4rem); letter-spacing:-.04em; max-width:600px; margin:0 auto .8rem; }
.cta p { color:var(--text-secondary); font-size:.85rem; max-width:450px; margin:0 auto 2rem; }
.cta-btns { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

/* ─── CONTACT ─── */
.contact { padding:5rem 0; background:var(--bg); border-top:1px solid var(--border); }
.contact-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:4rem; align-items:start; }
.contact h2 { font-family:var(--font-display); font-weight:800; font-size:1.5rem; letter-spacing:-.04em; margin-top:.5rem; }
.perk { display:flex; align-items:center; gap:10px; font-size:clamp(.78rem,1.3vw,.85rem); color:var(--text-secondary); margin-bottom:.7rem; }
.perk-icon { min-width:30px; min-height:30px; display:flex; align-items:center; justify-content:center; background:var(--orange-dim); border:1px solid var(--orange-border); border-radius:var(--radius); font-family:var(--font-mono); font-size:.7rem; color:var(--orange); flex-shrink:0; }
.contact-form { display:flex; flex-direction:column; gap:1rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-group { display:flex; flex-direction:column; gap:4px; }
.form-label { font-family:var(--font-mono); font-size:clamp(.62rem,1vw,.65rem); text-transform:uppercase; color:var(--text-dim); letter-spacing:.05em; }
.form-input,.form-textarea { padding:12px 14px; background:var(--bg-alt); border:1px solid var(--border); border-radius:var(--radius); font-family:var(--font); font-size:clamp(.9rem,1.5vw,1rem); color:var(--text); outline:none; transition:border-color .3s; width:100%; }
.form-input:focus,.form-textarea:focus { border-color:var(--orange-border); box-shadow:0 0 0 3px var(--orange-dim); }
.form-textarea { resize:vertical; min-height:80px; }
@media (max-width:768px) { .contact-grid { grid-template-columns:1fr; gap:2rem; } .form-row { grid-template-columns:1fr; } }

/* ─── FOOTER ─── */
.footer { background:var(--bg); border-top:1px solid var(--border); padding:4rem 0 2rem; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:3rem; margin-bottom:3rem; }
.footer-brand img { height:1.5rem; width:auto; margin-bottom:.5rem; }
.footer-brand span { font-family:var(--font-display); font-weight:800; font-size:.8rem; display:block; margin-bottom:.5rem; }
.footer-brand p { font-size:.72rem; color:var(--text-muted); max-width:240px; line-height:1.6; }
.footer-social { display:flex; gap:.5rem; margin-top:1rem; }
.footer-social a { width:30px; height:30px; border-radius:var(--radius); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-size:.65rem; color:var(--text-muted); transition:all .3s; }
.footer-social a:hover { border-color:var(--orange-border); color:var(--orange); }
.footer-col h4 { font-family:var(--font-mono); font-size:clamp(.6rem,1vw,.65rem); text-transform:uppercase; color:var(--orange); letter-spacing:.08em; margin-bottom:1rem; }
.footer-col a { display:block; font-size:.72rem; color:var(--text-muted); padding:.25rem 0; transition:color .3s; }
.footer-col a:hover { color:var(--text); }
.footer-contact { display:flex; align-items:center; gap:8px; font-size:.72rem; color:var(--text-muted); padding:.25rem 0; }
.footer-contact .ico { color:var(--orange); }
.footer-bottom { padding-top:2rem; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; font-size:.62rem; color:var(--text-dim); flex-wrap:wrap; gap:.5rem; }
@media (max-width:768px) { .footer-grid { grid-template-columns:1fr 1fr; gap:2rem; } }
@media (max-width:500px) { .footer-grid { grid-template-columns:1fr; } }

/* ─── UTILITIES ─── */
.mt-4 { margin-top:1rem; }
.mt-6 { margin-top:1.5rem; }
.mb-4 { margin-bottom:1rem; }
.flex { display:flex; }
.flex-wrap { flex-wrap:wrap; }
.items-center { align-items:center; }
.justify-between { justify-content:space-between; }
.gap-2 { gap:.5rem; }
.gap-3 { gap:.75rem; }
.text-center { text-align:center; }
.w-full { width:100%; }

.fade-word {
  display: inline-block;
  color: #fff;
  vertical-align: baseline;
}
.hero h1 .accent { white-space: normal; }

/* ─── SHARED PAGE TEMPLATE LAYOUTS ─── */

/* Shared hero section */
.page-hero { padding:4rem 0 4rem; position:relative; overflow:hidden; min-height:85vh; display:flex; align-items:center; }
.page-hero-bg { position:absolute; inset:0; pointer-events:none; }
.page-hero-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,0.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.015) 1px,transparent 1px); background-size:64px 64px; -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,black 0%,transparent 70%); mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,black 0%,transparent 70%); }
.page-hero-orb { position:absolute; width:600px; height:600px; top:-200px; right:-150px; background:radial-gradient(circle,rgba(255,69,0,0.06) 0%,transparent 65%); border-radius:50%; }
.page-hero-fox { position:absolute; right:3%; top:50%; transform:translateY(-50%); width:500px; opacity:.06; pointer-events:none; }
@media (max-width:768px) { .page-hero-fox { width:300px; right:50%; margin-right:-150px; top:auto; bottom:5%; transform:none; opacity:.1; } }
.page-hero-content { position:relative; z-index:2; }
.page-hero-content h1 { font-family:var(--font-display); font-weight:800; font-size:clamp(2.4rem,5vw,4rem); letter-spacing:-.05em; line-height:1; }
.page-hero-sub { font-size:1.1rem; color:var(--text-secondary); margin-top:1rem; max-width:650px; }

/* Shared breadcrumbs */
.page-breadcrumbs { padding:.5rem 2rem; max-width:1200px; margin:0 auto; padding-top:5.5rem; overflow-x:auto; -webkit-overflow-scrolling:touch; }
@media (max-width:600px) { .page-breadcrumbs { padding:.4rem 1rem; padding-top:5rem; } }
.page-breadcrumbs ol { list-style:none; display:flex; gap:.4rem; align-items:center; font-size:.65rem; font-family:var(--font-mono); }
.page-breadcrumbs li { display:flex; align-items:center; gap:.4rem; color:var(--text-muted); }
.page-breadcrumbs li + li::before { content:'/'; color:var(--text-dim); }
.page-breadcrumbs a { color:var(--text-muted); transition:color .3s; }
.page-breadcrumbs a:hover { color:var(--orange-light); }

/* Shared section */
.page-section { padding:6rem 0; }
.page-section--alt { background:var(--bg-alt); }
.page-split { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.page-split--reverse { direction:rtl; }
.page-split--reverse > * { direction:ltr; }
@media (max-width:800px) { .page-split, .page-split--reverse { grid-template-columns:1fr; gap:2rem; direction:ltr; } }
.page-split p, .page-split-text p { color:var(--text-secondary); line-height:1.85; margin-bottom:1rem; font-size:.92rem; }

/* Shared code block */
.page-code-block { background:var(--bg); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; margin-bottom:.8rem; }
.page-code-block__head { font-size:.65rem; font-family:var(--font-mono); color:var(--text-muted); padding:.5rem .8rem; background:var(--bg-alt); border-bottom:1px solid var(--border); text-transform:uppercase; letter-spacing:.04em; }
.page-code-block pre { font-family:var(--font-mono); font-size:.7rem; line-height:1.5; color:var(--text-secondary); padding:.8rem; overflow-x:auto; white-space:pre; margin:0; }

/* Shared CTA */
.page-cta { border-top:1px solid var(--border); }

/* Shared compare issues */
.page-compare-issues { display:flex; flex-direction:column; gap:.35rem; margin-top:.8rem; }
.page-compare-issue { font-size:.72rem; color:var(--text-muted); padding:.3rem 0 .3rem .7rem; border-left:1px solid var(--orange); }

/* Shared tags/promises */
.page-promises { display:flex; gap:.6rem; flex-wrap:wrap; margin-top:1.5rem; }
.page-promise { background:var(--orange-dim); border:1px solid var(--orange-border); border-radius:100px; padding:.35rem 1rem; font-size:.68rem; color:var(--orange-light); font-family:var(--font-mono); }

/* Shared section header (tag + title + desc, centered) */
.page-tag-center { text-align:center; margin-bottom:.5rem; }
.page-section-header { margin-bottom:3rem; text-align:center; }
.page-section-header p { max-width:700px; margin:0 auto; font-size:.92rem; color:var(--text-secondary); }

/* Shared card hover (3-column) */
.page-card-grid-3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1rem; }
@media (max-width:700px) { .page-card-grid-3 { grid-template-columns:1fr; } }
.page-card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); padding:1.5rem; transition:all .3s; }
.page-card:hover { border-color:var(--orange-border); transform:translateY(-3px); }
.page-card__icon { font-size:1.3rem; margin-bottom:.5rem; }
.page-card__title { font-family:var(--font-display); font-weight:700; font-size:.85rem; margin-bottom:.4rem; }
.page-card__text { font-size:.78rem; color:var(--text-secondary); line-height:1.6; }

/* Shared pill links */
.page-pills { display:flex; flex-wrap:wrap; gap:.7rem; justify-content:center; }
.page-pill { background:var(--bg); border:1px solid var(--border); padding:.6rem 1.3rem; border-radius:100px; font-size:.8rem; font-weight:500; color:var(--text-secondary); transition:all .3s; }
.page-pill:hover { border-color:var(--orange-border); color:var(--orange-light); transform:translateY(-2px); }

/* Shared step/numbered list */
.page-steps { display:flex; flex-direction:column; gap:.8rem; }
.page-step { display:flex; gap:1rem; align-items:flex-start; background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); padding:1.2rem 1.5rem; transition:all .3s; }
.page-step:hover { border-color:var(--orange-border); transform:translateX(4px); }
.page-step__num { font-family:var(--font-display); font-weight:800; font-size:1.5rem; color:var(--orange); line-height:1; flex-shrink:0; min-width:2rem; }
.page-step__title { font-family:var(--font-display); font-weight:700; font-size:.85rem; margin-bottom:.2rem; }
.page-step__text { font-size:.78rem; color:var(--text-secondary); line-height:1.5; }

/* Shared stat group */
.page-stat-group { display:flex; gap:2.5rem; margin-top:3rem; flex-wrap:wrap; }
.page-stat { text-align:center; }
.page-stat__num { font-family:var(--font-display); font-size:2.2rem; font-weight:800; color:var(--orange); display:block; line-height:1; }
.page-stat__label { font-size:.65rem; text-transform:uppercase; letter-spacing:.06em; color:var(--text-muted); margin-top:.3rem; display:block; }
@media (max-width:600px) { .page-stat-group { gap:1.5rem; } .page-stat__num { font-size:1.6rem; } }

/* ─── BLOG ARCHIVE ─── */
.blog-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
@media (max-width:700px) { .blog-grid { grid-template-columns:1fr; } }
.blog-card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; transition:all .3s; }
.blog-card:hover { border-color:var(--orange-border); transform:translateY(-3px); }
.blog-card__thumb { display:block; aspect-ratio:16/9; overflow:hidden; background:var(--bg-alt); }
.blog-card__thumb img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.blog-card:hover .blog-card__thumb img { transform:scale(1.05); }
.blog-card__body { padding:1.3rem 1.5rem 1.5rem; }
.blog-card__meta { display:flex; align-items:center; gap:.6rem; font-size:.6rem; font-family:var(--font-mono); color:var(--text-muted); margin-bottom:.5rem; }
.blog-card__cat { color:var(--orange); text-transform:uppercase; letter-spacing:.06em; transition:color .3s; }
.blog-card__cat:hover { color:var(--orange-light); }
.blog-card__date { color:var(--text-dim); }
.blog-card__title { font-family:var(--font-display); font-weight:700; font-size:1.05rem; line-height:1.3; margin-bottom:.4rem; }
.blog-card__title a { transition:color .3s; }
.blog-card__title a:hover { color:var(--orange); }
.blog-card__excerpt { font-size:.8rem; color:var(--text-secondary); line-height:1.6; }
.blog-card__link { display:inline-block; margin-top:.7rem; font-size:.72rem; font-weight:600; color:var(--orange); transition:color .3s; }
.blog-card__link:hover { color:var(--orange-light); }
.blog-pagination { margin-top:3rem; display:flex; justify-content:center; }
.blog-pagination ul { display:flex; gap:.3rem; list-style:none; }
.blog-pagination li .page-numbers { display:flex; align-items:center; justify-content:center; min-width:36px; height:36px; padding:0 .6rem; border-radius:var(--radius); border:1px solid var(--border); font-size:.75rem; color:var(--text-muted); transition:all .2s; }
.blog-pagination li .page-numbers:hover { border-color:var(--orange-border); color:var(--orange); }
.blog-pagination li .page-numbers.current { background:var(--orange); color:var(--bg); border-color:var(--orange); }
.page-pill--active { background:var(--orange-dim) !important; border-color:var(--orange-border) !important; color:var(--orange) !important; }

/* ─── SINGLE POST ─── */
.blog-single-layout { display:grid; grid-template-columns:1fr 300px; gap:4rem; align-items:start; }
@media (max-width:860px) { .blog-single-layout { grid-template-columns:1fr; gap:2rem; } }
.blog-single { max-width:none; }
.blog-single__thumb { margin-bottom:2rem; border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--border); }
.blog-single__thumb img { width:100%; height:auto; }
.blog-single__content { font-size:.95rem; line-height:1.9; color:var(--text-secondary); }
.blog-single__content h2, .blog-single__content h3 { font-family:var(--font-display); font-weight:700; color:var(--text); margin-top:2rem; margin-bottom:.6rem; letter-spacing:-.02em; }
.blog-single__content h2 { font-size:1.4rem; }
.blog-single__content h3 { font-size:1.1rem; }
.blog-single__content p { margin-bottom:1rem; }
.blog-single__content a { color:var(--orange); border-bottom:1px solid transparent; transition:border-color .3s; }
.blog-single__content a:hover { border-color:var(--orange); }
.blog-single__content img { border-radius:var(--radius); margin:1.5rem 0; }
.blog-single__content ul, .blog-single__content ol { padding-left:1.5rem; margin-bottom:1rem; }
.blog-single__content li { margin-bottom:.4rem; }
.blog-single__content ul { list-style:disc; }
.blog-single__content ol { list-style:decimal; }
.blog-single__content blockquote { border-left:2px solid var(--orange); padding-left:1rem; margin:1.5rem 0; color:var(--text-muted); font-style:italic; }
.blog-single__content pre { background:var(--bg); border:1px solid var(--border); border-radius:var(--radius); padding:1rem; overflow-x:auto; font-family:var(--font-mono); font-size:.78rem; line-height:1.5; margin-bottom:1rem; }
.blog-single__content code { font-family:var(--font-mono); font-size:.82rem; background:var(--bg-card); padding:.1rem .3rem; border-radius:3px; }
.blog-single__content pre code { background:none; padding:0; }
.blog-single__content iframe { max-width:100%; border-radius:var(--radius); margin:1.5rem 0; }
.blog-single__tags { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--border); }
.blog-single__tag { font-size:.65rem; font-family:var(--font-mono); color:var(--text-muted); padding:.3rem .7rem; border:1px solid var(--border); border-radius:100px; transition:all .3s; }
.blog-single__tag:hover { border-color:var(--orange-border); color:var(--orange); }
.blog-single__footer { margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--border); }
.blog-single__author { display:flex; align-items:center; gap:.8rem; }
.blog-single__author-avatar { width:40px; height:40px; border-radius:50%; overflow:hidden; }
.blog-single__author-avatar img { width:100%; height:100%; border-radius:50%; object-fit:cover; }
.blog-single__author strong { display:block; font-size:.85rem; }
.blog-single__author span { font-size:.65rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:.04em; }
.blog-single__pages { margin-top:2rem; display:flex; gap:.3rem; align-items:center; font-size:.78rem; }
.blog-single__pages a { display:inline-flex; align-items:center; justify-content:center; min-width:32px; height:32px; border-radius:var(--radius); border:1px solid var(--border); font-size:.72rem; color:var(--text-muted); transition:all .2s; }
.blog-single__pages a:hover { border-color:var(--orange-border); color:var(--orange); }

/* ─── BLOG SIDEBAR ─── */
.blog-sidebar { display:flex; flex-direction:column; gap:1.5rem; }
.blog-sidebar__widget { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); padding:1.3rem; }
.blog-sidebar__widget h3 { font-family:var(--font-mono); font-size:.6rem; text-transform:uppercase; letter-spacing:.08em; color:var(--orange); margin-bottom:.8rem; }
.blog-sidebar__cats { list-style:none; }
.blog-sidebar__cats li { border-bottom:1px solid var(--border); }
.blog-sidebar__cats li:last-child { border-bottom:none; }
.blog-sidebar__cats a { display:flex; justify-content:space-between; padding:.5rem 0; font-size:.78rem; color:var(--text-muted); transition:color .3s; }
.blog-sidebar__cats a:hover { color:var(--orange); }
.blog-sidebar__cats a span { color:var(--text-dim); font-family:var(--font-mono); font-size:.6rem; }
.blog-sidebar__related { list-style:none; }
.blog-sidebar__related li { padding:.5rem 0; border-bottom:1px solid var(--border); }
.blog-sidebar__related li:last-child { border-bottom:none; }
.blog-sidebar__related a { display:block; font-size:.78rem; color:var(--text-secondary); transition:color .3s; line-height:1.4; }
.blog-sidebar__related a:hover { color:var(--orange); }
.blog-sidebar__related span { font-size:.6rem; color:var(--text-dim); font-family:var(--font-mono); margin-top:2px; display:block; }

/* ─── SHOWCASE ─── */
.sc-project { display:grid; grid-template-columns:1.2fr 1fr; gap:2rem; padding:1.5rem; margin-bottom:1rem; background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); transition:all .3s; cursor:pointer; }
.sc-project:hover { border-color:var(--orange-border); transform:translateY(-2px); }
.sc-project__info { display:flex; flex-direction:column; gap:.4rem; }
.sc-project__name { font-family:var(--font-display); font-weight:700; font-size:1rem; color:var(--text); }
.sc-project__tagline { font-size:.82rem; color:var(--text-secondary); line-height:1.5; }
.sc-project__meta { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.3rem; }
.sc-project__pill { font-size:.6rem; font-family:var(--font-mono); padding:.2rem .7rem; border-radius:100px; background:var(--orange-dim); border:1px solid var(--orange-border); color:var(--orange-light); }
.sc-project__result { font-size:.72rem; color:var(--green); }
.sc-project__preview { border-radius:var(--radius); overflow:hidden; border:1px solid var(--border); background:var(--bg); aspect-ratio:16/10; display:flex; align-items:center; justify-content:center; font-size:.65rem; color:var(--text-dim); }
@media (max-width:700px) { .sc-project { grid-template-columns:1fr; } }

/* ─── CREATIVE BLOG PATTERNS ─── */

/* Deep Dive / Longform */
.vp-deepdive__toc { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); padding:1.5rem; margin-bottom:2rem; }
.vp-deepdive__toc-title { font-family:var(--font-mono); font-size:.55rem; text-transform:uppercase; letter-spacing:.1em; color:var(--orange); margin-bottom:.8rem; }
.vp-deepdive__toc a { display:block; padding:.35rem 0; font-size:.82rem; color:var(--text-secondary); text-decoration:none; border-bottom:1px solid var(--border); transition:color .2s; }
.vp-deepdive__toc a:hover { color:var(--orange); }
.vp-deepdive__pullquote { margin:2rem 0; padding:1.5rem 0 1.5rem 1.5rem; border-left:2px solid var(--orange); }
.vp-deepdive__pullquote p { font-family:var(--font-display); font-weight:700; font-size:clamp(1.1rem,2.5vw,1.5rem); line-height:1.4; letter-spacing:-.02em; color:var(--text); margin:0 0 .3rem; }
.vp-deepdive__pullquote cite { font-family:var(--font-mono); font-size:.6rem; color:var(--text-muted); font-style:normal; }
.vp-deepdive__stat { display:flex; align-items:center; gap:1.5rem; background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); padding:1.5rem 2rem; margin:1.5rem 0; }
.vp-deepdive__stat-num { font-family:var(--font-display); font-weight:800; font-size:2.5rem; color:var(--orange); line-height:1; flex-shrink:0; }
.vp-deepdive__stat-label { font-size:.82rem; color:var(--text-secondary); line-height:1.5; }
.vp-deepdive__stat-label strong { display:block; color:var(--text); font-size:.9rem; }

/* Versus / Comparison */
.vp-versus { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:1.5rem 0; }
.vp-versus__card { border-radius:var(--radius-lg); padding:1.5rem; border:1px solid var(--border); background:var(--bg-card); }
.vp-versus__card--a { border-color:rgba(248,113,113,.2); }
.vp-versus__card--b { border-color:rgba(255,107,26,.25); background:linear-gradient(160deg, rgba(255,107,26,.06), var(--bg-card) 55%); }
.vp-versus__tag { font-family:var(--font-mono); font-size:.5rem; text-transform:uppercase; letter-spacing:.1em; color:var(--text-muted); margin-bottom:.5rem; }
.vp-versus__card--b .vp-versus__tag { color:var(--orange-light); }
.vp-versus__title { font-family:var(--font-display); font-weight:700; font-size:1.1rem; margin-bottom:.6rem; }
.vp-versus__list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.4rem; }
.vp-versus__list li { font-size:.78rem; color:var(--text-secondary); line-height:1.5; padding-left:1rem; position:relative; }
.vp-versus__card--a .vp-versus__list li::before { content:'–'; position:absolute; left:0; color:var(--red); }
.vp-versus__card--b .vp-versus__list li::before { content:'+'; position:absolute; left:0; color:var(--orange); font-weight:700; }
.vp-versus__winner { display:inline-flex; align-items:center; gap:6px; margin-top:1rem; font-family:var(--font-mono); font-size:.55rem; text-transform:uppercase; letter-spacing:.08em; color:var(--green); padding:4px 10px; border:1px solid rgba(74,222,128,.25); background:rgba(74,222,128,.06); border-radius:100px; }
@media (max-width:600px) { .vp-versus { grid-template-columns:1fr; } }

/* Resource Bundle */
.vp-bundle { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; margin:1.5rem 0; }
.vp-bundle__card { border-radius:var(--radius-lg); border:1px solid var(--border); background:var(--bg-card); padding:1.2rem 1.5rem; transition:border-color .3s; text-decoration:none; color:inherit; display:flex; flex-direction:column; gap:.3rem; }
.vp-bundle__card:hover { border-color:var(--orange-border); }
.vp-bundle__tag { font-family:var(--font-mono); font-size:.5rem; letter-spacing:.08em; text-transform:uppercase; color:var(--orange); }
.vp-bundle__title { font-family:var(--font-display); font-weight:700; font-size:.9rem; }
.vp-bundle__desc { font-size:.75rem; color:var(--text-secondary); line-height:1.5; }
.vp-bundle__meta { font-family:var(--font-mono); font-size:.5rem; color:var(--text-dim); margin-top:.3rem; }
@media (max-width:600px) { .vp-bundle { grid-template-columns:1fr; } }

/* Timeline */
.vp-timeline { position:relative; margin:1.5rem 0; padding-left:2rem; }
.vp-timeline::before { content:''; position:absolute; left:6px; top:0; bottom:0; width:1px; background:var(--border); }
.vp-timeline__item { position:relative; padding:0 0 1.5rem 1.5rem; }
.vp-timeline__item::before { content:''; position:absolute; left:-1.55rem; top:6px; width:10px; height:10px; border-radius:50%; background:var(--orange); border:2px solid var(--bg); box-shadow:0 0 0 1px var(--orange-dim); }
.vp-timeline__date { font-family:var(--font-mono); font-size:.5rem; text-transform:uppercase; letter-spacing:.08em; color:var(--orange); margin-bottom:.2rem; }
.vp-timeline__title { font-family:var(--font-display); font-weight:700; font-size:.9rem; margin-bottom:.2rem; }
.vp-timeline__text { font-size:.78rem; color:var(--text-secondary); line-height:1.6; }

/* ─── GLOBAL RESPONSIVE OVERRIDES ─── */
@media (max-width:768px) {
    /* Homepage hero (legacy classes) */
    .hero { min-height:auto !important; padding:7rem 0 3rem !important; overflow-x:hidden; }
    .hero h1 { font-size:clamp(1.8rem,8vw,2.6rem); }
    .hero h1 br { display:block; }
    .hero h1 span[style*="nowrap"],
    .hero h1 [style*="nowrap"] { white-space:normal !important; }
    .hero p { font-size:.85rem; }
    .hero-btns { flex-wrap:wrap; }
    .hero-btns .btn { width:100%; justify-content:center; padding:10px 18px; font-size:.72rem; min-height:40px; }
    .hero .fade-word { width:auto !important; display:inline !important; }

    /* All page-template heroes */
    [class*="page-"] section[class$="-hero"],
    .page-hero { min-height:auto !important; padding:6rem 0 3rem !important; }
    .page-hero-content h1 { font-size:clamp(1.8rem,7vw,2.6rem); }

    /* Split layouts */
    [class*="-split"] { grid-template-columns:1fr !important; gap:2rem !important; }

    /* 3-column card grids */
    [class*="-grid-3"] { grid-template-columns:1fr !important; }
    [style*="grid-template-columns:repeat(3"] { grid-template-columns:1fr !important; }
    [style*="grid-template-columns:repeat(4"] { grid-template-columns:1fr !important; }
    [style*="grid-template-columns:1fr 1fr"] { grid-template-columns:1fr !important; gap:2rem !important; }
    [style*="grid-template-columns:1.2fr 1fr"] { grid-template-columns:1fr !important; gap:2rem !important; }
    .vx-diag__split [style*="min-height:"][style*="px"] { min-height:auto !important; }

    /* Section padding */
    [class*="-section"]:where(.wd-section, .seo-section, .be-section, .fe-section, .ad-section, .df-section, .pr-section) { padding:3rem 0 !important; }

    /* Card hover: disable transform on touch */
    [class*="-card"]:hover { transform:none !important; }

    /* Page hero subtitles */
    [class*="-hero__sub"] { font-size:.9rem !important; }
}

/* Extra-small screens */
@media (max-width:500px) {
    .container { padding:0 1.2rem; }
    .header-inner { padding:.5rem 1.2rem; }
    [class*="-breadcrumbs"] { padding:.3rem 1rem !important; padding-top:4.5rem !important; }
    /* Prevent horizontal overflow from unwrappable content */
    [class*="-code-block"] pre, [class*="-code"] pre { font-size:.6rem !important; overflow-x:auto !important; -webkit-overflow-scrolling:touch; }
    #chart-toggles .chart-pill { font-size:.65rem !important; padding:.35rem .7rem !important; }
}

/* ─── AUTO INTERNAL LINKS ─── */
.vx-autolink { text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(255,107,26,.25); text-decoration-thickness:1px; transition:text-decoration-color .2s; }
.vx-autolink:hover { text-decoration-color:var(--orange); }