/* V26: dark marble skin with architectural neon lighting; V22 content/layout retained. */
:root{--ink:#f0ecdf;--muted:#c3bca9;--paper:#080b08;--surface:#151b11;--line:#5d553b;--soft-line:#5d553b;--dark:#070a06;--gold:#d2bb7c;--gold-dark:#b59d63;--plum:#b1d397;--metal:linear-gradient(115deg,#514522,#a48c46 45%,#c7b26d 70%,#6b5d32)}
body.zone-colors{background-color:#080b08;background-image:url('/assets/zone-obsidian.webp');background-size:1536px auto;background-position:center top;background-repeat:repeat;color:#f0ecdf}
.zone-colors :is(a,button,input,select,textarea):focus-visible{outline-color:#b9df8b}
.zone-colors .skip{background:#16220f;color:#f2ebcf}
.zone-colors .topline,.zone-colors .site-header,.zone-colors .main-nav{background:#070b07e8;border-color:#66573a;color:#dfd4b6}
.zone-colors .brand strong{color:#dfce9d;text-shadow:0 1px 4px #000}
.zone-colors .brand-loc,.zone-colors .brand-sub,.zone-colors .header-call>span,.zone-colors .header-call>small{color:#d1c5a4}
.zone-colors .header-call>a{color:#f4ecd5}
.zone-colors .nav-inner>a>small,.zone-colors .nav-inner>a>span{color:#e5dcc3}
.zone-colors .nav-inner>a:hover{background:#29391c}
.zone-colors .nav-inner>a[aria-current]:after{background:#a5d27b;box-shadow:0 0 8px #8ec94a80}
.zone-colors .menu-button{background:#0d170bdf;border-color:#8f9560;color:#eee7cf}
.zone-colors .hamburger-lines i{background:#e2d2a5}
.zone-colors .main-nav.open{background:#070c06fa}
.zone-colors .hero{background-color:#080b07;color:#eee7d0}
.zone-colors .mosaic-logo{color:#f5ead0;text-shadow:0 2px 15px #000}
.zone-colors .mosaic-tagline{color:#f0e8d0}
.zone-colors .hero-caption{background:#10170c;color:#daceaa;border-color:#625537}
.zone-colors .hero-caption span:last-child{color:#bbd59c}
.zone-colors .campaign-controls{background:#6e603a}
.zone-colors .campaign-controls button{background:#0e160b;color:#dfd2af;border-color:#6e603a}
.zone-colors .campaign-controls button[aria-pressed=true]{background:linear-gradient(120deg,#415b28,#17250e);color:#f1e4b8}
.zone-colors .line-slide{background:linear-gradient(125deg,#0d1b09,#364c25)!important}
.zone-colors :is(.button,.button.solid,.button.gold,.button.quiet,.header-reserve){background:linear-gradient(125deg,#2a3b1c,#090f06);color:#f1e4b7;border-color:#a1985b;box-shadow:inset 0 0 12px #9ac86316}
.zone-colors .button:hover,.zone-colors .header-reserve:hover{background:#334a21;color:#fff5d1;border-color:#b2c784}
.zone-colors .header-reserve small{color:#d1c59f}
.zone-colors .section-title h2,.zone-colors .page-title h1{color:#dfcc93;text-shadow:none}
.zone-colors .section-title .eyebrow,.zone-colors .page-jp{color:#e2dbc7}
.zone-colors .section-title:after{color:#b7b576;border-color:#887948}
.zone-colors .page-title,.zone-colors .breadcrumb{border-color:#594d33;color:#c1b799}
.zone-colors :is(.page-lead,.small-note,.field-help,.data-note,.muted,.business-day-note,.schedule-notice,.profile-facts,.profile-size,.steps p,.terms p,.contact-grid p,.notice-box p){color:#c8c0ad}
.zone-colors .text-link{color:#dfce99;border-color:#9c8651}
.zone-colors .text-link:hover{color:#c9e4a6}
.zone-colors .salon-card.person-card{background:#0b1009eF;border-color:#a68f50;outline-color:#594f32;box-shadow:none}
.zone-colors .person-image{background:#11180e;border-color:#7c7045}
.zone-colors .person-info{background:transparent;color:#f0e8d2}
.zone-colors :is(.salon-card .person-name,.shift-name,.salon-age){color:#f0e8d2}
.zone-colors :is(.salon-card .measurements,.shift-size,.person-name small){color:#cfc5aa}
.zone-colors :is(.person-card .tags>span,.shift-traits>span,.profile-details .tags>span){background:#192312;color:#e0d4ac;border-color:#8b8051}
.zone-colors .portrait-ribbon{background:linear-gradient(105deg,#414d24e8,#a18c45dc);color:#fff1c6}
.zone-colors .shift-summary,.zone-colors .salon-shift{background:linear-gradient(#1d2816,#070c05);color:#f2e8c9;border-color:#7b7248}
.zone-colors .shift-hours,.zone-colors .shift-summary-room,.zone-colors .salon-shift span{color:#eee4c8}
.zone-colors .shift-hours svg{color:#d3c184}
.zone-colors .schedule-bar{background:linear-gradient(110deg,#4f4829,#1b2911);color:#f6e6b4;border-color:#97814a}
.zone-colors .schedule-bar>span{color:#e1d6b3}
.zone-colors .date-tab{background:#11190ceF;color:#d5c9a8;border-color:#6c603d!important}
.zone-colors .date-tab.active{background:linear-gradient(130deg,#405d28,#18270f);color:#f3ecca;border-color:#a7bd73!important}
.zone-colors .date-tab:hover:not(.active){background:#27331a}
.zone-colors .filter-chip{background:#131d0d;color:#ddd0ac;border-color:#675d3e}
.zone-colors .filter-chip.active{background:#3a4e24;color:#f5edce;border-color:#a5b878}
.zone-colors .empty-state{background:#121c0de8;color:#d3c8aa}
.zone-colors :is(input:not([type=radio]):not([type=checkbox]),textarea,select){background:#10180d;color:#f2e9d4;border-color:#7a704e}
.zone-colors input::placeholder,.zone-colors textarea::placeholder{color:#b0ab97}
.zone-colors .profile-reference .ornate-photo{background:#0b1108;border-color:#aa9455}
.zone-colors .profile-caption{color:#f0e6cd}
.zone-colors .profile-questions dt{background:#26321c;color:#dfd1a7}
.zone-colors .profile-questions dd{background:#0d1509;color:#eee4ca}
.zone-colors .weekly-section .weekly-list,.zone-colors .weekly-section .weekly-day{border-color:#746440}
.zone-colors .weekly-section .weekly-day>h3{background:#222e18;color:#e0d2ab;border-color:#746440}
.zone-colors .weekly-section .weekly-day.sunday>h3{color:#e9aaa0}
.zone-colors .weekly-section .weekly-day.saturday>h3{color:#afcbe6}
.zone-colors .weekly-section .weekly-day>div{background:#0c1408;color:#eee5cb}
.zone-colors .weekly-section .weekly-day span{color:#cfc4a7}
.zone-colors :is(.system-layout,.usage-panels,.offer-box,.notice-box){background:#121a0deD;color:#eee3c8;border-color:#8d7847}
.zone-colors .usage-panels h2,.zone-colors .usage-panels h3,.zone-colors .offer-box h2{color:#e1cf97}
.zone-colors .usage-panels p,.zone-colors .system-layout .small-note,.zone-colors .system-layout .muted{color:#d5c9ac}
.zone-colors .usage-panels>div,.zone-colors .steps>li,.zone-colors .info-list>div{border-color:#6a5f3e}
.zone-colors .price-table th,.zone-colors .price-table td{color:#f0e2be;border-color:#786b45}
.zone-colors .price-table thead th{background:#28351d;color:#e2d2a4}
.zone-colors .price-table tbody tr.featured{background:#2c3c1d}
.zone-colors .price-table td small,.zone-colors .info-list dt{color:#c8b883}
.zone-colors .map-caption{background:#1b2811;color:#dfd0a6}
.zone-colors .news-list,.zone-colors .news-list>a{border-color:#655a3b}
.zone-colors .news-list>a:hover{background:#1e2b12}
.zone-colors .news-list time{color:#d1bc81}
.zone-colors .news-label{background:#354822;color:#eee4bf}
.zone-colors .news-article,.zone-colors .article-body{color:#e5dcc5}
.zone-colors .guide-section{border-color:#6f623f}
.zone-colors .guide-panel{background:#0c1609bd;border-color:#6f623f}
.zone-colors .guide-panel:after{color:#90a361}
.zone-colors .recruit-teaser{background:linear-gradient(110deg,#101b0a,#344126);border-color:#9b8954;color:#f2e2b7}
.zone-colors .recruit-teaser>p:not(.eyebrow){color:#cbbd98}
.zone-colors .photo-footer{background:#070c06}
.zone-colors .footer-top,.zone-colors .footer-bottom{color:#d1c3a0;border-color:#625636}
.zone-colors .footer-top p,.zone-colors .footer-bottom{color:#bfb393}
.zone-colors .footer-nav>a{border-color:#4e5033}
.zone-colors .footer-line{background:#294b20e6;color:#f0ead2;border-color:#91aa6c}
.zone-colors .booking-dock{background:#0b1208;border-color:#827045;box-shadow:0 -2px 14px #0004}
.zone-colors .dock-hours{background:#0c1309eb;color:#e7d9b6;border-color:#665b3b}
.zone-colors .dock-buttons{background:linear-gradient(#26311c,#0a1107)}
.zone-colors .booking-dock .dock-buttons>a{color:#e8ddc0;border-color:#616544}
.zone-colors .booking-dock .dock-buttons>.web-link{background:linear-gradient(#3c5827,#1d3011);color:#f9efc6}
.zone-colors .booking-dock .dock-buttons>.line-link{color:#c4dfa9}
.zone-colors .booking-intro,.zone-colors .booking-step{color:#eee5cb;background:transparent}
.zone-colors .booking-state{background:#1e3014;color:#dce8c6;border-color:#718550}
.zone-colors .booking-progress{border-color:#6e613e}
.zone-colors .booking-progress li{color:#bcb59d}
.zone-colors .booking-progress [aria-current=step]{color:#dfdba6;border-color:#b3cc80}
.zone-colors .step-heading{border-color:#7c6941}
.zone-colors .booking-main .field-help{color:#c7bea4}
.zone-colors .booking-person-image{background:#131d0e;border-color:#766743}
.zone-colors .booking-person-name{color:#f1e9d3}
.zone-colors .booking-person-name small{color:#c8bda1}
.zone-colors .booking-person input:checked~.booking-person-name{color:#cde6ad}
.zone-colors .booking-person input:checked~.booking-person-image{border-color:#bad28d;box-shadow:0 0 0 2px #a8bc7a}
.zone-colors .availability-badge{background:#365027;color:#eff4dc}
.zone-colors .booking-person.unavailable .availability-badge{background:#393d30;color:#d6d1bf}
.zone-colors .free-choice{background:#16210e;color:#ded2ac;border-color:#7b714a}
.zone-colors .course-choice{background:#15200e;color:#e8ddbf;border-color:#746a43}
.zone-colors .course-choice:has(input:checked){background:#30441e;border-color:#bfcc88}
.zone-colors .time-periods,.zone-colors .time-periods button{background:#192510;color:#dbcfaa;border-color:#6c7147}
.zone-colors .time-periods button[aria-pressed=true]{background:#3b5128;color:#fff0c5;border-color:#bcc482}
.zone-colors .time-choice>span{background:#14200d;color:#d7ebb7;border-color:#70854d}
.zone-colors .time-choice>span small{background:#2b381d;color:#ded2ae}
.zone-colors .time-choice input:checked+span{background:#435b2b;color:#fff2c3;border-color:#d2dc99}
.zone-colors .time-choice.slot-busy>span{background:#2c1d15;color:#edc0aa;border-color:#8a6650}
.zone-colors .time-choice.slot-off>span,.zone-colors .time-choice.slot-past>span{background:#13190e;color:#abae9a;border-color:#444d33}
.zone-colors .availability-message,.zone-colors .availability-legend,.zone-colors .time-help{color:#c8c4a6}
.zone-colors .booking-summary{background:#151f0e;color:#e4d5aa;border-color:#897747}
.zone-colors .booking-summary dt,.zone-colors .booking-summary small,.zone-colors .summary-contact{color:#c5b994}
.zone-colors .booking-summary dd,.zone-colors .summary-price{color:#f1e3bc}
.zone-colors .booking-review>div{background:transparent;color:#eee0bc;border-color:#6b5c39}
.zone-colors .booking-review dt{background:#28351c;color:#e1d0a0}
.zone-colors .form-error{background:#341f16;color:#ffd9bf;border-color:#aa7655}
.zone-colors .booking-success{background:#243616;color:#f0e4bd;border-color:#9dad69}
.zone-colors .required{background:#394125;color:#ebdbab}
/* Operational panels keep their existing neutral contrast. */
.zone-colors.view-admin .admin-shell{color:#292b23;--ink:#292b23;--muted:#64634f;--line:#bdb7a3}
.zone-colors.view-admin .admin-shell :is(input,textarea,select){background:#fff;color:#24291c;border-color:#a5a087}

/* Light belongs to the marble scene behind the headings, never to the viewport edges.
   The complete artwork fits inside each backdrop, including its floor reflections.
   Absolute, non-interactive decoration leaves the original document geometry intact. */
.zone-colors :is(.section-title,.page-title){position:relative;isolation:isolate}
.zone-colors :is(.section-title,.page-title)::before{
 content:"";
 position:absolute;
 z-index:-1;
 pointer-events:none;
 top:-30px;
 bottom:-28px;
 left:50%;
 width:min(100vw,800px);
 transform:translateX(-50%);
 background-image:linear-gradient(90deg,#080b0822,#080b0844 38%,#080b0844 62%,#080b0822),url('/assets/zone-neon-marble-v26.webp');
 background-position:center;
 background-size:100% 100%;
 background-repeat:no-repeat;
 -webkit-mask-image:linear-gradient(transparent,#000 14%,#000 83%,transparent);
 mask-image:linear-gradient(transparent,#000 14%,#000 83%,transparent);
}
.zone-colors :is(.section-title h2,.page-title h1){color:#f2dfaa;text-shadow:0 2px 5px #000,0 0 18px #000,0 0 30px #000}
.zone-colors :is(.section-title .eyebrow,.page-title .page-jp,.page-title .breadcrumb){color:#f5edda;text-shadow:0 1px 5px #000,0 0 14px #000}
.zone-colors .guide-panel{
 background-image:linear-gradient(90deg,#050805ee,#050805aa 48%,#05080522),url('/assets/zone-neon-marble-v26.webp');
 background-position:center;
 background-size:100% 100%;
 background-repeat:no-repeat;
}
.zone-colors .guide-panel:last-child{background-position:center;background-image:linear-gradient(90deg,#050805ee,#050805aa 48%,#05080522),url('/assets/zone-neon-marble-v26.webp')}
.zone-colors .guide-panel :is(h2,p,.text-link){text-shadow:0 2px 7px #000}
@media(max-width:760px){
 .zone-colors :is(.section-title,.page-title)::before{width:100%;top:-28px;bottom:-28px}
 .zone-colors .page-title::before{top:0;bottom:-12px}
}
.zone-colors.view-admin .admin-shell p{color:#63604c}
