/* Public home and booking only. Error styling in portal.css stays intact. */
.showcase{--accent:#65c8fb;--muted:#b7c0cb;background:#0a0d12;color:#f4f6fa}
.showcase .topbar{background:rgba(9,13,19,.96);border-bottom:1px solid #29313e}
.showcase .navlinks a.active{background:#142c3d;border-color:#34617c;color:#a8e2ff}
.showcase .eyebrow,.showcase .step-kicker,.showcase .service-icon{color:#92d9ff}
.showcase .btn,.showcase button{background:linear-gradient(130deg,#9bdfff,#55b7ef);color:#071726;box-shadow:0 8px 24px #00182555;border:1px solid #9bdfff;min-height:46px}
.showcase .btn.secondary,.showcase .btn.ghost,.showcase button.secondary{background:#151d28;color:#f5f7fa;border:1px solid #4a596c;box-shadow:none}
.showcase a:focus-visible,.showcase button:focus-visible{outline:3px solid #b9e8ff;outline-offset:5px}
.showcase input:focus,.showcase textarea:focus,.showcase select:focus{border-color:#65c8fb;box-shadow:0 0 0 3px #65c8fb33}
.showcase input{accent-color:#65c8fb}
.photo-hero{position:relative;min-height:650px;display:flex;align-items:center;padding:90px 0 100px;background:linear-gradient(90deg,rgba(5,9,14,.97) 0%,rgba(5,9,14,.84) 34%,rgba(5,9,14,.2) 100%),url('assets/work/belt-service.jpeg') center/cover no-repeat;border-bottom:1px solid #354353}
.photo-hero>.wrap{width:min(1200px,calc(100% - 40px))}
.hero-copy{max-width:650px}.photo-hero h1{font-size:clamp(3.4rem,6.8vw,6.2rem);letter-spacing:-.06em;line-height:1.02;margin:24px 0}.photo-hero p{max-width:480px;font-size:1.12rem;color:#d0d8e0;line-height:1.7}.hero-note{margin-top:32px;font-size:.78rem;color:#bbc8d5}.hero-caption{position:absolute;right:24px;bottom:20px;color:#ced9e5;font-size:.59rem;letter-spacing:.14em}
.process-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:32px 0;border-bottom:1px solid #2b3441}.process-strip>div{position:relative;padding-left:42px}.process-strip span{position:absolute;left:0;top:0;color:#91d7ff;font-size:.82rem}.process-strip strong{font-size:.94rem}.process-strip p{color:#aebac9;font-size:.82rem;line-height:1.55;margin:8px 0}
.work-section{padding-top:76px;padding-bottom:42px;scroll-margin-top:110px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:30px}.section-heading h2{font-size:clamp(2rem,4vw,3.3rem);letter-spacing:-.04em;margin:10px 0 0}.section-heading p{max-width:390px;color:#b7c0cb;line-height:1.7;margin:0;font-size:.94rem}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.work-photo{border:1px solid #303a47;border-radius:16px;overflow:hidden;display:block;background:#141a23;text-decoration:none;color:#fff}.work-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .25s}.work-photo:hover img{transform:scale(1.035)}.work-photo span{display:flex;justify-content:space-between;gap:10px;padding:18px;font-size:.9rem;font-weight:700}.work-photo b{color:#92d9ff}.gallery-hint{color:#9facbd;font-size:.78rem;margin-top:17px}.showcase .customer-links{grid-template-columns:1.2fr 1fr;padding-bottom:65px}.customer-links .card{background:#121922;border:1px solid #303c4b}.showcase .footer{border-top:1px solid #2b3441;background:#090d13}
.booking-page{background:linear-gradient(180deg,rgba(7,12,19,.45),#0a0d12 850px),url('assets/work/belt-service.jpeg') center top/auto 900px no-repeat,#0a0d12}.booking-page .booking-shell{padding-top:54px}.booking-page .booking-intro{padding:28px 20px;background:rgba(8,14,22,.88);border:1px solid #394958;border-radius:22px}.booking-page .booking-intro h1{font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.06;margin:16px 0}.booking-page .booking-intro p{color:#c6d2de}.booking-page .booking-form{background:#111923;border:1px solid #364453;box-shadow:0 20px 70px #0007}.booking-page .booking-progress li{background:#121c28}.booking-page .booking-progress li.active{background:#17344a;border-color:#65c8fb}.booking-page .booking-progress li.active span{background:#65c8fb;color:#071726}.booking-page .segment-card:has(input:checked)>span,.booking-page .stacked-options label:has(input:checked) span,.booking-page .service-choice-card:has(input:checked){border-color:#65c8fb;background:linear-gradient(135deg,#17384f,#101a27);box-shadow:0 0 0 3px #65c8fb22}.booking-page .conditional-field{border-color:#355974;background:#142432}.booking-page .work-section{padding-top:0}.photo-dialog{width:min(1000px,94vw);max-height:92dvh;padding:20px;background:#101822;border:1px solid #526479;border-radius:18px;color:white}.photo-dialog::backdrop{background:#000d}.photo-dialog img{display:block;width:100%;max-height:70dvh;object-fit:contain}.photo-dialog p{margin:15px 0 0}.photo-dialog .photo-close{display:block;margin:0 0 14px auto;padding:9px 18px}.showcase .photo-dialog{overflow:auto}
@media(max-width:700px){.showcase .topbar-inner{gap:14px;flex-wrap:wrap}.showcase .brand img{width:52px}.showcase .navlinks{width:100%;justify-content:space-between;gap:5px}.showcase .navlinks a{font-size:.8rem;padding:9px 10px}.photo-hero{min-height:560px;padding:55px 0 65px;background-position:60% center}.photo-hero h1{font-size:clamp(3rem,11vw,4.5rem)}.photo-hero p{font-size:1rem}.hero-caption{left:20px;right:20px;font-size:.52rem}.process-strip{grid-template-columns:1fr;gap:20px;padding:28px 0}.section-heading{display:block}.section-heading p{margin-top:16px}.work-section{padding-top:45px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.work-photo span{font-size:.78rem;padding:12px}.showcase .customer-links{grid-template-columns:1fr}.booking-page .booking-shell{padding-top:24px}.booking-page .booking-intro{padding:22px 16px}.booking-page .booking-progress li{padding:10px 7px;gap:6px;font-size:.7rem}.booking-page .booking-progress li span{flex-shrink:0;width:24px;height:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.work-photo img{transition:none}.work-photo:hover img{transform:none}}
@media(max-width:700px){.showcase .navlinks{display:flex}.booking-page .booking-progress li{flex-direction:column;text-align:center}.booking-page .booking-progress li strong{display:block;font-size:.65rem}.booking-page #draftNotice{background:#102c24}.photo-hero{background-image:linear-gradient(90deg,rgba(5,9,14,.88),rgba(5,9,14,.5)),url('assets/work/belt-service.jpeg')}}
