:root{font-family:Montserrat,Arial,sans-serif;color:#f6f6f8;background:#0d0e12;font-size:16px;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.wrap{max-width:1160px;margin:auto;padding:0 24px}.center{text-align:center}header{position:sticky;top:0;z-index:10;background:#0e0f13d9;backdrop-filter:blur(16px);border-bottom:1px solid #ffffff12}nav{height:72px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:900;font-size:1.35rem}.brand span,em,.eyebrow{color:#5e7dff}em{font-style:normal}.button{display:inline-flex;justify-content:center;align-items:center;border:0;background:#5678ff;color:#fff;border-radius:999px;padding:17px 27px;font-weight:800;box-shadow:0 10px 30px #344bd34d;transition:.2s}.button:hover{background:#7390ff;transform:translateY(-2px)}.button.small{padding:11px 20px;font-size:.78rem}.outline{display:inline-flex;border:1px solid #4a4d61;border-radius:999px;padding:16px 26px;font-weight:700}.outline:hover{border-color:#6784ff}.hero{min-height:100vh;display:flex;align-items:center;padding:76px 0 95px;background:radial-gradient(ellipse at 49% 27%,#18234d 0,#111525 31%,#0d0e12 70%)}h1{font-size:clamp(2.65rem,5.4vw,5rem);line-height:.98;letter-spacing:-.065em;max-width:850px;margin:0 auto 28px;font-weight:800}h2{font-size:clamp(2.25rem,4vw,3.7rem);line-height:1.13;letter-spacing:-.055em;margin:15px auto 24px;max-width:820px}h3{font-size:1.5rem;letter-spacing:-.04em;margin:0 0 13px}.lead{color:#a5a8b5;line-height:1.8;max-width:630px;margin:0 auto 35px;font-size:1.1rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:800}.pill{display:inline-block;padding:8px 18px;border:1px solid #354383;border-radius:99px;background:#26305a77}.down{font-size:1.8rem;color:#5e7dff;margin:4px 0 12px}.hero-video{position:relative;display:block;width:min(720px,100%);aspect-ratio:16/9;margin:auto;border:1px solid #272a3c;border-radius:18px;overflow:hidden;background:#07080d;padding:0;box-shadow:0 30px 60px #0007}.hero-video img{width:100%;height:100%;object-fit:cover}.play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:78px;height:78px;border-radius:50%;background:#5578ff;display:grid;place-items:center;font-size:1.6rem;padding-left:5px}.duration{position:absolute;bottom:16px;left:18px;background:#080912cc;padding:7px 11px;border-radius:5px;font-weight:700;font-size:.78rem}.actions{display:flex;justify-content:center;gap:16px;margin-top:30px;flex-wrap:wrap}.section{padding:104px 0}.shaded{background:#11131b}.intro{color:#a6a9b8;line-height:1.75;max-width:780px;margin:0 auto 36px}.compare{display:grid;grid-template-columns:1fr 1fr;gap:24px;text-align:left;margin-top:60px}.panel{border:1px solid #30313d;background:#15161d;border-radius:22px;padding:38px}.panel.bright{border-color:#3b50ac;background:linear-gradient(145deg,#182247,#121624)}.panel>p,.item p,.steps p{color:#a5a8b5;line-height:1.65}.item{padding:20px 0;border-top:1px solid #ffffff18}.item:first-of-type{margin-top:28px}.item b{color:#f4f5f9}.item p{margin:8px 0 0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:54px 0 42px;text-align:left}.steps article{background:#1a1c28;border:1px solid #2a304d;border-radius:18px;padding:28px 22px}.steps span{color:#6f8cff;font-weight:900}.steps h3{margin:20px 0 10px}.steps p{font-size:.92rem}.focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:48px}.focus-grid div{background:#191b25;border:1px solid #2b2d3c;border-radius:14px;padding:25px 14px;font-weight:700}.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}.testimonial{border:0;background:#1a1d28;padding:0;color:white;text-align:left;border-radius:16px;overflow:hidden}.testimonial img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}.testimonial div{padding:16px}.testimonial small{display:block;color:#aeb3c3;margin-top:7px}.messages{columns:3;column-gap:16px;margin-top:45px;text-align:left}.messages img{width:100%;height:auto;border:8px solid #1b1d29;border-radius:14px;margin-bottom:16px;break-inside:avoid;display:block}.form{max-width:610px;margin:40px auto 0;background:#191b26;border:1px solid #33364a;border-radius:22px;padding:38px;text-align:left}.form label{display:block;font-size:.9rem;font-weight:700;margin-bottom:22px}.form input,.form textarea{display:block;width:100%;margin-top:9px;background:#10121b;color:white;border:1px solid #3c3e50;border-radius:10px;padding:14px;outline:none}.form input:focus,.form textarea:focus{border-color:#6e88ff}.form button{width:100%}.form p{text-align:center;color:#a7a9b8;font-size:.8rem;margin:19px 0 0}footer{padding:46px 0;border-top:1px solid #ffffff18}footer .wrap{display:flex;justify-content:space-between;gap:20px}footer small{display:block;color:#9296a7;margin-top:8px}footer a{margin-left:20px;color:#b9bed0}dialog{width:min(900px,94vw);padding:0;border:1px solid #3e4564;border-radius:16px;background:#070811;color:white;overflow:visible}dialog::backdrop{background:#000d;backdrop-filter:blur(5px)}#video-player{aspect-ratio:16/9}#video-player iframe{width:100%;height:100%;border:0}.close{position:absolute;right:-10px;top:-48px;background:none;color:white;border:0;font-size:2.5rem}@media(max-width:850px){.steps{grid-template-columns:repeat(2,1fr)}.testimonials{grid-template-columns:repeat(2,1fr)}.messages{columns:2}}@media(max-width:620px){nav{height:64px}.button.small{font-size:.67rem;padding:10px 12px}.hero{min-height:auto;padding:90px 0 72px}h1{font-size:clamp(2.4rem,10vw,3.7rem);line-height:1.06}.lead{font-size:1rem}.eyebrow{font-size:.65rem}.section{padding:72px 0}.compare,.steps{grid-template-columns:1fr}.panel{padding:25px}.focus-grid{grid-template-columns:repeat(2,1fr)}.focus-grid div{padding:20px 10px;font-size:.85rem}.testimonials{grid-template-columns:1fr}.messages{columns:2;column-gap:8px}.messages img{border-width:4px;margin-bottom:8px}.form{padding:24px}footer .wrap{flex-direction:column}footer a{margin:0 18px 0 0}}

/* Darker visual system with restrained blue light and more open Montserrat type. */
:root{background:#08090c}
body{font-weight:400;line-height:1.65;background:#08090c}
header{background:#08090ce8}
.hero{background:radial-gradient(ellipse 68% 46% at 50% 24%,#111a31 0%,#0b0f1b 43%,#08090c 100%)}
.shaded{background:linear-gradient(135deg,#0a0b0f 0%,#0c101a 54%,#090a0e 100%)}
h1{font-weight:700;letter-spacing:-.038em;line-height:1.12;max-width:910px}
h2{font-weight:700;letter-spacing:-.035em;line-height:1.2}
h3{font-weight:600;letter-spacing:-.02em;line-height:1.35}
.brand{font-weight:700;letter-spacing:-.025em}
.eyebrow{font-weight:600;letter-spacing:.15em}
.button,.outline{font-weight:600;letter-spacing:.01em}
.lead,.intro{line-height:1.85}
.panel,.steps article,.focus-grid div,.testimonial,.form{background:#101219;border-color:#292d3b}
.panel.bright{background:linear-gradient(140deg,#111a2d,#0e121b);border-color:#34446e}
.form input,.form textarea{background:#0a0c12}
.item b,.focus-grid div,.form label{font-weight:600}
.steps span{font-weight:700}
.messages img{border-color:#11141d}
@media(max-width:620px){h1{line-height:1.15;letter-spacing:-.035em}h2{line-height:1.22}}

.hero .lead{color:#d7dbea;font-size:clamp(1.06rem,1.7vw,1.24rem);font-weight:500;line-height:1.8;max-width:720px;text-wrap:balance}
.video-cta{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:14px;max-width:100%;margin:0 auto 22px;padding:15px 22px;border:1px solid #6685ff;border-radius:999px;background:linear-gradient(110deg,#21366d,#3457bd,#21366d);background-size:220% 100%;color:#fff;font-size:.83rem;font-weight:700;line-height:1.4;letter-spacing:.025em;text-align:center;box-shadow:0 0 0 0 #5778ff55,0 14px 35px #142a7460;animation:cta-glow 3s ease-in-out infinite,cta-shift 6s linear infinite;transition:transform .2s,box-shadow .2s}
.video-cta:hover{transform:translateY(-3px);box-shadow:0 0 0 5px #5778ff28,0 18px 40px #1d398a85}
.video-cta span{font-size:1.1rem;line-height:1;animation:cta-arrow 1.8s ease-in-out infinite}
.video-cta:focus-visible{outline:3px solid #fff;outline-offset:4px}
.focus-cta{margin-top:38px}
@keyframes cta-glow{50%{box-shadow:0 0 0 6px #5778ff20,0 14px 40px #274cab75}}
@keyframes cta-shift{to{background-position:220% 0}}
@keyframes cta-arrow{50%{transform:translateY(4px)}}
@media(max-width:620px){.video-cta{font-size:.75rem;padding:14px 17px}.hero .lead{font-size:1.05rem}}
@media(prefers-reduced-motion:reduce){.video-cta,.video-cta span{animation:none}}

nav .button.small{max-width:270px;text-align:center;line-height:1.3}
@media(max-width:620px){nav{height:auto;min-height:64px;gap:12px;padding-top:10px;padding-bottom:10px}nav .button.small{max-width:205px;font-size:.68rem;padding:10px 12px}}

.client-quotes{background:linear-gradient(180deg,#08090c,#0b0e16 55%,#08090c)}
.client-quotes h2{max-width:850px}
 .quote-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;max-width:850px;margin:50px auto 38px;text-align:left}
.quote-card{padding:5px;overflow:hidden;border:1px solid #b9ceff33;border-radius:22px;background:linear-gradient(145deg,#ffffff16,#7499ff08 55%,#ffffff0b);backdrop-filter:blur(12px);box-shadow:0 18px 40px #0008,0 3px 12px #6c8cff12,inset 0 1px 0 #ffffff30}
.quote-card img{display:block;width:100%;height:auto;border-radius:17px;background:#080b12}
@media(max-width:620px){.client-quotes .wrap{padding:0 16px}.quote-grid{gap:20px;margin:36px auto 32px}.quote-card{padding:3px;border-radius:16px;box-shadow:0 12px 28px #0008,0 2px 8px #6c8cff12,inset 0 1px 0 #ffffff30}.quote-card img{border-radius:12px}}

/* The booking action carries the motion; the video prompt stays quiet. */
.button{background:linear-gradient(110deg,#244dcc 0%,#527aff 48%,#244dcc 100%);background-size:220% 100%;color:#fff;box-shadow:0 0 0 0 #527aff4d,0 12px 30px #244dcc66;animation:audit-glow 3s ease-in-out infinite,audit-shift 6s linear infinite}
.button:hover{background:linear-gradient(110deg,#315ddb,#698cff,#315ddb);background-size:220% 100%;box-shadow:0 0 0 5px #527aff29,0 17px 38px #244dcc76}
.button:focus-visible{outline:3px solid #fff;outline-offset:4px}
.button:disabled{animation:none;opacity:.7;cursor:wait}
.video-cta{background:#1b2b57;background-size:auto;box-shadow:0 8px 22px #101a3e4d;animation:none}
.video-cta span{animation:none}
.video-cta:hover{box-shadow:0 10px 26px #17295d70}
@keyframes audit-glow{50%{box-shadow:0 0 0 6px #527aff28,0 15px 38px #244dcc78}}
@keyframes audit-shift{to{background-position:220% 0}}
@media(prefers-reduced-motion:reduce){.button{animation:none}}

.video-cta{padding:0 0 8px;border:0;border-bottom:1px solid #6986f4;border-radius:0;background:transparent;box-shadow:none;color:#f4f6ff}
.video-cta:hover{background:transparent;box-shadow:none;color:#a8b9ff}

/* One connected before-to-after comparison. */
.compare{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;overflow:hidden;border:1px solid #30384c;border-radius:22px;background:#101219}
.compare .panel{min-width:0;padding:38px;border:0;border-radius:0;background:transparent}
.compare .panel.bright{border:0;background:linear-gradient(125deg,#131b2e,#101622)}
.transition-arrow{display:grid;place-items:center;align-self:center;justify-self:center;width:52px;height:52px;border-radius:50%;background:#587bff;color:#fff;font-size:2rem;font-weight:600;line-height:1;box-shadow:0 0 25px #4368ff55}
@media(max-width:800px){.compare{grid-template-columns:1fr}.compare .panel{padding:28px}.transition-arrow{position:relative;z-index:1;margin:-15px auto;transform:rotate(90deg)}}

/* Frame the original logo above its programme subtitle. */
.brand-logo{display:block;flex-shrink:0;width:115px;line-height:0;mix-blend-mode:screen}
.logo-window{display:block;position:relative;overflow:hidden;width:100%;aspect-ratio:1105/388}
.logo-window img{position:absolute;display:block;max-width:none;width:144.796%;height:auto;left:-20.814%;top:-136.598%}
@media(max-width:620px){.brand-logo{width:95px}nav .button.small{max-width:175px;font-size:.65rem}}
@media(max-width:360px){.brand-logo{width:85px}nav .button.small{max-width:150px}}

/* A single, easy-to-scroll column of video testimonials. */
#results .testimonials{grid-template-columns:minmax(0,1fr);max-width:760px;margin:44px auto 0;gap:26px}
#results .testimonial{width:100%;border:1px solid #b9ceff28;border-radius:20px;background:linear-gradient(145deg,#171c29,#101219);box-shadow:0 14px 32px #0006,inset 0 1px 0 #ffffff18;transition:transform .2s ease,border-color .2s ease}
#results .testimonial:hover{transform:translateY(-3px);border-color:#789aff80}
#results .testimonial:focus-visible{outline:3px solid #8ba5ff;outline-offset:5px}
.testimonial-preview{position:relative;display:block;overflow:hidden}
#results .testimonial img{aspect-ratio:16/9;object-fit:cover}
.testimonial-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:64px;height:64px;padding-left:4px;border:1px solid #ffffff60;border-radius:50%;background:#355ddde6;color:white;font-size:1.4rem;box-shadow:0 8px 26px #0008}
#results .testimonial div{padding:18px 22px}
@media(max-width:620px){#results .testimonials{gap:20px}#results .testimonial{border-radius:16px}.testimonial-play{width:52px;height:52px;font-size:1.15rem}}
@media(prefers-reduced-motion:reduce){#results .testimonial{transition:none}#results .testimonial:hover{transform:none}}

/* Thumbnail-only video cards with a restrained invitation to play. */
#results .testimonial{animation:testimonial-glow 4s ease-in-out infinite}
#results .testimonial:nth-child(even){animation-delay:-2s}
@keyframes testimonial-glow{0%,100%{box-shadow:0 12px 28px #0006,0 0 8px #527aff12;border-color:#b9ceff28}50%{box-shadow:0 12px 28px #0006,0 0 20px #527aff38;border-color:#789aff75}}
@media(max-width:620px){#results .wrap{padding:0 16px}#results .testimonials{margin-top:30px;gap:22px}#results .testimonial{border-radius:14px}.testimonial-play{width:56px;height:56px}dialog{width:calc(100vw - 24px);max-width:900px}.close{right:0;top:-48px;width:44px;height:44px;line-height:1}}
@media(prefers-reduced-motion:reduce){#results .testimonial{animation:none;box-shadow:0 12px 28px #0006,0 0 12px #527aff25}}

/* Portrait artwork and players match the vertical testimonial videos. */
#results .testimonials{max-width:280px}
#results .testimonial-preview{aspect-ratio:9/16;background:#08090c}
#results .testimonial img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;object-position:center}
dialog.portrait-video{width:min(390px,calc(100vw - 24px),calc((100dvh - 90px)*9/16));max-height:calc(100dvh - 90px)}
dialog.portrait-video #video-player{aspect-ratio:9/16}
dialog.portrait-video #video-player iframe{display:block}

@media(max-width:620px){#results .testimonials{max-width:250px}.testimonial-play{width:48px;height:48px;font-size:1.05rem}}

.vsl-player video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.vsl-sound{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max-content;max-width:90%;padding:15px 22px;border:1px solid #9bb4ff80;border-radius:999px;background:#244dcced;color:#fff;font-weight:600;font-size:.88rem;box-shadow:0 10px 28px #0008;cursor:pointer}
.vsl-sound[hidden]{display:none}
.vsl-sound:focus-visible{outline:3px solid white;outline-offset:4px}
@media(max-width:620px){.vsl-sound{font-size:.72rem;padding:12px 16px}}

body.booking-open{overflow:hidden}
#booking-modal{width:min(1000px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:hidden;border-radius:20px;background:#101421;box-shadow:0 24px 90px #0009}
.booking-heading{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;gap:12px}
.booking-heading h2{font-size:1.1rem;letter-spacing:0;font-weight:500;margin:0;text-align:left}
.booking-close{width:44px;height:44px;border:0;border-radius:50%;background:#ffffff10;color:#fff;font-size:1.8rem;flex-shrink:0}
#booking-calendar{background:#fff;height:min(680px,calc(100dvh - 160px))}
#booking-calendar iframe{width:100%;height:100%;display:block;border:0}
.booking-fallback{text-align:center;margin:0;padding:12px;font-size:.75rem;color:#c5d0ff;text-decoration:underline}
@media(max-width:620px){#booking-modal{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:14px}.booking-heading{padding:8px 12px}.booking-heading h2{font-size:.9rem}#booking-calendar{height:calc(100dvh - 130px)}}

.hero{min-height:0;display:block;padding:36px 0 64px}
.hero>.wrap{width:100%}
.hero h1{font-size:clamp(2rem,4.1vw,3.6rem);line-height:1.16;letter-spacing:-.025em;margin-bottom:18px;max-width:960px}
.headline-line{display:block}
.headline-phrase{white-space:nowrap}
.mobile-break{display:none}
.hero .lead{font-size:1rem;line-height:1.6;margin-bottom:16px;max-width:690px}
.hero .video-cta{margin-bottom:16px}
.hero .actions{margin-top:22px}
@media(max-width:620px){.hero{padding:22px 0 40px}.hero>.wrap{padding:0 18px}.hero h1{font-size:clamp(1.5rem,6.8vw,2.1rem);font-weight:600;line-height:1.18;letter-spacing:-.015em;margin-bottom:14px}.mobile-break{display:block}.hero .lead{font-size:.85rem;line-height:1.5;margin-bottom:10px}.hero .video-cta{font-size:.75rem;line-height:1.5;margin-bottom:12px}.hero .actions{margin-top:18px}}

.hero h1{font-weight:700;font-size:clamp(1.9rem,3.9vw,3.4rem)}
@media(max-width:620px){.hero h1{font-size:clamp(1.4rem,6.3vw,1.95rem);font-weight:700;line-height:1.2;letter-spacing:-.01em}}

.hero h1{max-width:1100px;font-size:clamp(2rem,4.4vw,3.8rem)}
.video-cta-line{display:block}
@media(max-width:620px){.hero>.wrap{padding-left:12px;padding-right:12px}.hero h1{font-size:clamp(1.55rem,7.4vw,2.35rem)}.hero .video-cta{line-height:1.55}.video-cta-line{white-space:nowrap}}

.hero .video-cta{display:inline-flex;flex-direction:column;gap:4px;align-items:center}
.hero .video-cta .video-cta-line{display:block;font-size:inherit;line-height:1.5;white-space:nowrap}
@media(max-width:620px){.hero .video-cta{font-size:clamp(.65rem,2.65vw,.8rem);letter-spacing:0}}

@media(max-width:620px){.hero h1{line-height:1.3;letter-spacing:.005em;margin-bottom:20px}.hero .lead{line-height:1.65;margin-bottom:18px}.hero .video-cta{gap:7px;margin-bottom:18px}.hero .video-cta .video-cta-line{line-height:1.55}}
