/* Shared public-service palette. Layout and service-specific behaviour stay in their own stylesheets. */
:root{--accent:#d46b78;--accent-strong:#b63d50;--accent-hover:#9d3043;--accent-soft:#fcf5f6;--green:var(--accent-strong);--dark:#29252a;--ink:#29252a;--muted:#776e73;--line:#ebe6e8;--paper:#fcfbfb;--yellow:#f5e3e7}
body{background:var(--paper);color:var(--ink)}
input,select,textarea{background:#fff;color:var(--ink);border-color:var(--line)}
input::placeholder,textarea::placeholder{color:#81767c}
input[readonly]{background:#f7f2f4}
input[type=checkbox],input[type=radio]{accent-color:var(--accent-strong)}
:focus-visible,.upload-box:focus-within{outline-color:#d95b70}
button:hover{background:var(--accent-hover);color:white}
button.primary,a.primary,.primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}
button.primary:hover,a.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}

/* Keep the existing logo artwork as dark ink on a quiet white header. */
.service-header,.topbar,.top{background:#fff;border-bottom-color:var(--line);color:var(--ink)}
.service-header-brand img,.topbar .brand-mark{filter:grayscale(1) contrast(3);mix-blend-mode:multiply}
.service-header nav a,.service-header-caption,.topbar .location,.topbar .desktop-navigation button{color:var(--ink)}
.topbar .location{border-left-color:var(--line)}
.service-header nav a.primary{background:var(--accent-soft);border-color:#ecd9de;color:var(--accent-strong)}
.service-header nav a.primary:hover{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--accent-hover)}
.service-header #menu-button,#profile-button,.top-track{background:#fff;color:var(--ink);border-color:var(--line)}
.service-header #menu-button:hover,#profile-button:hover,.top-track:hover{background:var(--accent-soft)}
.service-header a:focus-visible,.service-header button:focus-visible,.topbar a:focus-visible,.topbar button:focus-visible{outline-color:var(--accent)}
.topbar .desktop-navigation button[aria-current=page]{background:var(--accent-soft);color:var(--accent-strong)}
.topbar .desktop-navigation button:hover{background:var(--accent-soft);color:var(--accent-strong)}
.topbar .desktop-navigation button[aria-current=page]:hover{background:var(--accent-soft);color:var(--accent-strong)}
@media(max-width:1100px){.service-header nav a:hover{background:var(--accent-soft)}.service-header nav a.primary:hover{background:var(--accent-soft)}}

.card,.panel{border-color:var(--line);background:#fff}
.panel{box-shadow:0 3px 0 #efe4e760}
.badge,.icon,.icon-tile,.service-pill,.secondary,.steps li span,.success-icon{background:var(--accent-soft);color:var(--accent-strong);border-color:#f1ccd3}
.steps .active span,.step b{background:var(--accent-strong);color:white}
.steps li{color:var(--muted)}
.help-grid span,.workspace aside a.active,.mobile-nav [aria-current=page]{background:var(--accent-soft)}
.mobile-nav a:not([aria-current]),.mobile-nav button{color:var(--muted)}
.mobile-nav a,.mobile-nav [aria-current=page]{color:var(--accent-strong)}
.paradox{background:var(--accent-soft);border-color:#f1ccd3;border-left-color:var(--accent)}
.paradox h2{color:var(--ink)}
.paradox p{color:#65565c}
.phone-number{background:#fff}
.phone-number:focus-within{outline-color:var(--accent-strong)}
th{background:#faf0f3;color:var(--muted)}
dialog::backdrop{background:#30212980}
.modal{background:#302129a6}
.modal-header{background:var(--accent-soft)}
.close{background:white;color:var(--ink)}
#profile-menu{box-shadow:0 10px 35px #38222b25}
.track-promo,.welcome,#remembered-profile,.receipt,.upload-box,#message-box{background:#fff5f7;border-color:#efcfd6;color:var(--accent-strong)}
.upload-box:hover{background:var(--accent-soft);border-color:var(--accent-strong)}
.upload-box input::file-selector-button{border-color:#efcfd6;color:var(--accent-strong)}
.attachment-preview img,.attachment-preview .document-preview{background:#faf3f5}
.art-badge{border-color:var(--line);background:white}
.hero-art{border-bottom-color:var(--line);background:radial-gradient(ellipse at 50% 85%,#f8e5ea,transparent 70%)}
.sun{background:#f5a7b5}
.building{border-color:#805260;box-shadow:7px 5px 0 #efdae0}
.building i{background:#fff9fb;border-color:#936573}
.b1{background:#ecc1cc}.b2{background:#f4a5b4}.b3{background:#dbb6c3}
.tree{background:#aa8d98}.tree:after{background:#805260}.road{background:#dac2ca}
.benefits{color:var(--muted)}
.service-cards .card.disabled{opacity:.75}
@media print{body{background:white}.pass{color:#29252a}}
