/* Modern Noir v4 — shared component snapshot, rollout 2026-10-03.
   Derived from home-v4.css. The existing top and party bundles remain byte-for-byte unchanged.
   Load after style.css and page inline styles. No top-only IDs or composition classes.
   Typography, navigation, buttons, section labels, CTA and footer share the approved tokens. */
.home-v4 {--cream:#f4f1e9; --cream-deep:#eae6dc; --paper:#fcfaf5;
  --ink:#121613; --ink-soft:#222720; --bg-dark:#141815;
  --brass:#806335; --brass-light:#d0b079; --brass-deep:#74592e;
  --green:#203d32; --text:#292e28; --muted:#63665c;
  --text-ondark:#d4d4c8; --muted-ondark:#b5b8ac;
  --line:#d5d2c7; --line-dark:#373c32; --radius:3px;
  --wrap-max:1320px; --header-h:80px;
  --section-y:clamp(76px,8vw,116px); --head-gap:44px;
  --gap:24px; --card-pad:36px; --stack:20px;
  --fs-title:clamp(27px,3vw,42px); --lh-body:1.9;
  --v4-hairline:rgba(208,176,121,.24);
  --v4-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  background:var(--cream); overflow-x:clip;}
.home-v4 .wrap {padding-inline:40px;}
.home-v4 .section-dark a:focus-visible,.home-v4 .cta-band a:focus-visible,.home-v4 .site-header a:focus-visible {outline-color:#efcf91;}
.home-v4 .site-header {background:rgba(18,22,19,.96); border-bottom:1px solid var(--v4-hairline); color:var(--cream);}
.home-v4 .brand-logo {color:var(--cream); font-size:24px; letter-spacing:.015em;}
.home-v4 .brand-tag {color:#b7b8ac; font-size:11px; letter-spacing:.14em; margin-left:4px;}
.home-v4 .nav-links {gap:23px;}
.home-v4 .nav-links a {color:#d9dbd0; font-size:12px;}
.home-v4 .nav-links a:hover {color:#ebcc93;}
.home-v4 .nav-links .nav-cta {color:#e3c895; border:1px solid #807150; border-radius:2px; font-size:11px; padding:12px 16px;}
.home-v4 .nav-links .nav-cta:hover {background:#d0b079; color:#121613;}
.home-v4 .nav-toggle {background-image:linear-gradient(var(--cream),var(--cream));}
.home-v4 .nav-toggle::before,.home-v4 .nav-toggle::after {background:var(--cream);}
.home-v4 .nav-check:checked ~ .nav-toggle {background-image:none;}
.home-v4 .hero-eyebrow,.home-v4 .sec-eyebrow,.home-v4 .cta-offer {font-family:var(--v4-mono); font-size:11px; letter-spacing:.09em; gap:12px; color:var(--brass); font-weight:500;}
.home-v4 .hero-eyebrow,.home-v4 .cta-offer {color:#d0b079;}
.home-v4 .hero-eyebrow {margin-bottom:30px; font-size:11px;}
.home-v4 .sec-eyebrow::before,.home-v4 .hero-eyebrow::before,.home-v4 .cta-offer::before {mask:none; -webkit-mask:none; width:7px; height:7px; background:transparent; border:1px solid currentColor; transform:rotate(45deg); flex-shrink:0;}
.home-v4 .btn {border-radius:2px; letter-spacing:.015em; padding:17px 22px; font-size:12px; line-height:1.6; box-shadow:none; transition:background .2s,border-color .2s,transform .2s;}
.home-v4 .btn-accent {background:#d0b079; border-color:#d0b079; color:#171c15; box-shadow:none;}
.home-v4 .btn-accent:hover {background:#e7cd9e; border-color:#e7cd9e; box-shadow:0 4px 24px #d0b07920; transform:translateY(-2px);}
.home-v4 .btn-ghost-light {border-color:#53594b; color:#e8e9de;}
.home-v4 .btn-ghost-light:hover {background:#ffffff09; border-color:#ccb17a;}
.home-v4 .section {position:relative;}
.home-v4 .sec-title {font-weight:500; line-height:1.55; letter-spacing:.01em; text-wrap:pretty;}
.home-v4 .sec-intro {font-size:14px; line-height:2; max-width:46em;}
.home-v4 .grid-2,.home-v4 .grid-3,.home-v4 .grid-4 {gap:24px;}
.home-v4 .card-tag {font-size:10px; color:var(--muted); letter-spacing:.06em;}
.home-v4 .card-more {color:var(--brass-deep); font-size:12px;}
.home-v4 .card-more::after {content:"↗"; font-size:18px; font-weight:400; margin-left:14px;}
.home-v4 .section-dark {background:#171b17; background-image:none;}
.home-v4 .section-dark .sec-eyebrow {color:#d0b079;}
.home-v4 .cta-band {background:#203d32; padding:110px 0; border-block:1px solid #8b906344;}
.home-v4 .cta-band::before {background:radial-gradient(ellipse at 50% 100%,#67734435,transparent 70%);}
.home-v4 .cta-band h2 {font-size:clamp(27px,3.3vw,44px); font-weight:500; line-height:1.65;}
.home-v4 .cta-band h2 em {color:#e0c289;}
.home-v4 .cta-band p {color:#d4dacc; font-size:14px; line-height:2.1; max-width:650px; margin-bottom:32px;}
.home-v4 .cta-band .btn {padding:19px 28px; font-size:13px;}
.home-v4 .cta-band .btn-ghost-light {border-color:#80927d;}
.home-v4 .site-footer {background:#101511; color:#a9b09f; padding:70px 0 28px;}
.home-v4 .site-footer::before {width:6px; height:6px; mask:none; -webkit-mask:none; transform:translate(-50%,-50%) rotate(45deg);}
.home-v4 .foot-grid {grid-template-columns:1.7fr 1fr 1fr; gap:44px; margin-bottom:60px;}
.home-v4 .foot-name {font-size:30px; margin-bottom:20px;}
.home-v4 .foot-addr {font-size:12px;}
.home-v4 .foot-head {font:10px var(--v4-mono); color:#d0b079; margin:12px 0 20px;}
.home-v4 .foot-nav a {color:#bdc4b3; font-size:12px;}
.home-v4 .foot-legal {border-top-color:#323b2d; font-size:10px;}
@media(max-width:1199px) {
.home-v4 .brand-tag {display:none;}
.home-v4 .nav-links {gap:14px;}
.home-v4 .nav-links a {font-size:11px;}
}
@media(max-width:959px) {
.home-v4 {--header-h:72px;}
.home-v4 .wrap {padding-inline:28px;}
.home-v4 .nav-check {display:block; position:absolute; right:28px; top:14px; width:44px; height:44px; opacity:0; z-index:2; cursor:pointer;}
.home-v4 .nav-check:focus-visible ~ .nav-toggle {outline:2px solid #ddc18a; outline-offset:2px;}
.home-v4 .nav-links {left:0; right:0; background:#171d17; padding:20px 28px 28px; border-bottom:1px solid #817048; gap:0;}
.home-v4 .nav-links a {font-size:14px; border-bottom:1px solid #394131; padding:15px 4px;}
.home-v4 .nav-links .nav-cta {font-size:13px; padding:16px;}
.home-v4 .hero-eyebrow {font-size:9px; gap:8px;}
}
@media(max-width:719px) {
.home-v4 {--section-y:68px; --header-h:64px; --head-gap:32px;}
.home-v4 .wrap {padding-inline:22px;}
.home-v4 .brand-logo {font-size:22px;}
.home-v4 .nav-check {right:22px; top:10px;}
.home-v4 .hero-eyebrow {font-size:10px; margin-bottom:20px;}
.home-v4 .sec-eyebrow {font-size:10px; min-height:28px; max-width:calc(100% - 82px);}
.home-v4 .sec-title {font-size:27px; margin-bottom:18px; line-height:1.6;}
.home-v4 .sec-intro {font-size:13px; line-height:2;}
.home-v4 .cta-band {padding:72px 0;}
.home-v4 .cta-band h2 {font-size:26px; line-height:1.65; margin-bottom:24px;}
.home-v4 .cta-band p {font-size:13px; text-align:left; line-height:2;}
.home-v4 .cta-band .btn {font-size:12px; padding:17px 10px;}
.home-v4 .cta-offer {font-size:11px; margin-bottom:25px;}
.home-v4 .site-footer {padding-top:48px;}
.home-v4 .foot-grid {grid-template-columns:1fr 1fr; gap:28px 18px; margin-bottom:36px;}
.home-v4 .foot-grid > div:first-child {grid-column:1/-1;}
.home-v4 .foot-name {font-size:27px;}
.home-v4 .foot-nav a {font-size:11px; padding-block:10px;}
.home-v4 .foot-head {margin-bottom:14px;}
}
.home-v4 {--v4-scene-width:350px;
  --v4-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath d='M0 0h128v128H0z' fill='%23cfbd94' opacity='.35' filter='url(%23grain)'/%3E%3C/svg%3E");}
.home-v4 .hero-eyebrow,.home-v4 .sec-eyebrow,.home-v4 .card-tag,.home-v4 .foot-head,.home-v4 .foot-legal {font-size:11px;}
.home-v4 .sec-eyebrow {color:#785b2f;}
.home-v4 .section-dark .sec-eyebrow {color:#d6b980;}
.home-v4 .cta-band {background-color:#254638; border-top-color:#bfa67580;}
.home-v4 .cta-band::before {background-image:radial-gradient(ellipse at 50% 100%,#acaa5530,transparent 65%),var(--v4-grain);
  background-size:auto,128px 128px; opacity:.28;}
@media(max-width:1199px) {
.home-v4 {--v4-scene-width:290px;}
}
@media(min-width:720px) and (max-width:959px) {
.home-v4 {--v4-scene-width:250px;}
}
@media(max-width:719px) {
.home-v4 {--v4-scene-width:168px;}
.home-v4 .hero-eyebrow,.home-v4 .sec-eyebrow,.home-v4 .card-tag,.home-v4 .foot-head {font-size:11px;}
.home-v4 .hero-eyebrow {letter-spacing:.035em;}
.home-v4 .sec-eyebrow {max-width:100%;}
}
/* Shared lower-page primitives. Their compositions live in pages-v4.css. */
.home-v4 .breadcrumb {padding-block:16px;font-size:11px;line-height:1.9;}
.home-v4 .breadcrumb .sep {color:#827962;}
.home-v4 .section-head {padding:0;margin-bottom:44px;}
.home-v4 .card,.home-v4 .case-card,.home-v4 .plan {border-radius:3px;box-shadow:none;border-color:var(--line);background:var(--paper);}
.home-v4 .card {padding:30px;}
.home-v4 .card h3 {font-size:21px;font-weight:500;line-height:1.65;}
.home-v4 .card p {font-size:14px;line-height:1.95;}
.home-v4 .card-idx {font:12px/1.8 var(--v4-mono);color:var(--brass);margin-bottom:24px;}
.home-v4 .section-dark .card {background:#20271f;border-color:#424938;box-shadow:none;}
.home-v4 .section-dark .card p,.home-v4 .section-dark .dot-list li {color:#c9cebf;}
.home-v4 .section-dark .card-tag,.home-v4 .section-dark .card-idx {color:#d6b980;}
.home-v4 a.card-link:hover {transform:translateY(-3px);border-color:#9a8150;box-shadow:0 12px 28px #1418140a;}
.home-v4 .table-scroll {max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;}
.home-v4 .table-scroll:focus-visible {outline:2px solid var(--brass);outline-offset:4px;}
.home-v4 .compare-table {min-width:600px;table-layout:fixed;}
.home-v4 .compare-table th,.home-v4 .compare-table td {padding:20px 16px;}
.home-v4 .compare-table th:first-child {width:28%;}
.home-v4 .compare-table th:nth-child(2) {width:20%;}
.home-v4 .compare-table th:nth-child(3) {width:32%;}
.home-v4 .compare-table th:last-child {width:20%;}
.home-v4 .compare-table td:not(:first-child) {text-align:right;white-space:nowrap;}
.home-v4 .compare-table .after {font-size:32px;}
.home-v4 .compare-table .delta {font-size:14px;color:var(--brass-deep);}
.home-v4 .foot-head,.home-v4 .foot-legal {font-size:11px;}
@media(prefers-reduced-motion:reduce) {
 html:has(.home-v4) {scroll-behavior:auto;}
 .home-v4 *,.home-v4 *::before,.home-v4 *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
