/* Midnight Luxe — visual layer only. Existing content and interactions retained. */
:root{--navy:#f2f6ff;--blue:#6ee5f1;--sky:#38a7ff;--ink:#c1ccdf;--mist:#0b1530;--radius:22px;color:var(--ink);background:#060d20;color-scheme:dark}
body{background:#060d20;color:#c1ccdf}
body>header{background:#070e22;border-bottom:1px solid #7198c425;position:relative;z-index:30}
.topbar{background:#04091a;color:#aabbd3;font-size:.75rem;letter-spacing:.025em;padding:.45rem 1rem}
.topbar a{color:#80eaf3;text-decoration:none}
nav.wrap{min-height:92px;gap:1rem}
.brand{color:#f2f6ff;font-weight:800;letter-spacing:-.025em}
.brand img{box-shadow:0 0 0 1px #69dfee50}
.links{gap:1.1rem}.links a{font-size:.8rem;color:#c7d2e4}.links a:hover{color:#83e7f3}
.button{background:linear-gradient(110deg,#0878ee,#0062dc);color:#fff;box-shadow:0 8px 32px #0878ee30;border:1px solid #7ec5ff60;padding:.9rem 1.4rem;font-weight:800;transition:transform .18s,box-shadow .18s}
.button:hover{transform:translateY(-2px);box-shadow:0 12px 32px #0878ee50}
.button.secondary{background:#0d1b32;color:#8cebf3;border:1px solid #64c4df50;box-shadow:none}
.eyebrow{color:#75e4ed;font-size:.7rem;letter-spacing:.16em;font-weight:800}
h1,.hero h1,.section h2,.content h2,.card h3,.case-copy h3{color:#f1f5ff}
.hero{background:radial-gradient(ellipse at 0 100%,#09334555,transparent 60%),#070e22;position:relative;padding:4.25rem 0 2rem}
.hero-grid{gap:2rem;grid-template-columns:1.05fr 1fr;position:relative;z-index:1;align-items:center}
.hero-grid>div{position:relative;z-index:2}
.hero h1{font-size:clamp(2.8rem,4.5vw,4rem);line-height:1.08;letter-spacing:-.055em;margin:1rem 0 1.25rem}
.luxe-heading{color:#7de9ee;background:linear-gradient(100deg,#6ee8f0 5%,#399dff 90%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero p{font-size:1.02rem;color:#c4cee0;line-height:1.8;max-width:540px}
.hero-art{border:1px solid #89a5d538;border-radius:26px;overflow:hidden;box-shadow:0 22px 80px #0005;filter:none;align-self:stretch;display:block;min-height:520px}
.hero-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:64% center}
.hero .actions{margin:1.4rem 0}
.proof{gap:.5rem;margin-top:1.5rem}.proof-card{min-height:110px;padding:.9rem .8rem;background:#0b1932d9;border-color:#538daf40;box-shadow:none;border-radius:15px}.proof-card strong{color:#e8f4ff;font-size:.87rem}.proof-card>span:last-child{color:#aec2d8;font-size:.73rem}.proof-guarantee{background:linear-gradient(135deg,#103044,#111c37)}.proof-facebook .proof-icon,.proof-guarantee .proof-icon{background:#153e5d;color:#74e8ef;width:24px;height:24px}.proof-card:hover{box-shadow:0 8px 30px #0003}
.luxe-services{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}
.luxe-service{display:flex;align-items:center;gap:1rem;border:1px solid #65bdd94a;background:linear-gradient(140deg,#123044aa,#0c1730);border-radius:19px;padding:1rem;text-decoration:none;box-shadow:0 8px 30px #0002;transition:transform .18s,border-color .18s;min-width:0}
.luxe-service:nth-child(2){border-color:#47a5ed55}.luxe-service:nth-child(3){border-color:#788cfb55}
.luxe-service:hover{transform:translateY(-3px);border-color:#7de9ee}
.luxe-service img{width:75px;height:90px;object-fit:cover;border-radius:12px;flex-shrink:0}
.luxe-service:nth-child(3) img{object-position:center bottom}
.luxe-service h2{font-size:1.18rem;color:#edf5ff;line-height:1.15;letter-spacing:-.025em;margin:0 0 .4rem}
.luxe-service p{font-size:.76rem;line-height:1.5;margin:0;color:#b5c8dd}
.luxe-service>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#77e6ef;color:#061026;margin-left:auto;flex-shrink:0;font-size:1.15rem}
.luxe-service:nth-child(2)>span{background:#53b5ff}.luxe-service:nth-child(3)>span{background:#8ad9ff}
.luxe-danny{border-top:1px solid #7198c425;background:#080f23}
.luxe-danny-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.luxe-danny figure{margin:0;position:relative;overflow:hidden;border-radius:24px;border:1px solid #66c2d53b}
.luxe-danny figure img{display:block;width:100%;aspect-ratio:1.35;object-fit:cover}
.luxe-danny figcaption{position:absolute;bottom:0;left:0;right:0;padding:2.5rem 1.3rem 1rem;background:linear-gradient(transparent,#040b20e6);font-size:.8rem;color:#fff;font-weight:700}
.section{padding:4.5rem 0}.section.alt{background:linear-gradient(145deg,#0b1731,#0a1229)}
.section h2{font-weight:750}.lead{color:#c0cde0}
.card,.case-card{background:linear-gradient(145deg,#101e37,#0d172b);border-color:#6f97c02e;box-shadow:0 12px 30px #0001}
a.card{transition:transform .18s,border-color .18s}a.card:hover{transform:translateY(-3px);border-color:#78d9e76b}
.card h3{color:#e6f3ff}.card .arrow{color:#76e2eb}.process-grid strong{color:#76e2eb}
.proof-panel{background:linear-gradient(145deg,#123148,#182342);border:1px solid #68acc13d}
.trust{background:linear-gradient(135deg,#123044,#172141);border:1px solid #70b5d53d}.trust strong{color:#8ee8ef}
.reviews footer{color:#84dfed;background:transparent}
.pagehead{background:radial-gradient(ellipse at top right,#147bd332,transparent 60%),linear-gradient(130deg,#0d2536,#0b132b);border-bottom:1px solid #7198c425}
.crumbs,.crumbs [aria-current="page"]{color:#a9bed4}.crumbs a{color:#8cdfe9}
.cta{background:linear-gradient(130deg,#133445,#143665);border:1px solid #7baecf38}
.quote-form input,.quote-form select,.quote-form textarea,.case-filter-controls select,.postcode-checker input{background:#071224;color:#ecf4ff;border-color:#6686aa80}
.quote-form input::placeholder,.quote-form textarea::placeholder,.postcode-checker input::placeholder{color:#9bafc9}
.quote-form fieldset{border-color:#6686aa60}.quote-form legend{color:#e0f4ff}
.coverage-regions h3,.postcode-checker h3{color:#e6f4ff}.coverage-regions a{color:#8de4ed}
.postcode-checker{background:#0d1c33;border-color:#628faf50}
.coverage-map{background:linear-gradient(135deg,#123344,#14213e);border-color:#628faf50}.map-key,.map-credit{color:#bdd7e5}.map-label{color:#062b4f}.map-stage{background:#dff3ff}
.local-proof{background:linear-gradient(145deg,#103044,#141c35);border-color:#628faf50}.proof-links a{background:#0c1b31;color:#e5f4ff;border-color:#628faf50}.proof-links a span{color:#adbed3}
.case-filter-panel{background:#0d172c;border-color:#628faf50}.case-filter-controls label{color:#e5f4ff}.case-filter-status{color:#b4c6db}
.cookie-banner{background:#101d33;color:#dce7f8;border-color:#547398;box-shadow:0 15px 60px #0006}.cookie-banner[hidden]{display:none}
body>footer{background:#040919;border-top:1px solid #7198c425}.footer-grid strong{color:#e4f4ff}.footer-grid p{color:#a8bdd3}
.whatsapp-float{background:#126444;border:1px solid #55cba775;box-shadow:0 12px 35px #0005}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #82ecf2;outline-offset:4px}
.skip-link{background:#102b43;color:#fff}
/* Standalone nomination form shares the same visual system, keeping its fields intact. */
body:has(.layout) header{background:#080f23;border-color:#7198c425}
body:has(.layout) .intro,body:has(.layout) .hint,body:has(.layout) .field small{color:#b7c8dc}
body:has(.layout) .gift{background:#123343;border-color:#5596aa50;color:#c7e2eb}
body:has(.layout) .gift strong{color:#8be5dc}
body:has(.layout) input,body:has(.layout) select,body:has(.layout) textarea{background:#071224;color:#eff7ff;border-color:#6686aa80}
body:has(.layout) .submit{background:linear-gradient(110deg,#0878ee,#0062dc);color:#fff;border:0}
body:has(.layout) .consent,body:has(.layout) .note{color:#b7c8dc}
body:has(.layout) .choice{border-color:#5c799760}
body:has(.layout) .choice:has(input:checked){background:#163c50;border-color:#78dfe5;color:#efffff}
body:has(.layout) form>button{background:linear-gradient(110deg,#0878ee,#0062dc);color:#fff}
body:has(.layout) .error{color:#ffb2c1}
@media(max-width:1100px){.links{gap:.8rem}.links a{font-size:.72rem}.brand span{font-size:.85rem}.luxe-service{gap:.7rem}.luxe-service img{width:60px}.luxe-service h2{font-size:1.05rem}}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr 1fr;gap:1.4rem}.hero h1{font-size:2.9rem}.hero-art{min-height:490px}.proof{grid-template-columns:1fr}.proof-card{min-height:0;padding:.7rem;display:grid;grid-template-columns:25px 1fr;column-gap:.5rem}.proof-card .proof-icon{grid-row:span 2;margin:0;align-self:center}.proof-google .proof-icon{font-size:.4rem;letter-spacing:0}.proof-card>span:last-child{margin:0}.mobile-menu summary{color:#c7e9f6}.mobile-menu>div{background:#111f38;border-color:#577996}.luxe-services{gap:.65rem}.luxe-service img{width:48px;height:74px}.luxe-service{padding:.75rem}.luxe-service>span{display:none}.luxe-danny-grid{gap:2rem}}
@media(max-width:700px){.hero{padding-top:2rem}.hero-grid{grid-template-columns:1fr;gap:1.5rem}.hero h1{font-size:clamp(2.5rem,9vw,3.5rem);max-width:590px}.hero-art{min-height:0;aspect-ratio:16/10;max-width:none;width:100%;order:0}.hero-art img{object-position:center}.proof{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.proof-card{display:flex;min-height:102px;padding:.75rem .6rem}.proof-card .proof-icon{margin-bottom:.5rem;align-self:flex-start}.proof-google .proof-icon{font-size:.7rem}.proof-card strong{font-size:.8rem}.proof-card>span:last-child{font-size:.65rem;margin-top:.25rem}.luxe-services{grid-template-columns:1fr;margin-top:1.2rem}.luxe-service{padding:.8rem 1rem;gap:1rem}.luxe-service img{width:62px;height:68px}.luxe-service h2{font-size:1.1rem}.luxe-service p{font-size:.82rem}.luxe-service>span{display:grid}.luxe-danny-grid{grid-template-columns:1fr;gap:1.6rem}.luxe-danny{padding:3rem 0}.section{padding:3rem 0}.hero .actions{display:flex}.hero .actions .button{width:auto;flex:1}.topbar{font-size:.65rem}.brand span{font-size:.75rem}nav.wrap{min-height:76px}.hero p{font-size:1rem}.luxe-danny figure img{aspect-ratio:1.3}.coverage-map{color-scheme:light}}
@media(prefers-reduced-motion:reduce){.button,.card,.luxe-service,.proof-card,.result-gallery img{transition:none}.button:hover,a.card:hover,.luxe-service:hover,.proof-card:hover{transform:none}}

/* Hero composition: photograph blends into the copy from its left edge. */
.hero-grid{grid-template-columns:1.05fr 1fr;gap:2rem;isolation:isolate}
.hero-grid>.hero-art{position:absolute;top:0;bottom:0;right:-4rem;width:70%;height:100%;min-height:0;max-width:none;border:0;border-radius:0;box-shadow:none;z-index:0;margin:0;overflow:hidden;mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.16) 16%,#000 46%);-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.16) 16%,#000 46%)}
.hero-art img{object-position:62% center}
.hero-grid>.hero-art:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,#070e22 0%,transparent 25%)}
.hero-grid>div{grid-column:1;position:relative;z-index:2}
.luxe-heading{background-image:linear-gradient(100deg,#65e8f0 5%,#279bff 95%)}
@media(max-width:980px) and (min-width:701px){.hero-grid{grid-template-columns:1.05fr 1fr}.hero-grid>.hero-art{right:-2rem;width:72%}}
@media(max-width:700px){.hero-grid{grid-template-columns:1fr}.hero-grid>.hero-art{position:relative;top:auto;bottom:auto;right:auto;width:100%;height:auto;aspect-ratio:16/10;grid-column:1;mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.6) 15%,#000 40%);-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.6) 15%,#000 40%)}.hero-grid>.hero-art:after{background:linear-gradient(to top,#070e22 0%,transparent 22%)}.hero-art img{height:100%;object-position:center}}

.button,body:has(.layout) form>button{border-radius:30px 5px 25px 5px}
.button.secondary{border-color:#32a6ff}
.button:active{transform:translateY(1px);box-shadow:0 3px 12px #0878ee30}
@media(prefers-reduced-motion:reduce){.button:active{transform:none}}
