/* KAINOS Theme System — light by default, dark on demand */
:root{
  --theme-bg:#f5f0e7;
  --theme-bg-2:#ebe4d8;
  --theme-bg-3:#e1d8ca;
  --theme-panel:#fffaf2;
  --theme-text:#171513;
  --theme-text-2:#5a544c;
  --theme-text-3:#645d52;
  --theme-accent:#e47a16;
  --theme-accent-ink:#8f3f00;
  --theme-accent-2:#f0a23a;
  --theme-border:rgba(35,29,22,.12);
  --theme-border-md:rgba(35,29,22,.19);
}
html,body{background:var(--theme-bg);color:var(--theme-text)}
body{transition:background-color .25s ease,color .25s ease}
.nav{color:var(--theme-text)}
.nav.scrolled{background:rgba(245,240,231,.92);border-color:var(--theme-border);backdrop-filter:blur(24px)}
.nav__logo,.nav__links a,.nav__cta{color:var(--theme-text)}
.nav__links a{color:var(--theme-text-2)}
.nav__links a:hover{color:var(--theme-text)}
.nav__links a::after{background:var(--theme-accent)}
.nav__cta{border-color:var(--theme-border-md)}
.nav__cta:hover{background:var(--theme-accent);border-color:var(--theme-accent);color:#171513}
.nav__toggle span{background:var(--theme-text)}
.nav__mobile{background:var(--theme-bg)}
.nav__mobile-links a{color:var(--theme-text)}
.eyebrow{color:var(--theme-accent)}
.body-lg,.body-sm{color:var(--theme-text-2)}
.section{border-color:var(--theme-border)}
.btn-primary{background:var(--theme-accent);border-color:var(--theme-accent);color:#171513}
.btn-primary:hover{background:#c9630d;border-color:#c9630d;color:#171513}
.btn-outline,.btn-ghost{border-color:var(--theme-border-md);color:var(--theme-text)}
.btn-outline:hover,.btn-ghost:hover{border-color:var(--theme-accent);color:var(--theme-accent)}
.pillar-card,.why-item,.j-card,.project-card,.gallery-card,.estimator-form,.estimator-result-panel,.article-cta,.seo-focus-card,.faq-item,.package,.matrix{background:var(--theme-panel);border-color:var(--theme-border)}
.pillar-card__body,.why-item__body,.j-card__body,.body,.article-section p,.article-links{color:var(--theme-text-2)}
.pillar-card__title,.j-card__title,.h-card,.h-section,.h-display,.h-hero{color:var(--theme-text)}
.stat-strip{background:var(--theme-bg-2);border-color:var(--theme-border)}
.stat-item{border-color:var(--theme-border)}
.footer{background:var(--theme-bg);border-color:var(--theme-border);color:var(--theme-text-3)}
.page-hero,.article-hero{background:var(--theme-bg-2)!important}
.gallery-cats,.journal-grid,.proj-section{border-color:var(--theme-border)}
.theme-toggle{width:40px;height:40px;border:1px solid var(--theme-border-md);background:transparent;color:var(--theme-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:999px;font-size:15px;line-height:1;transition:.2s ease;flex:0 0 auto}
.theme-toggle:hover{border-color:var(--theme-accent);color:var(--theme-accent);transform:translateY(-1px)}
.theme-toggle .sun{display:inline}.theme-toggle .moon{display:none}
/* Build Plans */
.hero-copy{background:linear-gradient(120deg,#f7f2e9 0%,#ece5da 100%)!important}
.hero-art{background:#e8e0d3!important}
.hero-art:before{background:linear-gradient(120deg,rgba(255,255,255,.18),transparent 45%,rgba(70,48,20,.08))!important}
.grid-lines{background-image:linear-gradient(rgba(70,48,20,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(70,48,20,.08) 1px,transparent 1px)!important}
.art-frame,.art-block{border-color:rgba(92,64,25,.22)!important;background:rgba(255,255,255,.08)!important}
.art-title{color:rgba(76,55,30,.72)!important}.art-note{color:rgba(76,55,30,.56)!important}
.hero-copy p,.tag,.points li,.story p,.lede,.small,.included,.brand,.note,.step p,.faq-panel p,.cta-band p{color:var(--theme-text-2)!important}
.button{border-color:var(--theme-border-md);color:var(--theme-text)}
.button.primary{background:var(--theme-accent);border-color:var(--theme-accent);color:#171513}
.section{border-color:var(--theme-border)}
.package{background:var(--theme-panel)!important}.package.featured{background:linear-gradient(180deg,rgba(228,122,22,.07),transparent 24%),var(--theme-panel)!important}
.package .top,.package .foot,.matrix,.callout,.stepgrid,.faq-item{border-color:var(--theme-border)}
.package h3,.story h2,.title,.cta-band h2,.step h4,.tier-head{color:var(--theme-text)}
.level span,.included,.kicker,.small,.tier-rate{color:var(--theme-accent)!important}
.badge,.brand,.control,.callout{border-color:var(--theme-border-md)!important}
.control{background:transparent;color:var(--theme-text-2)}.control.active{border-color:var(--theme-accent)!important;color:var(--theme-accent)!important;background:rgba(228,122,22,.08)}
.matrix{background:var(--theme-panel)!important}.matrix thead th,.category td{background:#eee7db!important;color:var(--theme-text-2)}
th,td{border-color:var(--theme-border)!important;color:var(--theme-text-2)}td:first-child{color:var(--theme-text)}
tbody tr:hover{background:rgba(228,122,22,.035)!important}.cta-band{background:#e9dfd0!important}.cta-band p{color:var(--theme-text-2)!important}
/* Dark theme */
[data-theme="dark"]{
  --theme-bg:#0a0a0a;--theme-bg-2:#111111;--theme-bg-3:#1a1a1a;--theme-panel:#101210;--theme-text:#f0ebe3;--theme-text-2:#a39a90;--theme-text-3:#8f877d;--theme-accent:#c8a97e;--theme-accent-ink:#c8a97e;--theme-accent-2:#dec09a;--theme-border:rgba(240,235,227,.07);--theme-border-md:rgba(240,235,227,.12)
}
[data-theme="dark"] .nav.scrolled{background:rgba(10,10,10,.94)}
[data-theme="dark"] .nav__links a{color:var(--theme-text-2)}
[data-theme="dark"] .nav__links a:hover{color:var(--theme-text)}
[data-theme="dark"] .nav__cta{color:var(--theme-text)}
[data-theme="dark"] .btn-primary{background:var(--theme-accent);border-color:var(--theme-accent);color:#17140f}
[data-theme="dark"] .page-hero,[data-theme="dark"] .article-hero{background:var(--theme-bg-2)!important}
[data-theme="dark"] .theme-toggle .sun{display:none}[data-theme="dark"] .theme-toggle .moon{display:inline}
[data-theme="dark"] .theme-toggle{color:var(--theme-text)}
[data-theme="dark"] .hero-copy{background:radial-gradient(circle at 18% 20%,rgba(201,168,120,.09),transparent 38%),linear-gradient(120deg,#0a0c0b 0%,#111410 100%)!important}
[data-theme="dark"] .hero-art{background:linear-gradient(135deg,#161815,#0b0d0c 58%,#17120c)!important}
[data-theme="dark"] .grid-lines{background-image:linear-gradient(rgba(241,238,231,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(241,238,231,.08) 1px,transparent 1px)!important}
[data-theme="dark"] .art-frame,[data-theme="dark"] .art-block{border-color:rgba(233,220,195,.26)!important;background:rgba(233,220,195,.025)!important}
[data-theme="dark"] .art-title{color:rgba(233,220,195,.76)!important}.art-note{color:rgba(233,220,195,.56)!important}
[data-theme="dark"] .package{background:var(--theme-panel)!important}.package.featured{background:linear-gradient(180deg,rgba(201,168,120,.055),transparent 24%),var(--theme-panel)!important}
[data-theme="dark"] .matrix thead th,[data-theme="dark"] .category td{background:#0c0e0d!important}
[data-theme="dark"] .cta-band{background:#0c0c0b!important}
/* Accessibility / overflow fixes */
html,body{max-width:100%;overflow-x:hidden}.hero,.hero-copy,.hero-art{min-width:0}.hero-copy{overflow:visible}.hero h1{overflow-wrap:anywhere}.hero-art img{max-width:100%;}
@media(max-width:900px){.theme-toggle{width:38px;height:38px}.nav__inner{gap:10px}.nav__toggle{margin-left:auto}.nav__inner>.theme-toggle{margin-left:auto}.nav__inner>.nav__toggle{margin-left:0}}
/* Build Plans responsive hero correction */
.floorplan-wrap{position:relative;width:100%;height:100%;min-height:620px;display:flex;align-items:center;justify-content:center;padding:44px;overflow:hidden}
.floorplan-wrap img{width:min(92%,760px);height:auto;max-height:560px;object-fit:contain;filter:drop-shadow(0 22px 38px rgba(30,20,10,.16));border-radius:2px}
.floorplan-caption{position:absolute;left:7%;bottom:6%;display:flex;flex-direction:column;gap:5px;color:#5a4730;z-index:2;text-shadow:0 1px 8px rgba(255,255,255,.7)}
.floorplan-caption span{font-size:10px;letter-spacing:.22em;color:var(--theme-accent)}
.floorplan-caption strong{font-family:var(--serif);font-size:28px;font-weight:400}
[data-theme="dark"] .floorplan-caption{color:#e8dcc8;text-shadow:0 1px 8px rgba(0,0,0,.55)}
@media(max-width:980px){.floorplan-wrap{min-height:470px;padding:30px}.floorplan-wrap img{width:min(96%,620px);max-height:420px}}
@media(max-width:720px){.hero{grid-template-columns:1fr}.hero-copy{padding:110px 24px 58px;min-height:auto}.hero-copy h1{font-size:clamp(46px,14vw,72px);line-height:.96;letter-spacing:-.025em;margin-bottom:24px}.hero-copy p{font-size:15px;line-height:1.7}.floorplan-wrap{min-height:330px;padding:16px 12px 52px}.floorplan-wrap img{width:100%;max-height:300px}.floorplan-caption{left:20px;bottom:16px}.floorplan-caption strong{font-size:23px}}

/* =========================================================
   Contrast + Typography Pass — applied site-wide
   ========================================================= */
:root{
  /* Keep the original KAINOS design-system variables in sync with the theme. */
  --bg:var(--theme-bg);
  --bg-2:var(--theme-bg-2);
  --bg-3:var(--theme-bg-3);
  --text:var(--theme-text);
  --text-2:var(--theme-text-2);
  --text-3:var(--theme-text-3);
  --gold:var(--theme-accent);
  --gold-light:var(--theme-accent-2);
  --border:var(--theme-border);
  --border-md:var(--theme-border-md);
  --border-strong:rgba(35,29,22,.26);
  --cream:var(--theme-accent);
  --gold2:var(--theme-accent-2);
  --muted:var(--theme-text-2);
  --ok:#4f8a57;
}

[data-theme="dark"]{
  --bg:var(--theme-bg);
  --bg-2:var(--theme-bg-2);
  --bg-3:var(--theme-bg-3);
  --text:var(--theme-text);
  --text-2:var(--theme-text-2);
  --text-3:var(--theme-text-3);
  --gold:var(--theme-accent);
  --gold-light:var(--theme-accent-2);
  --border:var(--theme-border);
  --border-md:var(--theme-border-md);
  --border-strong:rgba(240,235,227,.20);
  --cream:var(--theme-accent);
  --gold2:var(--theme-accent-2);
  --muted:var(--theme-text-2);
  --ok:#8fc58f;
}

/* Navigation: improve readability without changing the layout. */
.nav__links a,
.nav__mobile-links a,
.nav__cta,
.theme-toggle{
  font-weight:600;
}
.nav__links a{font-size:13.5px;letter-spacing:.055em}
.nav__mobile-links a{font-size:15px;letter-spacing:.045em}
.nav__logo{font-weight:500}

/* Key metrics / labels should remain readable in both themes. */
.stat-item__label,
.proj-stat__label{
  color:var(--theme-accent)!important;
  font-weight:600;
}
.stat-item__num,
.proj-stat__num{font-weight:500}

/* ---------- Light mode: eliminate legacy white-on-ivory text ---------- */
[data-theme="light"] .nav a:hover,
[data-theme="light"] .nav__links a:hover{color:var(--theme-accent)!important}

[data-theme="light"] .nav a,
[data-theme="light"] .navlinks,
[data-theme="light"] .small-link,
[data-theme="light"] .filter,
[data-theme="light"] .control,
[data-theme="light"] .card-info small,
[data-theme="light"] .style-card small,
[data-theme="light"] .project-body p,
[data-theme="light"] .hero p,
[data-theme="light"] .hero-copy p,
[data-theme="light"] .small,
[data-theme="light"] .tag,
[data-theme="light"] .brand,
[data-theme="light"] .points li,
[data-theme="light"] .included,
[data-theme="light"] .price span,
[data-theme="light"] th,
[data-theme="light"] td,
[data-theme="light"] .note,
[data-theme="light"] .footer{
  color:var(--theme-text-2)!important;
}

/* Specific legacy white text which becomes invisible on light backgrounds. */
[data-theme="light"] .label span,
[data-theme="light"] .art-title,
[data-theme="light"] .art-note{
  color:var(--theme-accent)!important;
}

[data-theme="light"] .num{color:var(--theme-accent)!important}
[data-theme="light"] .button.primary{color:#171513!important}
[data-theme="light"] .btn-primary,[data-theme="light"] .btn:not(.btn-primary):not(.btn-outline):not(.btn-ghost){color:#171513!important}

/* ---------- Dark mode: eliminate legacy black-on-black text ---------- */
[data-theme="dark"] .num,
[data-theme="dark"] .nav__cta:hover{
  color:var(--theme-accent)!important;
}

/* Legacy standalone pages contain fixed gray/black text values. Normalize them. */
[data-theme="dark"] .navlinks,
[data-theme="dark"] .nav a,
[data-theme="dark"] .small-link,
[data-theme="dark"] .filter,
[data-theme="dark"] .control,
[data-theme="dark"] .card-info small,
[data-theme="dark"] .style-card small,
[data-theme="dark"] .project-body p,
[data-theme="dark"] .hero p,
[data-theme="dark"] .hero-copy p,
[data-theme="dark"] .small,
[data-theme="dark"] .tag,
[data-theme="dark"] .brand,
[data-theme="dark"] .points li,
[data-theme="dark"] .included,
[data-theme="dark"] .price span,
[data-theme="dark"] th,
[data-theme="dark"] td,
[data-theme="dark"] .note,
[data-theme="dark"] .footer{
  color:var(--theme-text-2)!important;
}

[data-theme="dark"] .label span,
[data-theme="dark"] .art-title,
[data-theme="dark"] .art-note,
[data-theme="dark"] .num,
[data-theme="dark"] .stat-item__label,
[data-theme="dark"] .proj-stat__label{
  color:var(--theme-accent)!important;
}

/* Do not let literal black/near-black inline text disappear on dark surfaces. */
[data-theme="dark"] [style*="color:#000"],
[data-theme="dark"] [style*="color: #000"],
[data-theme="dark"] [style*="color:#111"],
[data-theme="dark"] [style*="color: #111"],
[data-theme="dark"] [style*="color:#171"],
[data-theme="dark"] [style*="color: #171"],
[data-theme="dark"] [style*="color:black"],
[data-theme="dark"] [style*="color: black"]{
  color:var(--theme-accent)!important;
}

/* Do not let literal white text disappear on light surfaces. */
[data-theme="light"] [style*="color:#fff"],
[data-theme="light"] [style*="color: #fff"],
[data-theme="light"] [style*="color:#ffffff"],
[data-theme="light"] [style*="color: #ffffff"],
[data-theme="light"] [style*="color:white"],
[data-theme="light"] [style*="color: white"]{
  color:var(--theme-accent)!important;
}

/* Stronger hierarchy for the requested headline / value areas. */
[data-theme="light"] .stat-item__label,
[data-theme="dark"] .stat-item__label,
[data-theme="light"] .proj-stat__label,
[data-theme="dark"] .proj-stat__label{letter-spacing:.14em}

/* Correct the Build Plans dark-mode art note selector. */
[data-theme="dark"] .art-note{color:rgba(233,220,195,.72)!important}

/* Legacy page navigation uses different class names; keep the same readable weight. */
.navlinks,
.nav a{
  font-weight:600!important;
  letter-spacing:.055em;
}

/* =========================================================
   Contrast & theme-consistency pass (October 2026)
   Additive and scoped. Nothing here targets the BuildTalk
   widget (.bt-*, #kainos-buildtalk-root).
   ========================================================= */

/* 1. Breadcrumb bar sat underneath the fixed nav on SEO + journal pages */
.seo-breadcrumb{margin-top:var(--nav-h,80px)}
.seo-breadcrumb + main .article-hero{padding-top:0}

/* 2. Primary/outline/ghost buttons: correct label colour per variant and theme */
[data-theme="dark"] .btn-primary,
[data-theme="dark"] .btn:not(.btn-outline):not(.btn-ghost),
[data-theme="dark"] .button.primary{color:#17140f!important}
[data-theme="dark"] .btn-outline:not(:hover),[data-theme="dark"] .btn-ghost:not(:hover){color:var(--theme-text)!important}
[data-theme="light"] .btn-outline:not(:hover),[data-theme="light"] .btn-ghost:not(:hover){color:var(--theme-text)!important}
[data-theme="light"] .btn:not(.btn-primary):not(.btn-outline):not(.btn-ghost){background:var(--theme-accent);color:#171513!important}
[data-theme="dark"] .btn:not(.btn-primary):not(.btn-outline):not(.btn-ghost){background:var(--theme-accent)}

/* 3. Light theme: hero panels that were hard-coded dark now follow the theme */
[data-theme="light"] .seo-hero__copy,
[data-theme="light"] .article-hero__copy{background:linear-gradient(120deg,#f7f2e9 0%,#ece5da 100%)}
[data-theme="light"] .seo-hero__copy>p,
[data-theme="light"] .article-hero__intro{color:var(--theme-text-2)}
[data-theme="light"] .seo-hero h1 em,
[data-theme="light"] .article-hero h1 em{color:var(--theme-accent)}
[data-theme="light"] .seo-eyebrow,[data-theme="light"] .article-eyebrow{color:var(--theme-accent)}

/* 4. Light theme: intentionally dark feature surfaces keep their look and get matching dark tokens,
      so every child (headings, body, links, kickers, buttons) resolves to a readable colour. */
[data-theme="light"] .seo-calculator,
[data-theme="light"] .seo-cta,
[data-theme="light"] .article-callout,
[data-theme="light"] .article-cta,
[data-theme="light"] .project-lens,
[data-theme="light"] .band,
[data-theme="light"] section.cta,
[data-theme="light"] .page-hero,
[data-theme="light"] .has-photo-hero .hero,
[data-theme="light"] .has-photo-hero .nav:not(.scrolled){
  --theme-bg:#0a0a0a;--theme-bg-2:#111111;--theme-bg-3:#1a1a1a;--theme-panel:#101210;--theme-text:#f0ebe3;--theme-text-2:#a39a90;--theme-text-3:#8f877d;--theme-accent:#c8a97e;--theme-accent-ink:#c8a97e;--theme-accent-2:#dec09a;--theme-border:rgba(240,235,227,.07);--theme-border-md:rgba(240,235,227,.12);
  --bg:#0a0a0a;--bg-2:#111111;--bg-3:#1a1a1a;--text:#f0ebe3;--text-2:#a39a90;--text-3:#8f877d;--gold:#c8a97e;--gold-light:#dec09a;--cream:#c8a97e;--gold2:#dec09a;--muted:#a39a90;--border:rgba(240,235,227,.07);--border-md:rgba(240,235,227,.12);--border-strong:rgba(240,235,227,.20);
  color:var(--theme-text)
}
[data-theme="light"] .page-hero,
[data-theme="light"] .has-photo-hero .hero{background:#0a0a0a!important}
[data-theme="light"] .has-photo-hero .nav:not(.scrolled){background:transparent}
[data-theme="light"] .seo-calculator .btn-primary,[data-theme="light"] .seo-cta .btn-primary,
[data-theme="light"] .article-cta .btn-primary,[data-theme="light"] .project-lens .btn-primary,
[data-theme="light"] .page-hero .btn-primary,[data-theme="light"] .has-photo-hero .hero .btn-primary,
[data-theme="light"] .band .btn-primary,[data-theme="light"] section.cta .btn{color:#17140f!important}
[data-theme="light"] .page-hero .btn-outline:not(:hover),[data-theme="light"] .has-photo-hero .hero .btn-outline:not(:hover),
[data-theme="light"] .seo-cta .btn-outline:not(:hover),[data-theme="light"] .article-cta .btn-outline:not(:hover){color:#f0ebe3!important}
[data-theme="light"] .page-hero .eyebrow,[data-theme="light"] .has-photo-hero .hero .eyebrow{color:#dec09a}

/* 5. Journal articles don't load seo-pages.css: give their breadcrumb the same base styling */
.article-page .seo-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:18px 7vw;color:var(--text-3);font-size:12px;border-bottom:1px solid var(--border)}
.article-page .seo-breadcrumb a:hover{color:var(--gold)}
@media(max-width:620px){.article-page .seo-breadcrumb{padding-left:20px;padding-right:20px}}
/* "From the KAINOS project library" kicker used on SEO pages (class lives in journal-articles.css) */
.project-lens__head .article-kicker{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}

/* 6. Images now carry width/height (prevents layout shift); keep their CSS-driven sizing intact */
:where(img[width][height]){height:auto}

/* 7. Design / Build / Interiors: header follows the theme, gets a theme toggle and a working mobile menu */
[data-theme="light"] header.nav,[data-theme="light"] .header{background:rgba(245,240,231,.94)}
[data-theme="light"] header.nav .journey,[data-theme="light"] .header .cta{border-color:var(--theme-border-md);color:var(--theme-text)}
[data-theme="light"] header.nav .journey:hover,[data-theme="light"] .header .cta:hover{border-color:var(--theme-accent);color:var(--theme-accent)}
.kx-actions{display:flex;align-items:center;gap:14px}
.kx-burger{display:none;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 auto;border:1px solid var(--theme-border-md);border-radius:999px;background:transparent;color:var(--theme-text);font-size:18px;line-height:1;cursor:pointer}
.kx-menu{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;padding:6px 20px 16px;background:var(--theme-bg);border-bottom:1px solid var(--theme-border-md);z-index:40}
.kx-menu[hidden]{display:none}
.kx-menu a{padding:14px 4px;border-bottom:1px solid var(--theme-border);color:var(--theme-text)!important;font-size:15px;letter-spacing:.045em}
.kx-menu a:last-child{border-bottom:0}
.mobile-nav{color:var(--theme-text)}
@media(max-width:800px){header.nav .kx-burger{display:inline-flex}header.nav .journey{padding:10px 12px;font-size:10px;letter-spacing:.04em;white-space:nowrap}}
@media(max-width:380px){header.nav .journey{display:none}header.nav .theme-toggle{margin-left:auto}}

/* 8. Dark image cards on Design / Build / Interiors keep their dark look in light theme */
[data-theme="light"] .kx-dark-cards .card,
[data-theme="light"] .kx-dark-cards .space-card,
[data-theme="light"] .kx-dark-cards .style-card,
[data-theme="light"] .kx-dark-cards .project,
[data-theme="light"] .kx-dark-cards .visual-card{
  --theme-bg:#0a0a0a;--theme-bg-2:#111111;--theme-bg-3:#1a1a1a;--theme-panel:#101210;--theme-text:#f0ebe3;--theme-text-2:#a39a90;--theme-text-3:#8f877d;--theme-accent:#c8a97e;--theme-accent-ink:#c8a97e;--theme-accent-2:#dec09a;--theme-border:rgba(240,235,227,.07);--theme-border-md:rgba(240,235,227,.12);--bg:#0a0a0a;--bg-2:#111111;--bg-3:#1a1a1a;--text:#f0ebe3;--text-2:#a39a90;--text-3:#8f877d;--gold:#c8a97e;--gold-light:#dec09a;--cream:#c8a97e;--gold2:#dec09a;--muted:#a39a90;--border:rgba(240,235,227,.07);--border-md:rgba(240,235,227,.12);--border-strong:rgba(240,235,227,.20);color:#f0ebe3
}
[data-theme="light"] section.cta a.btn:not(.btn-primary):not(.btn-outline):not(.btn-ghost){background:#c8a97e;border-color:#c8a97e;color:#17140f!important}
[data-theme="light"] .band .button.primary,[data-theme="light"] .band a.btn{background:#c8a97e;color:#17140f!important}

/* 9. Header fits 390px on Design/Build; photo captions stay readable in light theme */
@media(max-width:520px){header.nav .journey{display:none}header.nav .theme-toggle{margin-left:auto}header.nav{gap:12px}header.nav .logo{letter-spacing:.18em}}
[data-theme="light"] .article-stamp small,[data-theme="light"] .seo-stamp small{color:#f0d9b5}
@media(max-width:900px){.header>.nav,.header .cta{display:none}.header .mobile-nav{display:block;font-size:22px}}
@media(max-width:940px){header.nav .navlinks{display:none}header.nav .kx-burger{display:inline-flex}header.nav .journey{margin-left:auto}}
/* 10. Active filter chips, service links and swatch labels */
[data-theme="light"] .filter.active{color:#171513!important}
[data-theme="dark"] .filter.active{color:#17140f!important}
[data-theme="light"] .service a,[data-theme="light"] .services a{color:var(--theme-accent)!important}
[data-theme="light"] .material-swatch__label{color:#f0ebe3}

/* 11. Light theme keeps the brand orange (#e47a16) for buttons, borders, icons and large display text.
   Small orange TEXT (eyebrows, kickers, labels, small links) uses a darker "ink" shade so it stays readable
   on cream (4.5:1+). To use pure #e47a16 for these too, delete this block. */
[data-theme="light"] :is(.eyebrow,.seo-kicker,.seo-eyebrow,.seo-plan__eyebrow,.article-kicker,.article-eyebrow,.article-side__title,
  .j-card__cat,.kicker,.cap,.num,.sub,.service a,.step b,.stat-item__label,.proj-stat__label,.pillar-card__tag,.badge,.tier-rate,
  .level span,.included,.small,.label span,.art-title,.art-note,.floorplan-caption span,.form-label span,.caption a,
  .seo-plan a,.seo-breadcrumb a:hover,.article-links a:hover,.footer__links a:hover,.nav a:hover,.nav__links a:hover){color:var(--theme-accent-ink)!important}
[data-theme="light"] .nav__cta:hover{color:#171513!important}
[data-theme="light"] .btn-outline:hover,[data-theme="light"] .btn-ghost:hover{color:var(--theme-accent-ink)}
[data-theme="light"] [style*="color:#fff"],[data-theme="light"] [style*="color: #fff"],[data-theme="light"] [style*="color:white"]{color:var(--theme-accent-ink)!important}

/* 12. Layout fixes from device testing (phones / tablets / desktops) */
/* inline two-column grids on about / project-detail never collapsed; ai-design forced 4 columns inline */
@media(max-width:800px){
  [style*="grid-template-columns"][style*="gap:80px"]{grid-template-columns:1fr!important;gap:40px!important}
  .pillars-grid[style*="repeat(4,1fr)"]{grid-template-columns:1fr 1fr!important}
}
@media(max-width:520px){.pillars-grid[style*="repeat(4,1fr)"]{grid-template-columns:1fr!important}}
/* Build Plans: caption sat on the bottom edge of the floor-plan image on phones */
@media(max-width:720px){.floorplan-wrap{padding-bottom:96px}}
/* project image strip inside articles: narrow cells cropped landscape photos by up to 65% */
.article-layout .project-lens__grid{grid-template-columns:1fr 1fr}
.article-layout .project-lens__item:first-child{grid-column:1/-1}
.article-layout .project-lens__item img{height:auto;aspect-ratio:16/10}
.article-layout .project-lens__item:first-child img{aspect-ratio:16/9}
/* very small phones (320px) */
@media(max-width:360px){
  .article-hero h1,.seo-hero h1{font-size:40px;overflow-wrap:anywhere}
  .article-hero__copy,.seo-hero__copy{padding-left:16px;padding-right:16px}
  .page-hero__content{padding-left:20px;padding-right:20px}
  .process-grid{grid-template-columns:1fr!important}
}
.page-hero nav{flex-wrap:wrap}
/* light theme: plan cards consistent */
[data-theme="light"] .seo-plan{background:var(--theme-panel)}
/* 13. Build Plans: style.css pins every .hero to 100vh + overflow:hidden, which cut off the floor plan on phones/tablets */
@media(max-width:980px){.hero:has(>.hero-art){height:auto;overflow:visible}}
/* 320px phones: two stat columns were wider than the screen */
@media(max-width:360px){.stat-item{padding-left:14px;padding-right:14px;min-width:0}.stat-item__num{font-size:36px}.stat-item__label{letter-spacing:.08em;overflow-wrap:anywhere}}
/* 14. Phones: fixed 520px-tall inline image slots cropped landscape photos by ~75% */
@media(max-width:800px){img[style*="height:520px"]{height:auto!important;aspect-ratio:16/10}}
@media(max-width:520px){.visual-card{min-height:380px}}
