/* =========================================================
   Movel Caminhões — Design System
   VW Caminhões e Ônibus brand · premium / sophisticated
   ========================================================= */

/* ---------- Brand fonts ---------- */
@font-face{ font-family:"VW Head"; src:url("../fonts/vwhead-light.woff2") format("woff2");
  font-weight:300; font-style:normal; font-display:swap; }
@font-face{ font-family:"VW Head"; src:url("../fonts/vwhead-regular.woff2") format("woff2");
  font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:"VW Head"; src:url("../fonts/vwhead-bold.woff2") format("woff2");
  font-weight:700; font-style:normal; font-display:swap; }
@font-face{ font-family:"VW Text"; src:url("../fonts/vwtext-regular.woff2") format("woff2");
  font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:"VW Text"; src:url("../fonts/vwtext-bold.woff2") format("woff2");
  font-weight:700; font-style:normal; font-display:swap; }

/* ---------- Tokens ---------- */
:root{
  /* Brand */
  --vw-navy:      #001B44;   /* deep brand navy */
  --vw-navy-2:    #002A6B;   /* mid navy */
  --vw-blue:      #0A4FC4;   /* action blue */
  --vw-cyan:      #00B1EB;   /* electric accent */
  --vw-cyan-2:    #15C4F0;
  --vw-yellow:    #FFD500;   /* CTA accent, used sparingly */
  --vw-yellow-d:  #E9C200;

  /* Neutrals (cool, lightly toned) */
  --ink:    #0B1424;
  --slate:  #5B6675;
  --slate-2:#8A93A0;
  --line:   #E4E9F0;
  --line-2: #D4DBE6;
  --mist:   #EEF2F8;
  --mist-2: #F6F9FC;
  --paper:  #FFFFFF;

  /* Type */
  --display: "VW Head", "Archivo", system-ui, sans-serif;
  --body: "VW Text", "Hanken Grotesk", system-ui, sans-serif;

  /* Radii */
  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 22px;
  --r-xl: 30px;

  /* Shadow */
  --sh-sm: 0 1px 2px rgba(11,20,36,.06), 0 2px 8px rgba(11,20,36,.05);
  --sh-md: 0 8px 24px rgba(11,20,36,.08), 0 2px 6px rgba(11,20,36,.04);
  --sh-lg: 0 24px 60px rgba(11,20,36,.16), 0 8px 20px rgba(11,20,36,.08);
  --sh-blue: 0 14px 30px rgba(10,79,196,.30);

  /* Layout */
  --max: 1320px;
  --gut: clamp(22px, 5vw, 72px);
  --header-h: 84px;
  --util-h: 44px;
}

/* ---------- Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
/* Global scale: bump the root so every rem-based size grows proportionally */
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; font-size:112.5%; }
body{
  margin:0; font-family:var(--body); color:var(--ink);
  background:var(--paper); line-height:1.55;
  font-size:1.06rem; -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ display:block; max-width:100%; }
svg{ display:block; overflow:hidden; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; }
h1,h2,h3,h4,h5{ font-family:var(--display); margin:0; line-height:1.05;
  letter-spacing:-.02em; font-weight:700; color:var(--ink); font-synthesis:none; }
p{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }

/* ---------- Helpers ---------- */
.wrap{ width:100%; max-width:var(--max); margin-inline:auto; padding-inline:var(--gut); }
.section{ padding-block:clamp(56px, 8vw, 110px); }
.eyebrow{
  font-family:var(--display); font-weight:700; font-size:.78rem;
  letter-spacing:.28em; text-transform:uppercase; color:var(--vw-blue);
  display:inline-flex; align-items:center; gap:.7em;
}
.eyebrow::before{ content:""; width:26px; height:2px; background:var(--vw-cyan); display:inline-block; }
.eyebrow.on-dark{ color:var(--vw-cyan); }
.section-head{ max-width:680px; }
.section-head h2{ font-size:clamp(2rem, 4.4vw, 3.2rem); margin-top:.5rem; }
.section-head p{ color:var(--slate); font-size:1.08rem; margin-top:1rem; }
.center{ text-align:center; margin-inline:auto; }
.muted{ color:var(--slate); }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  font-family:var(--display); font-weight:700; font-size:.98rem; letter-spacing:-.01em;
  padding:.95em 1.6em; border-radius:999px; transition:.22s ease;
  white-space:nowrap; line-height:1;
}
.btn svg{ width:1.1em; height:1.1em; }
.btn-primary{ background:var(--vw-yellow); color:var(--vw-navy); }
.btn-primary:hover{ background:var(--vw-yellow-d); transform:translateY(-2px); box-shadow:0 12px 24px rgba(233,194,0,.34); }
.btn-blue{ background:var(--vw-blue); color:#fff; box-shadow:var(--sh-blue); }
.btn-blue:hover{ background:#0944ab; transform:translateY(-2px); }
.btn-ghost{ background:transparent; color:var(--vw-navy); box-shadow:inset 0 0 0 1.5px var(--line-2); }
.btn-ghost:hover{ box-shadow:inset 0 0 0 1.5px var(--vw-blue); color:var(--vw-blue); }
.btn-ghost.on-dark{ color:#fff; box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4); }
.btn-ghost.on-dark:hover{ box-shadow:inset 0 0 0 1.5px #fff; background:rgba(255,255,255,.08); }
.btn-lg{ padding:1.1em 2em; font-size:1.05rem; }
.link-arrow{ display:inline-flex; align-items:center; gap:.5em; color:var(--vw-blue);
  font-family:var(--display); font-weight:700; font-size:.95rem; transition:gap .2s; }
.link-arrow:hover{ gap:.85em; }

/* =========================================================
   HEADER
   ========================================================= */
.util-bar{ background:var(--vw-navy); color:#cfd8e8; height:var(--util-h);
  font-size:.8rem; display:flex; align-items:center; }
.util-bar .wrap{ display:flex; align-items:center; justify-content:space-between; }
.util-tag{ letter-spacing:.22em; text-transform:uppercase; font-weight:700;
  font-size:.7rem; color:#7d8db0; font-family:var(--display); white-space:nowrap; }
.util-links a{ white-space:nowrap; }
.util-links{ display:flex; align-items:center; gap:1.4rem; }
.util-links a{ color:#cfd8e8; transition:color .15s; }
.util-links a:hover{ color:#fff; }
.util-sep{ width:1px; height:14px; background:rgba(255,255,255,.18); }
.util-social{ display:flex; gap:.7rem; }
.util-social a{ display:grid; place-items:center; width:26px; height:26px; border-radius:50%;
  background:rgba(255,255,255,.08); }
.util-social svg{ width:14px; height:14px; }

header.site{ position:sticky; top:0; z-index:60; background:rgba(255,255,255,.88);
  backdrop-filter:saturate(160%) blur(14px); border-bottom:1px solid var(--line); }
.nav{ height:var(--header-h); display:flex; align-items:center; gap:1.5rem; }
.brand{ display:flex; align-items:center; gap:.85rem; flex-shrink:0; }
.brand-logo{ height:50px; width:auto; }
.drawer-logo{ height:38px; width:auto; }
.foot-logo{ height:46px; width:auto; filter:brightness(0) invert(1); opacity:.95; }
.brand .logo-mark{ font-family:var(--display); font-weight:700; font-size:1.55rem;
  color:var(--vw-navy); letter-spacing:-.03em; line-height:1; }
.brand .vw-lockup{ display:flex; align-items:center; gap:.55rem;
  padding-left:.85rem; border-left:1.5px solid var(--line-2); }
.brand .vw-ring{ width:34px; height:34px; border-radius:50%; display:grid; place-items:center;
  border:1.5px solid var(--vw-navy); color:var(--vw-navy);
  font-family:var(--display); font-weight:700; font-size:.78rem; }
.brand .vw-sub{ font-size:.62rem; line-height:1.15; color:var(--slate);
  font-family:var(--display); font-weight:600; letter-spacing:.04em; }

.nav-links{ display:flex; align-items:center; gap:.35rem; margin-left:.5rem; }
.nav-links > li > a, .nav-links > li > button{
  display:inline-flex; align-items:center; gap:.35em; padding:.6em .85em;
  font-family:var(--display); font-weight:600; font-size:.95rem; color:var(--ink);
  border-radius:8px; transition:.15s; position:relative;
}
.nav-links > li > a:hover, .nav-links > li > button:hover{ color:var(--vw-blue); background:var(--mist); }
.nav-links .chev{ width:.7em; height:.7em; opacity:.5; transition:opacity .15s,transform .15s; }
.nav-links > li{ position:relative; }

/* Desktop dropdown */
.nav-links .sub-menu{
  position:absolute; top:100%; left:0;
  min-width:200px; margin:0; padding:.4rem 0; list-style:none;
  background:#fff; border-top:2px solid var(--vw-blue);
  border-radius:0 0 8px 8px; box-shadow:0 8px 24px rgba(0,0,0,.12);
  z-index:100; display:none;
}
.nav-links > li:hover > .sub-menu{ display:block; }
.nav-links > li:hover .chev{ opacity:1; transform:rotate(180deg); }
.nav-links .sub-menu > li > a{
  display:block; padding:.65rem 1.1rem;
  font-family:var(--display); font-weight:600; font-size:.9rem;
  color:var(--ink); white-space:nowrap; transition:.15s;
}
.nav-links .sub-menu > li > a:hover{ background:var(--mist); color:var(--vw-blue); }

.nav-actions{ margin-left:auto; display:flex; align-items:center; gap:.55rem; }
.icon-btn{ display:grid; place-items:center; width:42px; height:42px; border-radius:50%;
  color:var(--vw-navy); transition:.15s; }
.icon-btn:hover{ background:var(--mist); }
.icon-btn svg{ width:20px; height:20px; }
.phone-pill{ display:inline-flex; align-items:center; gap:.5em; padding:.5em .9em;
  border-radius:999px; font-family:var(--display); font-weight:700; font-size:.92rem;
  color:var(--vw-navy); box-shadow:inset 0 0 0 1.5px var(--line-2); }
.phone-pill svg{ width:16px; height:16px; color:var(--vw-blue); }
.hamburger{ display:none; }

/* Search takeover — cobre o header inteiro */
.site-search{
  position:absolute; inset:0; z-index:10;
  display:flex; align-items:center; gap:1rem;
  padding-inline:var(--gut);
  background:#fff;
  opacity:0; visibility:hidden;
  transition:opacity .22s ease, visibility 0s .22s;
}
.site-search.open{
  opacity:1; visibility:visible;
  transition:opacity .22s ease, visibility 0s;
}
.site-search-form{
  flex:1; display:flex; align-items:center; gap:.75rem;
  border-bottom:2px solid var(--vw-blue); padding-bottom:.35rem;
}
.site-search-form svg{ flex-shrink:0; color:var(--vw-blue); }
.site-search-input{
  flex:1; border:none; outline:none; background:transparent;
  font-family:var(--display); font-size:1.15rem; color:var(--ink);
  padding:.25rem 0;
}
.site-search-input::placeholder{ color:var(--ink-3); }

/* Mobile drawer */
.drawer-scrim{ position:fixed; inset:0; background:rgba(7,14,28,.5); opacity:0; visibility:hidden;
  transition:.25s; z-index:80; backdrop-filter:blur(2px); }
.drawer-scrim.open{ opacity:1; visibility:visible; }
.drawer{ position:fixed; top:0; right:0; height:100%; width:min(86vw,360px);
  background:#fff; z-index:90; transform:translateX(100%); transition:transform .3s cubic-bezier(.4,0,.2,1);
  display:flex; flex-direction:column; box-shadow:var(--sh-lg); }
.drawer.open{ transform:translateX(0); }
.drawer-head{ display:flex; align-items:center; justify-content:space-between;
  padding:1.1rem 1.3rem; border-bottom:1px solid var(--line); }
.drawer-nav{ padding:.6rem; overflow-y:auto; flex:1; }
.drawer-nav a{ display:flex; align-items:center; justify-content:space-between;
  padding:1rem 1.1rem; font-family:var(--display); font-weight:600; font-size:1.05rem;
  border-radius:10px; }
.drawer-nav a:hover{ background:var(--mist); color:var(--vw-blue); }
.drawer-foot{ padding:1.2rem; border-top:1px solid var(--line); display:grid; gap:.7rem; }

/* =========================================================
   BANNER CAROUSEL (full-bleed solid-image slides)
   ========================================================= */
.banner{ position:relative; overflow:hidden; background:var(--vw-navy); }
.banner-viewport{ overflow:hidden; }
.banner-track{ display:flex; transition:transform .6s cubic-bezier(.45,.05,.2,1); }
.banner-slide{ flex:0 0 100%; position:relative; aspect-ratio:1440/612; }
.banner-slide image-slot{ width:100%; height:100%; }
.banner-slide a.banner-link{ position:absolute; inset:0; z-index:2; }

/* arrows */
.banner-arrow{ position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  width:clamp(40px,4vw,54px); height:clamp(40px,4vw,54px); border-radius:50%;
  background:rgba(0,18,42,.42); color:#fff; display:grid; place-items:center;
  backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.22); transition:.18s; }
.banner-arrow:hover{ background:var(--vw-navy); transform:translateY(-50%) scale(1.06); }
.banner-arrow svg{ width:46%; height:46%; }
.banner-arrow.prev{ left:clamp(10px,2vw,24px); }
.banner-arrow.next{ right:clamp(10px,2vw,24px); }

/* dots + progress */
.banner-dots{ position:absolute; left:50%; bottom:clamp(12px,2vw,22px); transform:translateX(-50%);
  z-index:5; display:flex; gap:.6rem; align-items:center; }
.banner-dots button{ position:relative; width:36px; height:5px; border-radius:3px;
  background:rgba(255,255,255,.4); overflow:hidden; transition:.2s; }
.banner-dots button:hover{ background:rgba(255,255,255,.65); }
.banner-dots button .fill{ position:absolute; inset:0; width:0; background:#fff; border-radius:3px; }
.banner-dots button.active{ background:rgba(255,255,255,.3); }
.banner-dots button.active .fill{ background:var(--vw-cyan); }

@media (max-width:640px){
  .banner-slide{ aspect-ratio:auto; height:clamp(280px,62vw,360px); }
  .banner-dots button{ width:26px; }
}

/* =========================================================
   LINEUP (model families)
   ========================================================= */
.lineup-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; margin-top:3rem; }
.model-card{ background:var(--paper); border:1px solid var(--line); border-radius:var(--r-lg);
  overflow:hidden; transition:.25s; display:flex; flex-direction:column; position:relative; }
.model-card:hover{ transform:translateY(-6px); box-shadow:var(--sh-lg); border-color:transparent; }
.model-card .mc-media{ position:relative; aspect-ratio:4/3; background:
  linear-gradient(160deg,#fafcff,#e9eef6); }
.model-card .mc-media image-slot{ width:100%; height:100%; }
.model-card .mc-tag{ position:absolute; top:.9rem; left:.9rem; z-index:2;
  padding:.35em .8em; border-radius:999px; font-family:var(--display); font-weight:700;
  font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; background:var(--vw-navy); color:#fff; }
.model-card .mc-tag.ev{ background:var(--vw-cyan); color:var(--vw-navy); }
.model-card .mc-body{ padding:1.5rem 1.4rem 1.7rem; display:flex; flex-direction:column; flex:1; }
.model-card h3{ font-size:1.5rem; }
.model-card .mc-line{ font-size:.82rem; color:var(--vw-blue); font-family:var(--display);
  font-weight:700; letter-spacing:.04em; margin-top:.3rem; text-transform:uppercase; }
.model-card p{ color:var(--slate); font-size:.96rem; margin-top:.9rem; flex:1; }
.model-card .mc-foot{ margin-top:1.4rem; display:flex; align-items:center; justify-content:space-between;
  padding-top:1.1rem; border-top:1px solid var(--line); }

/* =========================================================
   STRIP (dark feature band)
   ========================================================= */
.band{ background:var(--vw-navy); color:#fff; position:relative; overflow:hidden; }
.band::before{ content:""; position:absolute; inset:0;
  background:radial-gradient(80% 120% at 90% -10%, rgba(0,177,235,.22), transparent 55%); }
.band .wrap{ position:relative; }
.services-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; margin-top:3rem; }
.service{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-md); padding:1.6rem 1.5rem; transition:.2s;
  display:block; text-decoration:none; color:inherit; cursor:pointer; }
.service:hover{ background:rgba(255,255,255,.08); transform:translateY(-4px); }
.service .ic{ width:48px; height:48px; border-radius:12px; display:grid; place-items:center;
  background:rgba(0,177,235,.16); color:var(--vw-cyan); margin-bottom:1.1rem; }
.service .ic svg{ width:24px; height:24px; }
.service h4{ color:#fff; font-size:1.18rem; }
.service p{ color:#aebbd2; font-size:.92rem; margin-top:.5rem; }

/* =========================================================
   VIDEOS / NEWS
   ========================================================= */
.media-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.4rem; margin-top:3rem; }
.video-card{ position:relative; aspect-ratio:16/9; border-radius:var(--r-md); overflow:hidden;
  background:var(--vw-navy); cursor:pointer; display:block; }
.video-card image-slot{ width:100%; height:100%; }
.video-card .play{ position:absolute; inset:0; display:grid; place-items:center; z-index:2; }
.video-card .play span{ width:64px; height:64px; border-radius:50%; background:rgba(255,255,255,.92);
  display:grid; place-items:center; transition:.2s; }
.video-card:hover .play span{ transform:scale(1.08); background:#fff; }
.video-card .play svg{ width:24px; height:24px; color:var(--vw-navy); margin-left:3px; }
.vc-title{
  position:absolute; bottom:0; left:0; right:0; z-index:3;
  padding:.8rem 1.1rem;
  background:linear-gradient(to top, rgba(0,11,28,.78) 0%, transparent 100%);
  color:#fff; font-family:var(--display); font-weight:700;
  font-size:clamp(.85rem,1.4vw,1rem); line-height:1.25;
  pointer-events:none;
}

.news-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; margin-top:3rem; }
.news-card{ border-radius:var(--r-md); overflow:hidden; background:#fff; border:1px solid var(--line);
  transition:.25s; display:flex; flex-direction:column; }
.news-card:hover{ box-shadow:var(--sh-md); transform:translateY(-4px); }
.news-card .nc-media{ aspect-ratio:16/10; overflow:hidden; }
.news-card .nc-media a{ display:block; height:100%; }
.news-card .nc-media img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }
.news-card:hover .nc-media img{ transform:scale(1.05); }
.news-card .nc-media image-slot{ width:100%; height:100%; }
.news-card .nc-body{ padding:1.4rem 1.4rem 1.6rem; display:flex; flex-direction:column; flex:1; }
.news-date{ font-size:.78rem; color:var(--vw-blue); font-family:var(--display); font-weight:700;
  letter-spacing:.06em; }
.news-card h3{ font-size:1.18rem; margin-top:.6rem; line-height:1.2; flex:1; }
.news-card .link-arrow{ margin-top:1.2rem; }

/* =========================================================
   LOCATION
   ========================================================= */
.loc-grid{ display:grid; grid-template-columns:380px 1fr; gap:0; border-radius:var(--r-lg);
  overflow:hidden; border:1px solid var(--line); box-shadow:var(--sh-md); margin-top:3rem; }
.loc-info{ background:var(--vw-navy); color:#fff; padding:clamp(2rem,3vw,2.8rem); }
.loc-info h3{ color:#fff; font-size:1.6rem; }
.loc-row{ margin-top:1.7rem; }
.loc-row .lbl{ font-size:.72rem; text-transform:uppercase; letter-spacing:.16em; color:var(--vw-cyan);
  font-family:var(--display); font-weight:700; }
.loc-row p{ margin-top:.35rem; color:#d6deef; font-size:1rem; }
.loc-map{ min-height:420px; background:var(--mist); position:relative; }
.loc-map image-slot, .loc-map iframe{ width:100%; height:100%; border:0; }

/* =========================================================
   FOOTER
   ========================================================= */
footer.site{ background:#06122B; color:#9fb0cc; padding-top:clamp(48px,6vw,80px); }
.foot-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2.4rem; padding-bottom:3rem;
  border-bottom:1px solid rgba(255,255,255,.1); }
.foot-brand .logo-mark{ color:#fff; font-family:var(--display); font-weight:700; font-size:1.6rem; letter-spacing:-.03em; }
.foot-brand p{ margin-top:1.1rem; font-size:.95rem; max-width:300px; line-height:1.7; }
.foot-contact{ display:flex; flex-direction:column; gap:.5rem; margin-top:1.4rem; }
.foot-phone{ display:flex; align-items:center; gap:.55rem; font-size:.92rem; color:var(--text-muted);
  transition:color .15s; }
.foot-phone:hover{ color:var(--vw-cyan); }
.foot-phone svg{ width:17px; height:17px; flex-shrink:0; }
.foot-social{ display:flex; gap:.8rem; margin-top:1.4rem; }
.foot-social a{ display:grid; place-items:center; width:38px; height:38px; border-radius:50%;
  border:1px solid rgba(255,255,255,.18); color:var(--text-muted); transition:.15s; }
.foot-social a:hover{ border-color:var(--vw-cyan); color:var(--vw-cyan); background:rgba(0,177,235,.08); }
.foot-social svg{ width:18px; height:18px; }
.foot-col h5{ color:#fff; font-family:var(--display); font-size:.8rem; letter-spacing:.16em;
  text-transform:uppercase; margin-bottom:1.1rem; }
.foot-col a{ display:block; padding:.4rem 0; font-size:.95rem; transition:color .15s; }
.foot-col a:hover{ color:var(--vw-cyan); }
.foot-legal{ font-size:.72rem; color:#5e6e8c; line-height:1.7; padding-block:2rem;
  border-bottom:1px solid rgba(255,255,255,.1); }
.foot-bar{ background:#040C1D; }
.foot-bar .wrap{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem;
  padding-block:1.3rem; font-size:.85rem; }


/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1080px){
  .lineup-grid{ grid-template-columns:repeat(2,1fr); }
  .services-grid{ grid-template-columns:repeat(2,1fr); }
  .foot-top{ grid-template-columns:1fr 1fr; gap:2rem; }
  .hero-vw{ display:none; }
  .hero-grid{ grid-template-columns:1fr; gap:1.5rem;
    min-height:0; padding-block:clamp(32px,6vw,56px); }
  .hero-copy{ max-width:none; order:2; }
  .hero-stage{ order:1; min-height:0; }
  .hero-stage-card{ max-width:560px; margin-inline:auto; aspect-ratio:16/10; }
  .hero-vw{ display:block; }
  .hero-dots{ position:static; justify-content:center; margin-top:1.4rem; }
}
@media (max-width:1140px){
  .nav-links, .phone-pill, .util-tag{ display:none; }
  .hamburger{ display:grid; }
  .loc-grid{ grid-template-columns:1fr; }
  .loc-map{ min-height:320px; order:-1; }
}
@media (max-width:680px){
  body{ font-size:16px; }
  .news-grid{ grid-template-columns:1fr; }
  .media-grid{ grid-template-columns:1fr; }
  .lineup-grid{ grid-template-columns:1fr; }
  .services-grid{ grid-template-columns:1fr; }
  .foot-top{ grid-template-columns:1fr; }
  .util-links{ gap:1rem; font-size:.78rem; }
  .hero-cta{ flex-direction:column; align-items:stretch; }
  .hero-cta .btn{ width:100%; }
}
@media (max-width:560px){ .brand-logo{ height:38px; } }

/* =========================================================
   WORDPRESS OVERRIDES
   ========================================================= */

/* Active menu item (WordPress adds current-menu-item to <li>) */
.nav-links li.current-menu-item > a,
.nav-links li.current-menu-parent > a,
.nav-links li.current-menu-ancestor > a { color: var(--vw-blue); }
.drawer-nav a.current-menu-item,
.drawer-nav .current-menu-item > a { color: var(--vw-blue); }

/* Post content (the_content) */
.entry-content h2,.entry-content h3,.entry-content h4{ font-family:var(--display); color:var(--ink); }
.entry-content p{ margin-top:1rem; color:var(--slate); font-size:1.05rem; }
.entry-content ul,.entry-content ol{ padding-left:1.5rem; margin-top:1rem; color:var(--slate); }
.entry-content li{ margin-top:.5rem; }
.entry-content a{ color:var(--vw-blue); text-decoration:underline; }
.entry-content img{ border-radius:var(--r-md); max-width:100%; height:auto; }
.entry-content .wp-block-image{ margin-block:2rem; }
.entry-content .wp-block-columns{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:2rem; margin-block:2rem; }

/* WP alignments */
.aligncenter{ display:block; margin-inline:auto; }
.alignleft{ float:left; margin-right:1.5rem; }
.alignright{ float:right; margin-left:1.5rem; }

/* Screen reader text */
.screen-reader-text{ position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0; }

/* Util bar transition for scroll hide */
.util-bar{ transition:transform .25s ease; }
