:root{--primary-dark:#1b3a5c;--primary:#2e6da4;--primary-light:#4a90d9;--accent-red:#d32f2f;--white:#fff;--light-bg:#f0f6fc;--text-dark:#1a1a2e;--text-muted:#555;--border:#ddd}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text-dark);background-color:var(--white);font-family:Lato,Helvetica Neue,Arial,Helvetica,sans-serif}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1}.ui.button.primary,.ui.primary.button{background-color:var(--primary)!important}.ui.button.primary:hover,.ui.primary.button:hover{background-color:var(--primary-dark)!important}.ui.red.button{background-color:var(--accent-red)!important}.section-padding .ui.red.button{border-radius:24px!important}.hero-section{background:var(--white);color:var(--text-dark);text-align:center;padding:40px 0 50px}.hero-logo{width:100%;max-width:700px;height:auto;margin:0 auto 2rem;display:block}.hero-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:1.5rem;display:flex}.btn-book-now.ui.button{color:#1b3a5c!important;text-shadow:0 1px 1px #ffffff4d!important;background:linear-gradient(#f5c842 0%,#e8a817 50%,#d4960f 100%)!important;border:2px solid #c4880a!important;border-radius:8px!important;padding:16px 40px!important;font-family:Georgia,Times New Roman,serif!important;font-size:1.4rem!important;font-style:italic!important;font-weight:700!important;transition:transform .2s,box-shadow .2s!important;box-shadow:0 4px 12px #0003,inset 0 1px #fff6!important}.btn-book-now.ui.button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000040,inset 0 1px #fff6!important}.btn-check-postcode.ui.button,.btn-check-availability.ui.button{color:var(--white)!important;text-shadow:0 1px 2px #0003!important;background:linear-gradient(#7ba7d0 0%,#5b8cb8 50%,#4a7aa6 100%)!important;border:2px solid #3d6a8e!important;border-radius:8px!important;padding:14px 32px!important;font-family:Georgia,Times New Roman,serif!important;font-size:1.2rem!important;font-style:italic!important;font-weight:700!important;transition:transform .2s,box-shadow .2s!important;box-shadow:0 4px 12px #00000026,inset 0 1px #ffffff4d!important}.btn-check-postcode.ui.button:hover,.btn-check-availability.ui.button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0003,inset 0 1px #ffffff4d!important}.hero-hours{color:var(--accent-red);margin-top:.5rem;font-family:Georgia,Times New Roman,serif;font-size:1.3rem;font-style:italic;font-weight:700}.hero-section h1{margin-bottom:1rem;font-size:3rem;font-weight:700}.hero-section .tagline{opacity:.9;margin-bottom:2rem;font-size:1.4rem}.feature-illustration{border:3px solid var(--primary-light);background:var(--white);border-radius:16px;justify-content:center;align-items:center;width:100%;max-width:260px;height:180px;margin:0 auto 1rem;display:flex;overflow:hidden}.feature-img{object-fit:contain;object-position:center;width:100%;height:100%}.service-card{height:100%;border:2px solid var(--border)!important;border-radius:12px!important;transition:transform .2s,box-shadow .2s!important;overflow:visible!important}.service-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026!important}.service-card.most-popular{position:relative;border-color:var(--accent-red)!important;margin-top:1.5rem!important;padding-top:1.5rem!important}div.most-popular-badge{white-space:nowrap;z-index:10;box-sizing:border-box;display:inline-block;position:absolute;top:-16px;left:50%;transform:translate(-50%);background-color:var(--accent-red)!important;background:var(--accent-red)!important;color:#fff!important;border-radius:24px!important;padding:8px 24px!important;font-size:.85rem!important;font-weight:700!important}.price-tag{color:var(--primary);font-size:2.5rem;font-weight:700}.price-from{color:var(--text-muted);margin-bottom:.25rem;font-size:.9rem;font-style:italic;display:block}.section-padding{padding:60px 0}.section-blue{background-color:var(--light-bg)}.section-title{text-align:center;color:var(--primary-dark);margin-bottom:3rem}.coverage-map-container{border:2px solid var(--border);border-radius:12px;height:500px;overflow:hidden}.react-datepicker-wrapper{width:100%}.site-footer{background-color:var(--primary-dark);color:#fff;padding:40px 0 20px}.site-footer a{color:var(--primary-light)!important}.site-footer .ui.list .item{color:#fffc!important}@media (max-width:768px){.hero-section{padding:30px 0 40px}.hero-logo{max-width:90%;margin-bottom:1.5rem}.hero-buttons{flex-direction:column;align-items:center}.btn-book-now.ui.button{width:80%;padding:14px 32px!important;font-size:1.2rem!important}.btn-check-postcode.ui.button,.btn-check-availability.ui.button{width:80%;padding:12px 24px!important;font-size:1rem!important}.hero-section h1{font-size:2rem}.hero-section .tagline{font-size:1.1rem}.feature-illustration{max-width:220px;height:150px}.coverage-map-container{height:350px}}.booking-progress{justify-content:space-between;margin-bottom:2rem;display:flex;position:relative}.progress-step{cursor:default;flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.progress-step.completed{cursor:pointer}.progress-dot{color:#999;z-index:1;background:#e0e0e0;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:.35rem;font-size:.85rem;font-weight:600;display:flex;position:relative}.progress-step.active .progress-dot{background:var(--primary);color:#fff}.progress-step.completed .progress-dot{color:#fff;background:#21ba45}.progress-label{color:#999;text-align:center;font-size:.7rem}.progress-step.active .progress-label{color:var(--primary-dark);font-weight:600}.progress-step.completed .progress-label{color:#21ba45}