:root{--paper:#fbfaf4;--cream:#eef3e5;--dark:#31472f;--line:#dce3d5;--ink:#243026;--muted:#536055}
.notice a:hover{text-decoration:underline}
.header{background:#fff}
.nav{min-height:90px}
.nav nav{gap:clamp(16px,3.5vw,44px)}
.nav .primary{padding-inline:21px}
.eyebrow{font-size:.73rem}
.button{border-radius:100px;padding-inline:22px}
.salon-hero{background:#dceacc;color:var(--ink);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(30px,7vw,100px);align-items:center;padding-block:clamp(38px,5vw,72px)}
.salon-hero h1{font-size:clamp(5rem,8.8vw,9.1rem);line-height:.88}
.salon-hero h1 em,.salon-hero .eyebrow{color:#476035}
.salon-hero .intro,.salon-hero .hero-note{color:#455644}
.salon-hero .intro{max-width:370px}
.salon-hero .outline{color:inherit;border-color:#84957e}
.salon-hero .outline:hover{background:#f0f6e8}
.chloe{position:relative;max-width:510px;width:100%;justify-self:end;border:1px solid #a6bd91;border-radius:48% 48% 18px 18px / 28% 28% 18px 18px;overflow:hidden;background:#678252}
.chloe img{width:100%;height:clamp(420px,44vw,550px);object-fit:cover;object-position:50% 44%}
.chloe figcaption{position:absolute;bottom:0;inset-inline:0;display:flex;justify-content:space-between;gap:8px;background:#233324e8;color:#fff;padding:12px 19px;font-size:.82rem}
.chloe figcaption a{text-decoration:underline;text-underline-offset:3px}
.section-head>p{max-width:320px}
.service-menu{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}
.service-menu article{padding:26px clamp(10px,3vw,28px)}
.service-menu article:first-child{padding-left:0}
.service-menu article+article{border-left:1px solid var(--line)}
.service-menu p{margin-top:12px}
.pricing-section{background:#edf3e6}
.estimate,.payment{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px clamp(18px,3vw,32px);border-radius:14px;background:#dceacb}
.estimate p{margin-top:8px;max-width:650px}
.estimate strong{white-space:nowrap;color:#395326}
.rate-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-block:16px}
.rate-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:clamp(18px,3vw,32px)}
.rate-card dl{margin-top:13px}
.rate-card dl div{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding-block:8px;border-bottom:1px solid var(--line)}
.rate-card dl div:last-child{border:0;padding-bottom:0}
.rate-card dd{font-weight:700;white-space:nowrap}
.payment{background:transparent;border:1px solid #becdb3}
.payment .text-link{margin-top:0;flex:none}
.chauffeur{background:#dceacc;border-radius:19px;color:var(--ink);display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:clamp(24px,6vw,90px);padding:clamp(26px,6vw,70px)}
.chauffeur .eyebrow,.chauffeur .text-link{color:#41592b}
.chauffeur p{color:var(--muted);margin-top:12px;max-width:380px}
.chauffeur .text-link{margin:0}
.chauffeur-price{border-left:1px solid #72826b;padding-left:clamp(20px,5vw,72px)}
.chauffeur-price span{font-size:.72rem;font-weight:700;letter-spacing:.15em;color:#41592b}
.chauffeur-price strong{display:block;font:clamp(3.5rem,7vw,6.5rem)/1 "Instrument Serif",Georgia,serif}
.gallery-section{padding-top:0}
.portrait-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.portrait-grid img{aspect-ratio:4/4.6;object-position:50% 40%;border-radius:12px}
.faq-section{padding-top:0;display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(24px,7vw,90px)}
.faq-section h2+p{margin-top:13px}
.questions details{padding:13px 0;border-bottom:1px solid var(--line)}
.questions details:first-child{border-top:1px solid var(--line)}
.questions summary{font-weight:700;cursor:pointer}
.questions details p{margin-top:8px}
.questions details a{text-decoration:underline}
.visit-banner{background:#e0edcf}
.visit-banner .section-head{margin-bottom:0;align-items:center}
.visit-banner .section-head p:not(.eyebrow){margin-top:14px}
@media(max-width:900px){.hero-grid{gap:24px}.salon-hero h1{font-size:clamp(4rem,9vw,6rem)}}
@media(max-width:650px){
  .nav{min-height:70px}.hero-grid,.faq-section,.chauffeur,.rate-grid{grid-template-columns:1fr}
  .hero-grid{padding-block:34px 25px}.chloe{max-width:none}.chloe img{height:clamp(315px,100vw,460px)}
  .service-menu{grid-template-columns:1fr}.service-menu article,.service-menu article:first-child{padding:18px 0}.service-menu article+article{border-left:0;border-top:1px solid var(--line)}
  .estimate,.payment{align-items:flex-start;flex-direction:column;gap:10px}
  .chauffeur-price{border-left:0;border-top:1px solid #72826b;padding:18px 0 0}
  .section-head>.button{margin-top:15px}.portrait-grid{gap:7px}.portrait-grid img{border-radius:7px}
  .visit-banner .actions{margin-top:14px}
}
@media(max-width:900px){
  .nav:has(nav){flex-wrap:wrap;row-gap:0}
  .nav nav{display:flex;order:3;width:100%;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-block:9px;font-size:clamp(.69rem,2.7vw,.87rem)}
}
.reviews-section{background:#f0f5e9}
.review-layout{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(22px,6vw,75px)}
.review-carousel{padding:clamp(19px,4vw,44px);background:#fff;border:1px solid var(--line);border-radius:16px}
.review-slide blockquote{margin:10px 0 14px;font:clamp(1.8rem,3.2vw,3rem)/1.12 "Instrument Serif",Georgia,serif}
.review-slide figcaption{color:var(--muted);font-size:.9rem}
.stars{color:#994400;letter-spacing:.13em}
.review-controls{display:flex;align-items:center;gap:14px;margin-top:22px;color:var(--muted);font-size:.85rem}
.review-controls button{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid #9eaf95;background:#f5f8ef;color:var(--ink);font-size:1.25rem}
.review-controls button:hover{background:#dceacc}
#review-slides{min-height:170px}
.dashboard-banner{background:#dceacc;padding-block:clamp(30px,6vw,70px)}
.dashboard-banner h1{font-size:clamp(3.8rem,7.5vw,7rem)}
.dashboard-banner .section-head{margin-bottom:0;align-items:center}
.owner-content{display:grid;gap:34px}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.metrics div,.owner-tools{background:#fff;border:1px solid var(--line);padding:clamp(16px,3vw,32px);border-radius:14px}
.metrics dt{font-weight:700;color:var(--muted)}
.metrics dd{font:clamp(2.8rem,6vw,5.5rem)/1 "Instrument Serif",Georgia,serif;margin-top:8px}
.metric-note,.owner-tools p{margin-top:10px}
.traffic-details{margin-top:20px}
.traffic-details summary{font-weight:700;cursor:pointer}
.traffic-details table{width:100%;border-collapse:collapse;margin-top:10px;font-size:.9rem}
.traffic-details td,.traffic-details th{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left}
@media(max-width:650px){.review-layout,.metrics{grid-template-columns:1fr}.dashboard-banner .button{margin-top:14px}}
.hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin-top:20px}
.hero-meta .hero-note{margin:0}
.bark-button{display:inline-flex;gap:6px;align-items:center;border:1px solid #a0b38f;border-radius:100px;background:#edf4e3;color:#34462c;padding:5px 11px;font-size:.74rem;font-weight:700}
.bark-button:hover{background:#fffdf4}
.paw-trail{position:relative;height:45px;margin-top:-21px;pointer-events:none;overflow:hidden}
.paw-trail span{position:absolute;inset-inline-start:var(--x);top:var(--y,1px);width:31px;height:31px;background:#52713a;mask:url('/paw-cursor.png') center/contain no-repeat;opacity:0;transform:rotate(var(--angle,62deg)) scale(.7);animation:paw-step 1.4s ease-out var(--step) both}
.paw-trail span:nth-child(1){--x:4%;--step:.1s}
.paw-trail span:nth-child(2){--x:16%;--step:.47s;--y:12px;--angle:82deg}
.paw-trail span:nth-child(3){--x:28%;--step:.84s}
.paw-trail span:nth-child(4){--x:40%;--step:1.21s;--y:12px;--angle:82deg}
.paw-trail span:nth-child(5){--x:53%;--step:1.58s}
.paw-trail span:nth-child(6){--x:66%;--step:1.95s;--y:12px;--angle:82deg}
.paw-trail span:nth-child(7){--x:79%;--step:2.32s}
.paw-trail span:nth-child(8){--x:92%;--step:2.69s;--y:12px;--angle:82deg}
@keyframes paw-step{
  0%{opacity:0;transform:rotate(var(--angle,62deg)) scale(.7)}
  22%,50%{opacity:.55;transform:rotate(var(--angle,62deg)) scale(1)}
  100%{opacity:0;transform:rotate(var(--angle,62deg)) scale(.96)}
}
@media (hover:hover) and (pointer:fine){
  body,a,button,summary{cursor:url('/paw-cursor.png') 15 11,auto}
}
@media(prefers-reduced-motion:reduce){
  .paw-trail span{animation:none;opacity:.25;transform:rotate(var(--angle,62deg))}
}
