:root{--bg:#f8f8f3;--surface:#fff;--text:#153c3b;--muted:#4d6663;--accent:#215d59;--on-accent:#fff;--soft:#e6efec;--line:#9caaa5;--error:#a4212a;--shadow:0 24px 70px #153c3b12;color-scheme:light}
:root[data-theme=dark]{--bg:#132c2c;--surface:#1c3838;--text:#edf6ef;--muted:#b6ccc5;--accent:#b3d5c3;--on-accent:#132c2c;--soft:#254242;--line:#718c80;--error:#ffb5b5;--shadow:0 24px 70px #0002;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 "Avenir Next",Avenir,"Segoe UI",sans-serif}button,input,select{font:inherit}a{color:inherit;text-underline-offset:4px}button{cursor:pointer}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex="-1"]:focus{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:400;letter-spacing:-.045em;line-height:1.08}h1{font-size:clamp(48px,5.9vw,84px);margin-bottom:28px}h2{font-size:clamp(34px,4.2vw,58px);margin-bottom:25px}h3{font-size:21px;line-height:1.35;margin-bottom:12px}p{max-width:65ch}img{display:block;max-width:100%;height:auto}.wrap{width:min(1200px,calc(100% - 80px));margin-inline:auto}.banner{font-size:12px;background:var(--soft);color:var(--text);display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding:9px 20px}.banner a{font-weight:600}.site-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:25px;z-index:4}.brand{text-decoration:none;font-size:26px;line-height:1.1;letter-spacing:-.025em;font-weight:600}.brand small{display:block;letter-spacing:.04em;font-size:10px;margin-top:7px;font-weight:400}.controls{display:flex;gap:8px}.controls button{min-height:44px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--text);padding:7px 13px;font-size:13px}@media (hover:hover){.controls button:hover{background:var(--soft)}}#navigation{position:absolute;right:0;top:calc(100% - 12px);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:12px;min-width:210px}#navigation a{display:block;padding:9px 14px;text-decoration:none}@media (hover:hover){#navigation a:hover{text-decoration:underline}}.skip{position:absolute;top:-90px;left:20px;z-index:10;background:var(--surface);padding:12px}.skip:focus{top:8px}.eyebrow{font-size:14px;color:var(--accent);font-weight:600;letter-spacing:.02em}.lead{font-size:20px;color:var(--muted);line-height:1.6}.fine{font-size:13px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:13px 23px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);border-radius:4px;text-decoration:none;font-weight:600;font-size:15px}.button.secondary{background:transparent;color:var(--text);border-color:var(--line)}@media (hover:hover){.button:hover{filter:brightness(.93)}}.section{padding-block:88px}.section-head{max-width:670px;margin-bottom:45px}.section-head p{color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service-grid article{padding:30px 0;border-top:1px solid var(--line)}.service-grid p{color:var(--muted)}.service-grid button{border:0;background:transparent;padding:8px 0;min-height:44px;color:var(--accent);text-decoration:underline;text-underline-offset:5px;font-weight:600}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.process-list{padding-left:28px;margin:0}.process-list li{padding-left:15px;margin-bottom:25px}.process-list li::marker{font-size:14px;font-weight:600}.process-list p{color:var(--muted);margin-bottom:0}.faq-list details{border-bottom:1px solid var(--line);padding-block:18px}.faq-list details:first-child{border-top:1px solid var(--line)}summary{font-size:18px;cursor:pointer;min-height:44px;display:list-item;padding-right:8px}details p{color:var(--muted);margin-top:14px}.booking-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:start}.booking-panel{background:var(--surface);padding:34px;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);scroll-margin-top:30px;min-width:0}.booking-panel h3{font-size:25px}.booking-progress{list-style:none;display:flex;gap:12px;justify-content:space-between;padding:0;font-size:12px;margin:0 0 25px;color:var(--muted)}.booking-progress li[aria-current]{color:var(--accent);font-weight:700}.booking-panel fieldset{border:0;padding:0;margin:0;min-width:0}.booking-panel legend{font-weight:600;font-size:14px;margin-bottom:10px}.field{margin-bottom:20px}.field label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.field input,.field select{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--text);min-width:0}.field input[aria-invalid],.field select[aria-invalid]{border-color:var(--error)}.helper{font-size:12px;color:var(--muted);margin:6px 0 0}.field-error{color:var(--error);font-size:13px;display:block}.field-error:empty{display:none}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px}.time-option{position:relative;display:block}.time-option input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.time-option span{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--line);border-radius:4px;color:var(--text);font-size:14px;background:var(--bg)}.time-option input:checked+span{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.time-option input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}.time-option input[aria-invalid]+span{border-color:var(--error)}.times{margin-bottom:23px!important}.error-summary{padding:12px;color:var(--error);border:1px solid var(--error);font-size:14px;margin-bottom:18px}.demo-note{font-size:12px;color:var(--muted);background:var(--soft);padding:12px 15px;border-radius:4px;margin-bottom:23px}.booking-actions{display:flex;gap:10px;flex-wrap:wrap}.booking-panel .button{flex:1}.booking-summary{margin:24px 0;border-top:1px solid var(--line)}.booking-summary div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.booking-summary dt{color:var(--muted);flex:0 0 75px}.booking-summary dd{margin:0;text-align:right;overflow-wrap:anywhere}.demo-done{display:flex;align-items:center;justify-content:center;background:var(--soft);border-radius:50%;width:54px;height:54px;font-size:26px;margin-bottom:20px}.footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;border-top:1px solid var(--line);padding-block:35px;font-size:12px;color:var(--muted)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.dentist .site-header{border-bottom:1px solid var(--line)}.dentist h1,.dentist h2{font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;font-weight:400;letter-spacing:-.05em}.dental-hero{padding-block:65px 90px;display:grid;grid-template-columns:1fr 1.05fr;gap:65px;align-items:center}.dental-hero .hero-art{border-radius:160px 8px 8px 8px;overflow:hidden;background:#dfeae5;position:relative}.hero-caption{position:absolute;bottom:20px;left:24px;font-size:12px;color:#234b45;background:#f8f8f3;padding:6px 13px;border-radius:3px}.dental-pillars{display:flex;gap:30px;border-top:1px solid var(--line);padding-top:24px;margin-top:35px;color:var(--muted);font-size:13px}.dentist .services{border-top:1px solid var(--line)}.dental-process{background:var(--soft)}.dental-process h2{max-width:450px}.dental-booking{background:var(--soft);border-top:1px solid var(--line)}.dentist .booking-panel{border-radius:8px}.dental-emblem{font-size:35px;color:var(--accent);margin-bottom:22px;line-height:1}
.hair{--bg:#f3eee7;--surface:#faf7f1;--text:#322b26;--muted:#65594f;--accent:#47362a;--on-accent:#fff8f0;--soft:#e5dbcd;--line:#a5988a;--error:#a5212d;font-family:"Helvetica Neue",Arial,sans-serif}
.hair[data-theme=dark]{--bg:#211e1b;--surface:#2d2722;--text:#f4ede4;--muted:#cbbbaf;--accent:#e2ccb5;--on-accent:#211e1b;--soft:#39312a;--line:#92816f;--error:#ffb5b5}
.hair h1,.hair h2,.hair .brand{font-family:Didot,"Bodoni MT","Times New Roman",serif;font-weight:400}.hair .brand{font-size:30px}.hair .brand small{font-family:Arial,sans-serif;font-size:9px;letter-spacing:.16em}.hair .site-header{padding-block:28px}.hair .button{border-radius:0}.hair-hero{background:#27211e;color:#f5ede3;position:relative;min-height:650px;overflow:hidden}.hair-hero .wrap{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:650px;align-items:center;gap:40px}.hair-hero h1{font-size:clamp(70px,8vw,114px);max-width:600px;margin-bottom:24px}.hair-hero p{color:#dacbbf}.hair-hero .button{background:#eee2d3;color:#322b26;border-color:#eee2d3}.hair-art{width:100%;height:650px;object-fit:cover;object-position:center}.hair-hero .hero-text{z-index:1;padding-block:70px}.hair-hero .eyebrow{color:#dacbbf}.hair-hero .art-label{position:absolute;right:0;bottom:22px;font-size:11px;color:#dacbbf}.hair-intro{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px;align-items:start}.hair-intro h2{font-size:clamp(38px,4.8vw,68px)}.hair-intro .eyebrow{margin-top:8px}.hair-services{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:45px}.hair-services article{border-top:1px solid var(--line);padding-top:24px}.hair-services h3{font:30px/1.2 Georgia,serif;font-weight:400}.hair-services button{background:none;border:0;padding:8px 0;min-height:44px;color:var(--accent);text-decoration:underline;text-underline-offset:5px}.hair-booking{background:var(--soft)}.hair-booking .booking-panel{border-radius:0;box-shadow:none}.hair-booking h2{font-size:clamp(50px,5.5vw,76px)}.hair-lookbook{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.hair-lookbook .art{background:#ded0bf;min-height:360px;overflow:hidden}.hair-lookbook img{width:100%;height:400px;object-fit:cover}.hair-lookbook h2{font-size:clamp(38px,4.8vw,68px)}.hair .faq-section{border-top:1px solid var(--line)}
.vet{--bg:#f9f7ed;--surface:#fffdf5;--text:#2c4536;--muted:#536552;--accent:#3b6044;--on-accent:#fffdf5;--soft:#e6ebd9;--line:#a3af99;--error:#a12626;font-family:"Trebuchet MS","Avenir Next",sans-serif}
.vet[data-theme=dark]{--bg:#202f24;--surface:#293c2e;--text:#f5f7e9;--muted:#becdb5;--accent:#d1e1b4;--on-accent:#202f24;--soft:#354835;--line:#8d9e7d;--error:#ffb5b5}
.vet h1,.vet h2,.vet .brand{font-family:Georgia,serif;letter-spacing:-.04em}.vet .brand{font-weight:400}.vet .brand small{font-family:"Trebuchet MS",sans-serif}.vet .button{border-radius:100px;padding-inline:25px}.vet .controls button{border-radius:100px}.vet-hero{background:var(--soft);border-radius:34px;padding:55px 60px 0;display:grid;grid-template-columns:1.05fr 1fr;gap:30px;align-items:center;overflow:hidden}.vet-hero h1{font-size:clamp(52px,6.2vw,86px)}.vet-hero .hero-text{padding-bottom:55px}.vet-hero img{align-self:end;min-height:440px;object-fit:contain;object-position:center bottom;width:100%}.vet-hero .fine{margin:18px 0 0}.vet-service-list{display:flex;flex-direction:column}.vet-service-list article{display:grid;grid-template-columns:60px 1fr 1fr auto;gap:28px;padding:28px 0;border-top:1px solid var(--line);align-items:center}.vet-service-list article:last-child{border-bottom:1px solid var(--line)}.vet-service-list h3{font:28px/1.2 Georgia,serif;margin:0}.vet-service-list p{margin:0;color:var(--muted);font-size:15px}.vet-service-list .pet-icon{background:var(--soft);border-radius:50%;width:54px;height:54px;display:grid;place-items:center;font-size:25px}.vet-service-list button{border:1px solid var(--line);border-radius:100px;color:var(--text);background:transparent;min-height:44px;padding:8px 16px;font-size:13px}.vet-welcome{background:var(--soft);border-radius:32px;padding:55px;display:grid;grid-template-columns:1fr 1fr;gap:70px}.vet-welcome h2{font-size:clamp(36px,4vw,53px)}.vet .faq-section .split{gap:70px}.vet-booking{background:var(--soft);margin-top:0}.vet .booking-panel{border-radius:24px}.vet-booking h2{font-size:clamp(40px,4.8vw,65px)}.vet .time-option span{border-radius:100px}.vet .booking-panel .button{border-radius:100px}
.chooser{--bg:#f3f5f8;--surface:#fff;--text:#27374a;--muted:#526275;--accent:#2c526c;--on-accent:#fff;--soft:#e6edf3;--line:#99aabc}.chooser[data-theme=dark]{--bg:#152535;--surface:#1f3447;--text:#f2f6fb;--muted:#becddc;--accent:#bfd8e9;--on-accent:#152535;--soft:#263e53;--line:#7f97ad}.chooser h1,.chooser h2{font-family:Georgia,serif}.chooser-intro{padding-block:55px 45px;max-width:860px}.concept-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:60px}.concept-card{border:1px solid var(--line);background:var(--surface);overflow:hidden;text-decoration:none;border-radius:8px}.concept-card img{height:240px;width:100%;object-fit:cover}.concept-card .copy{padding:24px}.concept-card h2{font-size:28px;letter-spacing:-.02em;margin-bottom:14px}.concept-card p{font-size:14px;color:var(--muted)}.concept-card strong{font-size:14px;color:var(--accent);text-decoration:underline;text-underline-offset:5px}.collection-note{padding:25px;background:var(--soft);border-radius:8px;margin-bottom:55px}.collection-note p{margin-bottom:0}
@media(max-width:950px){.wrap{width:calc(100% - 48px)}.dental-hero{gap:35px}.split,.booking-layout{gap:45px}.hair-hero .wrap{gap:10px}.hair-hero h1{font-size:80px}.vet-hero{padding:40px 35px 0}.vet-service-list article{grid-template-columns:50px 1fr 1fr;gap:20px}.vet-service-list button{grid-column:2/4;justify-self:start}.booking-panel{padding:26px}.concept-grid{gap:16px}.concept-card img{height:200px}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.site-header{padding-block:20px;gap:12px;flex-wrap:wrap}.brand{font-size:23px}.brand small{font-size:9px}.controls{margin-left:auto}.controls button{padding:8px 10px;font-size:12px}.banner{font-size:11px;gap:8px}.section{padding-block:58px}.split,.booking-layout,.dental-hero,.hair-intro,.hair-lookbook{grid-template-columns:1fr;gap:30px}.section-head{margin-bottom:30px}h1{font-size:50px}h2{font-size:36px}.lead{font-size:18px}.dental-hero{padding-block:40px 55px}.dental-hero .hero-art{border-radius:100px 8px 8px 8px;max-height:430px}.dental-hero img{width:100%;height:430px;object-fit:cover}.dental-pillars{gap:20px;flex-wrap:wrap}.service-grid{grid-template-columns:1fr;gap:4px}.service-grid article{padding-block:25px}.split .process-list{padding-left:22px}.booking-panel{padding:24px 20px}.booking-progress{gap:8px;font-size:11px}.booking-summary div{font-size:13px}.hair-hero{min-height:0}.hair-hero .wrap{grid-template-columns:1fr;min-height:0;gap:0}.hair-hero .hero-text{padding-block:48px 30px}.hair-hero h1{font-size:76px;margin-bottom:22px;max-width:500px}.hair-art{height:430px;width:100%;object-position:center 35%}.hair-hero .art-label{bottom:12px;right:10px}.hair-intro{gap:10px}.hair-intro h2{font-size:43px}.hair-services{grid-template-columns:1fr;gap:25px;margin-top:30px}.hair-services h3{font-size:29px}.hair-booking h2{font-size:52px}.hair-lookbook img{height:340px}.vet-hero{width:calc(100% - 24px);padding:36px 26px 0;grid-template-columns:1fr;gap:0;border-radius:26px}.vet-hero h1{font-size:55px}.vet-hero .hero-text{padding-bottom:20px}.vet-hero img{height:320px;min-height:320px}.vet-service-list article{grid-template-columns:46px 1fr;gap:15px;padding-block:24px}.vet-service-list h3{font-size:25px}.vet-service-list p,.vet-service-list button{grid-column:2}.vet-service-list .pet-icon{width:44px;height:44px;grid-row:span 2}.vet-welcome{padding:30px 25px;grid-template-columns:1fr;gap:25px;border-radius:24px}.vet-welcome h2{margin-bottom:0}.vet-booking h2{font-size:44px}.chooser-intro{padding-block:40px 25px}.chooser h1{font-size:43px}.concept-grid{grid-template-columns:1fr;gap:24px}.concept-card img{height:240px}.collection-note{padding:20px}.footer{padding-block:25px;gap:10px}}
@media(max-width:380px){.controls{width:100%;justify-content:flex-end}.hair-hero h1{font-size:66px}.vet-hero h1{font-size:48px}.booking-panel{padding:22px 16px}.time-grid{grid-template-columns:repeat(2,1fr)}.booking-actions{flex-direction:column}.booking-actions .button{width:100%}.vet-hero{padding-inline:20px}.brand{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Pexels photography is locally served; none depicts the businesses depicted in these design concepts. */
.stock-note{padding:22px 0 28px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}.stock-note p{max-width:90ch;margin:0 0 8px}.stock-note p:last-child{margin-bottom:0}.dental-hero .hero-art img{width:100%;height:610px;object-fit:cover;object-position:50% 54%}.dental-hero .hero-caption{max-width:calc(100% - 40px);font-size:11px}.hair-hero .hair-art{object-position:50% 56%}.hair-lookbook .art img{object-position:43% 48%}.vet-hero .photo-figure{margin:0 0 40px;width:100%;align-self:center}.vet-hero .photo-figure img{width:100%;height:470px;min-height:0;object-fit:cover;object-position:50% 45%;border-radius:110px 110px 24px 24px}.vet-hero figcaption{font-size:11px;color:var(--muted);text-align:center;margin-top:10px}.concept-card img{object-position:center 55%}
@media(max-width:700px){.dental-hero .hero-art img{height:420px}.vet-hero .photo-figure{margin:0 0 28px}.vet-hero .photo-figure img{height:330px;min-height:0;border-radius:70px 70px 18px 18px}.stock-note{padding-block:20px;font-size:11px}.hair-hero .hair-art{object-position:50% 60%}}
.hair-hero .art-label{background:#27211e;color:#f5ede3;padding:6px 11px;max-width:calc(100% - 20px)}
/* Prevent the long editorial headline from sizing a narrow grid beyond its viewport. */
@media(max-width:700px){.hair-hero .wrap{grid-template-columns:minmax(0,1fr)}.hair-hero .hero-text{min-width:0}.hair-hero h1{font-size:clamp(44px,14vw,76px)}}
