/* ZH Digital — After Dark Dev1, isolated public theme foundation. */
:root{--zh-stage-radius:32px;--zh-stage-border:rgba(70,183,152,.35);--zh-stage-ease:cubic-bezier(.2,.75,.2,1)}
html[data-zh-theme="night"]{
 color-scheme:dark;--zh-bg:#06141b;--zh-surface:#0a202a;--zh-surface-high:#12313b;--zh-card:#112b35;
 --zh-border:rgba(107,181,168,.27);--zh-copy:#e7f6f6;--zh-muted:#bbd0d7;
 --slate:#bdd0d8;--line:#38535f;--soft:#0a2029;--soft2:#0c2730;--shadow:0 18px 52px rgba(0,0,0,.28);
}
html[data-zh-theme="night"] body{background:var(--zh-bg);color:var(--zh-copy)}
html[data-zh-theme="night"] body>main{background:var(--zh-bg)}
/* Night navigation: same production markup and mobile behavior, elevated materials. */
html[data-zh-theme="night"] .site-header{background:#041017;border-bottom:0;height:108px;backdrop-filter:none;}
html[data-zh-theme="night"] .site-header .header-inner{
 width:min(1540px,calc(100% - 72px));height:77px;position:relative;top:14px;
 border-radius:22px; padding:10px 16px 10px 22px;gap:18px;
 background:linear-gradient(115deg,#132b39,#0b1a25 62%,#102735);
 border:1px solid #385563;border-top-color:#50707b;
 box-shadow:0 20px 60px rgba(0,0,0,.34),inset 0 1px 0 rgba(194,239,240,.045);
}
html[data-zh-theme="night"] .site-header .brand{width:205px;max-width:20vw;}
html[data-zh-theme="night"] .site-header .brand img{height:auto;max-height:62px;width:100%;object-fit:contain}
html[data-zh-theme="night"] .site-header .main-nav{gap:clamp(10px,1.05vw,20px);font-size:13px;color:#edf7f7;align-items:center;}
html[data-zh-theme="night"] .site-header .main-nav a:hover{color:#84ffdd}
html[data-zh-theme="night"] .site-header .main-nav a[href="/previewbyzh/"]{
 border:1px solid rgba(87,255,183,.24);background:rgba(87,255,183,.08);color:#9fffe0;
 padding:11px 13px;border-radius:23px;font-weight:800;box-shadow:inset 0 1px 0 rgba(139,255,230,.08)
}
html[data-zh-theme="night"] .site-header .main-nav a[href="/previewbyzh/"]::before{content:"●";font-size:10px;color:#55f7bb;margin-right:6px}
html[data-zh-theme="night"] .site-header .main-nav a[href="/portal/"]{
 border:1px solid #506a78;background:linear-gradient(140deg,#172b39,#0d202b);color:#f4ffff;
 padding:11px 12px;border-radius:23px;font-weight:750;box-shadow:inset 0 1px 0 rgba(232,255,255,.06)
}
html[data-zh-theme="night"] .site-header .main-nav a:after{bottom:-3px}
html[data-zh-theme="night"] .site-header .main-nav a[href="/portal/"]:after,
html[data-zh-theme="night"] .site-header .main-nav a[href="/previewbyzh/"]:after{display:none}
html[data-zh-theme="night"] .site-header .header-cta{
 min-height:45px;margin-left:0;padding:7px 8px 7px 16px;border-radius:14px;white-space:nowrap;font-size:12px;
 background:linear-gradient(115deg,#83ffdc,#52f3ba);color:#062e2c;
 box-shadow:0 5px 18px rgba(56,236,182,.16),inset 0 1px 0 rgba(255,255,255,.43);
 border:1px solid rgba(146,255,221,.58)
}
html[data-zh-theme="night"] .site-header .header-cta span{
 display:grid;place-items:center;background:#0b795e;color:#e0fff5;border-radius:50%;height:27px;width:27px;font-size:15px
}
html[data-zh-theme="night"] .site-header .header-cta:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(56,236,182,.28)}
html[data-zh-theme="night"] .site-header .nav-toggle span{background:#dcfaf5}
.zh-theme-control{display:inline-flex;flex:0 0 auto;align-items:center;gap:4px;border:1px solid rgba(45,107,111,.23);border-radius:999px;padding:7px 10px;background:#f6fafb;color:#193846;font-size:12px;box-shadow:inset 0 1px 0 white;}
.zh-theme-control:focus-within{outline:2px solid #42b98c;outline-offset:2px}
.zh-theme-control-icon{font-size:14px;line-height:1}
.zh-theme-select{appearance:none;border:0;background:transparent;color:inherit;font-weight:750;font-size:12px;padding:2px 9px 2px 0;cursor:pointer;min-height:22px;}
.zh-theme-select:focus{outline:0}
.zh-theme-select option{color:#162e3c;background:#fff}
html[data-zh-theme="night"] .zh-theme-control{color:#d8fff1;background:linear-gradient(130deg,#193b3c,#0c292e);border-color:#4a8179;box-shadow:inset 0 1px 0 rgba(147,255,218,.09)}
html[data-zh-theme="night"] .zh-theme-select option{background:#102a34;color:#e3f9f1}
html[data-zh-theme="night"] .site-header .main-nav.open{background:linear-gradient(125deg,#132e3b,#0b1e28);border:1px solid #406371;box-shadow:0 20px 60px #000b}
/* Hero-stage design language: subtle boundary and editorial transition, no thick boxed frame. */
.zh-hero-stage{position:relative;isolation:isolate;--zh-stage-edge:rgba(87,255,143,.25)}
.zh-day-hero.zh-hero-stage{border-bottom:1px solid rgba(39,130,111,.16)}
.zh-day-hero.zh-hero-stage::after{content:"";position:absolute;left:0;right:0;bottom:0;height:18px;pointer-events:none;background:linear-gradient(0deg,rgba(30,134,114,.045),transparent)}
html[data-zh-theme="night"] .zh-day-hero{display:none}
html[data-zh-theme="day"] .zh-night-hero{display:none}
/* Public section surfaces and readable type. Original case-study/brand assets are never inverted. */
html[data-zh-theme="night"] body>main :is(.section,.inner-hero,.article-hero,.article-body,.detail-case){color:var(--zh-copy)}
html[data-zh-theme="night"] body>main :is(.inner-hero,.article-hero){
 background:radial-gradient(ellipse 60% 90% at 85% 25%,rgba(26,137,114,.17),transparent 75%),linear-gradient(115deg,#07151e,#0d2930)!important;
 border-bottom:1px solid var(--zh-stage-border);box-shadow:inset 0 -35px 60px rgba(0,0,0,.09)
}
html[data-zh-theme="night"] body>main :is(.inner-hero,.article-hero)::after{content:"";display:block;position:absolute;pointer-events:none}
html[data-zh-theme="night"] body>main :is(.section,.article-body,.detail-case){background-color:var(--zh-bg)}
html[data-zh-theme="night"] body>main :is(.section.alt,.section.section-light,.section:nth-of-type(even)){background-color:#091e27}
html[data-zh-theme="night"] body>main :is(h1,h2,h3,h4){color:#f1fbfa}
html[data-zh-theme="night"] body>main :is(p,.inner-lede,.big-copy,.section-intro,.article-body li){color:var(--zh-muted)}
html[data-zh-theme="night"] body>main :is(.eyebrow,.eyebrow span,.tag){color:#73ffcc}
html[data-zh-theme="night"] body>main :is(.page-cta,.case-study,.growth-journey){background:linear-gradient(128deg,#0c2732,#061923)!important;color:#f0faf9}
html[data-zh-theme="night"] body>main :is(.page-cta,.case-study,.growth-journey) :is(p,h2,h3){color:#eaf8f5}
html[data-zh-theme="night"] body>main :is(.problem-card,.cap-card,.package-card,.ribbon-card,.feature-matrix article,.detail-cards article,.workflow-demo,.mini-ladder>div,.pricing-grid article:not(.dark),.custom-band,.faq-grid details,.case-chip,.process-row>div,.article-grid>a:not(.article-featured),.future-work article,.contact-note,.project-form,.contact-side>div,.system-map,.map-node:not(.core),.principle-card,.support-card,.trust-card,.service-card,.article-callout){
 color:#e6f5f4;background:linear-gradient(135deg,rgba(18,48,58,.94),rgba(8,30,42,.96))!important;
 border-color:rgba(91,161,156,.30)!important;box-shadow:0 15px 42px rgba(0,0,0,.14);}
html[data-zh-theme="night"] body>main :is(.pricing-grid article.dark,.mini-ladder .dark,.article-featured,.quote-panel,.principle-card){background:linear-gradient(135deg,#143641,#091e29)!important;color:#f0fcf9}
html[data-zh-theme="night"] body>main :is(.pricing-grid article,.problem-card,.cap-card,.package-card,.article-grid>a,.contact-side>div) :is(h2,h3,b){color:#e8f8f5}
html[data-zh-theme="night"] body>main :is(.pricing-grid article,.problem-card,.cap-card,.package-card,.article-grid>a,.contact-side>div) :is(p,li,small){color:#bfd6d9}
html[data-zh-theme="night"] body>main :is(.project-form input,.project-form textarea,.project-form select,.form-control,input:not([type="checkbox"]),textarea,select){background:#0b2531;color:#effbf9;border-color:#4a6973}
html[data-zh-theme="night"] body>main :is(input,textarea,select)::placeholder{color:#a9c2cb;opacity:1}
html[data-zh-theme="night"] body>main :is(input,textarea,select):focus{outline-color:#78fbd4}
html[data-zh-theme="night"] body>main :is(.article-body p,.article-body li,.article-body h2,.article-hero p){color:#cedfdf}
html[data-zh-theme="night"] body>main :is(.article-callout,.custom-band){background:#143440!important}
html[data-zh-theme="night"] body>main :is(.back-link,.text-link){color:#84ffcd}
html[data-zh-theme="night"] body>main :is(.btn-secondary,.btn-outline){background:#17313d;border-color:#53727b;color:#f4ffff}
html[data-zh-theme="night"] body>main :is(.btn-primary,.btn-mint){color:#082c29;background:linear-gradient(115deg,#7effd7,#56f4b9)}
html[data-zh-theme="night"] .footer{background:#031016;color:#d5e9e9;border-top:1px solid #264850}
html[data-zh-theme="night"] .footer a:hover{color:#7bffcf}
html[data-zh-theme="night"] [id]{scroll-margin-top:125px}
.zh-social-empty{margin:0 auto;padding:70px 30px;max-width:850px;background:linear-gradient(#0b2832,#153f43);border-radius:18px;color:#eafff8;text-align:center}
.zh-social-empty h2{font-size:clamp(27px,3vw,42px)}
.zh-social-empty p{color:#d1e8e7}
@media(max-width:1380px){
 html[data-zh-theme="night"] .site-header .header-inner{width:calc(100% - 36px);gap:10px;padding-inline:15px}
 html[data-zh-theme="night"] .site-header .brand{width:175px;max-width:22vw}
 html[data-zh-theme="night"] .site-header .main-nav{gap:9px;font-size:12px}
 html[data-zh-theme="night"] .site-header .main-nav a[href="/previewbyzh/"],
 html[data-zh-theme="night"] .site-header .main-nav a[href="/portal/"]{padding:9px 10px}
 html[data-zh-theme="night"] .site-header .header-cta{font-size:11px;padding-left:10px}
}
@media(max-width:1160px){
 html[data-zh-theme="night"] .site-header .main-nav{display:none;position:absolute;left:12px;right:12px;top:86px;margin:0;padding:16px;flex-direction:column;align-items:stretch;gap:0;background:#0f2835;border:1px solid #385763;border-radius:15px;box-shadow:0 18px 36px #000a}
 html[data-zh-theme="night"] .site-header .main-nav.open{display:flex}
 html[data-zh-theme="night"] .site-header .main-nav a{padding:12px!important;border-radius:9px;margin:0}
 html[data-zh-theme="night"] .site-header .main-nav a[href="/previewbyzh/"]::before{margin-right:7px}
 html[data-zh-theme="night"] .site-header .nav-toggle{display:block;margin-left:auto}
 html[data-zh-theme="night"] .site-header .header-cta{display:inline-flex}
}
@media(max-width:780px){
 html[data-zh-theme="night"] .site-header{height:86px}
 html[data-zh-theme="night"] .site-header .header-inner{height:65px;top:9px;width:calc(100% - 24px);border-radius:16px}
 html[data-zh-theme="night"] .site-header .brand{width:165px;max-width:45vw}
 html[data-zh-theme="night"] .site-header .header-cta{display:none}
 html[data-zh-theme="night"] .site-header .main-nav{top:73px}
 .zh-theme-control{padding:6px 8px}.zh-theme-select{font-size:12px}
}
@media(max-width:400px){
 html[data-zh-theme="night"] .site-header .brand{width:130px}
 html[data-zh-theme="night"] .site-header .header-inner{gap:6px;padding-inline:10px}
 .zh-theme-select{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.zh-theme-control,.zh-hero-stage{transition:none!important}}


/* v1.2.7 Dev1.1 — coordinated navigation, accessible appearance menu, cross-surface fixes.
   Do not touch approved Candidate C hero artwork, connections or animation. */
:root{--zh-mint-edge:rgba(40,191,143,.22)}
/* Light mode: halve PreviewByZH ambient glow without removing canonical outline animation. */
html:not([data-zh-theme="night"]) .site-header .main-nav a[href="/previewbyzh/"]{
 box-shadow:0 0 0 1px rgba(87,255,143,.035),0 0 9px rgba(87,255,143,.08),0 5px 13px rgba(37,232,123,.03);
}
html:not([data-zh-theme="night"]) .site-header .main-nav a[href="/previewbyzh/"]:is(:hover,.active,[aria-current="page"]){
 box-shadow:0 0 0 1px rgba(87,255,143,.05),0 0 12px rgba(87,255,143,.12),0 6px 14px rgba(37,232,123,.055);
}
html:not([data-zh-theme="night"]) .site-header .main-nav a[href="/previewbyzh/"]::before{
 box-shadow:0 0 0 3px rgba(37,232,123,.055),0 0 6px rgba(87,255,143,.21);
}
/* Dark links: deliberate material hover instead of inherited bright-white day pills. */
html[data-zh-theme="night"] .site-header .main-nav a:not([href="/previewbyzh/"]):not([href="/portal/"]){
 color:#e7f6f2;text-shadow:none;filter:none;transform:none;
}
html[data-zh-theme="night"] .site-header .main-nav a:not([href="/previewbyzh/"]):not([href="/portal/"]):hover{
 color:#92fbd0;background:rgba(59,214,156,.105);border-color:rgba(86,239,187,.24);
 box-shadow:inset 0 1px 0 rgba(143,255,209,.035);transform:none;
}
html[data-zh-theme="night"] .site-header .main-nav a:not([href="/previewbyzh/"]):not([href="/portal/"]):is(.active,[aria-current="page"]){
 background:rgba(61,199,153,.17);color:#a9ffe2;border-color:rgba(97,234,194,.40);
 box-shadow:inset 0 1px 0 rgba(141,255,215,.07);
}
html[data-zh-theme="night"] .site-header .main-nav a:not([href="/previewbyzh/"]):not([href="/portal/"]):is(.active,[aria-current="page"]):hover{
 background:rgba(63,216,160,.23);border-color:rgba(122,253,205,.57);color:#c8ffeb;
}
html[data-zh-theme="night"] .site-header .main-nav a:focus-visible,
html[data-zh-theme="night"] .site-header :is(.header-cta,.zh-theme-trigger):focus-visible{
 outline:2px solid #8dffdd;outline-offset:3px;
}
/* Night PreviewByZH: remove inherited hover transform, fuzzy luminance, and over-soft edges. */
html[data-zh-theme="night"] .site-header .main-nav a[href="/previewbyzh/"]{
 background:linear-gradient(180deg,rgba(16,69,64,.93),rgba(10,47,51,.97));
 color:#d8fff0;border:1px solid rgba(101,236,189,.47);text-shadow:none;filter:none;
 box-shadow:inset 0 1px 0 rgba(200,255,231,.09),0 2px 9px rgba(0,0,0,.19);
 font-weight:780;transform:none;-webkit-font-smoothing:antialiased;
}
html[data-zh-theme="night"] .site-header .main-nav a[href="/previewbyzh/"]::before{
 content:"";display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:7px;
 background:#6af6c0;box-shadow:0 0 0 3px rgba(65,234,170,.11);
}
html[data-zh-theme="night"] .site-header .main-nav a[href="/previewbyzh/"]:is(:hover,.active,[aria-current="page"]){
 color:#eafff6;background:linear-gradient(180deg,rgba(21,82,72,.97),rgba(12,58,57,.97));
 border-color:rgba(132,255,210,.68);transform:none;
 box-shadow:inset 0 1px 0 rgba(205,255,239,.13),0 3px 10px rgba(0,0,0,.21);
}
html[data-zh-theme="night"] .site-header .main-nav a[href="/portal/"]{
 color:#e7f3f5;background:linear-gradient(180deg,#19323f,#112631);
 border-color:rgba(131,166,178,.41);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);transform:none;
}
html[data-zh-theme="night"] .site-header .main-nav a[href="/portal/"]:hover{
 color:#b4ffe4;background:linear-gradient(180deg,#22403e,#173236);
 border-color:rgba(100,224,183,.48);box-shadow:inset 0 1px 0 rgba(192,255,222,.07);transform:none;
}
html[data-zh-theme="night"] .site-header .header-cta:hover{
 transform:translateY(-1px);background:linear-gradient(115deg,#a2ffe8,#67f7c4);
 box-shadow:0 7px 19px rgba(58,218,161,.17),inset 0 1px 0 rgba(255,255,255,.38);
}
/* Make sure the header stays dark when its sticky "is-scrolled" state is active. */
html[data-zh-theme="night"] .site-header.is-scrolled .header-inner{
 background:linear-gradient(115deg,#132b39,#0b1a25 62%,#102735);
 border-color:#385563;box-shadow:0 16px 42px rgba(0,0,0,.32),inset 0 1px 0 rgba(194,239,240,.045);
}
/* Appearance: intentionally designed popover, not native browser select popup. */
.zh-theme-control{position:relative;flex:0 0 auto;display:flex;align-items:center;z-index:65;outline:0!important;background:transparent!important;
 box-shadow:none!important;border:0!important;border-radius:0;padding:0!important;line-height:1.2}
.zh-theme-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;
 padding:0 13px;border:1px solid rgba(53,120,113,.32);border-radius:999px;white-space:nowrap;
 font-size:12px;font-weight:750;line-height:1.2;font-family:inherit;color:#13453e;background:linear-gradient(180deg,#f7fcfa,#eaf7f2);
 box-shadow:inset 0 1px 0 #fff,0 3px 9px rgba(20,76,65,.045);
 cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s,color .2s}
.zh-theme-trigger .zh-theme-icon{height:16px;width:16px;display:inline-grid;place-items:center;flex-shrink:0}
.zh-theme-icon svg,.zh-theme-option-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.zh-theme-chevron{opacity:.67;width:12px;height:12px;transition:transform .2s ease}
.zh-theme-chevron svg{width:12px;height:12px}
.zh-theme-control[data-open="true"] .zh-theme-chevron{transform:rotate(180deg)}
.zh-theme-trigger:hover,.zh-theme-control[data-open="true"] .zh-theme-trigger{
 background:linear-gradient(180deg,#f0fcf5,#def8eb);border-color:rgba(28,145,100,.45);box-shadow:inset 0 1px 0 #fff,0 4px 12px rgba(37,190,123,.08);
}
.zh-theme-trigger:focus-visible{outline:2px solid #168c6b;outline-offset:3px}
.zh-theme-popup{position:absolute;z-index:80;right:0;top:calc(100% + 12px);width:282px;max-width:calc(100vw - 26px);
 padding:11px;background:#fff;border:1px solid #d4e4dc;border-radius:17px;max-height:min(380px,calc(100vh - 110px));overflow-y:auto;
 box-shadow:0 20px 46px rgba(7,39,36,.19),0 4px 13px rgba(3,25,28,.07);color:#143b3c;}
.zh-theme-popup[hidden]{display:none!important}
.zh-theme-popup::before{content:"";position:absolute;right:26px;top:-5px;height:8px;width:8px;
 background:inherit;border-top:1px solid #d4e4dc;border-left:1px solid #d4e4dc;transform:rotate(45deg)}
.zh-theme-heading{font-size:10px;font-weight:800;line-height:1.4;font-family:inherit;letter-spacing:.15em;text-transform:uppercase;padding:5px 10px 8px;color:#47716e}
.zh-theme-option{width:100%;display:grid;grid-template-columns:34px 1fr 18px;align-items:center;gap:10px;
 border:1px solid transparent;background:transparent;border-radius:11px;text-align:left;padding:10px 9px;
 cursor:pointer;color:inherit;font:inherit;transition:background .18s,border-color .18s,color .18s}
.zh-theme-option:hover,.zh-theme-option:focus-visible{background:#e9faf2;border-color:#bcebd4;outline:0}
.zh-theme-option[aria-checked="true"]{background:#e8f9f1;border-color:#a5e4c8}
.zh-theme-option-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#ecf4f1;color:#156a56}
.zh-theme-option-icon svg{width:18px;height:18px}
.zh-theme-option[aria-checked="true"] .zh-theme-option-icon{background:#caefdf;color:#0b6648}
.zh-theme-option-copy{display:grid;gap:3px}
.zh-theme-option-copy strong{font-size:13px;font-weight:790;line-height:1.2;font-family:inherit}
.zh-theme-option-copy small{font-size:11px;font-weight:500;line-height:1.35;font-family:inherit;color:#547873}
.zh-theme-selected{opacity:0;color:#008f61;display:flex;align-items:center}
.zh-theme-option[aria-checked="true"] .zh-theme-selected{opacity:1}
.zh-theme-selected svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.3}
html[data-zh-theme="night"] .zh-theme-trigger{
 background:linear-gradient(180deg,#193a3b,#0f2931);border-color:rgba(103,202,172,.49);color:#d5ffec;
 box-shadow:inset 0 1px 0 rgba(210,255,233,.10),0 2px 8px rgba(0,0,0,.18)}
html[data-zh-theme="night"] .zh-theme-trigger:hover,
html[data-zh-theme="night"] .zh-theme-control[data-open="true"] .zh-theme-trigger{
 color:#dffff0;border-color:rgba(129,255,204,.75);background:linear-gradient(180deg,#22544c,#143738);
 box-shadow:inset 0 1px 0 rgba(217,255,231,.13),0 4px 12px rgba(0,0,0,.21)}
html[data-zh-theme="night"] .zh-theme-popup{
 background:linear-gradient(145deg,#142e38,#0c222c);color:#eefbf7;
 border:1px solid #48736e;box-shadow:0 22px 55px rgba(0,0,0,.52),inset 0 1px 0 rgba(198,255,239,.08)}
html[data-zh-theme="night"] .zh-theme-popup::before{border-color:#48736e}
html[data-zh-theme="night"] .zh-theme-heading{color:#83cbb6}
html[data-zh-theme="night"] .zh-theme-option:hover,
html[data-zh-theme="night"] .zh-theme-option:focus-visible{background:rgba(47,173,138,.15);border-color:rgba(103,221,181,.28)}
html[data-zh-theme="night"] .zh-theme-option[aria-checked="true"]{background:rgba(53,204,151,.16);border-color:rgba(100,247,189,.40)}
html[data-zh-theme="night"] .zh-theme-option-icon{background:rgba(24,91,79,.45);color:#81e8c3}
html[data-zh-theme="night"] .zh-theme-option[aria-checked="true"] .zh-theme-option-icon{background:rgba(39,158,113,.35);color:#b2ffdf}
html[data-zh-theme="night"] .zh-theme-option-copy small{color:#a7c9c9}
html[data-zh-theme="night"] .zh-theme-selected{color:#7cffc7}
@media(max-width:780px){.zh-theme-trigger{height:44px;padding:0 11px}.zh-theme-popup{right:-14px}}
@media(max-width:400px){.zh-theme-trigger{gap:5px;padding:0 8px}.zh-theme-popup{right:-46px}}
@media(prefers-reduced-motion:reduce){.zh-theme-trigger,.zh-theme-chevron,.zh-theme-option{transition:none!important}}

/* Component-level Night material pairing discovered during Dev1 walk-through. */
html[data-zh-theme="night"] body>main .home-gateway{
 background:linear-gradient(180deg,#091c25,#0c2730)!important;
}
html[data-zh-theme="night"] body>main .home-gateway-grid>a,
html[data-zh-theme="night"] body>main .work-case-card{
 background:linear-gradient(145deg,#153641,#0b252f)!important;color:#effaf7;
 border-color:rgba(110,185,166,.31);box-shadow:0 12px 34px rgba(0,0,0,.19)
}
html[data-zh-theme="night"] body>main .home-gateway-grid>a :is(b,em),
html[data-zh-theme="night"] body>main .work-case-card :is(h2,h3,b){color:#eafbfa}
html[data-zh-theme="night"] body>main .home-gateway-grid>a :is(small,p),
html[data-zh-theme="night"] body>main .work-case-card :is(p,small){color:#bdd8d8}
html[data-zh-theme="night"] body>main :is(.service-fit-band,.package-finder-section,.work-case-index){
 background:linear-gradient(145deg,#091e28,#0a2730)!important;color:#eefbf9;
 border-color:rgba(123,192,177,.22)
}
html[data-zh-theme="night"] body>main :is(.service-fit-band,.package-finder-section,.work-case-index) :is(h2,h3,p){color:#d9efed}
html[data-zh-theme="night"] body>main .package-finder{
 background:linear-gradient(140deg,#14333c,#0c2631)!important;color:#f2fffa;
 border-color:#3b666b;box-shadow:0 16px 40px rgba(0,0,0,.2)
}
html[data-zh-theme="night"] body>main .package-finder :is(label,b,h3){color:#eafbfa}
html[data-zh-theme="night"] body>main .package-finder .finder-step{border-color:rgba(106,182,168,.24)}
html[data-zh-theme="night"] body>main .package-inclusions{border-color:rgba(115,188,169,.32)}
html[data-zh-theme="night"] body>main .package-inclusions summary{color:#89f6cf}
html[data-zh-theme="night"] body>main .package-inclusions summary:is(:hover,:focus-visible){color:#c0ffe4}
html[data-zh-theme="night"] body>main .preview-public-hero{
 background:radial-gradient(ellipse 58% 78% at 84% 26%,rgba(25,153,111,.18),transparent 73%),linear-gradient(125deg,#071923,#0c2a33)!important;
 color:#e7faf7;
}
html[data-zh-theme="night"] body>main .preview-public-hero :is(h1,h2,h3){color:#f2fffa}
html[data-zh-theme="night"] body>main .preview-public-hero :is(p,.preview-public-lede){color:#c6e0dd}
html[data-zh-theme="night"] body>main .preview-public-hero :is(.eyebrow,.eyebrow span){color:#70ffbf}
/* Keep authentic Premium Construction brand swatches; make its white panel's copy dark. */
html[data-zh-theme="night"] body>main .pc-brand-card.light{color:#152846!important;background:#fff!important;border-color:#e2ddd2!important}
html[data-zh-theme="night"] body>main .pc-brand-card.light :is(b,small,span){color:#152846!important}
/* Real showcase keeps its deliberate light business dashboard with legible contrasting text. */
html[data-zh-theme="night"] body>main .growth-board .growth-main-card{background:#fff!important;color:#17333b!important}
html[data-zh-theme="night"] body>main .growth-board .growth-main-card :is(h3,p,b,small){color:#17333b!important}
html[data-zh-theme="night"] body>main .growth-board .growth-main-card [data-growth-label]{color:#217954!important}
html[data-zh-theme="night"] body>main .growth-board .growth-mini{color:#17333b!important}
html[data-zh-theme="night"] body>main .growth-board .growth-mini :is(b,span){color:#17333b!important}
html[data-zh-theme="night"] body>main .growth-board .growth-mini span{color:#276d5a!important}
/* A quieter architectural stage boundary: no box around the artwork. */
html[data-zh-theme="night"] .zh-night-hero::after{
 height:2px;background:linear-gradient(90deg,transparent 5%,rgba(85,247,187,.28) 30%,rgba(128,255,220,.55) 51%,rgba(85,247,187,.28) 70%,transparent 95%);
 box-shadow:0 0 15px rgba(60,224,166,.14)
}


/* ZH Digital After Dark — Dev1.2: semantic surfaces, readable interaction and branded case-study discipline.
   Scoped to public <main> in Night mode; intentionally leaves Day, portal, admin, approved hero and header untouched.
   Authentic ZH Rentals source artwork is not replaced without verified transparent canon. */
html[data-zh-theme="night"]{
  --zh-on-dark:#eefbf8;--zh-on-dark-muted:#c4dadc;--zh-link-dark:#98ffda;
  --zh-link-dark-hover:#e0fff1;--zh-link-dark-visited:#bde5f4;
  --zh-on-light:#153440;--zh-on-light-muted:#436271;
  --zh-badge-bg:#174a43;--zh-badge-border:#3e9b80;
  --zh-card-line:rgba(112,193,176,.39);--zh-night-focus:#afffe2;
}
/* Homepage problem cards: no inherited pastel badges or almost-black link text on teal. */
html[data-zh-theme="night"] body>main .problem-grid .problem-card{
  border-color:var(--zh-card-line)!important;
  background:linear-gradient(145deg,#10323a,#09232d)!important;
  color:var(--zh-on-dark);
}
html[data-zh-theme="night"] body>main .problem-card .tag{
  color:#baffdf!important;background:var(--zh-badge-bg)!important;
  border:1px solid var(--zh-badge-border);box-shadow:inset 0 1px 0 rgba(201,255,234,.08);
  letter-spacing:.04em;line-height:1.2;
}
html[data-zh-theme="night"] body>main .problem-card :is(h3,.problem-icon){color:var(--zh-on-dark)}
html[data-zh-theme="night"] body>main .problem-card .problem-icon.mint{color:#69f1bb}
html[data-zh-theme="night"] body>main .problem-card p{color:var(--zh-on-dark-muted)}
html[data-zh-theme="night"] body>main .problem-link .problem-link-label{
  color:var(--zh-link-dark)!important;text-decoration-color:rgba(152,255,218,.58);
  text-underline-offset:4px;transition:color .18s ease;
}
html[data-zh-theme="night"] body>main .problem-link:visited .problem-link-label{color:var(--zh-link-dark-visited)!important}
html[data-zh-theme="night"] body>main .problem-link:is(:hover,:focus-visible) .problem-link-label{
  color:var(--zh-link-dark-hover)!important;text-decoration:underline;
}
html[data-zh-theme="night"] body>main .problem-link:is(:hover,:focus-visible){
  border-color:#70d8b8!important;box-shadow:0 18px 38px rgba(0,0,0,.23),0 0 0 1px rgba(95,240,188,.12);
}
/* General dark-surface text links, package disclosures, specific CTA state contrast. */
html[data-zh-theme="night"] body>main :is(.cap-card,.package-card,.pricing-grid article,.work-case-card,.trust-card,.support-card,.insight-card,.contact-note,.service-fit-band,.package-route-band,.work-gateway-note,.work-case-index,.home-gateway-grid>a) :is(.text-link,.problem-link-label,.package-link,.service-package-route a){color:var(--zh-link-dark)}
html[data-zh-theme="night"] body>main :is(.cap-card,.package-card,.pricing-grid article,.work-case-card,.trust-card,.support-card,.insight-card,.contact-note,.service-fit-band,.package-route-band,.work-gateway-note,.work-case-index,.home-gateway-grid>a) :is(.text-link,.package-link,.service-package-route a):hover{color:var(--zh-link-dark-hover);text-decoration:underline;text-underline-offset:4px}
html[data-zh-theme="night"] body>main :is(.cap-card,.package-card,.pricing-grid article,.work-case-card,.trust-card,.support-card,.insight-card,.contact-note,.service-fit-band,.package-route-band,.work-gateway-note,.work-case-index,.home-gateway-grid>a) :is(.text-link,.package-link,.service-package-route a):visited{color:var(--zh-link-dark-visited)}
html[data-zh-theme="night"] body>main .package-inclusions summary{color:#9effd5!important}
html[data-zh-theme="night"] body>main .package-inclusions summary:is(:hover,:focus-visible){color:#edfff6!important}
html[data-zh-theme="night"] body>main .package-inclusions[open]{border-color:#62a797}
html[data-zh-theme="night"] body>main .package-inclusions :is(li,p){color:#d3e7e5}
html[data-zh-theme="night"] body>main .package-card .num{color:#abd6cf}
html[data-zh-theme="night"] body>main .package-card :is(.price-usd,.popular){color:#e5fff4}
html[data-zh-theme="night"] body>main .package-card .custom-cta{background:#173d40;border-color:#5ca18a;color:#d9fff0}
/* Existing work cards: explicitly correct final CTA colour instead of inherited client-blue on deep teal. */
html[data-zh-theme="night"] body>main .work-case-card :is(h2,h3){color:#eefbf9!important}
html[data-zh-theme="night"] body>main .work-case-card p{color:#c7e0df!important}
html[data-zh-theme="night"] body>main .work-case-card>span:last-child,
html[data-zh-theme="night"] body>main .work-case-card.rentals>span:last-child,
html[data-zh-theme="night"] body>main .work-case-card.premium>span:last-child{
  color:var(--zh-link-dark)!important;text-underline-offset:4px;
}
html[data-zh-theme="night"] body>main .work-case-card:hover>span:last-child,
html[data-zh-theme="night"] body>main .work-case-card:focus-visible>span:last-child{
  color:var(--zh-link-dark-hover)!important;text-decoration:underline;
}
html[data-zh-theme="night"] body>main .work-case-card:focus-visible{outline:3px solid var(--zh-night-focus);outline-offset:4px}
/* Services hero and on-dark headings — respect ZH Digital's signature green emphasis. */
html[data-zh-theme="night"] body>main :is(.inner-hero,.service-fit-band,.run-showcase-section,.package-route-band,.work-case-index,.work-gateway-note,.zr-brand-section,.zr-live-proof,.zr-system-section,.zr-lessons) :is(h1,h2,h3){color:#eefbf9}
html[data-zh-theme="night"] body>main .inner-hero :is(h1,h2) em{color:#80f3c0}
html[data-zh-theme="night"] body>main :is(.service-fit-band,.run-showcase-section,.package-route-band,.work-case-index,.work-gateway-note) :is(p,.big-copy,.section-intro){color:var(--zh-on-dark-muted)}
html[data-zh-theme="night"] body>main .service-fit-band :is(.btn-secondary,.btn-outline){background:#16403e;color:#effff7;border-color:#64b99c}
/* Intentional pale UI demos remain light: pin matching typography and controls to readable on-light roles. */
html[data-zh-theme="night"] body>main :is(.growth-board .growth-main-card,.growth-board .growth-mini,.zr-browser-public,.zr-live-car-card,.zr-browser-top){color:var(--zh-on-light)!important}
html[data-zh-theme="night"] body>main .growth-board .growth-main-card :is(h2,h3,b,strong,p,small,span){color:var(--zh-on-light)!important}
html[data-zh-theme="night"] body>main .growth-board .growth-main-card small{color:#226f5b!important}
html[data-zh-theme="night"] body>main :is(.zr-browser-public,.zr-live-car-card) :is(.zr-browser-top,.zr-browser-top span){color:#415a70!important}
/* Rentals case study: preserve approved BLUE brand sections, but remove stray white cards by
   choosing dark surfaces for generic text panels. Authentic light browser mockups stay intentional. */
html[data-zh-theme="night"] body>main :is(.zr-case-brief,.zr-brand-section,.zr-live-proof,.zr-system-section,.zr-explorer-section,.zr-lessons){background:#081d28!important;color:#effaf8}
html[data-zh-theme="night"] body>main :is(.zr-case-brief,.zr-brand-section,.zr-live-proof,.zr-system-section,.zr-explorer-section,.zr-lessons) :is(h2,h3){color:#edf8fb}
html[data-zh-theme="night"] body>main :is(.zr-case-brief,.zr-brand-section,.zr-live-proof,.zr-system-section,.zr-explorer-section,.zr-lessons) :is(p,.big-copy,li){color:#c7dce5}
html[data-zh-theme="night"] body>main .zr-brief-points article,
html[data-zh-theme="night"] body>main .zr-proof-grid article{
  background:linear-gradient(145deg,#12313f,#0b2634)!important;
  color:#e8f5fb;border-color:#37637a;box-shadow:0 12px 32px rgba(0,0,0,.18);
}
html[data-zh-theme="night"] body>main :is(.zr-brief-points article,.zr-proof-grid article) :is(h3,b){color:#ecf9fc}
html[data-zh-theme="night"] body>main :is(.zr-brief-points article,.zr-proof-grid article) p{color:#c7dce5}
html[data-zh-theme="night"] body>main :is(.zr-brief-points article,.zr-proof-grid article)>span{color:#95cafa}
html[data-zh-theme="night"] body>main .zr-brand-card.airport,
html[data-zh-theme="night"] body>main .zr-brand-card.system{
  background:linear-gradient(145deg,#15374b,#0c2538)!important;border-color:#42647a;color:#f0fbff;
}
html[data-zh-theme="night"] body>main :is(.zr-brand-card.airport,.zr-brand-card.system) :is(span,b,small){color:#deedfa}
html[data-zh-theme="night"] body>main :is(.zr-brand-card.blue,.zr-brand-card.black){color:#fff}
html[data-zh-theme="night"] body>main .zr-flow i{color:#89bfff}
html[data-zh-theme="night"] body>main .zr-lessons-grid>div:last-child{color:#c6dce6}
html[data-zh-theme="night"] body>main :is(.zr-lesson-links,.zr-brief-points) .text-link{color:#a8d7ff}
/* Portal/admin unaffected. Further branded artwork substitutions require a verified approved master. */
@media(prefers-reduced-motion:reduce){
  html[data-zh-theme="night"] body>main .problem-link .problem-link-label{transition:none}
}

/* After Dark Dev1.3 — verified surface/foreground corrections.
   The Day layout and approved v0.5.3 hero remain unchanged. The existing
   general Night background-color rule could not override background images
   supplied by the daytime CSS background shorthand. */
html[data-zh-theme="night"] body > main .run-showcase-section {
  background:linear-gradient(160deg,#081b24 0%,#0b2832 62%,#081b25 100%) !important;
  color:#edf9f7;
}
html[data-zh-theme="night"] body > main .run-showcase-heading :is(h2,.big-copy) {
  color:#edf9f7 !important;
}
html[data-zh-theme="night"] body > main .run-showcase-heading .big-copy {
  color:#c6dedd !important;
}
/* The four trust cards were omitted entirely from the initial dark component
   inventory. Treat their material and its foreground as one atomic pair. */
html[data-zh-theme="night"] body > main .trust-compact-grid article {
  background:linear-gradient(145deg,#153640,#0a2630) !important;
  border-color:#37636b !important;
  color:#f0fcfa !important;
  box-shadow:0 10px 27px rgba(0,0,0,.19);
}
html[data-zh-theme="night"] body > main .trust-compact-grid article b {
  color:#edf9f7 !important;
}
html[data-zh-theme="night"] body > main .trust-compact-grid article span {
  color:#b4ffdd !important;
  background:#164d42 !important;
  border:1px solid rgba(103,230,184,.42);
}
/* Related Services module with another baked-in pale daytime gradient.
   Use an explicit background shorthand, not background-color alone. */
html[data-zh-theme="night"] body > main .service-automation-try {
  background:linear-gradient(145deg,#143640,#0b2732) !important;
  color:#f0fbf7 !important;
  border-color:#39716b !important;
  box-shadow:0 10px 27px rgba(0,0,0,.15);
}
html[data-zh-theme="night"] body > main .service-automation-try h3 {
  color:#f0fbf7 !important;
}
html[data-zh-theme="night"] body > main .service-automation-try p {
  color:#c4dadb !important;
}
html[data-zh-theme="night"] body > main .service-automation-try .service-automation-kicker {
  color:#87ffcf !important;
}
/* On dark page sections, ensure text-link contrast is not an inherited
   production blue. Specific interaction states remain distinct. */
html[data-zh-theme="night"] body > main .trust .text-link,
html[data-zh-theme="night"] body > main .run-showcase-section .text-link {
  color:#9affd9 !important;
}
html[data-zh-theme="night"] body > main .trust .text-link:is(:hover,:focus-visible),
html[data-zh-theme="night"] body > main .run-showcase-section .text-link:is(:hover,:focus-visible) {
  color:#e1fff2 !important;
  text-decoration:underline;
  text-underline-offset:4px;
}


/* ZH Digital After Dark — Dev1.4: audited surface-and-foreground contracts.
   Scoped exclusively to public Night mode. Day appearance, admin/portal,
   approved hero, CSP and deployment/runtime code are unchanged. */
html[data-zh-theme="night"] body>main{
  --zh14-panel:#102b35;
  --zh14-panel-raised:#173641;
  --zh14-panel-soft:#0c2430;
  --zh14-border:#37616b;
  --zh14-text:#effaf9;
  --zh14-muted:#c4dce0;
  --zh14-link:#a4ffe0;
  --zh14-accent:#7bffcf;
}
/* Gateway pills: the light buttons previously interrupted the dark story. */
html[data-zh-theme="night"] body>main .package-route-links a{
  background:linear-gradient(145deg,#143541,#0d2934)!important;
  border:1px solid var(--zh14-border)!important;
  color:var(--zh14-text)!important;
  box-shadow:inset 0 1px 0 rgba(204,255,240,.08);
}
html[data-zh-theme="night"] body>main .package-route-links a:is(:hover,:focus-visible){
  background:linear-gradient(145deg,#1d504b,#123b42)!important;
  border-color:#83f6cc!important;
  color:#f2fffa!important;
  outline-offset:3px;
}
/* Manual-work form: eliminate the accidental white inset/outline. */
html[data-zh-theme="night"] body>main .service-automation-try .automation-box{
  background:#0b2630!important;color:#edf9f7!important;
  border:1px solid #47767a!important;
  box-shadow:0 12px 30px rgba(0,0,0,.18)!important;
}
html[data-zh-theme="night"] body>main .service-automation-try .automation-box input{
  background:transparent!important;color:#eefbf9!important;
  border:0!important;box-shadow:none!important;
}
html[data-zh-theme="night"] body>main .service-automation-try .automation-box input::placeholder{color:#b3d3d9!important;opacity:1}
html[data-zh-theme="night"] body>main .service-automation-try .automation-box:focus-within{
  border-color:#79e6bc!important;box-shadow:0 0 0 2px rgba(108,239,184,.16)!important;
}
/* Commercial comparison: one coherent dark disclosure and table material. */
html[data-zh-theme="night"] body>main :is(.package-comparison-disclosure,.support-comparison-disclosure){
  background:linear-gradient(145deg,#112e38,#0b2430)!important;
  color:var(--zh14-text)!important;
  border:1px solid var(--zh14-border)!important;
  box-shadow:0 15px 38px rgba(0,0,0,.13);
}
html[data-zh-theme="night"] body>main :is(.package-comparison-disclosure,.support-comparison-disclosure)>summary{
  color:#eafff8!important;background:#14343e!important;
}
html[data-zh-theme="night"] body>main :is(.package-comparison-disclosure,.support-comparison-disclosure)>summary::after{color:var(--zh14-link)!important}
html[data-zh-theme="night"] body>main :is(.package-comparison-disclosure,.support-comparison-disclosure)>summary:is(:hover,:focus-visible){
  background:#1a4448!important;color:#fff!important;
}
html[data-zh-theme="night"] body>main :is(.package-comparison-disclosure,.support-comparison-disclosure) :is(.table-scroll,.support-compare-block){
  border-color:var(--zh14-border)!important;color:var(--zh14-text)!important;
}
html[data-zh-theme="night"] body>main .compare-table{
  color:var(--zh14-text)!important;background:transparent!important;
}
html[data-zh-theme="night"] body>main .compare-table thead th{
  background:#19434a!important;color:#eafff5!important;border-color:#3f7175!important;
}
html[data-zh-theme="night"] body>main .compare-table tbody th{
  background:#173640!important;color:#e5f9f6!important;border-color:#37606c!important;
}
html[data-zh-theme="night"] body>main .compare-table tbody td{
  background:#102a35!important;color:#d5e9ea!important;border-color:#37606c!important;
}
html[data-zh-theme="night"] body>main .compare-table tbody tr:nth-child(even) td{background:#112e3a!important}
html[data-zh-theme="night"] body>main .compare-table td b{color:#9ff9cb!important}
html[data-zh-theme="night"] body>main :is(.package-comparison-disclosure,.support-comparison-disclosure) .comparison-note{color:#c5dfe2!important}
/* Work landing proof counter is a panel, not an embedded white screenshot. */
html[data-zh-theme="night"] body>main .work-proof-count{
  background:linear-gradient(145deg,#173b45,#0b2734)!important;
  border:1px solid #478279!important;color:#f1fbf9!important;
  box-shadow:0 18px 40px rgba(0,0,0,.22),inset 0 1px 0 rgba(215,255,244,.09)!important;
}
html[data-zh-theme="night"] body>main .work-proof-count span{color:#8ff0cb!important}
html[data-zh-theme="night"] body>main .work-proof-count b{color:#f2fffc!important}
html[data-zh-theme="night"] body>main .work-proof-count small{color:#c5dee3!important}
/* ZH Rentals: interactive ecosystem diagram is now its own dark operating stage.
   Branded blue artwork and the original ZH Rentals logo are NOT altered. */
html[data-zh-theme="night"] body>main .zr-explorer-section .case-explorer{
  background:linear-gradient(145deg,#112b3b,#0a2030)!important;
  border:1px solid #3b6480!important;color:#f1f9ff!important;
  box-shadow:0 20px 56px rgba(0,0,0,.22)!important;
}
html[data-zh-theme="night"] body>main .zr-explorer-section .explorer-tabs{
  background:#0c2333!important;border-bottom:1px solid #416681!important;
}
html[data-zh-theme="night"] body>main .zr-explorer-section .explorer-tab{
  background:transparent!important;color:#bcd6e8!important;
  border-right:1px solid #36596c!important;
}
html[data-zh-theme="night"] body>main .zr-explorer-section .explorer-tab:is(:hover,:focus-visible){
  color:#fff!important;background:#173b55!important;
}
html[data-zh-theme="night"] body>main .zr-explorer-section .explorer-tab.active,
html[data-zh-theme="night"] body>main .zr-explorer-section .explorer-tab[aria-selected="true"]{
  background:#164461!important;color:#f3fbff!important;
  box-shadow:inset 0 -3px #73dbb9!important;
}
html[data-zh-theme="night"] body>main .zr-explorer-section .explorer-stage{background:transparent!important;color:#edf8ff!important}
html[data-zh-theme="night"] body>main .zr-explorer-section .mini-screen{
  background:#17354a!important;color:#eef8ff!important;
  border:1px solid #4c7590!important;
  box-shadow:0 12px 32px rgba(0,0,0,.16)!important;
}
html[data-zh-theme="night"] body>main .zr-explorer-section .mini-screen :is(.mini-bar,.mini-row){border-color:#446579!important}
html[data-zh-theme="night"] body>main .zr-explorer-section .mini-screen :is(b,strong){color:#f2fbff!important}
html[data-zh-theme="night"] body>main .zr-explorer-section .mini-screen :is(span,small,p){color:#c0daea!important}
html[data-zh-theme="night"] body>main .zr-explorer-section .mini-screen button{
  background:#217858!important;color:#f4fff9!important;border-color:#438c72!important;
}
html[data-zh-theme="night"] body>main .zr-explorer-section .mini-screen button:focus-visible{outline:2px solid #aeffe4;outline-offset:3px}
html[data-zh-theme="night"] body>main .zr-explorer-section .explorer-copy h3{color:#effaff!important}
html[data-zh-theme="night"] body>main .zr-explorer-section .explorer-copy p{color:#c7dce7!important}
html[data-zh-theme="night"] body>main .zr-explorer-section .explorer-copy>span{color:#74eac0!important}
/* PreviewByZH: information cards adopt Night material; the purpose-made
   BEFORE/AFTER browser mockups remain light but receive explicit light ink. */
html[data-zh-theme="night"] body>main .preview-value-grid article,
html[data-zh-theme="night"] body>main .preview-process-list article{
  background:linear-gradient(145deg,#123440,#0b2633)!important;
  color:#effbf9!important;border:1px solid #3a6870!important;
  box-shadow:0 10px 28px rgba(0,0,0,.13)!important;
}
html[data-zh-theme="night"] body>main .preview-value-grid article span{color:#7bf0bc!important}
html[data-zh-theme="night"] body>main :is(.preview-value-grid article,.preview-process-list article) :is(h3,b,strong){color:#f1fbf9!important}
html[data-zh-theme="night"] body>main :is(.preview-value-grid article,.preview-process-list article) p{color:#c7dee0!important}
html[data-zh-theme="night"] body>main .preview-process-list article>span{
  background:#174e43!important;color:#a5ffe1!important;
  border:1px solid #3c8c73!important;
}
html[data-zh-theme="night"] body>main .preview-transform :is(.preview-site-before,.preview-site-after,.preview-phone){
  color:#163c48!important;
}
html[data-zh-theme="night"] body>main .preview-transform .preview-site-before{color:#423e34!important}
html[data-zh-theme="night"] body>main .preview-transform .preview-site-before :is(b,strong,small,p,h2,h3){color:#423e34!important}
html[data-zh-theme="night"] body>main .preview-transform .preview-site-after :is(b,strong,h2,h3){color:#10364b!important}
html[data-zh-theme="night"] body>main .preview-transform .preview-site-after p{color:#496b77!important}
html[data-zh-theme="night"] body>main .preview-transform :is(.preview-site-after,.preview-site-before) :is(button){color:#073a28!important}
html[data-zh-theme="night"] body>main .preview-transform .preview-site-before button{color:#fff!important}
html[data-zh-theme="night"] body>main .preview-transform .preview-phone b{color:#143c4b!important}
/* Premium Construction: light UI screenshots are illustrative of the client's
   approved site, so preserve their light backgrounds and restore their ink. */
html[data-zh-theme="night"] body>main :is(.pc-build-snapshot,.pc-admin-window,.pc-project-card-demo,.pc-browser,.pc-brand-card.light){
  color:#142b42!important;
}
html[data-zh-theme="night"] body>main :is(.pc-build-snapshot,.pc-admin-window,.pc-project-card-demo,.pc-browser) :is(h2,h3,h4,b,strong){color:#162f4a!important}
html[data-zh-theme="night"] body>main :is(.pc-build-snapshot,.pc-admin-window,.pc-project-card-demo,.pc-browser) :is(p,small){color:#466072!important}
/* White capability, workflow and info cards are not mockups; theme their surfaces. */
html[data-zh-theme="night"] body>main :is(.pc-capability-grid article,.pc-system-flow article,.pc-workflow article,.pc-proof-grid article){
  background:linear-gradient(145deg,#173442,#0c2535)!important;
  color:#eaf6fa!important;border-color:#3a6575!important;
}
html[data-zh-theme="night"] body>main :is(.pc-capability-grid article,.pc-system-flow article,.pc-workflow article,.pc-proof-grid article) :is(h3,b,strong){color:#effaff!important}
html[data-zh-theme="night"] body>main :is(.pc-capability-grid article,.pc-system-flow article,.pc-workflow article,.pc-proof-grid article) :is(p,small,li){color:#c1d8e5!important}
/* Additional cross-page audit: client-facing Premium Construction information
   cards are NOT client screenshots; give them authored Night surfaces. */
html[data-zh-theme="night"] body>main :is(.pc-brief-points article,.pc-proof-grid article,.pc-under-surface article,.pc-capability-grid article){
  background:linear-gradient(145deg,#172f41,#0e2535)!important;
  border-color:#426475!important;color:#eef7fc!important;
}
html[data-zh-theme="night"] body>main :is(.pc-brief-points article,.pc-under-surface article) :is(h3,h4,b,strong){color:#eff9fe!important}
html[data-zh-theme="night"] body>main :is(.pc-brief-points article,.pc-under-surface article) :is(p,small,li){color:#c4dbe6!important}
/* Keep intentionally white/cream client screenshots readable, including nested controls. */
html[data-zh-theme="night"] body>main .pc-build-snapshot .pc-browser-hero :is(h2,p,small){color:#17324b!important}
html[data-zh-theme="night"] body>main .pc-build-snapshot .pc-browser-nav :is(strong,span){color:#163f5c!important}
html[data-zh-theme="night"] body>main .pc-admin-window :is(h2,h3,small,b,strong){color:#13304e!important}
html[data-zh-theme="night"] body>main .pc-project-card-demo :is(.pc-project-image-demo span,h3,p){color:#18384d!important}
/* Older-before preview is a purposely antiquated light layout. Treat its typography
   as part of that illustration, not as page-wide Night headings. */
html[data-zh-theme="night"] body>main .preview-site-before :is(.old-header,.old-hero b,.old-hero small,.old-links){color:#423e34!important}
html[data-zh-theme="night"] body>main .preview-site-after :is(.new-hero small,.new-stats small){color:#2c7263!important}
html[data-zh-theme="night"] body>main .preview-site-after :is(.new-nav b,.new-hero b,.new-stats b){color:#10364b!important}
html[data-zh-theme="night"] body>main .preview-site-after .new-hero button{color:#073a28!important}
/* Table's padded scrolling wrapper also had a fixed white background;
   fixing only the table cells left a conspicuous bright frame. */
html[data-zh-theme="night"] body>main .package-comparison-disclosure .table-scroll,
html[data-zh-theme="night"] body>main .support-comparison-disclosure .support-compare-block{
  background:#0b2430!important;border-color:#3b6570!important;
  color:#d7ebec!important;box-shadow:none!important;
}
/* Small operational nodes also need readable auxiliary text in Night mode. */
html[data-zh-theme="night"] body>main .run-node small{color:#d6e9e5!important}


/* ZH Digital After Dark Dev1.5 — verified screenshot-targeted cleanup.
   Scoped to Night and separate from the accepted cinematic hero. */
html[data-zh-theme="night"] body>main .service-package-route a,
html[data-zh-theme="night"] body>main .service-package-route a:visited {color:#e0fff2!important;text-decoration-color:#62dab3!important}
html[data-zh-theme="night"] body>main .service-package-route a:hover,
html[data-zh-theme="night"] body>main .service-package-route a:focus-visible {color:#89ffd5!important}
/* An intentionally mint success surface needs dark ink; white was unreadable. */
html[data-zh-theme="night"] body>main .workflow-demo .done,
html[data-zh-theme="night"] body>main .workflow-demo .done :is(strong,b,span,small,p){color:#07392c!important}
html[data-zh-theme="night"] body>main .workflow-demo .done{background:#d8ffe8!important;border-color:#70e3b0!important}
/* The support-table caption was still a white horizontal ribbon. */
html[data-zh-theme="night"] body>main .support-table caption,
html[data-zh-theme="night"] body>main .compare-table caption {color:#f1fffc!important;background:#153540!important;border-bottom:1px solid #3d6871!important}
/* Each accordion card keeps its own height; adjacent cards no longer stretch.
   Applies in Day and Night because it is a shared layout bug. */
.pricing-grid,.faq-grid{align-items:start}
.pricing-grid > article,.faq-grid > details{align-self:start;height:auto}
.pricing-grid > article[open],.faq-grid > details[open]{height:auto}
.pricing-grid .package-inclusions{min-width:0}
@media(max-width:760px){.pricing-grid,.faq-grid{align-items:start}}

/* Dev1.6 — only the homepage exposes theme choice; all public routes retain saved appearance. */
.zh-theme-trigger{height:34px;min-height:34px;padding:0 10px;gap:6px;font-size:10.5px;font-weight:720;opacity:.82;box-shadow:none;}
.zh-theme-trigger:hover,.zh-theme-control[data-open="true"] .zh-theme-trigger,.zh-theme-trigger:focus-visible{opacity:1}
.zh-theme-trigger .zh-theme-icon svg{width:14px;height:14px}
.zh-theme-trigger .zh-theme-chevron svg{width:11px;height:11px}
html[data-zh-theme="night"] .site-header .zh-theme-trigger{background:rgba(20,54,61,.5);border-color:#42636a;color:#d5eee8;box-shadow:none}
html[data-zh-theme="night"] .site-header .zh-theme-trigger:hover{background:#204a4b;border-color:#60b999;color:#e7fff4}
@media(max-width:780px){.zh-theme-trigger{height:42px;min-height:42px;padding:0 9px}}
/* Confirmed Services scenario: bright node surfaces must have their own high-contrast captions. */
html[data-zh-theme="night"] .run-system-map .run-node{background:#f8fbfa!important;color:#123448!important;border-color:#d3e1e4!important}
html[data-zh-theme="night"] .run-system-map .run-node :is(b,strong){color:#123448!important}
html[data-zh-theme="night"] .run-system-map .run-node span{color:#15634e!important}
html[data-zh-theme="night"] .run-system-map .run-node small{color:#496b78!important;opacity:1!important}
html[data-zh-theme="night"] .run-system-map .run-core{color:#eafdf7}

/* Dev1.7 — low-importance portal-style homepage appearance control. */
.zh-theme-control.zh-theme-compact{margin-inline:0 4px;z-index:50!important}
.zh-theme-compact .zh-theme-trigger.zh-theme-cycle{display:inline-flex;gap:6px;min-width:91px;height:31px;min-height:31px;padding:3px 6px 3px 10px;opacity:.80;box-shadow:none!important;border-radius:999px;font-size:10px;font-weight:740;justify-content:space-between;transition:opacity .15s,background .15s,border-color .15s}
.zh-theme-compact .zh-theme-trigger.zh-theme-cycle:hover,.zh-theme-compact .zh-theme-trigger.zh-theme-cycle:focus-visible{opacity:1}
.zh-theme-compact .zh-theme-icon{font-family:Arial,sans-serif;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:15px}
.zh-theme-compact .zh-theme-track{height:18px;width:29px;border-radius:999px;padding:2px;display:block;position:relative;background:#b9dbd0;border:1px solid #8dbcae;flex:0 0 auto}
.zh-theme-compact .zh-theme-track-knob{display:block;width:12px;height:12px;border-radius:50%;background:#ffffff;box-shadow:0 1px 3px #0004;transition:transform .18s}
.zh-theme-compact [data-position="day"] .zh-theme-track-knob{transform:translateX(7px)}
.zh-theme-compact [data-position="night"] .zh-theme-track-knob{transform:translateX(13px)}
html[data-zh-theme="night"] .zh-theme-compact .zh-theme-track{background:#277864;border-color:#4ba88d}
html[data-zh-theme="night"] .zh-theme-compact .zh-theme-trigger.zh-theme-cycle{background:#132c35;border-color:#40616b;color:#d6eee6;box-shadow:none!important}
.zh-theme-compact .zh-theme-trigger.zh-theme-cycle:focus-visible{outline:2px solid #56dbae!important;outline-offset:3px}
@media(max-width:900px){.zh-theme-compact .zh-theme-trigger.zh-theme-cycle{min-width:82px;padding-left:6px;gap:4px}}
@media(prefers-reduced-motion:reduce){.zh-theme-compact .zh-theme-track-knob{transition:none}}


/* Dev1.8 — ZH Rentals authenticated Drive SVG canon (transparent, artwork unaltered).
   Only the outer SVG viewBox is re-framed to remove Illustrator canvas whitespace. */
.work-case-brand:has(.zr-canon),.work-case-card.rentals .work-case-brand,
.zr-client-logo:has(.zr-canon),.zr-live-site-logo.zr-canon{
 background:transparent!important;box-shadow:none!important;border-color:transparent!important;
}
.work-case-brand .zr-canon,.zr-client-logo .zr-canon{display:block;object-fit:contain;object-position:left center}
.zr-canon-night{display:none!important}
html[data-zh-theme="night"] .zr-canon-light{display:none!important}
html[data-zh-theme="night"] .zr-canon-night{display:block!important}
.zr-client-logo:has(.zr-canon){padding:4px 0!important;width:min(430px,90%)}
.work-case-card.rentals .work-case-brand:has(.zr-canon){width:min(100%,390px);height:104px}
.zr-live-site-logo[src*="zh-rentals-canon"]{width:190px;height:auto;max-height:54px;padding:0!important;border-radius:0!important}
@media(max-width:700px){.work-case-card.rentals .work-case-brand:has(.zr-canon){height:90px}}


/* Dev1.9 — accepted highlight and transparent canonical case-study logo. */
html[data-zh-theme="night"] body>main section.problems .section-intro>strong{
  color:#72ffcf!important; text-shadow:none!important;
  font-weight:800;
}
/* The mock browser has an independently styled logo; its original white tile
   survived the canonical SVG replacement. Use the already-approved vector. */
.zr-live-site-copy img.zr-live-site-logo[src*="zh-rentals-canon"]{
  background:transparent!important; background-image:none!important;
  box-shadow:none!important; border:0!important;
  padding:0!important; border-radius:0!important;
  object-fit:contain; object-position:left center;
}

/* Dev1.11 — PreviewByZH night trust cues were inheriting a dark Day text
   colour against the navy hero. Preserve Day, icons and layout. */
html[data-zh-theme="night"] .preview-public-hero .preview-trust,
html[data-zh-theme="night"] .preview-public-hero .preview-trust span {
  color:#d4ebef!important;
}

/* RC1 mobile acceptance fix: night navigation toggle keeps approved dark material. */
@media (max-width:1160px){
 html[data-zh-theme="night"] .site-header .nav-toggle{
  background:linear-gradient(145deg,#193a47,#102733);
  border:1px solid #507783;
  color:#e6faf5;
  box-shadow:inset 0 1px 0 rgba(208,255,243,.09),0 7px 18px rgba(0,0,0,.24);
 }
 html[data-zh-theme="night"] .site-header .nav-toggle[aria-expanded="true"]{
  background:linear-gradient(145deg,#205347,#153a3b);
  border-color:#6db5a6;
 }
 html[data-zh-theme="night"] .site-header .nav-toggle span{background:#dffcf3;}
}

/* RC1 landing-page Night correction — 2026-10-11.
   SEO landing page's legacy .process-section used a Day-only `background`
   gradient. Generic background-color cannot override its background-image.
   Keep this correction local to the website-design route. */
html[data-zh-theme="night"] body.website-design-page > main section.section.process-section {
  background:radial-gradient(ellipse 70% 80% at 76% 10%,rgba(19,90,84,.17),transparent 80%),linear-gradient(160deg,#091e29,#0b2831)!important;
  color:#ecfaf7;
}
html[data-zh-theme="night"] body.website-design-page > main section.process-section .section-title-row h2 {
  color:#effbf9!important;
}
html[data-zh-theme="night"] body.website-design-page > main section.process-section .section-title-row > p {
  color:#c1d9dc!important;
}
html[data-zh-theme="night"] body.website-design-page > main section.process-section .feature-matrix article > span {
  color:#accdd2;
}
/* The second investment CTA retained its white Day tile and low-contrast
   mint link text. Use a coherent dark card without changing its Day styling. */
html[data-zh-theme="night"] body.website-design-page > main .investment-pathways div:not(:first-child) > a.text-link {
  background:#183a46!important;
  border-color:#538078!important;
  color:#b9ffe3!important;
}
html[data-zh-theme="night"] body.website-design-page > main .investment-pathways div:not(:first-child) > a.text-link:is(:hover,:focus-visible) {
  background:#20505a!important;
  border-color:#72c9a6!important;
  color:#eefff8!important;
}


/* v1.2.9.3 — Dome case study: readable night variants, preserve emerald brand hero. */
html[data-zh-theme="night"] body.dome-case-page>main :is(.dm-brief,.dm-look,.dm-public,.dm-outcome){background:#0a2222!important;color:#e5f4eb}
html[data-zh-theme="night"] body.dome-case-page>main :is(.dm-brief,.dm-look,.dm-public,.dm-outcome) :is(h2,h3){color:#eef7ee!important}
html[data-zh-theme="night"] body.dome-case-page>main :is(.dm-brief,.dm-look,.dm-public,.dm-outcome) :is(p,.dm-big-copy,.dm-text-muted){color:#c9e2d7!important}
html[data-zh-theme="night"] body.dome-case-page>main .dm-benefit-stack article{background:#133a34;border-color:#345c4e}
html[data-zh-theme="night"] body.dome-case-page>main .dm-benefit-stack article p{color:#cee7d9!important}
html[data-zh-theme="night"] body.dome-case-page>main .dm-case-cta{background:#12352e!important}
html[data-zh-theme="night"] body.dome-case-page>main .dm-case-cta :is(h2,p){color:#eff9f0!important}
html[data-zh-theme="night"] body>main .work-case-card.dome>span:last-child{color:#a3eed0!important}
