/* Section layout library — preview renderer. Uses site design tokens. */

/* ——— Before-state: recreates the live booking/CTA alignment bug ——— */
.sl-before.pg-cta-sec{background:var(--sunk,#efede8);padding:var(--sec) 0;min-height:420px;position:relative;border:1px solid var(--ink)}
.sl-before .pg-cta{text-align:center;max-width:40rem;margin:0 auto;padding:0 var(--pad);width:100%}
.sl-before .pg-cta .lead{font-size:var(--t-lg);line-height:1.55;color:var(--ink2);max-width:36ch;margin:0;text-align:center} /* no margin:auto — the live bug */
.sl-before .pg-cta h2{font:600 var(--t-h2)/1.1 var(--fd);letter-spacing:-.03em;margin:0 0 var(--s4)}
.sl-before .pg-cta .eb{font:600 var(--t-xs)/1 var(--fb);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:var(--s4)}
.sl-before .ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--s5);justify-content:flex-start} /* live: not centered */
.sl-before-chip{
  position:absolute;top:12px;left:12px;z-index:2;
  background:var(--ink);color:#fff;font:600 11px/1 var(--fb);
  letter-spacing:.08em;text-transform:uppercase;padding:6px 9px;border-radius:999px;
}

/* ——— Shared layout chrome ——— */
section.sl{font:400 16px/1.55 var(--fb);color:var(--ink);background:var(--sf);overflow:hidden;width:100%;display:block}
section.sl[data-bg=sunk],section.sl[data-bg=sunk] .sl-card{background:var(--sunk)}
section.sl[data-bg=sunk]{background:var(--sunk)}
section.sl[data-bg=bg]{background:var(--bg)}
section.sl[data-bg=ink]{background:var(--ink);color:#fff}
section.sl[data-bg=ink] .sl-lead,section.sl[data-bg=ink] .sl-meta,section.sl[data-bg=ink] .sl-kicker{color:rgba(255,255,255,.78)}
section.sl[data-bg=ink] .sl-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#fff}
section.sl[data-bg=ink] .sl-card .sl-meta{color:rgba(255,255,255,.7)}
section.sl[data-bg=ink] .btn-p{background:#fff;color:var(--ink)}
section.sl[data-bg=ink] .btn-p:hover{background:var(--sunk)}
section.sl[data-bg=ink] .btn-s{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
section.sl[data-bg=ink] .btn-s:hover{background:#fff;color:var(--ink)}
section.sl[data-align=center]{text-align:center}
section.sl[data-align=center] .sl-lead,
section.sl[data-align=center] .sl-intro{margin-left:auto;margin-right:auto}
section.sl[data-align=center] .sl-ctas,
section.sl[data-align=center] .sl-hd{justify-content:center}
section.sl[data-align=center] .sl-hd{align-items:center}

.sl-inner{max-width:var(--w,1280px);margin:0 auto;padding:clamp(48px,7vw,96px) var(--pad,clamp(20px,4vw,40px))}
.sl-inner.tight{padding-top:clamp(32px,5vw,56px);padding-bottom:clamp(32px,5vw,56px)}
.sl-kicker{font:600 11px/1 var(--fb);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:0 0 12px}
.sl-title{font:600 clamp(28px,3.4vw,44px)/1.08 var(--fd);letter-spacing:-.03em;margin:0 0 14px;text-wrap:balance}
.sl-title.sm{font-size:clamp(22px,2.4vw,32px)}
.sl-lead{font:400 17.5px/1.55 var(--fb);color:var(--ink2);max-width:38rem;margin:0 0 0;text-wrap:pretty}
.sl-intro{display:grid;gap:0;max-width:42rem;margin:0 0 var(--s6)}
.sl-intro .sl-lead{margin-top:2px}
.sl-hd{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s5) var(--s7);margin-bottom:var(--s6)}
.sl-hd .sl-intro{margin-bottom:0}
.sl-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--s5)}
.sl-ctas:empty{display:none;margin:0}
.sl-media{border-radius:var(--r3);overflow:hidden;background:var(--sunk2);aspect-ratio:4/3;min-height:200px;position:relative}
.sl-media.portrait{aspect-ratio:4/5}
.sl-media.wide{aspect-ratio:16/10}
.sl-media.square{aspect-ratio:1}
.sl-media img{width:100%;height:100%;object-fit:cover;display:block}
.sl-media .sl-map{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(22,24,27,.04),rgba(22,24,27,.08)),
    repeating-linear-gradient(90deg,transparent,transparent 31px,rgba(22,24,27,.06) 32px),
    repeating-linear-gradient(0deg,transparent,transparent 31px,rgba(22,24,27,.06) 32px),
    #e4e8e6;
  display:grid;place-items:center;color:var(--ink);text-align:center;padding:20px;
}
.sl-media .sl-map b{display:block;font:600 14px/1.3 var(--fd);margin-top:8px}
.sl-media .sl-map span{display:block;font:500 12.5px/1.4 var(--fb);color:var(--mute)}
.sl-pin{width:36px;height:36px;border-radius:50% 50% 50% 0;background:var(--ink);transform:rotate(-45deg);margin:0 auto 4px}
.sl-pin::after{content:"";display:block;width:12px;height:12px;border-radius:50%;background:#fff;position:relative;top:12px;left:12px}

/* Split (image + text).
   Scope the grid to the INNER wrapper (div.sl-split) only. The section used to
   also get class "sl sl-split", so it became a 2-column grid with a single
   child (.sl-inner) in the first column — the right half of the container
   was empty and the image looked small. */
div.sl-split{
  display:grid;
  gap:clamp(28px,4.5vw,56px);
  align-items:center;
  width:100%;
  min-width:0;
}
@media(min-width:800px){
  /* Text ~45% left, image ~55% right (swapped when the image is on the left). */
  div.sl-split{grid-template-columns:minmax(0,45fr) minmax(0,55fr)}
  div.sl-split[data-side=left]{grid-template-columns:minmax(0,55fr) minmax(0,45fr)}
  div.sl-split[data-side=right] .sl-media{order:2}
  div.sl-split[data-side=left] .sl-copy{order:2}
}
div.sl-split .sl-copy{min-width:0;align-self:center}
div.sl-split .sl-media{
  width:100%;
  justify-self:stretch;
  align-self:center;
  aspect-ratio:4/3;
  min-height:clamp(340px,38vw,540px);
}
div.sl-split .sl-media.wide,
div.sl-split .sl-media.square{aspect-ratio:4/3}
.sl-copy .sl-title{margin-bottom:16px}

/* Overlay hero */
.sl-overlay{position:relative;min-height:min(68vh,620px);display:flex;color:#fff;background:var(--ink)}
.sl-overlay .sl-media{position:absolute;inset:0;border-radius:0;aspect-ratio:auto;min-height:0;z-index:0}
.sl-overlay .sl-media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(16,18,20,.2) 0%,rgba(16,18,20,.58) 50%,rgba(16,18,20,.78) 100%);
}
.sl-overlay[data-overlay=heavy] .sl-media::after{background:linear-gradient(180deg,rgba(16,18,20,.4),rgba(16,18,20,.82))}
.sl-overlay .sl-inner{position:relative;z-index:1;width:100%;display:flex;flex-direction:column;justify-content:flex-end;min-height:min(68vh,620px)}
.sl-overlay[data-valign=center] .sl-inner{justify-content:center}
.sl-overlay .sl-kicker,.sl-overlay .sl-lead{color:rgba(255,255,255,.86)}
.sl-overlay .sl-title{font-size:clamp(36px,5vw,68px);letter-spacing:-.035em}

/* Minimal / band */
.sl-minimal .sl-intro,.sl-band .sl-intro{max-width:44rem}
.sl-band .sl-inner{display:grid;gap:var(--s6);align-items:center}
@media(min-width:800px){
  .sl-band[data-split] .sl-inner{grid-template-columns:1.1fr .9fr}
}

/* Cards */
.sl-cards{list-style:none;display:grid;gap:var(--s5);margin:0;padding:0}
.sl-cards[data-cols="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.sl-cards[data-cols="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.sl-cards[data-cols="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){
  .sl-cards[data-cols="3"],.sl-cards[data-cols="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .sl-cards[data-cols="2"],.sl-cards[data-cols="3"],.sl-cards[data-cols="4"]{grid-template-columns:1fr}
}
.sl-card{
  display:flex;flex-direction:column;gap:8px;text-align:left;
  background:var(--sf);border:1px solid var(--line);border-radius:var(--r3);
  padding:22px 22px 20px;box-shadow:var(--sh1);min-width:0;color:inherit;text-decoration:none;
}
.sl-card h3{font:600 17px/1.25 var(--fd);letter-spacing:-.015em;margin:0}
.sl-card p{margin:0;font:400 14.5px/1.5 var(--fb);color:var(--ink2)}
.sl-card .sl-price{font:600 26px/1 var(--fd);letter-spacing:-.03em;margin-top:auto;padding-top:14px;font-variant-numeric:tabular-nums}
.sl-card .sl-dur{font:500 12.5px/1 var(--fb);color:var(--mute)}
.sl-card .sl-card-cta{margin-top:14px;align-self:flex-start}
.sl-card .sl-media{aspect-ratio:16/10;min-height:0;margin:-22px -22px 8px;border-radius:var(--r3) var(--r3) 0 0;border:0}
.sl-icon{
  width:36px;height:36px;border-radius:10px;display:grid;place-items:center;
  background:var(--ink);color:#fff;margin-bottom:6px;
}
.sl-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
section.sl[data-bg=ink] .sl-icon{background:#fff;color:var(--ink)}

/* Price rows */
.sl-rows{list-style:none;margin:0;padding:0;display:grid;gap:0}
.sl-rows li{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 24px;align-items:center;
  padding:18px 0;border-top:1px solid var(--line);
}
.sl-rows[data-style=cards]{gap:12px}
.sl-rows[data-style=cards] li{
  border:1px solid var(--line);border-radius:var(--r3);padding:18px 20px;background:var(--sf);box-shadow:var(--sh1)
}
.sl-rows[data-style=compact] li{padding:12px 0}
.sl-rows h3{font:600 16.5px/1.3 var(--fd);margin:0}
.sl-rows p{margin:4px 0 0;font:400 13.5px/1.45 var(--fb);color:var(--ink2)}
.sl-rows .sl-row-p{text-align:right;display:grid;gap:6px;justify-items:end;align-content:center}
.sl-rows .sl-price{font:600 18px/1 var(--fd);font-variant-numeric:tabular-nums;white-space:nowrap}

/* Featured + list */
.sl-featlist{display:grid;gap:var(--s6)}
@media(min-width:860px){
  .sl-featlist[data-featured=left]{grid-template-columns:1.05fr 1fr;align-items:stretch}
}
.sl-featured{
  background:var(--ink);color:#fff;border-radius:var(--r3);padding:32px 28px;
  display:flex;flex-direction:column;gap:8px;
}
.sl-featured .sl-kicker,.sl-featured .sl-dur,.sl-featured p{color:rgba(255,255,255,.78)}
.sl-featured .sl-price{font:600 36px/1 var(--fd);letter-spacing:-.03em;margin:12px 0 8px}
.sl-featured .btn-p{background:#fff;color:var(--ink);margin-top:auto;align-self:flex-start}

/* Steps */
.sl-steps{list-style:none;margin:0;padding:0;display:grid;gap:var(--s5)}
.sl-steps[data-dir=horizontal]{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:720px){.sl-steps[data-dir=horizontal]{grid-template-columns:1fr}}
.sl-steps li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px 16px;text-align:left;align-items:start}
.sl-num{
  width:36px;height:36px;border-radius:50%;display:grid;place-items:center;
  background:var(--ink);color:#fff;font:600 14px/1 var(--fd);
}
section.sl[data-bg=ink] .sl-num{background:#fff;color:var(--ink)}
.sl-steps h3{font:600 16.5px/1.25 var(--fd);margin:6px 0 4px}
.sl-steps p{margin:0;font:400 14.5px/1.5 var(--fb);color:var(--ink2)}
section.sl[data-bg=ink] .sl-steps p{color:rgba(255,255,255,.78)}

/* Logo strip / brands */
.sl-strip{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:center;margin:0;padding:0;list-style:none}
.sl-strip[data-style=grid]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.sl-mark{
  display:flex;align-items:center;justify-content:center;gap:10px;
  min-height:64px;padding:12px 18px;border:1px solid var(--line);border-radius:var(--r2);
  background:var(--sf);font:600 15px/1 var(--fd);letter-spacing:-.02em;min-width:140px;
}
.sl-mark .sl-avatar{
  width:32px;height:32px;border-radius:8px;background:var(--ink);color:#fff;
  display:grid;place-items:center;font:600 11px/1 var(--fb);letter-spacing:.04em;
}
.sl-strip[data-style=grid] .sl-mark{flex-direction:column;min-height:100px;text-align:center}

/* Spotlight */
.sl-spot{display:grid;gap:var(--s6);align-items:center}
@media(min-width:860px){
  .sl-spot{grid-template-columns:1.2fr .8fr}
  .sl-spot[data-side=right] .sl-spot-main{order:2}
}
.sl-spot-main{display:grid;gap:14px}
.sl-spot-main .sl-media{aspect-ratio:16/10;min-height:0}
.sl-spot-side{display:grid;gap:12px}

/* Product card extras */
.sl-prod .sl-brand{font:600 11px/1 var(--fb);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}

/* Alternating blocks */
.sl-alt{display:grid;gap:clamp(36px,6vw,72px)}
.sl-alt-row{display:grid;gap:clamp(20px,4vw,48px);align-items:center}
@media(min-width:800px){
  .sl-alt-row{grid-template-columns:1fr 1fr}
  .sl-alt-row.flip .sl-media{order:2}
}

/* Checklist */
.sl-check{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.sl-check[data-cols="2"]{grid-template-columns:1fr 1fr}
@media(max-width:700px){.sl-check[data-cols="2"]{grid-template-columns:1fr}}
.sl-check li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;text-align:left}
.sl-tick{
  width:22px;height:22px;border-radius:50%;background:var(--ok-s);color:var(--ok);
  display:grid;place-items:center;margin-top:1px;
}
.sl-tick svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round}
.sl-check h3{font:600 15.5px/1.3 var(--fd);margin:0}
.sl-check p{margin:2px 0 0;font:400 13.5px/1.45 var(--fb);color:var(--ink2)}
.sl-check-wrap{display:grid;gap:var(--s6);align-items:center}
@media(min-width:800px){.sl-check-wrap.has-img{grid-template-columns:1.05fr .95fr}}

/* FAQ */
.sl-faq{display:grid;gap:8px;margin:0}
.sl-faq[data-cols="2"]{grid-template-columns:1fr 1fr;gap:10px 20px}
@media(max-width:720px){.sl-faq[data-cols="2"]{grid-template-columns:1fr}}
.sl-faq details{
  border:1px solid var(--line);border-radius:var(--r2);background:var(--sf);padding:0 18px;
}
.sl-faq summary{
  cursor:pointer;font:600 15.5px/1.35 var(--fd);padding:16px 0;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;
}
.sl-faq summary::-webkit-details-marker{display:none}
.sl-faq summary::after{content:"+";font:500 20px/1 var(--fb);color:var(--mute);flex:none}
.sl-faq details[open] summary::after{content:"–"}
.sl-faq details p{margin:0 0 16px;font:400 14.5px/1.55 var(--fb);color:var(--ink2)}

/* Hours */
.sl-hours{display:grid;gap:var(--s6);align-items:start}
@media(min-width:800px){
  .sl-hours[data-side=right]{grid-template-columns:1fr 1.05fr}
  .sl-hours[data-side=top]{grid-template-columns:1fr}
}
.sl-hl{list-style:none;margin:0;padding:0;display:grid;gap:0;max-width:28rem}
.sl-hl li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font:500 14.5px/1.3 var(--fb)}
.sl-hl li span:last-child{font-variant-numeric:tabular-nums;color:var(--ink2)}
.sl-addr{margin:0 0 var(--s4);font:500 15px/1.5 var(--fb)}
.sl-contact-l{list-style:none;margin:0 0 var(--s5);padding:0;display:grid;gap:6px}
.sl-contact-l a{font:600 14.5px/1.3 var(--fb);text-decoration:underline;text-underline-offset:3px}

/* Newsletter */
.sl-nl{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--s5);max-width:32rem}
.sl-nl .in{flex:1;min-width:200px}
.sl-help{margin:10px 0 0;font:500 12.5px/1.4 var(--fb);color:var(--mute)}
section.sl[data-align=center] .sl-nl{margin-left:auto;margin-right:auto}

/* Gallery */
.sl-gal{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}
.sl-gal[data-cols=mosaic]{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(120px,1fr)}
.sl-gal[data-cols=mosaic] figure:first-child{grid-column:span 2;grid-row:span 2}
.sl-gal[data-cols=wide]{grid-template-columns:repeat(6,minmax(0,1fr))}
.sl-gal[data-cols=wide] figure:nth-child(-n+2){grid-column:span 3}
.sl-gal[data-cols=wide] figure:nth-child(n+3){grid-column:span 2}
.sl-gal figure{margin:0;border-radius:var(--r2);overflow:hidden;background:var(--sunk2);aspect-ratio:4/3}
.sl-gal[data-cols=mosaic] figure:first-child{aspect-ratio:auto}
.sl-gal img{width:100%;height:100%;object-fit:cover;display:block}
.sl-gal figcaption{font:500 12.5px/1.3 var(--fb);color:var(--mute);padding:8px 2px 0}
@media(max-width:700px){.sl-gal,.sl-gal[data-cols=mosaic],.sl-gal[data-cols=wide]{grid-template-columns:1fr 1fr} .sl-gal[data-cols=mosaic] figure:first-child,.sl-gal[data-cols=wide] figure{grid-column:span 1;grid-row:auto}}

/* Placeholders (reviews / team) — never look like real quotes */
.sl-ph{
  border:1.5px dashed var(--line2);border-radius:var(--r3);
  background:color-mix(in srgb,var(--sunk) 60%,#fff);
  padding:28px 24px;text-align:center;color:var(--ink2);
}
.sl-ph b{display:block;font:600 16px/1.3 var(--fd);color:var(--ink);margin:8px 0 6px}
.sl-ph p{margin:0 auto;max-width:36rem;font:400 14.5px/1.5 var(--fb)}
.sl-ph-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}
@media(max-width:700px){.sl-ph-grid{grid-template-columns:1fr}}
.sl-ph-card{
  border:1px dashed var(--line2);border-radius:var(--r2);background:var(--sf);
  min-height:120px;padding:18px;display:grid;gap:8px;justify-items:center;align-content:center;
  color:var(--faint);font:500 12.5px/1.4 var(--fb);
}
.sl-face{width:48px;height:48px;border-radius:50%;background:var(--sunk2);border:1px dashed var(--line2)}
.sl-warn-pill{
  display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;
  background:var(--warn-s);color:var(--warn);font:600 11px/1 var(--fb);letter-spacing:.02em;text-transform:uppercase;
}

/* Story band */
.sl-story .sl-lead{max-width:48rem;font-size:18.5px}

/* Thumbnail schematics for the library browser */
.sl-thumb{
  display:block;width:100%;aspect-ratio:16/10;border-radius:8px;overflow:hidden;
  background:var(--bg);border:1px solid var(--line);position:relative;pointer-events:none;
}
.sl-thumb i{display:block;position:absolute;background:var(--sunk2);border-radius:2px}
.sl-thumb .t-img{background:var(--sunk2)}
.sl-thumb .t-ink{background:var(--ink)}
.sl-thumb .t-line{height:3px;background:var(--ink);opacity:.7;border-radius:2px}
.sl-thumb .t-line.muted{opacity:.28}
.sl-thumb[data-kind=split] .t-img{left:52%;top:10%;right:8%;bottom:10%;border-radius:3px}
.sl-thumb[data-kind=split] .t-line{left:8%;right:52%;height:4px}
.sl-thumb[data-kind=overlay] .t-img{inset:0;border-radius:0;background:#3a3d42}
.sl-thumb[data-kind=overlay] .t-line{background:#fff;left:10%;bottom:18%;width:40%}
.sl-thumb[data-kind=band] .t-ink{inset:12% 6%;border-radius:4px}
.sl-thumb[data-kind=band] .t-line{background:#fff;left:18%;right:18%;top:44%;height:4px}
.sl-thumb[data-kind=cards] .t-img{top:38%;bottom:14%;width:26%;border-radius:3px}
.sl-thumb[data-kind=rows] .t-line{left:8%;right:8%;height:6px;border-radius:2px;opacity:.2}
.sl-thumb[data-kind=steps] .t-ink{width:12px;height:12px;border-radius:50%}
.sl-thumb[data-kind=faq] .t-line{left:10%;right:10%;height:8px;border-radius:3px;opacity:.2}
.sl-thumb[data-kind=hours] .t-img{right:8%;top:14%;bottom:14%;width:38%;border-radius:3px}
.sl-thumb[data-kind=gallery] .t-img{border-radius:2px}
.sl-thumb[data-kind=placeholder]{background:var(--warn-s)}
.sl-thumb[data-kind=placeholder] .t-line{background:var(--warn);opacity:.4}
.sl-thumb[data-kind=newsletter] .t-line{left:15%;right:15%}
.sl-thumb[data-kind=strip] .t-img{height:28%;top:36%;border-radius:3px;width:18%}
.sl-thumb[data-kind=spotlight] .t-img{left:8%;top:14%;bottom:14%;width:48%;border-radius:3px}

@media(prefers-reduced-motion:reduce){
  section.sl,section.sl *{transition:none!important;animation:none!important}
}


/* Shop page .sl service-list collision guard
   index.html (and live sitecms-shop) has leftover homepage CSS for a
   <ul class="sl"> price list: `.sl p { grid-area:d }`, `.sl h3 { grid-area:n }`,
   `.sl { border-top }`. Those unprefixed selectors used to also match our
   section.sl (before this file scoped its own rules to section.sl) and
   scatter the kicker/title/intro into columns, overlap “PRISER” on the
   lead, and shrink the intro. Resets below win on specificity (section.sl …)
   even if the shop rules are loaded later. The shop list itself should be
   scoped to ul.sl — see AI-SECTION-QUALITY.md. All chrome in this file is
   now section.sl so it cannot leak into ul.sl. */
section.sl{border-top:none;list-style:none}
section.sl .sl-intro,section.sl .sl-intro>*{grid-area:auto}
section.sl p{grid-area:auto;color:inherit;font-size:inherit;max-width:none}
section.sl h3{grid-area:auto}
section.sl .btn{grid-area:auto;justify-self:auto;margin-top:0}
section.sl .p{grid-area:auto}
section.sl .sl-kicker{font:600 11px/1 var(--fb);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:0 0 12px;max-width:none}
section.sl .sl-lead{font:400 17.5px/1.55 var(--fb);color:var(--ink2);max-width:38rem;margin:0;text-wrap:pretty}
section.sl .sl-title{font:600 clamp(28px,3.4vw,44px)/1.08 var(--fd);letter-spacing:-.03em;margin:0 0 14px;text-wrap:balance;color:inherit}
