/*
Theme Name: Vamos Child (CHC)
Template: twentytwentyfive
Version: 1.5.0
Description: Architectural Mono — editorial visual design for 차량진입로공사 / 바모스 VAMOS
Stage: 5 (visual-designer-INSIDE-V2)
*/

/* ============================================================
   Architectural Mono — black background, white type, fullscreen
   hero with massive uppercase display, split-layout sections
   with oversized section numbers, fixed header with
   mix-blend-difference.
   ============================================================ */

/* Hide parent theme's default header/footer chrome */
.wp-site-blocks > header.wp-block-template-part,
.wp-site-blocks > footer.wp-block-template-part,
body > header.wp-block-template-part,
body > footer.wp-block-template-part{display:none !important}

/* ---------- Design Tokens ---------- */
:root{
  /* Palette */
  --vm-bg:#000;
  --vm-bg-2:#0A0A0A;
  --vm-bg-3:#141414;
  --vm-bg-4:#1A1A1A;
  --vm-fg:#FFF;
  --vm-fg-2:#F5F5F5;
  --vm-fg-3:#D4D4D4;
  --vm-muted:#888;
  --vm-subtle:#444;
  --vm-border:#1F1F1F;
  --vm-border-2:#2A2A2A;
  --vm-accent:#FFF;

  /* Typography */
  --vm-font:"Pretendard Variable","Pretendard",system-ui,-apple-system,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;
  --vm-tracking:-0.04em;
  --vm-tracking-tight:-0.06em;
  --vm-tracking-caps:0.14em;

  /* Scale (editorial) */
  --vm-fs-mega:    clamp(3.5rem, 14vw, 11rem);  /* HERO display EN */
  --vm-fs-display: clamp(2.5rem, 8.5vw, 6.5rem);
  --vm-fs-h1:      clamp(2rem,  5.5vw, 4rem);
  --vm-fs-h2:      clamp(1.9rem, 4.8vw, 3.4rem);
  --vm-fs-h3:      clamp(1.18rem, 2vw, 1.5rem);
  --vm-fs-lede:    clamp(1.05rem, 1.5vw, 1.18rem);
  --vm-fs-num:     clamp(3rem, 9vw, 7rem);

  /* Layout */
  --vm-max:1320px;
  --vm-max-wide:1480px;
  --vm-gutter:clamp(20px,4vw,48px);
  --vm-sec-pad:clamp(72px,11vw,140px);

  /* Motion */
  --vm-ease:cubic-bezier(.22,1,.36,1);
}

/* ---------- Reset / Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;background:#000}
body{
  margin:0;
  background:var(--vm-bg);
  color:var(--vm-fg);
  font-family:var(--vm-font);
  font-weight:400;
  line-height:1.65;
  letter-spacing:-0.011em;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  word-break:keep-all;
  overflow-wrap:break-word;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color .25s var(--vm-ease)}
button{font:inherit;cursor:pointer}
::selection{background:#fff;color:#000}
h1,h2,h3,h4{word-break:keep-all;overflow-wrap:break-word}

/* ---------- HEADER ---------- */
.vm-header{
  position:fixed;top:0;left:0;right:0;z-index:60;
  background:transparent;
  mix-blend-mode:difference;
  color:#fff;
  pointer-events:none;
}
.vm-header__inner{
  max-width:var(--vm-max-wide);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.5rem var(--vm-gutter);
  pointer-events:auto;
}
.vm-header__brand{
  font-weight:900;font-size:1.05rem;
  letter-spacing:0.02em;
  text-transform:uppercase;
  pointer-events:auto;
}
.vm-header__nav{pointer-events:auto}
.vm-header__nav ul{display:flex;gap:2rem;list-style:none;padding:0;margin:0}
.vm-header__nav a{
  font-size:.78rem;font-weight:600;
  letter-spacing:var(--vm-tracking-caps);
  text-transform:uppercase;
  position:relative;padding:.25rem 0;
}
.vm-header__nav a:hover{opacity:.7}

/* push body content below the fixed header */
.site-main{padding-top:0}

/* ---------- HERO ---------- */
.vm-hero{
  position:relative;
  min-height:100vh;
  display:flex;align-items:flex-end;
  padding:8rem var(--vm-gutter) clamp(60px,10vw,120px);
  background:var(--vm-bg);
  overflow:hidden;
  isolation:isolate;
}
.vm-hero__media{
  position:absolute;inset:0;z-index:-2;
  overflow:hidden;
}
.vm-hero__media img{
  width:100%;height:100%;object-fit:cover;
  opacity:.92;
  filter:contrast(1.04) saturate(1.05);
  transform:scale(1.05);
  animation:vmHeroZoom 18s ease-in-out infinite alternate;
  will-change:transform;
}
.vm-hero__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.28) 0%, rgba(0,0,0,.15) 40%, rgba(0,0,0,.65) 100%);
  z-index:1;
}
@keyframes vmHeroZoom{
  0%{transform:scale(1.05) translate3d(0,0,0)}
  100%{transform:scale(1.14) translate3d(-1.5%,-1.2%,0)}
}
@media (prefers-reduced-motion:reduce){
  .vm-hero__media img{animation:none;transform:scale(1.05)}
}
.vm-hero__inner{
  position:relative;z-index:2;
  max-width:var(--vm-max-wide);margin:0 auto;width:100%;
}
.vm-hero__eyebrow{
  display:inline-flex;align-items:center;gap:.75rem;
  font-size:.78rem;font-weight:600;
  color:var(--vm-fg-3);
  letter-spacing:var(--vm-tracking-caps);
  text-transform:uppercase;
  margin:0 0 .9rem;
}
.vm-hero__eyebrow::before{
  content:"";display:inline-block;width:36px;height:1px;background:#fff;
}
.vm-hero__h1{
  font-size:var(--vm-fs-mega);
  font-weight:900;
  letter-spacing:var(--vm-tracking-tight);
  line-height:.92;
  margin:0;
  color:var(--vm-fg);
}
.vm-hero__display-en{
  display:block;
  font-size:var(--vm-fs-h1);
  font-weight:900;
  letter-spacing:var(--vm-tracking);
  line-height:1.02;
  text-transform:uppercase;
  color:var(--vm-fg);
  margin:1.25rem 0 4rem;
}
.vm-hero__lead{
  font-size:var(--vm-fs-lede);
  color:var(--vm-fg-3);
  max-width:640px;
  margin:0 0 2.5rem;
  line-height:1.75;
}
.vm-hero__actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}
.vm-hero__cta,.vm-cta{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:1rem 1.85rem;min-height:54px;
  background:#fff;color:#000;
  border:1px solid #fff;
  border-radius:2px;
  font-weight:700;font-size:.85rem;
  letter-spacing:var(--vm-tracking-caps);
  text-transform:uppercase;
  transition:background .3s var(--vm-ease),color .3s var(--vm-ease),transform .3s var(--vm-ease);
}
.vm-hero__cta::after,.vm-cta::after{
  content:"→";display:inline-block;
  transition:transform .35s var(--vm-ease);
}
.vm-hero__cta:hover::after,.vm-cta:hover::after{transform:translateX(6px)}
.vm-hero__cta:hover,.vm-cta:hover{background:transparent;color:#fff}
.vm-hero__cta--ghost,.vm-cta--ghost{background:transparent;color:#fff;border:1px solid var(--vm-border-2)}
.vm-hero__cta--ghost:hover,.vm-cta--ghost:hover{background:#fff;color:#000;border-color:#fff}

/* Hero meta bar (bottom of hero) */
.vm-hero__meta{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:2rem;
  margin-top:clamp(48px,7vw,96px);
  padding-top:2rem;
  border-top:1px solid var(--vm-border-2);
}
.vm-hero__meta dt{
  font-size:.72rem;color:var(--vm-muted);
  letter-spacing:var(--vm-tracking-caps);
  text-transform:uppercase;
  margin:0 0 .6rem;
}
.vm-hero__meta dd{
  font-size:clamp(1.2rem,2.4vw,1.85rem);
  font-weight:900;letter-spacing:var(--vm-tracking);
  color:#fff;margin:0;line-height:1.15;
}

/* ---------- SECTION ---------- */
.vm-section{
  padding:var(--vm-sec-pad) var(--vm-gutter);
  border-top:1px solid var(--vm-border);
  position:relative;
}
.vm-section--soft{background:var(--vm-bg-2)}
.vm-section--warm{background:var(--vm-bg-3)}
.vm-section--invert{background:#f5f5f3;color:#0a0a0a}
.vm-section--invert .vm-section__h2,
.vm-section--invert .vm-section__lead,
.vm-section--invert .vm-section__num,
.vm-section--invert .vm-section__label,
.vm-section--invert .vm-trust__hl,
.vm-section--invert .vm-trust__cap,
.vm-section--invert .vm-trust__num{color:#0a0a0a}
.vm-section--invert .vm-section__head,
.vm-section--invert .vm-trust,
.vm-section--invert .vm-trust li{border-color:rgba(10,10,10,.18)}
.vm-section--invert .vm-trust li:hover{background:rgba(10,10,10,.04)}
.vm-section--invert .vm-trust__hl::after{background:#0a0a0a}
.vm-section__inner{max-width:var(--vm-max-wide);margin:0 auto}

/* Section head — split layout: oversized number left, h2+lead right */
.vm-section__head{
  display:grid;
  grid-template-columns:minmax(120px,1fr) 2fr;
  gap:clamp(24px,4vw,80px);
  align-items:end;
  margin-bottom:clamp(48px,7vw,96px);
  padding-bottom:2rem;
  border-bottom:1px solid var(--vm-border);
}
.vm-section__num{
  font-size:var(--vm-fs-num);
  font-weight:900;
  letter-spacing:var(--vm-tracking-tight);
  line-height:.9;
  color:#fff;
  margin:0;
  font-feature-settings:"tnum" 1;
}
.vm-section__label{
  display:block;
  font-size:.72rem;
  font-weight:600;
  color:var(--vm-muted);
  letter-spacing:var(--vm-tracking-caps);
  text-transform:uppercase;
  margin-top:.85rem;
}
.vm-section__h2{
  font-size:var(--vm-fs-h2);
  font-weight:900;
  letter-spacing:var(--vm-tracking);
  margin:0 0 1rem;
  line-height:1.05;
  color:#fff;
}
.vm-section__lead{
  font-size:var(--vm-fs-lede);
  color:var(--vm-fg-3);
  max-width:720px;
  margin:0;
  line-height:1.75;
}

/* ---------- TRUST grid ---------- */
.vm-trust{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  list-style:none;padding:0;margin:0;
  border-top:1px solid var(--vm-border);
}
.vm-trust li{
  padding:clamp(32px,5vw,56px) clamp(24px,3vw,40px);
  border-right:1px solid var(--vm-border);
  border-bottom:1px solid var(--vm-border);
  background:transparent;
  position:relative;
  transition:background .3s var(--vm-ease);
}
.vm-trust li:last-child{border-right:none}
.vm-trust li:hover{background:var(--vm-bg-2)}
.vm-trust__num{
  font-size:.7rem;color:var(--vm-muted);
  letter-spacing:var(--vm-tracking-caps);text-transform:uppercase;
  margin:0 0 1.5rem;
}
.vm-trust__hl{
  font-size:clamp(1.85rem,3.6vw,2.85rem);
  font-weight:900;
  letter-spacing:var(--vm-tracking);
  margin:0 0 .85rem;
  color:#fff;
  line-height:1.05;
}
.vm-trust__hl::after{
  content:"";display:block;
  width:32px;height:1px;background:#fff;
  margin-top:1.25rem;
}
.vm-trust__cap{
  font-size:.95rem;
  color:var(--vm-fg-3);
  margin:1.25rem 0 0;
  line-height:1.65;
}

/* ---------- CARDS (services) ---------- */
.vm-cards{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:1px;
  background:var(--vm-border);
  list-style:none;padding:0;margin:0;
  border:1px solid var(--vm-border);
}
.vm-card{
  display:flex;flex-direction:column;
  padding:clamp(28px,3.5vw,44px);
  background:var(--vm-bg);
  height:100%;
  transition:background .35s var(--vm-ease),color .35s var(--vm-ease);
  position:relative;
}
.vm-card:hover{background:#fff;color:#000}
.vm-card__kw{
  font-size:.7rem;color:var(--vm-muted);
  letter-spacing:var(--vm-tracking-caps);text-transform:uppercase;
  margin:0 0 2.5rem;
  transition:color .35s var(--vm-ease);
}
.vm-card:hover .vm-card__kw{color:#444}
.vm-card__h3{
  font-size:var(--vm-fs-h3);
  font-weight:900;letter-spacing:var(--vm-tracking);
  margin:0 0 .9rem;line-height:1.15;
}
.vm-card__desc{
  font-size:.92rem;color:var(--vm-fg-3);
  margin:0 0 2rem;line-height:1.7;
  transition:color .35s var(--vm-ease);
}
.vm-card:hover .vm-card__desc{color:#333}
.vm-card__more{
  margin-top:auto;
  font-size:.78rem;font-weight:700;
  letter-spacing:var(--vm-tracking-caps);text-transform:uppercase;
  display:inline-flex;align-items:center;gap:.5rem;
}
.vm-card__more::after{
  content:"→";transition:transform .3s var(--vm-ease);
}
.vm-card:hover .vm-card__more::after{transform:translateX(4px)}

@media (min-width:769px) and (max-width:1150px){
  .vm-cards{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:768px){
  .vm-cards{grid-template-columns:1fr 1fr}
}
@media (max-width:480px){
  .vm-cards{grid-template-columns:1fr}
}

/* ---------- PROCESS (5 steps) ---------- */
.vm-process{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  list-style:none;padding:0;margin:0;
  counter-reset:step;
  border-top:1px solid var(--vm-border);
}
.vm-process li{
  counter-increment:step;
  padding:clamp(28px,3.5vw,48px) clamp(20px,2.5vw,32px);
  border-right:1px solid var(--vm-border);
  border-bottom:1px solid var(--vm-border);
  background:transparent;
  position:relative;
  transition:background .3s var(--vm-ease);
}
.vm-process li:last-child{border-right:none}
.vm-process li:hover{background:var(--vm-bg-2)}
.vm-process li::before{
  content:counter(step,decimal-leading-zero);
  display:block;
  font-size:clamp(2.2rem,4vw,3.4rem);
  font-weight:900;letter-spacing:var(--vm-tracking-tight);line-height:1;
  color:#fff;
  margin-bottom:1.5rem;
}
.vm-process__h3{
  font-size:1.05rem;font-weight:900;
  letter-spacing:var(--vm-tracking);
  margin:0 0 .6rem;
}
.vm-process__p{
  font-size:.88rem;color:var(--vm-fg-3);
  margin:0;line-height:1.65;
}
@media (min-width:769px) and (max-width:1150px){
  .vm-process{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:768px){
  .vm-process{grid-template-columns:1fr 1fr}
}
@media (max-width:480px){
  .vm-process{grid-template-columns:1fr}
}

/* ---------- SPEC table-like list ---------- */
.vm-spec{
  list-style:none;padding:0;margin:0;
  border-top:1px solid var(--vm-border);
}
.vm-spec li{
  padding:1.4rem 0;
  border-bottom:1px solid var(--vm-border);
  display:flex;justify-content:space-between;align-items:baseline;
  gap:2rem;
}
.vm-spec__k{
  font-size:.78rem;color:var(--vm-muted);
  letter-spacing:var(--vm-tracking-caps);text-transform:uppercase;
  flex-shrink:0;
}
.vm-spec__v{
  font-size:1.05rem;color:#fff;
  font-weight:700;letter-spacing:var(--vm-tracking);
  text-align:right;
}

/* ---------- FAQ ---------- */
.vm-faq{margin:0;padding:0}
.vm-faq details{
  border-bottom:1px solid var(--vm-border);
  padding:1.6rem 0;
}
.vm-faq details:first-child{border-top:1px solid var(--vm-border)}
.vm-faq summary{
  font-size:clamp(1rem,1.6vw,1.18rem);
  font-weight:800;letter-spacing:var(--vm-tracking);
  cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;align-items:center;
  gap:1.5rem;padding:.5rem 0;
  transition:color .25s var(--vm-ease);
}
.vm-faq summary:hover{color:var(--vm-fg-3)}
.vm-faq summary::-webkit-details-marker{display:none}
.vm-faq summary::after{
  content:"+";font-weight:300;font-size:1.75rem;
  color:#fff;line-height:1;
  transition:transform .35s var(--vm-ease);
}
.vm-faq details[open] summary::after{
  content:"×";
}
.vm-faq p{
  margin:1.1rem 0 .25rem;color:var(--vm-fg-3);
  font-size:.98rem;line-height:1.85;
  max-width:780px;
}

/* ---------- CTA BANNER (split) ---------- */
.vm-cta-banner{
  padding:var(--vm-sec-pad) var(--vm-gutter);
  background:#fff;color:#000;
  border-top:1px solid var(--vm-border);
}
.vm-cta-banner__inner{
  max-width:var(--vm-max-wide);margin:0 auto;
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:clamp(24px,4vw,72px);
  align-items:end;
}
.vm-cta-banner__eyebrow{
  font-size:.78rem;font-weight:600;
  color:#000;
  letter-spacing:var(--vm-tracking-caps);text-transform:uppercase;
  margin:0 0 1.5rem;
  display:inline-flex;align-items:center;gap:.75rem;
}
.vm-cta-banner__eyebrow::before{content:"";width:36px;height:1px;background:#000}
.vm-cta-banner__h2{
  font-size:var(--vm-fs-display);
  font-weight:900;letter-spacing:var(--vm-tracking-tight);
  margin:0;line-height:.98;
  text-transform:uppercase;
}
.vm-cta-banner__sub{
  font-size:1rem;color:#444;
  margin:1.5rem 0 0;
  max-width:560px;line-height:1.7;
}
.vm-cta-banner__btn{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:1.1rem 2rem;min-height:58px;
  background:#000;color:#fff;
  border:1px solid #000;
  border-radius:2px;
  font-weight:700;font-size:.85rem;
  letter-spacing:var(--vm-tracking-caps);text-transform:uppercase;
  transition:background .3s var(--vm-ease),color .3s var(--vm-ease);
  justify-self:end;align-self:end;
}
.vm-cta-banner__btn::after{content:"→";transition:transform .35s var(--vm-ease)}
.vm-cta-banner__btn:hover{background:transparent;color:#000}
.vm-cta-banner__btn:hover::after{transform:translateX(6px)}

@media (max-width:900px){
  .vm-cta-banner__inner{grid-template-columns:1fr}
  .vm-cta-banner__btn{justify-self:start}
}

/* ---------- PORTFOLIO grid (before/after) ---------- */
.vm-portfolio{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--vm-border);
  list-style:none;padding:0;margin:0;
  border:1px solid var(--vm-border);
}
.vm-portfolio li{
  aspect-ratio:4/3;
  background:var(--vm-bg-2);
  position:relative;overflow:hidden;
}
.vm-portfolio figure{margin:0;width:100%;height:100%;position:relative}
.vm-portfolio img{
  width:100%;height:100%;object-fit:cover;
  filter:grayscale(.15);
  transition:transform .8s var(--vm-ease),filter .5s var(--vm-ease);
}
.vm-portfolio li:hover img{transform:scale(1.06);filter:grayscale(0)}
.vm-portfolio figcaption{
  position:absolute;left:0;right:0;bottom:0;
  padding:1rem 1.25rem;
  font-size:.78rem;font-weight:600;
  letter-spacing:var(--vm-tracking-caps);text-transform:uppercase;
  color:#fff;
  background:linear-gradient(transparent 0%, rgba(0,0,0,.85) 100%);
}
@media (min-width:769px) and (max-width:1150px){
  .vm-portfolio{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:768px){
  .vm-portfolio{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:480px){
  .vm-portfolio{grid-template-columns:1fr}
}

/* ---------- BEFORE/AFTER pairs ---------- */
.vm-pairs{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:clamp(24px,4vw,64px);
  list-style:none;padding:0;margin:0;
}
.vm-pair{display:grid;gap:1rem}
.vm-pair__set{
  display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:var(--vm-border);
  border:1px solid var(--vm-border);
}
.vm-pair__cell{
  position:relative;background:var(--vm-bg-2);
  aspect-ratio:1/1;overflow:hidden;
}
.vm-pair__cell img{width:100%;height:100%;object-fit:cover;filter:grayscale(.1);transition:transform .8s var(--vm-ease)}
.vm-pair__cell:hover img{transform:scale(1.04)}
.vm-pair__tag{
  position:absolute;top:.85rem;left:.85rem;
  font-size:.66rem;font-weight:700;
  letter-spacing:var(--vm-tracking-caps);text-transform:uppercase;
  padding:.35rem .7rem;background:#fff;color:#000;
}
.vm-pair__cell--after .vm-pair__tag{background:#000;color:#fff;border:1px solid #fff}
.vm-pair__caption{
  font-size:.85rem;color:var(--vm-fg-3);
  letter-spacing:var(--vm-tracking-caps);text-transform:uppercase;
}
@media (max-width:768px){.vm-pairs{grid-template-columns:1fr}}

/* ---------- SPLIT IMAGE/TEXT row (sub pages WHY) ---------- */
.vm-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(24px,4vw,80px);
  align-items:center;
  margin-top:clamp(40px,5vw,72px);
}
.vm-split--reverse > :first-child{order:2}
.vm-split__media{position:relative;overflow:hidden;background:var(--vm-bg-2);aspect-ratio:4/5}
.vm-split__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(.1);transition:transform .8s var(--vm-ease)}
.vm-split__media:hover img{transform:scale(1.04)}
.vm-split__body{padding:1rem 0}
.vm-split__num{
  font-size:clamp(2.5rem,5vw,4.5rem);
  font-weight:900;letter-spacing:var(--vm-tracking-tight);line-height:.95;
  color:#fff;margin:0 0 1rem;
}
.vm-split__h3{
  font-size:clamp(1.5rem,2.6vw,2.1rem);
  font-weight:900;letter-spacing:var(--vm-tracking);
  margin:0 0 1.15rem;line-height:1.1;
}
.vm-split__p{
  font-size:1rem;color:var(--vm-fg-3);
  line-height:1.8;margin:0 0 .9rem;
  max-width:520px;
}
@media (max-width:900px){
  .vm-split{grid-template-columns:1fr;gap:2rem}
  .vm-split--reverse > :first-child{order:0}
}

/* ---------- CONSULT cards ---------- */
.vm-consult-cards{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:0;
  list-style:none;padding:0;margin:0;
  border:1px solid var(--vm-border);
}
.vm-consult-cards li{border-right:1px solid var(--vm-border)}
.vm-consult-cards li:last-child{border-right:none}
.vm-consult-card{
  display:block;padding:clamp(40px,5vw,72px) clamp(28px,3.5vw,48px);
  background:transparent;
  transition:background .35s var(--vm-ease),color .35s var(--vm-ease);
  height:100%;
}
.vm-consult-card:hover{background:#fff;color:#000}
.vm-consult-card__label{
  font-size:.72rem;color:var(--vm-muted);
  letter-spacing:var(--vm-tracking-caps);text-transform:uppercase;
  margin:0 0 1.5rem;
  transition:color .35s var(--vm-ease);
}
.vm-consult-card:hover .vm-consult-card__label{color:#444}
.vm-consult-card__val{
  font-size:clamp(1.85rem,3.4vw,2.6rem);
  font-weight:900;letter-spacing:var(--vm-tracking-tight);
  margin:0 0 .85rem;color:#fff;
  line-height:1.05;
  transition:color .35s var(--vm-ease);
}
.vm-consult-card:hover .vm-consult-card__val{color:#000}
.vm-consult-card__hint{
  font-size:.92rem;color:var(--vm-fg-3);
  margin:0;line-height:1.65;
  transition:color .35s var(--vm-ease);
}
.vm-consult-card:hover .vm-consult-card__hint{color:#444}
@media (max-width:768px){
  .vm-consult-cards{grid-template-columns:1fr}
  .vm-consult-cards li{border-right:none;border-bottom:1px solid var(--vm-border)}
  .vm-consult-cards li:last-child{border-bottom:none}
}

/* ---------- BACK MAIN ---------- */
.vm-back-main{
  padding:3rem var(--vm-gutter);text-align:center;
  border-top:1px solid var(--vm-border);
}
.vm-back-main a{
  font-size:.78rem;color:var(--vm-muted);
  letter-spacing:var(--vm-tracking-caps);text-transform:uppercase;
  font-weight:600;
  transition:color .25s var(--vm-ease);
}
.vm-back-main a:hover{color:#fff}

/* ---------- FOOTER ---------- */
.vm-footer{
  background:#000;
  border-top:1px solid var(--vm-border);
  padding:clamp(60px,8vw,96px) var(--vm-gutter) 2.5rem;
  color:var(--vm-muted);
}
.vm-footer__inner{
  max-width:var(--vm-max-wide);margin:0 auto;
  display:grid;gap:2.5rem;
}
.vm-footer__top{
  display:grid;grid-template-columns:2fr 1fr;
  gap:2.5rem;align-items:end;
  padding-bottom:2.5rem;border-bottom:1px solid var(--vm-border);
}
.vm-footer__brand{
  font-size:clamp(2rem,5vw,3.5rem);
  font-weight:900;color:#fff;
  letter-spacing:var(--vm-tracking-tight);
  text-transform:uppercase;
  margin:0;line-height:1;
}
.vm-footer__quicklinks{
  display:flex;gap:1.75rem;justify-content:flex-end;flex-wrap:wrap;
  font-size:.78rem;font-weight:600;
  letter-spacing:var(--vm-tracking-caps);text-transform:uppercase;
}
.vm-footer__quicklinks a{color:#fff;position:relative;padding:.25rem 0}
.vm-footer__quicklinks a::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;
  height:1px;background:#fff;
  transform:scaleX(0);transform-origin:left;
  transition:transform .35s var(--vm-ease);
}
.vm-footer__quicklinks a:hover::after{transform:scaleX(1)}
.vm-footer__meta{
  display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;
  font-size:.82rem;color:var(--vm-muted);
}
.vm-footer__meta p{margin:0}
.vm-footer__copy{
  font-size:.72rem;color:var(--vm-subtle);
  letter-spacing:var(--vm-tracking-caps);text-transform:uppercase;
  margin:0;
}

@media (max-width:768px){
  .vm-footer__top{grid-template-columns:1fr}
  .vm-footer__quicklinks{justify-content:flex-start}
  .vm-footer__meta{flex-direction:column;gap:.5rem}
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
  .vm-header__nav ul{gap:1rem}
  .vm-header__nav a{font-size:.7rem}
  .vm-section__head{grid-template-columns:1fr;gap:1.5rem;align-items:start}
  .vm-trust{grid-template-columns:1fr}
  .vm-trust li{border-right:none}
  .vm-hero__meta{grid-template-columns:1fr 1fr;gap:1.25rem}
}
@media (max-width:560px){
  .vm-header__nav{display:none}
  .vm-hero{min-height:90vh;padding-top:6rem}
  .vm-hero__meta{grid-template-columns:1fr;gap:1rem}
  .vm-hero__actions{flex-direction:column;align-items:stretch}
  .vm-hero__cta,.vm-cta{justify-content:center}
}

/* ---------- Reveal animation ---------- */
.vm-reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--vm-ease),transform .9s var(--vm-ease)}
.vm-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .vm-reveal{opacity:1;transform:none;transition:none}
  *{animation-duration:.001ms !important;transition-duration:.001ms !important}
}

/* ============================================================
   CRO LAYER (Stage 6 — wp-cro-designer v2.3)
   - mobile sticky bar, desktop floating pill
   - microcopy, page-ref, 404, header cta
   - NO urgency-bar (forbidden by v2.2)
   ============================================================ */

/* Microcopy under CTAs */
.vm-microcopy{
  display:inline-flex;align-items:center;gap:.5rem;
  margin:1rem 0 0;font-size:.78rem;letter-spacing:.02em;
  color:var(--vm-muted,#888);line-height:1.5
}
.vm-microcopy__dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--vm-fg,#fff);opacity:.55;flex-shrink:0;
  animation:vmPulse 2.4s ease-in-out infinite
}
@keyframes vmPulse{0%,100%{opacity:.25}50%{opacity:.85}}
@media (prefers-reduced-motion:reduce){.vm-microcopy__dot{animation:none;opacity:.6}}

/* Header CTA pill (consult link in nav) */
.vm-header__cta{
  padding:.85rem 1.6rem;border:1px solid currentColor;border-radius:999px;
  font-weight:700;letter-spacing:var(--vm-tracking-caps);
  transition:background .25s var(--vm-ease,ease),color .25s var(--vm-ease,ease)
}
.vm-header__cta:hover{background:#fff;color:#000;opacity:1}

/* Mobile sticky bottom bar */
.vm-mobile-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:99;
  display:grid;grid-template-columns:1fr 1.6fr;
  background:#000;border-top:1px solid #2a2a2a;
  transform:translateY(110%);transition:transform .35s cubic-bezier(.22,1,.36,1);
  padding:env(safe-area-inset-bottom,0) 0 0
}
.vm-mobile-bar.is-visible{transform:translateY(0)}
.vm-mobile-bar__item{
  display:flex;align-items:center;justify-content:center;
  padding:14px 12px;font-size:.92rem;font-weight:700;
  text-decoration:none;letter-spacing:-.01em;line-height:1.2;text-align:center
}
.vm-mobile-bar__item--secondary{color:#fff;background:#0a0a0a}
.vm-mobile-bar__item--primary{color:#000;background:#fff}
.vm-mobile-bar__item--primary:hover{background:#f5f5f5}
@media (min-width:769px){.vm-mobile-bar{display:none}}

/* Desktop floating pill */
.vm-float-cta{
  position:fixed;right:24px;bottom:28px;z-index:98;
  display:none;align-items:center;gap:.6rem;
  padding:.85rem 1.4rem;border-radius:999px;
  background:#fff;color:#000;text-decoration:none;font-weight:700;font-size:.9rem;
  box-shadow:0 10px 32px rgba(0,0,0,.35),0 2px 8px rgba(0,0,0,.25);
  opacity:0;transform:translateY(16px);
  transition:opacity .4s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1),background .25s ease
}
.vm-float-cta.is-visible{opacity:1;transform:translateY(0)}
.vm-float-cta:hover{background:#f5f5f5}
.vm-float-cta__dot{width:8px;height:8px;border-radius:50%;background:#000;animation:vmPulse 1.8s ease-in-out infinite}
.vm-float-cta__arrow{transition:transform .25s ease}
.vm-float-cta:hover .vm-float-cta__arrow{transform:translateX(3px)}
@media (min-width:769px){.vm-float-cta{display:inline-flex}}

/* Page reference block */
.vm-pageref{
  border-top:1px solid var(--vm-border,#1f1f1f);
  border-bottom:1px solid var(--vm-border,#1f1f1f);
  padding:clamp(40px,5vw,72px) 0;margin:0
}
.vm-pageref__inner{
  max-width:1280px;margin:0 auto;padding:0 clamp(20px,5vw,64px);
  display:grid;grid-template-columns:1.4fr auto;gap:2rem;align-items:center
}
.vm-pageref__lead{font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.55;margin:0;color:var(--vm-fg,#fff);font-weight:500}
.vm-pageref__lead strong{font-weight:800;border-bottom:1px solid currentColor}
.vm-pageref__phone{grid-column:1/-1;margin:0;font-size:.85rem;color:var(--vm-muted,#888);letter-spacing:.02em}
.vm-pageref__phone strong{color:var(--vm-fg,#fff);font-weight:800;letter-spacing:0}
.vm-pageref__note{opacity:.7;font-size:.8rem}
.vm-pageref__btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.95rem 1.5rem;background:#fff;color:#000;font-weight:700;
  text-decoration:none;letter-spacing:-.01em;white-space:nowrap;
  transition:background .25s var(--vm-ease,ease),transform .25s var(--vm-ease,ease)
}
.vm-pageref__btn:hover{background:#f5f5f5;transform:translateY(-2px)}
.vm-pageref__br{display:none}
@media (max-width:768px){
  .vm-pageref__inner{grid-template-columns:1fr;gap:1.25rem}
  .vm-pageref__br{display:block}
  .vm-pageref__btn{width:100%}
  .vm-mobile-bar~.vm-footer,
  .vm-mobile-bar+*{margin-bottom:64px}
  body{padding-bottom:64px}
}

/* 404 */
.vm-404__inner{
  max-width:640px;margin:0 auto;padding:clamp(80px,12vw,160px) 24px;
  text-align:center;min-height:60vh;display:flex;flex-direction:column;justify-content:center;align-items:center
}
.vm-404__code{font-size:clamp(5rem,16vw,11rem);font-weight:900;line-height:1;opacity:.12;margin:0;letter-spacing:-.06em}
.vm-404__title{font-size:clamp(1.4rem,3vw,2rem);font-weight:800;margin:1rem 0 .75rem;letter-spacing:-.02em}
.vm-404__sub{color:var(--vm-muted,#888);margin:0 0 2.5rem;line-height:1.65}
.vm-404__cta-group{display:flex;flex-direction:column;gap:.85rem;width:100%;max-width:340px;margin:0 auto}
.vm-404__btn{
  display:block;width:100%;padding:1rem 1.4rem;background:#fff;color:#000;
  font-weight:700;text-decoration:none;letter-spacing:-.01em;
  transition:background .25s ease,transform .25s ease
}
.vm-404__btn:hover{background:#f5f5f5;transform:translateY(-2px)}
.vm-404__home{color:var(--vm-muted,#888);font-size:.88rem;text-decoration:underline;text-underline-offset:3px}
.vm-404__phone{margin-top:2.5rem;color:var(--vm-subtle,#444);font-size:.85rem}
.vm-404__phone span{opacity:.7;font-size:.78rem}

/* Footer CTA highlight */
.vm-footer__cta{font-weight:800}
.vm-footer__cta:hover{opacity:.7}

/* Hide NSEO microdata grid below footer (keep markup for crawlers) */
.nseo-microdata-list-3,
.nseo-microdata-list-4{
  position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;overflow:hidden!important;
  clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}

/* ---------- SITEMAP ---------- */
.vm-sitemap{
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:0;border-top:1px solid var(--vm-border);
}
.vm-sitemap li{border-bottom:1px solid var(--vm-border);border-right:1px solid var(--vm-border)}
.vm-sitemap__link{
  display:block;padding:1.5rem 1.25rem;
  transition:background .25s var(--vm-ease,ease);
}
.vm-sitemap__link:hover{background:var(--vm-bg-2)}
.vm-sitemap__label{
  display:block;font-weight:800;font-size:1.05rem;
  color:#fff;margin-bottom:.4rem;
}
.vm-sitemap__desc{
  display:block;font-size:.85rem;color:var(--vm-fg-3);line-height:1.55;
}

/* ---------- PORTFOLIO grid (cards with cover image) ---------- */
.vm-portfolio-grid{
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:1.5rem;
}
.vm-portfolio-grid__card{
  display:flex;flex-direction:column;background:var(--vm-bg-2);
  border:1px solid var(--vm-border);
  transition:transform .35s var(--vm-ease),border-color .25s var(--vm-ease);
}
.vm-portfolio-grid__card:hover{transform:translateY(-4px);border-color:#fff}
.vm-portfolio-grid__media{display:block;aspect-ratio:4/3;overflow:hidden;background:#0a0a0a}
.vm-portfolio-grid__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--vm-ease)}
.vm-portfolio-grid__card:hover .vm-portfolio-grid__media img{transform:scale(1.05)}
.vm-portfolio-grid__body{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem 1.25rem 1.5rem}
.vm-portfolio-grid__meta{font-size:.72rem;letter-spacing:var(--vm-tracking-caps);text-transform:uppercase;color:var(--vm-muted)}
.vm-portfolio-grid__title{font-size:1.1rem;font-weight:800;color:#fff;line-height:1.35}
.vm-portfolio-grid__more{font-size:.78rem;color:var(--vm-fg-3);margin-top:.4rem}

/* ---------- COMPARE table (guide pages) ---------- */
.vm-compare-wrap{overflow-x:auto;border:1px solid var(--vm-border)}
.vm-compare{width:100%;border-collapse:collapse;min-width:640px;font-size:.95rem}
.vm-compare th,.vm-compare td{
  padding:1rem 1.25rem;text-align:left;
  border-bottom:1px solid var(--vm-border);
  border-right:1px solid var(--vm-border);
  vertical-align:top;color:var(--vm-fg-3);
}
.vm-compare thead th{
  background:var(--vm-bg-3);color:#fff;font-weight:800;
  letter-spacing:var(--vm-tracking-caps);text-transform:uppercase;font-size:.78rem;
}
.vm-compare tbody th{color:#fff;font-weight:700;background:var(--vm-bg-2);width:30%}
.vm-compare th:last-child,.vm-compare td:last-child{border-right:0}

/* ---------- CHECKLIST (guide pages) ---------- */
.vm-check{list-style:none;padding:0;margin:0;display:grid;gap:.85rem}
.vm-check li{display:flex;align-items:flex-start;gap:.85rem;padding:.85rem 1rem;border:1px solid var(--vm-border);background:var(--vm-bg-2)}
.vm-check__box{font-size:1.1rem;color:#fff;line-height:1.2;font-family:monospace}
.vm-check__txt{color:var(--vm-fg-3);line-height:1.6}

/* ---------- CATEGORY MORE LINK ---------- */
.vm-cat-more{margin:2.5rem 0 0;text-align:right}
.vm-cat-more a{
  display:inline-block;font-size:.85rem;font-weight:700;
  letter-spacing:var(--vm-tracking-caps);text-transform:uppercase;
  color:#fff;border-bottom:1px solid currentColor;padding-bottom:.25rem;
  transition:opacity .25s var(--vm-ease,ease);
}
.vm-cat-more a:hover{opacity:.65}
