/* Vika Consulting — design-only interiors, v2, 2026-11-01.
   Presentation only: existing text, DOM, columns and ordering are preserved.
   No display, positioning, flex/grid structure, visibility, content or overflow rules.
   Original styling inspired by measured Conta palette and type hierarchy. */

/* Typography, surfaces and focus. Existing self-hosted Inter is reused. */
html body[data-design=nexo]:not([data-page=home]) {
  color:#1a1d27; background:#fff!important;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased;
}
html body[data-design=nexo]:not([data-page=home]) :is(h1,h2,h3,h4,h5,h6) {
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  font-style:normal!important; font-weight:700!important;
  color:#1a1d27!important; letter-spacing:-.025em!important;
}
html body[data-design=nexo]:not([data-page=home]) h1 { font-size:clamp(34px,3.8vw,54px)!important; line-height:1.1!important; letter-spacing:-.04em!important; }
html body[data-design=nexo]:not([data-page=home]) main h2 { font-size:clamp(28px,3vw,42px)!important; line-height:1.17!important; }
html body[data-design=nexo]:not([data-page=home]) main h3 { font-size:clamp(21px,2vw,26px)!important; line-height:1.25!important; }
html body[data-design=nexo]:not([data-page=home]) .lead { font-size:17px; line-height:1.65; color:#424b58; }
html body[data-design=nexo]:not([data-page=home]) :is(.breadcrumbs,.breadcrumb,.article-byline,.article-meta,.results-line) { font-size:13px; line-height:1.65; color:#626772; }
html body[data-design=nexo]:not([data-page=home]) :is(.eyebrow,.nx-kicker) { background:#f0f3f7!important; color:#465365!important; border:0!important; border-radius:64px!important; font-size:12px!important; font-weight:600!important; letter-spacing:.025em!important; }
html body[data-design=nexo]:not([data-page=home]) ::selection { color:#1a1d27; background:#c7defb; }
html body[data-design=nexo]:not([data-page=home]) :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #205ca7!important; outline-offset:4px; }

/* Existing heroes keep their original structure and image placement. */
html body[data-design=nexo]:not([data-page=home]) .page-hero { background:#e3f0ff!important; color:#1a1d27; border:0!important; border-radius:28px!important; box-shadow:none!important; padding:clamp(24px,3vw,40px); }
html body[data-design=nexo]:not([data-page=home]) .article-hero { background:#fff4db!important; border:0!important; border-radius:28px!important; box-shadow:none!important; padding:clamp(24px,3vw,40px); }
html body[data-design=nexo]:not([data-page=home]) :is(.page-hero,.article-hero) h1 { margin-top:0; margin-bottom:24px; }
html body[data-design=nexo]:not([data-page=home]) :is(.page-hero,.article-hero) .lead { color:#424b58!important; line-height:1.7; }
html body[data-design=nexo]:not([data-page=home]) :is(.page-hero-art,.page-hero-art img,.article-hero img) { border:0!important; border-radius:20px!important; box-shadow:none!important; object-fit:cover; }
html body[data-design=nexo]:not([data-page=home]) .section-heading h2 { letter-spacing:-.03em!important; }
html body[data-design=nexo]:not([data-page=home]) .section-heading p { color:#626772; font-size:16px; line-height:1.65; }

/* Service and library cards retain all existing columns and card sequence. */
html body[data-design=nexo]:not([data-page=home]) :is(.photo-service,.article-card,.calc-card,.team-card) { background:#f8f8f8!important; border:1px solid #edf0f4!important; border-radius:24px!important; box-shadow:none!important; }
html body[data-design=nexo]:not([data-page=home]) :is(.photo-service,.article-card,.calc-card) { transition:background-color .2s ease,border-color .2s ease; }
html body[data-design=nexo]:not([data-page=home]) :is(.photo-service,.article-card,.calc-card):hover { background:#f1f5fb!important; border-color:#c8dcf7!important; box-shadow:none!important; }
html body[data-design=nexo]:not([data-page=home]) :is(.photo-service .photo,.article-card .photo) { border-radius:22px 22px 0 0!important; border:0!important; background-position:center; background-size:cover; }
html body[data-design=nexo]:not([data-page=home]) :is(.service-copy,.card-body,.team-body) { padding:24px; }
html body[data-design=nexo]:not([data-page=home]) :is(.service-copy h3,.article-card h3) { font-size:23px!important; line-height:1.25!important; margin-top:0; margin-bottom:14px; }
html body[data-design=nexo]:not([data-page=home]) :is(.service-copy p,.card-body p,.team-body p) { font-size:15px; line-height:1.65; color:#535965; }
html body[data-design=nexo]:not([data-page=home]) .card-foot { font-size:13px; border-top:1px solid #e1e6ee; padding-top:16px; }
html body[data-design=nexo]:not([data-page=home]) :is(.service-terms,.property-library,.about-card) { padding:30px; background:#fff4db!important; border:0!important; border-radius:24px!important; box-shadow:none!important; }
html body[data-design=nexo]:not([data-page=home]) .benefit p { font-size:15px; line-height:1.65; color:#535965; }
html body[data-design=nexo]:not([data-page=home]) .benefit > svg { color:#205ca7; }
html body[data-design=nexo]:not([data-page=home]) :is(.team-card > img,.team-photo,.nx-mono-photo) { border-radius:20px!important; object-fit:cover; background:#e3f0ff!important; }

/* Reading surface: same article, TOC and sidebars with a calmer treatment. */
html body[data-design=nexo]:not([data-page=home]) .article-prose { font-size:17px; line-height:1.8; color:#343a44; }
html body[data-design=nexo]:not([data-page=home]) .article-prose h2 { font-size:clamp(27px,2.5vw,34px)!important; line-height:1.22!important; margin-top:1.6em; margin-bottom:.7em; }
html body[data-design=nexo]:not([data-page=home]) .article-prose h3 { font-size:23px!important; line-height:1.3!important; margin-top:1.4em; margin-bottom:.6em; }
html body[data-design=nexo]:not([data-page=home]) .toc { background:#f8f8f8; border:1px solid #edf0f4; border-radius:20px; padding:22px; }
html body[data-design=nexo]:not([data-page=home]) .toc strong { color:#626772; font-size:12px; letter-spacing:.025em; }
html body[data-design=nexo]:not([data-page=home]) .toc a { color:#535965; font-size:13px; line-height:1.55; }
html body[data-design=nexo]:not([data-page=home]) .toc a:hover { color:#205ca7; }
html body[data-design=nexo]:not([data-page=home]) .review-note { background:#f8f8f8; border:0; border-left:3px solid #80b8fb; border-radius:0 12px 12px 0; padding:16px 20px; font-size:13px; line-height:1.7; color:#535965; }
html body[data-design=nexo]:not([data-page=home]) :is(.answer-box,.dnv-callout) { background:#e3f0ff!important; border:0!important; border-radius:20px!important; padding:24px; box-shadow:none!important; color:#343a44; }
html body[data-design=nexo]:not([data-page=home]) :is(.sources-box,.related-links) { background:#f8f8f8!important; border:0!important; border-radius:20px!important; padding:24px; box-shadow:none!important; font-size:14px; line-height:1.75; }
html body[data-design=nexo]:not([data-page=home]) :is(.article-end,.dnv-aside-card) { background:#fff4db!important; border:0!important; border-radius:24px!important; padding:28px; box-shadow:none!important; }
html body[data-design=nexo]:not([data-page=home]) .dnv-main { font-size:16px; line-height:1.75; }
html body[data-design=nexo]:not([data-page=home]) .dnv-block h2 { font-size:clamp(28px,2.6vw,36px)!important; line-height:1.2!important; }
html body[data-design=nexo]:not([data-page=home]) .dnv-facts { padding:28px; border:0; border-radius:24px; background:#f8f8f8; }
html body[data-design=nexo]:not([data-page=home]) .dnv-aside-card p { font-size:14px; line-height:1.65; }
html body[data-design=nexo]:not([data-page=home]) .table-scroll { border:1px solid #e5e7ec; border-radius:16px; }
html body[data-design=nexo]:not([data-page=home]) table { font-size:14px; line-height:1.65; border-collapse:collapse; }
html body[data-design=nexo]:not([data-page=home]) th { background:#e3f0ff!important; color:#1a1d27!important; font-weight:600; text-align:left; }
html body[data-design=nexo]:not([data-page=home]) :is(th,td) { border-bottom:1px solid #e5e7ec; padding:14px 18px; }

/* Existing forms, filters, calculators and disclosure controls. */
html body[data-design=nexo]:not([data-page=home]) :is(.consult-card,.navigator,.calc) { background:#f8f8f8!important; border:0!important; border-radius:24px!important; padding:30px!important; box-shadow:none!important; }
html body[data-design=nexo]:not([data-page=home]) .consult-card { background:#fff4db!important; }
html body[data-design=nexo]:not([data-page=home]) .consult-card h2 { font-size:30px!important; line-height:1.2!important; margin-bottom:16px; }
html body[data-design=nexo]:not([data-page=home]) .form-intro { font-size:15px; line-height:1.65; color:#424b58; }
html body[data-design=nexo]:not([data-page=home]) :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]) { font-family:Inter,system-ui,sans-serif!important; font-size:16px!important; line-height:1.5!important; color:#1a1d27; background:#fff!important; border:1px solid #cdd5e1!important; border-radius:12px!important; padding:13px 16px; box-shadow:none!important; }
html body[data-design=nexo]:not([data-page=home]) :is(input,textarea)::placeholder { color:#626772; opacity:1; }
html body[data-design=nexo]:not([data-page=home]) :is(input[type=checkbox],input[type=radio]) { accent-color:#205ca7; }
html body[data-design=nexo]:not([data-page=home]) .consent-demo { font-size:13px!important; line-height:1.65; color:#535965; }
html body[data-design=nexo]:not([data-page=home]) .form-demo-note { font-size:13px!important; line-height:1.7; color:#535965!important; }
html body[data-design=nexo]:not([data-page=home]) :is(.btn,.form-button,.filter) { font-family:Inter,system-ui,sans-serif!important; font-weight:600!important; letter-spacing:0!important; border:0!important; border-radius:64px!important; box-shadow:none!important; }
html body[data-design=nexo]:not([data-page=home]) :is(.btn,.form-button) { background:#80b8fb!important; color:#1a1d27!important; padding:14px 22px; transition:background-color .2s ease,color .2s ease; }
html body[data-design=nexo]:not([data-page=home]) :is(.btn,.form-button):hover { background:#629fe9!important; color:#1a1d27!important; }
html body[data-design=nexo]:not([data-page=home]) :is(.btn.secondary,.btn.btn-ghost,.filter) { background:#e9edf3!important; color:#1a1d27!important; }
html body[data-design=nexo]:not([data-page=home]) .filter[aria-pressed=true] { background:#1a1d27!important; color:#fff!important; }
html body[data-design=nexo]:not([data-page=home]) .gold-link { background:#e9edf3; color:#1a1d27!important; border-radius:64px; padding:10px 16px; font-size:13px!important; font-weight:600!important; }
html body[data-design=nexo]:not([data-page=home]) .calc-card { padding:24px; color:#1a1d27!important; text-decoration:none!important; }
html body[data-design=nexo]:not([data-page=home]) .calc-card strong { font-size:19px; line-height:1.35; }
html body[data-design=nexo]:not([data-page=home]) .calc-card span { font-size:14px; line-height:1.65; color:#626772; }
html body[data-design=nexo]:not([data-page=home]) .calc-card em { font-size:13px; font-style:normal; font-weight:600; color:#205ca7; }
html body[data-design=nexo]:not([data-page=home]) :is(.faq-item,.dnv-faq details) { background:#f8f8f8!important; border:0!important; border-radius:16px!important; padding-inline:24px; margin-bottom:12px; }
html body[data-design=nexo]:not([data-page=home]) :is(.faq-item summary,.dnv-faq summary) { font-size:17px; font-weight:600; line-height:1.5; padding-top:20px; padding-bottom:20px; }
html body[data-design=nexo]:not([data-page=home]) :is(.faq-item[open],.dnv-faq details[open]) { background:#e3f0ff!important; }
html body[data-design=nexo]:not([data-page=home]) .contact-detail-panel .blank-row { font-size:15px; line-height:1.7; padding-block:12px; }
html body[data-design=nexo]:not([data-page=home]) .contact-photo { border-radius:24px!important; }
html body[data-design=nexo]:not([data-page=home]) .nx-end-actions { background:#e3f0ff!important; border:0!important; border-radius:24px!important; padding:30px!important; }

/* Responsive typography and inset only — columns/order remain the baseline's. */
@media(max-width:800px) {
 html body[data-design=nexo]:not([data-page=home]) :is(.page-hero,.article-hero) { padding:28px; }
 html body[data-design=nexo]:not([data-page=home]) :is(.consult-card,.navigator,.calc,.about-card,.service-terms,.property-library) { padding:26px!important; }
}
@media(max-width:540px) {
 html body[data-design=nexo]:not([data-page=home]) h1 { font-size:34px!important; line-height:1.12!important; }
 html body[data-design=nexo]:not([data-page=home]) :is(.page-hero,.article-hero) { padding:24px 22px; border-radius:24px!important; }
 html body[data-design=nexo]:not([data-page=home]) .lead { font-size:16px; }
 html body[data-design=nexo]:not([data-page=home]) .article-prose { font-size:16px; line-height:1.75; }
 html body[data-design=nexo]:not([data-page=home]) :is(.service-copy,.card-body,.team-body) { padding:20px; }
 html body[data-design=nexo]:not([data-page=home]) :is(.consult-card,.navigator,.calc,.about-card,.service-terms,.property-library,.nx-end-actions) { padding:22px!important; }
 html body[data-design=nexo]:not([data-page=home]) :is(.answer-box,.sources-box,.related-links,.dnv-facts) { padding:20px; }
 html body[data-design=nexo]:not([data-page=home]) :is(.service-copy h3,.article-card h3) { font-size:21px!important; }
 html body[data-design=nexo]:not([data-page=home]) :is(th,td) { padding:12px; }
 html body[data-design=nexo]:not([data-page=home]) :is(.faq-item summary,.dnv-faq summary) { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
 html body[data-design=nexo]:not([data-page=home]) *,
 html body[data-design=nexo]:not([data-page=home]) *::before,
 html body[data-design=nexo]:not([data-page=home]) *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
/* Fit the existing long service headings and original lead copy comfortably. */
html body[data-design=nexo]:not([data-page=home]) .page-hero h1{font-size:clamp(32px,3.2vw,46px)!important;line-height:1.12!important}
html body[data-design=nexo]:not([data-page=home]) .page-hero .lead{font-size:17px!important;line-height:1.65!important}
