:root{--ink:#092f35;--navy:#0c3440;--teal:#17716f;--aqua:#a6d7cd;--mist:#e9f3f0;--paper:#f8faf8;--white:#fff;--line:rgba(9,47,53,.16);--muted:#587075;--radius:18px;--shadow:0 20px 70px rgba(4,34,39,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.55}button,input,select{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,76px);background:rgba(248,250,248,.94);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(9,47,53,.08)}.brand{display:flex;align-items:center;gap:11px;font-family:Manrope,sans-serif;font-size:.86rem;line-height:1.03;letter-spacing:-.02em}.brand strong{font-size:1.02rem}.brand-mark{width:35px;height:39px;border:2px solid var(--teal);border-radius:50% 50% 42% 42%;position:relative;display:inline-block;transform:rotate(-7deg)}.brand-mark:before,.brand-mark:after,.brand-mark span:before{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:var(--teal);left:50%;transform:translateX(-50%)}.brand-mark:before{top:7px}.brand-mark:after{top:16px}.brand-mark span:before{top:25px}.site-header nav{display:flex;gap:34px;font-size:.94rem;font-weight:600}.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:var(--teal);transition:.25s}.site-header nav a:hover:after{right:0}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--ink);color:#fff;padding:15px 23px;font-weight:700;cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);background:var(--teal);box-shadow:0 8px 24px rgba(12,70,70,.2)}.button:disabled{opacity:.38;cursor:not-allowed;transform:none;box-shadow:none}.button-small{padding:11px 18px;font-size:.9rem}.hero{min-height:720px;position:relative;display:flex;align-items:center;overflow:hidden;background:#dbe9e5}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(239,247,245,.98) 0%,rgba(239,247,245,.93) 31%,rgba(239,247,245,.18) 64%,rgba(7,35,40,.08) 100%)}.hero-content{position:relative;z-index:1;width:min(680px,58vw);margin-left:clamp(24px,8vw,124px);padding:74px 0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:700;color:var(--teal);margin:0 0 18px}.eyebrow.light{color:var(--aqua)}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.045em;margin-top:0}h1{font-size:clamp(3.2rem,6.5vw,6.4rem);line-height:.97;margin-bottom:28px;max-width:890px}h2{font-size:clamp(2.3rem,4vw,4.3rem);line-height:1.04}h3{font-size:1.3rem}.hero-copy{font-size:clamp(1.05rem,1.5vw,1.25rem);max-width:520px;color:#2f555b}.hero-actions{display:flex;align-items:center;gap:28px;margin:34px 0 48px}.text-link{font-weight:700}.text-link span{display:inline-block;margin-left:7px}.trust-row{display:flex;flex-wrap:wrap;gap:12px}.trust-row span{padding:8px 13px;border:1px solid rgba(9,47,53,.18);border-radius:999px;font-size:.83rem;background:rgba(255,255,255,.45)}.intro{padding:110px clamp(24px,8vw,124px);display:grid;grid-template-columns:minmax(180px,.65fr) 1.7fr;gap:8vw;background:var(--white)}.section-number{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--teal);font-weight:700}.intro h2{margin-bottom:28px;max-width:760px}.intro>div>p{font-size:1.2rem;max-width:730px;color:var(--muted)}.services-section{padding:110px clamp(24px,5vw,76px);background:#dcebe7}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:48px}.section-heading h2{margin:0;max-width:740px}.section-heading>p{max-width:360px;color:var(--muted);margin:0 0 8px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:rgba(255,255,255,.76);padding:30px;border:1px solid rgba(9,47,53,.11);border-radius:var(--radius);display:flex;flex-direction:column;min-height:320px;transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.service-card.featured{background:var(--ink);color:#fff}.service-topline{display:flex;justify-content:space-between;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--teal);font-weight:700;margin-bottom:42px}.featured .service-topline{color:var(--aqua)}.service-card h3{font-size:1.55rem}.service-card p{color:var(--muted);margin-bottom:32px}.featured p{color:#c9dcde}.service-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;border-top:1px solid var(--line);padding-top:22px}.featured .service-footer{border-color:rgba(255,255,255,.2)}.service-footer strong{font-size:1.3rem}.service-footer button{border:0;background:none;color:inherit;font-weight:700;cursor:pointer;padding:8px 0}.service-footer button:hover span{margin-left:5px}.service-footer span{transition:.2s}.booking-section{background:var(--navy);padding:110px clamp(24px,5vw,76px);display:grid;grid-template-columns:minmax(260px,.65fr) minmax(580px,1.35fr);gap:7vw;color:#fff;align-items:start}.booking-intro{position:sticky;top:125px}.booking-intro h2{margin-bottom:24px}.booking-intro>p:not(.eyebrow){color:#bfd2d4;max-width:430px;font-size:1.08rem}.booking-help{border-top:1px solid rgba(255,255,255,.17);margin-top:45px;padding-top:24px;display:flex;flex-direction:column;color:#bfd2d4}.booking-help a{font-size:1.45rem;font-family:Manrope,sans-serif;font-weight:700;color:#fff}.booking-shell{background:#fff;color:var(--ink);border-radius:24px;padding:24px 30px 30px;box-shadow:0 28px 80px rgba(0,0,0,.18);min-height:610px}.steps{list-style:none;margin:0 0 38px;padding:0 0 24px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.steps li{display:flex;gap:8px;align-items:center;font-size:.78rem;color:#829397;font-weight:600}.steps span{width:24px;height:24px;border:1px solid #b8c5c6;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem}.steps li.active{color:var(--ink)}.steps li.active span{background:var(--teal);color:white;border-color:var(--teal)}.booking-panel{display:none}.booking-panel.active{display:block;animation:panelIn .28s ease both}@keyframes panelIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.panel-kicker{font-size:.76rem;color:var(--teal);text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin:0 0 7px}.booking-panel h3{font-size:1.8rem;margin-bottom:25px}.booking-options{display:grid;gap:10px}.booking-option{width:100%;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;text-align:left;display:flex;justify-content:space-between;align-items:center;cursor:pointer;color:var(--ink)}.booking-option span{display:flex;flex-direction:column}.booking-option small{font-size:.8rem;color:var(--muted);margin-top:3px}.booking-option.selected{border:2px solid var(--teal);background:#f1f8f6;padding:15px 17px}.booking-option b{font-size:1.02rem}.panel-actions{display:flex;justify-content:space-between;align-items:center;margin-top:28px}.back-step,.text-button{border:0;background:none;color:var(--teal);font-weight:700;cursor:pointer;padding:12px 4px}.practitioner-select{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px;background:var(--mist);padding:13px 16px;border-radius:10px;margin-bottom:20px}.practitioner-select label{font-size:.82rem;font-weight:700}.practitioner-select select{border:0;background:transparent;color:var(--ink);outline:none;width:100%;font-weight:600}.date-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.date-choice{border:1px solid var(--line);background:#fff;border-radius:11px;padding:11px 5px;display:flex;flex-direction:column;align-items:center;cursor:pointer;color:var(--ink)}.date-choice small,.date-choice span{font-size:.72rem;color:var(--muted)}.date-choice strong{font-size:1.2rem}.date-choice.selected{background:var(--ink);border-color:var(--ink);color:#fff}.date-choice.selected small,.date-choice.selected span{color:var(--aqua)}.availability-label{font-weight:700;font-size:.84rem;margin:24px 0 10px}.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.time-grid button{padding:12px;background:#fff;border:1px solid var(--line);border-radius:9px;color:var(--ink);font-weight:600;cursor:pointer}.time-grid button.selected{background:var(--teal);color:#fff;border-color:var(--teal)}.summary-strip{display:flex;justify-content:space-between;gap:20px;background:var(--mist);padding:13px 15px;border-radius:10px;font-size:.82rem;font-weight:600;margin-bottom:20px}form{display:grid;gap:15px}form label{font-size:.79rem;font-weight:700;display:grid;gap:6px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}input{border:1px solid var(--line);border-radius:9px;padding:12px 13px;color:var(--ink);background:#fff;min-width:0}input:focus,select:focus{outline:3px solid rgba(23,113,111,.18);border-color:var(--teal)}label.check{display:flex;grid-template-columns:auto 1fr;align-items:start;font-weight:500;font-size:.8rem;color:var(--muted);gap:9px;margin-top:4px}.check input{margin-top:3px}.confirmation{text-align:center;padding:35px 8%}.confirm-mark{width:58px;height:58px;border-radius:50%;background:var(--mist);color:var(--teal);font-size:1.7rem;font-weight:700;display:grid;place-items:center;margin:0 auto 18px}.confirmation-card{border:1px solid var(--line);border-radius:13px;padding:19px;display:flex;flex-direction:column;gap:3px;margin:25px auto 14px;max-width:470px}.confirmation-card small{color:var(--muted);margin-top:7px}.reassurance{padding:90px clamp(24px,5vw,76px);display:grid;grid-template-columns:repeat(3,1fr);gap:40px;background:var(--white)}.reassurance>div{border-top:1px solid var(--line);padding-top:22px}.reassurance span{font-size:.75rem;color:var(--teal);font-weight:700}.reassurance h3{margin:35px 0 12px}.reassurance p{color:var(--muted);max-width:350px}footer{background:#061f25;color:#fff;padding:90px clamp(24px,5vw,76px) 26px}.footer-brand{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center;border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:70px}.brand-mark.inverse{border-color:var(--aqua);transform:scale(1.4) rotate(-7deg);margin:0 15px}.brand-mark.inverse:before,.brand-mark.inverse:after,.brand-mark.inverse span:before{background:var(--aqua)}.footer-brand h2{font-size:clamp(3rem,5vw,5.6rem);margin:0}.button-light{background:var(--aqua);color:var(--ink)}.footer-details{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:60px 0}.footer-label{text-transform:uppercase;letter-spacing:.12em;color:var(--aqua);font-size:.72rem;font-weight:700}.footer-details p{color:#c1d0d2}.footer-details a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.16);padding-top:24px;display:flex;justify-content:space-between;font-size:.75rem;color:#8ca5a9}
@media(max-width:900px){.site-header nav{display:none}.hero{min-height:670px}.hero-content{width:74vw}.hero-photo{object-position:62% center}.hero-wash{background:linear-gradient(90deg,rgba(239,247,245,.97),rgba(239,247,245,.82) 52%,rgba(239,247,245,.18))}h1{font-size:clamp(3.5rem,9vw,5.4rem)}.service-grid{grid-template-columns:1fr}.service-card{min-height:270px}.booking-section{grid-template-columns:1fr}.booking-intro{position:static}.booking-shell{min-height:0}.reassurance{grid-template-columns:1fr}.footer-brand{grid-template-columns:auto 1fr}.footer-brand .button{grid-column:2;justify-self:start}.footer-details{grid-template-columns:1fr 1fr}.intro{grid-template-columns:1fr;gap:15px}.section-heading{align-items:start;flex-direction:column}.section-heading>p{max-width:550px}}
@media(max-width:620px){.site-header{height:74px;padding:0 18px}.button-small{font-size:.78rem;padding:10px 13px}.brand{font-size:.76rem}.brand-mark{width:30px;height:34px}.hero{min-height:710px;align-items:end}.hero-photo{object-position:67% top}.hero-wash{background:linear-gradient(0deg,rgba(239,247,245,1) 12%,rgba(239,247,245,.86) 54%,rgba(239,247,245,.2) 100%)}.hero-content{width:auto;margin:0;padding:200px 22px 48px}.hero-content h1{font-size:clamp(2.85rem,14vw,4.4rem)}.hero-copy{font-size:1rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:17px;margin:27px 0}.trust-row span:nth-child(3){display:none}.intro,.services-section,.booking-section,.reassurance{padding:75px 20px}.booking-shell{padding:19px 16px 22px;border-radius:17px}.steps{gap:5px}.steps li{font-size:0}.steps li span{font-size:.72rem}.steps li:after{font-size:.68rem}.steps li:nth-child(1):after{content:"Type"}.steps li:nth-child(2):after{content:"Time"}.steps li:nth-child(3):after{content:"Details"}.steps li:nth-child(4):after{content:"Done"}.booking-panel h3{font-size:1.5rem}.booking-option{padding:13px}.booking-option.selected{padding:12px}.date-strip{overflow-x:auto;grid-template-columns:repeat(4,75px);padding-bottom:4px}.time-grid{grid-template-columns:repeat(2,1fr)}.field-row{grid-template-columns:1fr}.summary-strip{flex-direction:column;gap:3px}.footer-brand{grid-template-columns:1fr}.footer-brand .button{grid-column:1}.brand-mark.inverse{margin:0 0 20px 8px}.footer-details{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:7px}.service-topline{margin-bottom:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
.booking-shell.live-widget{padding:18px;min-height:680px;overflow:hidden}.live-widget #ph_online_bookings_widget{width:100%;min-height:640px}.live-widget iframe{display:block;width:100%!important;max-width:100%;border:0;border-radius:14px}.live-widget noscript{display:block;padding:24px;color:var(--muted);text-align:center}.footer-brand{grid-template-columns:auto 1fr}
@media(max-width:620px){.booking-shell.live-widget{padding:8px;min-height:620px}.live-widget #ph_online_bookings_widget{min-height:590px}}
