/* Website base (kit-spec-1): layout and shape components on the house tokens only. */
.top{border-bottom:1px solid var(--line)}
.nav,.nav ul{display:flex;flex-wrap:wrap;column-gap:var(--s-5)}
.nav ul,.items,.hours{margin:0;padding:0;list-style:none}
.brand{display:flex;align-items:center;min-height:52px;margin:0 auto 0 0;font:400 var(--t-xl)/1.1 var(--serif);letter-spacing:-.01em;color:var(--ink);text-decoration:none}
.nav ul a{display:flex;align-items:center;min-height:52px;border-bottom:2px solid transparent;color:var(--ink-2);font:500 var(--t-sm)/1 var(--sans);text-decoration:none}
.nav ul a:hover,.nav ul a[aria-current=page]{color:var(--ink)}
.nav ul a[aria-current=page]{border-color:var(--accent);color:var(--accent)}
[tabindex="-1"]:focus{outline:none}
.kicker,.caps{margin:0}
.caps,.kicker,.facts dd,:where(main legend,main th){font:600 11.5px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.more,address a,.links a{display:inline-flex;align-items:center;min-height:44px}
.more{font-weight:600}
/* section defaults */
@layer kit-default{
.head{padding-block:var(--s-8) var(--s-7)}
.hero-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--s-7);align-items:center}
.sec{display:grid;gap:var(--s-5) var(--s-7);padding-block:var(--s-7);border-top:1px solid var(--line)}
[data-main]>.wrap{width:100%}
@media (max-width:760px){.hero-in{grid-template-columns:minmax(0,1fr)}.hero-in .kv-art{min-height:180px}}
}
.head-main{display:grid;gap:var(--s-3);justify-items:start;min-width:0}
.head-main>:empty{display:none}
#h1{font:400 clamp(2.4rem,1.5rem + 3.4vw,4.4rem)/1.06 var(--serif);letter-spacing:-.015em;max-width:15ch}
.lead{max-width:50ch;margin:0;font:400 var(--t-md)/1.6 var(--sans);color:var(--ink-2)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-5);margin-top:var(--s-3)}
.actions .btn,.form .btn-primary{min-height:48px;padding-inline:var(--s-5);font-size:var(--t-md)}
.visit{display:grid;gap:var(--s-3);align-content:start;min-width:0;padding-top:var(--s-5);border-top:1px solid var(--line)}
.hours div{display:flex;justify-content:space-between;gap:var(--s-4);padding-block:9px;font-size:var(--t-sm);border-bottom:1px solid var(--line)}
.hours dd{margin:0;text-align:right}
address{display:grid;justify-items:start;font-style:normal;overflow-wrap:anywhere}
.sec>*,.contact>*{min-width:0}
.sec-h,.sec-c{display:grid;gap:var(--s-2);align-content:start}
.sec-c{gap:var(--s-4)}
.sec-c p{margin:0}
.sec-c>.more{justify-self:start}
@media (min-width:900px){
.contact .visit{padding:0 0 0 var(--s-5);border-top:0;border-left:1px solid var(--line)}
.contact{grid-template-columns:minmax(0,34rem) minmax(0,300px);justify-content:space-between}}

.items li{display:grid;gap:var(--s-1);padding-block:var(--s-4)}
.items li+li{border-top:1px solid var(--line)}
.row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-4)}
.items h3{min-width:0;font:400 var(--t-xl)/1.2 var(--serif)}
.price{flex:none;font:700 var(--t-md)/1.3 var(--sans)}
.txt,.note,.hint,.hours dt,.status p,.quotes figcaption,.facts dd{color:var(--ink-2)}
.note,.hint,.quotes figcaption,.facts dd{font-size:var(--t-sm)}
.quotes,.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:var(--s-5);margin:0}
.quotes figure{display:grid;gap:var(--s-3);align-content:start;margin:0}
.quotes blockquote{margin:0;font:400 clamp(1.25rem,1.05rem + .8vw,1.7rem)/1.4 var(--serif)}
.facts{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}
.facts dt{font:400 clamp(2.2rem,1.6rem + 2vw,3.4rem)/1 var(--serif);letter-spacing:-.02em}
.facts dd{margin:12px 0 0}
.contact{display:grid;gap:var(--s-7)}
.form{display:grid;gap:var(--s-4)}
.field{display:grid;gap:6px}
.field p{margin:0}
.error{display:flex;align-items:center;gap:6px}
.error::before{content:"!";display:grid;place-items:center;flex:none;width:16px;height:16px;border:1.5px solid;border-radius:50%;font:700 11px/1 var(--sans)}
textarea{resize:vertical}
.form .btn{justify-self:start}
.status:not(:empty),.empty{display:grid;gap:var(--s-3);justify-items:start;padding-block:var(--s-5);border-block:1px solid var(--line)}
.empty .t{font:700 var(--t-lg)/1.2 var(--serif)}
.foot{border-top:1px solid var(--line);background:var(--band);font-size:var(--t-sm);color:var(--ink-2)}
.foot-in{display:grid;gap:var(--s-1);padding-block:var(--s-6) var(--s-7)}
.foot p{margin:0}
.foot .brand{min-height:0}
.links{display:flex;flex-wrap:wrap;column-gap:var(--s-5)}
/* variety: readable on accent panel */
html[data-l-fs=block] .head-main :is(.more,.visit .caps,.visit dt,.visit dd,.visit a){color:var(--on-accent)}
@media (max-width:760px){html[data-l-nav=split] [data-sec=nav] .nav{grid-template-columns:minmax(0,1fr);row-gap:0}html[data-l-nav=split] [data-sec=nav] .nav>:is(:first-child,:last-child){grid-column:1;grid-row:auto;justify-self:start}html[data-l-fs=minimal] [data-sec=nav] .nav>ul:last-child:not(:first-child){position:static;justify-content:center}html[data-l-fs=sidebar] [data-sec=nav] .nav ul{display:flex}}
/* variety off */
@media (min-width:900px){
:is(html:not([data-kv-art]),html[data-l-fs=type]) .has-aside [data-hero-text]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);column-gap:var(--s-6);align-items:end}
:is(html:not([data-kv-art]),html[data-l-fs=type]) .has-aside [data-hero-text] > :not(aside){grid-column:1}
:is(html:not([data-kv-art]),html[data-l-fs=type]) .has-aside [data-hero-text] > aside{grid-column:2;grid-row:1 / span 4;align-self:start;padding:20px 22px;border:1px solid var(--line)}
}
/* variety: first screens */
@media (min-width:960px){
html[data-l-fs=catalogue] #head [data-hero-text]{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--s-6);row-gap:var(--s-4);align-items:start}
html[data-l-fs=catalogue] #head [data-hero-text] > :is(.kicker,h1){grid-column:1 / -1;grid-row:auto;max-width:none}
html[data-l-fs=catalogue] #head [data-hero-text] > .lead{grid-column:1;grid-row:3;font-size:var(--t-md)}
html[data-l-fs=catalogue] #head [data-hero-text] > .actions{grid-column:2;grid-row:3;margin-top:0;align-self:start}
html[data-l-fs=catalogue] #head [data-hero-text] > aside{grid-column:3;grid-row:3;padding:0 0 0 var(--s-5);border-top:0;border-left:1px solid var(--line)}
html[data-l-fs=story] [data-main]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--s-6);align-items:start;padding-inline:max(0px,(100% - var(--page)) / 2)}
html[data-l-fs=story] [data-main] > section{grid-column:1 / -1}
html[data-l-fs=story] [data-main] > #head{grid-column:1;grid-row:1;padding-right:0}
html[data-l-fs=story] [data-main] > [data-sec=story]{grid-column:2;grid-row:1;align-self:start;grid-template-columns:minmax(0,1fr);margin:var(--s-7) var(--gutter) 0 0;padding:var(--s-6);border:0;border-radius:var(--r-card);background:var(--sunk-0,var(--sunk))}
html[data-l-fs=mosaic] #head{padding-block:var(--s-7) var(--s-6)}
html[data-l-fs=mosaic] #head .hero-in{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-6)}
html[data-l-fs=mosaic] #head .kv-art[data-hero-media]{position:relative;inset:auto;z-index:auto;order:1;height:170px;min-height:0;opacity:1;border-radius:var(--r-card)}
html[data-l-fs=mosaic] #head [data-hero-text]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);column-gap:var(--s-7);max-width:none;padding:0;border-radius:0;background:none}
html[data-l-fs=mosaic] #head [data-hero-text] > :not(aside){grid-column:1}
html[data-l-fs=mosaic] #head [data-hero-text] > aside{grid-column:2;grid-row:1 / span 4;align-self:start;padding:0 0 0 var(--s-5);border-top:0;border-left:1px solid var(--line)}
}

.hero-photo{position:absolute;inset:0;z-index:1;margin:0;overflow:hidden;background:transparent}
.hero-photo img{display:block;width:100%;height:100%;object-fit:cover}
.hero-credit{position:absolute;inset:auto 0 0 auto;z-index:2;margin:0;padding:2px 8px;font-size:.7rem;line-height:1.5;color:#fff;background:rgba(0,0,0,.62);border-top-left-radius:8px}
.hero-credit:empty{display:none}.hero-credit a{color:inherit;display:inline-flex;align-items:center;min-height:44px}
.hero-cta{margin:var(--s-4,16px) 0 0}
html[data-l-fs] [data-sec=hero] [data-hero-media] > .hero-photo:not([hidden]){display:block}
html .head:not(.hero)[data-sec=hero] [data-hero-media] > .hero-photo{display:none} /* photo on hero page only */

.sec-photo{margin:0;border-radius:24px;overflow:hidden;background:var(--sunk);position:relative;min-width:0}
.sec-photo img{display:block;width:100%;height:clamp(240px,44vh,440px);object-fit:cover}
.sec-credit{position:absolute;inset:auto 0 0 auto;margin:0;padding:0 8px;font-size:.7rem;color:#fff;background:rgba(0,0,0,.62);border-top-left-radius:8px}.sec-credit a{color:inherit;display:inline-flex;align-items:center;min-height:44px}
.sec-body{display:grid;gap:var(--s-5,20px)}
@media (min-width:860px){.has-photo .sec-body{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:start}}
@media (max-width:859px){.sec-photo img{height:clamp(150px,24vh,30vh)}}
html[data-l-fs=block] [data-sec=hero] [data-hero-text] .kicker{color:var(--on-accent,#fff);background:transparent;box-shadow:inset 0 0 0 1px currentColor}
/* overlay / minimal */
@media (min-width:960px){html:is([data-l-fs=overlay],[data-l-fs=minimal]) [data-main] > .sec:not(.bare){grid-template-columns:minmax(0,1fr)}html:is([data-l-fs=overlay],[data-l-fs=minimal]) [data-main] > [data-sec=list] [data-list]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s-7)}}
.local-note{margin:var(--s-2) 0 0;font-size:var(--t-sm);color:var(--ink-2)}
/* florist v4 */
body{--band:color-mix(in oklab,var(--accent) 7%,var(--bg));background:color-mix(in oklab,var(--accent) 3%,var(--bg))}
.top{position:sticky;top:10px;z-index:20;width:min(var(--page),calc(100% - 2*var(--gutter)));margin:10px auto 0;border:1px solid var(--line);border-radius:28px;background:var(--surface);box-shadow:var(--shadow-pop)}
.top>.nav{width:100%;padding-inline:20px}
.sec-h h2,.status h2,.empty .t{font:400 clamp(1.9rem,1.3rem + 1.8vw,2.9rem)/1.1 var(--serif);letter-spacing:-.01em}
.kicker{padding:0;background:none}
#main .btn{border-radius:99px}
#actions .more,.sec-c>.more{padding-inline:22px;min-height:46px;border:1px solid color-mix(in oklab,var(--ink) 28%,transparent);border-radius:99px;color:var(--ink);text-decoration:none}
.head.hero{padding-block:clamp(28px,5vw,64px) clamp(48px,7vw,96px)}
.hero .hero-in{align-items:stretch}
html .hero .kv-art{min-height:clamp(280px,50vh,560px);border-radius:50% 50% 24px 24px/38% 38% 24px 24px;box-shadow:var(--shadow-card)}
html[data-l-fs=type] .hero .kv-art{margin-top:var(--s-6);border-radius:50% 50% 24px 24px/70% 70% 24px 24px}
html[data-l-fs=type] .head.hero{padding-block:clamp(40px,6vw,72px);background:none}
html[data-l-fs=type] .hero::after{display:none}
.head .visit{width:min(100%,380px);padding:20px 22px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-card)}
.sec{padding-block:clamp(56px,8vw,112px);border-top:0}
:is([data-sec=stats],[data-sec=proof]){background:var(--band);box-shadow:0 0 0 100vmax var(--band);clip-path:inset(0 -100vmax)}
@media (min-width:860px){.has-photo .sec-body{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,72px)}.sec.has-photo:nth-child(odd) .sec-photo{order:-1}}
.items{border-top:1px solid var(--line)}
:root .items>li{padding:18px 0;border-radius:0;background:none;box-shadow:none}
.quotes figure::before{content:"\201C";font:4rem/.5 var(--serif);color:var(--accent)}
.contact .form{padding:clamp(20px,4vw,36px);border:1px solid var(--line);border-radius:24px;background:var(--surface)}
@media (min-width:960px){.head .visit a{overflow-wrap:anywhere}
html:not([data-l-fs]) .has-aside .visit{position:relative;z-index:3;justify-self:end;margin-right:calc(-1*max(0px,min(96px,(100vw - var(--page))/2 + var(--gutter) - 20px)))}
html[data-l-fs=sidebar] body{background:linear-gradient(90deg,var(--surface) 250px,var(--line) 0 251px,transparent 0) var(--bg)}html[data-l-fs=sidebar] body::before{content:none}html[data-l-fs=sidebar] .sec{clip-path:inset(0 -100vmax 0 0)}html[data-l-fs=sidebar] .top{width:auto;margin:0;border-width:0 1px 0 0;border-radius:0;box-shadow:none}}
@media (max-width:760px){.top .nav,.nav ul{justify-content:center;column-gap:20px}.top .brand{width:100%;margin:0;justify-content:center}}
@media (max-width:760px){html:is(:not([data-l-fs]),[data-l-fs=type]) .has-aside .hero-in{display:grid;gap:14px}html:is(:not([data-l-fs]),[data-l-fs=type]) .has-aside .head-main{display:contents}.has-aside .head-main>aside{order:2}}
/* baseline for added sections */
:where(main fieldset){margin:0;padding:var(--s-5);border:1px solid var(--line);border-radius:20px}
:where(main :is(input:not([type=checkbox],[type=radio]),select,textarea)){border-radius:14px}
:where(main dl:not(.hours,.facts) dt){font:var(--t-lg)/1.3 var(--serif)}
:where(main table){width:100%;border-collapse:collapse}
:where(main :is(th,td)){padding:12px 8px;border-bottom:1px solid var(--line);text-align:left}
:where(main :is(.card,article)){padding:var(--s-5);border-radius:20px;background:var(--surface)}
