/* web-design-northern-virginia.php — page layout only; components come from ui-v2.css */

/* hero: same order as the city pages (phones put the CTAs above the lead) */
.nova-hero .hero-ctas{margin-top:var(--s-5)}
.nova-hero .nova-lead{margin-bottom:0}
.nova-hero .eyebrow{flex-wrap:wrap}
.nova-hero .clamp-more{color:var(--blue-2);align-self:flex-start}
.nova-proof-row .stat__n{color:#fff}
.nova-proof-row .stat__label{color:var(--text-inverse-muted)}
@media (min-width:769px){.nova-hero .nova-lead{margin-top:var(--s-4)}}
@media (max-width:768px){
  .nova-hero .container{display:flex;flex-direction:column;align-items:stretch}
  .nova-hero .breadcrumb{order:1}
  .nova-hero .eyebrow{order:2;align-self:flex-start}
  .nova-hero h1{order:3}
  .nova-hero .hero-ctas{order:4;margin-top:var(--s-4)}
  .nova-hero .nova-lead{order:5;margin-top:var(--s-5)}
  .nova-hero .clamp-more{order:6}
  .nova-hero .nova-proof-row{order:7;margin-top:var(--s-5);gap:var(--s-3) var(--s-5)}
  .nova-hero .breadcrumb span:not(:last-child){margin:0 6px}
}

/* "In short" + city router */
.nova-answer{max-width:880px;margin-bottom:var(--s-8)}
.nova-answer>p{font-size:var(--fs-lead);line-height:1.5;color:var(--text);letter-spacing:-.01em;max-width:var(--measure-lead)}
.nova-city{text-decoration:none;color:inherit}
.nova-city__go{padding-top:4px}
.nova-across{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:var(--s-6)}
.nova-across__label{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-right:4px}

/* where else: ruled rows on the dark band */
.nova-area{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:var(--s-4) var(--s-7);padding:var(--s-6) 0;border-top:1px solid var(--hair-dark)}
.nova-area:first-child{border-top:0;padding-top:0}
.nova-area__head{display:grid;gap:12px;align-content:start;justify-items:start}
.nova-area h3{font-size:var(--fs-h3);font-weight:600;letter-spacing:-.015em;line-height:1.25;color:#fff;margin:0}
.nova-area__body{display:grid;gap:var(--s-3);max-width:68ch}
.nova-area__body p{margin:0;color:var(--text-inverse-muted)}
.nova-areas a,.nova-areas__note a{color:var(--blue-2);text-decoration:underline;text-underline-offset:3px}
.nova-areas__note{margin:var(--s-6) 0 0;padding-top:var(--s-5);border-top:1px solid var(--hair-dark);color:var(--text-inverse)}

/* buyer cards: 01 and 06 full width, 02-05 in the shared rail */
.nova-buyers{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-7)}
.nova-buyer--wide,.nova-buyer--band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-3) var(--s-7);align-items:start}
.nova-buyer--band{grid-template-columns:minmax(0,5fr) minmax(0,7fr);padding:var(--s-6)}
.nova-buyer__col{display:flex;flex-direction:column;gap:var(--s-3);min-width:0}
.nova-more{font-size:var(--fs-small);line-height:1.7}
.nova-more a,.nova-read a,.nova-manage a,.nova-pricelist p a,.nova-packages__note a{color:var(--accent-text,var(--blue));font-weight:600;text-decoration:none}
.nova-more a:hover,.nova-read a:hover,.nova-manage a:hover,.nova-pricelist p a:hover,.nova-packages__note a:hover{text-decoration:underline}
@media (min-width:769px){.nova-buyers .rail__track{row-gap:var(--s-7)}}

/* prices */
.nova-package__meta{margin:10px 0 0;font-family:var(--font-mono);font-size:13px;letter-spacing:.02em;color:var(--text-muted)}
.nova-packages .pricing-card ul{margin:20px 0 0}
.nova-nowrap{white-space:nowrap}
.nova-packages__note,.nova-read{margin:var(--s-5) 0 0;font-size:var(--fs-small);line-height:1.6;color:var(--text-muted);max-width:86ch}
.nova-subhead{font-size:var(--fs-h3);font-weight:600;letter-spacing:-.015em;line-height:1.25;margin:var(--s-8) 0 var(--s-3)}
.nova-pricelist{list-style:none;margin:0;padding:0}
.nova-pricelist>li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px var(--s-7);align-items:baseline;padding:var(--s-5) 0;border-top:var(--border)}
.nova-pricelist>li:last-child{border-bottom:var(--border)}
.nova-pricelist h4{font-size:var(--fs-h4);font-weight:600;line-height:1.3;margin:0 0 6px}
.nova-pricelist h4 a{color:inherit;text-decoration:none}
.nova-pricelist h4 a:hover{color:var(--blue)}
.nova-pricelist p{margin:0;font-size:var(--fs-small);color:var(--text-muted);max-width:72ch}
.nova-pricelist__price{font-size:var(--fs-h4);font-weight:700;letter-spacing:-.01em;text-align:right;white-space:nowrap}
.nova-audit{margin-top:var(--s-7)}

/* WordPress + management */
.nova-read{margin-top:var(--s-6)}
.nova-manage{align-items:start}
.nova-manage .card--note p{margin:0;color:var(--text)}
.nova-manage .card__foot a{font-family:var(--font-sans);font-size:var(--fs-small)}

/* proof */
.nova-proof{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-7);align-items:start}
.nova-case .card__body{gap:8px}
.nova-case__go{margin-top:6px;font-size:14px}
.nova-guides .nova-subhead{margin:0 0 var(--s-2)}
.nova-guides__list{list-style:none;margin:0 0 var(--s-5);padding:0}
.nova-guides__list>li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--s-4);align-items:baseline;padding:14px 0;border-top:var(--border)}
.nova-guides__list>li:first-child{border-top:0}
.nova-guides__list .tag-mono{justify-self:start}
.nova-guides__list a{display:block;font-weight:600;line-height:1.35;color:var(--text);text-decoration:none}
.nova-guides__list a:hover{color:var(--blue)}

@media (min-width:901px){.nova-case{position:sticky;top:calc(var(--nav-h-scrolled,64px) + 24px)}}
@media (max-width:900px){.nova-proof{grid-template-columns:minmax(0,1fr)}}
@media (max-width:768px){
  .nova-answer{margin-bottom:var(--s-7)}
  .nova-area{grid-template-columns:minmax(0,1fr);gap:var(--s-3);padding:var(--s-5) 0}
  .nova-buyers{gap:var(--s-5)}
  .nova-buyer--wide,.nova-buyer--band{grid-template-columns:minmax(0,1fr)}
  .nova-buyer--wide{row-gap:var(--s-5)}
  .nova-buyer--band{padding:var(--s-5)}
  .nova-more{line-height:2}
  .nova-subhead{margin-top:var(--s-7)}
  .nova-audit{margin-top:var(--s-6)}
  .nova-pricelist>li{grid-template-columns:minmax(0,1fr);padding:var(--s-4) 0}
  .nova-pricelist__price{text-align:left;white-space:normal;color:var(--blue)}
  .nova-guides__list>li{grid-template-columns:minmax(0,1fr);gap:6px}
}
