:root{color-scheme:light;--bg: #fffaf6;--surface: #ffffff;--surface-warm: #f7eee7;--ink: #251f1d;--muted: #6b625d;--line: #eaded6;--accent: #c01883;--accent-dark: #8e1766;--champagne: #ead2bf;--radius: 8px;--shadow: 0 22px 60px rgba(65, 43, 31, .12);font-family:Outfit,Satoshi,Avenir Next,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:linear-gradient(135deg,#fffaf6f5,#fffaf6d1),radial-gradient(circle at 15% 8%,rgba(192,24,131,.08),transparent 32%),radial-gradient(circle at 95% 0%,rgba(234,210,191,.65),transparent 34%)}img{max-width:100%;height:auto;display:block}a{color:inherit}main{overflow:hidden}.site-header,.site-footer,.section,.hero,.final-cta{width:min(1180px,calc(100% - 40px));margin-inline:auto}.site-header{min-height:82px;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center}.brand{display:inline-flex;gap:10px;align-items:center;font-weight:800;text-decoration:none;letter-spacing:0}.brand-mark{width:38px;height:38px;border-radius:50%;display:inline-grid;place-items:center;background:var(--ink);color:#fff;font-size:.8rem;line-height:1}.nav,.footer-links{display:flex;gap:22px;align-items:center;justify-content:center;color:var(--muted);font-size:.95rem}.nav a,.footer-links a{text-decoration:none}.nav a:hover,.footer-links a:hover{color:var(--ink)}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border:1px solid var(--accent);border-radius:999px;padding:0 22px;background:var(--accent);color:#fff;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}.button:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.button:active{transform:translateY(1px) scale(.99)}.button-secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button-secondary:hover{color:#fff}.button-small{min-height:40px;padding-inline:18px;font-size:.92rem}.hero{min-height:calc(100dvh - 82px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,72px);align-items:center;padding:clamp(32px,5vw,68px) 0 72px}.hero-copy{max-width:620px}.eyebrow{margin:0 0 14px;color:var(--accent);font-size:.82rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:24px;font-size:clamp(3rem,8vw,6.6rem);line-height:.92;letter-spacing:0}h2{margin-bottom:18px;font-size:clamp(2rem,4vw,4rem);line-height:1;letter-spacing:0}h3{margin-bottom:10px;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.12}p{color:var(--muted);line-height:1.7;font-size:1.03rem}.lead{font-size:clamp(1.08rem,1.8vw,1.25rem);max-width:58ch}.hero-actions,.button-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:28px}.hero-media{position:relative;min-height:520px}.hero-card{position:absolute;inset:0 0 auto auto;width:min(100%,680px);overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow);background:var(--surface)}.hero-card img{width:100%;height:min(64vw,620px);min-height:500px;object-fit:cover}.proof-note{position:absolute;left:-28px;bottom:32px;max-width:290px;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffeb;box-shadow:0 18px 50px #412b1f24}.proof-note p{margin-bottom:0;color:var(--ink);font-weight:760;line-height:1.35}.section{padding:clamp(64px,9vw,122px) 0}.section-header{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:36px;align-items:end;margin-bottom:clamp(32px,5vw,58px)}.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}.service-item{padding:clamp(24px,4vw,42px);border-bottom:1px solid var(--line)}.service-item:nth-child(odd){border-right:1px solid var(--line)}.service-item a{color:var(--accent);font-weight:800;text-decoration:none}.gallery-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:stretch}.gallery-item{overflow:hidden;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}.gallery-item img{width:100%;height:100%;min-height:340px;object-fit:cover}.gallery-stack{display:grid;gap:18px}.gallery-caption{padding:18px}.gallery-caption p{margin:0}.split-band{background:var(--surface-warm);padding:clamp(64px,8vw,100px) 0}.split-inner{width:min(1180px,calc(100% - 40px));margin-inline:auto;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(32px,6vw,84px)}.process-list{counter-reset:process;display:grid;gap:20px}.process-step{counter-increment:process;display:grid;grid-template-columns:54px 1fr;gap:18px}.process-step:before{content:counter(process);width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-weight:900}.testimonial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.testimonial{padding:clamp(28px,5vw,48px);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.testimonial blockquote{margin:0;color:var(--ink);font-size:clamp(1.25rem,2.2vw,1.7rem);line-height:1.35;font-weight:780}.testimonial blockquote:before{content:"“";display:block;margin-bottom:10px;color:var(--accent);font-size:4.4rem;line-height:.75}.testimonial p{margin-top:20px;margin-bottom:0}.faq-list{display:grid;gap:14px}.faq-item{border-top:1px solid var(--line);padding:24px 0}.faq-item:last-child{border-bottom:1px solid var(--line)}.page-hero{width:min(920px,calc(100% - 40px));margin:0 auto;padding:clamp(60px,9vw,116px) 0 clamp(32px,6vw,70px)}.page-hero h1{font-size:clamp(2.9rem,7vw,5.8rem)}.final-cta{margin-top:clamp(48px,8vw,92px);margin-bottom:clamp(56px,8vw,110px);padding:clamp(34px,6vw,68px);border-radius:var(--radius);background:var(--ink);color:#fff}.final-cta p{color:#ffffffc2}.final-cta .eyebrow{color:#ff9bdc}.site-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:start;padding:42px 0 54px;border-top:1px solid var(--line)}.site-footer p{max-width:58ch;margin-top:14px;margin-bottom:0}.footer-links{justify-content:end;flex-wrap:wrap}.enquiry-wrap{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:start}.enquiry-form{display:grid;gap:18px;padding:clamp(24px,4vw,42px);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.enquiry-form label,.enquiry-form fieldset{display:grid;gap:8px;margin:0}.enquiry-form span,.enquiry-form legend{color:var(--ink);font-weight:800}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius);padding:14px;background:#fffdfb;color:var(--ink);font:inherit}.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{outline:3px solid rgba(192,24,131,.18);border-color:var(--accent)}.form-grid,.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.checkbox{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start}.checkbox input{width:auto;margin-top:4px}.form-helper,.form-status{margin:0;font-size:.95rem}.form-status{color:var(--accent-dark);font-weight:800}.notice{padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-warm)}@media(max-width:900px){.site-header{grid-template-columns:1fr auto}.nav{grid-column:1 / -1;justify-content:flex-start;flex-wrap:wrap}.hero,.section-header,.split-inner,.enquiry-wrap,.site-footer{grid-template-columns:1fr}.hero{min-height:auto;padding-top:24px}.hero-media{min-height:auto}.hero-card{position:relative;width:100%}.hero-card img{height:auto;min-height:0}.proof-note{position:relative;left:auto;bottom:auto;max-width:none;margin-top:14px}.gallery-grid,.testimonial-grid,.form-grid,.checkbox-grid,.service-list{grid-template-columns:1fr}.service-item:nth-child(odd){border-right:0}.footer-links{justify-content:start}}@media(max-width:560px){.site-header,.site-footer,.section,.hero,.final-cta,.split-inner,.page-hero{width:min(100% - 28px,1180px)}.site-header{min-height:74px;gap:14px}.site-header .button-small{display:none}.nav{gap:14px;font-size:.9rem}h1{font-size:clamp(2.6rem,16vw,4.6rem)}.hero-actions,.button-row{align-items:stretch}.button{width:100%}.gallery-item img{min-height:260px}}
