:root{--pink:#e9008c;--deep-pink:#bd006e;--action:#d0007c;--ink:#201e20;--muted:#636064;--paper:#faf8f6;--blush:#f9edf3;--line:#e5e0e2;--white:#fff;--max:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--pink);outline-offset:5px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.06;letter-spacing:-.045em}h1{font-size:clamp(48px,5.2vw,70px);font-weight:800}h2{font-size:clamp(35px,4vw,52px);font-weight:750}h3{font-size:25px}p{color:var(--muted)}::selection{background:#f8c2e2;color:var(--ink)}.wrap{width:min(var(--max),calc(100% - 96px));margin:auto}.skip{position:fixed;top:-80px;left:12px;z-index:100;background:var(--ink);color:white;padding:12px}.skip:focus{top:10px}.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:750;text-transform:uppercase;color:var(--deep-pink);display:flex;gap:10px;align-items:center;margin-bottom:22px}.eyebrow:before{content:'';height:6px;width:6px;flex-shrink:0;border-radius:50%;background:var(--pink)}.accent{color:var(--pink)}.serif{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:500}.site-header{background:rgba(255,255,255,.97);position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:94px}.brand{flex:0 0 145px}.brand img{width:145px;height:73px;object-fit:contain}.nav{display:flex;align-items:center;gap:24px}.nav a{font-size:12px;font-weight:650;white-space:nowrap}.nav a:hover,.nav a[aria-current=page]{color:var(--deep-pink)}.nav .btn{font-size:12px;min-height:44px;padding:12px 18px;white-space:nowrap}.nav .btn:hover{color:#fff}.menu-toggle{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:16px 25px;background:var(--action);color:#fff;min-height:54px;font-size:13px;font-weight:700;border:1px solid transparent;border-radius:3px;line-height:1.4;transition:background .15s,transform .15s}.btn:hover{background:var(--deep-pink);transform:translateY(-1px)}.btn-dark{background:var(--ink)}.btn-dark:hover{background:#403b40}.btn-white{background:#fff;color:var(--ink)}.btn-white:hover{background:var(--blush)}.btn-outline{background:transparent;color:var(--ink);border-color:#c9c2c6}.btn-outline:hover{background:#fff}.arrow{font-size:20px;line-height:1}.text-link{display:inline-flex;align-items:center;gap:16px;font-size:13px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:6px}.text-link:hover{color:var(--deep-pink);border-color:var(--pink)}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:65px;align-items:center;padding:48px 0 55px}.hero h1{margin-bottom:24px}.hero .lead{max-width:430px;font-size:16px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:30px;flex-wrap:wrap}.local-note{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted);margin-top:28px;letter-spacing:.01em}.local-note svg{width:15px;height:15px;stroke:var(--pink);flex-shrink:0}.hero-visual{position:relative;margin:0 12px 0 0}.hero-visual:before{content:'';position:absolute;inset:24px -14px -14px 24px;background:var(--pink);border-radius:4px;z-index:-1}.hero-photo{width:100%;height:510px;object-fit:cover;object-position:55% 45%;border-radius:4px;filter:contrast(1.02)}.photo-label{position:absolute;left:-26px;bottom:28px;background:white;padding:19px 24px;border-radius:3px;box-shadow:0 8px 32px #201e2012;max-width:265px}.photo-label .tiny{font-size:10px;letter-spacing:.14em;color:var(--deep-pink);font-weight:700;display:block;margin-bottom:5px}.photo-label strong{font-size:18px;letter-spacing:-.03em}.photo-tag{position:absolute;top:20px;right:20px;background:var(--paper);padding:7px 13px;font-size:10px;font-weight:700;letter-spacing:.05em}.benefit-bar{background:var(--ink);color:white}.benefits{display:flex;align-items:center;justify-content:space-between;padding:22px 0;font-size:12px;font-weight:650;letter-spacing:.1em}.benefits span{display:flex;gap:15px;align-items:center}.benefits b{font-size:20px;color:var(--pink)}.section{padding:92px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:44px;margin-bottom:40px}.section-head h2{max-width:580px}.section-head>p{max-width:320px;font-size:14px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service-card{display:block}.service-image{position:relative;overflow:hidden;margin-bottom:23px;background:#ece6e9}.service-image img{height:243px;width:100%;object-fit:cover;transition:transform .35s}.service-card:hover img{transform:scale(1.035)}.service-card h3{font-size:25px;margin-bottom:11px}.service-card p{font-size:14px;line-height:1.8;max-width:340px;margin-bottom:17px}.service-card .num{position:absolute;left:15px;top:15px;background:#fff;width:30px;height:30px;display:grid;place-items:center;font-size:11px;font-weight:700}.service-card .text-link{font-size:12px}.soft{background:var(--blush)}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.story-photo{position:relative}.story-photo img{width:100%;height:480px;object-fit:cover;object-position:30% center;border-radius:3px}.story-photo .quote-note{position:absolute;bottom:-22px;right:-24px;background:var(--ink);color:#fff;padding:22px 27px;font-family:Georgia,serif;font-style:italic;font-size:22px;max-width:260px;line-height:1.3}.story-copy h2{margin-bottom:24px}.story-copy p{font-size:15px;margin-bottom:18px}.story-copy .text-link{margin-top:8px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.step{border-top:1px solid var(--line);padding-top:24px}.step-number{font-family:Georgia,serif;font-style:italic;color:var(--pink);font-size:35px;margin-bottom:18px;line-height:1}.step h3{font-size:22px;margin-bottom:14px}.step p{font-size:14px;max-width:310px}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.quote-card{margin:0;padding:29px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}.quote-mark{font-family:Georgia,serif;font-size:58px;color:var(--pink);line-height:1;height:44px}.quote-card blockquote{margin:0 0 25px;font-size:16px;color:var(--ink);line-height:1.8}.quote-card figcaption{margin-top:auto;font-size:12px;font-weight:700}.quote-card figcaption span{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:4px}.testimony-note{font-size:11px;color:var(--muted);margin-top:20px}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-intro h2{margin-bottom:20px}.faq-intro p{font-size:14px;max-width:280px;margin-bottom:24px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;position:relative;font-size:15px;font-weight:650;line-height:1.5}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:4px;top:19px;font-size:24px;color:var(--deep-pink);font-weight:400}details[open] summary:after{content:'−'}details p{padding:0 36px 22px 0;font-size:14px;line-height:1.8}details p a{text-decoration:underline;text-underline-offset:3px}.cta-band{background:var(--action);color:#fff;padding:64px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta-inner h2{font-size:clamp(35px,3.8vw,48px);max-width:620px}.cta-inner p{color:white;opacity:.95;margin-top:14px;font-size:14px}.cta-inner .btn{flex-shrink:0}.site-footer{background:#fff;padding:50px 0 22px}.footer-main{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:35px;padding-bottom:34px}.footer-brand img{width:145px;height:73px;object-fit:contain;margin-bottom:12px}.footer-brand p{max-width:220px;font-size:12px}.footer-col h2{font-size:11px;letter-spacing:.12em;line-height:1.7;text-transform:uppercase;margin:10px 0 16px}.footer-col a{display:block;font-size:12px;margin-bottom:8px}.footer-col a:hover{color:var(--deep-pink)}.footer-col p{font-size:12px}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;padding-top:20px;font-size:10px;color:var(--muted)}.breadcrumb{padding-top:28px;display:flex;gap:10px;font-size:11px;color:var(--muted);flex-wrap:wrap}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.inner-hero{padding:42px 0 68px;display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center}.inner-hero h1{font-size:clamp(44px,5.2vw,68px);margin-bottom:24px}.inner-hero p{font-size:16px;line-height:1.9;max-width:500px}.inner-hero .inner-img{width:100%;height:430px;object-fit:cover;border-radius:4px;object-position:35% center}.page-intro{padding:50px 0 55px;max-width:800px}.page-intro h1{font-size:clamp(44px,5.5vw,70px);margin-bottom:24px}.page-intro p{font-size:17px;line-height:1.9;max-width:670px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.detail{border-top:1px solid #d7cdd3;padding-top:23px}.detail h3{font-size:23px;margin-bottom:16px}.detail p{font-size:14px}.checklist{padding:0;list-style:none;margin:24px 0}.checklist li{position:relative;padding-left:26px;margin-bottom:13px;font-size:14px}.checklist li:before{content:'✓';position:absolute;left:0;color:var(--deep-pink);font-weight:700}.focus-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 42px}.focus-item{padding:23px 0;border-top:1px solid var(--line);font-size:17px;font-weight:600;letter-spacing:-.02em}.focus-item span{color:var(--deep-pink);margin-right:16px;font-size:12px}.full-quote{font-family:Georgia,serif;font-style:italic;font-size:clamp(30px,4vw,46px);max-width:860px;margin:auto;text-align:center;line-height:1.35;letter-spacing:-.02em}.story-long{max-width:770px;margin:0 auto}.story-long h2{margin-bottom:24px}.story-long p{margin-bottom:20px;font-size:16px;line-height:1.9}.gallery-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px}.gallery-pair img{height:340px;width:100%;object-fit:cover;border-radius:3px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;padding-bottom:80px}.contact-card{background:white;border:1px solid var(--line);padding:36px}.contact-card h2{font-size:28px;margin-bottom:16px}.contact-card>p{font-size:14px;margin-bottom:25px}.contact-option{display:flex;align-items:center;gap:18px;padding:22px 0;border-top:1px solid var(--line)}.contact-option svg{width:23px;height:23px;stroke:var(--pink);fill:none;stroke-width:1.5;flex-shrink:0}.contact-option small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:5px}.contact-option a{font-size:16px;font-weight:700;overflow-wrap:anywhere}.contact-card .btn{margin-top:15px;width:100%}.contact-card .small-note{font-size:11px;margin-top:17px;margin-bottom:0}.contact-points h2{font-size:29px;margin:6px 0 30px}.mini-step{display:flex;gap:20px;padding:0 0 30px}.mini-step>b{background:var(--blush);color:var(--deep-pink);height:37px;width:37px;flex:0 0 37px;display:grid;place-items:center;border-radius:50%;font-size:12px}.mini-step h3{font-size:18px;margin:6px 0 10px}.mini-step p{font-size:14px}.availability{padding:25px;background:var(--blush);margin-top:5px}.availability h3{font-size:18px;margin-bottom:10px}.availability p{font-size:13px}.reviews-page{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding-bottom:80px}.reviews-page blockquote p{font-size:15px;color:var(--ink);margin-bottom:15px}.faq-page{max-width:850px;padding-bottom:80px}.faq-page summary{font-size:18px}.related{margin-top:44px;border-top:1px solid var(--line);padding-top:30px;display:flex;gap:25px;flex-wrap:wrap}.related a{font-size:13px;text-decoration:underline;text-underline-offset:4px}.not-found{padding:100px 0;text-align:center}.not-found p{margin:25px auto;max-width:450px}.not-found h1{font-size:60px}
@media(min-width:1500px){.hero{padding-top:75px;padding-bottom:80px}.hero-photo{height:605px}}
@media(max-width:1120px){.wrap{width:calc(100% - 64px)}.nav{gap:16px}.nav a{font-size:11px}.brand{flex-basis:126px}.brand img{width:126px}.hero{gap:38px}.hero-photo{height:525px}.hero-actions{gap:20px}.hero-actions .btn{padding:15px 18px}.split{gap:55px}.section{padding:75px 0}.faq-layout{gap:50px}.inner-hero{gap:40px}.footer-main{grid-template-columns:1.2fr 1fr 1fr}.footer-col:last-child{grid-column:2/4}.nav .btn{padding:12px}.photo-label{left:-15px}}
@media(max-width:900px){.header-inner{min-height:82px}.brand img{height:65px;width:130px}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:1px solid var(--line);padding:10px 14px;border-radius:3px;font-size:12px;font-weight:700}.menu-toggle span{font-size:17px}.nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:20px 32px 28px;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 82px);overflow-y:auto}.nav.is-open{display:flex}.nav a{padding:14px 0;font-size:15px}.nav .btn{margin-top:14px}.hero h1{font-size:62px}.hero{gap:30px;grid-template-columns:1fr 1fr}.hero-photo{height:510px}.hero .lead{font-size:14px}.hero-actions{align-items:start;flex-direction:column;gap:20px}.hero-actions .text-link{margin-left:0}.photo-label{padding:14px 18px;left:-12px;bottom:24px}.photo-label strong{font-size:16px}.benefits{font-size:10px}.benefits span{gap:10px}.service-image img{height:195px}.service-card h3{font-size:22px}.services{gap:22px}.split{gap:35px}.story-photo img{height:440px}.story-photo .quote-note{right:-10px;padding:17px 22px;font-size:20px}.section-head{gap:28px}.section-head>p{max-width:270px}.steps{gap:30px}.testimonial-grid{gap:16px}.quote-card{padding:23px}.quote-card blockquote{font-size:14px}.cta-inner .btn{padding:15px 18px}.inner-hero{grid-template-columns:1fr 1fr}.inner-hero .inner-img{height:400px}.contact-layout{gap:35px}.contact-card{padding:26px}.contact-option a{font-size:14px}}
@media(max-width:650px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:76px}.brand img{height:60px;width:120px}.nav{top:76px;padding:14px 20px 24px}html{scroll-padding-top:90px}.hero{grid-template-columns:1fr;padding:40px 0 46px;gap:34px}.eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:20px}.hero h1{font-size:clamp(39px,10vw,50px);margin-bottom:20px}.hero .lead{font-size:15px;max-width:440px}.hero-actions{flex-direction:row;align-items:center;gap:18px;margin-top:26px}.hero-actions .btn{padding:15px;font-size:12px;gap:16px}.hero-actions .text-link{font-size:12px}.local-note{margin-top:24px;font-size:10px}.hero-visual{margin-right:10px}.hero-photo{height:410px;object-position:50% 37%}.hero-visual:before{inset:18px -10px -10px 18px}.photo-label{left:14px;bottom:20px;max-width:250px}.photo-tag{top:15px;right:15px}.benefits{padding:16px 0;gap:14px;font-size:8px;letter-spacing:.06em}.benefits span{gap:6px}.benefits b{font-size:15px}.section{padding:58px 0}.section-head{display:block;margin-bottom:30px}.section-head h2{font-size:35px}.section-head>p{margin-top:19px;max-width:400px;font-size:14px}.services{grid-template-columns:1fr;gap:37px}.service-image img{height:245px}.service-card h3{font-size:26px}.service-card p{max-width:100%}.service-image{margin-bottom:20px}.split{grid-template-columns:1fr;gap:47px}.story-photo img{height:340px;object-position:30% 43%}.story-photo .quote-note{right:12px;bottom:-18px;font-size:20px;max-width:230px}.story-copy h2{font-size:36px}.steps{grid-template-columns:1fr;gap:27px}.step{display:grid;grid-template-columns:40px 1fr;gap:0 18px;padding-top:20px}.step-number{grid-row:1/3;font-size:30px}.step h3{font-size:22px;margin-bottom:10px}.step p{grid-column:2;max-width:none}.testimonial-grid{grid-template-columns:1fr;gap:17px}.quote-card{padding:25px}.quote-card blockquote{font-size:16px;margin-bottom:20px}.faq-layout{grid-template-columns:1fr;gap:30px}.faq-intro p{max-width:400px}.faq-intro h2{font-size:35px}.cta-inner{display:block}.cta-inner h2{font-size:36px;max-width:400px}.cta-inner p{font-size:14px}.cta-inner .btn{margin-top:27px}.cta-band{padding:45px 0}.footer-main{grid-template-columns:1fr 1fr;gap:25px 30px}.footer-brand{grid-column:1/3}.footer-brand p{max-width:340px}.footer-brand img{margin-bottom:5px}.footer-col:last-child{grid-column:1/3}.footer-bottom{flex-direction:column;gap:8px}.site-footer{padding-top:32px}.inner-hero{grid-template-columns:1fr;gap:32px;padding:35px 0 45px}.inner-hero h1{font-size:47px}.inner-hero p{font-size:15px}.inner-hero .inner-img{height:330px}.breadcrumb{font-size:10px;padding-top:23px}.detail-grid{grid-template-columns:1fr;gap:30px}.detail h3{font-size:24px}.detail p{font-size:14px}.focus-grid{grid-template-columns:1fr}.focus-item{font-size:17px}.gallery-pair{grid-template-columns:1fr;gap:20px}.gallery-pair img{height:280px}.page-intro{padding:35px 0 38px}.page-intro h1{font-size:47px}.page-intro p{font-size:15px}.contact-layout{grid-template-columns:1fr;gap:38px;padding-bottom:50px}.contact-card{padding:26px}.contact-option a{font-size:16px}.contact-points h2{font-size:28px}.reviews-page{grid-template-columns:1fr;padding-bottom:50px}.reviews-page .quote-card{padding:26px}.faq-page{padding-bottom:55px}.faq-page summary{font-size:16px}.story-long p{font-size:15px}.full-quote{font-size:31px}.related{gap:18px}.not-found h1{font-size:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.split>.inner-img{width:100%;height:440px;object-fit:cover;border-radius:3px}@media(max-width:650px){.split>.inner-img{height:300px}}

.service-image img[src*="elfi-portrait"]{object-position:center 18%}
[hidden]{display:none!important}.form-row{margin-bottom:20px}.form-row label{display:block;font-size:12px;font-weight:700;margin-bottom:8px;line-height:1.5}.form-row label span{font-weight:400;color:var(--muted);font-size:11px}.form-row input,.form-row select,.form-row textarea{display:block;width:100%;border:1px solid #cfc8cc;border-radius:3px;background:var(--paper);color:var(--ink);padding:12px;font-size:14px;line-height:1.5}.form-row textarea{resize:vertical;min-height:130px}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:2px solid var(--deep-pink);outline-offset:2px}.form-row textarea::placeholder{color:#706970}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}#enquiry-form{margin-bottom:28px}#enquiry-form>.btn{cursor:pointer}.form-status{background:var(--blush);padding:15px;font-size:13px;margin-top:18px!important}.contact-card #email-draft{font-size:12px;margin-top:18px}.contact-card #email-explainer{margin-top:0}.contact-card .contact-option a{font-size:14px}@media(max-width:900px){.form-columns{grid-template-columns:1fr;gap:0}}@media(max-width:650px){.form-row input,.form-row select,.form-row textarea{font-size:16px}}
