/* Shared public utility pages: WedHaat's royal black and gold system. */
.public-services-page,.public-budget-page{--ui-bg:#0c0d0d;--ui-surface:#151615;--ui-surface-raised:#1b1c1a;--ui-line:#ffffff17;--ui-text:#f4f0e7;--ui-muted:#aaa79f;--ui-gold:#d4b276;--ui-gold-soft:#b9955c;background:radial-gradient(ellipse at 50% -24%,#70572c30,transparent 54%),var(--ui-bg)!important;color:var(--ui-text)!important;font-family:'DM Sans',sans-serif!important;min-height:100vh}
.public-services-page *, .public-budget-page *{box-sizing:border-box}
.public-services-page .bar,.public-budget-page .bar{position:sticky;top:0;z-index:20;height:76px;padding:0 clamp(22px,6vw,88px);border:0;border-bottom:1px solid var(--ui-line);background:#0e0f0eeb!important;backdrop-filter:blur(16px);box-shadow:0 9px 28px #0005}
.public-services-page .brand,.public-budget-page .brand{gap:11px;color:var(--ui-text)!important;font-size:12px;letter-spacing:1.9px}
.public-services-page .brand-mark,.public-budget-page .brand-mark{width:36px;height:36px;border:1px solid #d4b27670;border-radius:50%;background:#d4b2760d;color:var(--ui-gold)!important;font:600 23px 'Playfair Display',Georgia,serif}
.public-services-page .brand small,.public-budget-page .brand small{margin-top:3px;color:#969187;font-size:7px;letter-spacing:1.15px}
.public-services-page .bar-actions,.public-budget-page .bar>a:last-child{display:flex;align-items:center;gap:12px}
.public-services-page .bar-actions a,.public-budget-page .bar>a:last-child{padding:10px 13px;border:1px solid transparent;border-radius:7px;color:#c9c2b3!important;font-size:10px;font-weight:700;transition:.18s ease}
.public-services-page .bar-actions a:hover,.public-budget-page .bar>a:last-child:hover{border-color:#d4b27655;background:#d4b2760c;color:var(--ui-gold)!important}
.public-services-page .bar-actions .bar-cta{border-color:#d4b27678;background:var(--ui-gold);color:#171510!important}
.public-services-page .bar-actions .bar-cta:hover{background:#e0c58f;color:#171510!important}
.public-services-page .page{width:min(1320px,calc(100% - 64px));margin:0 auto;padding:58px 0 82px}
.public-services-page .heading{position:relative;padding:10px 0 0 22px;border-left:2px solid var(--ui-gold)}
.public-services-page .eyebrow,.public-budget-page .eyebrow{color:#c6a56d!important;font-size:8px;letter-spacing:2.1px}
.public-services-page .heading h1{margin:11px 0 7px;color:var(--ui-text);font:500 clamp(38px,4.6vw,56px)/1.08 'Playfair Display',Georgia,serif;letter-spacing:-1.2px}
.public-services-page .heading p{max-width:620px;color:#aaa69e;font-size:14px}
.public-services-page .chips{gap:8px;margin:27px 0 25px}
.public-services-page .chip{min-height:39px;padding:8px 14px;border:1px solid #ffffff20;border-radius:7px;background:#ffffff06;color:#c9c4b9;font:600 10px 'DM Sans',sans-serif;transition:.18s ease}
.public-services-page .chip:hover{border-color:#d4b27668;background:#d4b2760d;color:#ead5ae}
.public-services-page .chip.active{border-color:var(--ui-gold);background:var(--ui-gold);color:#1a1712;box-shadow:0 5px 16px #0003}
.public-services-page .search-layout{grid-template-columns:278px minmax(0,1fr);gap:25px;align-items:start}
.public-services-page .filters{gap:14px;padding:18px;border:1px solid var(--ui-line);border-radius:11px;background:linear-gradient(145deg,#171816,#111210);box-shadow:0 16px 35px #0002}
.public-services-page .field{gap:6px;min-width:0}
.public-services-page .field>span{color:#d8d2c7;font-size:10px;font-weight:600}
.public-services-page .field input,.public-services-page .field select{height:41px;padding:0 11px;border:1px solid #ffffff20;border-radius:6px;background:#0d0e0d;color:#eee9de;font:11px 'DM Sans',sans-serif;color-scheme:dark}
.public-services-page .field input::placeholder{color:#77746d}
.public-services-page .field input:focus,.public-services-page .field select:focus{border-color:#d4b276a0;box-shadow:0 0 0 3px #d4b27618}
.public-services-page .field small{color:#8e8a80!important;font-size:9px!important}
.public-services-page .checkbox-row{gap:8px;color:#c5c0b5;font-size:10px}
.public-services-page .checkbox-row input{accent-color:var(--ui-gold)}
.public-services-page .filters-footer{padding-top:5px;border-top:1px solid var(--ui-line)}
.public-services-page .filters-footer span{color:#8e8a80;font-size:9px}
.public-services-page .filters-footer button{padding:5px 0;color:var(--ui-gold);font-size:9px}
.public-services-page .results-head{min-height:42px;padding:0 0 11px;border-color:var(--ui-line);color:#969187;font-size:11px}
.public-services-page .results-head strong{color:var(--ui-text);font-size:13px}
.public-services-page .results-head>span:last-child{padding:5px 9px;border:1px solid #d4b27635;border-radius:20px;color:#c7ac7a;font-size:8px;letter-spacing:.4px;text-transform:uppercase}
.public-services-page .empty-state{min-height:350px;margin-top:15px;border:1px dashed #d4b27640;border-radius:12px;background:linear-gradient(145deg,#151614,#101110);box-shadow:inset 0 1px #ffffff05}
.public-services-page .empty-icon{width:48px;height:48px;margin-bottom:16px;border-color:#d4b27645;background:#d4b2760c;color:var(--ui-gold);font-size:20px}
.public-services-page .empty-state h2{color:#f0eadf;font-size:22px}
.public-services-page .empty-state p{color:#a9a397;font-size:11px;line-height:1.75}
.public-services-page .empty-state button{padding:9px 13px;border-color:#d4b27666;background:#d4b276;color:#1a1712;font-size:10px;font-weight:700}
.public-services-page .empty-state button:hover{background:#e0c58f}
.public-services-page .empty-action{display:inline-flex;margin-top:18px;padding:9px 13px;border:1px solid #d4b27666;border-radius:6px;background:#d4b276;color:#1a1712;font-size:10px;font-weight:700;text-decoration:none}
.public-services-page .listing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:15px}
.public-services-page .business-card{min-width:0;padding:19px;border:1px solid var(--ui-line);border-radius:11px;background:linear-gradient(145deg,#191a18,#121312);box-shadow:0 12px 30px #0002;transition:border-color .18s ease,transform .18s ease}
.public-services-page .business-card:hover{transform:translateY(-2px);border-color:#d4b27655}
.public-services-page .business-card[hidden]{display:none}
.public-services-page .business-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.public-services-page .business-avatar{display:grid;place-items:center;width:51px;height:51px;overflow:hidden;border:1px solid #d4b27655;border-radius:10px;background:#d4b2760d;color:var(--ui-gold);font:500 23px 'Playfair Display',Georgia,serif}
.public-services-page .business-avatar img{width:100%;height:100%;object-fit:contain;background:#101110}
.public-services-page .business-category{max-width:70%;padding:6px 9px;border:1px solid #d4b27638;border-radius:20px;color:#ddc18d;font-size:8px;font-weight:700;letter-spacing:.2px;text-align:right}
.public-services-page .business-card h2{margin:15px 0 4px;color:#f3eee3;font:500 21px/1.2 'Playfair Display',Georgia,serif}
.public-services-page .business-tagline{margin:0;color:#d1bc94;font-size:10px;line-height:1.55}
.public-services-page .business-about{margin:10px 0 0;color:#aaa69e;font-size:10px;line-height:1.75}
.public-services-page .business-services{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.public-services-page .business-services span{padding:5px 8px;border:1px solid #ffffff17;border-radius:5px;background:#ffffff05;color:#c7c1b5;font-size:8px}
.public-services-page .business-card-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:9px;margin-top:14px;padding-top:12px;border-top:1px solid var(--ui-line)}
.public-services-page .business-card-meta>span{color:#a5a095;font-size:9px}
.public-services-page .business-card-meta>strong{color:var(--ui-gold);font:500 12px 'Roboto Mono',monospace}
.public-services-page .business-card-meta small{color:#99948a;font:9px 'DM Sans',sans-serif}
.public-services-page .business-card-actions{display:flex;gap:8px;margin-top:13px}
.public-services-page .business-card-actions a{padding:7px 9px;border:1px solid #d4b27645;border-radius:5px;color:#ddc18d;font-size:8px;font-weight:700;text-decoration:none;transition:background .18s ease}
.public-services-page .business-card-actions a:hover{background:#d4b27612}
.public-services-page .filtered-empty[hidden]{display:none}
.public-services-page .public-note{margin-top:14px;padding:13px 15px;border:1px solid var(--ui-line);border-left:2px solid #b9955c;border-radius:7px;background:#ffffff05;color:#aaa69e;font-size:10px}
.public-services-page .public-note b{color:#ddc18d}
.public-services-page .footer,.public-budget-page .footer{min-height:70px;padding:18px clamp(22px,6vw,88px);border-top:1px solid var(--ui-line);background:#0e0f0e;color:#969187;font-size:9px}
.public-services-page .footer a,.public-budget-page .footer a{color:#d4b276}
.public-budget-page .intro{position:relative;overflow:hidden;padding:47px 20px 41px;border-bottom:1px solid var(--ui-line);background:radial-gradient(ellipse at 50% 0%,#85652b22,transparent 57%),linear-gradient(180deg,#141513,#0e0f0e)!important}
.public-budget-page .intro:after{position:absolute;right:8%;bottom:0;left:8%;height:1px;background:linear-gradient(90deg,transparent,#d4b27655,transparent);content:''}
.public-budget-page .intro h1{margin:10px 0 9px;color:var(--ui-text);font:500 clamp(36px,5vw,54px)/1.1 'Playfair Display',Georgia,serif;letter-spacing:-1.5px}
.public-budget-page .intro h1 em{color:var(--ui-gold)!important;font-weight:500}
.public-budget-page .intro p{max-width:620px;color:#aaa69e;font-size:13px;line-height:1.75}
.public-budget-page .calculator{width:min(1120px,calc(100% - 64px));padding:32px 0 68px}
.public-budget-page .controls{gap:34px;padding:24px 27px 21px;border:1px solid var(--ui-line);border-radius:11px;background:linear-gradient(145deg,#191a18,#121312);box-shadow:0 20px 50px #0003}
.public-budget-page .control-label{color:#e2ddd2;font-size:11px}
.public-budget-page .control-icon{width:27px;height:27px;border-color:#d4b27652;border-radius:7px;background:#d4b2760d;color:var(--ui-gold)!important}
.public-budget-page .control-head output{color:var(--ui-gold)!important;font:500 20px 'Roboto Mono',monospace}
.public-budget-page .control:nth-child(2) .control-icon,.public-budget-page .control:nth-child(2) output{border-color:#d4b27652;color:var(--ui-gold)!important}
.public-budget-page .range{height:5px;background:#ffffff25}
.public-budget-page .range::-webkit-slider-thumb{width:16px;height:16px;background:var(--ui-gold);box-shadow:0 0 0 4px #d4b27620}
.public-budget-page .range::-moz-range-thumb{background:var(--ui-gold)}
.public-budget-page .control:nth-child(2) .range::-webkit-slider-thumb{background:var(--ui-gold);box-shadow:0 0 0 4px #d4b27620}
.public-budget-page .control:nth-child(2) .range::-moz-range-thumb{background:var(--ui-gold)}
.public-budget-page .range-scale{color:#8f8a80;font-size:9px}
.public-budget-page .summary-cards{gap:12px;margin:19px 0 31px}
.public-budget-page .summary-card{min-height:85px;border-color:var(--ui-line);border-radius:10px;background:#151615;box-shadow:0 7px 20px #0002}
.public-budget-page .summary-card span{color:#9d988e;font-size:8px;letter-spacing:1px}
.public-budget-page .summary-card strong{color:var(--ui-gold)!important;font:500 20px 'Roboto Mono',monospace}
.public-budget-page .summary-card .unit{color:#9d988e;font:9px 'Roboto Mono',monospace}
.public-budget-page .section-title{margin-bottom:13px;color:#ece6db;font-size:20px}
.public-budget-page .section-title span{color:var(--ui-gold)}
.public-budget-page .allocations{gap:9px}
.public-budget-page .allocation{grid-template-columns:42px minmax(0,1fr) 148px 126px;gap:15px;min-height:82px;padding:13px 15px;border-color:var(--ui-line);border-radius:9px;background:linear-gradient(110deg,#181917,#121312);box-shadow:0 6px 18px #0002}
.public-budget-page .allocation-icon,.public-budget-page .allocation:nth-child(n) .allocation-icon{width:40px;height:40px;border-color:#d4b27640;border-radius:8px;background:#d4b2760a;color:var(--ui-gold);font-size:17px}
.public-budget-page .allocation-copy h3{color:#f0eadf;font-size:13px}
.public-budget-page .allocation-copy p{color:#99948a;font-size:9px}
.public-budget-page .allocation-copy small{border-color:#d4b27640;border-radius:4px;background:#d4b2760d;color:#ddc18d;font-size:8px}
.public-budget-page .allocation-value span{color:#979186;font-size:8px;letter-spacing:.4px;text-transform:uppercase}
.public-budget-page .allocation-value strong{color:#e5d0a6;font:500 15px 'Roboto Mono',monospace}
.public-budget-page .allocation a{justify-self:end;padding:9px 11px;border:1px solid #d4b27670;border-radius:6px;background:#d4b276;color:#171510;font-size:9px;box-shadow:none;transition:.18s ease}
.public-budget-page .allocation a:hover{background:#e0c58f}
.public-budget-page .footnote{margin-top:16px;color:#8f8a80;font-size:9px}
@media(max-width:900px){.public-services-page .page{width:min(100% - 44px,760px);padding:43px 0 58px}.public-services-page .search-layout{grid-template-columns:230px minmax(0,1fr);gap:17px}.public-services-page .filters{padding:14px;gap:12px}.public-services-page .listing-grid{grid-template-columns:1fr}.public-budget-page .calculator{width:min(100% - 44px,760px)}.public-budget-page .allocation{grid-template-columns:40px minmax(0,1fr) 125px}.public-budget-page .allocation a{grid-column:2/-1;justify-self:start}.public-budget-page .allocation-value{grid-column:3;grid-row:1}}
@media(max-width:650px){.public-services-page .bar,.public-budget-page .bar{height:66px;padding:0 17px}.public-services-page .bar-actions{gap:5px}.public-services-page .bar-actions a,.public-budget-page .bar>a:last-child{padding:8px 9px;font-size:9px}.public-services-page .brand,.public-budget-page .brand{font-size:10px}.public-services-page .brand small,.public-budget-page .brand small{font-size:6px}.public-services-page .page{width:calc(100% - 34px);padding:34px 0 48px}.public-services-page .heading{padding-left:15px}.public-services-page .heading h1{font-size:39px}.public-services-page .heading p{font-size:12px}.public-services-page .chips{gap:6px;margin:20px 0}.public-services-page .chip{min-height:35px;padding:7px 10px;font-size:9px}.public-services-page .search-layout{grid-template-columns:minmax(0,1fr);gap:18px}.public-services-page .filters{grid-template-columns:1fr 1fr;gap:11px;padding:13px}.public-services-page .field.keyword,.public-services-page .filters-footer{grid-column:1/-1}.public-services-page .empty-state{min-height:260px;padding:22px}.public-services-page .business-card{padding:15px}.public-services-page .business-card h2{font-size:19px}.public-services-page .footer,.public-budget-page .footer{flex-direction:column;gap:7px}.public-budget-page .intro{padding:35px 18px 29px}.public-budget-page .intro h1{font-size:38px}.public-budget-page .intro p{font-size:11px}.public-budget-page .calculator{width:calc(100% - 30px);padding:20px 0 44px}.public-budget-page .controls{grid-template-columns:minmax(0,1fr);gap:22px;padding:17px}.public-budget-page .control-head output{font-size:17px}.public-budget-page .range-scale{font-size:8px}.public-budget-page .summary-cards{grid-template-columns:1fr;gap:8px;margin:14px 0 24px}.public-budget-page .summary-card{min-height:65px}.public-budget-page .section-title{font-size:18px}.public-budget-page .allocation,.public-budget-page .allocation:nth-child(n){grid-template-columns:35px minmax(0,1fr);gap:9px;padding:12px}.public-budget-page .allocation-icon,.public-budget-page .allocation:nth-child(n) .allocation-icon{width:35px;height:35px}.public-budget-page .allocation-copy h3{font-size:12px}.public-budget-page .allocation-value{grid-column:2;grid-row:auto;text-align:left}.public-budget-page .allocation-value strong{font-size:14px}.public-budget-page .allocation a{grid-column:2;justify-self:start}}
