:root{--pink:#e74782;--pink-dark:#b92760;--cream:#fffaf4;--ink:#193126;--green:#315b42;--lime:#d9ee84;--white:#fff;--line:rgba(25,49,38,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.65}a{color:inherit}.topbar{height:82px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:var(--cream);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;letter-spacing:-.02em}.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--pink);color:white;font-family:"Playfair Display",serif;font-size:15px}.topbar nav{display:flex;align-items:center;gap:28px}.topbar nav a{text-decoration:none;font-weight:600;font-size:.92rem}.nav-button{border:1px solid var(--ink);border-radius:999px;padding:9px 17px}.hero{min-height:calc(100vh - 82px);position:relative;display:flex;align-items:center;overflow:hidden;background:var(--green)}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(16,40,27,.9) 0%,rgba(16,40,27,.68) 38%,rgba(16,40,27,.05) 75%)}.hero-copy{position:relative;z-index:2;color:white;width:min(690px,88vw);margin-left:clamp(24px,8vw,130px);padding:70px 0}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.76rem;font-weight:700;color:var(--lime);margin:0 0 17px}.eyebrow.dark{color:var(--pink-dark)}h1,h2{font-family:"Playfair Display",serif;letter-spacing:-.045em;line-height:1.02;margin:0}h1{font-size:clamp(3.5rem,7vw,7.4rem);max-width:780px}h2{font-size:clamp(2.5rem,5vw,4.8rem)}h3{font-size:1.2rem;margin:16px 0 7px}.intro{font-size:clamp(1rem,1.5vw,1.22rem);max-width:590px;margin:26px 0 34px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:14px 23px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.button.primary{background:var(--pink);color:white}.button.primary:hover{background:var(--pink-dark)}.button.secondary{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.55);color:white}.price-card{position:absolute;z-index:3;right:clamp(20px,5vw,70px);bottom:35px;background:var(--lime);width:170px;height:170px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(5deg);box-shadow:0 18px 55px rgba(0,0,0,.18)}.price-card span{font-size:.84rem}.price-card strong{font:700 1.45rem "Playfair Display",serif}.section{padding:110px clamp(22px,7vw,110px)}.section-heading{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:35px;align-items:end}.section-heading .eyebrow{align-self:start}.section-heading p:last-child{margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:65px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-grid article{padding:38px 34px 38px 0}.service-grid article+article{border-left:1px solid var(--line);padding-left:34px}.service-grid span{color:var(--pink);font-weight:700;font-size:.82rem}.service-grid p{margin:0;color:#4f655b}.quote-note{font-size:.9rem;margin:20px 0 0;color:#5f7068}.about{background:var(--pink);color:white;padding:105px clamp(22px,7vw,110px);display:grid;grid-template-columns:.5fr 1.25fr .8fr;gap:55px;align-items:center}.about-number{font:italic 700 clamp(7rem,14vw,13rem) "Playfair Display",serif;color:var(--lime);line-height:.8}.about .eyebrow{color:var(--lime)}.about p{max-width:650px}.area-card{background:white;color:var(--ink);padding:30px;border-radius:24px;transform:rotate(1deg)}.area-card strong{font-family:"Playfair Display",serif;font-size:1.35rem}.area-card .small{font-size:.88rem;color:#607068}.testimonials{padding:110px clamp(22px,7vw,110px);display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(45px,8vw,120px);align-items:center;background:var(--cream)}.testimonial-heading h2{max-width:540px}.testimonial-card{margin:0;position:relative;background:white;border:2px solid rgba(231,71,130,.22);border-radius:34px;padding:clamp(38px,5vw,64px);box-shadow:0 18px 55px rgba(25,49,38,.08)}.testimonial-card blockquote{margin:0;font:700 clamp(1.35rem,2.3vw,2rem)/1.45 "Playfair Display",serif;letter-spacing:-.025em}.testimonial-card figcaption{margin-top:24px;color:var(--pink-dark);font-weight:700}.quote-mark{position:absolute;right:32px;top:-35px;font:700 8rem/1 "Playfair Display",serif;color:var(--lime)}.enquire{padding:110px clamp(22px,7vw,110px);background:var(--green);color:white;display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,9vw,140px)}.enquire-copy>p:not(.eyebrow){font-size:1.08rem;max-width:540px}.contact-links{display:flex;flex-direction:column;margin-top:30px}.contact-links a{color:var(--lime);font-weight:700;width:max-content}.enquire form{display:flex;flex-direction:column;gap:20px}.enquire label{font-weight:600;font-size:.9rem}.enquire input,.enquire textarea{display:block;width:100%;margin-top:7px;border:1px solid rgba(255,255,255,.35);border-radius:12px;background:rgba(255,255,255,.09);color:white;padding:14px;font:inherit;outline:none}.enquire input:focus,.enquire textarea:focus{border-color:var(--lime);box-shadow:0 0 0 3px rgba(217,238,132,.15)}.enquire textarea::placeholder{color:rgba(255,255,255,.55)}.enquire form .button{align-self:flex-start}.form-note{font-size:.82rem;color:rgba(255,255,255,.7);margin:0}footer{padding:30px clamp(22px,7vw,110px);display:flex;justify-content:space-between;gap:15px;font-size:.86rem;background:#14251d;color:rgba(255,255,255,.7)}
@media(max-width:900px){.section-heading{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.service-grid article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}.about{grid-template-columns:1fr 1fr}.about-number{grid-row:1/3}.area-card{grid-column:2}.testimonials{grid-template-columns:1fr}.enquire{grid-template-columns:1fr}.price-card{width:135px;height:135px}}
@media(max-width:650px){.topbar{height:72px}.topbar nav>a:not(.nav-button){display:none}.brand-mark{width:36px;height:36px}.hero{min-height:760px;align-items:flex-start}.hero-copy{margin-left:22px;padding-top:92px}.hero-shade{background:linear-gradient(180deg,rgba(16,40,27,.88) 0%,rgba(16,40,27,.63) 54%,rgba(16,40,27,.15) 100%)}h1{font-size:3.65rem}.price-card{right:20px;bottom:24px}.section{padding:78px 22px}.service-grid{margin-top:42px}.about{padding:78px 22px;grid-template-columns:1fr;gap:28px}.about-number{grid-row:auto;font-size:8rem}.area-card{grid-column:auto}.testimonials{padding:78px 22px}.testimonial-card{border-radius:24px}.testimonial-card blockquote{font-size:1.25rem}.enquire{padding:78px 22px}footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.brand-logo{width:58px;height:58px;border-radius:50%;object-fit:contain;background:white;flex:0 0 auto}
@media(max-width:650px){.brand-logo{width:48px;height:48px}}
