/* ==========================================================================
   shared/frames/landing.css — the Landing (a whole page), v2. Self-contained:
   the page at /l/:id loads this file and nothing else from frames.css, so it
   carries its own copy of the few base rules it needs (box sizing, editable
   text, the selection ring). Styled only by the --f-* tokens families.js sets.
   RULE (Edit ≡ Try): nothing here depends on [data-mode] except outlines,
   cursors, pointer-events, placeholders and absolutely positioned pseudo-elements.
   NO container queries and no viewport-height units: a container is a containing
   block for position:fixed (the Nav header pins itself, a Card Grid sheet lifts
   itself over the page), and in the editor the page's own height sizes its frame.
   ========================================================================== */
.fr.fr-landing{
  --edit-ring:#A597F2; --edit-hover:rgba(165,151,242,.5); --edit-sel:rgba(165,151,242,.2); --edit-caret:#B4A8F5;
  --font-u:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --lb-pad:clamp(20px,5vw,48px);
  --lb-acc-t:var(--f-accent-light);
  container-type:normal;position:relative;display:block;min-width:0;text-align:left;
  margin:0;border-radius:0;box-shadow:none;background-color:var(--f-bg);background-image:var(--f-texture,none);color:var(--f-text);
  font-family:var(--f-font,var(--font-u));font-weight:var(--f-wt,400);font-size:1rem;line-height:var(--f-lh-t,1.6);
  -webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;
}
.fr-landing[data-light]{--edit-ring:#6A5BD0;--edit-hover:rgba(106,91,208,.45);--edit-sel:rgba(106,91,208,.16);--edit-caret:#6A5BD0;--lb-acc-t:var(--f-accent)}
/* the page's own resets never reach inside a section (a page brought in keeps its own: :where() adds no weight) */
.fr-landing *:where(:not(.ws-cf,.ws-cf *)),.fr-landing *:where(:not(.ws-cf *))::before,.fr-landing *:where(:not(.ws-cf *))::after{box-sizing:border-box}
.fr-landing :where(h1,h2,h3,p,figure,ul,ol,hr,blockquote):where(:not(.ws-cf *)){margin:0}
.fr-landing img:where(:not(.ws-cf *)),.fr-landing video:where(:not(.ws-cf *)),.fr-landing iframe:where(:not(.ws-cf *)){display:block;max-width:100%}
.fr-landing a:where(:not(.ws-cf *)){color:inherit}
.fr-landing :focus-visible{outline:2px solid var(--f-accent-light);outline-offset:3px;border-radius:4px}
.fr-landing[data-light] :focus-visible{outline-color:var(--f-accent)}

/* ---- editable text: the same box in every mode (frames.css's rules, for a page that doesn't load it) ---- */
.fr-landing [data-k]:where(:not(.ws-cf *)){white-space:pre-wrap;overflow-wrap:break-word;min-height:1lh;border-radius:3px;outline:1.5px solid transparent;outline-offset:4px}
.fr-landing [data-k]:where(:not(.ws-cf *)):empty::after{content:"\200B"}
.fr-landing[data-mode=edit] [data-k][contenteditable]{cursor:text;caret-color:var(--edit-caret)}
.fr-landing[data-mode=edit] [data-k][contenteditable]:hover{outline-color:var(--edit-hover)}
.fr-landing[data-mode=edit] [data-k][contenteditable]:focus{outline:1.5px solid var(--edit-ring)}
.fr-landing[data-mode=edit] [data-k][contenteditable]:empty::before{content:attr(data-ph);color:var(--f-muted);opacity:.8;pointer-events:none}
.fr-landing[data-mode=edit] .lb-hero.bg-image [data-k][contenteditable]:empty::before{color:rgba(255,255,255,.72)}
.fr-landing[data-mode=edit] ::selection{background:color-mix(in srgb,var(--edit-ring) 34%,transparent)}
/* blocks: a quiet dashed line on hover, the violet ring when selected. Outlines never move a box. */
.fr-landing[data-mode=edit] .fr-item{cursor:default}
.fr-landing[data-mode=edit] .fr-item:hover{outline:1px dashed var(--edit-hover);outline-offset:6px}
.fr-landing[data-mode=edit] .fr-item.is-sel,.fr-landing[data-mode=edit] [data-part].is-sel{outline:2px solid var(--edit-ring);outline-offset:6px}
.fr-landing[data-mode=edit] .lb-hero.is-sel,.fr-landing[data-mode=edit] .lb-image.sz-full.is-sel,.fr-landing[data-mode=edit] [data-part].is-sel{outline-offset:-3px}
.fr-landing[data-mode=edit] .fr-item.is-sel [data-k]:focus{outline-color:transparent}
/* while editing, a click on a frame (or the header) selects its block: the frame itself is tried in Try it */
.fr-landing[data-mode=edit] iframe{pointer-events:none!important}

/* ---- the page ---- */
.lb-main{display:flow-root;padding:var(--lb-gap) 0}
.lb-b{position:relative;width:100%;max-width:calc(var(--lb-w) + 2 * var(--lb-pad));margin-inline:auto;padding-inline:var(--lb-pad)}
.lb-main>.lb-b+.lb-b,.lb-foot>.lb-b+.lb-b{margin-top:var(--lb-gap)}
.lb-main>.lb-hero:first-child{margin-top:calc(-1 * var(--lb-gap))}
.lb-main>.lb-heading+.lb-b:not(.lb-heading){margin-top:calc(var(--lb-gap) * .4)}
.al-center{text-align:center}
.al-right{text-align:right}

/* ---- the header: a Nav frame (its parent.js pins it and leaves a spacer) and the language switch ---- */
.lb-hdr{position:relative;z-index:5}
.lb-navslot{position:relative;min-height:64px}
.lb-navf{width:100%;height:64px;border:0;background:transparent;color-scheme:light}
.lb-lang{display:flex;justify-content:flex-end;align-items:center;gap:8px;max-width:calc(var(--lb-w) + 2 * var(--lb-pad));margin-inline:auto;padding:10px var(--lb-pad) 0;
  font:var(--f-wl,500) .8125rem/1.2 var(--f-font,var(--font-u));letter-spacing:.06em;color:var(--f-muted)}
.lb-lang span{opacity:.5}
.lb-lang-a{display:inline-flex;align-items:center;min-height:32px;min-width:32px;justify-content:center;padding:0 4px;border-radius:6px;text-decoration:none;color:var(--f-muted)}
.lb-lang-a:hover{color:var(--f-text)}
.lb-lang-a[aria-current=page]{color:var(--f-text);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px;text-decoration-color:var(--lb-acc-t)}
.lb-hdr:not(.has-nav)+.lb-main{padding-top:calc(var(--lb-gap) * .6)}

/* ---- hero ---- */
.lb-hero{position:relative;isolation:isolate;display:grid;align-items:end;max-width:none;padding:clamp(56px,9vw,128px) var(--lb-pad);overflow:hidden;
  min-height:clamp(340px,46vw,640px);color:var(--f-text)}
.lb-hero.sz-m{min-height:clamp(260px,30vw,440px)}
.lb-hero.bg-tone{background:radial-gradient(120% 90% at 85% 0%,color-mix(in srgb,var(--f-accent) 26%,transparent),transparent 62%),linear-gradient(180deg,var(--f-raised),var(--f-bg))}
.lb-hero.bg-plain{background:transparent}
.lb-hero-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.lb-hero.bg-image{color:#fff;background:#0B0D11}
.lb-hero.bg-image::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(6,8,12,.08) 0%,rgba(6,8,12,.52) 100%)}
.lb-hero.bg-image.shade-strong::after{background:linear-gradient(180deg,rgba(6,8,12,.42),rgba(6,8,12,.78))}
.lb-hero.bg-image.shade-none::after{background:none}
.lb-hero-in{width:100%;max-width:var(--lb-w);margin-inline:auto;display:grid;gap:18px;justify-items:start}
.lb-hero.al-center .lb-hero-in{justify-items:center;text-align:center}
.lb-hero-h{font-family:var(--f-font-d,var(--font-u));font-weight:var(--f-wd,700);font-stretch:var(--f-stretch-d,100%);letter-spacing:var(--f-trk-d,-.03em);line-height:var(--f-lh-d,1.08);
  font-size:clamp(2.35rem,6.2vw,4.75rem);max-width:18ch;text-wrap:balance}
.lb-hero.al-center .lb-hero-h{margin-inline:auto}
.lb-sub{font-size:clamp(1.0625rem,1.9vw,1.375rem);line-height:1.5;color:var(--f-muted);max-width:42ch;text-wrap:pretty}
.lb-hero.bg-image .lb-sub{color:rgba(255,255,255,.86)}
.lb-hero.bg-image .lb-hero-h,.lb-hero.bg-image .lb-sub{text-shadow:0 1px 18px rgba(0,0,0,.28)}
.lb-hero-act{margin-top:8px}

/* ---- headings + text ---- */
.lb-h{font-family:var(--f-font-d,var(--font-u));font-weight:var(--f-wd,700);font-stretch:var(--f-stretch-d,100%);letter-spacing:var(--f-trk-d,-.02em);line-height:var(--f-lh-d,1.12);text-wrap:balance}
.lb-h1{font-size:clamp(2.1rem,5vw,3.6rem)}
.lb-h2{font-size:clamp(1.6rem,3.4vw,2.5rem)}
.lb-h3{font-size:clamp(1.2rem,2.2vw,1.55rem)}
.lb-heading.sz-l .lb-h{font-size:clamp(2.6rem,7vw,5.5rem);line-height:1}
.lb-rich{font-size:1.0625rem;line-height:var(--f-lh-t,1.65);color:var(--f-text);max-width:68ch;text-wrap:pretty}
.lb-text.al-center .lb-rich{margin-inline:auto}
.lb-text.sz-l .lb-rich{font-size:clamp(1.15rem,2vw,1.375rem);line-height:1.55}
.lb-rich p+p,.lb-rich p+ul,.lb-rich p+ol,.lb-rich ul+p,.lb-rich ol+p,.lb-rich ul+ol,.lb-rich ol+ul{margin-top:.9em}
.lb-rich ul,.lb-rich ol{padding-left:1.25em}
.lb-rich li+li{margin-top:.3em}
.lb-rich li::marker{color:var(--lb-acc-t)}
.lb-rich a{color:var(--lb-acc-t);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.lb-rich a:hover{text-decoration-thickness:2px}
.lb-rich strong{font-weight:650}

/* ---- image ---- */
.lb-image img{width:100%;height:auto;border-radius:var(--f-r-md,10px);background:var(--f-raised)}
.lb-image.sz-wide{max-width:calc(var(--lb-w) + 280px + 2 * var(--lb-pad))}
.lb-image.sz-full{max-width:none;padding-inline:0}
.lb-image.sz-full img{border-radius:0}
.lb-image figcaption{margin-top:12px;font-size:.9375rem;line-height:1.5;color:var(--f-muted)}
.lb-image.sz-full figcaption{padding-inline:var(--lb-pad);max-width:calc(var(--lb-w) + 2 * var(--lb-pad));margin-inline:auto}
.lb-img-a{display:block;border-radius:var(--f-r-md,10px)}

/* ---- frames: each sizes itself through its own parent.js; until then, a height near its usual one ---- */
.lb-if{width:100%;border:0;background:transparent;height:360px;color-scheme:light}
.lb-if[data-fk-card]{height:520px}
.lb-if[data-fk-carousel]{height:440px}
.lb-if[data-fk-form]{height:560px}
.lb-if[data-fk-contact]{height:240px}
.lb-if[data-fk-button]{height:72px}
.lb-frame noscript,.lb-ns{display:block}
.lb-ns{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;padding:0;list-style:none}
.lb-ns img{width:100%;height:auto;border-radius:var(--f-r-sm,6px)}

/* ---- video ---- */
.lb-vid{position:relative;width:100%;overflow:hidden;border-radius:var(--f-r-md,10px);background:var(--f-raised)}
.lb-vid iframe,.lb-vid video{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---- button ---- */
.lb-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 26px;border-radius:var(--f-pill-btn,var(--f-r-md,10px));
  font:var(--f-wl,600) 1rem/1.2 var(--f-font,var(--font-u));letter-spacing:.01em;text-decoration:none;cursor:pointer;
  transition:background-color var(--f-d-hover,140ms) ease,box-shadow var(--f-d-hover,140ms) ease,color var(--f-d-hover,140ms) ease}
.lb-btn.is-solid{background:var(--f-accent);color:var(--f-on-accent)}
.lb-btn.is-solid:hover{background:color-mix(in srgb,var(--f-accent) 86%,var(--f-text))}
.lb-btn.is-outline{background:transparent;color:var(--f-text);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--lb-acc-t) 70%,transparent)}
.lb-btn.is-outline:hover{background:color-mix(in srgb,var(--f-accent) 12%,transparent)}
.lb-btn:not([href]){opacity:.62;cursor:default}
.lb-hero.bg-image .lb-btn.is-solid{box-shadow:0 10px 30px -12px rgba(0,0,0,.6)}
.lb-btn[data-k]:empty::after{content:"\200B"}

/* ---- columns ---- */
.lb-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,48px);align-items:start}
.lb-columns.n-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lb-columns.va-center{align-items:center}
.lb-col{display:grid;gap:calc(var(--lb-gap) * .45);align-content:start;min-width:0}
.lb-col>.lb-b{padding-inline:0;max-width:none}
.lb-col .lb-rich{max-width:none}
@media (max-width:760px){.lb-columns,.lb-columns.n-3{grid-template-columns:minmax(0,1fr)}}

/* ---- space, line ---- */
.lb-spacer.sz-s{height:12px}.lb-spacer.sz-m{height:40px}.lb-spacer.sz-l{height:88px}.lb-spacer.sz-xl{height:150px}
.lb-divider hr{border:0;height:var(--f-line-w,1px);background:var(--f-line)}

/* ---- a band behind a block (round 15): its colour runs edge to edge and fills the space above it; where the colour
   changes it fades in from the one before over --lb-seam (design D's sections). Drawn by a pseudo-element: no box moves. ---- */
/* the page itself is the layer the bands sit at the bottom of: the header and a gallery's lifted viewer stay in the same
   layer, so the viewer still covers the header (a layer on .lb-main alone would trap the viewer under it) */
.fr.fr-landing{z-index:0}
.lb-main{overflow-x:clip}
.lb-b.has-band{--band:color-mix(in srgb,var(--f-bg) 94%,var(--f-text))}
.lb-b.band-light{--band:color-mix(in srgb,var(--f-bg) 40%,var(--f-surface))}
.lb-b.has-band::before{content:"";position:absolute;z-index:-1;left:-100vmax;right:-100vmax;top:0;bottom:calc(-1 * var(--lb-gap));background:var(--band);pointer-events:none}
.lb-b.is-seam::before{top:calc(-1 * var(--lb-gap))}
.lb-b.is-seam{--lb-seam:clamp(120px,14vw,200px);padding-top:clamp(16px,4vw,48px)}
.lb-b.is-bleed+.lb-b.is-seam{padding-top:0}
.lb-b.is-seam::before{background:linear-gradient(in oklab,var(--from) 0,var(--band) var(--lb-seam)) var(--band)}
.lb-b.from-page{--from:var(--f-bg)}.lb-b.from-tint{--from:color-mix(in srgb,var(--f-bg) 94%,var(--f-text))}.lb-b.from-light{--from:color-mix(in srgb,var(--f-bg) 40%,var(--f-surface))}
.lb-col>.lb-b.has-band::before{display:none}

/* ---- a frame that draws its own margins and backgrounds (the Rooms gallery): the page's whole width ---- */
.lb-frame.is-bleed{max-width:none;padding-inline:0}

/* ---- the header's ES | EN switch lives in the Nav; a header that sits at the bottom on phones leaves no room on top ---- */
.lb-navslot[data-fk-nav-at=bottom]{min-height:0}
@media (max-width:719px){.lb-navslot.is-phone-bottom{min-height:0}.lb-navslot.is-phone-bottom .lb-navf{height:0}}

/* ---- the hero's small line, its italic last word, and Side by side (design D's opening: the name left, the words right) ---- */
.lb-hero-side{display:contents}
.lb-meta{font:var(--f-wl,500) .75rem/1.4 var(--f-font,var(--font-u));letter-spacing:.12em;text-transform:uppercase;color:var(--f-muted);word-spacing:.2em}
.lb-hero.bg-image .lb-meta{color:rgba(255,255,255,.8)}
.lb-hero-h em{font-style:italic}
.lb-hero.al-split{min-height:0;align-items:end;padding:clamp(36px,7vw,88px) var(--lb-pad) clamp(28px,4vw,48px);box-shadow:inset 0 -1px 0 var(--f-line)}
.lb-hero.al-split .lb-hero-in{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:end;justify-items:stretch}
.lb-hero.al-split .lb-hero-side{display:grid;gap:6px;align-content:end;justify-items:start}
.lb-hero.al-split .lb-hero-h{max-width:none;margin:0;font-size:clamp(3.25rem,7.4vw,6.5rem);line-height:.95;letter-spacing:-.01em}
.lb-hero.al-split .lb-sub{max-width:44ch;font-size:clamp(1rem,1.2vw,1.0625rem);line-height:1.6}
.lb-hero.al-split .lb-meta{margin-top:12px}
.lb-hero.al-split .lb-hero-act{margin-top:14px}
.lb-main>.lb-hero.al-split+.lb-b{margin-top:0}
@media (max-width:719px){
  .lb-hero.al-split{padding-top:40px}
  .lb-hero.al-split .lb-hero-in{grid-template-columns:minmax(0,1fr);gap:16px}
  .lb-hero.al-split .lb-hero-h{font-size:clamp(3.5rem,18vw,5rem)}
  .lb-hero.al-split .lb-hero-h em{display:block}
}

/* ---- Atelier (design D, round 15): the family's calm scale. Small headings are the museum's labels (capitals, wide
   tracking), section headings large in the display serif at one weight, buttons pills, the footer one quiet line ---- */
.fr-landing[data-family=atelier]{--lb-pad:clamp(16px,4vw,56px)}
.fr-landing[data-family=atelier] .lb-h{font-weight:400}
.fr-landing[data-family=atelier] .lb-h1{font-size:clamp(3.25rem,7vw,6.5rem);line-height:.95}
.fr-landing[data-family=atelier] .lb-h2{font-size:clamp(2.75rem,5vw,4.75rem);line-height:.98}
.fr-landing[data-family=atelier] .lb-heading.sz-l .lb-h1,.fr-landing[data-family=atelier] .lb-heading.sz-l .lb-h2{font-size:clamp(3.25rem,7vw,6.5rem);line-height:.95}
.fr-landing[data-family=atelier] .lb-h3{font:400 .75rem/1.4 var(--f-font,var(--font-u));letter-spacing:.14em;text-transform:uppercase;color:var(--f-muted)}
.fr-landing[data-family=atelier] .lb-col{gap:clamp(16px,2vw,24px)}
.fr-landing[data-family=atelier] .lb-col>.lb-heading:has(>.lb-h3)+.lb-heading{margin-top:calc(14px - clamp(16px,2vw,24px))}
.fr-landing[data-family=atelier] .lb-text.sz-l .lb-rich{font-size:clamp(1.0625rem,1.45vw,1.25rem);line-height:1.55}
.fr-landing[data-family=atelier] .lb-columns.n-2{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(20px,5vw,88px)}
.fr-landing[data-family=atelier] .lb-btn{min-height:52px;padding:0 24px;border-radius:999px;font:500 .9375rem/1.2 var(--f-font,var(--font-u));letter-spacing:0}
.fr-landing[data-family=atelier] .lb-btn.is-solid:hover{background:color-mix(in srgb,var(--f-accent) 86%,var(--f-bg))}
.fr-landing[data-family=atelier] .lb-btn.is-outline{box-shadow:inset 0 0 0 1px var(--f-line)}
.fr-landing[data-family=atelier] .lb-btn.is-outline:hover{box-shadow:inset 0 0 0 1px var(--f-text);background:transparent}
.fr-landing[data-family=atelier] .lb-foot{padding:28px 0 36px;background:color-mix(in srgb,var(--f-bg) 40%,var(--f-surface))}
.fr-landing[data-family=atelier] .lb-footer{min-height:44px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.fr-landing[data-family=atelier] .lb-footer .lb-rich{font-size:.78125rem;color:var(--f-muted)}
.fr-landing[data-family=atelier] .lb-footer .lb-note{margin:0;font-size:.78125rem}
@media (max-width:719px){.fr-landing[data-family=atelier] .lb-columns.n-2{grid-template-columns:minmax(0,1fr)}.fr-landing[data-family=atelier] .lb-btn{width:100%}}

/* ---- the end of the page ---- */
.lb-foot{display:flow-root;padding:calc(var(--lb-gap) * .75) 0;background:var(--f-surface);box-shadow:inset 0 var(--f-line-w,1px) 0 var(--f-line)}
.lb-footer .lb-rich{font-size:.9375rem;color:var(--f-muted);max-width:none}
.lb-footer .lb-rich a{color:var(--f-text)}
.lb-note{margin-top:14px;font-size:.8125rem;color:var(--f-muted)}
.lb-made{max-width:calc(var(--lb-w) + 2 * var(--lb-pad));margin:18px auto 0;padding-inline:var(--lb-pad);font-size:.8125rem;color:var(--f-muted)}
.lb-made a{color:inherit}

/* ---- sections: parts of a page brought in (Page Transpose B). Each owns its spacing and its look: the page's type and
   colour never leak in (the inherited text properties start where a browser starts a page); its own sheet and the
   page's shared sheet style it. Edge to edge by default; a pinned one (the page's header) stays at the top. ---- */
.lb-main>.lb-section{max-width:none;padding-inline:0;
  font:initial;color:initial;text-align:start;letter-spacing:normal;word-spacing:normal;text-transform:none;text-indent:0;white-space:normal;
  -webkit-font-smoothing:auto;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.lb-main>.lb-section:not(.is-bleed){max-width:calc(var(--lb-w) + 2 * var(--lb-pad));padding-inline:var(--lb-pad)}
.lb-main>.lb-section.is-pin{position:sticky;top:0;z-index:40}
/* its own colours (the page's Original look, or this section's): the template's tokens step aside, so every
   var(--f-…, #literal) in its stylesheet falls back to the colour it was made with */
.lb-section.is-orig{--f-bg:initial;--f-surface:initial;--f-raised:initial;--f-text:initial;--f-muted:initial;--f-accent:initial;--f-accent-light:initial;--f-on-accent:initial;--f-line:initial;--f-radius:initial}
/* layout "full": the sections meet with no gap, as on the page they came from (the page's own blocks keep theirs) */
.fr-landing[data-layout=full] .lb-main{padding:0}
.fr-landing[data-layout=full] .lb-main>.lb-b+.lb-section,.fr-landing[data-layout=full] .lb-main>.lb-section+.lb-b{margin-top:0}
.fr-landing[data-layout=full] .lb-hdr:not(.has-nav)+.lb-main{padding-top:0}
.fr-landing[data-mode=edit] .lb-section.fr-item:hover,.fr-landing[data-mode=edit] .lb-section.fr-item.is-sel{outline-offset:-3px}
.fr-landing[data-mode=edit] .lb-section.is-static{outline:1px dashed var(--edit-hover);outline-offset:-3px}

/* ---- the editor's own hints (only drawn there: opts.noSend) ---- */
.lb-ph{display:flex;align-items:center;justify-content:center;gap:10px;min-height:140px;padding:20px;border-radius:var(--f-r-md,10px);
  box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--f-muted) 40%,transparent);color:var(--f-muted);font-size:.9375rem;text-align:center;
  background:repeating-linear-gradient(135deg,transparent 0 10px,color-mix(in srgb,var(--f-muted) 7%,transparent) 10px 11px)}
.lb-ph svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.lb-hero .lb-ph{position:absolute;inset:16px;z-index:-1;min-height:0;align-items:flex-start;padding-top:28px}
.lb-ph-col{min-height:100px}
.lb-ph-page{max-width:calc(var(--lb-w) + 2 * var(--lb-pad));margin:0 auto;min-height:220px}

@media (max-width:560px){
  .lb-hero{padding-top:64px;padding-bottom:56px}
  .lb-btn{width:100%}
  .lb-hero .lb-btn,.lb-button .lb-btn{width:auto}
}
@media (prefers-reduced-motion:reduce){.fr-landing *{transition:none!important}}
