/* PH Master Service — shared dark visual system */
:root{color:#f3f7f4;background:#080e0b;color-scheme:dark}
body{background:#080e0b;color:#f3f7f4}
header,.top{background:#071610;color:#f5f8f5;border-bottom:1px solid #264035}
.navlinks a{color:#e3eae5}.navlinks a:hover,.navlinks a:focus-visible{color:#68e79b}
.brand-image{filter:drop-shadow(0 1px 2px #ffffff85)}
.section{background:#0b1210;color:#f3f7f4}
.section.soft,.soft{background:#111e17;color:#f3f7f4}
.section.dark,.dark{background:#092318;color:#f3f7f4}
.section h2,.section h3,.entry-card h2,.customer-hero h1,.dashboard h2,.dashboard h3,#detail h2,#detail h3{color:#f5f8f5}
.eyebrow,.dark .eyebrow{color:#55dd8c}
.muted,.section p.muted,.entry-card p,.dashboard-head p,.os-row p,.notice{color:#aebfb3}
.section p:not(.muted),.customer-main p{color:#cbd9ce}
.quick a,.card,.contactcard,.osbox{background:#17221c;border:1px solid #324a3a;color:#edf4ed;box-shadow:none}
.quick a:hover,.quick a:focus-visible,.card:hover,.card:focus-within{border-color:#408a5b;box-shadow:0 12px 28px #0003}
.quick strong,.card .visual,.panel strong{color:#50db87}
.card .visual{background:linear-gradient(135deg,#182b21,#0d1e16)}
.card .body,.card li{color:#e6ede6}
.card a,.link,.contactcard a,.text-button{color:#70e7a0}
.card a:hover,.link:hover,.contactcard a:hover,.text-button:hover{color:#a2f5bd}
.panel{background:#143323;border-color:#345f45;color:#f3f7f4}
.panel.lightpanel,.lightpanel{background:#18291f;border-color:#3d5f49;color:#f3f7f4}
.panel p,.lightpanel p{color:#d0dfd3!important}
.osbox,.contactcard{background:#16221b;border-color:#35493c}
.contactcard .muted,.osbox .muted{color:#b1c1b4}
.btn,.button{background:#078c47;border-color:#16a457;color:#fff}
.btn:hover,.button:hover,.btn:focus-visible{background:#0aa457;color:#fff}
.btn.ghost,.button.outline{background:#0d1b14;border-color:#3ad575;color:#ecfff2}
.btn.ghost:hover,.button.outline:hover{background:#17432b}
.customer-secondary a{color:#a4e8bd}
.foot{background:#071610;border-top:1px solid #284735;color:#e4eee6}
.foot small{color:#a8baac;border-color:#334839}
.float-wa{background:#098f49;color:white}
.float-wa:hover{background:#0bab5a}
/* Client area: entry, dashboard, OS details and form states */
.customer-hero{background:radial-gradient(circle at 85% 0%,#184a30,#0b281b 50%,#071510);color:#f5f8f5}
.customer-hero p{color:#d1dfd4}
.customer-main{background:#0b1210;color:#f3f7f4}
.entry-card,.dash-card,.detail-card,.os-row{background:#17231b;border:1px solid #344a39;color:#eef5ef;box-shadow:none}
.entry-card .sample,.sample{background:#203a29;color:#d7eedb;border:1px solid #376347}
.entry-card .sample strong{color:#fff}
.entry-card label{color:#e8f0ea}
.entry-card input{background:#0c1710;color:#f4f9f4;border:1px solid #526958}
.entry-card input::placeholder{color:#9bad9f;opacity:1}
.entry-card input:focus-visible{outline:2px solid #3ed17c;outline-offset:1px;border-color:#3ed17c}
.entry-card .error{color:#ffaaa3!important}
.dashboard-head p,.os-row p{color:#aec0b0}
.summary div{background:#143322;border:1px solid #34513a}
.summary strong{color:#58e08d}
.filterbar button{background:#17231b;border-color:#47604c;color:#e7f0e8}
.filterbar button:hover,.filterbar button:focus-visible{border-color:#67d88d;background:#20372a}
.filterbar button[aria-pressed=true]{background:#078c47;border-color:#0bb25b;color:#fff}
.detail-card dt,.timeline small{color:#afbdaf}
.detail-card dd,.price-row,.detail-card li{color:#edf5ef}
.timeline li{border-color:#47594c;color:#adbcaf}
.timeline li.done{border-color:#119c57;color:#d7ebd9}
.timeline li.current{color:#8ff2b1}
.timeline li:before{background:#526558}
.timeline li.done:before,.timeline li.current:before{background:#20c76e}
.timeline li.current:before{box-shadow:0 0 0 5px #1c4028}
.price-row{border-color:#394b3c}
.status.amber{background:#493c1c;color:#ffdf85}
.status.green{background:#173d29;color:#88edac}
.status.gray{background:#26352b;color:#c7dfce}
.demo-tag{background:#1b4e2d;color:#bdf4cb;border:1px solid #459961}
.text-button{background:transparent;border:0}
/* Preserve legibility and hit targets on small screens. */
@media(max-width:620px){.navlinks{scrollbar-color:#46694e transparent}.section h2{line-height:1.12}.quick a,.card,.entry-card,.os-row{border-radius:18px}.entry-card input{min-height:48px}}
/* Keep the official gray lettering readable against the dark header and footer. */
.brand-image{filter:brightness(1.35) drop-shadow(0 1px 2px #ffffff65)}
/* Final readability and icon pass, keeping the established layout. */
.muted,.section p.muted,.entry-card p,.dashboard-head p,.os-row p,.notice{color:#c0cec3}
.section p:not(.muted),.customer-main p{color:#d4dfd6}
.card .body,.card li,.detail-card li{color:#eef3ee}
.contactcard .muted,.osbox .muted,.foot small,.timeline small,.detail-card dt{color:#c2cec4}
.foot{color:#ebf1ec}.foot a{color:#d8e9db;overflow-wrap:anywhere}.foot a:hover{color:#83eaa9}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.service-icon{display:block;width:34px;height:34px;margin:0 auto 10px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:#5ae590}
.quick{grid-template-columns:repeat(7,minmax(0,1fr))}.quick a{font-size:.89rem;line-height:1.35}
.card .visual .service-icon{width:54px;height:54px;margin:0}
.panel .service-icon{width:55px;height:55px;margin:0 0 12px}
@media(max-width:900px){.quick{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.quick{grid-template-columns:repeat(2,minmax(0,1fr))}.quick a{font-size:.88rem}.foot{padding-bottom:90px}.float-wa{max-width:calc(100vw - 24px)}}
/* White button labels retain sufficient contrast across resting and hover states. */
.btn,.button,.filterbar button[aria-pressed=true],.float-wa{background:#087f41;color:#fff}
.btn:hover,.button:hover,.btn:focus-visible,.float-wa:hover{background:#078449;color:#fff}

/* Institutional, service photography, and verified Google rating. */
.card .visual.photo{height:176px;display:block;overflow:hidden;background:#14261c}
.card .visual.photo img{display:block;width:100%;height:100%;object-fit:cover}
.card .service-desc{color:#cbd8ce;margin:0 0 12px;line-height:1.5;font-size:.96rem}
.card .body{display:flex;flex-direction:column;align-items:flex-start}
.card .body ul{margin:0 0 17px}.card .body a{margin-top:auto}
.photo-note{color:#b8c9bd;text-align:right;font-size:.8rem;margin:15px 0 0}
.reviews-section{background:linear-gradient(135deg,#0a1610 0%,#10271b 100%)}
.reviews-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}
.reviews-card{background:#17241c;border:1px solid #38513e;border-radius:24px;padding:32px}
.reviews-score{display:flex;gap:20px;align-items:center}.reviews-score strong{color:#f4f9f4;font-size:clamp(3.5rem,7vw,5.5rem);line-height:1}
.stars{display:block;color:#57db7e;font-size:1.65rem;letter-spacing:.06em;white-space:nowrap}.score-caption{display:block;color:#d5e3d8;margin-top:5px}
.reviews-card p{font-size:.91rem;margin:20px 0 22px}
@media(max-width:900px){.reviews-grid{grid-template-columns:1fr;gap:20px}}
@media(max-width:620px){.reviews-card{padding:24px}.reviews-score{gap:13px}.stars{font-size:1.35rem}.reviews-card .btn{width:100%;text-align:center}.card .visual.photo{height:190px}}

/* Questions and suggestions follow the established dark palette. */
.faq-section{background:#0b1210}.faq-grid,.suggestions-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:55px;align-items:start}
.faq-list{display:grid;gap:12px}.faq-list details{background:#17221c;border:1px solid #344b3b;border-radius:18px;padding:0 20px}.faq-list details[open]{border-color:#43845b}.faq-list summary{cursor:pointer;font-weight:700;color:#f3f8f3;padding:20px 4px;line-height:1.4}.faq-list summary::marker{color:#52dc86}.faq-list details p{margin:0 4px 20px;color:#cbd9ce;line-height:1.6}.faq-list a{color:#82e7a5}
.suggestions-section{background:#11231a}.suggestion-card{background:#17251d;border:1px solid #3b5744;border-radius:24px;padding:30px;display:grid;gap:11px}.suggestion-card label{color:#f0f6f0;font-weight:700}.suggestion-card label span{color:#c0cec3;font-weight:400}.suggestion-card input,.suggestion-card textarea{background:#0d1711;color:#f5f9f5;border:1px solid #536958;border-radius:12px;padding:14px 15px;font:inherit;width:100%;min-width:0}.suggestion-card input::placeholder,.suggestion-card textarea::placeholder{color:#a9bbaa}.suggestion-card input:focus-visible,.suggestion-card textarea:focus-visible{outline:2px solid #51dd84;outline-offset:2px;border-color:#51dd84}.suggestion-card textarea{resize:vertical;min-height:130px}.suggestion-card .btn{justify-self:start;cursor:pointer;margin-top:5px}.suggestion-card .form-hint{font-size:.88rem;color:#c0cec3;margin:3px 0 0}
@media(max-width:900px){.faq-grid,.suggestions-grid{grid-template-columns:1fr;gap:24px}}@media(max-width:620px){.suggestion-card{padding:22px}.suggestion-card .btn{width:100%}}

/* The supplied white logo is already legible on the dark surfaces. */
.brand-image{filter:none}

