/* Preserve the established blue-and-orange identity with a quieter layout. */
:root{--radius-xl:14px;--radius-2xl:20px}.header{background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}.hero{min-height:580px;padding-block:calc(var(--header-height) + 64px) 64px}.hero-content{padding-block:0}.hero h1{letter-spacing:-.035em;max-width:760px}.hero-bg::after{background:linear-gradient(90deg,rgba(4,29,52,.94),rgba(4,29,52,.8) 45%,rgba(4,29,52,.3))}.hero-badge{background:#ffffff14;border-color:#ffffff30}.pulse-dot{display:none}.hero-badge,.hero h1,.hero-subtitle,.hero-actions,.hero-stats{animation:none}.reveal{opacity:1;transform:none;transition:none}.btn{border-radius:10px;box-shadow:none}.btn-primary{background:#b95000}.btn-primary:hover{background:#a64700;box-shadow:none;transform:none}.btn-outline:hover,.btn-secondary:hover{transform:none}.fee-banner{border-bottom:1px solid var(--gray-200);background:#fff}.fee-banner .container{display:flex;align-items:center;gap:40px;padding-block:24px}.fee-banner .container>div{display:flex;align-items:center;gap:16px}.fee-banner span{font-size:.75rem;letter-spacing:.07em;max-width:90px;font-weight:700;color:var(--gray-600)}.fee-banner strong{font-family:var(--font-heading);font-size:2rem;color:var(--blue-800)}.fee-banner p{margin-left:auto;font-size:.875rem;color:var(--gray-600)}.service-categories,.about,.contact{padding-block:64px}.category-card{min-height:320px;box-shadow:0 8px 28px #0f294010}.category-card:hover{transform:none;box-shadow:0 8px 28px #0f294020}.category-card .card-content{padding:28px}.category-card .card-icon{width:44px;height:44px;font-size:1.2rem;box-shadow:none}.category-card .card-overlay{background:linear-gradient(to top,#041d34f5,#041d34b0 65%,#041d3440)}.category-card h3{font-size:1.6rem}.about-image{box-shadow:none}.about-text p{font-size:1rem}.about-text p+p{margin-bottom:20px}.contact{background:var(--gray-50)}.contact-form-section{box-shadow:none}.section-title{letter-spacing:-.025em}.footer{padding-top:48px}.footer-brand p,.footer-col a{color:#c5cfdd}.services-detail{padding-block:48px}.service-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px}.service-detail-card{display:flex;flex-direction:column;box-shadow:none}.service-detail-card:hover{box-shadow:0 8px 24px #0f29400b}.service-detail-card .service-img{height:190px;min-height:0;aspect-ratio:auto}.service-detail-card .service-img img{height:100%;min-height:0}.service-detail-card .service-body{display:flex;flex-direction:column;flex:1;padding:28px}.service-detail-card .service-body .btn{align-self:flex-start;margin-top:auto}.service-detail-card .service-body p{font-size:1rem}.page-hero{padding-block:calc(var(--header-height) + 40px) 40px}.page-cta{padding-block:48px}.fee-choice{border:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.fee-choice legend{font-weight:700;margin-bottom:16px;color:var(--gray-900)}.fee-choice label{display:flex;gap:12px;align-items:center;cursor:pointer;padding:16px;border:1px solid var(--gray-300);border-radius:12px}.fee-choice label:has(input:checked){border-color:var(--blue-600);background:var(--blue-50)}.fee-choice label span{display:flex;flex-direction:column;gap:2px;color:var(--gray-700)}.fee-choice strong{font-size:1.5rem;color:var(--blue-800)}.fee-choice p{grid-column:1/-1;color:var(--gray-600);font-size:.875rem}.fee-choice input,.acceptance input{appearance:auto;width:20px;height:20px;min-height:20px;flex-shrink:0;accent-color:var(--blue-600)}.fee-agreement{padding:20px;background:var(--blue-50);border:1px solid var(--blue-100);border-radius:12px}.fee-agreement h2{font-size:1.125rem;margin-bottom:8px}.fee-agreement p{margin-bottom:16px}.acceptance{display:flex;gap:12px;align-items:flex-start;cursor:pointer;font-size:.9375rem}.booking-hours{font-size:.875rem;color:var(--gray-600)}.form-status{color:#21583b;padding:12px 0;font-size:1rem}.form-status:empty{display:none}.form-status.is-error{color:#a12929}.form-card{box-shadow:0 12px 36px #041d3408}.form-submit .btn{min-height:52px}.contact-card p[style]{color:var(--gray-600)!important}
@media(max-width:900px){.fee-banner .container{gap:24px;flex-wrap:wrap}.fee-banner p{margin-left:0}.fee-banner .container>div{flex:1}.fee-banner .btn{margin-left:auto}.service-detail-card .service-body{padding:24px}}
@media(max-width:639px){.hero{min-height:0;padding-block:calc(var(--header-height) + 48px) 48px}.hero h1{font-size:2.25rem}.hero-subtitle{font-size:1rem}.fee-banner .container{gap:16px}.fee-banner .container>div{gap:12px}.fee-banner strong{font-size:1.75rem}.fee-banner span{font-size:.75rem;max-width:80px}.fee-banner p{flex:1}.fee-banner .btn{padding:10px 14px;font-size:.875rem}.service-categories,.about,.contact{padding-block:48px}.service-detail-grid{grid-template-columns:1fr}.service-detail-card .service-img{height:150px}.page-hero p{font-size:1rem}.category-card{min-height:320px}.category-card .card-content{padding:24px}.fee-choice label{padding:12px}.fee-agreement{padding:16px}}

@media(min-width:640px){.service-detail-grid>.service-detail-card:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 12px);justify-self:center}}

/* Contact details and hours share a balanced row above the form. */
#contact .contact-info{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px}
#contact .contact-card{padding:20px;gap:16px;border-color:var(--gray-200)}
#contact .contact-card h3{font-size:1rem;margin-bottom:8px}
#contact .contact-card>div:last-child{flex:1;min-width:0}
#contact .contact-note{font-size:.8125rem;color:var(--gray-500);margin-top:10px}
#contact .contact-hours dl>div{display:flex;justify-content:space-between;gap:16px;font-size:.875rem;padding:3px 0;color:var(--gray-600)}
#contact .contact-hours dd{font-weight:600;color:var(--gray-800);white-space:nowrap}
#contact .contact-actions{grid-column:1/-1;display:flex;flex-direction:row;gap:12px}
#contact .contact-actions .btn{flex:1;min-width:0}
@media(max-width:639px){#contact .contact-info{grid-template-columns:1fr}#contact .contact-card{padding:18px}#contact .contact-card .icon-wrap{width:40px;height:40px}}

.nav-cta{gap:10px}.call-pending:disabled{cursor:not-allowed;opacity:.65;box-shadow:none;transform:none}.call-pending:disabled::after{display:none}.mobile-menu .call-pending{margin-top:0}

/* Persistent schedule and phone actions, with icon-only controls on phones. */
.header .persistent-actions{display:flex;align-items:center;gap:10px;z-index:1001;margin-left:auto}
.persistent-actions svg,.hero-phone svg{width:21px;height:21px;flex-shrink:0}
.header .persistent-actions .btn{min-height:44px;padding:10px 14px;white-space:nowrap}
@media(max-width:1279px){.header .nav-desktop{display:none}.header .hamburger{display:flex}.header .mobile-menu{display:flex}}
@media(min-width:1280px){.header .nav-desktop{display:flex;gap:20px}.header .hamburger{display:none}.header .mobile-menu{display:none}.header-inner{gap:20px}.header .nav-desktop a{font-size:.875rem}.header .logo{font-size:1.2rem}.header .persistent-actions .btn{font-size:.875rem}}
@media(max-width:767px){.header .persistent-actions .action-label{display:none}.header .persistent-actions{gap:8px}.header .persistent-actions .btn{padding:0;width:44px;height:44px;min-height:44px}.header-inner{gap:8px}.header .logo{font-size:1.05rem;gap:4px}.header .logo-icon{width:32px;height:32px;margin-right:2px}.header .container{padding-inline:16px}.header .hamburger{width:40px}}
@media(max-width:359px){.header .container{padding-inline:10px}.header .logo{font-size:.9rem}.header .logo-icon{width:28px;height:28px}.header .persistent-actions{gap:6px}.header .persistent-actions .btn{width:40px;height:44px}.header .hamburger{width:36px;padding-inline:6px}.header-inner{gap:6px}}

.availability-options{padding:20px;border:1px solid var(--gray-200);border-radius:12px}.availability-options h2{font-size:1.125rem}.availability-options p{font-size:.9375rem;color:var(--gray-600);margin:12px 0}.availability-options .acceptance{margin-top:16px}#available-times{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;font-size:.9375rem}#available-times .btn{font-size:.875rem;padding:10px}#available-times .btn[aria-pressed=true]{background:var(--blue-700);color:white}#urgent-note{padding:12px;background:var(--orange-50);border-radius:8px}

/* Keep fees and contact actions readable on the narrowest phones. */
@media(max-width:399px){.fee-banner .container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.fee-banner .container>div{flex-direction:column;align-items:flex-start;gap:6px}.fee-banner p,.fee-banner .btn{grid-column:1/-1;margin:0}.fee-banner .btn{width:100%}#contact .contact-actions{flex-direction:column}}
