body{margin:0;font-family:Poppins,sans-serif;background:#000;color:#fff;overflow-x:hidden}.app-container{position:relative;height:100vh;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.background-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;filter:brightness(.45);z-index:-1}.overlay{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:100vh;width:100%;padding:0 1rem}.overlay>*{animation:fadeInUp .8s ease forwards;opacity:0}@keyframes fadeInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes logoPowerSweep{0%{opacity:0;transform:translate(-150%);filter:blur(3px) brightness(1)}20%{opacity:1;transform:translate(-50%);filter:blur(4px) brightness(1.6)}50%{opacity:1;transform:translate(50%);filter:blur(6px) brightness(2)}80%{opacity:.8;transform:translate(150%);filter:blur(3px) brightness(1.4)}to{opacity:0;transform:translate(200%);filter:blur(3px) brightness(1)}}@keyframes logoPulse{0%,to{filter:brightness(1) drop-shadow(0 0 10px rgba(0,191,255,.25))}50%{filter:brightness(1.4) drop-shadow(0 0 25px rgba(0,191,255,.45))}}.logo-wrapper{position:relative;display:flex;justify-content:center;align-items:center;margin-bottom:2rem;z-index:2}.logo{width:320px;max-width:80vw;display:block;position:relative;z-index:3;opacity:1;animation:logoPulse 6s ease-in-out infinite 3s}.logo-wrapper:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 20%,rgba(0,200,255,.9) 50%,transparent 80%);mix-blend-mode:screen;opacity:0;z-index:2;pointer-events:none;animation:logoPowerSweep 3s ease-in-out .4s forwards}.overlay h1{font-size:clamp(1.2rem,2.5vw,1.5rem);margin-bottom:2rem;font-weight:450;color:#fff;letter-spacing:.02em}.search-bar{display:flex;justify-content:center;align-items:center;gap:.75rem;width:100%;max-width:420px;margin:0 auto}.search-bar input{flex:1;min-width:0;padding:.8rem 1rem;border-radius:8px;border:none;outline:none;background:#ffffff26;color:#fff;font-size:1rem;text-transform:uppercase;transition:.3s}.search-bar input:focus{box-shadow:0 0 12px #00bfff;background:#ffffff40}.search-bar button{flex-shrink:0;background:linear-gradient(90deg,#00bfff,#0072ff);border:none;border-radius:8px;padding:.8rem 1.5rem;color:#fff;font-weight:600;cursor:pointer;transition:all .3s ease}.search-bar button:hover{transform:translateY(-1px);box-shadow:0 0 15px #00bfff80}.hint{margin-top:1rem;color:#ffffffbf;font-size:.9rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#171717a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10}.modal{background:#fff;color:#585454;padding:2rem;border-radius:12px;width:90%;max-width:700px;max-height:80vh;overflow-y:auto;position:relative;z-index:11}.close-btn{position:absolute;top:12px;right:16px;background:transparent;border:none;font-size:1.4rem;cursor:pointer}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem 1rem;margin-bottom:1.5rem}.address-section{margin-top:1.5rem;padding:2rem;border-radius:1rem;background:#121416f5;border:1px solid rgba(0,150,255,.15);box-shadow:0 0 35px #00c8ff1f;transition:.3s ease}.address-section:hover{box-shadow:0 0 45px #00c8ff40}.address-section h3{color:#00bfff;font-weight:600;font-size:1.2rem;margin-bottom:1.2rem;text-align:left;letter-spacing:.5px;text-shadow:0 0 8px rgba(0,191,255,.25)}.postcode-widget{display:flex;align-items:center;gap:.6rem;margin-bottom:1.5rem;flex-wrap:wrap}.postcode-widget input[type=text]{flex:1;padding:.8rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:#fff;font-size:.95rem;transition:.2s ease}.postcode-widget input[type=text]:focus{border-color:#00bfff;box-shadow:0 0 10px #00bfff4d;outline:none}.postcode-widget button{background:linear-gradient(90deg,#00bfff,#0072ff);border:none;color:#fff;font-weight:600;padding:.8rem 1.2rem;border-radius:8px;cursor:pointer;transition:.3s ease}.postcode-widget button:hover{transform:scale(1.03);box-shadow:0 0 15px #00bfff66}.ideal-postcodes-autocomplete ul{background:#0c0f13!important;border:1px solid rgba(0,191,255,.3)!important;border-radius:10px!important;box-shadow:0 0 30px #00bfff26!important;overflow:hidden!important}.ideal-postcodes-autocomplete li{color:#eafaff!important;font-size:.95rem!important;padding:.7rem 1rem!important;cursor:pointer!important;transition:.2s ease}.ideal-postcodes-autocomplete li:hover{background:linear-gradient(90deg,#0072ff,#00bfff)!important;color:#fff!important}.address-fields{display:flex;flex-direction:column;gap:.8rem;opacity:0;max-height:0;overflow:hidden;transform:translateY(-10px);transition:all .6s ease}.address-fields.slide-in{opacity:1;max-height:600px;transform:translateY(0)}.address-fields input{width:100%;padding:.9rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#fff;font-size:.95rem;transition:.2s ease}.address-fields input:focus{border-color:#00bfff;box-shadow:0 0 10px #00bfff40;background:#ffffff26}.address-footer{text-align:right;margin-top:1.5rem}.primary-btn{background:linear-gradient(90deg,#07f,#0cf);color:#fff;border:none;border-radius:10px;padding:.9rem 1.8rem;font-weight:600;cursor:pointer;transition:.25s}.primary-btn:hover{transform:scale(1.03);box-shadow:0 0 10px #00c8ff4d}@media (max-width: 480px){.search-bar{flex-direction:column;gap:.6rem}.search-bar input,.search-bar button{width:100%}.logo{width:260px;margin-bottom:1.5rem}.modal{padding:1.5rem}}
