:root{--c-bg:#fff5f7;--c-surface-2:#fde8ed;--c-text:#1c0a12;--c-brand:#be123c;--c-accent:#334155;--c-brand-ink:#ffffff;--c-muted:#64748b;--c-border:#fecdd3}*,::before,::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--c-bg);color:var(--c-text);font-family:'Segoe UI',system-ui,-apple-system,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{position:fixed;top:0;left:0;width:auto;height:auto;padding:.5rem 1rem;background:var(--c-brand);color:var(--c-brand-ink);z-index:9999;font-weight:600}a{color:var(--c-brand);text-decoration:underline;text-underline-offset:2px}a:hover{color:var(--c-accent)}a:focus-visible{outline:2px solid var(--c-brand);outline-offset:3px;border-radius:2px}img{max-width:100%;height:auto;display:block}svg{overflow:visible}
/* Header */
.site-header{background:var(--c-bg);border-bottom:1px solid var(--c-border);position:sticky;top:0;z-index:100;padding:.75rem 0}.header-inner{max-width:1140px;margin:0 auto;padding:0 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.logo{font-size:1.25rem;font-weight:700;color:var(--c-brand);text-decoration:none;letter-spacing:-.02em;display:flex;align-items:center;gap:.5rem}.logo-mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--c-brand);border-radius:6px}.logo-mark svg{width:18px;height:18px}
/* Nav */
.nav-toggle{display:none}.site-nav{display:flex;align-items:center;gap:.25rem}.site-nav a{color:var(--c-text);text-decoration:none;font-size:.9375rem;font-weight:500;padding:.4rem .75rem;border-radius:4px;transition:background .15s,color .15s}.site-nav a:hover,.site-nav a[aria-current="page"]{background:var(--c-surface-2);color:var(--c-brand)}.cta-pill{background:var(--c-brand)!important;color:var(--c-brand-ink)!important;padding:.45rem 1rem!important;border-radius:20px!important;font-weight:600!important;transition:background .15s!important}.cta-pill:hover{background:var(--c-accent)!important}
/* Mobile nav */
@media(max-width:767px){.nav-toggle{display:block;background:none;border:none;cursor:pointer;padding:.4rem;color:var(--c-text)}.nav-toggle svg{width:24px;height:24px}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--c-bg);border-bottom:1px solid var(--c-border);flex-direction:column;align-items:flex-start;padding:1rem 1.25rem;gap:.25rem}.site-nav.open{display:flex}.site-nav a{width:100%;padding:.6rem .75rem}}
/* Hero */
.hero{padding:4rem 0 3rem}.hero-inner{max-width:1140px;margin:0 auto;padding:0 1.25rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}@media(max-width:767px){.hero-inner{grid-template-columns:1fr}}.hero-text{}.hero-kicker{display:inline-block;font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-brand);margin-bottom:.75rem}.hero h1{font-size:clamp(2rem,4vw,3.25rem);line-height:1.15;font-weight:800;letter-spacing:-.03em;color:var(--c-text);margin-bottom:1.25rem}.hero-sub{font-size:1.125rem;color:var(--c-muted);line-height:1.6;margin-bottom:2rem;max-width:480px}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.hero-panel{background:var(--c-brand);border-radius:16px;padding:2.5rem 2rem;color:var(--c-brand-ink)}@media(max-width:767px){.hero-panel{display:none}}.hero-panel h2{font-size:1.125rem;font-weight:700;margin-bottom:1.25rem;opacity:.9}.hero-panel ul{list-style:none;display:flex;flex-direction:column;gap:.75rem}.hero-panel li{display:flex;gap:.75rem;align-items:flex-start;font-size:.9375rem;line-height:1.5}.hero-panel li::before{content:'→';flex-shrink:0;opacity:.7;margin-top:.1em}
/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;padding:.7rem 1.5rem;border-radius:6px;text-decoration:none;transition:background .15s,color .15s,box-shadow .15s;cursor:pointer;border:2px solid transparent;line-height:1.2}.btn-primary{background:var(--c-brand);color:var(--c-brand-ink);border-color:var(--c-brand)}.btn-primary:hover{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-brand-ink)}.btn-outline{background:transparent;color:var(--c-brand);border-color:var(--c-brand)}.btn-outline:hover{background:var(--c-brand);color:var(--c-brand-ink)}
/* Trust strip */
.trust-strip{background:var(--c-surface-2);border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border);padding:2rem 0}.trust-inner{max-width:1140px;margin:0 auto;padding:0 1.25rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}@media(max-width:767px){.trust-inner{grid-template-columns:repeat(2,1fr)}}.trust-stat{}.trust-num{font-size:1.75rem;font-weight:800;color:var(--c-brand);letter-spacing:-.03em;line-height:1}.trust-label{font-size:.8125rem;color:var(--c-muted);margin-top:.25rem;line-height:1.4}
/* Section base */
.section{padding:4rem 0}.section-inner{max-width:1140px;margin:0 auto;padding:0 1.25rem}.section-label{font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-brand);margin-bottom:.75rem}.section-title{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.2;margin-bottom:1rem}.section-intro{font-size:1.0625rem;color:var(--c-muted);max-width:580px;line-height:1.65;margin-bottom:2.5rem}
/* Services */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}.service-card{background:var(--c-bg);border:1px solid var(--c-border);border-radius:10px;padding:1.75rem;transition:box-shadow .15s,border-color .15s}.service-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);border-color:var(--c-brand)}.service-card-icon{width:44px;height:44px;background:var(--c-surface-2);border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.service-card-icon svg{width:22px;height:22px;color:var(--c-brand)}.service-card h3{font-size:1.0625rem;font-weight:700;margin-bottom:.5rem}.service-card p{font-size:.9375rem;color:var(--c-muted);line-height:1.55}.service-card a{display:inline-flex;align-items:center;gap:.35rem;font-size:.875rem;font-weight:600;color:var(--c-brand);text-decoration:none;margin-top:1rem}.service-card a:hover{color:var(--c-accent)}
/* About strip */
.about-strip{background:var(--c-surface-2)}.about-inner{max-width:1140px;margin:0 auto;padding:0 1.25rem}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}@media(max-width:767px){.about-grid{grid-template-columns:1fr}}.about-text h2{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:800;letter-spacing:-.03em;margin-bottom:1.25rem}.about-text p{color:var(--c-muted);line-height:1.7;margin-bottom:1rem}.about-text p:last-of-type{margin-bottom:1.5rem}.about-visual{background:var(--c-brand);border-radius:12px;overflow:hidden}.about-visual img{width:100%;height:100%;object-fit:cover;opacity:.85}
/* Process */
.process-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;counter-reset:step}.process-item{counter-increment:step;position:relative}.process-num{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--c-brand);color:var(--c-brand-ink);border-radius:50%;font-size:.875rem;font-weight:800;margin-bottom:1rem}.process-item h3{font-size:1rem;font-weight:700;margin-bottom:.5rem}.process-item p{font-size:.9375rem;color:var(--c-muted);line-height:1.55}
/* Results */
.results-section{background:var(--c-brand);color:var(--c-brand-ink)}.results-section .section-label{color:rgba(255,255,255,.7)}.results-section .section-title{color:var(--c-brand-ink)}.results-section .section-intro{color:rgba(255,255,255,.8)}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.result-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:1.75rem}.result-card p{font-size:.9375rem;line-height:1.65;margin-bottom:1rem}.result-card cite{font-size:.8125rem;opacity:.75;font-style:normal;display:block}.disclaimer{font-size:.75rem;opacity:.6;margin-top:2rem;max-width:600px;line-height:1.5}
/* FAQ */
.faq-list{max-width:700px;display:flex;flex-direction:column;gap:.5rem}.faq-list details{border:1px solid var(--c-border);border-radius:8px;overflow:hidden}.faq-list summary{cursor:pointer;padding:1rem 1.25rem;font-weight:600;font-size:.9375rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;background:var(--c-bg);transition:background .1s}.faq-list summary:hover{background:var(--c-surface-2)}.faq-list summary::after{content:'+';flex-shrink:0;font-size:1.25rem;color:var(--c-brand);transition:transform .2s}.faq-list details[open] summary::after{content:'−'}.faq-list details[open] summary{background:var(--c-surface-2)}.faq-answer{padding:1rem 1.25rem 1.25rem;border-top:1px solid var(--c-border);font-size:.9375rem;color:var(--c-muted);line-height:1.65;background:var(--c-bg)}
/* Lead CTA */
.lead-cta{background:var(--c-surface-2);border-top:1px solid var(--c-border)}.lead-cta-inner{max-width:700px;margin:0 auto;padding:0 1.25rem;text-align:center}.lead-cta h2{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:800;letter-spacing:-.03em;margin-bottom:1rem}.lead-cta p{color:var(--c-muted);margin-bottom:2rem;line-height:1.65}
/* Forms */
.lead-form{max-width:520px;margin:0 auto}.form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.25rem}.form-group label{font-size:.875rem;font-weight:600;color:var(--c-text)}.form-group input,.form-group textarea{font-size:1rem;padding:.65rem .875rem;border:1.5px solid var(--c-border);border-radius:6px;background:var(--c-bg);color:var(--c-text);width:100%;transition:border-color .15s;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--c-brand)}.form-group textarea{resize:vertical;min-height:110px}.form-error{font-size:.8125rem;color:#b91c1c;display:none}.form-error.visible{display:block}.form-submit{width:100%;padding:.8rem;font-size:1rem}.privacy-note{font-size:.8125rem;color:var(--c-muted);margin-top:.75rem;text-align:center}
/* Contact page */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}@media(max-width:767px){.contact-grid{grid-template-columns:1fr}}.contact-info h2{font-size:1.5rem;font-weight:800;margin-bottom:1.25rem}.contact-detail{display:flex;gap:.75rem;align-items:flex-start;margin-bottom:1.25rem;font-size:.9375rem}.contact-detail svg{flex-shrink:0;margin-top:.15em;color:var(--c-brand)}.contact-detail a{color:var(--c-text);text-decoration:none}.contact-detail a:hover{color:var(--c-brand)}.contact-detail address{font-style:normal;line-height:1.5}
/* Page hero */
.page-hero{background:var(--c-surface-2);padding:3.5rem 0;border-bottom:1px solid var(--c-border)}.page-hero-inner{max-width:1140px;margin:0 auto;padding:0 1.25rem}.page-hero .breadcrumb{font-size:.8125rem;color:var(--c-muted);margin-bottom:1rem}.page-hero .breadcrumb a{color:var(--c-brand);text-decoration:none}.page-hero .breadcrumb a:hover{color:var(--c-accent)}.page-hero .breadcrumb span::before{content:' / ';color:var(--c-border)}.page-hero h1{font-size:clamp(1.75rem,4vw,3rem);font-weight:800;letter-spacing:-.03em;line-height:1.2;margin-bottom:.75rem}.page-hero .page-sub{font-size:1.0625rem;color:var(--c-muted);max-width:560px;line-height:1.6}
/* Service page */
.service-intro{padding:3rem 0}.service-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}@media(max-width:767px){.service-intro-grid{grid-template-columns:1fr}}.service-intro-text p{color:var(--c-muted);line-height:1.7;margin-bottom:1rem}.service-intro-text p:last-child{margin-bottom:0}.service-intro-aside{background:var(--c-surface-2);border-radius:10px;padding:1.75rem}.service-intro-aside h3{font-size:1rem;font-weight:700;margin-bottom:1rem}.service-includes{list-style:none;display:flex;flex-direction:column;gap:.6rem}.service-includes li{font-size:.9375rem;color:var(--c-muted);display:flex;gap:.6rem;align-items:flex-start;line-height:1.5}.service-includes li::before{content:'✓';color:var(--c-brand);flex-shrink:0;font-weight:700}.pricing-box{background:var(--c-bg);border:1.5px solid var(--c-brand);border-radius:10px;padding:1.5rem;margin-top:1.5rem}.pricing-box h4{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--c-muted);margin-bottom:.5rem}.pricing-amount{font-size:1.75rem;font-weight:800;color:var(--c-brand);line-height:1.1}.pricing-note{font-size:.8125rem;color:var(--c-muted);margin-top:.35rem;line-height:1.4}
/* Content sections */
.content-section{padding:3rem 0}.content-section+.content-section{padding-top:0}.content-section h2{font-size:1.375rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.875rem}.content-section h3{font-size:1.0625rem;font-weight:700;margin-bottom:.5rem;margin-top:1.5rem}.content-section p{color:var(--c-muted);line-height:1.7;margin-bottom:1rem}.content-section ul,.content-section ol{padding-left:1.5rem;color:var(--c-muted);line-height:1.7;margin-bottom:1rem}.content-section li{margin-bottom:.35rem}
/* Cookie banner */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--c-text);color:var(--c-bg);padding:1.25rem;z-index:1000;display:none;border-top:3px solid var(--c-brand)}.cookie-banner.show{display:block}.cookie-inner{max-width:1140px;margin:0 auto;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}.cookie-text{font-size:.875rem;line-height:1.5;flex:1 1 300px}.cookie-text a{color:var(--c-accent)}.cookie-actions{display:flex;gap:.5rem;flex-wrap:wrap}.cookie-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:600;border-radius:4px;cursor:pointer;border:2px solid transparent;font-family:inherit;transition:background .12s,color .12s}.cookie-accept{background:var(--c-brand);color:var(--c-brand-ink);border-color:var(--c-brand)}.cookie-accept:hover{background:var(--c-accent);border-color:var(--c-accent)}.cookie-reject{background:transparent;color:var(--c-bg);border-color:rgba(255,255,255,.4)}.cookie-reject:hover{border-color:var(--c-bg)}.cookie-customise{background:transparent;color:var(--c-bg);border-color:rgba(255,255,255,.4);text-decoration:underline}.cookie-customise:hover{border-color:var(--c-bg)}
/* Mobile sticky bar */
.mobile-bar{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--c-bg);border-top:1px solid var(--c-border);padding:.75rem 1rem;gap:.75rem;z-index:90}@media(max-width:767px){.mobile-bar{display:flex}}.mobile-bar a{flex:1;padding:.7rem;text-align:center;font-size:.875rem;font-weight:700;border-radius:6px;text-decoration:none}.mobile-bar .mb-call{background:var(--c-surface-2);color:var(--c-brand);border:1.5px solid var(--c-brand)}.mobile-bar .mb-book{background:var(--c-brand);color:var(--c-brand-ink)}
/* Footer */
.site-footer{background:var(--c-text);color:rgba(255,255,255,.7);padding:3rem 0 5rem}@media(min-width:768px){.site-footer{padding-bottom:3rem}}.footer-inner{max-width:1140px;margin:0 auto;padding:0 1.25rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem;margin-bottom:2.5rem}@media(max-width:767px){.footer-grid{grid-template-columns:1fr}}.footer-brand{}.footer-logo{font-size:1.125rem;font-weight:700;color:#fff;margin-bottom:.75rem}.footer-brand-text{font-size:.875rem;line-height:1.6;margin-bottom:1.25rem}.footer-contact-item{font-size:.875rem;margin-bottom:.5rem}.footer-contact-item a{color:rgba(255,255,255,.85);text-decoration:none}.footer-contact-item a:hover{color:#fff}.footer-col h4{font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:.875rem}.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.45rem}.footer-col ul a{font-size:.875rem;color:rgba(255,255,255,.7);text-decoration:none}.footer-col ul a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:center;font-size:.8125rem}.footer-disclaimer{color:rgba(255,255,255,.5);line-height:1.5;font-size:.75rem;margin-top:1rem}
/* About page */
.about-bio p{color:var(--c-muted);line-height:1.75;margin-bottom:1.125rem}.creds-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1.5rem}.cred-card{background:var(--c-surface-2);border-radius:8px;padding:1.25rem}.cred-card h4{font-size:.875rem;font-weight:700;margin-bottom:.35rem}.cred-card p{font-size:.8125rem;color:var(--c-muted);line-height:1.5}
/* Discovery call */
.discovery-intro{max-width:640px}.discovery-what{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin:2rem 0}.discovery-what-item{background:var(--c-surface-2);border-radius:8px;padding:1.25rem}.discovery-what-item h3{font-size:.9375rem;font-weight:700;margin-bottom:.4rem}.discovery-what-item p{font-size:.875rem;color:var(--c-muted);line-height:1.5}
/* Thank you */
.thankyou-card{max-width:540px;margin:0 auto;text-align:center;padding:4rem 0}.thankyou-card h1{font-size:2rem;font-weight:800;margin-bottom:1rem}.thankyou-card p{color:var(--c-muted);line-height:1.7;margin-bottom:1.5rem}
/* 404 */
.not-found{text-align:center;padding:5rem 0}.not-found h1{font-size:clamp(3rem,8vw,6rem);font-weight:800;color:var(--c-brand);line-height:1;margin-bottom:.5rem}.not-found h2{font-size:1.5rem;font-weight:700;margin-bottom:1rem}.not-found p{color:var(--c-muted);margin-bottom:2rem}
/* Legal pages */
.legal-content h2{font-size:1.25rem;font-weight:700;margin:2rem 0 .75rem}.legal-content p,.legal-content li{color:var(--c-muted);line-height:1.75;font-size:.9375rem}.legal-content ul{padding-left:1.5rem;margin-bottom:1rem}.legal-content li{margin-bottom:.35rem}.legal-content a{color:var(--c-brand)}.legal-content strong{color:var(--c-text)}
/* Utility */
.text-centre{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.gap-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
@media(max-width:767px){.section{padding:2.5rem 0}.hero{padding:2.5rem 0 2rem}.hero h1{font-size:1.875rem}}
