/* Booking v3 florist standard, tokens only */
body{--A:var(--accent);--L:var(--line);--I:var(--ink-2);--F:var(--serif);--R:22px;--K:600 .75rem/1.2 var(--sans);--SH:0 1px 2px rgb(20 16 12/.05),0 22px 48px -30px rgb(20 16 12/.32)}
.top{padding-block:clamp(28px,5vw,72px) clamp(40px,6vw,88px)}
.top h1,.sh,#h-sum,#h-mine,.month,.sh-sec h2,.sh-name,.svc b,.ci,.sh-points b,.sh-foot b{font-family:var(--F);font-weight:500;letter-spacing:-.015em}
.top h1{font-size:clamp(2.25rem,1.4rem + 3.6vw,4.25rem);line-height:1.04;max-width:14ch}
.top .kicker,.tgh,.sh-visit h3,.field label,.sh::before,.sh-points li::before{padding:0;background:none;box-shadow:none;font:var(--K);letter-spacing:.16em;text-transform:uppercase;color:var(--A)}
.lede{color:var(--I);margin:var(--s-3) 0 0;max-width:46ch;line-height:1.6;font-size:clamp(1.0625rem,1rem + .3vw,1.1875rem)}
.work{display:grid;gap:var(--s-6) var(--s-7);align-items:start;padding-bottom:var(--s-8);container-type:inline-size}
.work>*,.cal,.times,.field,.svc,.svcs{display:grid;gap:var(--s-4);align-content:start;min-width:0}
.sh{display:grid;gap:12px;font-size:clamp(1.75rem,1.3rem + 1.3vw,2.375rem);line-height:1.08}
.sh~.sh{margin-top:var(--s-7)}
.sh::before{content:"0" attr(data-n);justify-self:start;padding-bottom:6px;border-bottom:1.5px solid}
.svcs{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr))}
.svc,.day,.slot{font:inherit;color:var(--ink);border:0;background:var(--surface)}
.svc{position:relative;gap:4px;padding:var(--s-5) var(--s-8) var(--s-5) var(--s-5);text-align:left;border-radius:var(--R);box-shadow:var(--SH);transition:transform var(--dur-2) var(--ease)}
.svc:hover{transform:translateY(-2px)}
.svc b{font-size:1.125rem;line-height:1.2}
.svc::after{content:"";position:absolute;top:22px;right:20px;width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--edge)}
.svc[aria-pressed=true]{box-shadow:inset 0 0 0 1.5px var(--A),var(--SH);background:var(--wash)}
.svc[aria-pressed=true]::after{box-shadow:inset 0 0 0 6px var(--A)}
.meta,.picked,.line,.when,.local-note,.empty p,.sum dt{margin:0;font-size:var(--t-sm);color:var(--I)}
.meta,.picked,.line,.what,.sum dd,.dn,.slot,.df{font-weight:600}.line{color:var(--ink)}
.cal,.bk-sum,.item{border-radius:28px;background:var(--surface);box-shadow:var(--SH)}
.cal{gap:6px;padding:var(--s-5)}
.bar,.acts{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.bar{justify-content:space-between}
.nav{width:44px;padding:0;border-radius:50%;font-size:var(--t-xl)}.nav:disabled{visibility:hidden}
.dow,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.dow span,.tgh{padding-block:6px;text-align:center;font:var(--K);letter-spacing:.14em;text-transform:uppercase;color:var(--I)}
.day{display:grid;justify-items:center;align-content:center;min-height:58px;border-radius:14px;background:color-mix(in oklab,var(--A) 9%,var(--surface))}
.day:hover:not(:disabled),.slot:hover{box-shadow:inset 0 0 0 2px var(--A)}
.day:disabled{background:none;color:var(--I)}
.now .dn{box-shadow:inset 0 -2px}
.df{font-size:var(--t-xs);color:var(--A)}.few .df{color:var(--warn)}
:is(.day,.slot)[aria-pressed=true]{background:var(--A);color:var(--on-accent)}[aria-pressed=true] .df{color:inherit}
.picked{margin-top:-8px}.tg{display:grid;gap:var(--s-2)}.tgh{text-align:left;padding:0;color:var(--A)}
.chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:var(--s-2)}
.slot{min-height:46px;border-radius:var(--r-pill);font-size:var(--t-sm);box-shadow:inset 0 0 0 1px var(--L)}
form{display:grid;gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.field{gap:6px}.wide,form>p{grid-column:1/-1}.error{margin:0}
.field label{letter-spacing:.12em;color:var(--I)}
.field :is(input,textarea){border-color:var(--L);border-radius:var(--r-pill);padding-inline:20px}.field textarea{border-radius:18px}
.bk-sum{padding:var(--s-6) var(--s-5);position:sticky;top:var(--s-4);bottom:var(--s-2);z-index:5}
.month{font-size:1.5rem}#h-sum{font-size:1.625rem}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;font:600 var(--t-xs)/1.2 var(--sans);color:var(--I)}
.steps li{display:grid;gap:6px}.steps .on{color:var(--ink)}
.steps li::before{content:"";height:4px;border-radius:2px;background:var(--L)}.steps .ok::before{background:var(--A)}.steps .on::before{background:var(--accent-line)}
.sum{display:grid;grid-template-columns:auto 1fr;gap:var(--s-2) var(--s-4);margin:0;padding-block:var(--s-3);border-block:1px solid var(--L)}
.sum dd{margin:0;text-align:right}
#book,#d-ok,#done .sum{width:100%}
.line{display:none}
@container (max-width:959px){.bk-sum{position:static;grid-template-columns:minmax(0,1fr) auto;padding:var(--s-4) var(--s-5)}
.bk-sum.go{position:sticky}.bk-sum>:is(#h-sum,.sum){display:none}.steps{grid-column:1/-1}.line{display:block}#book{width:auto}}
@container (max-width:600px){.df{width:6px;height:6px;font-size:0;border-radius:50%;background:currentColor}.day:disabled .df{display:none}.day{min-height:48px}.svc{padding-block:var(--s-4)}}
.bk-mine{padding-top:var(--s-7);border-top:1px solid var(--L)}
#h-mine{font-size:clamp(1.75rem,1.3rem + 1.3vw,2.375rem);margin-bottom:var(--s-2)}
.list{display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));margin:0;padding:0;list-style:none}
.item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--s-4);padding:var(--s-4) var(--s-5) var(--s-4) var(--s-4);border-radius:var(--R)}
.item p{margin:0}
.ci{width:60px;padding:8px 4px;border-radius:16px;background:var(--wash);color:var(--A);text-align:center;word-spacing:52px;font-size:1.75rem;line-height:1}.ci::first-line{font:600 var(--t-xs) var(--sans);letter-spacing:.12em;text-transform:uppercase}
.top .btn,#book,.sh-links a,.item .btn{border-radius:var(--r-pill)}.item .btn{box-shadow:inset 0 0 0 1px var(--L)}
.empty{display:grid;gap:var(--s-2)}
#done[open]{display:grid;justify-items:center;gap:var(--s-3)}
.tick{width:64px;fill:var(--wash);stroke:var(--A);stroke-width:3}
.tick path{fill:none}@media (min-width:1024px){
html[data-app-kit] .work.work{grid-template-columns:minmax(0,1fr) 340px}
html[data-app-kit] .work>:is(.bk-day,.bk-time){grid-column:1;grid-row:auto}
html[data-app-kit] .work>.bk-mine{grid-column:1/-1;grid-row:auto}
html[data-app-kit] .work>.bk-sum{grid-column:2;grid-row:1/span 2}
html:is([data-l-app=column],[data-l-app=deck]) .work.work{grid-template-columns:minmax(0,1fr)}
html:is([data-l-app=column],[data-l-app=deck]) .work>:is(*,.bk-sum){grid-column:1;grid-row:auto}}
#hero-credit,#hero-credit a{color:var(--ink)}
.hero-photo{margin:0;border-radius:50% 50% var(--R) var(--R)/34% 34% var(--R) var(--R);overflow:hidden;background:var(--sunk);position:relative;box-shadow:var(--SH)}
.hero-photo img{display:block;width:100%;height:clamp(320px,56vh,500px);object-fit:cover}
.hero-credit{position:absolute;inset:auto auto 14px 14px;margin:0;padding:2px 14px;font-size:.7rem;line-height:1.5;background:var(--surface);border-radius:var(--r-pill)}
.hero-credit:empty{display:none}.hero-credit a{display:inline-flex;align-items:center;min-height:44px}
.hero-cta{margin:var(--s-5) 0 0}
@media (min-width:860px){.has-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);column-gap:var(--s-7);align-items:center}.has-hero>*{grid-column:1}.has-hero>.hero-photo{grid-column:2;grid-row:1/span 8}
#visit{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--s-7)}}
@media (max-width:859px){.hero-photo img{height:clamp(240px,40vh,320px)}.hero-photo{margin-top:var(--s-5)}}
.sh-nav{width:calc(100% - 2*var(--gutter));max-width:calc(var(--page) - 2*var(--gutter));margin:12px auto 0;padding:8px 10px 8px 24px;border:0;border-radius:28px;background:var(--surface);box-shadow:var(--SH)}
.sh-nav .sh-name{font-size:1.375rem;font-weight:500}
.sh-links a{padding:8px 14px;border:0}.sh-links li:first-child a{box-shadow:inset 0 0 0 1px var(--edge);color:var(--ink)}
.sh-sec{border:0;padding-block:clamp(56px,8vw,112px)}
.sh-sec h2{font-size:clamp(2rem,1.4rem + 1.9vw,2.875rem);margin-bottom:var(--s-4)}
.sh-about{--T:color-mix(in oklab,var(--sunk) 55%,var(--bg));background:var(--T);box-shadow:0 0 0 100vmax var(--T);clip-path:inset(0 -100vmax)}
.sh-about figure{background:none;overflow:visible}
.sh-about figure img{border-radius:var(--R) var(--R) var(--R) 120px;height:clamp(280px,48vh,460px);box-shadow:var(--SH)}
.sh-points{counter-reset:p;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s-5)}
.sh-points li{counter-increment:p;padding:var(--s-4) 0 0;border:0;border-top:1px solid var(--L);border-radius:0;background:none;box-shadow:none}
.sh-points li::before{content:"0" counter(p);display:block;margin-bottom:10px}
.sh-points b{font-size:1.25rem}
.sh-hours{gap:0;max-width:440px}.sh-hours>*{padding-block:11px;border-bottom:1px solid var(--L)}.sh-hours dd{text-align:right}
html[data-app-kit][data-l-app=band] body>[data-sec=nav]{background:color-mix(in oklab,var(--A) 8%,var(--bg));color:var(--ink);border-bottom:1px solid var(--L)}
html[data-app-kit][data-l-app=band] body>[data-sec=nav] :is(.kicker,.lede,.btn){box-shadow:none;color:var(--A)}
html[data-app-kit][data-l-app=band] body>[data-sec=nav] .lede{color:var(--I)}
html[data-app-kit][data-l-app=band] body>[data-sec=nav] .btn-primary{background:var(--A);color:var(--on-accent)}
@media (prefers-color-scheme:dark){html:not([data-theme=light]) body{--SH:0 0 0 1px var(--L)}}
html[data-theme=dark] body{--SH:0 0 0 1px var(--L)}
@media (prefers-reduced-motion:reduce){.svc:hover{transform:none}}
/* tap-targets: comfortable phone taps */
@media (max-width: 600px) {
  a[href]:not(p a, li p a, blockquote a, figcaption a, td a, dd a, label a), button, [role=button], [onclick], summary, select, input:not([type=hidden], [type=checkbox], [type=radio], [type=range]) { min-height: 44px !important; min-width: 44px !important; }
  :where(a[href]:not(p a, li p a, blockquote a, figcaption a, td a, dd a, label a)) { display: inline-flex; align-items: center; justify-content: center; }
  input, select, textarea { font-size: max(16px, 1em) !important; }
}
