body{margin:0}
@font-face{font-family:Work;src:url('fonts/work-sans.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Archivo;src:url('fonts/archivo.woff2') format('woff2');font-weight:100 900;font-display:swap}
.site{container-type:inline-size;container-name:forma-site;background:var(--site-bg);color:#152640;overflow:hidden;border-radius:inherit;font-family:Work,Arial,sans-serif;font-size:14px}
.site *{box-sizing:border-box}.site a{text-decoration:none}.site-nav a{color:inherit}.site a:focus-visible{outline:3px solid #315ee9;outline-offset:4px}.site svg{flex-shrink:0}
.site-nav{height:82px;display:flex;justify-content:space-between;align-items:center;margin:0 4.5%;border-bottom:1px solid #2238561a;gap:12px}
.site-wordmark{font:700 28px Archivo,sans-serif;letter-spacing:.02em}.site-wordmark>span{font:500 11px Work;vertical-align:top;letter-spacing:0;margin:3px 0 0 4px;display:inline-block}.site .forma-initial{font-family:Georgia,serif;font-style:italic;font-weight:600;font-size:1.12em;letter-spacing:-.035em;margin-right:.035em}
.site-nav>div{display:flex;align-items:center;gap:27px;font-size:11px}.site-nav a:last-child{display:flex;align-items:center;gap:8px}
.collection{padding:35px 4.5% 42px;display:flex;align-items:center;gap:35px;position:relative;border-top:1px solid #22385617}.collection-kicker{font-size:9px;color:#52617b}.collection h2{font:500 clamp(20px,2.4cqw,30px) Archivo;letter-spacing:-1px;margin:10px 0 0;max-width:24ch}.collection>p{font-size:10px;line-height:1.8;color:#50617d;margin-left:auto;min-width:145px}.collection-line{width:30px;height:30px;border:1px solid #9da9be;border-radius:50%;flex-shrink:0;position:relative}.collection-line:after{content:'↗';font-size:19px;position:absolute;inset:2px;text-align:center}
.site-footer{display:flex;justify-content:space-between;gap:15px;padding:20px 4.5%;font-size:9px;color:#50617d;border-top:1px solid #22385617}
.public-composition .compose-heading{max-width:none}.public-composition .public-columns{grid-template-columns:var(--desktop-columns)}
@container (600px < width <= 980px){.public-composition .public-columns[data-tablet=stack]{grid-template-columns:minmax(0,1fr)}.public-composition .public-columns[data-tablet=two]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:600px){.site-nav{height:70px;margin:0 6%}.site-nav>div{gap:8px}.site-nav>div>a:first-child{display:none}.site-wordmark{font-size:26px}.collection{padding:28px 6%;display:block}.collection h2{font-size:25px;max-width:18ch}.collection>p{margin:16px 0 0}.collection-line{display:none}.site-footer{padding:20px 6%;font-size:8px}.public-composition .public-columns{grid-template-columns:minmax(0,1fr)}.public-composition .public-columns[data-mobile=two]{grid-template-columns:repeat(2,minmax(0,1fr))}.public-columns>.compose-column{order:var(--mobile-order)}}

/* Placement styling inherits the selected page palette; this is not authored chrome. */
.public-navigation{position:relative;z-index:2;padding:14px 4.5%;color:var(--navigation-ink);background:var(--navigation-bg);font-size:16px;line-height:1.4;border-block-end:1px solid color-mix(in srgb,currentColor 18%,transparent)}
.public-navigation[data-location=footer]{z-index:1;border-block-end:0;border-block-start:1px solid color-mix(in srgb,currentColor 18%,transparent)}
.public-navigation ul{list-style:none;padding:0;margin:0}.public-navigation-list{display:flex;flex-wrap:wrap;align-items:start;gap:8px 24px}
.public-navigation li{min-width:0;max-width:100%}.public-navigation a,.public-navigation summary{color:inherit;min-height:44px;padding:10px 6px;display:flex;gap:10px;align-items:center;cursor:pointer;overflow-wrap:anywhere;text-underline-offset:6px}
.public-navigation summary{list-style:none}.public-navigation summary::-webkit-details-marker{display:none}.public-navigation summary span{min-width:0}
.public-navigation a:hover,.public-navigation summary:hover{text-decoration:underline}.public-navigation a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--site-accent);font-weight:600}
.public-navigation [data-navigation-button]>a{justify-content:center;padding-inline:18px;border:1px solid var(--site-accent);border-radius:min(var(--site-radius,10px),10px);color:var(--site-accent);font-weight:700;text-decoration:none}.public-navigation [data-navigation-button=filled]>a{background:var(--site-accent);color:var(--navigation-accent-ink,#fff)}.public-navigation [data-navigation-button]>a:hover{background:color-mix(in srgb,var(--site-accent) 86%,#000);border-color:color-mix(in srgb,var(--site-accent) 86%,#000);color:var(--navigation-accent-ink,#fff);text-decoration:none}.public-navigation [data-navigation-button]>a:focus-visible{outline-color:var(--site-accent)}
.site .public-navigation :is(a,summary):focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:2px}
.public-navigation [data-navigation-mobile]>summary{display:none}.public-navigation [data-navigation-group]{position:relative}
.public-navigation [data-navigation-group]>ul{position:absolute;inset-block-start:100%;inset-inline-start:0;min-width:220px;width:max-content;max-width:min(320px,80vw);padding:12px;background:var(--navigation-bg);border-radius:min(var(--site-radius),12px);box-shadow:0 12px 28px #00000026}
/* A dropdown that is also a link: the label is a link and the chevron beside it is the toggle; the children drop down beneath both. */
.public-navigation li[data-navigation-parent]{position:relative;display:flex;flex-wrap:wrap;align-items:center}.public-navigation li[data-navigation-parent]>[data-navigation-group]{position:static}.public-navigation li[data-navigation-parent]>[data-navigation-group]>summary{padding-inline:4px}
.public-navigation details[open]>summary>svg{transform:rotate(180deg)}.navigation-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.public-navigation ::selection{background:var(--navigation-ink);color:var(--navigation-bg)}
@container (max-width:600px){.public-navigation li[data-navigation-parent]>a{flex:1 1 auto;padding-inline-end:52px}.public-navigation li[data-navigation-parent]>[data-navigation-group]{flex-basis:100%}.public-navigation li[data-navigation-parent]>[data-navigation-group]>summary{position:absolute;inset-block-start:0;inset-inline-end:0;justify-content:center;min-width:44px}.public-navigation{padding:10px 6%}.public-navigation [data-navigation-mobile]>summary{display:flex;justify-content:space-between}.public-navigation-list{display:block}.public-navigation [data-navigation-group]>ul{position:static;min-width:0;width:auto;max-width:none;margin-inline-start:12px;padding:0 0 8px 12px;box-shadow:none;border-radius:0;border-inline-start:1px solid currentColor}.public-navigation a,.public-navigation summary{padding-block:12px}}
.artifact-not-found{box-sizing:border-box;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:6vw;padding:8vh 6vw;color:#152640;background:#edf0f8;font:18px/1.6 Work,Arial,sans-serif}
.artifact-not-found-code{font:700 clamp(100px,18vw,300px)/.9 Archivo,Arial,sans-serif;letter-spacing:-.04em;white-space:nowrap;color:#152640}
.artifact-not-found h1{font:650 clamp(32px,4vw,60px)/1.05 Archivo,Arial,sans-serif;letter-spacing:-.025em;margin:0 0 24px}.artifact-not-found p{max-width:48ch;margin:0 0 36px}
.artifact-not-found ul{list-style:none;padding:0;margin:0}.artifact-not-found li{border-block-end:1px solid #15264040}.artifact-not-found a{display:block;color:inherit;padding:18px 0;text-decoration:none;text-underline-offset:6px;overflow-wrap:anywhere}.artifact-not-found a:hover{text-decoration:underline}.artifact-not-found a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:600px){.artifact-not-found{grid-template-columns:minmax(0,1fr);gap:40px;padding:48px 6vw;align-content:center}.artifact-not-found-code{font-size:40vw}.artifact-not-found h1{font-size:36px}.artifact-not-found p{margin-bottom:24px}}

.authored-chrome{background:var(--site-bg);color:var(--navigation-ink)}
.compose-menu{display:flex;justify-content:flex-start;min-width:0;width:100%}.compose-menu[data-align=center]{justify-content:center}.compose-menu[data-align=right]{justify-content:flex-end}.compose-menu>.public-navigation{max-width:100%;width:100%;padding:0;background:transparent}.compose-menu-missing{padding:16px;border:1px dashed currentColor;font-size:14px;line-height:1.5}

/* A header or footer location menu given a format: the location's band, with the Menu module's format inside it. */
.location-menu{position:relative;z-index:2;color:var(--navigation-ink);background:var(--navigation-bg);border-block-end:1px solid color-mix(in srgb,currentColor 18%,transparent)}.location-menu[data-location=footer]{z-index:1;border-block-end:0;border-block-start:1px solid color-mix(in srgb,currentColor 18%,transparent)}.location-menu>.compose-menu>.public-navigation{padding:14px 4.5%}
.site[data-header-sticky]{overflow:clip}.site[data-header-sticky] > :is(.public-navigation[data-location=header],.location-menu[data-location=header],.authored-chrome[data-chrome=header]){position:sticky;inset-block-start:0;z-index:12}
@container (max-width:600px){.location-menu>.compose-menu>.public-navigation{padding:10px 6%}}
@container (max-width:600px){.site[data-header-sticky=desktop] > :is(.public-navigation[data-location=header],.location-menu[data-location=header],.authored-chrome[data-chrome=header]){position:relative}}
.compose-menu[data-case=capitals] .public-navigation :is(a,summary){text-transform:uppercase;letter-spacing:.08em;font-family:var(--site-label-font,inherit)}
.compose-menu[data-align=center] .public-navigation-list{justify-content:center}.compose-menu[data-align=right] .public-navigation-list{justify-content:flex-end}.public-navigation-missing{display:block;padding:10px 6px;font-size:14px}

/* Raise the open Menu's ancestor branch above later authored content, including
   isolated section surfaces. Native details state also covers no-JavaScript output. */
.public-composition :is(.compose-section,.compose-row,.compose-column,.compose-module):has(.public-navigation [data-navigation-group][open]){position:relative;z-index:3}
.site:has(.public-navigation [data-navigation-group][open]){overflow:visible}

/* Forma-owned adaptations of the 19 PageStudio menu layouts. Source: packages/site-render/src/site.css at a5442e7bc. */
.compose-menu:not([data-format])>.public-navigation{color:var(--menu-color,var(--navigation-ink))}.compose-section-surface:is([data-tone=ink],[data-tone=brand]) .compose-menu:not([data-format])>.public-navigation{color:var(--menu-color,inherit)}.compose-menu[data-format]{color:var(--menu-color,inherit);background:var(--menu-background,transparent);font-size:var(--menu-font-size,16px);container:forma-menu/inline-size}.compose-menu[data-format]>.public-navigation{color:inherit;background:transparent;font-size:inherit;border:0}.compose-menu[data-format] .public-navigation-list{gap:var(--menu-gap,20px)}.compose-menu[data-format] .public-navigation a[aria-current=page]{text-decoration-color:currentColor}.compose-menu[data-format] .public-navigation [data-navigation-group]>ul{color:var(--menu-color,inherit);background:var(--menu-background,var(--site-bg,#fff))}
.public-navigation[data-format] [data-navigation-mobile]>summary{font-size:.78em;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.public-navigation[data-format] [data-navigation-mobile]>summary svg{transition:transform .22s ease-out}

.public-navigation[data-format=inline] .public-navigation-list{align-items:center}.public-navigation[data-format=inline] .public-navigation-list>li>a,.public-navigation[data-format=inline] .public-navigation-list>li>details>summary{font-size:.82em;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-block-end:1px solid color-mix(in srgb,currentColor 18%,transparent)}
.public-navigation[data-format=stacked] .public-navigation-list{justify-content:center;padding-block:14px;border-block:1px solid color-mix(in srgb,currentColor 22%,transparent)}.public-navigation[data-format=stacked] .public-navigation-list>li>a,.public-navigation[data-format=stacked] .public-navigation-list>li>details>summary{font-family:var(--site-heading-font,Georgia,serif);font-size:1.08em}
.compose-menu[data-format=band]{background:var(--menu-background,var(--site-accent,#315bea));color:var(--menu-color,#fff)}.public-navigation[data-format=band] .public-navigation-list{justify-content:center}.public-navigation[data-format=band] a,.public-navigation[data-format=band] summary{font-weight:700;text-transform:uppercase;letter-spacing:.07em}.public-navigation[data-format=band] a:hover{background:color-mix(in srgb,currentColor 14%,transparent);text-decoration:none}
.compose-menu[data-format=rail]{border-block-start:12px solid var(--site-accent,#315bea)}.public-navigation[data-format=rail] .public-navigation-list{justify-content:center;padding:3px 14px;background:color-mix(in srgb,var(--site-accent,#315bea) 14%,transparent)}.public-navigation[data-format=rail] a,.public-navigation[data-format=rail] summary{min-height:38px;font-size:.78em;font-weight:750;letter-spacing:.08em;text-transform:uppercase}

.public-navigation[data-format=panel] [data-navigation-mobile]>summary,.public-navigation[data-format=drawer] [data-navigation-mobile]>summary,.public-navigation[data-format^=takeover] [data-navigation-mobile]>summary{display:flex;justify-content:space-between;width:100%;border-block:1px solid color-mix(in srgb,currentColor 22%,transparent)}.public-navigation:is([data-format=panel],[data-format=drawer],[data-format^=takeover]) [data-navigation-mobile]:not([open])>.public-navigation-list{display:none}.public-navigation[data-format=panel] [data-navigation-mobile][open]>.public-navigation-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));padding:clamp(22px,5cqw,56px);background:color-mix(in srgb,var(--menu-background,var(--site-bg,#fff)) 92%,var(--site-accent,#315bea))}.public-navigation[data-format=panel] .public-navigation-list>li{padding-block:14px;border-block-start:1px solid color-mix(in srgb,currentColor 24%,transparent)}.public-navigation[data-format=panel] [data-navigation-group]>ul{position:static;width:auto;max-width:none;padding:0;box-shadow:none;background:transparent}
.public-navigation[data-format=sitemap] .public-navigation-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0;border-block:1px solid color-mix(in srgb,currentColor 24%,transparent)}.public-navigation[data-format=sitemap] .public-navigation-list>li{padding:18px;border-inline-end:1px solid color-mix(in srgb,currentColor 18%,transparent)}.public-navigation[data-format=sitemap] [data-navigation-group]>summary{font-family:var(--site-heading-font,Georgia,serif);font-size:1.15em;font-weight:700}.public-navigation[data-format=sitemap] [data-navigation-group]>ul{position:static;width:auto;max-width:none;padding:8px 0 0;box-shadow:none;background:transparent}.public-navigation[data-format=sitemap] [data-navigation-group]>ul a{min-height:36px;padding-block:6px;font-size:.86em}
.public-navigation[data-format=pills] .public-navigation-list{align-items:stretch}.public-navigation[data-format=pills] .public-navigation-list>li{padding:5px 9px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);border-radius:999px}.public-navigation[data-format=pills] [data-navigation-group]>ul{display:flex;position:static;width:auto;min-width:0;max-width:none;padding:0;box-shadow:none;background:transparent}.public-navigation[data-format=pills] [data-navigation-group]>ul a{min-height:34px;padding:5px;font-size:.78em}.public-navigation[data-format=pills] li:has([aria-current=page]){background:var(--site-accent,#315bea);color:white}
.public-navigation[data-format=tabs]{border-block-end:1px solid color-mix(in srgb,currentColor 24%,transparent)}.public-navigation[data-format=tabs] .public-navigation-list{justify-content:center}.public-navigation[data-format=tabs] .public-navigation-list>li>a,.public-navigation[data-format=tabs] .public-navigation-list>li>details>summary{font-weight:700}.public-navigation[data-format=tabs] .public-navigation-list>li:has([aria-current=page])>details>summary,.public-navigation[data-format=tabs] a[aria-current=page]{background:var(--site-accent,#315bea);color:white;text-decoration:none}.public-navigation[data-format=tabs] [data-navigation-group]>ul{inset-inline:50% auto;transform:translateX(-50%);display:flex;width:max-content;max-width:min(90vw,900px)}

.public-navigation:is([data-format=drop],[data-format=drop-ink]) .public-navigation-list{justify-content:center}.public-navigation:is([data-format=drop],[data-format=drop-ink]) [data-navigation-group]>ul{padding:18px;border:1px solid color-mix(in srgb,currentColor 16%,transparent)}.public-navigation[data-format=drop-ink] [data-navigation-group]>ul{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));background:#10233d;color:#fff;border:0;border-radius:14px}.public-navigation[data-format=drop-ink] [data-navigation-group]>ul a:hover{background:#ffffff14;text-decoration:none}
.public-navigation[data-format=curtain] .public-navigation-list{justify-content:center}.public-navigation[data-format=curtain] .public-navigation-list>li>details>summary{font-family:var(--site-heading-font,Georgia,serif);font-size:1.18em}.public-navigation[data-format=curtain] [data-navigation-group]>ul{inset-inline:50% auto;transform:translateX(-50%);display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));min-width:min(600px,90vw);padding:38px;background:linear-gradient(90deg,#f5f0e8 0 49.8%,#152b49 50.2%);color:#fff;border-radius:0;box-shadow:0 24px 60px #0004}.public-navigation[data-format=curtain] [data-navigation-group]>ul li:nth-child(odd){color:#152b49}
.public-navigation[data-format=marquee]{overflow:hidden;border-block:1px solid color-mix(in srgb,currentColor 22%,transparent)}.public-navigation[data-format=marquee] .public-navigation-list{flex-wrap:nowrap;width:max-content;min-width:100%;animation:forma-menu-marquee 24s linear infinite}.public-navigation[data-format=marquee] li{flex-shrink:0;white-space:nowrap}.public-navigation[data-format=marquee] [data-navigation-group]>ul{display:flex;position:static;width:auto;min-width:0;max-width:none;gap:max(var(--menu-gap,20px),1em);padding:0;box-shadow:none;background:transparent}.public-navigation[data-format=marquee] [data-navigation-group]>ul::before{content:attr(data-label);align-self:center;font-weight:750;text-transform:uppercase}.public-navigation[data-format=marquee]:hover .public-navigation-list,.public-navigation[data-format=marquee]:focus-within .public-navigation-list{animation-play-state:paused}@keyframes forma-menu-marquee{to{transform:translateX(-18%)}}

.public-navigation:is([data-format=rail-ledger],[data-format=rail-ink]) .public-navigation-list{display:block;max-width:360px;padding:18px 22px}.public-navigation:is([data-format=rail-ledger],[data-format=rail-ink]) .public-navigation-list>li{counter-increment:forma-menu;border-block-start:1px solid color-mix(in srgb,currentColor 24%,transparent)}.public-navigation:is([data-format=rail-ledger],[data-format=rail-ink]) .public-navigation-list>li>a::before,.public-navigation:is([data-format=rail-ledger],[data-format=rail-ink]) .public-navigation-list>li>details>summary::before{content:counter(forma-menu,decimal-leading-zero);font-size:.64em;opacity:.58}.public-navigation:is([data-format=rail-ledger],[data-format=rail-ink]) [data-navigation-group]>ul{position:static;width:auto;min-width:0;max-width:none;padding:0 0 10px 24px;box-shadow:none;background:transparent}.compose-menu[data-format=rail-ledger]{background:var(--menu-background,#f2eadc);color:var(--menu-color,#152443)}.compose-menu[data-format=rail-ink]{background:var(--menu-background,#10233d);color:var(--menu-color,#fff)}.public-navigation[data-format=rail-ink] a[aria-current=page]{color:#f0cf68}
.public-navigation[data-format=drawer] [data-navigation-mobile][open]>.public-navigation-list{display:block;width:min(420px,100%);margin-inline-start:auto;padding:28px;background:color-mix(in srgb,var(--menu-background,var(--site-bg,#fff)) 94%,var(--site-accent,#315bea));box-shadow:-18px 18px 44px #0003}.public-navigation[data-format=drawer] [data-navigation-group]>ul{position:static;width:auto;min-width:0;max-width:none;padding:0 0 12px 18px;box-shadow:none;background:transparent}.compose-menu[data-format=drawer][data-placement=section] .public-navigation-list{min-height:60vh}

.compose-menu[data-format^=takeover]{background:var(--menu-background,#10233d);color:var(--menu-color,#fff)}.public-navigation[data-format^=takeover] [data-navigation-mobile][open]>.public-navigation-list{display:grid;gap:0;padding:clamp(28px,6cqw,80px)}.public-navigation[data-format^=takeover] [data-navigation-group]>ul{position:static;width:auto;min-width:0;max-width:none;padding:8px 0 0;box-shadow:none;background:transparent}.public-navigation[data-format^=takeover] .public-navigation-list>li>a,.public-navigation[data-format^=takeover] .public-navigation-list>li>details>summary{font-family:var(--site-heading-font,Georgia,serif);font-size:clamp(1.5em,4cqw,3.8em);line-height:1.02}.compose-menu[data-format^=takeover][data-placement=section] .public-navigation-list{min-height:72vh;align-content:center}
.public-navigation[data-format=takeover-ink] .public-navigation-list{grid-template-columns:repeat(2,minmax(0,1fr))}.public-navigation[data-format=takeover-ink] .public-navigation-list>li{padding:16px;border-block-end:1px solid #ffffff2b}
.public-navigation[data-format=takeover-split] .public-navigation-list{grid-template-columns:repeat(2,minmax(0,1fr));background:linear-gradient(90deg,transparent calc(50% - 1px),var(--site-accent,#315bea) 50%,transparent calc(50% + 1px))}.public-navigation[data-format=takeover-split] .public-navigation-list>li{padding:20px clamp(18px,4cqw,56px)}
.public-navigation[data-format=takeover-grid] .public-navigation-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.public-navigation[data-format=takeover-grid] .public-navigation-list>li{min-height:150px;padding:20px;background:color-mix(in srgb,var(--site-accent,#315bea) 55%,#fff 8%);border-radius:min(var(--site-radius,14px),14px)}.public-navigation[data-format=takeover-grid] .public-navigation-list>li:nth-child(2n){background:#e4c86f;color:#14233a}
.public-navigation[data-format=takeover-index] .public-navigation-list{display:block;counter-reset:forma-index;max-width:880px;margin:auto}.public-navigation[data-format=takeover-index] .public-navigation-list>li{counter-increment:forma-index;display:grid;grid-template-columns:60px 1fr;border-block-end:1px solid #ffffff35}.public-navigation[data-format=takeover-index] .public-navigation-list>li::before{content:counter(forma-index,decimal-leading-zero);align-self:center;color:#e4c86f}.public-navigation[data-format=takeover-index] .public-navigation-list>li>*{grid-column:2}

@container forma-menu (max-width:980px){.compose-menu[data-format]>.public-navigation{font-size:var(--menu-tablet-font-size,var(--menu-font-size,16px))}}
@container forma-menu (max-width:600px){.compose-menu[data-format]>.public-navigation{font-size:var(--menu-mobile-font-size,16px)}.public-navigation[data-format] [data-navigation-mobile]>summary{display:flex}.public-navigation[data-format] [data-navigation-mobile]:not([open])>.public-navigation-list{display:none}.public-navigation[data-format] .public-navigation-list{display:block;animation:none;transform:none}.public-navigation[data-format] [data-navigation-group]>ul{position:static;display:block;transform:none;width:auto;min-width:0;max-width:none;margin-inline-start:12px;padding:0 0 8px 12px;background:transparent;color:inherit;border:0;border-inline-start:1px solid currentColor;border-radius:0;box-shadow:none}.public-navigation[data-format=marquee] .public-navigation-list{width:auto;min-width:0}.public-navigation[data-format=marquee] li{white-space:normal}.public-navigation[data-format=pills] .public-navigation-list>li{margin-block:8px;border-radius:14px}.public-navigation[data-format=curtain] [data-navigation-group]>ul li:nth-child(odd){color:inherit}.public-navigation:is([data-format=rail-ledger],[data-format=rail-ink]) .public-navigation-list{max-width:none}.public-navigation[data-format^=takeover] [data-navigation-mobile][open]>.public-navigation-list{display:block;padding:24px}.public-navigation[data-format^=takeover] .public-navigation-list>li{display:block;min-height:0;padding:10px;border-radius:0;background:transparent}.public-navigation[data-format^=takeover] .public-navigation-list>li::before{display:inline-block;margin-inline-end:14px}.compose-menu[data-format^=takeover][data-placement=section] .public-navigation-list,.compose-menu[data-format=drawer][data-placement=section] .public-navigation-list{min-height:0}}
@media(prefers-reduced-motion:reduce){.public-navigation[data-format=marquee] .public-navigation-list{animation:none}.public-navigation[data-format] *{scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Social marks at a menu placement: beside the links, or a row of their own. They stay outside the
   phone's folded menu. Each link is at least 44px square; the mark is the size set. */
.public-social{display:flex;flex-wrap:wrap;align-items:center;gap:4px;list-style:none;margin:0;padding:0;color:var(--social-color,currentColor)}
.public-social li{display:flex}
.public-navigation .public-social-link,.public-social-link{display:inline-grid;place-items:center;min-width:max(44px,calc(var(--social-size,22px) + 14px));min-height:max(44px,calc(var(--social-size,22px) + 14px));padding:0;border-radius:999px;color:inherit;text-decoration:none;transition:background-color .15s ease-out,transform .15s ease-out}
.public-social-link:hover{background:color-mix(in srgb,currentColor 12%,transparent);text-decoration:none}
.public-social-link:active{transform:scale(.94)}
.site .public-social-link:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.public-social .social-mark{width:var(--social-size,22px);height:var(--social-size,22px)}
.public-navigation[data-social=beside]{display:flex;align-items:center;gap:8px 20px}
.public-navigation[data-social=beside]>:is(details,ul.public-navigation-list){flex:1 1 auto;min-width:0}
.public-navigation[data-social=beside]>.public-social{flex:none;margin-inline-start:auto}
.public-navigation[data-social=row]>.public-social{margin-block-start:8px}
.compose-menu[data-align=center] .public-navigation[data-social=row]>.public-social{justify-content:center}
.compose-menu[data-align=right] .public-navigation[data-social=row]>.public-social{justify-content:flex-end}
.public-navigation[data-social]:not(:has(.public-navigation-list))>.public-social{margin:0}
@container (max-width:600px){.public-navigation[data-social=beside]{flex-wrap:wrap;align-items:flex-start}.public-navigation[data-social=beside]>:is(details,ul.public-navigation-list){flex:1 0 auto}.public-navigation[data-social=beside]>.public-social{flex:0 1 auto;justify-content:flex-end}.public-navigation[data-social] [data-navigation-mobile]>summary{min-height:44px;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.public-social-link{transition:none}.public-social-link:active{transform:none}}
/* The Contact bar (Navigation): the phone and one button fixed across the bottom at 860 px and under,
   in Site Style's ink; drawn nowhere wider. The page gains room at its foot for it, and the
   analytics-choices notice sits above it while both show. */
.forma-contact-bar{display:none}
@media (max-width:860px){
 .forma-contact-bar{position:fixed;z-index:1000;left:0;right:0;bottom:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;box-sizing:border-box;min-height:64px;padding:10px max(16px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:var(--site-ink,#152640);color:#fff;box-shadow:0 -8px 24px rgb(16 32 59 / .2);font-family:var(--site-body-font,Work,Arial,sans-serif);font-size:15px;font-weight:700;line-height:1.2}
 .forma-contact-bar a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:min(var(--site-radius,8px),999px);color:inherit;text-decoration:none}
 .forma-contact-call{border:1.5px solid rgb(255 255 255 / .6)}
 .forma-contact-button{background:var(--site-accent,#345ac3);text-align:center}
 .forma-contact-bar a:focus-visible{outline:3px solid #fff;outline-offset:2px}
 .site:has(>.forma-contact-bar){padding-bottom:calc(64px + env(safe-area-inset-bottom))}
 html:has(.forma-contact-bar) .forma-privacy-notice{bottom:calc(76px + env(safe-area-inset-bottom))}
}

.composition{--compose-line:#cad7f0;--hero-pointer-x:0;--hero-pointer-y:0;--hero-light-x:65%;--hero-light-y:40%;font-family:Work,sans-serif}
.composition:empty{display:none}.compose-section{position:relative;box-sizing:border-box;width:var(--section-width,100%);max-width:var(--section-max-width,none);margin:var(--section-margin-top,0) var(--section-margin-right,auto) var(--section-margin-bottom,0) var(--section-margin-left,auto)}.compose-section-surface{position:relative;box-sizing:border-box;isolation:isolate;container:hero-module / inline-size;background:var(--site-bg);color:#192743;padding:var(--section-padding-top,0) var(--section-padding-right,0) var(--section-padding-bottom,0) var(--section-padding-left,0)}
.compose-section-content{position:relative;display:flow-root;z-index:1}
.compose-section-surface[data-tone=ink]{background:#152640;color:white}.compose-section-surface[data-tone=brand]{background:var(--site-accent);color:white}
.compose-section-surface:not([data-effect=none]){color:white;background:#152640;min-height:480px;display:flex;align-items:center}
.compose-section-surface:not([data-effect=none]) .compose-section-content{width:100%}
.compose-section-surface:not([data-effect=none]) .compose-column-content{max-width:100%}
.compose-section-surface:not([data-effect=none]) .compose-heading{max-width:15ch}.compose-section-surface:not([data-effect=none]) .compose-heading[data-authored-lines]{max-width:100%}.compose-section-surface:not([data-effect=none]) .compose-text{max-width:56ch}
.compose-art{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;z-index:0}
.compose-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none;pointer-events:none;user-select:none}
.compose-art-wash{position:absolute;inset:0;background:linear-gradient(90deg,#10213ae8,#10213a33)}
.compose-section-surface .compose-art-wash{background:linear-gradient(100deg,#10213ad9 0%,#10213a99 50%,#10213a40 100%)}
.compose-row{position:relative;box-sizing:border-box;width:var(--row-width,var(--site-content-width,90%));max-width:var(--row-max-width,1200px);margin:var(--row-margin-top,0) var(--row-margin-right,auto) var(--row-margin-bottom,0) var(--row-margin-left,auto)}.compose-columns{display:grid;position:relative;align-items:stretch}.compose-row>.compose-columns{box-sizing:border-box;padding:var(--row-padding-top,0) var(--row-padding-right,0) var(--row-padding-bottom,0) var(--row-padding-left,0)}.compose-row[data-box=legacy]>.compose-columns{padding-right:min(var(--row-padding-right,0),25%);padding-left:min(var(--row-padding-left,0),25%)}
.compose-column{position:relative;box-sizing:border-box;min-width:0;width:var(--column-width,100%);max-width:var(--column-max-width,none);margin:var(--column-margin-top,0) var(--column-margin-right,0) var(--column-margin-bottom,0) var(--column-margin-left,0)}.compose-column-content{box-sizing:border-box;min-width:0;min-height:100%;display:flex;flex-direction:column;justify-content:var(--column-align,start);gap:18px;padding:var(--column-padding-top,0) var(--column-padding-right,0) var(--column-padding-bottom,0) var(--column-padding-left,0)}
.compose-module{box-sizing:border-box;min-width:0;width:var(--module-width,100%);max-width:var(--module-max-width,none);margin:var(--module-margin-top,0) var(--module-margin-right,0) var(--module-margin-bottom,0) var(--module-margin-left,0)}.compose-module-content{box-sizing:border-box;min-width:0;padding:var(--module-padding-top,0) var(--module-padding-right,0) var(--module-padding-bottom,0) var(--module-padding-left,0)}
.compose-module-direct{position:relative}
.compose-heading{font:var(--module-weight,600) var(--compose-heading,48px)/var(--module-line-height,1.1) Archivo,sans-serif;letter-spacing:var(--module-letter-spacing,-.035em);overflow-wrap:anywhere;text-wrap:balance;margin:0;white-space:pre-line;text-align:var(--module-text-align,left);color:var(--module-color,inherit)}
.compose-text{font-size:var(--module-font-size,16px);font-weight:var(--module-weight,400);line-height:var(--module-line-height,1.7);margin:0;white-space:pre-line;overflow-wrap:anywhere;text-align:var(--module-text-align,left);color:var(--module-color,inherit)}
.compose-picture{margin:0;width:100%}.compose-picture img{display:block;width:100%;height:auto;max-height:580px;object-fit:var(--module-image-fit,cover);object-position:var(--module-image-position,50% 50%);border-radius:var(--module-image-radius,var(--site-radius,20px))}.compose-picture:not([data-ratio=original]){overflow:hidden;border-radius:var(--module-image-radius,var(--site-radius,20px))}.compose-picture:not([data-ratio=original]) img{height:100%;max-height:none;border-radius:inherit}.compose-picture[data-ratio=landscape]{aspect-ratio:16/9}.compose-picture[data-ratio=square]{aspect-ratio:1}.compose-picture[data-ratio=portrait]{aspect-ratio:4/5}
.compose-picture-link{display:block;color:inherit;text-decoration:none;border-radius:var(--module-image-radius,var(--site-radius,20px))}.compose-picture-link:hover img{filter:brightness(.94)}.compose-picture-link:focus-visible{outline:3px solid var(--site-accent,#365ee8);outline-offset:4px}
/* Video: a poster and a press. The chip keeps its words on a near-opaque ground, so they read over any poster. */
.compose-video{margin:0;width:100%}.compose-video-frame{position:relative;overflow:hidden;aspect-ratio:16/9;border-radius:var(--module-video-radius,var(--site-radius,20px));background:#14223b;color:#fff;isolation:isolate}.compose-video[data-ratio=classic] .compose-video-frame{aspect-ratio:4/3}.compose-video[data-ratio=square] .compose-video-frame{aspect-ratio:1}.compose-video[data-ratio=portrait] .compose-video-frame{aspect-ratio:9/16;width:min(100%,460px);margin-inline:auto}.compose-video-poster,.compose-video-placeholder,.compose-video-player{position:absolute;inset:0;width:100%;height:100%;border:0}.compose-video-poster{object-fit:cover;display:block}.compose-video-placeholder{background:radial-gradient(120% 95% at 18% 8%,#3b5383 0%,#1d2f52 48%,#101b31 100%)}.compose-video-play{position:absolute;inset:0;z-index:1;display:flex;align-items:flex-end;justify-content:flex-start;padding:clamp(12px,3%,24px);margin:0;border:0;background:transparent;color:#fff;font:inherit;text-align:left;cursor:pointer}.compose-video-chip{display:inline-flex;align-items:center;gap:12px;max-width:100%;padding:8px 16px 8px 8px;border-radius:999px;background:#0e182ceb;box-shadow:0 10px 26px #0a12224d}.compose-video-mark{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:#14223b;transition:transform .16s ease}.compose-video-mark svg{margin-left:2px}.compose-video-words{display:grid;min-width:0;line-height:1.25}.compose-video-words strong{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compose-video-words small{font-size:12px;color:#dfe6f3}.compose-video-play:hover .compose-video-mark{transform:scale(1.07)}.compose-video-play:focus-visible{outline:none}.compose-video-play:focus-visible .compose-video-chip{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px #14223b}.compose-video-play[hidden]{display:none}.compose-video[data-state=playing] .compose-video-poster,.compose-video[data-state=playing] .compose-video-placeholder{visibility:hidden}.compose-video-empty .compose-video-frame{display:grid;place-items:center;padding:20px;background:#eef2fa;color:#3a4c6b;border:1px dashed #9fb0cf;box-sizing:border-box}.compose-video-empty p{margin:0;font-size:13px;text-align:center}@media (prefers-reduced-motion:reduce){.compose-video-mark{transition:none}.compose-video-play:hover .compose-video-mark{transform:none}}
.compose-item-button>.compose-module-content{display:flex;justify-content:var(--module-button-justify,flex-start)}.compose-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:44px;padding:13px 22px;background:var(--module-button-background,var(--site-accent));color:var(--module-button-color,white);border-radius:var(--module-button-radius,8px);font-size:13px;font-weight:600;text-decoration:none;overflow-wrap:anywhere}.compose-button[data-variant=outline]{background:transparent;box-shadow:inset 0 0 0 1px var(--module-button-background,var(--site-accent))}.compose-button[data-variant=text]{background:transparent}.compose-button[data-full-width=true]{width:100%}
.compose-button svg{transform:rotate(45deg);flex-shrink:0}.compose-section-surface[data-tone=brand] .compose-button[data-variant=solid][data-background=inherit]{background:white}.compose-section-surface[data-tone=brand] .compose-button[data-variant=solid][data-background=inherit][data-color=inherit]{color:#192743}.compose-section-surface:is([data-tone=ink],[data-tone=brand],:not([data-effect=none])) .compose-button:is([data-variant=outline],[data-variant=text])[data-color=inherit]{color:white}.compose-section-surface:is([data-tone=ink],[data-tone=brand],:not([data-effect=none])) .compose-button[data-variant=outline][data-background=inherit]{box-shadow:inset 0 0 0 1px white}

.forma-creative-heading{position:relative;display:block}.forma-creative-heading-text{position:relative;z-index:1}.forma-creative-heading-echo-copy{pointer-events:none}
/* Tablet: the same boxes and sizes between phone and desktop. It comes first so the phone block below wins at phone widths. */
@container (max-width:980px){.compose-heading{font-size:var(--compose-tablet-heading,var(--compose-heading,48px))}.compose-section{width:var(--section-tablet-width,var(--section-width,100%));max-width:var(--section-tablet-max-width,var(--section-max-width,none));margin:var(--section-tablet-margin-top,var(--section-margin-top,0)) var(--section-tablet-margin-right,var(--section-margin-right,auto)) var(--section-tablet-margin-bottom,var(--section-margin-bottom,0)) var(--section-tablet-margin-left,var(--section-margin-left,auto))}.compose-section-surface{padding:var(--section-tablet-padding-top,var(--section-padding-top,0)) var(--section-tablet-padding-right,var(--section-padding-right,0)) var(--section-tablet-padding-bottom,var(--section-padding-bottom,0)) var(--section-tablet-padding-left,var(--section-padding-left,0))}.compose-row{width:var(--row-tablet-width,var(--row-width,var(--site-content-width,90%)));max-width:var(--row-tablet-max-width,var(--row-max-width,1200px));margin:var(--row-tablet-margin-top,var(--row-margin-top,0)) var(--row-tablet-margin-right,var(--row-margin-right,auto)) var(--row-tablet-margin-bottom,var(--row-margin-bottom,0)) var(--row-tablet-margin-left,var(--row-margin-left,auto))}.compose-row>.compose-columns{padding:var(--row-tablet-padding-top,var(--row-padding-top,0)) var(--row-tablet-padding-right,var(--row-padding-right,0)) var(--row-tablet-padding-bottom,var(--row-padding-bottom,0)) var(--row-tablet-padding-left,var(--row-padding-left,0))}.compose-row[data-box=legacy]>.compose-columns{padding-right:min(var(--row-tablet-padding-right,var(--row-padding-right,0)),25%);padding-left:min(var(--row-tablet-padding-left,var(--row-padding-left,0)),25%)}.compose-column{width:var(--column-tablet-width,var(--column-width,100%));max-width:var(--column-tablet-max-width,var(--column-max-width,none));margin:var(--column-tablet-margin-top,var(--column-margin-top,0)) var(--column-tablet-margin-right,var(--column-margin-right,0)) var(--column-tablet-margin-bottom,var(--column-margin-bottom,0)) var(--column-tablet-margin-left,var(--column-margin-left,0))}.compose-column-content{padding:var(--column-tablet-padding-top,var(--column-padding-top,0)) var(--column-tablet-padding-right,var(--column-padding-right,0)) var(--column-tablet-padding-bottom,var(--column-padding-bottom,0)) var(--column-tablet-padding-left,var(--column-padding-left,0))}.compose-module{width:var(--module-tablet-width,var(--module-width,100%));max-width:var(--module-tablet-max-width,var(--module-max-width,none));margin:var(--module-tablet-margin-top,var(--module-margin-top,0)) var(--module-tablet-margin-right,var(--module-margin-right,0)) var(--module-tablet-margin-bottom,var(--module-margin-bottom,0)) var(--module-tablet-margin-left,var(--module-margin-left,0))}.compose-module-content{padding:var(--module-tablet-padding-top,var(--module-padding-top,0)) var(--module-tablet-padding-right,var(--module-padding-right,0)) var(--module-tablet-padding-bottom,var(--module-padding-bottom,0)) var(--module-tablet-padding-left,var(--module-padding-left,0))}.compose-text{font-size:var(--module-tablet-font-size,var(--module-font-size,16px))}}
@container (max-width:600px){.compose-heading{font-size:var(--compose-phone-heading,32px)}.compose-section{width:var(--section-mobile-width,var(--section-width,100%));max-width:var(--section-mobile-max-width,var(--section-max-width,none));margin:var(--section-mobile-margin-top,var(--section-margin-top,0)) var(--section-mobile-margin-right,var(--section-margin-right,auto)) var(--section-mobile-margin-bottom,var(--section-margin-bottom,0)) var(--section-mobile-margin-left,var(--section-margin-left,auto))}.compose-section-surface{padding:var(--section-mobile-padding-top,var(--section-padding-top,0)) var(--section-mobile-padding-right,var(--section-padding-right,0)) var(--section-mobile-padding-bottom,var(--section-padding-bottom,0)) var(--section-mobile-padding-left,var(--section-padding-left,0))}.compose-row{width:var(--row-mobile-width,var(--row-width,var(--site-content-width,90%)));max-width:var(--row-mobile-max-width,var(--row-max-width,1200px));margin:var(--row-mobile-margin-top,var(--row-margin-top,0)) var(--row-mobile-margin-right,var(--row-margin-right,auto)) var(--row-mobile-margin-bottom,var(--row-margin-bottom,0)) var(--row-mobile-margin-left,var(--row-margin-left,auto))}.compose-row>.compose-columns{padding:var(--row-mobile-padding-top,var(--row-padding-top,0)) var(--row-mobile-padding-right,var(--row-padding-right,0)) var(--row-mobile-padding-bottom,var(--row-padding-bottom,0)) var(--row-mobile-padding-left,var(--row-padding-left,0))}.compose-row[data-box=legacy]>.compose-columns{padding-right:min(var(--row-mobile-padding-right,var(--row-padding-right,0)),25%);padding-left:min(var(--row-mobile-padding-left,var(--row-padding-left,0)),25%)}.compose-column{width:var(--column-mobile-width,var(--column-width,100%));max-width:var(--column-mobile-max-width,var(--column-max-width,none));margin:var(--column-mobile-margin-top,var(--column-margin-top,0)) var(--column-mobile-margin-right,var(--column-margin-right,0)) var(--column-mobile-margin-bottom,var(--column-margin-bottom,0)) var(--column-mobile-margin-left,var(--column-margin-left,0))}.compose-column-content{padding:var(--column-mobile-padding-top,var(--column-padding-top,0)) var(--column-mobile-padding-right,var(--column-padding-right,0)) var(--column-mobile-padding-bottom,var(--column-padding-bottom,0)) var(--column-mobile-padding-left,var(--column-padding-left,0))}.compose-module{width:var(--module-mobile-width,var(--module-width,100%));max-width:var(--module-mobile-max-width,var(--module-max-width,none));margin:var(--module-mobile-margin-top,var(--module-margin-top,0)) var(--module-mobile-margin-right,var(--module-margin-right,0)) var(--module-mobile-margin-bottom,var(--module-margin-bottom,0)) var(--module-mobile-margin-left,var(--module-margin-left,0))}.compose-module-content{padding:var(--module-mobile-padding-top,var(--module-padding-top,0)) var(--module-mobile-padding-right,var(--module-padding-right,0)) var(--module-mobile-padding-bottom,var(--module-padding-bottom,0)) var(--module-mobile-padding-left,var(--module-padding-left,0))}.compose-text{font-size:var(--module-mobile-font-size,14px)}}

/* Site presets are opt-in; untouched literal documents retain their existing rules. */
.site .composition{font-family:var(--site-body-font,Work,sans-serif)}
.site .compose-heading{font-family:var(--site-heading-font,Archivo,sans-serif)}
.site .compose-column-content{gap:var(--site-spacing,18px)}
[data-preset]{--preset-active-font-size:var(--preset-font-size);--preset-active-font-family:var(--preset-font-family);--preset-active-color:var(--preset-color);--preset-active-background:var(--preset-background);--preset-active-radius:var(--preset-radius);--preset-active-padding-top:var(--preset-padding-top);--preset-active-padding-right:var(--preset-padding-right);--preset-active-padding-bottom:var(--preset-padding-bottom);--preset-active-padding-left:var(--preset-padding-left);--preset-active-padding-x:var(--preset-padding-x);--preset-active-padding-y:var(--preset-padding-y);--preset-active-gap:var(--preset-gap);--preset-active-weight:var(--preset-weight);--preset-active-line-height:var(--preset-line-height);--preset-active-align:var(--preset-align);}
[data-preset=heading]>.compose-module-content>.compose-heading,[data-preset=text]>.compose-module-content>.compose-text{font-size:var(--preset-active-font-size);font-family:var(--preset-active-font-family);font-weight:var(--preset-active-weight);line-height:var(--preset-active-line-height);text-align:var(--preset-active-align);color:var(--preset-active-color)}
[data-preset=button]>.compose-module-content>.compose-button{font-family:var(--preset-active-font-family);font-size:var(--preset-active-font-size);font-weight:var(--preset-active-weight);padding:var(--preset-active-padding-y) var(--preset-active-padding-x);color:var(--preset-active-color);border-radius:var(--preset-active-radius)}
[data-preset=button] .compose-button[data-variant=solid]{background:var(--preset-active-background)}
[data-preset=button] .compose-button[data-variant=outline]{box-shadow:inset 0 0 0 1px var(--preset-active-background)}
[data-preset=card]>.compose-column-content{background:var(--preset-active-background);color:var(--preset-active-color);border-radius:var(--preset-active-radius);padding:var(--preset-active-padding-top) var(--preset-active-padding-right) var(--preset-active-padding-bottom) var(--preset-active-padding-left);gap:var(--preset-active-gap)}
[data-preset=band]>.compose-section-surface{background:var(--preset-active-background);color:var(--preset-active-color);padding:var(--preset-active-padding-top) var(--preset-active-padding-right) var(--preset-active-padding-bottom) var(--preset-active-padding-left)}

[data-preset=image] .compose-picture,[data-preset=image] .compose-picture img{border-radius:var(--preset-active-radius)}
[data-preset=menu] .public-navigation{font-size:var(--preset-active-font-size);font-family:var(--preset-active-font-family);color:var(--preset-active-color)}
[data-preset=gallery] .forma-gallery{--fg-gap:var(--preset-active-gap)}
@container (max-width:600px){[data-preset]{--preset-active-font-size:var(--preset-mobile-font-size);--preset-active-font-family:var(--preset-mobile-font-family);--preset-active-color:var(--preset-mobile-color);--preset-active-background:var(--preset-mobile-background);--preset-active-radius:var(--preset-mobile-radius);--preset-active-padding-top:var(--preset-mobile-padding-top);--preset-active-padding-right:var(--preset-mobile-padding-right);--preset-active-padding-bottom:var(--preset-mobile-padding-bottom);--preset-active-padding-left:var(--preset-mobile-padding-left);--preset-active-padding-x:var(--preset-mobile-padding-x);--preset-active-padding-y:var(--preset-mobile-padding-y);--preset-active-gap:var(--preset-mobile-gap);--preset-active-weight:var(--preset-mobile-weight);--preset-active-line-height:var(--preset-mobile-line-height);--preset-active-align:var(--preset-mobile-align);}.site .composition{--site-content-width:var(--site-mobile-content-width,90%)}}

[data-preset=menu] .compose-menu .public-navigation-list{justify-content:var(--preset-active-align)}
@container (max-width:600px){[data-preset=button] .compose-button[data-mobile-variant=solid]{background:var(--preset-active-background);box-shadow:none}[data-preset=button] .compose-button[data-mobile-variant=outline]{background:transparent;box-shadow:inset 0 0 0 1px var(--preset-active-background)}[data-preset=button] .compose-button[data-mobile-variant=text]{background:transparent;box-shadow:none}[data-preset=button] .compose-button[data-mobile-full-width=true]{width:100%}[data-preset=button] .compose-button[data-mobile-full-width=false]{width:auto}}

[data-preset=button]>.compose-module-content{justify-content:var(--preset-active-align)}

.compose-hero-module{position:relative;isolation:isolate;overflow:hidden;container:hero-module / inline-size;min-height:clamp(430px,56vw,680px);border-radius:inherit;background:#152640}.site .compose-hero-module{color:white}
.compose-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(220px,.9fr);align-items:center;gap:clamp(24px,5cqw,72px);min-height:inherit;padding:clamp(36px,7cqw,92px)}
.compose-hero-inner[data-picture=none]{grid-template-columns:minmax(0,1fr)}.compose-hero-copy{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:var(--hero-button-justify,flex-start);min-width:0}.compose-hero-copy::before{content:'';position:absolute;z-index:-1;inset:-30px -64px -30px -32px;border-radius:34%;background:radial-gradient(ellipse at 18% 50%,rgb(7 16 31 / .9),rgb(7 16 31 / .78) 64%,rgb(7 16 31 / .7));filter:blur(14px);pointer-events:none}
.compose-hero-subheading,.compose-hero-heading,.compose-hero-body{align-self:stretch;white-space:pre-line;overflow-wrap:anywhere}
.compose-hero-subheading{margin:0 0 12px;text-transform:uppercase;letter-spacing:.12em}
/* The kicker: the small line above everything else in the Hero's words. Two buttons sit side by side and wrap on a narrow screen. */
.compose-hero-kicker{align-self:stretch;margin:0 0 14px;text-transform:uppercase;letter-spacing:.16em;white-space:pre-line;overflow-wrap:anywhere}
.compose-hero-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:var(--hero-button-justify,flex-start);gap:12px 16px;align-self:stretch;margin-top:28px}.compose-hero-actions>.compose-hero-button{margin-top:0}
.compose-hero-heading{margin:0;font-family:var(--site-heading-font,Archivo,sans-serif);letter-spacing:-.045em;text-wrap:balance}
.compose-hero-body{margin:20px 0 0;max-width:var(--hero-measure,58ch)}
.compose-hero-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:44px;margin-top:28px;padding:13px 22px;border-radius:var(--hero-button-radius,8px);background:var(--hero-button-background,var(--site-accent));color:var(--hero-button-color,white);font-size:13px;font-weight:650;text-decoration:none}
.compose-hero-button[data-variant=outline]{background:transparent;box-shadow:inset 0 0 0 1px var(--hero-button-background,var(--site-accent))}
.compose-hero-button[data-variant=text]{background:transparent}.compose-hero-button[data-full-width=true]{width:100%}.compose-hero-button svg{transform:rotate(45deg);flex-shrink:0}
.compose-hero-image{position:relative;margin:0;overflow:hidden;border-radius:var(--hero-image-radius,var(--site-radius,20px));background:#ffffff18}
/* An Original frame draws the picture alone: no box behind a picture with its own transparent edges. */
.compose-hero-image[data-ratio=original]{background:none}
/* A foreground picture that follows the pointer (assets/foreground.mjs) moves as one piece. */
.compose-hero-image[data-foreground=follow],.compose-picture[data-foreground=follow]{will-change:transform;transform-origin:50% 60%}
.compose-hero-image[data-ratio=landscape]{aspect-ratio:16/9}.compose-hero-image[data-ratio=square]{aspect-ratio:1}.compose-hero-image[data-ratio=portrait]{aspect-ratio:4/5}.compose-hero-image img{display:block;width:100%;height:100%;min-height:280px;max-height:560px;object-fit:var(--hero-image-fit,cover);object-position:var(--hero-image-position,50% 50%)}
@container hero-module (max-width:980px){.compose-hero-heading,.compose-hero-subheading,.compose-hero-body,.compose-hero-kicker{font-size:var(--hero-tablet-size)!important}}
@container hero-module (max-width:600px){.compose-hero-inner{grid-template-columns:1fr;padding:34px 24px}.compose-hero-heading,.compose-hero-subheading,.compose-hero-body,.compose-hero-kicker{font-size:var(--hero-phone-size)!important}.compose-hero-image img{min-height:220px}.compose-hero-button{max-width:100%}}


@container (max-width:600px){.compose-section[data-design-style]{--design-active-width:var(--design-mobile-width)}}
/* Rich text: the text module's paragraphs, lists and inline marks. Links take the Site Style accent
   unless the module sets its own colour; on a dark or coloured ground they keep the text's own ink. */
.compose-rich{white-space:normal}.compose-rich>p,.compose-rich>ul,.compose-rich>ol{margin:0}.compose-rich>:is(p,ul,ol)+:is(p,ul,ol){margin-top:.75em}
/* Headings inside rich text. Each setting is the module's Header setting for that level when one is set (the
   --rich-hN-* variables, written only for set values), else the site: Site Style's heading typeface and a step
   per level. A tablet size follows the desktop size until it is set. */
.compose-rich>:is(h1,h2,h3,h4,h5,h6){margin:0;overflow-wrap:anywhere;text-wrap:balance}
.compose-rich>h1{font-family:var(--rich-h1-font,var(--site-heading-font,Archivo,sans-serif));font-size:var(--rich-h1-size,48px);font-weight:var(--rich-h1-weight,600);line-height:var(--rich-h1-line-height,1.2);letter-spacing:var(--rich-h1-letter-spacing,normal);color:var(--rich-h1-color,inherit);text-align:var(--rich-h1-align,inherit)}.compose-rich>h2{font-family:var(--rich-h2-font,var(--site-heading-font,Archivo,sans-serif));font-size:var(--rich-h2-size,36px);font-weight:var(--rich-h2-weight,600);line-height:var(--rich-h2-line-height,1.2);letter-spacing:var(--rich-h2-letter-spacing,normal);color:var(--rich-h2-color,inherit);text-align:var(--rich-h2-align,inherit)}.compose-rich>h3{font-family:var(--rich-h3-font,var(--site-heading-font,Archivo,sans-serif));font-size:var(--rich-h3-size,28px);font-weight:var(--rich-h3-weight,600);line-height:var(--rich-h3-line-height,1.2);letter-spacing:var(--rich-h3-letter-spacing,normal);color:var(--rich-h3-color,inherit);text-align:var(--rich-h3-align,inherit)}.compose-rich>h4{font-family:var(--rich-h4-font,var(--site-heading-font,Archivo,sans-serif));font-size:var(--rich-h4-size,22px);font-weight:var(--rich-h4-weight,600);line-height:var(--rich-h4-line-height,1.2);letter-spacing:var(--rich-h4-letter-spacing,normal);color:var(--rich-h4-color,inherit);text-align:var(--rich-h4-align,inherit)}.compose-rich>h5{font-family:var(--rich-h5-font,var(--site-heading-font,Archivo,sans-serif));font-size:var(--rich-h5-size,18px);font-weight:var(--rich-h5-weight,600);line-height:var(--rich-h5-line-height,1.2);letter-spacing:var(--rich-h5-letter-spacing,normal);color:var(--rich-h5-color,inherit);text-align:var(--rich-h5-align,inherit)}.compose-rich>h6{font-family:var(--rich-h6-font,var(--site-heading-font,Archivo,sans-serif));font-size:var(--rich-h6-size,16px);font-weight:var(--rich-h6-weight,600);line-height:var(--rich-h6-line-height,1.2);letter-spacing:var(--rich-h6-letter-spacing,normal);color:var(--rich-h6-color,inherit);text-align:var(--rich-h6-align,inherit)}
@container (max-width:980px){.compose-rich>h1{font-size:var(--rich-h1-tablet-size,var(--rich-h1-size,40px))}.compose-rich>h2{font-size:var(--rich-h2-tablet-size,var(--rich-h2-size,32px))}.compose-rich>h3{font-size:var(--rich-h3-tablet-size,var(--rich-h3-size,26px))}.compose-rich>h4{font-size:var(--rich-h4-tablet-size,var(--rich-h4-size,21px))}.compose-rich>h5{font-size:var(--rich-h5-tablet-size,var(--rich-h5-size,18px))}.compose-rich>h6{font-size:var(--rich-h6-tablet-size,var(--rich-h6-size,16px))}}
@container (max-width:600px){.compose-rich>h1{font-size:var(--rich-h1-phone-size,32px)}.compose-rich>h2{font-size:var(--rich-h2-phone-size,28px)}.compose-rich>h3{font-size:var(--rich-h3-phone-size,24px)}.compose-rich>h4{font-size:var(--rich-h4-phone-size,20px)}.compose-rich>h5{font-size:var(--rich-h5-phone-size,17px)}.compose-rich>h6{font-size:var(--rich-h6-phone-size,15px)}}
.compose-text{font-family:var(--module-font-family,inherit)}
.compose-rich>*+:is(h1,h2,h3,h4,h5,h6){margin-top:1.1em}.compose-rich>:is(h1,h2,h3,h4,h5,h6)+*{margin-top:.5em}
.compose-rich ul,.compose-rich ol{padding-inline-start:1.35em}.compose-rich li+li{margin-top:.3em}.compose-rich li::marker{color:currentColor}
.compose-rich strong{font-weight:bolder}.compose-rich em{font-style:italic}
.compose-rich a{color:var(--module-link-color,var(--site-accent,currentColor));text-decoration-line:var(--module-link-decoration,underline);text-decoration-thickness:.08em;text-underline-offset:.2em}
.compose-rich a:hover{text-decoration-thickness:.14em}.compose-rich a:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:2px}
.compose-section-surface:is([data-tone=ink],[data-tone=brand]) .compose-rich a,.compose-section-surface:not([data-effect=none]) .compose-rich a{color:var(--module-link-color,currentColor)}

/* Border & Shadow: one edge model for every element. The wrapper names the parts it wears
   (data-edge="border shadow radius"); each part is drawn on the element's own surface. */
.compose-section[data-edge~=border]>.compose-section-surface{border:var(--section-edge-border)}.compose-section[data-edge~=shadow]>.compose-section-surface{box-shadow:var(--section-edge-shadow)}.compose-section[data-edge~=radius]>.compose-section-surface{border-radius:var(--section-edge-radius)}
.compose-row[data-edge~=border]>.compose-columns{border:var(--row-edge-border)}.compose-row[data-edge~=shadow]>.compose-columns{box-shadow:var(--row-edge-shadow)}.compose-row[data-edge~=radius]>.compose-columns{border-radius:var(--row-edge-radius)}
.compose-column[data-edge~=border]>.compose-column-content{border:var(--column-edge-border)}.compose-column[data-edge~=shadow]>.compose-column-content{box-shadow:var(--column-edge-shadow)}.compose-column[data-edge~=radius]>.compose-column-content{border-radius:var(--column-edge-radius)}
.compose-module:not(.compose-item-image,.compose-item-button,.compose-item-hero,.compose-item-gallery,.compose-item-video,.compose-item-feature)[data-edge~=border]>.compose-module-content{border:var(--module-edge-border)}.compose-module:not(.compose-item-image,.compose-item-button,.compose-item-hero,.compose-item-gallery,.compose-item-video,.compose-item-feature)[data-edge~=shadow]>.compose-module-content{box-shadow:var(--module-edge-shadow)}.compose-module:not(.compose-item-image,.compose-item-button,.compose-item-hero,.compose-item-gallery,.compose-item-video,.compose-item-feature)[data-edge~=radius]>.compose-module-content{border-radius:var(--module-edge-radius)}
.compose-item-image[data-edge] .compose-picture{box-sizing:border-box;overflow:hidden;border-radius:var(--module-image-radius,var(--site-radius,20px))}.compose-item-image[data-edge~=border] .compose-picture{border:var(--module-edge-border)}.compose-item-image[data-edge~=shadow] .compose-picture{box-shadow:var(--module-edge-shadow)}
.compose-item-button[data-edge~=border] .compose-button{border:var(--module-edge-border)}.compose-item-button[data-edge~=shadow] .compose-button{box-shadow:var(--module-edge-shadow)}.compose-item-button[data-edge~=shadow] .compose-button[data-variant=outline]{box-shadow:inset 0 0 0 1px var(--module-button-background,var(--site-accent)),var(--module-edge-shadow)}
.compose-item-hero[data-edge~=border] .compose-hero-module{border:var(--module-edge-border)}.compose-item-hero[data-edge~=shadow] .compose-hero-module{box-shadow:var(--module-edge-shadow)}.compose-item-hero[data-edge~=radius] .compose-hero-module{border-radius:var(--module-edge-radius)}
.compose-item-gallery[data-edge] .fg-print .fg-photo{overflow:hidden}.compose-item-gallery[data-edge~=border] .fg-print .fg-photo{border:var(--module-edge-border);box-sizing:border-box}.compose-item-gallery[data-edge~=shadow] .fg-print .fg-photo{box-shadow:var(--module-edge-shadow)}.compose-item-gallery[data-edge~=radius] .fg-print .fg-photo{border-radius:var(--module-edge-radius)}
.compose-item-video[data-edge~=border] .compose-video-frame{border:var(--module-edge-border);box-sizing:border-box}.compose-item-video[data-edge~=shadow] .compose-video-frame{box-shadow:var(--module-edge-shadow)}.compose-item-video[data-edge~=radius] .compose-video-frame{border-radius:var(--module-edge-radius)}

/* Divider: a rule along a section's top or bottom edge, over its background. Full width runs the
   section's whole width; inset keeps to the site's content width, as a contained row does. */
.compose-divider{position:absolute;left:0;right:0;z-index:2;display:block;pointer-events:none}
.compose-divider[data-side=top]{top:0;height:var(--section-divider-top-width);background:var(--section-divider-top-color)}
.compose-divider[data-side=bottom]{bottom:0;height:var(--section-divider-bottom-width);background:var(--section-divider-bottom-color)}
.compose-divider[data-inset]{left:50%;right:auto;width:var(--site-content-width,90%);max-width:var(--site-content-max,none);transform:translateX(-50%)}

/* Gradient: over the section's surface colour and under its picture and effects, which the art
   layer already draws above the surface. Text keeps the Surface's ink. */
.compose-section[data-gradient]>.compose-section-surface{background-image:var(--section-gradient)}
/* A rule above a heading (module-style.mjs, headingRuleCss): a bar over the heading's first line, 16 px above it, aligned with it; it is no part of the words, so editing them on the canvas leaves it alone. */
:is(.compose-heading,.compose-hero-heading)[data-rule]::before{content:'';display:block;box-sizing:border-box;width:var(--heading-rule-length,64px);max-width:100%;height:var(--heading-rule-width,3px);margin:var(--heading-rule-margin,0);margin-bottom:16px;background:var(--heading-rule-color,var(--site-accent,#365ee8));pointer-events:none}
/* Ground: a solid colour under the content in place of the tone's (and a band preset's); a gradient draws over it, a picture over both. Its words follow it through the surface's tone (surfaceTone). */
.compose-section[data-ground]>.compose-section-surface{background-color:var(--section-ground)}
/* A section's wash (picture-wash.mjs) in place of the effect's own dark gradient over its picture; Spotlight takes its colour and start strength as its shade (--look-image-wash). Over a light wash the words take the light-ground ink. */
.compose-section[data-wash] .compose-section-surface:not([data-effect=none],[data-effect=spotlight])>.compose-art>.compose-art-wash{background:var(--section-wash)}
.compose-section[data-wash][data-scroll-drift] .compose-section-surface[data-effect=none]>.compose-art>.compose-art-wash{background:var(--section-wash)}
.compose-section[data-wash] .compose-section-surface:not([data-effect=none]){color:var(--section-wash-ink,white)}
.compose-section[data-wash][data-scroll-drift] .compose-section-surface[data-effect=none]{color:var(--section-wash-ink,white)}

/* Visibility: an element hidden on a screen size is left out of the page at that size. The size
   is the site's own width (the forma-site container), with the breakpoints every other device
   rule uses. The editing canvas is not a .public-composition: there a hidden element is dimmed. */
@container forma-site (width > 980px){.public-composition [data-hide~=desktop]{display:none!important}}
@container forma-site (600px < width <= 980px){.public-composition [data-hide~=tablet]{display:none!important}}
@container forma-site (width <= 600px){.public-composition [data-hide~=phone]{display:none!important}}

/* Motion: an element with an entrance waits unseen on the published page until Motion plays it, in
   view, with the scroll or on the page's arrival (assets/entrance-runtime.mjs). Only where script runs and motion is welcome;
   under reduced motion, without script, and in the editor's canvas and previews it is simply there.
   If the page's runtime never arms, the late reveal shows everything after three seconds. */
@media (scripting:enabled) and (prefers-reduced-motion:no-preference){
 body[data-forma-served] [data-entrance]:not([data-entered])>:is(.compose-module-content,.compose-column-content,.compose-columns),
 body[data-forma-served] [data-entrance]:not([data-entered])>.compose-section-surface>.compose-section-content{opacity:0}
 body[data-forma-served]:not([data-entrances-armed]) [data-entrance]:not([data-entered])>:is(.compose-module-content,.compose-column-content,.compose-columns),
 body[data-forma-served]:not([data-entrances-armed]) [data-entrance]:not([data-entered])>.compose-section-surface>.compose-section-content{animation:forma-entrance-reveal 1ms 3s forwards}
}
@keyframes forma-entrance-reveal{to{opacity:1}}

/* Hover colours: a button's words and fill, and a text module's links, change under the pointer and
   on keyboard focus alike, and only what is set changes. The change eases like every other state
   here and is instant under reduced motion. Written last so it outranks the tone rules. */
.compose-button,.compose-rich a{transition:color .18s ease,background-color .18s ease,box-shadow .18s ease}
.compose-module.compose-item-button>.compose-module-content>.compose-button[data-hover~=color]:is(:hover,:focus-visible){color:var(--module-button-hover-color)}
.compose-module.compose-item-button>.compose-module-content>.compose-button[data-hover~=background]:is(:hover,:focus-visible){background:var(--module-button-hover-background)}
.compose-module.compose-item-button>.compose-module-content>.compose-button[data-hover~=background][data-variant=outline]:is(:hover,:focus-visible){box-shadow:inset 0 0 0 1px var(--module-button-hover-background)}
.compose-rich[data-link-hover~=color] a:is(:hover,:focus-visible){color:var(--module-link-hover-color)}
.compose-rich[data-link-hover~=background] a:is(:hover,:focus-visible){background:var(--module-link-hover-background);border-radius:.15em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.compose-module.compose-item-button[data-edge~=shadow]>.compose-module-content>.compose-button[data-hover~=background][data-variant=outline]:is(:hover,:focus-visible){box-shadow:inset 0 0 0 1px var(--module-button-hover-background),var(--module-edge-shadow)}
@media (prefers-reduced-motion:reduce){.compose-button,.compose-rich a{transition:none}}

/* Background video: over the section's picture and its effect, under the wash, so the words keep
   the picture's contrast. A failed file steps aside and the picture shows; the poster is the
   picture wherever the video is still. Spotlight draws no wash of its own, so the film carries one. */
.compose-art-film{position:absolute;inset:0;overflow:hidden}
.compose-art .compose-art-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.compose-art-video[data-state=failed]{display:none}
.compose-section-surface[data-effect=spotlight] .compose-art-film::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,#10213ad9 0%,#10213a99 50%,#10213a40 100%)}
.compose-video[data-video-source=library] .compose-video-file{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#14223b}

/* The kicker: the small line above a Heading, in capitals with wide tracking, in Site Style's Label face when it names one. The Hero's kicker takes the same face. */
.compose-kicker{position:relative;z-index:2;margin:0 0 .85em;font-family:var(--site-label-font,inherit);font-size:var(--kicker-size,13px);font-weight:var(--kicker-weight,600);line-height:var(--kicker-line-height,1.4);text-align:var(--kicker-align,left);color:var(--kicker-color,inherit);text-transform:uppercase;letter-spacing:.16em;white-space:pre-line;overflow-wrap:anywhere}
.compose-hero-kicker{font-family:var(--site-label-font,inherit)}
/* A Text module in Capitals: a label line, in the Label face when Site Style has one; the stored words keep their case. */
.compose-text[data-case=capitals]{text-transform:uppercase;letter-spacing:.16em;font-family:var(--site-label-font,var(--module-font-family,inherit))}
/* Inline buttons share a row in their column and wrap; at phone width each takes its own row. */
.compose-column-content:has(>.compose-module[data-inline]){flex-flow:row wrap;justify-content:var(--inline-justify,flex-start);align-content:var(--column-align,start)}
.compose-column-content:has(>.compose-module[data-inline])>*{flex:1 0 100%}
.compose-column-content>.compose-module[data-inline]{flex:0 0 auto;width:auto;max-width:100%}
@container (max-width:600px){.compose-column-content>.compose-module[data-inline]{flex:1 0 100%;width:var(--module-mobile-width,100%)}}
@container (max-width:980px){.compose-kicker{font-size:var(--kicker-tablet-size,var(--kicker-size,13px))}}
@container (max-width:600px){.compose-kicker{font-size:var(--kicker-phone-size,12px)}}

/* A button's hover beyond colour, shared by keyboard focus: Lift rises with a shadow, Glow draws a halo in the button's own colour, Lift and Glow both. Trailing is a level arrow that moves on hover. Nothing moves under reduced motion. */
:is(.compose-button,.compose-hero-button)[data-hover-style]{transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,background-color .2s ease,color .2s ease}
.compose-button{--button-glow:var(--module-button-background,var(--site-accent,#365ee8))}.compose-hero-button{--button-glow:var(--hero-button-background,var(--site-accent,#365ee8))}
:is(.compose-button,.compose-hero-button):is([data-hover-style=lift],[data-hover-style=lift-glow]):is(:hover,:focus-visible){transform:translateY(-3px)}
:is(.compose-button,.compose-hero-button)[data-hover-style=lift]:is(:hover,:focus-visible){box-shadow:0 14px 28px -12px rgb(12 16 36 / .5)}
:is(.compose-button,.compose-hero-button)[data-hover-style=glow]:is(:hover,:focus-visible){box-shadow:0 0 0 4px color-mix(in srgb,var(--button-glow) 26%,transparent),0 10px 30px -8px color-mix(in srgb,var(--button-glow) 85%,transparent)}
:is(.compose-button,.compose-hero-button)[data-hover-style=lift-glow]:is(:hover,:focus-visible){box-shadow:0 0 0 4px color-mix(in srgb,var(--button-glow) 22%,transparent),0 20px 38px -14px color-mix(in srgb,var(--button-glow) 95%,transparent)}
:is(.compose-button,.compose-hero-button)[data-arrow=trailing] svg{transform:none;transition:transform .24s cubic-bezier(.2,.8,.2,1)}
:is(.compose-button,.compose-hero-button)[data-arrow=trailing]:is(:hover,:focus-visible) svg{transform:translateX(4px)}
@media (prefers-reduced-motion:reduce){:is(.compose-button,.compose-hero-button)[data-hover-style]{transition:none}:is(.compose-button,.compose-hero-button)[data-hover-style]:is(:hover,:focus-visible){transform:none}:is(.compose-button,.compose-hero-button)[data-arrow=trailing] svg,:is(.compose-button,.compose-hero-button)[data-arrow=trailing]:is(:hover,:focus-visible) svg{transition:none;transform:none}}

/* A waterline: the section's own surface reaches past its edge by the waterline's height (a transparent border its background, picture and ambient fill) and is cut along the curve (model/waterline.mjs); the page's flow does not grow, the surface's negative margin takes the height back. The divider's colour and width are the light edge along the curve. */
.compose-section[data-waterline]>.compose-section-surface{clip-path:var(--section-waterline-clip);background-origin:border-box;z-index:1}
.compose-section[data-waterline~=top]>.compose-section-surface{margin-top:calc(var(--waterline-top) * -1);border-top:var(--waterline-top) solid transparent}
.compose-section[data-waterline~=bottom]>.compose-section-surface{margin-bottom:calc(var(--waterline-bottom) * -1);border-bottom:var(--waterline-bottom) solid transparent}
.compose-section[data-waterline~=top]>.compose-section-surface>:is(.compose-art,.compose-ambient){top:calc(var(--waterline-top) * -1)}
.compose-section[data-waterline~=bottom]>.compose-section-surface>:is(.compose-art,.compose-ambient){bottom:calc(var(--waterline-bottom) * -1)}
.compose-waterline{position:absolute;left:0;z-index:2;display:block;width:100%;overflow:visible;pointer-events:none}
.compose-waterline[data-side=top]{top:calc(var(--waterline-top) * -1);height:var(--waterline-top)}.compose-waterline[data-side=top] path{fill:none;stroke:var(--section-divider-top-color);stroke-width:var(--section-divider-top-width)}
.compose-waterline[data-side=bottom]{bottom:calc(var(--waterline-bottom) * -1);height:var(--waterline-bottom)}.compose-waterline[data-side=bottom] path{fill:none;stroke:var(--section-divider-bottom-color);stroke-width:var(--section-divider-bottom-width)}

/* An ambient ground (assets/ambient.mjs): caustics, light shafts and rising motes over the section's picture and under its content, in the section's own ink, as strong as its Strength. Drawn at rest; Motion loops it where the page declares it and the visitor has not asked for reduced motion. */
.compose-ambient{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;border-radius:inherit}
.compose-ambient-caustic{position:absolute;inset:-20% -10%;opacity:calc(var(--ambient-strength,.6) * .67);background:repeating-linear-gradient(104deg,transparent 0,color-mix(in srgb,currentColor 16%,transparent) 2px,transparent 26px),repeating-linear-gradient(72deg,transparent 0,color-mix(in srgb,currentColor 10%,transparent) 3px,transparent 44px);-webkit-mask-image:radial-gradient(90% 70% at 40% -10%,#000 0%,transparent 72%);mask-image:radial-gradient(90% 70% at 40% -10%,#000 0%,transparent 72%);transform:translate3d(-3%,-2%,0) scale(1.04);will-change:transform}
.compose-ambient-shafts{position:absolute;inset:-10% -20% auto;height:130%;opacity:calc(var(--ambient-strength,.6) * .83);background:linear-gradient(97deg,transparent 0 12%,color-mix(in srgb,currentColor 14%,transparent) 13% 15%,transparent 16% 31%,color-mix(in srgb,currentColor 9%,transparent) 32% 36%,transparent 37% 57%,color-mix(in srgb,currentColor 13%,transparent) 58% 60%,transparent 61% 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 78%);mask-image:linear-gradient(180deg,#000 0%,transparent 78%);transform:translate3d(-4%,0,0) skewX(-3deg);will-change:transform}
.compose-ambient-motes{position:absolute;inset:0;opacity:calc(var(--ambient-strength,.6) * 1.35)}
.compose-ambient-mote{position:absolute;display:block;border-radius:50%;background:color-mix(in srgb,currentColor 78%,transparent);opacity:.55}
.compose-ambient-flock{position:absolute;inset:0;opacity:var(--ambient-strength,.6)}
.compose-flock-item{position:absolute;display:block;transform-origin:center;will-change:transform}
.compose-flock-mark{display:block;width:100%;height:100%;will-change:transform}
.compose-flock-mark svg{display:block;width:100%;height:100%;overflow:visible}
.compose-flock-mark[style]{background:currentColor;-webkit-mask:var(--flock-mask) center/contain no-repeat;mask:var(--flock-mask) center/contain no-repeat}
.compose-section[id]{scroll-margin-top:6rem}
.compose-page-rail{position:fixed;inset-block:0;inset-inline-start:0;width:78px;z-index:35;display:grid;align-content:center;pointer-events:none;color:var(--rail-ink);font:600 11px/1.2 var(--site-body);letter-spacing:.06em}
.compose-page-rail[data-side=right]{inset-inline-start:auto;inset-inline-end:0}
.compose-rail-line{position:absolute;inset-block:10%;inset-inline-start:38px;width:1px;background:linear-gradient(transparent,color-mix(in srgb,currentColor 32%,transparent) 15% 85%,transparent)}
.compose-rail-links{display:grid;gap:4px;position:relative}
.compose-page-rail a{position:relative;display:flex;align-items:center;width:78px;min-height:38px;padding-inline:22px 0;color:color-mix(in srgb,currentColor 52%,transparent);text-decoration:none;pointer-events:auto;outline-offset:-3px}
.compose-rail-stub{width:15px;height:1px;background:currentColor;transition:width .2s ease}
.compose-rail-mark,.compose-rail-dot{position:absolute;inset-inline-start:25px;width:26px;height:26px;opacity:0;transform:scale(.7);transition:opacity .2s ease,transform .2s ease}
.compose-rail-mark{background:currentColor;-webkit-mask:var(--rail-mark) center/contain no-repeat;mask:var(--rail-mark) center/contain no-repeat}
.compose-rail-dot{inset-inline-start:34px;width:9px;height:9px;border-radius:50%;background:currentColor}
.compose-rail-label{position:absolute;inset-inline-start:60px;white-space:nowrap;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--site-paper,#fff) 90%,transparent);opacity:0;transform:translateX(-5px);transition:opacity .16s ease,transform .16s ease}
.compose-page-rail[data-side=right] .compose-rail-label{inset-inline-start:auto;inset-inline-end:60px;transform:translateX(5px)}
.compose-page-rail a:hover .compose-rail-label,.compose-page-rail a:focus-visible .compose-rail-label,.compose-page-rail[data-design=labels] .compose-rail-label{opacity:1;transform:none}
.compose-page-rail a[aria-current]{color:currentColor}.compose-page-rail a[aria-current] .compose-rail-stub{width:0}.compose-page-rail a[aria-current] :is(.compose-rail-mark,.compose-rail-dot){opacity:1;transform:scale(1)}
.compose-page-rail[data-design=dots] .compose-rail-stub,.compose-page-rail[data-design=counter] .compose-rail-stub{width:0}.compose-page-rail[data-design=dots] .compose-rail-dot,.compose-page-rail[data-design=counter] .compose-rail-dot{opacity:.45;transform:scale(.7)}.compose-page-rail[data-design=dots] a[aria-current] .compose-rail-dot,.compose-page-rail[data-design=counter] a[aria-current] .compose-rail-dot{opacity:1;transform:scale(1)}
.compose-rail-read{position:absolute;inset-inline:0;bottom:7vh;text-align:center;color:currentColor}.compose-rail-read b{display:block;font-size:15px}.compose-rail-read small{font-size:10px}
@media (max-width:600px){.compose-page-rail[data-hide-phone]{display:none}}
@media (prefers-reduced-motion:reduce){.compose-page-rail *{transition:none!important}}

/* Local adaptations of PageStudio hero effect styling; see README for source paths. */
/* Drift — a close image plane slips against a quiet, diagonal depth plane. */
:is(.compose-section-surface,.compose-hero-module)[data-effect='drift'] .compose-art-main {
  transform: scale(1.035) translate3d(calc(var(--hero-pointer-x) * -.65rem), calc(var(--hero-pointer-y) * -.4rem), 0);
  filter: saturate(1.03) contrast(1.03);
}
.compose-drift-depth {
  clip-path: polygon(56% 0, 100% 0, 100% 100%, 38% 100%);
  transform: scale(1.11) translate3d(calc(var(--hero-pointer-x) * 1.1rem), calc(var(--hero-pointer-y) * .7rem), 0);
  filter: saturate(1.22) contrast(1.08) brightness(1.04);
  opacity: .72;
}
.compose-drift-plane {
  position: absolute;
  inset: -18% -8% -18% 51%;
  transform: skewX(-8deg) translate3d(calc(var(--hero-pointer-x) * .45rem), 0, 0);
  border-left: 1px solid rgb(255 255 255 / .38);
  background: linear-gradient(105deg, rgb(255 255 255 / .03), rgb(255 255 255 / .14) 46%, transparent 47%);
  box-shadow: -2.5rem 0 5rem rgb(0 0 0 / .18);
}
:is(.compose-section-surface,.compose-hero-module)[data-effect='drift'] .compose-art-wash { background: linear-gradient(115deg, rgb(0 0 0 / .7) 0 28%, rgb(0 0 0 / .18) 62%, rgb(0 0 0 / .46)); }

@media (prefers-reduced-motion: no-preference) {
  :is(.compose-section-surface,.compose-hero-module)[data-motion='on'] :is(.compose-drift-depth, .compose-drift-plane) {
    transition: transform .7s cubic-bezier(.2, .75, .15, 1), filter .7s ease, opacity .4s ease, -webkit-mask-position .3s ease, mask-position .3s ease;
  }
}

@container hero-module (max-width: 48rem) {
  .compose-drift-depth { clip-path: polygon(68% 0, 100% 0, 100% 100%, 48% 100%); }
}

@media (prefers-reduced-motion: reduce) {
  :is(.compose-section-surface,.compose-hero-module)[data-effect='drift'] .compose-art-main,
  .compose-drift-depth,
  .compose-drift-plane { transform: none; }
}

:is(.compose-section-surface,.compose-hero-module)[data-motion='off'][data-effect='drift'] .compose-art-main { transform: scale(1.035); }
:is(.compose-section-surface,.compose-hero-module)[data-motion='off'] .compose-drift-depth { transform: scale(1.11); }
:is(.compose-section-surface,.compose-hero-module)[data-motion='off'] .compose-drift-plane { transform: skewX(-8deg); }

/*
 * Spotlight — the photograph recedes under its Wash except beneath a responsive pool of light.
 * The Wash's colour and strength are the shadow; the readability scrim is drawn in the same
 * colour. With no Wash set: black at 62%, the strength measured closest to the format's
 * original darkness (a fixed brightness filter, removed).
 */
:is(.compose-section-surface,.compose-hero-module)[data-effect='spotlight'] .compose-art-main { filter: saturate(.7) contrast(1.12); }
:is(.compose-section-surface,.compose-hero-module)[data-effect='spotlight'] .compose-image-wash { display: none; }
.compose-spotlight-shade { position: absolute; inset: 0; background: var(--look-image-wash, #000); opacity: var(--look-image-wash-strength, .62); pointer-events: none; }
.compose-spotlight { position: absolute; inset: 0; filter: saturate(1.16) brightness(1.05); -webkit-mask-image: radial-gradient(circle clamp(12rem, 24vw, 24rem) at var(--hero-light-x) var(--hero-light-y), #000 0 38%, rgb(0 0 0 / .8) 58%, transparent 78%); mask-image: radial-gradient(circle clamp(12rem, 24vw, 24rem) at var(--hero-light-x) var(--hero-light-y), #000 0 38%, rgb(0 0 0 / .8) 58%, transparent 78%); }
.compose-spotlight .compose-spotlight-photo { inset: 0; }
.compose-spotlight::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle clamp(13rem, 25vw, 26rem) at var(--hero-light-x) var(--hero-light-y), rgb(255 247 222 / .18), transparent 68%); mix-blend-mode: screen; }
.compose-spotlight-scrim {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--look-image-wash, #000) 52%, transparent), transparent 54%),
    linear-gradient(0deg, color-mix(in srgb, var(--look-image-wash, #000) 50%, transparent), transparent 55%);
}
:is(.compose-section-surface,.compose-hero-module)[data-effect='spotlight'] .compose-art-wash { background: none; }

@media (prefers-reduced-motion: no-preference) {
  :is(.compose-section-surface,.compose-hero-module)[data-motion='on'] .compose-spotlight {
    transition: transform .7s cubic-bezier(.2, .75, .15, 1), filter .7s ease, opacity .4s ease, -webkit-mask-position .3s ease, mask-position .3s ease;
  }
}

@media (prefers-reduced-motion: reduce) {
  .compose-spotlight { --hero-light-x: 42%; --hero-light-y: 36%; }
}

:is(.compose-section-surface,.compose-hero-module)[data-motion='off'] .compose-spotlight { --hero-light-x: 42%; --hero-light-y: 36%; }

/* Prism — four cut glass fragments refract the same photographic ground. */
.compose-prism-photo {
  position: absolute;
  display: block;
  max-width: none;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--look-image-focus-x, var(--hero-subject-x, 50%)) var(--look-image-focus-y, var(--hero-subject-y, 50%));
  user-select: none;
  pointer-events: none;
}
:is(.compose-section-surface,.compose-hero-module)[data-effect='prism'] .compose-art-main { transform: scale(1.025); filter: saturate(.86) contrast(1.08); }
.compose-prism { position: absolute; inset: 0; }
.compose-prism-slice { position: absolute; inset: 0; overflow: hidden; filter: drop-shadow(0 1.2rem 1.6rem rgb(0 0 0 / .2)); }
.compose-prism-slice:nth-child(1) { clip-path: polygon(0 0, 37% 0, 28% 100%, 0 100%); transform: translate3d(calc(var(--hero-pointer-x) * -.65rem), calc(var(--hero-pointer-y) * -.25rem), 0); }
.compose-prism-slice:nth-child(2) { clip-path: polygon(34% 0, 63% 0, 71% 100%, 26% 100%); transform: translate3d(calc(var(--hero-pointer-x) * .55rem), calc(var(--hero-pointer-y) * .4rem), 0); }
.compose-prism-slice:nth-child(3) { clip-path: polygon(61% 0, 84% 0, 76% 100%, 69% 100%); transform: translate3d(calc(var(--hero-pointer-x) * -.9rem), calc(var(--hero-pointer-y) * .22rem), 0); }
.compose-prism-slice:nth-child(4) { clip-path: polygon(82% 0, 100% 0, 100% 100%, 74% 100%); transform: translate3d(calc(var(--hero-pointer-x) * .72rem), calc(var(--hero-pointer-y) * -.35rem), 0); }
.compose-prism-slice:nth-child(odd) .compose-prism-photo { filter: saturate(1.38) hue-rotate(-7deg) brightness(1.04); }
.compose-prism-slice:nth-child(even) .compose-prism-photo { filter: saturate(1.2) hue-rotate(9deg) contrast(1.05); }
.compose-prism-slice::after { content: ''; position: absolute; inset: 0; border-inline: 1px solid rgb(255 255 255 / .36); background: linear-gradient(108deg, transparent 42%, rgb(255 255 255 / .16) 49%, transparent 56%); mix-blend-mode: screen; }
:is(.compose-section-surface,.compose-hero-module)[data-effect='prism'] .compose-art-wash { background: linear-gradient(104deg, rgb(0 0 0 / .68), rgb(0 0 0 / .1) 56%, rgb(0 0 0 / .46)); }

@media (prefers-reduced-motion: no-preference) {
  :is(.compose-section-surface,.compose-hero-module)[data-motion='on'] .compose-prism-slice {
    transition: transform .7s cubic-bezier(.2, .75, .15, 1), filter .7s ease, opacity .4s ease, -webkit-mask-position .3s ease, mask-position .3s ease;
  }
}

@media (prefers-reduced-motion: reduce) {
  .compose-prism-slice { transform: none; }
}

:is(.compose-section-surface,.compose-hero-module)[data-motion='off'] .compose-prism-slice { transform: none; }

/* Echo is a short stack of misregistered ink: solid near, spectral middle, outline far. */
.forma-creative-heading-echo-copy {
  display: block;
  width: 100%;
  max-width: 100%;
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-align: inherit;
  text-transform: inherit;
  text-wrap: inherit;
  overflow-wrap: inherit;
}

.forma-creative-heading-echo {
  overflow: clip;
  overflow-clip-margin: .16em;
}

.forma-creative-heading-echo-copy {
  position: absolute;
  inset: 0;
  z-index: 1;
  color: var(--site-accent, currentColor);
  text-shadow: none;
  pointer-events: none;
  user-select: none;
  will-change: transform;
}

/* Generated text is not the h1's textContent, so search and link previews read the heading once. */
.forma-creative-heading-echo-copy::before {
  content: attr(data-echo-text);
}

.forma-creative-heading-echo-copy[data-echo='far'] {
  z-index: 0;
  color: transparent;
  -webkit-text-stroke: .025em color-mix(in srgb, var(--site-accent, currentColor) 48%, #fff 52%);
  paint-order: stroke fill;
  opacity: .7;
  transform: translate3d(-.075em, .065em, 0);
}

.forma-creative-heading-echo-copy[data-echo='middle'] {
  color: color-mix(in srgb, var(--site-accent, currentColor) 72%, #fff 28%);
  opacity: .58;
  transform: translate3d(.065em, -.04em, 0);
}

.forma-creative-heading-echo-copy[data-echo='near'] {
  color: transparent;
  -webkit-text-stroke: .018em rgb(255 255 255 / .78);
  paint-order: stroke fill;
  opacity: .54;
  transform: translate3d(.025em, .025em, 0);
}

.forma-creative-heading-echo > .forma-creative-heading-text {
  text-shadow: 0 .05em .3em rgb(0 0 0 / .58), 0 .015em .045em rgb(0 0 0 / .8);
}

:is(.compose-section-surface,.compose-hero-module)[data-motion='on'] .forma-creative-heading-echo .forma-creative-heading-echo-copy[data-echo='far'] {
  animation: forma-creative-echo-far 9s ease-in-out infinite alternate;
}

:is(.compose-section-surface,.compose-hero-module)[data-motion='on'] .forma-creative-heading-echo .forma-creative-heading-echo-copy[data-echo='middle'] {
  animation: forma-creative-echo-middle 7.5s ease-in-out infinite alternate;
}

:is(.compose-section-surface,.compose-hero-module)[data-motion='on'] .forma-creative-heading-echo .forma-creative-heading-echo-copy[data-echo='near'] {
  transform: translate3d(
    calc(.025em + var(--hero-pointer-x, 0) * .025em),
    calc(.025em + var(--hero-pointer-y, 0) * .018em),
    0
  );
  transition: transform 180ms cubic-bezier(.2, .8, .2, 1);
}

@keyframes forma-creative-echo-far {
  from {
    transform: translate3d(
      calc(-.075em + var(--hero-pointer-x, 0) * -.065em),
      calc(.065em + var(--hero-pointer-y, 0) * -.04em),
      0
    );
  }
  to {
    transform: translate3d(
      calc(-.105em + var(--hero-pointer-x, 0) * -.065em),
      calc(.08em + var(--hero-pointer-y, 0) * -.04em),
      0
    );
  }
}

@keyframes forma-creative-echo-middle {
  from {
    transform: translate3d(
      calc(.065em + var(--hero-pointer-x, 0) * .08em),
      calc(-.04em + var(--hero-pointer-y, 0) * .05em),
      0
    );
  }
  to {
    transform: translate3d(
      calc(.095em + var(--hero-pointer-x, 0) * .08em),
      calc(-.055em + var(--hero-pointer-y, 0) * .05em),
      0
    );
  }
}

:is(.compose-section-surface,.compose-hero-module)[data-motion='off'] .forma-creative-heading .forma-creative-heading-echo-copy {
  animation: none;
  transition: none;
}

@media (prefers-reduced-motion: reduce) {
  .forma-creative-heading-echo-copy {
    animation: none !important;
    transition: none !important;
  }
}

/* Isolated photographic formats. These selectors never style existing site modules. */
.forma-gallery-preview,.forma-gallery{min-width:0;width:100%}
.forma-gallery{--fg-paper:#faf7ef;--fg-ink:#201b25;--fg-soft:#635e68;--fg-cloth:#342b39;--fg-red:#ae3425;--fg-ratio:1.5;container:forma-gallery / inline-size;color:var(--fg-ink);font-family:inherit;isolation:isolate}
.forma-gallery *,.forma-gallery *::before,.forma-gallery *::after,.fg-dialog *{box-sizing:border-box}
.forma-gallery [hidden],.fg-dialog [hidden]{display:none!important}
.forma-gallery ::selection,.fg-dialog ::selection{background:#e5bf8a;color:#201b25}
.forma-gallery .fg-room{position:relative;min-width:0;padding:clamp(18px,4cqw,56px);background:var(--fg-paper);color:var(--fg-ink)}
.forma-gallery .fg-title{margin:0 0 clamp(24px,4cqw,52px);color:inherit;font-family:Georgia,'Times New Roman',serif;font-size:clamp(26px,5cqw,64px);font-weight:400;line-height:1.08;letter-spacing:-.025em;text-wrap:balance;overflow-wrap:anywhere}
.forma-gallery .fg-print{position:relative;min-width:0;margin:0;color:inherit}
.forma-gallery .fg-open{position:relative;display:block;color:inherit;cursor:zoom-in;touch-action:manipulation;text-decoration:none}
.forma-gallery .fg-stage .fg-open,.forma-gallery .fg-book .fg-open{touch-action:pan-y pinch-zoom}
.forma-gallery .fg-photo,.fg-dialog .fg-photo{position:relative;display:block;width:100%;aspect-ratio:var(--fg-ratio,1.5);overflow:hidden;background:#ded8cc;isolation:isolate}
.forma-gallery .fg-photo img,.fg-dialog .fg-photo img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--fg-x,50%) var(--fg-y,50%);transform:scale(var(--fg-zoom,1));transform-origin:var(--fg-x,50%) var(--fg-y,50%);user-select:none;-webkit-user-drag:none}
.forma-gallery[data-ratio=square],.fg-dialog[data-ratio=square]{--fg-ratio:1}
.forma-gallery[data-ratio=portrait],.fg-dialog[data-ratio=portrait]{--fg-ratio:.75}
.forma-gallery[data-ratio=original] .fg-photo{aspect-ratio:auto}
.forma-gallery[data-ratio=original] .fg-photo img{height:auto}
.forma-gallery .fg-words{margin:14px 0 0;color:inherit;min-width:0;overflow-wrap:anywhere}
.forma-gallery .fg-plate{display:block;margin:0 0 7px;font-size:11px;line-height:1.45;font-weight:600;letter-spacing:.1em;font-variant-numeric:tabular-nums;color:var(--fg-soft)}
.forma-gallery .fg-words h3{margin:0;color:inherit;font:italic 400 clamp(17px,2.5cqw,27px)/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.015em}
.forma-gallery .fg-words p{margin:10px 0 0;max-width:48ch;font-size:clamp(13px,1.45cqw,16px);line-height:1.65;color:inherit;white-space:pre-line}
.forma-gallery .fg-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px}
.forma-gallery .fg-controls button,.forma-gallery .fg-categories button,.fg-dialog button{appearance:none;min-height:44px;padding:10px 14px;border:1px solid currentColor;border-radius:3px;background:transparent;color:inherit;font-family:inherit;font-size:13px;font-weight:600;line-height:1.2;cursor:pointer}
.forma-gallery .fg-controls button:disabled,.fg-dialog button:disabled{opacity:.4;cursor:default}
.forma-gallery .fg-controls [role=status]{font-size:12px;line-height:1.4;text-align:center;font-variant-numeric:tabular-nums}
.forma-gallery button:focus-visible,.forma-gallery a:focus-visible,.forma-gallery summary:focus-visible,.forma-gallery [tabindex]:focus-visible,.fg-dialog button:focus-visible{outline:3px solid currentColor;outline-offset:5px}
.forma-gallery .fg-js{display:none}
.forma-gallery[data-enhanced] .fg-js{display:flex}
.forma-gallery .fg-empty{padding:24px 0;font-size:15px;line-height:1.5;color:inherit}
.forma-gallery :is(.fg-scroll,.fg-picks){scrollbar-width:thin;scrollbar-color:#8d8276 transparent;scroll-padding:16px}

/* Exhibition rooms: mounted prints, independent wall and placards. */
.forma-gallery:is([data-design=hang],[data-design=lights]){--fg-paper:#181824;--fg-ink:#faf4e9;--fg-soft:#c5bdbd}
.forma-gallery:is([data-design=hang],[data-design=lights]) .fg-open{padding:clamp(8px,1.2cqw,18px);background:#f6f1e7;box-shadow:0 20px 35px -18px #000}
.forma-gallery[data-design=hang] .fg-room{background:radial-gradient(ellipse at 43% 15%,#45404a,transparent 65%),var(--fg-paper)}
.forma-gallery .fg-stage{display:grid;gap:36px;min-width:0}
.forma-gallery[data-design=hang] .fg-stage .fg-print{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,.7fr);gap:clamp(20px,4cqw,58px);align-items:center}
.forma-gallery[data-design=hang] .fg-stage .fg-words{margin:0;border-top:1px solid #89818a;padding-top:16px}
.forma-gallery[data-design=hang] .fg-picks{margin-top:32px;justify-content:center}
.forma-gallery .fg-picks{gap:10px;min-width:0}
.forma-gallery .fg-picks button{flex:0 0 80px;display:block;margin:0;min-width:44px;padding:5px;border:1px solid transparent;border-radius:0;background:transparent;color:inherit;cursor:pointer}
.forma-gallery .fg-picks button[aria-pressed=true]{border-color:currentColor}
.forma-gallery .fg-picks-strip{position:relative;overflow-x:auto;padding:7px;align-items:start}
.forma-gallery .fg-picks-strip .fg-photo{aspect-ratio:1.5}
.forma-gallery .fg-picks-strip .fg-photo img{height:100%}
.forma-gallery[data-enhanced][data-design=hang][data-thumbnail-layout=masonry] .fg-picks{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));align-items:center;max-width:540px;margin-inline:auto;overflow:visible}
.forma-gallery[data-design=hang][data-thumbnail-layout=masonry] .fg-picks button:nth-child(3n+2){padding-top:22px}
.forma-gallery[data-design=catalogue] .fg-viewing{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.5fr);gap:clamp(18px,4cqw,60px);align-items:start}
.forma-gallery[data-design=catalogue]:not([data-enhanced]) .fg-viewing{display:block}
.forma-gallery .fg-picks-list{flex-direction:column;gap:0}
.forma-gallery .fg-picks-list button{flex:none;display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;min-height:52px;padding:14px 8px;border:0;border-top:1px solid #c9c2b9;text-align:left;font:400 clamp(14px,2cqw,22px)/1.3 Georgia,serif;overflow-wrap:anywhere}
.forma-gallery .fg-picks-list button[aria-pressed=true]{background:#eae3d7;box-shadow:inset 0 -2px var(--fg-red)}
.forma-gallery[data-design=catalogue] .fg-stage .fg-open,.forma-gallery[data-design=corridor] .fg-open{padding:clamp(8px,1.4cqw,18px);background:#fffefa;box-shadow:0 16px 35px -22px #403425}
.forma-gallery .fg-categories{gap:8px;flex-wrap:wrap;margin:0 0 24px}
.forma-gallery .fg-categories button[aria-pressed=true]{background:var(--fg-ink);color:var(--fg-paper)}
.forma-gallery .fg-scroll{position:relative;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;max-width:100%;padding:12px 8px 32px}
.forma-gallery .fg-track{display:flex;gap:clamp(28px,5cqw,72px);align-items:center;min-width:100%;width:max-content}
.forma-gallery .fg-track .fg-print{flex:0 0 auto;width:clamp(180px,55cqw,640px);scroll-snap-align:center}
.forma-gallery[data-design=corridor] .fg-track{min-height:clamp(340px,58cqw,620px);align-items:center;padding-inline:12px}
.forma-gallery[data-design=corridor] .fg-print:nth-child(5n+2){width:clamp(165px,39cqw,440px);margin-top:36px}
.forma-gallery[data-design=corridor] .fg-print:nth-child(5n+5){width:clamp(145px,25cqw,300px);margin-bottom:100px}
.forma-gallery[data-design=corridor] .fg-words{max-width:350px}
.forma-gallery .fg-lights{display:flex;flex-direction:column;gap:clamp(48px,12cqw,150px);padding:32px 0}
.forma-gallery .fg-lights .fg-print{width:76%;opacity:var(--fg-lit,1)}
.forma-gallery .fg-lights .fg-print:nth-child(even){width:59%;margin-left:auto}
.forma-gallery .fg-lights .fg-open::before{content:'';position:absolute;z-index:-1;inset:-36px 0;background:radial-gradient(ellipse,#cbbfa448,transparent 65%);pointer-events:none}
.forma-gallery .fg-lights .fg-words{max-width:420px;margin-top:24px}

/* Studio tools: film edges, marked frames, a lit table and the drying cord. */
.forma-gallery .fg-contact{display:grid;grid-template-columns:repeat(var(--fg-columns),minmax(0,1fr));gap:var(--fg-gap);padding:clamp(8px,1.6cqw,22px);background:#221b27}
.forma-gallery .fg-contact .fg-print{color:#faf5e9;padding-block:18px 12px}
.forma-gallery .fg-contact .fg-print::before,.forma-gallery .fg-contact .fg-print::after{content:'';position:absolute;inset:0 0 auto;height:7px;background:repeating-linear-gradient(90deg,#d5c5a6 0 7px,transparent 7px 18px);pointer-events:none}
.forma-gallery .fg-contact .fg-print::after{inset:auto 0 0}
.forma-gallery .fg-contact .fg-words{margin:9px 0 4px}
.forma-gallery .fg-contact .fg-plate{color:#e3c79e}
.forma-gallery .fg-contact .fg-words h3{font-family:inherit;font-size:13px;font-style:normal;line-height:1.4}
.forma-gallery .fg-contact .fg-words p{font-size:12px;margin-top:7px}
.forma-gallery .fg-contact .fg-print[data-selected=true] .fg-open::after{content:'';position:absolute;inset:-5px;border:3px solid #ee6f4d;border-radius:48% 45% 51% 46%;transform:rotate(-8deg);pointer-events:none}
.forma-gallery .fg-loupe{position:absolute;z-index:8;width:140px;height:140px;overflow:hidden;border:7px solid #1e1b23;border-radius:50%;box-shadow:0 8px 18px #0005;pointer-events:none}
.forma-gallery[data-design=filmstrip]{--fg-paper:#211a26;--fg-ink:#faf5e9;--fg-soft:#d0c4b6}
.forma-gallery[data-design=filmstrip] .fg-stage{max-width:850px;margin-inline:auto}
.forma-gallery[data-design=filmstrip] .fg-stage .fg-open{padding:clamp(8px,1.7cqw,22px);background:#faf6eb;box-shadow:0 16px 35px -15px #000}
.forma-gallery[data-design=filmstrip] .fg-picks{margin-top:24px;padding:20px 8px;background:repeating-linear-gradient(90deg,#d5c5a6 0 7px,transparent 7px 18px) top/100% 7px repeat-x,repeating-linear-gradient(90deg,#d5c5a6 0 7px,transparent 7px 18px) bottom/100% 7px repeat-x,#100d14}
.forma-gallery[data-design=filmstrip] .fg-picks button{flex-basis:110px}
.forma-gallery[data-design=filmstrip] .fg-picks button[aria-pressed=true]{border:2px solid #ef895f}
.forma-gallery[data-design=light-table] .fg-room{background:#d7d6cd}
.forma-gallery .fg-table{display:grid;grid-template-columns:repeat(var(--fg-columns),minmax(0,1fr));gap:calc(var(--fg-gap) + 10px);padding:clamp(22px,4cqw,56px);background:#fffefa;box-shadow:inset 0 0 25px #b6b4a84d,0 12px 28px -20px #403929}
.forma-gallery .fg-table .fg-print{padding:8px 8px 16px;background:#fff;transform:rotate(-3deg);box-shadow:0 8px 18px -8px #18182166}
.forma-gallery .fg-table .fg-print:nth-child(3n+2){transform:rotate(4deg) translateY(12px)}
.forma-gallery .fg-table .fg-print:nth-child(3n+3){transform:rotate(-1deg)}
.forma-gallery .fg-table .fg-words h3{font-size:17px}
.forma-gallery .fg-table .fg-words p{font-size:12px}
.forma-gallery[data-design=drying-line] .fg-track{position:relative;align-items:flex-start;padding:40px 6px 14px}
.forma-gallery[data-design=drying-line] .fg-track::before{content:'';position:absolute;inset:17px 0 auto;height:2px;background:#756553;box-shadow:0 2px 2px #51443122}
.forma-gallery[data-design=drying-line] .fg-print{width:clamp(180px,35cqw,400px);padding:12px 12px 22px;background:#fffefa;transform:rotate(-2deg);box-shadow:0 9px 20px -10px #40352677}
.forma-gallery[data-design=drying-line] .fg-print:nth-child(even){transform:rotate(3deg);margin-top:10px}
.forma-gallery[data-design=drying-line] .fg-print::before{content:'';position:absolute;z-index:2;width:14px;height:36px;left:calc(50% - 7px);top:-27px;border-radius:3px;background:linear-gradient(90deg,#b89061,#e3c18e 45%,#b78e5b);box-shadow:2px 4px 5px #38281438}

/* Bound stories. Every hidden page is enhancement only; static HTML contains all prints. */
.forma-gallery .fg-book{position:relative;margin:18px 7px;padding:12px;background:var(--fg-cloth);border-radius:6px 14px 14px 6px;box-shadow:0 20px 30px -18px #1d102a77}
.forma-gallery .fg-book::before{content:'';position:absolute;z-index:2;inset:0 auto 0 0;width:19px;border-radius:6px 0 0 6px;background:linear-gradient(90deg,#09041155,transparent,#ffffff18);pointer-events:none}
.forma-gallery .fg-book-pages{display:grid;gap:3px;background:#e8dfcd;padding-bottom:7px;border-radius:1px 7px 7px 1px}
.forma-gallery[data-enhanced][data-spread='2'] .fg-book-pages{grid-template-columns:repeat(2,minmax(0,1fr))}
.forma-gallery .fg-book-page{position:relative;display:grid;gap:20px;align-content:start;min-width:0;min-height:340px;padding:clamp(18px,3cqw,40px);padding-bottom:48px;background:#fffaf0}
.forma-gallery .fg-book-page:nth-child(odd){box-shadow:inset -15px 0 22px -22px #56452d}
.forma-gallery .fg-book-page:nth-child(even){box-shadow:inset 15px 0 22px -22px #56452d}
.forma-gallery .fg-turning-page{position:absolute;z-index:5;pointer-events:none;transform-origin:0 50%;overflow:hidden}
.forma-gallery .fg-book-page[data-count='3'],.forma-gallery .fg-book-page[data-count='4']{grid-template-columns:repeat(2,minmax(0,1fr))}
.forma-gallery .fg-book-page .fg-words h3{font-size:clamp(15px,1.8cqw,22px)}
.forma-gallery .fg-book-page .fg-words p{font-size:13px}
.forma-gallery .fg-folio{position:absolute;bottom:17px;right:24px;font-size:11px;font-variant-numeric:tabular-nums;color:#655f55}
.forma-gallery .fg-folds{display:grid;grid-template-columns:repeat(var(--fg-fold-columns),minmax(0,1fr));gap:24px;align-items:start}
.forma-gallery[data-layout=stacked] .fg-folds{grid-template-columns:minmax(0,1fr)}
.forma-gallery .fg-fold{min-width:0;background:#efe6d3;box-shadow:0 13px 26px -20px #402b1877}
.forma-gallery .fg-fold summary{position:relative;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;min-height:170px;padding:20px;cursor:pointer;color:#2c2530;list-style:none}
.forma-gallery .fg-fold summary::-webkit-details-marker{display:none}
.forma-gallery .fg-fold summary>.fg-photo{position:absolute;inset:0;height:100%;aspect-ratio:auto;opacity:.55}
.forma-gallery .fg-fold summary>span:not(.fg-photo){position:relative;z-index:1}
.forma-gallery .fg-fold summary .fg-plate{margin:0;color:inherit}
.forma-gallery .fg-fold summary .fg-fold-cover-title{width:100%;font:400 clamp(20px,3cqw,36px)/1.1 Georgia,serif;overflow-wrap:anywhere}
.forma-gallery .fg-fold-open-label,.forma-gallery .fg-fold-close-label{display:inline-block;padding:12px;background:#2c2530;color:#fffaf0;font-size:12px;font-weight:600}
.forma-gallery .fg-fold-close-label{display:none}
.forma-gallery .fg-fold[open]{grid-column:1/-1}
.forma-gallery .fg-fold[open] summary{min-height:58px;padding:10px 16px}
.forma-gallery .fg-fold[open] summary>.fg-photo,.forma-gallery .fg-fold[open] .fg-fold-cover-title,.forma-gallery .fg-fold[open] .fg-fold-open-label{display:none}
.forma-gallery .fg-fold[open] .fg-fold-close-label{display:inline-block}
.forma-gallery .fg-fold-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));perspective:1200px}
.forma-gallery .fg-fold-panels .fg-print{padding:clamp(14px,2cqw,30px);background:#fff9ec;box-shadow:inset -20px 0 30px -32px #69543b,inset 20px 0 30px -32px #69543b}
.forma-gallery .fg-fold-panels .fg-words{display:flex;flex-direction:column;min-height:90px}
.forma-gallery[data-text-position$=right] .fg-fold-panels .fg-words{text-align:right;align-items:flex-end}
.forma-gallery:is([data-text-position$=center],[data-text-position=center]) .fg-fold-panels .fg-words{text-align:center;align-items:center}
.forma-gallery[data-text-position^=bottom] .fg-fold-panels .fg-words{justify-content:flex-end}
.forma-gallery[data-text-position^=center] .fg-fold-panels .fg-words{justify-content:center}
.forma-gallery[data-text-position^=top] .fg-fold-panels .fg-print{display:flex;flex-direction:column}
.forma-gallery[data-text-position^=top] .fg-fold-panels .fg-words{order:-1;margin:0 0 16px}
.forma-gallery .fg-small{display:flex;flex-direction:column;gap:clamp(56px,10cqw,140px)}
.forma-gallery .fg-small .fg-print{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);align-items:center;gap:clamp(24px,5cqw,72px);min-height:clamp(340px,60cqw,780px)}
.forma-gallery .fg-small .fg-words{margin:0}
.forma-gallery .fg-small .fg-words h3{font-size:clamp(26px,4.5cqw,60px);line-height:1.05;font-style:normal}
.forma-gallery[data-side=right] .fg-small .fg-open{grid-column:2;grid-row:1}
.forma-gallery[data-side=right] .fg-small .fg-words{grid-column:1;grid-row:1}
.forma-gallery[data-side=right] .fg-small .fg-print{grid-template-columns:minmax(0,.8fr) minmax(0,1.35fr)}
.forma-gallery .fg-cover{position:relative;display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:24px;padding:clamp(22px,4cqw,60px);padding-left:clamp(32px,5cqw,72px);margin:0 0 clamp(56px,9cqw,120px);border-radius:5px 14px 14px 5px;background:var(--fg-cloth);color:#fff8e7;box-shadow:0 24px 40px -22px #1d102a77}
.forma-gallery .fg-cover::before{content:'';position:absolute;inset:0 auto 0 12px;width:12px;background:linear-gradient(90deg,#05010744,transparent,#ffffff12)}
.forma-gallery .fg-cover-title{align-self:end;writing-mode:vertical-rl;transform:rotate(180deg);font:400 clamp(26px,5cqw,68px)/1.05 Georgia,serif;letter-spacing:-.025em;max-height:480px;overflow-wrap:anywhere}
.forma-gallery .fg-cover>.fg-photo{border:10px solid #eee5d4;align-self:center;aspect-ratio:.8;box-shadow:0 14px 25px -15px #000}
.forma-gallery .fg-cover>.fg-photo img{height:100%}
.forma-gallery .fg-essay{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(48px,9cqw,120px) clamp(24px,5cqw,70px);align-items:start}
.forma-gallery .fg-essay .fg-print:nth-child(4n+1){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.65fr);gap:32px;align-items:end}
.forma-gallery .fg-essay .fg-print:nth-child(4n+3){margin-top:clamp(32px,7cqw,90px)}
.forma-gallery .fg-essay .fg-print:nth-child(4n){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1fr);gap:32px;align-items:center}
.forma-gallery .fg-essay .fg-print:nth-child(4n) .fg-open{grid-column:2;grid-row:1}
.forma-gallery .fg-essay .fg-print:nth-child(4n) .fg-words{grid-column:1;grid-row:1}
.forma-gallery .fg-essay .fg-print:nth-child(4n+1) h3{font-size:clamp(24px,4cqw,52px)}

/* Native dialog is appended to body, so editor transforms and overflow cannot clip it. */
.fg-dialog{--fg-ratio:1.5;position:fixed;inset:0;box-sizing:border-box;width:min(960px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);margin:auto;padding:clamp(20px,4vw,48px);padding-top:72px;border:0;border-radius:4px;background:#faf7ef;color:#201b25;font-family:Work,Arial,sans-serif;overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 80px #0007}
.fg-dialog::backdrop{background:#15121cdb}
.fg-dialog .fg-dialog-close{position:absolute;top:14px;right:14px;background:#faf7ef;z-index:2}
.fg-dialog .fg-dialog-content{max-width:100%;margin:auto}
.fg-dialog[data-design=light-table] .fg-dialog-content{transform-origin:0 0}
.fg-dialog .fg-photo{width:min(100%,calc(62dvh * var(--fg-ratio)));margin:auto}
.fg-dialog .fg-dialog-title{margin:22px 0 0;font:400 clamp(22px,3vw,36px)/1.15 Georgia,serif;overflow-wrap:anywhere}
.fg-dialog .fg-dialog-story{margin:12px 0 0;max-width:65ch;font-size:15px;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}
.fg-dialog .fg-dialog-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px}
.fg-dialog .fg-dialog-count{font-size:12px;text-align:center;font-variant-numeric:tabular-nums}
.fg-dialog[data-design=light-table]{background:#fffefa}
.fg-dialog[data-ratio=original] .fg-photo{aspect-ratio:auto;width:100%}
.fg-dialog[data-ratio=original] .fg-photo img{height:auto;max-height:62dvh;object-fit:contain}

@container forma-gallery (max-width:700px){
  .forma-gallery .fg-contact,.forma-gallery .fg-table{grid-template-columns:repeat(min(var(--fg-columns),2),minmax(0,1fr))}
  .forma-gallery[data-design=hang] .fg-stage .fg-print{grid-template-columns:minmax(0,1fr)}
  .forma-gallery[data-design=hang] .fg-stage .fg-words{margin-top:4px}
  .forma-gallery[data-design=catalogue] .fg-viewing{grid-template-columns:minmax(0,1fr)}
  .forma-gallery[data-enhanced][data-design=catalogue] .fg-picks-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));order:2;margin-top:8px}
  .forma-gallery .fg-folds{grid-template-columns:repeat(2,minmax(0,1fr))}
  .forma-gallery .fg-small .fg-print,.forma-gallery[data-side=right] .fg-small .fg-print{grid-template-columns:minmax(0,1fr);min-height:0}
  .forma-gallery[data-side=right] .fg-small .fg-open,.forma-gallery[data-side=right] .fg-small .fg-words{grid-column:auto;grid-row:auto}
}
@container forma-gallery (max-width:460px){
  .forma-gallery .fg-room{padding:18px 14px}
  .forma-gallery .fg-title{font-size:29px;margin-bottom:26px}
  .forma-gallery .fg-contact{gap:12px;padding:8px}
  .forma-gallery .fg-table{gap:20px;padding:22px 15px}
  .forma-gallery .fg-contact .fg-words p{font-size:12px}
  .forma-gallery .fg-table .fg-words h3{font-size:15px}
  .forma-gallery .fg-track .fg-print{width:70cqw}
  .forma-gallery .fg-controls{gap:8px}
  .forma-gallery .fg-controls button{padding-inline:10px;font-size:12px}
  .forma-gallery .fg-controls [role=status]{font-size:11px}
  .forma-gallery .fg-lights .fg-print{width:100%}
  .forma-gallery .fg-lights .fg-print:nth-child(even){width:88%}
  .forma-gallery .fg-folds,.forma-gallery .fg-fold-panels{grid-template-columns:minmax(0,1fr)}
  .forma-gallery .fg-fold-panels .fg-print{padding:20px;box-shadow:inset 0 -15px 24px -26px #69543b}
  .forma-gallery .fg-fold summary{min-height:150px}
  .forma-gallery .fg-fold-panels .fg-words{min-height:0}
  .forma-gallery .fg-cover{grid-template-columns:minmax(0,1fr);padding:26px 24px 30px 34px;gap:24px}
  .forma-gallery .fg-cover-title{writing-mode:horizontal-tb;transform:none;order:2;font-size:32px}
  .forma-gallery .fg-cover>.fg-photo{aspect-ratio:1}
  .forma-gallery .fg-essay{display:flex;flex-direction:column;gap:48px}
  .forma-gallery .fg-essay .fg-print:nth-child(n){display:block;width:100%;margin:0}
  .forma-gallery .fg-essay .fg-print:nth-child(4n+3){width:86%;align-self:flex-end}
  .forma-gallery .fg-book{margin-inline:0;padding:8px}
  .forma-gallery .fg-book-page{padding:20px 17px 44px;min-height:0}
  .forma-gallery .fg-book-page[data-count='3'],.forma-gallery .fg-book-page[data-count='4']{grid-template-columns:minmax(0,1fr)}
}
@container forma-gallery (max-width:270px){
  .forma-gallery .fg-contact,.forma-gallery .fg-table{grid-template-columns:minmax(0,1fr)}
  .forma-gallery .fg-controls{flex-wrap:wrap}
  .forma-gallery .fg-controls [role=status]{order:3;flex-basis:100%}
  .forma-gallery[data-design=catalogue] .fg-picks-list{grid-template-columns:minmax(0,1fr)}
}
/* The Chooser: a stage picture captioned "Currently viewing", a strip of options in Site Style's ink,
   the chosen pick's article, and an optional ledger of the same picks. */
.forma-gallery .fg-ch{display:grid;gap:0}
.forma-gallery .fg-ch-stage{position:relative}
.forma-gallery .fg-ch-print{margin:0}
.forma-gallery .fg-ch-print .fg-photo{aspect-ratio:var(--fg-ratio,1.32)}
.forma-gallery .fg-ch-caption{position:absolute;left:clamp(12px,2cqw,24px);bottom:clamp(12px,2cqw,24px);display:grid;gap:2px;margin:0;padding:10px 14px;max-width:calc(100% - 24px);border-radius:min(var(--site-radius,12px),12px);background:rgb(7 16 31 / .72);color:#fff;line-height:1.3}
.forma-gallery .fg-ch-caption span{font-family:var(--site-label-font,inherit);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.forma-gallery .fg-ch-caption strong{font-family:var(--site-heading-font,inherit);font-size:clamp(16px,1.8cqw,20px)}
.forma-gallery .fg-ch-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:column;gap:6px;padding:8px;background:var(--site-ink,#152640);color:#fff}
.forma-gallery .fg-ch-strip button{display:flex;align-items:center;gap:12px;min-height:56px;min-width:0;padding:8px;border:0;border-radius:min(var(--site-radius,8px),8px);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color .2s}
.forma-gallery .fg-ch-strip button:hover{background:rgb(255 255 255 / .1)}
.forma-gallery .fg-ch-strip button[aria-pressed=true]{background:rgb(255 255 255 / .18);box-shadow:inset 0 -3px 0 var(--site-accent,#345ac3)}
.forma-gallery .fg-ch-strip button:focus-visible,.forma-gallery .fg-ch-ledger button:focus-visible,.forma-gallery .fg-ch-link:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.forma-gallery .fg-ch-thumb{flex:0 0 64px}
.forma-gallery .fg-ch-thumb .fg-photo{aspect-ratio:1.4;border-radius:4px}
.forma-gallery .fg-ch-option{display:grid;gap:2px;min-width:0}
.forma-gallery .fg-ch-option strong{font-size:15px;line-height:1.25}
.forma-gallery .fg-ch-option small{font-size:13px;line-height:1.35;opacity:.8}
.forma-gallery .fg-ch-story{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(16px,3cqw,40px);align-items:start;padding:clamp(24px,4cqw,48px) 0 0}
.forma-gallery .fg-ch-story[hidden]{display:none}
.forma-gallery .fg-ch-index{font-family:var(--site-heading-font,inherit);font-size:clamp(40px,6cqw,72px);font-weight:700;line-height:.9;color:var(--site-accent,#345ac3)}
.forma-gallery .fg-ch-words h3{margin:0;font:700 clamp(22px,2.6cqw,32px)/1.2 var(--site-heading-font,inherit)}
.forma-gallery .fg-ch-words p{margin:12px 0 0;max-width:62ch;font-size:16px;line-height:1.65}
.forma-gallery .fg-ch-link{display:inline-flex;margin-top:18px;padding:12px 20px;border-radius:var(--site-radius,8px);background:var(--site-accent,#345ac3);color:#fff;font-weight:600;text-decoration:none}
.forma-gallery .fg-ch-ledger{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:clamp(16px,2.4cqw,28px);margin-top:clamp(32px,5cqw,64px)}
.forma-gallery .fg-ch-card{display:flex;flex-direction:column;gap:12px;min-width:0}
.forma-gallery .fg-ch-card-words h3{margin:0;font:700 19px/1.25 var(--site-heading-font,inherit)}
.forma-gallery .fg-ch-card-words p{margin:8px 0 0;font-size:15px;line-height:1.6}
.forma-gallery .fg-ch-card button{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;min-height:44px;margin-top:auto;padding:8px 0;border:0;background:none;color:inherit;font:inherit;font-weight:600;cursor:pointer}
.forma-gallery .fg-ch-card button:hover{text-decoration:underline;text-underline-offset:.2em}
/* Open Yard is the opt-in native trade-site presentation: one installed project owns the opening,
   its prompt stays attached to the choice rail, and a project Rail keeps the original broad cards. */
.forma-gallery[data-presentation=open-yard] .fg-room{padding:0;background:#fff;color:var(--site-ink,#132039)}
.forma-gallery[data-presentation=open-yard][data-design=chooser] .fg-ch{background:#fff;color:var(--site-ink,#132039)}
.forma-gallery[data-presentation=open-yard][data-design=chooser] .fg-ch-print .fg-photo{height:min(720px,80svh);min-height:560px;aspect-ratio:auto}
.forma-gallery[data-presentation=open-yard][data-design=chooser] .fg-ch-caption{right:clamp(22px,4cqw,58px);left:auto;bottom:25px;justify-items:end;padding:0;border-radius:0;background:transparent;text-align:right;text-shadow:0 2px 18px rgb(0 0 0 / .55)}
.forma-gallery[data-presentation=open-yard][data-design=chooser] .fg-ch-caption span{font-size:11px;letter-spacing:0;text-transform:none;opacity:1}
.forma-gallery[data-presentation=open-yard][data-design=chooser] .fg-ch-caption strong{max-width:15ch;font-family:var(--site-heading-font,Georgia,serif);font-size:clamp(25px,3.7cqw,50px);line-height:1.04}
.forma-gallery[data-presentation=open-yard][data-design=chooser] .fg-ch-strip{grid-template-columns:minmax(160px,.55fr) repeat(3,minmax(168px,1fr));grid-auto-flow:row;gap:14px;align-items:center;min-height:150px;padding:20px clamp(20px,3cqw,46px);overflow-x:auto;background:var(--site-accent,#001c70);color:#fff;scrollbar-width:thin}
.forma-gallery[data-presentation=open-yard][data-design=chooser] .fg-ch-prompt{max-width:15ch;margin:0;font:700 18px/1.2 var(--site-heading-font,Georgia,serif)}
.forma-gallery[data-presentation=open-yard][data-design=chooser] .fg-ch-strip button{display:grid;grid-template-columns:62px minmax(106px,1fr);gap:12px;min-height:78px;padding:8px;border:1px solid rgb(255 255 255 / .42);border-radius:0;transition:none}
.forma-gallery[data-presentation=open-yard][data-design=chooser] .fg-ch-strip button[aria-pressed=true]{border-color:#fff;background:#fff;color:var(--site-accent,#001c70);box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 5px var(--site-accent,#001c70)}
.forma-gallery[data-presentation=open-yard][data-design=chooser] .fg-ch-thumb{width:62px;height:58px}
.forma-gallery[data-presentation=open-yard][data-design=chooser] .fg-ch-thumb .fg-photo{height:58px;min-height:0;aspect-ratio:auto;border-radius:0}
.forma-gallery[data-presentation=open-yard][data-design=chooser] :is(.fg-ch-story,.fg-ch-ledger){position:relative;z-index:1;background:#fff;color:var(--site-ink,#132039)}
.forma-gallery[data-presentation=open-yard][data-design=chooser] .fg-ch-story{min-height:420px;padding:70px clamp(38px,7cqw,110px);grid-template-columns:8vw minmax(0,1fr)}
.forma-gallery[data-presentation=open-yard][data-design=chooser] .fg-ch-ledger{margin-top:0;padding:clamp(70px,9vw,140px) clamp(28px,6vw,110px)}
.forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-room{display:grid;grid-template-columns:minmax(0,42fr) minmax(0,58fr);align-items:end;padding:clamp(76px,7vw,110px) 0;background:#fff}
.forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-eyebrow{align-self:end;margin:0 0 18px;padding-left:clamp(26px,6vw,104px);color:var(--site-accent,#001c70);font-size:12px;font-weight:700;letter-spacing:.04em}
.forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-title{max-width:13ch;margin:0;padding-left:clamp(26px,6vw,104px);font-family:var(--site-heading-font,Georgia,serif);font-size:clamp(45px,4.5vw,70px);font-weight:700;line-height:1;color:var(--site-accent,#001c70)}
.forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-eyebrow+.fg-title{grid-column:1;grid-row:2}
.forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-eyebrow{grid-column:1;grid-row:1}
.forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-room:has(>.fg-eyebrow) .fg-pills{grid-column:2;grid-row:2}
.forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-room:has(>.fg-eyebrow) .fg-slider-track{grid-row:3}
.forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-room:has(>.fg-eyebrow) .fs-controls{grid-row:4}
.forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-pills{justify-content:flex-end;margin:0;padding:0 clamp(26px,6vw,104px) 4px 20px}
.forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] :is(.fg-slider-track,.fs-controls){grid-column:1/-1}
.forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-slider-track{gap:20px;margin-top:55px;padding:0 clamp(24px,6vw,104px) 22px;scrollbar-width:thin;scrollbar-color:var(--site-accent,#012ba4) #e8f2ff}
.forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-slide{flex-basis:clamp(310px,39vw,620px)}
.forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-slide .fg-photo{height:clamp(320px,32vw,480px);aspect-ratio:auto}
.forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-card{display:flex;justify-content:space-between;gap:14px;margin:0;padding:12px 0 24px}
.forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-card h3{font-family:var(--site-heading-font,Georgia,serif);font-size:17px;font-weight:700;color:var(--site-accent,#001c70)}
.forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-card .fg-card-category{display:flex;gap:5px;margin:0;text-align:right}
.forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-card-line:before{content:'·';margin-right:5px}
/* On the published page, an Open Yard chooser may own the second column only when it is that
   column's sole module. The browser grid then owns the composition: stage and prompt stay in
   column two while the chosen story and ledger become whole-row grid items. The editing canvas
   and every mixed-module column stay self-contained, preserving their selectable module boxes. */
@container hero-module (min-width:981px){
  .public-composition .compose-columns:has(>.compose-column:nth-child(2):last-child>.compose-column-content>.compose-module:only-child>.compose-module-content>.forma-gallery[data-presentation=open-yard][data-design=chooser]){grid-template-rows:auto auto auto auto}
  .public-composition .compose-columns:has(>.compose-column:nth-child(2):last-child>.compose-column-content>.compose-module:only-child>.compose-module-content>.forma-gallery[data-presentation=open-yard][data-design=chooser])>.compose-column:first-child{grid-column:1;grid-row:1/3}
  .public-composition .compose-columns:has(>.compose-column:nth-child(2):last-child>.compose-column-content>.compose-module:only-child>.compose-module-content>.forma-gallery[data-presentation=open-yard][data-design=chooser])>.compose-column:nth-child(2),
  .public-composition .compose-columns:has(>.compose-column:nth-child(2):last-child>.compose-column-content>.compose-module:only-child>.compose-module-content>.forma-gallery[data-presentation=open-yard][data-design=chooser])>.compose-column:nth-child(2)>.compose-column-content,
  .public-composition .compose-columns:has(>.compose-column:nth-child(2):last-child>.compose-column-content>.compose-module:only-child>.compose-module-content>.forma-gallery[data-presentation=open-yard][data-design=chooser])>.compose-column:nth-child(2)>.compose-column-content>.compose-module,
  .public-composition .compose-columns:has(>.compose-column:nth-child(2):last-child>.compose-column-content>.compose-module:only-child>.compose-module-content>.forma-gallery[data-presentation=open-yard][data-design=chooser])>.compose-column:nth-child(2)>.compose-column-content>.compose-module>.compose-module-content,
  .public-composition .compose-columns:has(>.compose-column:nth-child(2):last-child>.compose-column-content>.compose-module:only-child>.compose-module-content>.forma-gallery[data-presentation=open-yard][data-design=chooser]) .forma-gallery[data-presentation=open-yard][data-design=chooser],
  .public-composition .compose-columns:has(>.compose-column:nth-child(2):last-child>.compose-column-content>.compose-module:only-child>.compose-module-content>.forma-gallery[data-presentation=open-yard][data-design=chooser]) .forma-gallery[data-presentation=open-yard][data-design=chooser]>.fg-room,
  .public-composition .compose-columns:has(>.compose-column:nth-child(2):last-child>.compose-column-content>.compose-module:only-child>.compose-module-content>.forma-gallery[data-presentation=open-yard][data-design=chooser]) .forma-gallery[data-presentation=open-yard][data-design=chooser]>.fg-room>.fg-ch{display:contents}
  .public-composition .compose-columns:has(>.compose-column:nth-child(2):last-child>.compose-column-content>.compose-module:only-child>.compose-module-content>.forma-gallery[data-presentation=open-yard][data-design=chooser]) .fg-ch-stage{grid-column:2;grid-row:1}
  .public-composition .compose-columns:has(>.compose-column:nth-child(2):last-child>.compose-column-content>.compose-module:only-child>.compose-module-content>.forma-gallery[data-presentation=open-yard][data-design=chooser]) .fg-ch-strip{grid-column:2;grid-row:2}
  .public-composition .compose-columns:has(>.compose-column:nth-child(2):last-child>.compose-column-content>.compose-module:only-child>.compose-module-content>.forma-gallery[data-presentation=open-yard][data-design=chooser]) .fg-ch-story{grid-column:1/-1;grid-row:3}
  .public-composition .compose-columns:has(>.compose-column:nth-child(2):last-child>.compose-column-content>.compose-module:only-child>.compose-module-content>.forma-gallery[data-presentation=open-yard][data-design=chooser]) .fg-ch-ledger{grid-column:1/-1;grid-row:4}
}
@container forma-gallery (max-width:600px){
  .forma-gallery .fg-ch-strip{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr))}
  .forma-gallery .fg-ch-strip button{flex-direction:column;align-items:stretch;gap:6px;text-align:center}
  .forma-gallery .fg-ch-thumb{flex:none}
  .forma-gallery .fg-ch-option small{display:none}
  .forma-gallery .fg-ch-story{grid-template-columns:minmax(0,1fr);gap:8px}
  .forma-gallery[data-presentation=open-yard][data-design=chooser] .fg-ch-print .fg-photo{height:62svh;min-height:430px}
  .forma-gallery[data-presentation=open-yard][data-design=chooser] .fg-ch-strip{grid-template-columns:minmax(150px,1fr);grid-auto-flow:column;justify-content:start;min-height:0;padding:16px;scroll-snap-type:x mandatory}
  .forma-gallery[data-presentation=open-yard][data-design=chooser] .fg-ch-prompt{min-width:150px;scroll-snap-align:start}
  .forma-gallery[data-presentation=open-yard][data-design=chooser] .fg-ch-strip button{min-width:190px;scroll-snap-align:start}
  .forma-gallery[data-presentation=open-yard][data-design=chooser] .fg-ch-story{min-height:0;padding:48px 22px}
  .forma-gallery[data-presentation=open-yard][data-design=chooser] .fg-ch-ledger{padding:64px 22px}
  .forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-room{display:block;padding:72px 0}
  .forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-eyebrow{margin-bottom:14px;padding:0 22px}
  .forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-title{padding:0 22px;font-size:clamp(43px,11vw,70px)}
  .forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-pills{justify-content:flex-start;margin-top:30px;padding:0 22px;flex-wrap:nowrap;overflow-x:auto}
  .forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-slider-track{margin-top:35px;padding:0 16px 18px}
  .forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-slide{flex-basis:82vw}
  .forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-card{display:grid}
  .forma-gallery[data-presentation=open-yard][data-design=slider][data-rail] .fg-card .fg-card-category{text-align:left}
}
@media (prefers-reduced-motion:no-preference){
  .forma-gallery .fg-open,.forma-gallery .fg-picks button{transition:filter .2s ease-out}
  .forma-gallery .fg-open:hover{filter:brightness(1.04)}
  .forma-gallery[data-enhanced] .fg-stage .fg-print:not([hidden]){animation:fg-arrive .3s ease-out both}
  .forma-gallery[data-enhanced] .fg-book-page:not([hidden]){transform-origin:0 50%;animation:fg-page .4s cubic-bezier(.2,.7,.2,1) both}
  .forma-gallery .fg-fold[open] .fg-fold-panels{transform-origin:50% 0;animation:fg-unfold .4s cubic-bezier(.2,.7,.2,1) both}
  .forma-gallery[data-enhanced] .fg-small .fg-open{transform:scale(calc(1.08 - var(--fg-progress,1)*.08));transform-origin:50% 50%}
  .forma-gallery[data-enhanced] .fg-small .fg-words{transform:translateY(calc((1 - var(--fg-progress,1))*24px))}
  .fg-dialog[open]{animation:fg-arrive .2s ease-out both}
  @keyframes fg-arrive{from{opacity:.72}to{opacity:1}}
  @keyframes fg-page{from{transform:perspective(1500px) rotateY(-9deg)}to{transform:perspective(1500px) rotateY(0)}}
  @keyframes fg-unfold{from{transform:perspective(1200px) rotateX(-8deg)}to{transform:perspective(1200px) rotateX(0)}}
}
@media (prefers-reduced-motion:no-preference){
  @container forma-gallery (min-width:701px){
    .forma-gallery[data-enhanced] .fg-small .fg-print{min-height:clamp(480px,80cqw,1000px)}
    .forma-gallery[data-enhanced] .fg-small .fg-open{z-index:1;width:calc(100% + (1 - var(--fg-progress,1))*74%);transform:none}
    .forma-gallery[data-enhanced][data-side=right] .fg-small .fg-open{justify-self:end}
    .forma-gallery[data-enhanced] .fg-small .fg-words{opacity:calc(.25 + var(--fg-progress,1)*.75)}
  }
}
@media (prefers-reduced-motion:reduce){
  .forma-gallery *,.fg-dialog{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .forma-gallery .fg-lights .fg-print{opacity:1}
}
/* Hover Zoom: the picture scales 1.025 over .35 s inside its frame, under the pointer and on keyboard
   focus of its control; Chooser's stage, options and ledger use their own picture frames. It stays
   still for a reader who asks for reduced motion. */
@media (prefers-reduced-motion:no-preference){
  .forma-gallery[data-hover=zoom] :is(.fg-open,.fg-ch-print,.fg-ch-thumb,.fg-ch-card-picture) .fg-photo img{transition:transform .35s ease}
  .forma-gallery[data-hover=zoom] .fg-open:is(:hover,:focus-visible) .fg-photo img{transform:scale(calc(var(--fg-zoom,1)*1.025))}
  .forma-gallery[data-hover=zoom] .fg-ch-print:hover .fg-photo img,
  .forma-gallery[data-hover=zoom] .fg-ch-strip button:is(:hover,:focus-visible) .fg-photo img,
  .forma-gallery[data-hover=zoom] .fg-ch-card:is(:hover,:focus-within) .fg-photo img{transform:scale(calc(var(--fg-zoom,1)*1.025))}
}

.forma-form{--form-paper:#fff;--form-ink:#172b4d;--form-muted:#425675;--form-line:#9baac0;--form-error:#a21e32;color:var(--form-ink);background:var(--form-paper);font-family:var(--site-body-font,'Work Sans',sans-serif);font-size:16px;line-height:1.5;padding:32px;container-type:inline-size;text-align:start;overflow-wrap:anywhere}
.forma-form *{box-sizing:border-box}.forma-form h2{font-family:var(--site-heading-font,'Archivo',sans-serif);font-size:32px;line-height:1.15;letter-spacing:-.025em;margin:0 0 16px}.forma-form h3{font-size:22px;line-height:1.25;margin:16px 0 8px}.forma-form p{max-width:68ch}.forma-form-intro>p{margin:0 0 24px;color:var(--form-muted)}
.forma-form[data-design=open]{padding-inline:0;background:transparent;color:var(--navigation-ink,#172b4d);--form-ink:var(--navigation-ink,#172b4d);--form-muted:var(--navigation-ink,#172b4d)}
.forma-form[data-design=panel]{border-radius:min(var(--site-radius,16px),16px);box-shadow:0 18px 42px #172b4d16}
.forma-form[data-design=split]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:40px;border-block:1px solid var(--form-line)}
.forma-form-body,.forma-form-intro{min-width:0}.forma-form fieldset{margin:0;padding:0;border:0;min-width:0}.forma-form-page>legend{font-size:20px;font-weight:600;padding:0 0 20px}.forma-form-page{margin-block-end:32px!important}.forma-form-fields{display:grid;gap:24px}.forma-form[data-columns="2"] .forma-form-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.forma-form-heading{grid-column:1/-1}.forma-form-field>label,.forma-form-field>legend{display:block;font-weight:600;margin:0 0 8px;padding:0}.forma-form-field label>span,.forma-form-field legend>span{font-weight:400}.forma-form-help{font-size:14px;margin:0 0 8px;color:var(--form-muted)}
.forma-form :is(input:not([type=radio],[type=checkbox],[type=hidden]),textarea,select){display:block;width:100%;max-width:100%;min-height:46px;border:1px solid var(--form-line);border-radius:6px;background:#fff;color:#172b4d;padding:11px 12px;font:inherit;caret-color:#172b4d;transition:border-color 160ms,box-shadow 160ms}.forma-form textarea{resize:vertical}.forma-form :is(input,textarea,select):hover{border-color:currentColor}.forma-form :is(input,textarea,select,button):focus-visible{outline:2px solid currentColor;outline-offset:3px}.forma-form ::selection{background:#172b4d;color:white}.forma-form-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.forma-form-parts>label{font-size:14px}.forma-form-parts input{margin-block-start:6px}.forma-form-options{display:grid;gap:8px}.forma-form-options label{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer}.forma-form-options input{width:20px;height:20px;flex-shrink:0;accent-color:#172b4d}.forma-form button{font:inherit;font-weight:600;min-height:46px;padding:12px 24px;border:0;border-radius:6px;color:#fff;background:#172b4d;cursor:pointer;transition:background 160ms,transform 160ms}.forma-form button:hover:not(:disabled){background:#304d78;transform:translateY(-1px)}.forma-form button:disabled{cursor:default;opacity:.65}.forma-form input:disabled,.forma-form select:disabled,.forma-form textarea:disabled{opacity:.65}.forma-form-error{color:var(--form-error);font-weight:600;margin:8px 0 0}.forma-form [aria-invalid=true]{border-color:var(--form-error)!important}.forma-form [data-form-status]:not(:empty){padding:16px;background:#edf0f8;color:#172b4d;margin-block-end:24px}.forma-form [data-form-status][role=alert]{color:var(--form-error)}.forma-form [data-form-readiness]{font-size:14px;color:var(--form-muted);margin:12px 0 0}.forma-form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.forma-form [hidden]{display:none!important}.compose-form-unavailable{font-size:16px;line-height:1.5;padding:24px;border:1px dashed currentColor}.compose-form-unavailable button{display:block;margin-block-start:12px}
.public-navigation[data-design=pills]{border:0}.public-navigation[data-design=pills] .public-navigation-list{gap:8px}.public-navigation[data-design=pills] .public-navigation-list>li>a,.public-navigation[data-design=pills] .public-navigation-list>li>details>summary{padding-inline:18px;border:1px solid color-mix(in srgb,currentColor 35%,transparent);border-radius:999px}.public-navigation[data-design=pills] a[aria-current=page]{background:var(--navigation-ink);color:var(--navigation-bg)}.public-navigation[data-design=stack] .public-navigation-list{display:grid;gap:0}.public-navigation[data-design=stack] .public-navigation-list>li{border-block-end:1px solid color-mix(in srgb,currentColor 18%,transparent)}.public-navigation[data-design=stack] [data-navigation-group]>ul{position:static;min-width:0;width:auto;box-shadow:none;padding-inline-start:18px}
@container (max-width:600px){.forma-form[data-design=split]{display:block}.forma-form[data-columns="2"] .forma-form-fields{grid-template-columns:minmax(0,1fr)}.forma-form-parts{grid-template-columns:minmax(0,1fr)}.forma-form{padding:24px 16px}.forma-form h2{font-size:28px}.public-navigation[data-design=pills] .public-navigation-list>li{margin-block:8px}}
@media(prefers-reduced-motion:reduce){.forma-form :is(input,textarea,select,button){transition:none}.forma-form button:hover:not(:disabled){transform:none}}

.forma-records{container-type:inline-size;color:inherit;font:16px/1.55 var(--site-body-font,'Work Sans',sans-serif);text-align:start;overflow-wrap:anywhere}.forma-records *{box-sizing:border-box}.forma-records-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-block-end:28px;border-block-end:1px solid currentColor;padding-block-end:18px}.forma-records-heading h2{font:600 36px/1.15 var(--site-heading-font,'Archivo',sans-serif);letter-spacing:-.025em;margin:0}.forma-records-heading p{font-size:14px;margin:0}.forma-records-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.forma-record{min-width:0;display:flex;flex-direction:column;gap:18px}.forma-record h3{font:600 24px/1.2 var(--site-heading-font,'Archivo',sans-serif);letter-spacing:-.02em;margin:0 0 12px}.forma-record p{margin:0 0 12px;max-width:68ch}.forma-record-image{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:min(var(--site-radius,12px),12px)}.forma-record-date{font:600 18px/1.3 var(--site-heading-font,'Archivo',sans-serif);padding-block-end:10px;border-block-end:1px solid currentColor}.forma-record-state{font-weight:700}.forma-record-employer{font-weight:600}.forma-record-meta{font-size:14px}.forma-record-contact{display:flex;flex-wrap:wrap;gap:12px 20px;font-size:14px}.forma-record-contact a{color:inherit;text-underline-offset:5px;transition:text-decoration-thickness 150ms}.forma-record-contact a:hover{text-decoration-thickness:3px}.forma-record-contact a:focus-visible{outline:2px solid currentColor;outline-offset:5px}.forma-record-apply{margin-block-start:24px;padding-block-start:16px;border-block-start:1px solid currentColor}.forma-record-apply h4{font-size:16px;margin:0 0 8px}.forma-record-description{white-space:pre-line}.forma-records ::selection{background:color-mix(in srgb,currentColor 18%,transparent);color:inherit}.forma-records-message{padding:24px;font:16px/1.5 var(--site-body-font,'Work Sans',sans-serif)}
.forma-records[data-design=rows] .forma-records-list{display:block}.forma-records[data-design=rows] .forma-record{display:grid;grid-template-columns:minmax(100px,.35fr) minmax(0,1fr);gap:28px;padding-block:24px;border-block-end:1px solid currentColor}.forma-records[data-design=rows] .forma-record-copy{grid-column:2}.forma-records[data-design=rows] .forma-record-date{grid-column:1;grid-row:1;border:0}.forma-records[data-design=rows] .forma-record-image{grid-column:1;grid-row:1}.forma-records[data-family=events][data-design=rows] .forma-record-image{display:none}.forma-records[data-design=feature] .forma-record:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;padding-block-end:32px;border-block-end:1px solid currentColor}.forma-records[data-design=feature] .forma-record:first-child .forma-record-copy{grid-column:2;grid-row:1/3}.forma-records[data-design=feature] .forma-record:first-child h3{font-size:36px}.forma-records[data-family=jobs][data-design=feature] .forma-record:first-child .forma-record-copy{grid-column:1/-1;max-width:80ch}
.forma-record-body{display:grid;gap:22px;margin-block-start:22px}.forma-record-body section{display:grid;gap:10px;min-width:0}.forma-record-body h4{font:600 18px/1.3 var(--site-heading-font,'Archivo',sans-serif);margin:0}.forma-record-body p{white-space:pre-line;margin:0}.forma-post-image{margin:0;min-width:0}.forma-post-image img{display:block;width:100%;height:auto;max-height:34rem;object-fit:contain;border-radius:min(var(--site-radius,12px),12px)}.forma-post-image a{display:block}.forma-post-actions{display:flex;flex-wrap:wrap;gap:10px}.forma-post-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid currentColor;border-radius:6px;color:inherit;font-weight:600;text-decoration:none;transition:background-color 150ms,color 150ms,transform 150ms}.forma-post-link:hover{transform:translateY(-1px);background:var(--navigation-ink,#172b4d);color:var(--navigation-bg,#fff)}.forma-post-link:focus-visible,.forma-post-image a:focus-visible{outline:2px solid currentColor;outline-offset:4px}.forma-post-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.forma-post-items>.forma-post-block{align-content:start}.forma-post-children{display:grid;gap:var(--post-layout-gap,18px)}.forma-post-block[data-post-presentation=layout][data-layout-direction=row]>.forma-post-children{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}.forma-post-block[data-layout-background=surface],.forma-post-block[data-layout-background=tint],.forma-post-block[data-layout-background=accent]{padding:18px;border-radius:min(var(--site-radius,12px),12px);background:color-mix(in srgb,currentColor 6%,transparent)}
.forma-records[data-family=directory][data-design=feature] .forma-record:first-child:not(:has(>.forma-record-image)) .forma-record-copy,.forma-records[data-family=jobs][data-design=rows] .forma-record:not(:has(>.forma-record-image)) .forma-record-copy{grid-column:1/-1}
.forma-record-locations,.forma-record-prices{display:grid;gap:12px;margin:0 0 18px;font-size:14px;max-width:68ch}.forma-record-locations dt,.forma-record-prices dt{font-weight:600}.forma-record-locations dd,.forma-record-prices dd{margin:2px 0 0;white-space:pre-line}.forma-record-prices{grid-template-columns:repeat(2,minmax(0,1fr));font-variant-numeric:tabular-nums}
.forma-record-controls label,.forma-record-controls input,.forma-record-controls select{min-width:0}
@container (max-width:700px){.forma-records-list{grid-template-columns:repeat(2,minmax(0,1fr))}.forma-records-heading{display:block}.forma-records-heading p{margin-block-start:12px}.forma-records[data-design=feature] .forma-record:first-child{display:block}.forma-records[data-design=feature] .forma-record:first-child .forma-record-image{margin-block-end:20px}.forma-post-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:440px){.forma-records-list{grid-template-columns:1fr}.forma-records-heading h2{font-size:28px}.forma-records[data-design=rows] .forma-record{display:block}.forma-records[data-design=rows] .forma-record-image{max-width:180px;margin-block-end:18px}.forma-record-date{margin-block-end:16px}.forma-records[data-design=feature] .forma-record:first-child h3{font-size:28px}.forma-post-items,.forma-post-block[data-post-presentation=layout][data-layout-direction=row]>.forma-post-children{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.forma-records *{transition:none!important}}

.forma-record-controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-block-end:24px}.forma-record-controls[hidden]{display:none}.forma-record-controls label{display:grid;gap:6px;flex:1 1 160px;font-size:14px;font-weight:600}.forma-record-controls :is(input,select,button){font:inherit;min-height:44px;border:1px solid currentColor;border-radius:6px;padding:9px 12px;color:inherit;background:transparent;max-width:100%;caret-color:currentColor}.forma-record-controls button{cursor:pointer;font-weight:600}.forma-record-controls button:hover:not(:disabled){text-decoration:underline;text-underline-offset:4px}.forma-record-controls button:disabled{opacity:.5;cursor:default}.forma-record-controls :focus-visible{outline:2px solid currentColor;outline-offset:3px}.forma-records [data-record-status]{margin-block-end:16px;font-weight:600}

.forma-record-detail-page{box-sizing:border-box;min-height:65vh;padding:clamp(48px,8vw,120px) max(6vw,24px);color:var(--navigation-ink,#172b4d);font:16px/1.65 var(--site-body-font,'Work Sans',sans-serif);overflow-wrap:anywhere}.forma-record-detail{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);gap:clamp(32px,6vw,88px);align-items:start;max-width:1200px;margin-inline:auto}.forma-record-detail-heading,.forma-record-detail-body,.forma-record-state{grid-column:1}.forma-record-detail-heading h1{font:600 clamp(42px,7vw,88px)/.98 var(--site-heading-font,'Archivo',sans-serif);letter-spacing:-.035em;margin:0;max-width:13ch;text-wrap:balance}.forma-record-detail-summary{font-size:clamp(18px,2vw,24px);line-height:1.45;max-width:52ch;margin:28px 0 0}.forma-record-detail-image{grid-column:2;grid-row:1/4;display:block;width:100%;max-height:640px;object-fit:cover;border-radius:min(var(--site-radius,12px),16px)}.forma-record-detail-facts{grid-column:2;display:grid;gap:18px;margin:0;padding-block:24px;border-block:1px solid currentColor}.forma-record-detail-facts div{display:grid;gap:3px}.forma-record-detail-facts dt{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.forma-record-detail-facts dd{margin:0;white-space:pre-line}.forma-record-detail-body{max-width:72ch;white-space:pre-line}.forma-record-detail-body p{margin:0}.forma-record-detail .forma-record-contact{grid-column:1}.forma-record-detail-page ::selection{background:#172b4d;color:#fff}.forma-record-detail-page :focus-visible{outline:2px solid currentColor;outline-offset:5px}@media(max-width:700px){.forma-record-detail{display:block}.forma-record-detail-heading h1{font-size:clamp(38px,13vw,58px)}.forma-record-detail-image{margin-block:32px}.forma-record-detail-facts{margin-block:32px}.forma-record-detail .forma-record-contact{margin-block-start:32px}}@media(prefers-reduced-motion:reduce){.forma-record-detail-page *{transition:none!important}}
.forma-monogram{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;border:2px solid var(--site-accent,#365ee8);color:var(--site-accent,#365ee8);background:color-mix(in srgb,var(--site-accent,#365ee8) 10%,#fff);font:700 22px/1 var(--site-heading-font,'Archivo',sans-serif);letter-spacing:.02em}.forma-records-empty{margin:0;font-size:14px}
.forma-tier-bands{display:grid;gap:clamp(32px,5vw,56px)}.forma-tier-band{display:grid;gap:20px;min-width:0}.forma-tier-heading{margin:0;font:600 22px/1.2 var(--site-heading-font,'Archivo',sans-serif);letter-spacing:-.01em}.forma-tier-emblem{display:block;max-width:min(320px,100%);max-height:96px;width:auto;height:auto;object-fit:contain}
/* A Directory's visitor controls: the view toggle, category chips, the letter index, numbered pages and the action icons. */
.forma-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.forma-records-heading{flex-wrap:wrap}.forma-record-views{display:inline-flex;gap:4px;padding:3px;border:1px solid currentColor;border-radius:999px}.forma-record-views a{display:inline-flex;align-items:center;min-height:38px;padding:6px 16px;border-radius:999px;color:inherit;text-decoration:none;font-size:14px;font-weight:600}.forma-record-views a[aria-current]{background:var(--navigation-ink,#172b4d);color:var(--navigation-bg,#fff)}.forma-record-chips ul,.forma-record-letters ul,.forma-record-pager ol{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.forma-record-chips{margin-block-end:24px}.forma-record-chips ul{gap:8px}.forma-record-chips a{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:8px 14px;box-sizing:border-box;border:1px solid currentColor;border-radius:999px;color:inherit;text-decoration:none;font-size:14px;font-weight:600}.forma-record-chips a[aria-current]{background:var(--navigation-ink,#172b4d);color:var(--navigation-bg,#fff);border-color:var(--navigation-ink,#172b4d)}.forma-record-chip-count{font-weight:400}.forma-record-letters{margin-block-end:24px}.forma-record-letters ul{gap:2px}.forma-record-letters a,.forma-record-letters span{display:inline-grid;place-items:center;min-width:40px;min-height:40px;font-size:15px;font-weight:600;color:inherit;border-radius:6px}.forma-record-letters a{text-decoration:underline;text-underline-offset:4px}.forma-record-letters span{opacity:.4}.forma-record-letter-groups{display:grid;gap:36px}.forma-record-letter{margin:0 0 16px;font:600 26px/1.2 var(--site-heading-font,'Archivo',sans-serif);scroll-margin-top:96px}.forma-record-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-block-start:36px}.forma-record-pager ol{gap:6px}.forma-record-page,.forma-record-page-step{display:inline-grid;place-items:center;min-width:44px;min-height:44px;padding:0 12px;box-sizing:border-box;border:1px solid currentColor;border-radius:6px;color:inherit;text-decoration:none;font-weight:600}.forma-record-page[aria-current]{background:var(--navigation-ink,#172b4d);color:var(--navigation-bg,#fff);border-color:var(--navigation-ink,#172b4d)}.forma-record-page-gap{display:inline-grid;place-items:center;min-width:24px}.forma-record-views a:focus-visible,.forma-record-chips a:focus-visible,.forma-record-letters a:focus-visible,.forma-record-pager a:focus-visible,.forma-record-act:focus-visible{outline:2px solid currentColor;outline-offset:3px}.forma-record-chips a:hover,.forma-record-pager a:hover,.forma-record-views a:not([aria-current]):hover{text-decoration:underline;text-underline-offset:4px}.forma-record-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.forma-record-act{display:inline-grid;place-items:center;width:44px;height:44px;box-sizing:border-box;border:1px solid currentColor;border-radius:50%;color:inherit;transition:background-color 150ms,color 150ms}.forma-record-act::before{content:'';width:20px;height:20px;background:currentColor;-webkit-mask:var(--forma-act-icon) center/contain no-repeat;mask:var(--forma-act-icon) center/contain no-repeat}.forma-record-act:hover{background:var(--navigation-ink,#172b4d);color:var(--navigation-bg,#fff)}.forma-record-act[data-act=directions]{--forma-act-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E")}.forma-record-act[data-act=call]{--forma-act-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E")}.forma-record-act[data-act=website]{--forma-act-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E")}.forma-record-email{font-size:14px}.forma-record-monogram{display:grid;place-items:center;aspect-ratio:4/3;background:color-mix(in srgb,var(--site-accent,#365ee8) 8%,transparent)}
@media(prefers-reduced-motion:reduce){.forma-record-act{transition:none}}
.forma-record-search{display:grid;gap:16px;margin:0}.forma-record-search-heading{margin:0;font:600 clamp(26px,3.2vw,36px)/1.15 var(--site-heading-font,'Archivo',sans-serif);letter-spacing:-.02em}.forma-record-search-row{display:flex;flex-wrap:wrap;gap:12px}.forma-record-search-field{flex:1 1 240px;min-width:0;min-height:52px;box-sizing:border-box;padding:12px 16px;border:1px solid currentColor;border-radius:min(var(--site-radius,12px),10px);background:#fff;color:#172b4d;font:inherit;font-size:17px}.forma-record-search-field::placeholder{color:#5d6b82}.forma-record-search-button{flex:0 0 auto;min-height:52px;padding:12px 22px;border:0;border-radius:min(var(--site-radius,12px),10px);background:var(--navigation-ink,#172b4d);color:var(--navigation-bg,#fff);font:inherit;font-weight:700;cursor:pointer;transition:transform 150ms}.forma-record-search-button:hover{transform:translateY(-1px)}.forma-record-search-field:focus-visible,.forma-record-search-button:focus-visible{outline:2px solid currentColor;outline-offset:3px}@media(prefers-reduced-motion:reduce){.forma-record-search-button{transition:none}}
/* The Events Strip and Month Agenda. A Strip wraps onto rows as its place narrows, so no title is cut at the edge. */
.forma-event-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:24px;list-style:none;margin:0;padding:0 0 8px}.forma-event-strip-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;min-width:0}.forma-event-stamp{display:grid;justify-items:center;min-width:72px;padding:10px 8px;box-sizing:border-box;border:2px solid currentColor;border-radius:min(var(--site-radius,12px),12px);line-height:1}.forma-event-stamp-month{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.forma-event-stamp-day{font:700 34px/1.05 var(--site-heading-font,'Archivo',sans-serif)}.forma-event-stamp[data-stamp=tbc] .forma-event-stamp-day{font-size:20px}.forma-event-title{margin:0 0 6px;font:600 20px/1.25 var(--site-heading-font,'Archivo',sans-serif)}.forma-event-title a{color:inherit;text-underline-offset:4px}.forma-event-title a:focus-visible,.forma-event-calendar-link:focus-visible,.forma-event-register:focus-visible{outline:2px solid currentColor;outline-offset:3px}.forma-event-when,.forma-event-venue,.forma-event-registration{margin:0 0 4px;font-size:14px}.forma-event-register{display:inline-flex;align-items:center;min-height:32px;padding:4px 9px;border:1px solid currentColor;color:inherit;font-size:12px;font-weight:800;text-decoration:none}.forma-event-register:hover{text-decoration:underline;text-underline-offset:3px}.forma-event-calendar{margin:28px 0 0}.forma-event-calendar-link{display:inline-flex;align-items:center;min-height:44px;padding:10px 20px;box-sizing:border-box;border-radius:6px;background:var(--navigation-ink,#172b4d);color:var(--navigation-bg,#fff);font-weight:700;text-decoration:none}.forma-event-calendar-link:hover{text-decoration:underline;text-underline-offset:4px}
.forma-event-agenda{display:grid;gap:36px}.forma-event-month-heading{margin:0 0 12px;padding-block-end:10px;border-block-end:1px solid currentColor;font:600 26px/1.2 var(--site-heading-font,'Archivo',sans-serif)}.forma-event-agenda-list{list-style:none;margin:0;padding:0}.forma-event-agenda-item{display:grid;grid-template-columns:64px minmax(0,1fr);gap:20px;padding-block:16px;border-block-end:1px solid color-mix(in srgb,currentColor 25%,transparent)}.forma-event-agenda-day{display:grid;justify-items:center;line-height:1.1}.forma-event-agenda-weekday{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.forma-event-agenda-date{font:700 30px/1.1 var(--site-heading-font,'Archivo',sans-serif)}
@container (max-width:440px){.forma-event-agenda-item{grid-template-columns:52px minmax(0,1fr);gap:14px}}
/* Stamp: one continuous ink field, cut by square date marks rather than event cards. */
.forma-records[data-design=stamp]{padding:clamp(24px,4vw,54px);background:color-mix(in srgb,currentColor 9%,transparent);color:inherit;border:2px solid currentColor;border-radius:min(var(--site-radius,12px),18px)}.forma-records[data-design=stamp] .forma-records-heading{border-block-end:1px solid color-mix(in srgb,currentColor 35%,transparent);padding-block-end:20px}.forma-event-stamp-list{list-style:none;margin:0;padding:0}.forma-event-stamp-entry{display:grid;grid-template-columns:clamp(78px,11vw,112px) minmax(0,1fr);gap:clamp(20px,4vw,52px);align-items:start;padding-block:clamp(22px,3vw,38px);border-block-end:1px solid color-mix(in srgb,currentColor 28%,transparent)}.forma-event-stamp-mark{display:grid;place-content:center;justify-items:center;aspect-ratio:1;border:2px solid currentColor;line-height:1}.forma-event-stamp-mark-month{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.forma-event-stamp-mark-day{font:750 clamp(32px,5vw,54px)/.95 var(--site-heading-font,'Archivo',sans-serif)}.forma-event-stamp-mark[data-stamp=tbc] .forma-event-stamp-mark-day{font-size:clamp(19px,3vw,28px)}.forma-event-stamp-copy{align-self:center;min-width:0}.forma-records[data-design=stamp] .forma-event-title{font-size:clamp(24px,3.6vw,42px);letter-spacing:-.035em;margin-block-end:10px}.forma-records[data-design=stamp] .forma-event-calendar-link{background:transparent}@container (max-width:440px){.forma-records[data-design=stamp]{padding:22px 18px}.forma-event-stamp-entry{grid-template-columns:72px minmax(0,1fr);gap:16px}.forma-event-stamp-mark-day{font-size:32px}.forma-records[data-design=stamp] .forma-event-title{font-size:23px}}
/* Poster: the next event is a full bill; later events are the small notices under it. */
.forma-event-poster-lead{position:relative;isolation:isolate;display:grid;align-items:end;min-height:clamp(420px,64vw,720px);overflow:hidden;background:color-mix(in srgb,currentColor 7%,transparent);color:inherit;border:1px solid currentColor}.forma-event-poster-image,.forma-event-poster-shade{position:absolute;z-index:-2;inset:0;width:100%;height:100%}.forma-event-poster-image{object-fit:cover;opacity:.2;filter:saturate(.7)}.forma-event-poster-shade{z-index:-1;background:linear-gradient(180deg,transparent 12%,color-mix(in srgb,currentColor 12%,transparent) 45%,color-mix(in srgb,currentColor 32%,transparent) 100%)}.forma-event-poster-copy{display:grid;justify-items:start;gap:9px;padding:clamp(26px,6vw,74px);max-width:850px}.forma-event-poster-date,.forma-event-poster-stub-date{margin:0;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.forma-event-poster-lead .forma-event-title{margin:0;font-size:clamp(42px,8vw,96px);line-height:.94;letter-spacing:-.055em;text-wrap:balance}.forma-event-poster-stubs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));list-style:none;margin:0;padding:0;border-inline-start:1px solid currentColor}.forma-event-poster-stub{min-width:0;padding:24px;border-inline-end:1px solid currentColor;border-block-end:1px solid currentColor}.forma-event-poster-stub .forma-event-title{font-size:20px;margin-block:10px}@container (max-width:440px){.forma-event-poster-lead{min-height:460px}.forma-event-poster-copy{padding:28px 22px}.forma-event-poster-lead .forma-event-title{font-size:clamp(38px,13vw,58px)}.forma-event-poster-stubs{grid-template-columns:1fr}}
/* Tickets: admission objects with a perforated date stub, three or four across when space permits. */
.forma-event-tickets{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:18px;list-style:none;margin:0;padding:0}.forma-event-ticket{--ticket-stub:clamp(144px,42%,170px);position:relative;display:grid;grid-template-columns:var(--ticket-stub) minmax(0,1fr);min-height:190px;border:1px solid currentColor;background:color-mix(in srgb,currentColor 4%,transparent);overflow:hidden}.forma-event-ticket::before,.forma-event-ticket::after{content:'';position:absolute;left:calc(var(--ticket-stub) - 9px);width:18px;height:18px;border-radius:50%;background:var(--site-bg,#fff)}.forma-event-ticket::before{top:-9px}.forma-event-ticket::after{bottom:-9px}.forma-event-ticket-stub{display:grid;grid-template-rows:auto auto 1fr;align-content:stretch;justify-items:center;gap:8px;padding:18px 10px;border-inline-end:1px dashed currentColor;text-align:center}.forma-event-ticket-stub .forma-event-registration{align-self:end;overflow-wrap:normal;word-break:normal}.forma-event-ticket-stub .forma-event-register{padding-inline:5px;font-size:11px;overflow-wrap:normal;word-break:normal}.forma-event-ticket-date{font:750 clamp(23px,3vw,34px)/1 var(--site-heading-font,'Archivo',sans-serif);text-transform:uppercase;white-space:nowrap;overflow-wrap:normal;word-break:normal}.forma-event-ticket-time{font-size:12px}.forma-event-ticket-body{display:grid;align-content:center;padding:24px 20px;min-width:0}.forma-event-ticket .forma-event-title{font-size:22px}@container (max-width:440px){.forma-event-tickets{grid-template-columns:1fr}.forma-event-ticket{min-height:170px}}
/* Spine: one continuous line, with entries alternating across it at wider measures. */
.forma-event-spine{position:relative;display:grid;list-style:none;margin:0;padding:18px 0}.forma-event-spine::before{content:'';position:absolute;inset-block:0;left:50%;border-inline-start:2px solid currentColor}.forma-event-spine-entry{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);min-height:150px;align-items:start}.forma-event-spine-node{grid-column:2;justify-self:center;margin-block-start:8px;width:14px;height:14px;border:3px solid currentColor;border-radius:50%;background:var(--site-bg,#fff);z-index:1}.forma-event-spine-date{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.forma-event-spine-copy{min-width:0;padding-block-end:40px}.forma-event-spine-entry[data-side=start] .forma-event-spine-date{grid-column:1;grid-row:1;text-align:end;padding-inline-end:24px}.forma-event-spine-entry[data-side=start] .forma-event-spine-copy{grid-column:3;grid-row:1;padding-inline-start:24px}.forma-event-spine-entry[data-side=end] .forma-event-spine-date{grid-column:3;grid-row:1;padding-inline-start:24px}.forma-event-spine-entry[data-side=end] .forma-event-spine-copy{grid-column:1;grid-row:1;text-align:end;padding-inline-end:24px}.forma-event-spine .forma-event-title{font-size:clamp(22px,3vw,34px);letter-spacing:-.025em}@container (max-width:600px){.forma-event-spine::before{left:8px}.forma-event-spine-entry{grid-template-columns:28px minmax(0,1fr);min-height:0;padding-block-end:34px}.forma-event-spine-node{grid-column:1;grid-row:1;margin-inline-start:1px}.forma-event-spine-entry:is([data-side=start],[data-side=end]) .forma-event-spine-date{grid-column:2;grid-row:1;text-align:start;padding:0}.forma-event-spine-entry:is([data-side=start],[data-side=end]) .forma-event-spine-copy{grid-column:2;grid-row:2;text-align:start;padding:8px 0 0}}
/* Ledger: a compact lined calendar whose columns remain legible as rows. */
.forma-event-ledger{display:grid;gap:clamp(34px,5vw,64px)}.forma-event-ledger-heading{margin:0;padding-block:0 12px;border-block-end:3px double currentColor;font:750 clamp(28px,4vw,46px)/1 var(--site-heading-font,'Archivo',sans-serif);letter-spacing:-.03em}.forma-event-ledger-labels,.forma-event-ledger-line{display:grid;grid-template-columns:minmax(92px,.7fr) minmax(180px,2fr) minmax(120px,1.2fr) minmax(150px,1fr);column-gap:18px}.forma-event-ledger-labels{padding-block:10px;border-block-end:1px solid currentColor;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.forma-event-ledger-lines{list-style:none;margin:0;padding:0}.forma-event-ledger-line{align-items:start;padding-block:14px;border-block-end:1px solid color-mix(in srgb,currentColor 35%,transparent)}.forma-event-ledger-line>*{margin:0;min-width:0}.forma-event-ledger-date{font-weight:800;text-transform:uppercase}.forma-event-ledger-title .forma-event-title{font-size:17px;margin:0}.forma-event-ledger-title .forma-event-when{font-size:12px;margin-block-start:4px}@container (max-width:620px){.forma-event-ledger-labels{display:none}.forma-event-ledger-line{grid-template-columns:74px minmax(0,1fr);gap:5px 14px}.forma-event-ledger-date{grid-row:1/4}.forma-event-ledger-title,.forma-event-ledger-line .forma-event-venue,.forma-event-ledger-line .forma-event-registration{grid-column:2}.forma-event-ledger-line .forma-event-venue,.forma-event-ledger-line .forma-event-registration{font-size:13px}}
/* Month board / Lit Days: a lined section-ink field where occupied dates become stronger planes. */
.forma-records[data-design=month-board]{padding:clamp(22px,4vw,52px);background:color-mix(in srgb,currentColor 9%,transparent);color:inherit;border:2px solid currentColor}.forma-event-month-nav{display:flex;flex-wrap:wrap;gap:8px;margin-block:0 24px}.forma-event-month-nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid currentColor;color:inherit;text-decoration:none;font-weight:700}.forma-event-month-nav a[aria-current]{background:color-mix(in srgb,currentColor 18%,transparent);color:inherit}.forma-event-month-board-panel[hidden]{display:none}.forma-event-month-board-title{margin:0 0 20px;font:750 clamp(34px,6vw,72px)/.95 var(--site-heading-font,'Archivo',sans-serif);letter-spacing:-.045em}.forma-event-month-weekdays,.forma-event-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));list-style:none;margin:0;padding:0}.forma-event-month-weekdays{border-block:1px solid color-mix(in srgb,currentColor 40%,transparent)}.forma-event-month-weekdays li{padding:9px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.forma-event-month-grid{border-inline-start:1px solid color-mix(in srgb,currentColor 30%,transparent)}.forma-event-month-day,.forma-event-month-blank{min-height:clamp(100px,12vw,160px);padding:10px;border-inline-end:1px solid color-mix(in srgb,currentColor 30%,transparent);border-block-end:1px solid color-mix(in srgb,currentColor 30%,transparent);box-sizing:border-box}.forma-event-month-day{position:relative}.forma-event-month-day[data-occupied=true]{background:color-mix(in srgb,currentColor calc(10% + var(--month-busy,0%)),transparent)}.forma-event-month-day[data-count="1"]{--month-busy:7%}.forma-event-month-day[data-count="2"]{--month-busy:15%}.forma-event-month-day[data-count="3"]{--month-busy:24%}.forma-event-month-day[data-count="4"]{--month-busy:34%}.forma-event-month-numeral{display:block;font:650 17px/1 var(--site-heading-font,'Archivo',sans-serif);opacity:.35}.forma-event-month-day[data-occupied=true] .forma-event-month-numeral{opacity:1;font-size:24px}.forma-event-month-day-events{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}.forma-event-month-day-events a{color:inherit;font-size:12px;font-weight:700;line-height:1.2}.forma-event-month-event{min-width:0}.forma-event-month-event :is(.forma-record-state,.forma-event-when,.forma-event-venue,.forma-event-registration){margin:3px 0 0;font-size:11px;line-height:1.25}.forma-event-month-event .forma-event-register{min-height:28px;padding:3px 6px;font-size:10px}.forma-event-month-day-events a:focus-visible,.forma-event-month-overflow a:focus-visible{outline:2px solid currentColor;outline-offset:3px}.forma-event-month-overflow{margin-block-start:28px;padding-block-start:22px;border-block-start:1px solid currentColor}.forma-event-month-overflow h3{margin:0 0 12px}.forma-event-month-overflow ol{display:grid;gap:12px;margin:0;padding-inline-start:22px}.forma-event-month-overflow li>span{display:inline-block;min-width:110px;font-weight:800}.forma-event-month-overflow .forma-event-month-event{display:inline-grid;gap:2px;vertical-align:top}.forma-event-month-overflow a{color:inherit}@container (max-width:700px){.forma-records[data-design=month-board]{padding:24px 18px}.forma-event-month-weekdays,.forma-event-month-day:not([data-occupied=true]),.forma-event-month-blank{display:none}.forma-event-month-grid{display:grid;grid-template-columns:1fr;border:0}.forma-event-month-day{display:grid;grid-template-columns:54px minmax(0,1fr);min-height:0;padding:16px 0;border-inline:0;border-block-end:1px solid color-mix(in srgb,currentColor 35%,transparent);background:transparent!important}.forma-event-month-numeral{font-size:26px!important;opacity:1}.forma-event-month-day-events{margin:0}.forma-event-month-day-events a{font-size:16px}.forma-event-month-event :is(.forma-record-state,.forma-event-when,.forma-event-venue,.forma-event-registration){font-size:13px}.forma-event-month-nav{display:grid;grid-template-columns:1fr}.forma-event-month-nav a{justify-content:center}}
.forma-record h3 a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}.forma-record h3 a:hover{text-decoration-thickness:3px}.forma-record h3 a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
/* Record controls belong to their section's ink. A translucent mark keeps that ink readable on paper, colour, gradient and washed-picture grounds. */
.forma-records :is(.forma-post-link:hover,.forma-record-views a[aria-current],.forma-record-chips a[aria-current],.forma-record-page[aria-current],.forma-record-act:hover,.forma-record-search-button,.forma-event-calendar-link){background:color-mix(in srgb,currentColor 12%,transparent);color:inherit;border-color:currentColor}
.forma-record-search-field{background:color-mix(in srgb,currentColor 8%,transparent);color:inherit;caret-color:currentColor}.forma-record-search-field::placeholder{color:color-mix(in srgb,currentColor 70%,transparent)}
.forma-event-calendar-link{border:1px solid currentColor}

/* Directory territory map: the record names stay ordinary links; the drawing is public geography. */
.forma-records[data-design=map]{container-type:inline-size}.forma-directory-map{position:relative;isolation:isolate}.forma-directory-map-body{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.75fr);gap:clamp(28px,5vw,76px);align-items:center}.forma-directory-map-body-only{grid-template-columns:minmax(0,1fr)}.forma-directory-map-figure{grid-column:1;grid-row:1;min-width:0;padding:clamp(10px,2.5vw,28px)}.forma-directory-map-state{display:block;width:100%;height:auto;overflow:visible}.forma-directory-map-outline{fill:color-mix(in srgb,var(--site-accent,#365ee8) 8%,transparent);stroke:currentColor;stroke-width:2;vector-effect:non-scaling-stroke}.forma-directory-map-point{cursor:pointer;outline:none}.forma-directory-map-hit{fill:transparent;pointer-events:all}.forma-directory-map-dot{fill:var(--site-accent,#365ee8);stroke:color-mix(in srgb,currentColor 84%,transparent);stroke-width:2;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;transition:transform 180ms ease,filter 180ms ease}.forma-directory-map-label{font:700 18px/1 var(--site-body-font,'Work Sans',sans-serif);fill:currentColor;stroke:var(--navigation-bg,#fff);stroke-width:4px;paint-order:stroke;transform:translateY(-16px);text-anchor:middle;opacity:0;pointer-events:none;transition:opacity 150ms ease}.forma-directory-map-point[data-raised=true] .forma-directory-map-dot{transform:scale(1.8);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--site-accent,#365ee8) 62%,transparent))}.forma-directory-map-point[data-raised=true] .forma-directory-map-label{opacity:1}.forma-directory-map-point:focus-visible .forma-directory-map-hit{stroke:currentColor;stroke-width:3;fill:color-mix(in srgb,var(--site-accent,#365ee8) 10%,transparent)}.forma-directory-map-roll{grid-column:2;grid-row:1;list-style:none;margin:0;padding:0;border-block-start:1px solid color-mix(in srgb,currentColor 32%,transparent);max-height:min(68vh,720px);overflow:auto}.forma-directory-map-roll-member{display:grid;gap:3px;padding:13px 10px;border-block-end:1px solid color-mix(in srgb,currentColor 24%,transparent);transition:background-color 150ms ease,padding-inline 150ms ease}.forma-directory-map-roll-member[data-raised=true]{padding-inline:16px;background:color-mix(in srgb,var(--site-accent,#365ee8) 11%,transparent)}.forma-directory-map-town{font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;opacity:.72}.forma-directory-map-member{color:inherit;font:650 17px/1.25 var(--site-heading-font,'Archivo',sans-serif);text-decoration-thickness:1px;text-underline-offset:4px}.forma-directory-map-member:is(:hover,:focus-visible){text-decoration-thickness:3px}.forma-directory-map-member:focus-visible{outline:2px solid currentColor;outline-offset:4px}.forma-directory-map-limit{margin:-12px 0 24px;padding:12px 16px;border-inline-start:4px solid currentColor;background:color-mix(in srgb,currentColor 7%,transparent);font-weight:600}
@container (max-width:700px){.forma-directory-map-body{grid-template-columns:1fr;gap:24px}.forma-directory-map-figure{grid-column:1;grid-row:1;padding:8px 0}.forma-directory-map-roll{grid-column:1;grid-row:2;max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}.forma-directory-map-label{font-size:24px;transform:translateY(-20px)}}
@container (max-width:440px){.forma-directory-map-roll{grid-template-columns:1fr}.forma-directory-map-figure{padding-inline:2px}}
@media(pointer:coarse){.forma-directory-map-hit{transform-box:fill-box;transform-origin:center;transform:scale(2.5)}}
@media(prefers-reduced-motion:reduce){.forma-directory-map-dot,.forma-directory-map-label,.forma-directory-map-roll-member{transition:none}}

/* A loop (loop-view.mjs): a still row that scrolls sideways until loop-runtime.mjs moves it, or a still grid. */
.forma-loop{--loop-scale:1;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding-block:8px}.forma-loop[data-loop-running]{overflow:hidden}.forma-loop:focus-visible{outline:2px solid currentColor;outline-offset:4px}.forma-loop-track{display:flex;width:max-content}.forma-loop:not([data-loop-running]) [data-loop-copy]{display:none}
.forma-loop-list,.forma-loop-grid{list-style:none;margin:0;padding:0}.forma-loop-list{display:flex;gap:var(--loop-gap,32px);padding-inline-end:var(--loop-gap,32px)}.forma-loop-grid{--loop-scale:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--loop-height,88px)*1.7),1fr));gap:var(--loop-gap,24px)}
.forma-loop-item{flex:0 0 auto;width:calc(var(--loop-height,88px)*1.82*var(--loop-scale));min-width:0}.forma-loop-grid .forma-loop-item{width:auto}
.forma-loop-tile{display:grid;gap:10px;justify-items:center;text-align:center;color:inherit;text-decoration:none}
.forma-loop-art{display:grid;place-items:center;box-sizing:border-box;width:100%;height:calc(var(--loop-height,88px)*var(--loop-scale));padding:10px;border-radius:min(var(--site-radius,12px),12px)}[data-loop-ground=paper] .forma-loop-art{background:#fff}.forma-loop-art img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(var(--loop-height,88px)*var(--loop-scale) - 20px);object-fit:contain}
.forma-loop-name{font-size:14px;font-weight:600;line-height:1.3}a.forma-loop-tile:hover .forma-loop-name{text-decoration:underline;text-underline-offset:4px}a.forma-loop-tile:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:6px}
@container (max-width:440px){.forma-loop{--loop-scale:.82}}
/*
 * A loop in a named style, or with arrows or dots, sits in a frame (loop-view.mjs `loopBand`). A styled
 * Loop draws on its section's own ground rather than the Gallery's paper room, its width measured from
 * the section (`cqw`), and `--loop-ground` is that ground (paper, ink or brand) for a plate to stand on.
 */
.forma-gallery[data-loop-style]{color:inherit;isolation:auto;container-type:normal}
.forma-gallery[data-loop-style] .fg-room{background:transparent;color:inherit;padding-inline:0}
.forma-gallery[data-loop-style] .forma-records{container-type:normal;color:inherit}
.forma-loop-frame{--loop-ground:var(--site-bg,#fff);position:relative;min-width:0}
.compose-section-surface[data-tone=ink] .forma-loop-frame{--loop-ground:#152640}
.compose-section-surface[data-tone=brand] .forma-loop-frame{--loop-ground:var(--site-accent,#365ee8)}
.forma-loop-frame>.fs-controls{margin-top:clamp(10px,1.6cqw,18px)}
.forma-loop-frame .fs-dots{max-width:min(100%,720px)}
/* Bars stand at each edge of the band, the dots under it. */
.forma-loop-frame:has(>.fs-controls[data-arrow-style=bar]){display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:clamp(8px,1.4cqw,16px);align-items:center}
.forma-loop-frame:has(>.fs-controls[data-arrow-style=bar])>*{grid-column:2}
.forma-loop-frame>.fs-controls[data-arrow-style=bar]{display:contents}
.forma-loop-frame>.fs-controls[data-arrow-style=bar]>.fs-arrow{grid-row:1/span var(--loop-rails,1);align-self:center}
.forma-loop-frame>.fs-controls[data-arrow-style=bar]>[data-loop-step="-1"]{grid-column:1}
.forma-loop-frame>.fs-controls[data-arrow-style=bar]>[data-loop-step="1"]{grid-column:3}
.forma-loop-frame>.fs-controls[data-arrow-style=bar]>.fs-dots{grid-column:2;justify-self:center;margin-top:clamp(10px,1.6cqw,18px)}
/* A still strip (Motion off, or no Motion) is scrolled by hand and comes to rest on a tile. */
.forma-loop-frame .forma-loop:not([data-loop-running]){scroll-snap-type:x proximity}
.forma-loop-frame .forma-loop:not([data-loop-running]) .forma-loop-item{scroll-snap-align:start}
/* The strip's visible window, for a focused tile to be brought into (loop-runtime.mjs `reveal`): what a
   style covers at each end of the strip (the Marquee's fade, the Emblem's plate), as lengths the runtime reads. */
@property --loop-inset-start{syntax:'<length>';inherits:false;initial-value:0px}
@property --loop-inset-end{syntax:'<length>';inherits:false;initial-value:0px}

/* A Gallery's Loop connected to Nexus, on the canvas and in previews: why it shows what it shows. */
.forma-gallery .fg-note{margin:0 0 14px;font-size:13px;line-height:1.45;color:inherit;opacity:.82}
/* The styles that set a logo on the band itself, with no plaque or sign under it. */
.forma-loop-frame:is([data-loop-style=marquee],[data-loop-style=emblem],[data-loop-style=honour-wall],[data-loop-style=parade]) .forma-loop-art{background:none;border-radius:0}
/* A member's logo is drawn as given, in every style and on every ground: never recoloured, never
   blended. It stands on a small white tile of its own, so a logo that arrives on a white box sits on
   white. A Library picture is drawn as it is, with no tile. */
.forma-loop-frame [data-loop-ground=paper] .forma-loop-art img{box-sizing:border-box;padding:6px 10px;border-radius:min(var(--site-radius,8px),8px);background:#fff}
.forma-loop-frame>.fs-controls[data-arrow-style=bar]>.fs-arrow{position:relative;z-index:3}
/* A style sets its tile's art height as --art-h; a picture never grows past it, in a strip or a grid. */
.forma-loop-frame .forma-loop-art{--art-h:calc(var(--loop-height,88px)*var(--loop-scale,1));--art-pad-y:10px;height:var(--art-h)}
.forma-loop-frame .forma-loop-art img{max-height:calc(var(--art-h) - 2*var(--art-pad-y,0px))}
@media (prefers-reduced-motion:reduce){.forma-loop-frame *,.forma-loop-frame *::before,.forma-loop-frame *::after{transition:none!important;animation:none!important}}

/* Marquee — the fade is the whole signature: a ribbon across the section's full width, on its own
   ground, each logo fading in as it enters and out as it leaves; one height, an even rhythm, no plate,
   no frame; the featured members' logos larger. */
.forma-loop-frame[data-loop-style=marquee]{--marquee-fade:clamp(56px,14cqw,240px);--marquee-slot:calc(var(--loop-height,88px)*2.2*var(--loop-scale,1));width:100cqw;margin-inline:calc(50% - 50cqw)}
.forma-loop-frame[data-loop-style=marquee] .forma-loop{--loop-inset-start:var(--marquee-fade);--loop-inset-end:var(--marquee-fade);-webkit-mask-image:linear-gradient(90deg,transparent,#000 var(--marquee-fade),#000 calc(100% - var(--marquee-fade)),transparent);mask-image:linear-gradient(90deg,transparent,#000 var(--marquee-fade),#000 calc(100% - var(--marquee-fade)),transparent);padding-block:clamp(14px,2.2cqw,28px);scrollbar-width:none}
.forma-loop-frame[data-loop-style=marquee] .forma-loop-list{align-items:center;gap:clamp(28px,4.5cqw,72px);padding-inline-end:clamp(28px,4.5cqw,72px)}
.forma-loop-frame[data-loop-style=marquee] .forma-loop-item{width:var(--marquee-slot)}
.forma-loop-frame[data-loop-style=marquee] [data-featured]{--marquee-slot:calc(var(--loop-height,88px)*2.7*var(--loop-scale,1))}
.forma-loop-frame[data-loop-style=marquee] .forma-loop-art{--art-h:calc(var(--loop-height,88px)*var(--loop-scale,1));padding:0;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.forma-loop-frame[data-loop-style=marquee] [data-featured] .forma-loop-art{--art-h:calc(var(--loop-height,88px)*1.35*var(--loop-scale,1))}
.forma-loop-frame[data-loop-style=marquee] a.forma-loop-tile:is(:hover,:focus-visible) .forma-loop-art{transform:scale(1.08)}
.forma-loop-frame[data-loop-style=marquee] a.forma-loop-tile:hover .forma-loop-name{text-decoration:none}
.forma-loop-frame[data-loop-style=marquee] .forma-loop-name{font-size:13px;font-weight:600;opacity:.72}
.forma-loop-frame[data-loop-style=marquee][data-loop-layout=grid]{width:auto;margin-inline:0}
.forma-loop-frame[data-loop-style=marquee] .forma-loop-grid{grid-template-columns:repeat(auto-fill,minmax(var(--marquee-slot),1fr));gap:clamp(20px,3cqw,44px) clamp(28px,4cqw,64px);align-items:center;justify-items:center;background:none}
.forma-loop-frame[data-loop-style=marquee] .forma-loop-grid .forma-loop-item{width:100%}
.forma-gallery[data-loop-style=marquee] .forma-tier-bands{gap:clamp(18px,2.6cqw,32px)}
.forma-gallery[data-loop-style=marquee] .forma-tier-band{gap:4px}
.forma-gallery[data-loop-style=marquee] .forma-tier-heading{justify-self:center;font-size:14px;font-weight:600;letter-spacing:.01em;opacity:.78}
.forma-gallery[data-loop-style=marquee] .forma-tier-emblem{max-height:44px}
.forma-gallery[data-loop-style=marquee] .forma-tier-band[data-featured] .forma-tier-emblem{max-height:72px}
.forma-loop-frame[data-loop-style=marquee] .forma-loop:not([data-loop-running]) .forma-loop-track{padding-inline:calc(var(--marquee-fade) + 10px)}
.forma-loop-frame[data-loop-style=marquee] .forma-loop:not([data-loop-running]){scroll-padding-inline:calc(var(--marquee-fade) + 10px)}

/* Emblem — the Spring Hill band: a picture on a plate of the band's own ground at its start, the logos
   passing behind it and vanishing under it; the plate fades into the strip over a few rem. One band per
   tier when grouped, each tier's mark (or name) on its plate; the featured tier's band the taller. */
.forma-loop-frame[data-loop-style=emblem]{--plate-w:clamp(7rem,5rem + 8cqw,13rem);--plate-fade:clamp(1.5rem,3cqw,3rem);--plate-inset:clamp(1rem,5cqw,6rem);--plate-room:calc(var(--plate-inset) + var(--plate-w) + var(--plate-fade));--emblem-scale:1;width:100cqw;margin-inline:calc(50% - 50cqw);background:var(--loop-ground);border-block:1px solid color-mix(in srgb,currentColor 16%,transparent)}
.forma-tier-band[data-featured] .forma-loop-frame[data-loop-style=emblem]{--emblem-scale:1.3}
.forma-tier-band[data-featured] .forma-loop-frame[data-loop-style=emblem]::before{content:"";position:absolute;z-index:3;inset-block:0;inset-inline-start:0;width:6px;background:var(--site-accent,#365ee8)}
.compose-section-surface[data-tone=brand] .forma-tier-band[data-featured] .forma-loop-frame[data-loop-style=emblem]::before{background:currentColor}
.forma-gallery[data-loop-style=emblem] .forma-tier-bands,.forma-gallery[data-loop-style=emblem] .forma-tier-band{gap:0}
.forma-gallery[data-loop-style=emblem] .forma-tier-band+.forma-tier-band .forma-loop-frame{border-top:0}
.forma-loop-plate{position:absolute;z-index:2;inset-block:0;inset-inline-start:0;display:flex;align-items:center;box-sizing:border-box;width:var(--plate-room);padding-inline:var(--plate-inset) var(--plate-fade);background:linear-gradient(90deg,var(--loop-ground) 0,var(--loop-ground) calc(100% - var(--plate-fade)),color-mix(in srgb,var(--loop-ground) 0%,transparent) 100%)}
.forma-loop-plate .forma-tier-heading{width:100%;margin:0;font:inherit}
.forma-loop-plate-art{display:block;width:100%;height:calc(var(--loop-height,88px)*1.5*var(--emblem-scale)*var(--loop-scale,1));object-fit:contain;object-position:left center}
.forma-loop-plate-name{display:block;font-family:var(--site-heading-font,inherit);font-size:clamp(17px,.9rem + .8cqw,27px);font-weight:800;line-height:1.08;letter-spacing:-.02em;text-wrap:balance;overflow-wrap:anywhere}
.forma-loop-frame[data-loop-style=emblem] .forma-loop{--loop-inset-start:var(--plate-room);padding-block:clamp(20px,3cqw,36px);scroll-padding-inline-start:calc(var(--plate-room) + 10px);scrollbar-width:none}
.forma-loop-frame[data-loop-style=emblem] .forma-loop-track{padding-inline-start:calc(var(--plate-room) + 10px)}
.forma-loop-frame[data-loop-style=emblem] .forma-loop-list{align-items:center;gap:clamp(28px,4cqw,64px);padding-inline-end:clamp(28px,4cqw,64px)}
.forma-loop-frame[data-loop-style=emblem] .forma-loop-item{width:calc(var(--loop-height,88px)*2.1*var(--emblem-scale)*var(--loop-scale,1))}
.forma-loop-frame[data-loop-style=emblem] .forma-loop-art{--art-h:calc(var(--loop-height,88px)*var(--emblem-scale)*var(--loop-scale,1));padding:0;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.forma-loop-frame[data-loop-style=emblem] a.forma-loop-tile:is(:hover,:focus-visible) .forma-loop-art{transform:scale(1.06)}
.forma-loop-frame[data-loop-style=emblem] a.forma-loop-tile:hover .forma-loop-name{text-decoration:none}
.forma-loop-frame[data-loop-style=emblem] .forma-loop-grid{padding:clamp(20px,3cqw,36px) clamp(16px,4cqw,48px) clamp(20px,3cqw,36px) var(--plate-room);grid-template-columns:repeat(auto-fill,minmax(calc(var(--loop-height,88px)*1.9),1fr));align-items:center}
.forma-loop-frame[data-loop-style=emblem] .forma-loop-grid .forma-loop-item{width:auto}
.forma-loop-frame[data-loop-style=emblem][data-loop-layout=grid]{width:auto;margin-inline:0}
.forma-loop-frame[data-loop-style=emblem]>.fs-controls{position:relative;z-index:3;margin:0;padding-block:0 14px}

/* Plaques — the members' wall: each logo on a framed plaque of warm paper (a hairline, an inner mat, a
   soft shadow), the name engraved beneath; the featured members' plaques larger, first, under a brass
   rule in the site's accent. They lift from the wall under the pointer and on focus. */
.forma-loop-frame[data-loop-style=plaques]{--plaque-w:calc(var(--loop-height,88px)*2*var(--loop-scale,1));--plaque-paper:#fffdf7;--plaque-paper-2:#f4ecdc;--plaque-ink:#3d3226;--plaque-line:rgb(74 56 30 / .22)}
.forma-loop-frame[data-loop-style=plaques] .forma-loop{padding-block:16px 30px}
.forma-loop-frame[data-loop-style=plaques] .forma-loop-list{align-items:stretch;gap:clamp(16px,2.2cqw,30px);padding-inline-end:clamp(16px,2.2cqw,30px)}
.forma-loop-frame[data-loop-style=plaques] .forma-loop-item{display:flex;width:var(--plaque-w)}
.forma-loop-frame[data-loop-style=plaques] .forma-loop-item>.forma-loop-tile{flex:1;grid-template-rows:1fr auto;align-items:center}
.forma-loop-frame[data-loop-style=plaques] [data-featured]{--plaque-w:calc(var(--loop-height,88px)*2.5*var(--loop-scale,1))}
.forma-loop-frame[data-loop-style=plaques] .forma-loop-tile{position:relative;gap:0;padding:10px 10px 0;border:1px solid var(--plaque-line);border-radius:3px;background:linear-gradient(168deg,var(--plaque-paper),var(--plaque-paper-2));color:var(--plaque-ink);box-shadow:inset 0 0 0 5px var(--plaque-paper),inset 0 0 0 6px var(--plaque-line),0 1px 1px rgb(40 28 10 / .1),0 16px 28px -18px rgb(40 28 10 / .62);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease}
.forma-loop-frame[data-loop-style=plaques] .forma-loop-tile:not(:has(.forma-loop-name)){padding-bottom:10px}
.forma-loop-frame[data-loop-style=plaques] [data-featured] .forma-loop-tile{border-top:3px solid var(--site-accent,#b8862d)}
.forma-loop-frame[data-loop-style=plaques] .forma-loop-art{--art-h:calc(var(--loop-height,88px)*var(--loop-scale,1));padding:10px 8px;--art-pad-y:10px;background:none;border-radius:0}
.forma-loop-frame[data-loop-style=plaques] [data-featured] .forma-loop-art{--art-h:calc(var(--loop-height,88px)*1.3*var(--loop-scale,1))}
.forma-loop-frame[data-loop-style=plaques] .forma-loop-name{display:block;margin:0 -10px;padding:7px 10px 9px;border-top:1px solid var(--plaque-line);font-family:var(--site-heading-font,Georgia,serif);font-size:12.5px;font-weight:700;font-variant-caps:all-small-caps;letter-spacing:.09em;line-height:1.25;color:#5b4a35;text-shadow:0 1px 0 #fff;text-wrap:balance}
.forma-loop-frame[data-loop-style=plaques] a.forma-loop-tile:is(:hover,:focus-visible){transform:translateY(-6px) rotate(-.6deg);box-shadow:inset 0 0 0 5px var(--plaque-paper),inset 0 0 0 6px var(--plaque-line),0 2px 2px rgb(40 28 10 / .12),0 26px 34px -18px rgb(40 28 10 / .7)}
.forma-loop-frame[data-loop-style=plaques] a.forma-loop-tile:hover .forma-loop-name{text-decoration:none}
.forma-loop-frame[data-loop-style=plaques] a.forma-loop-tile:focus-visible{outline:2px solid var(--plaque-ink);outline-offset:3px}
.forma-loop-frame[data-loop-style=plaques] .forma-loop-grid{grid-template-columns:repeat(auto-fill,minmax(var(--plaque-w),1fr));gap:clamp(16px,2.4cqw,32px);align-items:stretch}
.forma-loop-frame[data-loop-style=plaques] .forma-loop-grid .forma-loop-item{width:auto}

/* Shingles — shop signs along a street: two rails, each sign hung from its rail by two brackets at a
   staggered height; the upper rail (the featured members, in the accent) runs one way and the lower the
   other. While it runs, each sign sways a little on its brackets. The signs are painted enamel boards
   with light lettering and a pinstripe inside the edge: the upper rail's a deep shade of the accent,
   the lower's ink; on an ink or brand ground, boards that stand apart from it. Each member's logo sits on
   its own small white tile on the board. */
.forma-loop-frame[data-loop-style=shingles]{--loop-rails:2;--sign-w:calc(var(--loop-height,88px)*1.9*var(--loop-scale,1));--rail:color-mix(in srgb,currentColor 76%,transparent);--sign:#1b2333;--sign-upper:color-mix(in srgb,var(--site-accent,#365ee8) 50%,#0b1424);--sign-letter:#f8f4ea;display:grid;row-gap:clamp(4px,1.2cqw,14px)}
.compose-section-surface[data-tone=ink] .forma-loop-frame[data-loop-style=shingles]{--sign:#33496e}
.compose-section-surface[data-tone=brand] .forma-loop-frame[data-loop-style=shingles]{--sign:#10192b;--sign-upper:color-mix(in srgb,var(--site-accent,#365ee8) 40%,#0b1424)}
.forma-loop-frame[data-loop-style=shingles] :is(.forma-loop,.forma-loop-grid){--board:var(--sign)}
.forma-loop-frame[data-loop-style=shingles] [data-loop-rail=upper]{--board:var(--sign-upper)}
/* The street runs the section's full width, past its column: the rails and the signs hung from them. */
.forma-loop-frame[data-loop-style=shingles][data-loop-layout=loop]{width:100cqw;margin-inline:calc(50% - 50cqw)}
.forma-loop-frame[data-loop-style=shingles] .forma-loop{position:relative;padding-block:0 18px}
.forma-loop-frame[data-loop-style=shingles] .forma-loop::before{content:"";position:absolute;z-index:1;inset-inline:0;top:6px;height:4px;border-radius:2px;background:var(--rail);box-shadow:0 2px 0 rgb(0 0 0 / .14)}
.forma-loop-frame[data-loop-style=shingles] [data-loop-rail=upper]{--sign-w:calc(var(--loop-height,88px)*2.2*var(--loop-scale,1))}
.forma-loop-frame[data-loop-style=shingles] .forma-loop[data-loop-rail=upper]::before{height:5px;background:var(--site-accent,currentColor)}
.compose-section-surface:is([data-tone=ink],[data-tone=brand]) .forma-loop-frame[data-loop-style=shingles] .forma-loop[data-loop-rail=upper]::before{height:6px;background:currentColor}
.forma-loop-frame[data-loop-style=shingles] .forma-loop-list{align-items:flex-start;gap:clamp(18px,2.6cqw,36px);padding-inline-end:clamp(18px,2.6cqw,36px);padding-top:8px}
.forma-loop-frame[data-loop-style=shingles] .forma-loop-item{--hang:18px;position:relative;width:var(--sign-w);padding-top:var(--hang);transform-origin:50% 0;transform:rotate(var(--lean,0deg));transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.forma-loop-frame[data-loop-style=shingles] .forma-loop-item:nth-child(3n+2){--hang:34px}
.forma-loop-frame[data-loop-style=shingles] .forma-loop-item:nth-child(3n){--hang:26px}
.forma-loop-frame[data-loop-style=shingles] .forma-loop-item::before,.forma-loop-frame[data-loop-style=shingles] .forma-loop-item::after{content:"";position:absolute;top:-2px;width:2px;height:calc(var(--hang) + 2px);background:var(--rail)}
.forma-loop-frame[data-loop-style=shingles] .forma-loop-item::before{left:24%}
.forma-loop-frame[data-loop-style=shingles] .forma-loop-item::after{right:24%}
.forma-loop-frame[data-loop-style=shingles] .forma-loop-tile{gap:0;padding:8px 8px 0;border:2px solid color-mix(in srgb,var(--board) 62%,#000);border-radius:6px;background:var(--board);box-shadow:inset 0 0 0 3px var(--board),inset 0 0 0 4px rgb(255 255 255 / .3),0 12px 20px -14px rgb(0 0 0 / .55);transition:transform .35s ease,box-shadow .35s ease}
.forma-loop-frame[data-loop-style=shingles] .forma-loop-tile:not(:has(.forma-loop-name)){padding-bottom:8px}
.forma-loop-frame[data-loop-style=shingles] [data-loop-rail=upper] .forma-loop-tile{border-color:var(--site-accent,#1b2333);border-width:3px}
.forma-loop-frame[data-loop-style=shingles] .forma-loop-art{--art-h:calc(var(--loop-height,88px)*.9*var(--loop-scale,1));padding:6px;--art-pad-y:6px;background:none}
.forma-loop-frame[data-loop-style=shingles] .forma-loop-name{display:block;margin:0 -8px;padding:6px 8px 7px;border-top:1px dashed rgb(255 255 255 / .34);color:var(--sign-letter);font-family:var(--site-heading-font,inherit);font-size:12px;font-weight:700;line-height:1.2;text-wrap:balance}
.forma-loop-frame[data-loop-style=shingles] a.forma-loop-tile:is(:hover,:focus-visible){transform:translateY(3px) scale(1.04);box-shadow:inset 0 0 0 3px var(--board),inset 0 0 0 4px rgb(255 255 255 / .3),0 18px 26px -14px rgb(0 0 0 / .6)}
.forma-loop-frame[data-loop-style=shingles] a.forma-loop-tile:hover .forma-loop-name{text-decoration:none}
.forma-loop-frame[data-loop-style=shingles] a.forma-loop-tile:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media (prefers-reduced-motion:no-preference){
 .forma-loop-frame[data-loop-style=shingles] .forma-loop[data-loop-running] .forma-loop-item{animation:loop-sway 3.6s ease-in-out infinite alternate}
 .forma-loop-frame[data-loop-style=shingles] .forma-loop[data-loop-running] .forma-loop-item:nth-child(2n){animation-duration:4.4s;animation-delay:-1.3s}
 .forma-loop-frame[data-loop-style=shingles] .forma-loop[data-loop-running] .forma-loop-item:nth-child(3n){animation-duration:3.1s;animation-delay:-2.2s}
 .forma-loop-frame[data-loop-style=shingles] .forma-loop[data-loop-running] .forma-loop-item:is(:hover,:focus-within){animation-play-state:paused}
}
@keyframes loop-sway{from{rotate:-1.6deg}to{rotate:1.6deg}}
.forma-loop-frame[data-loop-style=shingles] .forma-loop-grid{position:relative;grid-template-columns:repeat(auto-fill,minmax(calc(var(--sign-w) + 24px),1fr));column-gap:0;row-gap:clamp(18px,2.6cqw,32px)}
.forma-loop-frame[data-loop-style=shingles] .forma-loop-grid .forma-loop-item{width:auto;padding-inline:12px;padding-top:calc(var(--hang) + 10px);background:linear-gradient(var(--rail),var(--rail)) 0 6px/100% 4px no-repeat}
.forma-loop-frame[data-loop-style=shingles] .forma-loop-grid[data-loop-rail=upper] .forma-loop-item{background-image:linear-gradient(var(--site-accent,currentColor),var(--site-accent,currentColor))}
.forma-loop-frame[data-loop-style=shingles] .forma-loop-grid .forma-loop-item::before,.forma-loop-frame[data-loop-style=shingles] .forma-loop-grid .forma-loop-item::after{top:8px;height:calc(var(--hang) + 2px)}
.forma-loop-frame[data-loop-style=shingles] .forma-loop-grid .forma-loop-item::before{left:calc(12px + 22%)}
.forma-loop-frame[data-loop-style=shingles] .forma-loop-grid .forma-loop-item::after{right:calc(12px + 22%)}

/* Honour Wall — the annual report: one band per tier under a rule and the tier's name, the featured
   tier's logos at full strength and every other logo quiet, at half strength by opacity alone, until the
   pointer or keyboard focus brings it to full strength in its own colours. A still grid; in the loop layout each tier's row moves at its own pace. */
.forma-gallery[data-loop-style=honour-wall] .forma-tier-bands{gap:clamp(30px,4.5cqw,60px)}
.forma-gallery[data-loop-style=honour-wall] .forma-tier-band{gap:clamp(12px,1.6cqw,20px);padding-top:clamp(12px,1.4cqw,18px);border-top:1px solid color-mix(in srgb,currentColor 34%,transparent)}
.forma-gallery[data-loop-style=honour-wall] .forma-tier-band[data-featured]{border-top:3px solid var(--site-accent,currentColor)}
.compose-section-surface[data-tone=brand] .forma-gallery[data-loop-style=honour-wall] .forma-tier-band[data-featured]{border-top-color:currentColor}
.forma-gallery[data-loop-style=honour-wall] .forma-tier-heading{font-family:var(--site-heading-font,inherit);font-size:clamp(19px,.9rem + 1cqw,28px);font-weight:700;letter-spacing:-.015em;line-height:1.15;opacity:.82}
.forma-gallery[data-loop-style=honour-wall] .forma-tier-band[data-featured] .forma-tier-heading{font-size:clamp(23px,1rem + 1.6cqw,38px);opacity:1}
.forma-loop-frame[data-loop-style=honour-wall]:not(.forma-tier-band .forma-loop-frame){padding-top:clamp(14px,1.6cqw,20px);border-top:1px solid color-mix(in srgb,currentColor 34%,transparent)}
.forma-loop-frame[data-loop-style=honour-wall] .forma-loop-grid{grid-template-columns:repeat(auto-fill,minmax(calc(var(--loop-height,88px)*1.9),1fr));gap:clamp(10px,1.6cqw,20px) clamp(20px,3cqw,40px);align-items:center}
.forma-tier-band[data-featured] .forma-loop-frame[data-loop-style=honour-wall] .forma-loop-grid{grid-template-columns:repeat(auto-fill,minmax(min(calc(var(--loop-height,88px)*2.4),calc(50% - 20px)),1fr))}
.forma-loop-frame[data-loop-style=honour-wall] .forma-loop-grid .forma-loop-item{width:auto}
.forma-loop-frame[data-loop-style=honour-wall] .forma-loop{padding-block:10px}
.forma-loop-frame[data-loop-style=honour-wall] .forma-loop-list{align-items:center;gap:clamp(24px,3.4cqw,52px);padding-inline-end:clamp(24px,3.4cqw,52px)}
.forma-loop-frame[data-loop-style=honour-wall] .forma-loop-item{width:calc(var(--loop-height,88px)*1.9*var(--loop-scale,1))}
.forma-loop-frame[data-loop-style=honour-wall] .forma-loop-art{--art-h:calc(var(--loop-height,88px)*var(--loop-scale,1));padding:6px 0;--art-pad-y:6px}
.forma-tier-band[data-featured] .forma-loop-frame[data-loop-style=honour-wall] .forma-loop-art{--art-h:calc(var(--loop-height,88px)*1.2*var(--loop-scale,1))}
.forma-loop-frame[data-loop-style=honour-wall] :is(.forma-loop-art img,.forma-monogram){opacity:.5;transition:opacity .45s ease}
.forma-loop-frame[data-loop-style=honour-wall] :is([data-featured],.forma-loop-tile:hover,a.forma-loop-tile:focus-visible) :is(.forma-loop-art img,.forma-monogram){opacity:1}
.forma-loop-frame[data-loop-style=honour-wall] .forma-loop-name{font-size:12.5px;font-weight:600;opacity:.75}
.forma-loop-frame[data-loop-style=honour-wall] a.forma-loop-tile:hover .forma-loop-name{opacity:1}
.forma-loop-frame[data-loop-style=honour-wall] .forma-loop-art{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.forma-loop-frame[data-loop-style=honour-wall] a.forma-loop-tile:is(:hover,:focus-visible) .forma-loop-art{transform:translateY(-3px) scale(1.05)}

/* Parade — a few large logos at a time, slow: the one passing the centre is lifted into a soft pool of
   the accent, scaled up, its name revealed beneath; the others wait, dimmed. Without the runtime every
   logo stands at rest with its name; under reduced motion the centre one stands lifted. */
.forma-loop-frame[data-loop-style=parade]{--parade-w:clamp(170px,22cqw,320px);--parade-h:calc(var(--loop-height,88px)*1.4*var(--loop-scale,1));--beam-w:clamp(240px,30cqw,520px);--beam-rise:clamp(36px,5cqw,84px);--beam-light:color-mix(in srgb,var(--site-accent,#365ee8) 16%,transparent);--route-w:clamp(360px,32vw,520px);--route-offset:clamp(150px,16vw,260px)}
.compose-section-surface:is([data-tone=ink],[data-tone=brand]) .forma-loop-frame[data-loop-style=parade]{--beam-light:rgb(255 255 255 / .17)}
.forma-loop-frame[data-loop-style=parade] .forma-loop{position:relative;z-index:1;padding-block:clamp(30px,4cqw,52px) clamp(30px,4.4cqw,56px);scrollbar-width:none}
/* The route is the Parade's grid break: a broad lit ribbon, wider than 25vw, entering from outside the
   Gallery's column. It stays composed at rest and under reduced motion. */
.forma-loop-route{display:none}
.forma-loop-frame[data-loop-style=parade]>.forma-loop-route{display:block;position:absolute;z-index:0;left:calc(-1*var(--route-offset));top:52%;width:var(--route-w);height:clamp(64px,7vw,104px);translate:0 -50%;transform:rotate(-7deg);clip-path:polygon(0 12%,100% 0,88% 100%,0 82%);background:linear-gradient(172deg,color-mix(in srgb,var(--site-accent,#365ee8) 8%,transparent) 0 22%,color-mix(in srgb,var(--site-accent,#365ee8) 34%,transparent) 22% 35%,color-mix(in srgb,var(--site-accent,#365ee8) 10%,transparent) 35% 64%,color-mix(in srgb,var(--site-accent,#365ee8) 30%,transparent) 64% 74%,transparent 74%);filter:drop-shadow(0 18px 24px rgb(7 16 31 / .15));pointer-events:none}
.compose-section-surface:is([data-tone=ink],[data-tone=brand]) .forma-loop-frame[data-loop-style=parade]>.forma-loop-route{background:linear-gradient(172deg,rgb(255 255 255 / .03) 0 22%,rgb(255 255 255 / .24) 22% 35%,rgb(255 255 255 / .05) 35% 64%,rgb(255 255 255 / .18) 64% 74%,transparent 74%)}
/* The light: a beam from above the band down onto the lit tile, wider than a quarter of the window and
   rising past the band's top edge; it moves with the lit tile and leans toward the pointer. */
.forma-loop-beam{display:none}
.forma-loop-frame[data-loop-style=parade][data-loop-centred]>.forma-loop-beam{display:block;position:absolute;z-index:0;left:var(--beam-x,50%);top:calc(-1*var(--beam-rise));width:var(--beam-w);height:calc(var(--beam-rise) + clamp(30px,4cqw,52px) + var(--parade-h)*1.3);translate:-50% 0;transform:rotate(var(--beam-lean,0deg));transform-origin:50% 0;clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);background:linear-gradient(180deg,var(--beam-light),color-mix(in srgb,var(--beam-light) 60%,transparent) 62%,transparent);pointer-events:none;transition:left .9s cubic-bezier(.2,.7,.2,1),transform .6s ease}
.forma-loop-frame[data-loop-style=parade] .forma-loop-list{align-items:center;gap:0;padding-inline-end:0}
.forma-loop-frame[data-loop-style=parade] .forma-loop-item{display:grid;justify-items:center;width:var(--parade-w)}
.forma-loop-frame[data-loop-style=parade] .forma-loop-tile{position:relative;isolation:isolate;width:82%;gap:14px;transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .9s ease}
.forma-loop-frame[data-loop-style=parade] .forma-loop-art{--art-h:var(--parade-h);padding:0}
.forma-loop-frame[data-loop-style=parade] [data-featured] .forma-loop-art{--art-h:calc(var(--parade-h)*1.18)}
.forma-loop-frame[data-loop-style=parade] .forma-loop-tile::before{content:"";position:absolute;z-index:-1;left:50%;top:42%;width:125%;aspect-ratio:2;translate:-50% -50%;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--site-accent,#365ee8) 30%,transparent),transparent);opacity:0;transition:opacity .9s ease}
.forma-loop-frame[data-loop-style=parade] .forma-loop-tile::after{content:"";position:absolute;z-index:-1;left:50%;top:calc(var(--parade-h) + 4px);width:72%;height:14px;translate:-50% 0;border-radius:50%;background:radial-gradient(closest-side,rgb(0 0 0 / .24),transparent);opacity:0;transition:opacity .9s ease}
.forma-loop-frame[data-loop-style=parade] .forma-loop-name{font-family:var(--site-heading-font,inherit);font-size:clamp(14px,.8rem + .4cqw,18px);font-weight:700;letter-spacing:-.01em;transition:opacity .7s ease,translate .7s ease}
.forma-loop-frame[data-loop-style=parade] a.forma-loop-tile:hover .forma-loop-name{text-decoration:none}
.forma-loop-frame[data-loop-style=parade][data-loop-centred] .forma-loop-tile{transform:scale(.84);opacity:.42}
.forma-loop-frame[data-loop-style=parade][data-loop-centred] .forma-loop-name{opacity:0;translate:0 8px}
.forma-loop-frame[data-loop-style=parade][data-loop-centred] [data-centre] .forma-loop-tile{transform:translateY(-8px) scale(1.14);opacity:1}
.forma-loop-frame[data-loop-style=parade][data-loop-centred] [data-centre] .forma-loop-tile::before,.forma-loop-frame[data-loop-style=parade][data-loop-centred] [data-centre] .forma-loop-tile::after{opacity:1}
.forma-loop-frame[data-loop-style=parade][data-loop-centred] [data-centre] .forma-loop-name{opacity:1;translate:0}
.forma-loop-frame[data-loop-style=parade][data-loop-centred] .forma-loop-item:not([data-centre]) a.forma-loop-tile:is(:hover,:focus-visible){transform:scale(.94);opacity:.9}
.forma-loop-frame[data-loop-style=parade] .forma-loop-grid{grid-template-columns:repeat(auto-fill,minmax(var(--parade-w),1fr));gap:clamp(20px,3cqw,40px);background:none}
.forma-loop-frame[data-loop-style=parade] .forma-loop-grid .forma-loop-item{width:auto}
.compose-section-surface:is([data-tone=ink],[data-tone=brand]) .forma-loop-frame[data-loop-style=parade] .forma-loop-tile::before{background:radial-gradient(closest-side,rgb(255 255 255 / .26),transparent)}
.compose-section-surface:is([data-tone=ink],[data-tone=brand]) .forma-loop-frame[data-loop-style=parade] .forma-loop-tile::after{background:radial-gradient(closest-side,rgb(0 0 0 / .4),transparent)}
.forma-loop-frame[data-loop-style=parade][data-loop-centred] [data-centre] a.forma-loop-tile:is(:hover,:focus-visible){transform:translateY(-12px) scale(1.2)}

/* Every control of the Parade and the Shingles answers the pointer, in whichever arrow and dot style. */
.forma-loop-frame:is([data-loop-style=parade],[data-loop-style=shingles])>.fs-controls .fs-arrow{transition:transform 180ms ease,background-color 160ms,border-color 160ms}
.forma-loop-frame:is([data-loop-style=parade],[data-loop-style=shingles])>.fs-controls .fs-arrow:hover{transform:scale(1.1)}
.forma-loop-frame:is([data-loop-style=parade],[data-loop-style=shingles])>.fs-controls .fs-dot::before{transition:opacity 160ms,width 200ms,border-radius 200ms,transform 180ms}
.forma-loop-frame:is([data-loop-style=parade],[data-loop-style=shingles])>.fs-controls .fs-dot:hover::before{transform:scale(1.35)}
@media (prefers-reduced-motion:reduce){.forma-loop-beam{transition:none!important}}

/* The Testimonials module. Colours follow the section it sits in until set; the accent is the site's. */
.forma-testimonials{--tm-ink:var(--tm-body-color,currentColor);--tm-mark:var(--tm-accent,var(--site-accent,#345ac3));--tm-surface:var(--tm-card,color-mix(in srgb,currentColor 5%,transparent));--tm-rule:color-mix(in srgb,currentColor 18%,transparent);position:relative;min-width:0;text-align:var(--tm-body-align,left)}
.forma-testimonials[hidden]{display:none}
.forma-testimonials *{box-sizing:border-box}
.forma-testimonials .tm-title{margin:0 0 clamp(20px,3vw,36px);font:600 clamp(26px,3.2vw,38px)/1.15 var(--site-heading-font,'Archivo',sans-serif);letter-spacing:-.02em;text-align:var(--tm-header-align,left);text-wrap:balance}
.forma-testimonials .tm-item{margin:0;min-width:0;display:flex;flex-direction:column;gap:18px;color:var(--tm-ink)}
.forma-testimonials .tm-words{margin:0;font-family:var(--tm-body-font,var(--site-body-font,'Work Sans',sans-serif));font-size:var(--tm-body-size,20px);font-weight:var(--tm-body-weight,400);font-style:var(--tm-body-style,normal);line-height:var(--tm-body-line-height,1.55);color:var(--tm-ink);text-align:var(--tm-body-align,left);overflow-wrap:anywhere}
.forma-testimonials .tm-words p{margin:0;max-width:68ch;text-wrap:pretty}
.forma-testimonials .tm-words p+p{margin-top:.7em}
.forma-testimonials[data-align=center] .tm-words p{margin-inline:auto}
.forma-testimonials[data-align=center] .tm-controls{justify-content:center}
.forma-testimonials[data-align=right] .tm-controls{justify-content:flex-end}
.forma-testimonials .tm-person{display:flex;align-items:center;gap:14px;min-width:0;justify-content:var(--tm-person-justify,flex-start)}
.forma-testimonials .tm-picture{flex:none;width:52px;height:52px;border-radius:50%;object-fit:cover;background:var(--tm-surface)}
.forma-testimonials .tm-initials{display:grid;place-items:center;font:600 17px/1 var(--site-heading-font,'Archivo',sans-serif);color:var(--tm-mark);background:color-mix(in srgb,var(--tm-mark) 12%,transparent)}
.forma-testimonials .tm-who{display:flex;flex-direction:column;gap:3px;min-width:0;text-align:var(--tm-header-align,left)}
.forma-testimonials .tm-name{font-family:var(--tm-header-font,var(--site-heading-font,'Archivo',sans-serif));font-size:var(--tm-header-size,18px);font-weight:var(--tm-header-weight,600);font-style:var(--tm-header-style,normal);line-height:var(--tm-header-line-height,1.3);color:var(--tm-header-color,inherit)}
.forma-testimonials .tm-role,.forma-testimonials .tm-date{font-size:max(13px,calc(var(--tm-body-size,20px)*.7));line-height:1.4;opacity:.78}
.forma-testimonials .tm-date{opacity:.66}
.forma-testimonials a.tm-link{color:var(--tm-link-color,var(--site-accent,#345ac3));opacity:1;text-decoration:var(--tm-link-decoration,underline);text-underline-offset:4px;text-decoration-thickness:1px;transition:text-decoration-thickness 150ms}
.forma-testimonials a.tm-link:hover{text-decoration-line:underline;text-decoration-thickness:2px}
.forma-testimonials :focus-visible{outline:2px solid var(--tm-mark);outline-offset:4px}
.forma-testimonials .tm-rating{margin:0;line-height:1}
.forma-testimonials .tm-stars{display:inline-flex;gap:2px;font-size:17px;letter-spacing:0}
.forma-testimonials .tm-star{color:var(--tm-mark);opacity:.22}
.forma-testimonials .tm-star-on{opacity:1}
.forma-testimonials .tm-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.forma-testimonials .tm-empty,.forma-testimonials-message{margin:0;padding:24px;border:1px dashed var(--tm-rule,color-mix(in srgb,currentColor 25%,transparent));border-radius:12px;font:15px/1.5 var(--site-body-font,'Work Sans',sans-serif)}
.forma-testimonials[data-align=center] .tm-person{--tm-person-justify:center;flex-direction:column;gap:10px}
.forma-testimonials[data-align=center] .tm-who{align-items:center}
.forma-testimonials[data-align=right] .tm-who{align-items:flex-end}
.forma-testimonials[data-align=right] .tm-person{--tm-person-justify:flex-end}
.forma-testimonials[data-picture=false] .tm-person{gap:0}

/* Cards: a field of equal voices. Columns are set for desktop, tablet and phone. */
.forma-testimonials[data-format=grid] .tm-list{display:grid;grid-template-columns:repeat(var(--tm-columns,3),minmax(0,1fr));gap:clamp(16px,2.2vw,28px);align-items:stretch}
.forma-testimonials[data-format=grid] .tm-item{background:var(--tm-surface);border-radius:min(var(--site-radius,16px),24px);padding:clamp(22px,2.6vw,32px)}
.forma-testimonials[data-format=grid] .tm-words{flex:1;font-size:min(var(--tm-body-size,20px),22px)}
.forma-testimonials[data-format=grid] .tm-person{padding-top:18px;border-top:1px solid var(--tm-rule)}

/* Statement: one testimonial set large, under the site's own quotation mark. */
.forma-testimonials[data-format=quote] .tm-item{gap:26px;max-width:62rem;margin-inline:auto}
.forma-testimonials[data-format=quote] .tm-words{position:relative;padding-top:1.25em;font-size:calc(var(--tm-body-size,20px)*1.5);line-height:min(var(--tm-body-line-height,1.55),1.38);letter-spacing:-.01em}
.forma-testimonials[data-format=quote] .tm-words::before{content:"\201C";position:absolute;inset-block-start:-.12em;inset-inline-start:0;font:700 3.4em/1 Georgia,'Times New Roman',serif;color:var(--tm-mark)}
.forma-testimonials[data-format=quote][data-align=center] .tm-words::before{inset-inline-start:50%;transform:translateX(-50%)}
.forma-testimonials[data-format=quote] .tm-picture{width:64px;height:64px}

/* Row: a quiet band of short voices, divided by hairlines; on a narrow screen it scrolls sideways. */
.forma-testimonials[data-format=row] .tm-list{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(min(260px,82%),1fr);overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:thin;padding-block:4px 10px}
.forma-testimonials[data-format=row] .tm-item{scroll-snap-align:start;padding-inline:clamp(18px,2.4vw,32px);border-inline-start:1px solid var(--tm-rule);gap:14px}
.forma-testimonials[data-format=row] .tm-item:first-child{border-inline-start:0;padding-inline-start:0}
.forma-testimonials[data-format=row] .tm-words{font-size:min(var(--tm-body-size,20px),18px)}
.forma-testimonials[data-format=row] .tm-picture{width:40px;height:40px}

/* Slider: one voice at a time on a snapped track; the controls sit beneath, never over the words. */
.forma-testimonials[data-format=slider] .tm-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:4px}
.forma-testimonials[data-format=slider] .tm-track::-webkit-scrollbar{display:none}
.forma-testimonials[data-format=slider] .tm-item{flex:0 0 100%;scroll-snap-align:start;padding:clamp(4px,1vw,8px) clamp(4px,4vw,64px);align-items:var(--tm-slide-align,stretch)}
.forma-testimonials[data-format=slider] .tm-words{position:relative;padding-top:1.1em}
.forma-testimonials[data-format=slider] .tm-words::before{content:"\201C";position:absolute;inset-block-start:-.08em;inset-inline-start:0;font:700 2.4em/1 Georgia,'Times New Roman',serif;color:var(--tm-mark)}
.forma-testimonials[data-format=slider][data-align=center] .tm-words::before{inset-inline-start:50%;transform:translateX(-50%)}
.forma-testimonials .tm-controls{display:flex;align-items:center;justify-content:flex-start;padding-inline:clamp(4px,4vw,64px);gap:14px;margin-top:clamp(18px,2.4vw,28px)}
.forma-testimonials .tm-arrow,.forma-testimonials .tm-play{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:50%;background:transparent;color:inherit;cursor:pointer;transition:background-color 160ms,border-color 160ms,color 160ms}
.forma-testimonials .tm-arrow:hover,.forma-testimonials .tm-play:hover{border-color:var(--tm-mark);background:color-mix(in srgb,var(--tm-mark) 12%,transparent)}
.forma-testimonials .tm-arrow:active,.forma-testimonials .tm-play:active{background:color-mix(in srgb,var(--tm-mark) 22%,transparent)}
.forma-testimonials .tm-play[hidden]{display:none}
.forma-testimonials .tm-play-mark{width:12px;height:12px;border-inline:3px solid currentColor;box-sizing:border-box}
.forma-testimonials .tm-play[data-state=paused] .tm-play-mark{border:0;border-block:6px solid transparent;border-inline-start:10px solid currentColor;width:0;height:0;margin-inline-start:3px}
.forma-testimonials .tm-dots{display:flex;align-items:center;gap:2px}
.forma-testimonials .tm-dot{display:grid;place-items:center;width:28px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;color:inherit}
.forma-testimonials .tm-dot::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor;opacity:.28;transition:opacity 160ms,width 200ms,border-radius 200ms,background-color 160ms}
.forma-testimonials .tm-dot:hover::before{opacity:.55}
.forma-testimonials .tm-dot[aria-current=true]::before{width:24px;border-radius:5px;opacity:1;background:var(--tm-mark)}
.forma-testimonials .tm-count{margin:0;min-width:5ch;text-align:center;font:600 14px/1 var(--site-body-font,'Work Sans',sans-serif);font-variant-numeric:tabular-nums}

@container (max-width:980px){
 .forma-testimonials .tm-words{font-size:var(--tm-body-tablet-size,var(--tm-body-size,20px))}
 .forma-testimonials .tm-name{font-size:var(--tm-header-tablet-size,var(--tm-header-size,18px))}
 .forma-testimonials[data-format=grid] .tm-list{grid-template-columns:repeat(var(--tm-tablet-columns,2),minmax(0,1fr))}
 .forma-testimonials[data-format=grid] .tm-words{font-size:min(var(--tm-body-tablet-size,var(--tm-body-size,20px)),21px)}
 .forma-testimonials[data-format=quote] .tm-words{font-size:calc(var(--tm-body-tablet-size,var(--tm-body-size,20px))*1.4)}
}
@container (max-width:600px){
 .forma-testimonials .tm-words{font-size:var(--tm-body-phone-size,17px)}
 .forma-testimonials .tm-name{font-size:var(--tm-header-phone-size,16px)}
 .forma-testimonials[data-format=grid] .tm-list{grid-template-columns:repeat(var(--tm-phone-columns,1),minmax(0,1fr))}
 .forma-testimonials[data-format=grid] .tm-words,.forma-testimonials[data-format=row] .tm-words{font-size:var(--tm-body-phone-size,17px)}
 .forma-testimonials[data-format=quote] .tm-words{font-size:calc(var(--tm-body-phone-size,17px)*1.3)}
 .forma-testimonials[data-format=slider] .tm-item{padding-inline:2px}
 .forma-testimonials .tm-controls{gap:8px;padding-inline:2px}
 .forma-testimonials .tm-picture{width:44px;height:44px}
}
@media (prefers-reduced-motion:reduce){
 .forma-testimonials[data-format=slider] .tm-track{scroll-behavior:auto}
 .forma-testimonials *{transition:none!important}
}

/* The shared slider (slider-runtime.mjs) on the Hero's slides and the Gallery's Slider design. The
   controls have the Testimonials slider's shape and draw in the ink of whatever they sit on. */
.fs-track{scroll-behavior:smooth}
.fs-track:focus-visible{outline:2px solid currentColor;outline-offset:-4px}
.fs-controls{display:flex;align-items:center;justify-content:center;gap:10px}
.fs-arrow,.fs-play{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid color-mix(in srgb,currentColor 38%,transparent);border-radius:50%;background:transparent;color:inherit;font:inherit;cursor:pointer;transition:background-color 160ms,border-color 160ms}
.fs-arrow:hover,.fs-play:hover{border-color:currentColor;background:color-mix(in srgb,currentColor 14%,transparent)}
.fs-arrow:active,.fs-play:active{background:color-mix(in srgb,currentColor 24%,transparent)}
.fs-arrow:focus-visible,.fs-play:focus-visible,.fs-dot:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.fs-play[hidden],.fs-dot[hidden]{display:none}
.fs-play-mark{width:12px;height:12px;border-inline:3px solid currentColor;box-sizing:border-box}
.fs-play[data-state=paused] .fs-play-mark{border:0;border-block:6px solid transparent;border-inline-start:10px solid currentColor;width:0;height:0;margin-inline-start:3px}
.fs-dots{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:2px}
.fs-dot{display:grid;place-items:center;width:28px;height:44px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}
.fs-dot::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor;opacity:.42;transition:opacity 160ms,width 200ms,border-radius 200ms}
.fs-dot:hover::before{opacity:.75}
.fs-dot[aria-current=true]::before{width:24px;border-radius:5px;opacity:1}
.fs-count{margin:0;min-width:5ch;text-align:center;font-size:14px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}

/* Arrow and dot styles (SliderSettings.arrowStyle, .dotStyle), one block for every slider that carries
   them: the Hero's slides, the Gallery's Slider and its Loop. Absent is Ring and Dots, above. */
.fs-controls[data-arrow-style=chevron] .fs-arrow{border-color:transparent;background:transparent;width:40px}
.fs-controls[data-arrow-style=chevron] .fs-chevron{width:28px;height:28px;transition:translate 180ms ease}
.fs-controls[data-arrow-style=chevron] .fs-arrow:hover{border-color:transparent;background:transparent}
.fs-controls[data-arrow-style=chevron] .fs-arrow:hover .fs-chevron{translate:-3px 0}
.fs-controls[data-arrow-style=chevron] .fs-arrow:last-child:hover .fs-chevron,.fs-controls[data-arrow-style=chevron] .fs-arrow[data-loop-step="1"]:hover .fs-chevron{translate:3px 0}
.fs-controls[data-arrow-style=disc] .fs-arrow{border:0;background:var(--site-accent,#365ee8);color:#fff;box-shadow:0 8px 18px -8px rgb(7 16 31 / .55);transition:transform 180ms ease,box-shadow 180ms ease}
.fs-controls[data-arrow-style=disc] .fs-arrow:hover{background:var(--site-accent,#365ee8);transform:scale(1.08);box-shadow:0 12px 22px -8px rgb(7 16 31 / .6)}
.fs-controls[data-arrow-style=disc] .fs-arrow:active{transform:scale(.96)}
/* On a ground of the accent itself, the disc turns white with the accent's chevron. */
.compose-section-surface[data-tone=brand] .fs-controls[data-arrow-style=disc] .fs-arrow{background:#fff;color:var(--site-accent,#365ee8)}
.fs-controls[data-arrow-style=bar] .fs-arrow{width:16px;height:56px;border-radius:999px}
.fs-controls[data-arrow-style=bar] .fs-chevron{width:14px;height:14px}
.fs-controls[data-dot-style=dashes] .fs-dot{width:30px}
.fs-controls[data-dot-style=dashes] .fs-dot::before{width:18px;height:3px;border-radius:2px}
.fs-controls[data-dot-style=dashes] .fs-dot[aria-current=true]::before{width:28px;border-radius:2px}
.fs-controls[data-dot-style=numbers] .fs-dots{counter-reset:fs-dot}
.fs-controls[data-dot-style=numbers] .fs-dot{width:auto;min-width:30px;padding-inline:4px}
/* Numbers: every number at full ink, so each one reads on its ground; the current one is marked by its
   weight and its underline, never by fading the others. */
.fs-controls[data-dot-style=numbers] .fs-dot::before{counter-increment:fs-dot;content:counter(fs-dot,decimal-leading-zero);width:auto;height:auto;padding-block:4px;border-radius:0;background:none;border-bottom:2px solid transparent;font-size:13px;font-weight:500;line-height:1;font-variant-numeric:tabular-nums;opacity:1}
.fs-controls[data-dot-style=numbers] .fs-dot:hover::before{opacity:1;border-bottom-color:color-mix(in srgb,currentColor 45%,transparent)}
.fs-controls[data-dot-style=numbers] .fs-dot[aria-current=true]::before{width:auto;border-radius:0;border-bottom-color:currentColor;font-weight:800}

/* The Hero's slides: each slide is a whole Hero (its own background, words, button and picture) on
   one snapped track. The controls float on a dark pill at the foot, below the words. */
.compose-hero-module[data-slides]{display:flex;flex-direction:column}
.compose-hero-track{display:flex;flex:1;min-height:inherit;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:inherit}
.compose-hero-track::-webkit-scrollbar{display:none}
.compose-hero-slide{position:relative;isolation:isolate;display:grid;flex:0 0 100%;min-width:0;min-height:inherit;scroll-snap-align:start;overflow:hidden}
.compose-hero-module[data-slides] .compose-hero-inner{padding-bottom:calc(clamp(36px,7cqw,92px) + 56px)}
/* width:max-content: a box at left:50% would otherwise shrink to half the Hero and wrap its dots. */
.compose-hero-module[data-slides]>.fs-controls{position:absolute;z-index:2;left:50%;bottom:clamp(12px,2.2cqw,24px);transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);padding:0 6px;border-radius:999px;background:rgb(7 16 31 / .66);color:#fff;box-shadow:0 6px 18px rgb(7 16 31 / .24)}
/* The track's keyboard ring: drawn by the Hero itself above the slides, which would cover an outline
   on the track. White on a dark halo, so it reads over a light or a dark picture. */
.compose-hero-track:focus-visible{outline:none}
.compose-hero-module:has(>.compose-hero-track:focus-visible)::after{content:'';position:absolute;inset:6px;z-index:3;border:2px solid #fff;border-radius:inherit;box-shadow:0 0 0 3px rgb(7 16 31 / .7),inset 0 0 0 3px rgb(7 16 31 / .7);pointer-events:none}
.compose-hero-module[data-transition=fade] .compose-hero-track{display:grid;grid-template-columns:100%;overflow:hidden;scroll-snap-type:none}
.compose-hero-module[data-transition=fade] .compose-hero-slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity 700ms ease,visibility 0s linear 700ms}
.compose-hero-module[data-transition=fade] .compose-hero-slide[data-current]{opacity:1;visibility:visible;transition:opacity 700ms ease,visibility 0s}
@container hero-module (max-width:600px){.compose-hero-module[data-slides] .compose-hero-inner{padding-bottom:94px}.compose-hero-module[data-slides]>.fs-controls{gap:4px;padding:0 2px}}

/* The Gallery's Slider design: one picture, or a row of them (Columns), on a snapped track. A row
   narrows to two pictures at tablet widths and one on a phone. */
.forma-gallery[data-design=slider] .fg-slider-track{--fg-per-view:var(--fg-columns,1);display:flex;gap:var(--fg-gap,16px);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.forma-gallery[data-design=slider] .fg-slider-track::-webkit-scrollbar{display:none}
.forma-gallery[data-design=slider] .fg-slide{flex:0 0 calc((100% - (var(--fg-per-view) - 1) * var(--fg-gap,16px)) / var(--fg-per-view));scroll-snap-align:start}
.forma-gallery[data-design=slider] .fg-plate{display:none}
.forma-gallery[data-design=slider] .fs-controls{margin-top:clamp(16px,2.4cqw,28px)}
.forma-gallery[data-design=slider][data-transition=fade] .fg-slider-track{display:grid;grid-template-columns:100%;overflow:hidden;scroll-snap-type:none}
.forma-gallery[data-design=slider][data-transition=fade] .fg-slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity 700ms ease,visibility 0s linear 700ms}
.forma-gallery[data-design=slider][data-transition=fade] .fg-slide[data-current]{opacity:1;visibility:visible;transition:opacity 700ms ease,visibility 0s}
@container forma-gallery (max-width:700px){.forma-gallery[data-design=slider] .fg-slider-track{--fg-per-view:min(var(--fg-columns,1),2)}}
@container forma-gallery (max-width:460px){.forma-gallery[data-design=slider] .fg-slider-track{--fg-per-view:1}}

/* The Slider's Rail: each picture a card with its title and its category under it, and category pills
   above the row that filter it (gallery-runtime.mjs). Without JavaScript the pills are not drawn and the
   row is a plain snapping row. */
.forma-gallery[data-rail] .fg-card{margin:14px 0 0}
.forma-gallery[data-rail] .fg-card h3{margin:0;font:600 clamp(16px,1.9cqw,21px)/1.3 var(--site-heading-font,inherit);font-style:normal;letter-spacing:0}
.forma-gallery[data-rail] .fg-card .fg-card-category{margin:6px 0 0;font-size:14px;line-height:1.4;opacity:.78}
.forma-gallery[data-rail] .fg-pills{gap:8px;flex-wrap:wrap;margin:0 0 clamp(16px,2.4cqw,28px)}
.forma-gallery[data-rail] .fg-pills button{border-radius:999px;padding:10px 18px}
.forma-gallery[data-rail] .fg-slide[hidden]{display:none}

/* A linked picture leads somewhere rather than opening the viewer. */
.forma-gallery .fg-link{cursor:pointer}

@media (prefers-reduced-motion:reduce){
 .fs-track{scroll-behavior:auto}
 .fs-arrow,.fs-play,.fs-dot::before,.fs-chevron,.compose-hero-slide,.forma-gallery[data-design=slider] .fg-slide{transition:none!important}
}

/*
 * The Feature module. One module, six designed formats. Colours follow the section it sits in until
 * set; corners follow the site's radius; the accent is the site's. Tablet and phone values are the
 * section's container widths (980px and 600px), the same breakpoints every module keeps.
 */
.ft{--ft-ink:var(--ft-body-color,currentColor);--ft-rule:color-mix(in srgb,currentColor 16%,transparent);--ft-soft:color-mix(in srgb,currentColor 4%,transparent);--ft-radius:var(--ft-image-radius,var(--site-radius,20px));--ft-gap:clamp(20px,2.6vw,36px);position:relative;min-width:0}
.ft *{box-sizing:border-box}
.ft-list{display:grid;gap:var(--ft-gap);min-width:0}
.ft[data-format=blurb] .ft-list,.ft[data-format=card] .ft-list,.ft[data-format=team] .ft-list,.ft[data-format=reveal] .ft-list{grid-template-columns:repeat(min(var(--ft-columns,3),var(--ft-count,3)),minmax(0,1fr))}
.ft-item{position:relative;min-width:0;display:flex;flex-direction:column;color:var(--ft-ink)}
/* A grid entry keeps a designed measure: alone in a wide section it centres rather than stretching its picture across the page. */
.ft[data-format=blurb] .ft-item{width:100%;max-width:36rem;justify-self:center}.ft[data-format=card] .ft-item,.ft[data-format=reveal] .ft-item{width:100%;max-width:40rem;justify-self:center}.ft[data-format=team] .ft-item{width:100%;max-width:26rem;justify-self:center}
.ft-words{display:flex;flex-direction:column;min-width:0;text-align:var(--ft-body-align,center)}
.ft-more,.ft-more-inner{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0}

/* Words. Header is the heading; the second line is a quiet caption or role under it; Body is the rich text. */
.ft-heading{margin:0;font-family:var(--ft-header-font,var(--site-heading-font,'Archivo',sans-serif));font-size:var(--ft-header-size,24px);font-weight:var(--ft-header-weight,600);line-height:var(--ft-header-line-height,1.2);letter-spacing:-.012em;color:var(--ft-header-color,inherit);text-align:var(--ft-header-align,center);text-wrap:balance;overflow-wrap:anywhere}
.ft-line{margin:.55em 0 0;font-family:var(--ft-body-font,var(--site-body-font,'Work Sans',sans-serif));font-size:max(12px,calc(var(--ft-body-size,16px)*.8));font-weight:600;line-height:1.35;letter-spacing:.07em;text-transform:uppercase;opacity:.74;text-align:var(--ft-header-align,center);overflow-wrap:anywhere}
.ft-body{margin-top:.85em;min-width:0}
.ft-more-inner>.ft-body:first-child{margin-top:.7em}
.ft-body .compose-text{font-family:var(--ft-body-font,var(--site-body-font,inherit));font-size:var(--ft-body-size,16px);font-weight:var(--ft-body-weight,400);line-height:var(--ft-body-line-height,1.6);color:var(--ft-body-color,inherit);text-align:var(--ft-body-align,center);white-space:normal;text-wrap:pretty}
.ft-body .compose-rich a{color:var(--ft-link-color,var(--site-accent,currentColor));text-decoration-line:var(--ft-link-decoration,underline)}
.ft-action{margin:1.25em 0 0;display:flex;justify-content:var(--ft-button-justify,center)}
.ft-action .ft-button{border-radius:var(--ft-button-radius,8px)}
.ft-action .ft-button[data-full-width=true]{width:100%}

/* Pictures. A frame holds the picture at the chosen ratio; corners follow the site until set. */
.ft-picture{position:relative;margin:0;overflow:hidden;border-radius:var(--ft-radius);background:var(--ft-soft)}
.ft-picture img{display:block;width:100%;height:100%;object-fit:var(--ft-image-fit,cover);object-position:var(--ft-image-position,50% 50%)}
.ft-picture[data-ratio=landscape]{aspect-ratio:16/10}.ft-picture[data-ratio=square]{aspect-ratio:1}.ft-picture[data-ratio=portrait]{aspect-ratio:4/5}
.ft-picture[data-ratio=original] img{height:auto}
.ft-picture-empty{border:1px dashed var(--ft-rule);background:repeating-linear-gradient(135deg,var(--ft-soft) 0 10px,transparent 10px 20px)}
.ft-picture-empty:not([data-ratio]),.ft-picture-empty[data-ratio=original]{aspect-ratio:16/10}

/* Blurb: the picture above, set to its share of the entry and centred; the words beneath it. */
.ft[data-format=blurb] .ft-item{align-items:stretch}
.ft[data-format=blurb] .ft-picture{width:var(--ft-image-width,56%);margin:0 auto 22px}
.ft[data-format=blurb] .ft-item:not([data-picture]) .ft-words{padding-top:6px;border-top:2px solid var(--ft-rule)}

/* Card: one bordered surface with the site's corners; the picture runs to its edges, the button sits at its foot. */
.ft[data-format=card] .ft-item,.ft[data-format=team] .ft-item{overflow:hidden;border:1px solid var(--ft-rule);border-radius:var(--site-radius,20px);background:var(--ft-card,var(--ft-soft))}
.ft[data-format=card] .ft-picture{border-radius:0;flex:none}
.ft[data-format=card] .ft-words{flex:1;padding:clamp(20px,2.4vw,28px)}
.ft[data-format=card] .ft-action{margin-top:auto;padding-top:1.4em}

/* Team: a portrait inset in its card, the name, the role in small capitals, then a few words. */
.ft[data-format=team] .ft-item{padding:clamp(16px,1.8vw,22px) clamp(16px,1.8vw,22px) clamp(22px,2.4vw,30px)}
.ft[data-format=team] .ft-picture{margin-bottom:20px;border-radius:calc(var(--ft-radius) * .7)}
.ft[data-format=team] .ft-line{margin-top:.4em;opacity:.8}
.ft[data-format=team] .ft-action{margin-top:auto;padding-top:1.2em}
.ft[data-format=team] .ft-words{flex:1}

/* Side by Side: each entry is a row, the picture on its chosen side at its share; float carries it past the edge. */
.ft[data-format=side] .ft-list{gap:clamp(40px,6vw,88px)}
.ft[data-format=side] .ft-item{display:grid;grid-template-columns:minmax(0,var(--ft-image-width,46%)) minmax(0,1fr);align-items:center;column-gap:clamp(28px,5vw,72px)}
.ft[data-format=side] .ft-item:not([data-picture]){grid-template-columns:minmax(0,1fr)}
.ft[data-format=side][data-side=right] .ft-item{grid-template-columns:minmax(0,1fr) minmax(0,var(--ft-image-width,46%))}
.ft[data-format=side][data-side=right] .ft-picture{order:2}
.ft[data-format=side] .ft-words{text-align:var(--ft-body-align,left)}
.ft[data-format=side][data-float][data-side=left] .ft-picture{margin-left:calc(var(--ft-float) * -1)}
.ft[data-format=side][data-float][data-side=right] .ft-picture{margin-right:calc(var(--ft-float) * -1)}
.ft[data-format=side][data-float] .ft-picture{box-shadow:0 28px 60px -28px rgb(16 28 52 / .45)}
.ft[data-format=side][data-drift] .ft-picture{animation:ft-drift 7s ease-in-out infinite alternate}
@keyframes ft-drift{from{transform:translate3d(0,-8px,0)}to{transform:translate3d(0,10px,0)}}

/* Call to Action: one band over a colour, a gradient or the entry's picture under a shade. */
.ft[data-format=cta] .ft-item{isolation:isolate;overflow:hidden;align-items:center;padding:clamp(48px,7vw,104px) clamp(24px,6vw,88px);border-radius:var(--module-edge-radius,0);background:var(--ft-ground,var(--site-accent,#345ac3));color:var(--ft-ground-ink,#fff)}
/* Paired CTAs share their row's height, so two picture panels meet cleanly without a blank tail. */
.compose-column-content:has(>.compose-item-feature:only-child .ft[data-format=cta]){height:100%}
.compose-column-content:has(>.compose-item-feature:only-child .ft[data-format=cta])>.compose-item-feature:only-child,.compose-column-content:has(>.compose-item-feature:only-child .ft[data-format=cta])>.compose-item-feature:only-child>.compose-module-content,.compose-column-content:has(>.compose-item-feature:only-child .ft[data-format=cta]) .ft[data-format=cta],.compose-column-content:has(>.compose-item-feature:only-child .ft[data-format=cta]) .ft[data-format=cta]>.ft-list,.compose-column-content:has(>.compose-item-feature:only-child .ft[data-format=cta]) .ft[data-format=cta]>.ft-list>.ft-item{height:100%}
.ft[data-format=cta] .ft-words{width:min(100%,46rem);margin-inline:auto}
.ft[data-format=cta] .ft-heading{font-size:calc(var(--ft-header-size,24px) * 1.5);color:var(--ft-header-color,var(--ft-ground-ink,#fff))}
.ft[data-format=cta] .ft-body .compose-text,.ft[data-format=cta] .ft-line{color:var(--ft-body-color,var(--ft-ground-ink,#fff))}
.ft[data-format=cta] .ft-body .compose-rich a{color:var(--ft-link-color,currentColor)}
.ft-ground-picture{position:absolute;inset:0;z-index:-1}
.ft-ground-picture img{width:100%;height:100%;object-fit:var(--ft-image-fit,cover);object-position:var(--ft-image-position,50% 50%);display:block}
.ft-ground-picture::after{content:'';position:absolute;inset:0;background:rgb(10 18 34 / var(--ft-shade,.55))}
/* A wash in place of the shade: its own colour, angle and strengths (feature.mjs, featureCss). */
.ft[data-wash] .ft-ground-picture::after{background:var(--ft-wash)}
.ft[data-format=cta] .compose-button[data-variant=solid][data-background=inherit]{background:var(--ft-ground-ink,#fff)}
.ft[data-format=cta] .compose-button[data-variant=solid][data-background=inherit][data-color=inherit]{color:var(--ft-ground-on-ink,#14223b)}
.ft[data-format=cta] .compose-button:is([data-variant=outline],[data-variant=text])[data-color=inherit]{color:var(--ft-ground-ink,#fff)}
.ft[data-format=cta] .compose-button[data-variant=outline][data-background=inherit]{box-shadow:inset 0 0 0 1.5px var(--ft-ground-ink,#fff)}

/* Reveal: the picture alone; its words rise on hover or focus. Touch, and anything without a fine pointer, always shows them. */
.ft[data-format=reveal] .ft-item{overflow:hidden;border-radius:var(--ft-radius);background:#14223b;color:#fff}
.ft[data-format=reveal] .ft-picture{border-radius:0}
.ft[data-format=reveal] .ft-item:not([data-picture]){min-height:220px}
.ft[data-format=reveal] .ft-words{position:absolute;inset:auto 0 0;padding:clamp(18px,2.4vw,28px);padding-top:clamp(56px,7vw,96px);background:linear-gradient(180deg,rgb(10 18 34 / 0),rgb(10 18 34 / .72) 38%,rgb(10 18 34 / .9));text-align:var(--ft-body-align,left)}
.ft[data-format=reveal] :is(.ft-more,.ft-more-inner){flex:none}
.ft[data-format=reveal] .ft-item:not([data-picture]) .ft-words{position:relative;padding-top:clamp(18px,2.4vw,28px);background:none}
.ft[data-format=reveal] .ft-heading{color:var(--ft-header-color,#fff)}
.ft[data-format=reveal] .ft-body .compose-text,.ft[data-format=reveal] .ft-line{color:var(--ft-body-color,#fff)}
.ft[data-format=reveal] .ft-body .compose-rich a{color:var(--ft-link-color,#fff)}
.ft[data-format=reveal] .compose-button[data-variant=solid][data-background=inherit]{background:#fff}
.ft[data-format=reveal] .compose-button[data-variant=solid][data-background=inherit][data-color=inherit]{color:#14223b}
.ft[data-format=reveal] .compose-button:is([data-variant=outline],[data-variant=text])[data-color=inherit]{color:#fff}
.ft[data-format=reveal] .compose-button[data-variant=outline][data-background=inherit]{box-shadow:inset 0 0 0 1.5px #fff}
.ft[data-format=reveal] .ft-item:focus-visible{outline:3px solid var(--site-accent,#345ac3);outline-offset:3px}
@media (hover:hover) and (pointer:fine){
 .ft[data-format=reveal]:not([data-editing]) .ft-item[data-picture] .ft-more{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .34s cubic-bezier(.2,.7,.2,1),opacity .24s ease}
 .ft[data-format=reveal]:not([data-editing]) .ft-item[data-picture] .ft-more-inner{overflow:hidden}
 .ft[data-format=reveal]:not([data-editing]) .ft-item[data-picture]:is(:hover,:focus-within) .ft-more{grid-template-rows:1fr;opacity:1}
 .ft[data-format=reveal]:not([data-editing]) .ft-item[data-picture] img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
 .ft[data-format=reveal]:not([data-editing]) .ft-item[data-picture]:is(:hover,:focus-within) img{transform:scale(1.04)}
}

/* The canvas: an empty field shows what it is for. */
.ft[data-editing] :is(.ft-heading,.ft-line,.compose-text,.ft-button>span):empty::before{content:attr(data-placeholder);opacity:.45}

/* Edge: Border & Shadow wears each entry's surface (the picture in Side by Side). */
.compose-item-feature[data-edge~=border] .ft:not([data-format=side],[data-format=blurb]) .ft-item,.compose-item-feature[data-edge~=border] .ft:is([data-format=side],[data-format=blurb]) .ft-picture{border:var(--module-edge-border)}
.compose-item-feature[data-edge~=shadow] .ft:not([data-format=side],[data-format=blurb]) .ft-item,.compose-item-feature[data-edge~=shadow] .ft:is([data-format=side],[data-format=blurb]) .ft-picture{box-shadow:var(--module-edge-shadow)}
.compose-item-feature[data-edge~=radius] .ft:not([data-format=side],[data-format=blurb]) .ft-item{border-radius:var(--module-edge-radius)}

/* The kicker: the small line above an entry's heading, in Site Style's Label face when it names one. */
.ft-kicker{margin:0 0 .7em;font-family:var(--ft-kicker-font,var(--site-label-font,inherit));font-size:var(--ft-kicker-size,13px);font-weight:var(--ft-kicker-weight,600);line-height:var(--ft-kicker-line-height,1.4);color:var(--ft-kicker-color,inherit);text-align:var(--ft-kicker-align,var(--ft-header-align,center));text-transform:uppercase;letter-spacing:.16em;overflow-wrap:anywhere}
.ft[data-format=cta] .ft-kicker{color:var(--ft-kicker-color,var(--ft-ground-ink,#fff))}
.ft[data-format=reveal] .ft-kicker{color:var(--ft-kicker-color,#fff)}
/* Tablet. */
@container (max-width:980px){
 .ft-kicker{font-size:var(--ft-kicker-tablet-size,var(--ft-kicker-size,13px))}
 .ft{--ft-gap:clamp(18px,3vw,28px)}
 .ft[data-format=blurb] .ft-list,.ft[data-format=card] .ft-list,.ft[data-format=team] .ft-list,.ft[data-format=reveal] .ft-list{grid-template-columns:repeat(min(var(--ft-tablet-columns,2),var(--ft-count,2)),minmax(0,1fr))}
 .ft-heading{font-size:var(--ft-header-tablet-size,var(--ft-header-size,24px))}
 .ft[data-format=cta] .ft-heading{font-size:calc(var(--ft-header-tablet-size,var(--ft-header-size,24px)) * 1.35)}
 .ft-body .compose-text{font-size:var(--ft-body-tablet-size,var(--ft-body-size,16px))}
 .ft[data-format=side][data-float][data-side=left] .ft-picture{margin-left:calc(var(--ft-float) * -.5)}
 .ft[data-format=side][data-float][data-side=right] .ft-picture{margin-right:calc(var(--ft-float) * -.5)}
}
/* Phone: grids take the phone columns, Side by Side stacks with the picture first and no float. */
@container (max-width:600px){
 .ft[data-format=blurb] .ft-list,.ft[data-format=card] .ft-list,.ft[data-format=team] .ft-list,.ft[data-format=reveal] .ft-list{grid-template-columns:repeat(min(var(--ft-phone-columns,1),var(--ft-count,1)),minmax(0,1fr))}
 .ft-heading{font-size:var(--ft-header-phone-size,20px)}
 .ft-kicker{font-size:var(--ft-kicker-phone-size,12px)}
 .ft[data-format=cta] .ft-heading{font-size:calc(var(--ft-header-phone-size,20px) * 1.25)}
 .ft-body .compose-text{font-size:var(--ft-body-phone-size,15px)}
 .ft[data-format=side] .ft-item,.ft[data-format=side][data-side=right] .ft-item{grid-template-columns:minmax(0,1fr);row-gap:22px}
 .ft[data-format=side][data-side=right] .ft-picture{order:0}
 .ft[data-format=side][data-float][data-side] .ft-picture{margin:0}
 .ft[data-format=blurb] .ft-picture{width:min(100%,calc(var(--ft-image-width,56%) * 1.2))}
 .ft[data-format=cta] .ft-item{padding:44px 22px}
 .ft[data-format=team] .ft-picture{width:min(100%,280px);margin-inline:auto}
}
@media (prefers-reduced-motion:reduce){
 .ft[data-format=side][data-drift] .ft-picture{animation:none}
 .ft[data-format=reveal]:not([data-editing]) .ft-item[data-picture] :is(.ft-more,img){transition:none}
}

/* The Steps module. Words follow the section they sit in until set; the marks wear the site accent
   until set. Tablet and phone are the site's own widths (forma-site), so the canvas at a device width
   and the public page agree. The line is decoration: the list's own order carries the sequence. */
.forma-steps{--st-m:var(--st-mark-size,48px);--st-fill:var(--st-mark-fill,var(--site-accent,#345ac3));--st-on-fill:var(--st-mark-ink,#ffffff);--st-rule:var(--st-line-color,color-mix(in srgb,currentColor 26%,transparent));--st-space:var(--st-gap,40px);--st-pad:clamp(18px,2.2vw,28px);--st-breath:8px;position:relative;min-width:0}
.forma-steps *{box-sizing:border-box}
.forma-steps .st-list{list-style:none;margin:0;padding:0;display:grid;min-width:0}
.forma-steps .st-item{position:relative;min-width:0;margin:0}
.forma-steps .st-rail{position:relative;display:flex;align-items:flex-start;justify-content:center;min-width:0}
.forma-steps .st-content{min-width:0}
.forma-steps .st-text{min-width:0}

/* The mark: a disc by default; ring, square and a bare numeral as settings. */
.forma-steps .st-mark{position:relative;z-index:1;display:inline-grid;place-items:center;flex:none;min-width:var(--st-m);height:var(--st-m);padding-inline:.18em;border-radius:999px;background:var(--st-fill);color:var(--st-on-fill);font:700 calc(var(--st-m)*.38)/1 var(--site-heading-font,'Archivo',sans-serif);letter-spacing:.01em;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap;box-shadow:0 0 0 calc(var(--st-m)*.09) color-mix(in srgb,var(--st-fill) 16%,transparent)}
.forma-steps[data-mark=ring] .st-mark{background:var(--site-bg,transparent);color:var(--st-fill);border:max(2px,calc(var(--st-m)*.06)) solid var(--st-fill);box-shadow:none}
.forma-steps[data-mark=square] .st-mark{border-radius:calc(var(--st-m)*.24);box-shadow:none}
.forma-steps[data-mark=numeral] .st-mark{min-width:0;height:auto;padding:0;background:none;box-shadow:none;color:var(--st-fill);font-size:calc(var(--st-m)*.82);font-weight:800;letter-spacing:-.03em}

/* The words: Header is the step's heading, Body its words, through the text module's own variables. */
.forma-steps .st-heading{margin:0;font-family:var(--st-header-font,var(--site-heading-font,'Archivo',sans-serif));font-size:var(--st-header-size,22px);font-weight:var(--st-header-weight,600);line-height:var(--st-header-line-height,1.25);color:var(--st-header-color,inherit);text-align:var(--st-header-align,left);letter-spacing:-.01em;text-wrap:balance;overflow-wrap:anywhere}
.forma-steps .st-words{--module-font-size:var(--st-body-size,16px);--module-tablet-font-size:var(--st-body-tablet-size,var(--st-body-size,16px));--module-mobile-font-size:var(--st-body-phone-size,15px);--module-weight:var(--st-body-weight,400);--module-line-height:var(--st-body-line-height,1.6);--module-text-align:var(--st-body-align,left);--module-color:var(--st-body-color,inherit);--module-font-family:var(--st-body-font,var(--site-body-font,inherit));--module-link-color:var(--st-link-color,var(--site-accent,currentColor));--module-link-decoration:var(--st-link-decoration,underline)}
.forma-steps .st-heading+.st-words{margin-top:.6em}
/* The kicker: the small line above a step's heading, in Site Style's Label face when it names one. */
.forma-steps .st-kicker{margin:0 0 .6em;font-family:var(--st-kicker-font,var(--site-label-font,inherit));font-size:var(--st-kicker-size,13px);font-weight:var(--st-kicker-weight,600);line-height:var(--st-kicker-line-height,1.4);color:var(--st-kicker-color,inherit);text-align:var(--st-kicker-align,var(--st-header-align,left));text-transform:uppercase;letter-spacing:.16em;overflow-wrap:anywhere}
.forma-steps .st-words .compose-text{text-wrap:pretty}
.forma-steps[data-editing] [data-placeholder]:empty::before{content:attr(data-placeholder);opacity:.45}

/* The picture: its frame, fit and corners from Image; its width a share of the step. */
.forma-steps .st-picture{margin:0 0 18px;width:var(--st-image-width,100%);max-width:100%;overflow:hidden;border-radius:var(--st-image-radius,min(var(--site-radius,16px),18px));background:color-mix(in srgb,currentColor 6%,transparent)}
.forma-steps[data-align=center] .st-picture{margin-inline:auto}
.forma-steps[data-align=right] .st-picture{margin-inline-start:auto}
.forma-steps .st-picture[data-ratio=landscape]{aspect-ratio:3/2}
.forma-steps .st-picture[data-ratio=square]{aspect-ratio:1}
.forma-steps .st-picture[data-ratio=portrait]{aspect-ratio:4/5}
.forma-steps .st-picture img{display:block;width:100%;height:100%;object-fit:var(--st-image-fit,cover);object-position:var(--st-image-position,50% 50%)}
.forma-steps .st-picture[data-ratio=original] img{height:auto}

/* A step background, when set, makes each step's words a panel. Cards always are. */
.forma-steps[data-card]:not([data-format=cards]) .st-content{padding:var(--st-pad);background:var(--st-card);border-radius:min(var(--site-radius,16px),22px)}

/* The connecting line: one segment per step, from beneath its mark to the next mark. */
.forma-steps .st-rail::after{content:none;position:absolute;pointer-events:none}
.forma-steps .st-item[data-last] .st-rail::after{content:none!important}

/* Timeline: the line down one side, or (desktop) down the middle with the steps alternating. */
.forma-steps[data-format=timeline] .st-item{display:grid;grid-template-columns:var(--st-m) minmax(0,1fr);column-gap:clamp(16px,2.6vw,36px);padding-block-end:var(--st-space)}
.forma-steps[data-format=timeline] .st-item[data-last]{padding-block-end:0}
.forma-steps[data-format=timeline] .st-rail{grid-column:1;grid-row:1}
.forma-steps[data-format=timeline] .st-content{grid-column:2;grid-row:1;padding-block-start:max(0px,calc(var(--st-m)/2 - var(--st-header-size,22px)*.66))}
.forma-steps[data-format=timeline][data-card] .st-content{padding-block-start:var(--st-pad)}
.forma-steps:is([data-format=timeline],[data-format=row]) .st-rail::after{content:"";inset-block:calc(var(--st-m) + var(--st-breath)) calc(var(--st-space)*-1 + var(--st-breath));inset-inline-start:50%;width:0;border-inline-start:var(--st-line-width,2px) var(--st-line-style,solid) var(--st-rule);transform:translateX(-50%)}
.forma-steps[data-mark=numeral]:is([data-format=timeline],[data-format=row]) .st-rail::after{inset-block-start:calc(var(--st-m)*.9 + var(--st-breath))}
@container forma-site (width > 980px){
 .forma-steps[data-format=timeline][data-side=alternate] .st-item{grid-template-columns:minmax(0,1fr) var(--st-m) minmax(0,1fr)}
 .forma-steps[data-format=timeline][data-side=alternate] .st-rail{grid-column:2}
 .forma-steps[data-format=timeline][data-side=alternate] .st-item[data-side=start] .st-content{grid-column:1}
 .forma-steps[data-format=timeline][data-side=alternate] .st-item[data-side=end] .st-content{grid-column:3}
 /* A left-set step faces the line: its words set to the right, its picture against the line. */
 .forma-steps[data-format=timeline][data-side=alternate][data-align=left] .st-item[data-side=start] .st-content{--st-header-align:right;--st-body-align:right}
 .forma-steps[data-format=timeline][data-side=alternate][data-align=left] .st-item[data-side=start] .st-picture{margin-inline-start:auto}
}

/* Numbered: a column of steps, each its number beside its words, hairlines between. */
.forma-steps[data-format=numbered] .st-item{display:grid;grid-template-columns:var(--st-m) minmax(0,1fr);column-gap:clamp(16px,2.4vw,32px);padding-block:calc(var(--st-space)/2);border-block-start:1px solid color-mix(in srgb,currentColor 14%,transparent)}
.forma-steps[data-format=numbered] .st-item:first-child{border-block-start:0;padding-block-start:0}
.forma-steps[data-format=numbered] .st-item[data-last]{padding-block-end:0}
.forma-steps[data-format=numbered] .st-content{padding-block-start:max(0px,calc(var(--st-m)/2 - var(--st-header-size,22px)*.66))}
.forma-steps[data-format=numbered][data-card] .st-content{padding-block-start:var(--st-pad)}

/* Row: the steps across, joined through their marks where they share one line. */
.forma-steps[data-format=row] .st-list{grid-template-columns:repeat(var(--st-columns,3),minmax(0,1fr));gap:var(--st-space)}
.forma-steps[data-format=row] .st-item{display:flex;flex-direction:column;gap:20px}
.forma-steps[data-format=row] .st-rail{justify-content:flex-start}
.forma-steps[data-format=row][data-align=center] .st-rail{justify-content:center}
.forma-steps[data-format=row][data-align=right] .st-rail{justify-content:flex-end}
.forma-steps[data-format=row] .st-rail::after{content:none}
.forma-steps[data-format=row] .st-rail{--st-across:calc(var(--st-m) + var(--st-breath))}
@container forma-site (width > 980px){
 .forma-steps[data-format=row][data-line-desktop] .st-rail::after{content:"";inset-block:calc(var(--st-m)/2) auto;inset-inline:var(--st-across) calc(var(--st-space)*-1 + var(--st-breath));width:auto;height:0;border-inline-start:0;border-block-start:var(--st-line-width,2px) var(--st-line-style,solid) var(--st-rule);transform:translateY(-50%)}
 .forma-steps[data-format=row][data-line-desktop][data-align=center] .st-rail::after{inset-inline:calc(50% + var(--st-m)/2 + var(--st-breath)) calc(-50% - var(--st-space) + var(--st-m)/2 + var(--st-breath))}
}
@container forma-site (600px < width <= 980px){
 .forma-steps[data-format=row][data-line-tablet] .st-rail::after{content:"";inset-block:calc(var(--st-m)/2) auto;inset-inline:var(--st-across) calc(var(--st-space)*-1 + var(--st-breath));width:auto;height:0;border-inline-start:0;border-block-start:var(--st-line-width,2px) var(--st-line-style,solid) var(--st-rule);transform:translateY(-50%)}
 .forma-steps[data-format=row][data-line-tablet][data-align=center] .st-rail::after{inset-inline:calc(50% + var(--st-m)/2 + var(--st-breath)) calc(-50% - var(--st-space) + var(--st-m)/2 + var(--st-breath))}
}

/* Cards: each step its own card, the picture across its top. */
.forma-steps[data-format=cards] .st-list{grid-template-columns:repeat(var(--st-columns,3),minmax(0,1fr));gap:var(--st-space);align-items:stretch}
.forma-steps[data-format=cards] .st-item{display:flex;flex-direction:column;gap:18px;padding:var(--st-pad);background:var(--st-card,color-mix(in srgb,currentColor 5%,transparent));border-radius:min(var(--site-radius,16px),24px);overflow:hidden}
.forma-steps[data-format=cards] .st-content{display:contents}
.forma-steps[data-format=cards] .st-rail{justify-content:flex-start}
.forma-steps[data-format=cards][data-align=center] .st-rail{justify-content:center}
.forma-steps[data-format=cards][data-align=right] .st-rail{justify-content:flex-end}
.forma-steps[data-format=cards] .st-picture{order:-1;width:auto;max-width:none;margin:calc(var(--st-pad)*-1) calc(var(--st-pad)*-1) 0;border-radius:0}

/* Tablet: Row and Cards take their tablet columns (after both formats' own columns, so it wins). */
@container forma-site (600px < width <= 980px){
 .forma-steps:is([data-format=row],[data-format=cards]) .st-list{grid-template-columns:repeat(var(--st-tablet-columns,2),minmax(0,1fr))}
}

/* Phone: marks a step smaller; Row stacks into a line down the side, as a one-sided Timeline. */
@container forma-site (width <= 600px){
 .forma-steps{--st-m:calc(var(--st-mark-size,48px)*.8);--st-space:min(var(--st-gap,40px),32px)}
 .forma-steps .st-heading{font-size:var(--st-header-phone-size,19px)}
 .forma-steps .st-kicker{font-size:var(--st-kicker-phone-size,12px)}
 .forma-steps:is([data-format=row],[data-format=cards]) .st-list{grid-template-columns:repeat(var(--st-phone-columns,1),minmax(0,1fr))}
 .forma-steps[data-format=row][data-phone-stack] .st-list{gap:0}
 .forma-steps[data-format=row][data-phone-stack] .st-item{display:grid;grid-template-columns:var(--st-m) minmax(0,1fr);column-gap:16px;padding-block-end:var(--st-space)}
 .forma-steps[data-format=row][data-phone-stack] .st-item[data-last]{padding-block-end:0}
 .forma-steps[data-format=row][data-phone-stack] .st-rail{justify-content:center}
 .forma-steps[data-format=row][data-phone-stack] .st-rail::after{content:"";inset-block:calc(var(--st-m) + var(--st-breath)) calc(var(--st-space)*-1 + var(--st-breath));inset-inline-start:50%;width:0;height:auto;border-block-start:0;border-inline-start:var(--st-line-width,2px) var(--st-line-style,solid) var(--st-rule);transform:translateX(-50%)}
 .forma-steps[data-format=row][data-phone-stack] .st-content{padding-block-start:max(0px,calc(var(--st-m)/2 - var(--st-header-phone-size,19px)*.66))}
}
@container forma-site (600px < width <= 980px){
 .forma-steps .st-heading{font-size:var(--st-header-tablet-size,var(--st-header-size,22px))}
 .forma-steps .st-kicker{font-size:var(--st-kicker-tablet-size,var(--st-kicker-size,13px))}
}

/* The FAQ module (faq-renderer.mjs): native disclosure rows, hairlines between them in the section's own
   ink, the question in the heading face, the answer in the body face. Colours inherit the section's
   tone unless a part sets one. The marker turns while a row is open; it stays still under reduced motion. */
.forma-faq{--fq-rule:color-mix(in srgb,currentColor 22%,transparent);min-width:0;width:100%}
.forma-faq .fq-list{display:grid;border-block-start:1px solid var(--fq-rule)}
.forma-faq .fq-item{margin:0;border-block-end:1px solid var(--fq-rule)}
.forma-faq .fq-question{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:clamp(16px,2.2cqw,22px) 0;list-style:none;cursor:pointer;color:var(--fq-question-color,inherit);font-family:var(--fq-question-font,var(--site-heading-font,'Archivo',sans-serif));font-size:var(--fq-question-size,20px);font-weight:var(--fq-question-weight,700);line-height:var(--fq-question-line-height,1.35);text-align:var(--fq-question-align,left)}
.forma-faq .fq-question::-webkit-details-marker{display:none}
.forma-faq .fq-question::marker{content:''}
.forma-faq .fq-question:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:2px}
.forma-faq .fq-question-text{flex:1;min-width:0;overflow-wrap:anywhere}
.forma-faq[data-align=center] .fq-question-text{text-align:center}
.forma-faq[data-align=right] .fq-question-text{text-align:right}
.forma-faq .fq-marker{display:inline-grid;place-items:center;flex:none;width:32px;height:32px;border:1.5px solid color-mix(in srgb,currentColor 45%,transparent);border-radius:50%}
.forma-faq .fq-answer{padding:0 0 clamp(18px,2.4cqw,26px);color:var(--fq-answer-color,inherit);text-align:var(--fq-answer-align,left)}
.forma-faq .fq-answer{--module-font-size:var(--fq-answer-size,16px);--module-tablet-font-size:var(--fq-answer-tablet-size,var(--fq-answer-size,16px));--module-mobile-font-size:var(--fq-answer-phone-size,15px);--module-weight:var(--fq-answer-weight,400);--module-line-height:var(--fq-answer-line-height,1.65);--module-text-align:var(--fq-answer-align,left);--module-color:var(--fq-answer-color,inherit);--module-font-family:var(--fq-answer-font,var(--site-body-font,inherit))}
.forma-faq .fq-answer .compose-text{max-width:72ch;font-family:var(--module-font-family)}
.forma-faq[data-align=center] .fq-answer .compose-text{margin-inline:auto}
.forma-faq[data-align=right] .fq-answer .compose-text{margin-inline-start:auto}
.forma-faq[data-editing] [data-placeholder]:empty::before{content:attr(data-placeholder);opacity:.45}
.forma-faq[data-editing] .fq-question{cursor:text}
@media (prefers-reduced-motion:no-preference){
 .forma-faq .fq-marker{transition:transform .25s ease}
}
.forma-faq details[open]>.fq-question .fq-marker,.forma-faq .fq-item[data-open] .fq-marker{transform:rotate(180deg)}
@container forma-site (600px < width <= 980px){
 .forma-faq .fq-question{font-size:var(--fq-question-tablet-size,var(--fq-question-size,20px))}
}
@container forma-site (width <= 600px){
 .forma-faq .fq-question{font-size:var(--fq-question-phone-size,18px)}
}

/* The Map module. The words follow the section they sit in; the press and the switches wear the site
   accent. The stage is the module's own height; the street map draws into it only after the press
   (map-runtime.mjs). Tablet and phone are the site's own widths (forma-site). */
.forma-map{--map-accent:var(--site-accent,#345ac3);--map-rule:color-mix(in srgb,currentColor 18%,transparent);--map-soft:color-mix(in srgb,currentColor 66%,transparent);position:relative;min-width:0;display:grid;gap:18px}
.forma-map *{box-sizing:border-box}
.forma-map-heading{margin:0;font:700 clamp(26px,3vw,38px)/1.12 var(--site-heading-font,'Archivo',sans-serif);letter-spacing:-.01em}
.forma-map-intro{margin:0;max-width:68ch;font-size:17px;line-height:1.6;color:var(--map-soft)}
.forma-map-layout{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:24px;align-items:start;min-width:0}
.forma-map-panel{display:grid;gap:14px;align-content:start;min-width:0}
.forma-map-panel-title{margin:0;font:700 12px/1.3 var(--site-body-font,'Work',sans-serif);letter-spacing:.08em;text-transform:uppercase;color:var(--map-soft)}
.forma-map-layers{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.forma-map-layer-label{display:flex;align-items:flex-start;gap:10px;min-width:0;line-height:1.35}
.forma-map-swatch{flex:none;width:14px;height:14px;margin-top:3px;border-radius:4px;border:2px solid var(--map-layer-color,#006e9b);background:color-mix(in srgb,var(--map-layer-color,#006e9b) 22%,transparent)}
.forma-map-layer-words{display:grid;gap:2px;min-width:0}
.forma-map-layer-name{font-weight:600;overflow-wrap:anywhere}
.forma-map-layer-note{font-size:13px;color:var(--map-soft);overflow-wrap:anywhere}
.forma-map-switch{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--map-layer-color,var(--map-accent));cursor:pointer}
.forma-map-switch:disabled{cursor:default}
/* Chips: each layer a pill that is its own switch; the swatch shows the colour it draws in. */
.forma-map[data-switches=chips] .forma-map-layers{display:flex;flex-wrap:wrap;gap:8px}
.forma-map[data-switches=chips] .forma-map-layer-label{align-items:center;padding:8px 14px 8px 10px;border:1px solid var(--map-rule);border-radius:999px;min-height:44px}
.forma-map[data-switches=chips] .forma-map-layer-label:has(.forma-map-switch:not(:disabled)){cursor:pointer}
.forma-map[data-switches=chips] .forma-map-layer-label:has(.forma-map-switch:checked:not(:disabled)){border-color:var(--map-layer-color,var(--map-accent));background:color-mix(in srgb,var(--map-layer-color,var(--map-accent)) 9%,transparent)}
.forma-map[data-switches=chips] .forma-map-swatch{margin-top:0}
.forma-map[data-switches=chips] .forma-map-switch{margin:0}
.forma-map[data-switches=chips] .forma-map-layer-label:has(.forma-map-switch:focus-visible){outline:3px solid var(--map-accent);outline-offset:2px}
/* List: one row each, a line between them. */
.forma-map[data-switches=list] .forma-map-layers{gap:0;border-top:1px solid var(--map-rule)}
.forma-map[data-switches=list] .forma-map-layer{padding:11px 0;border-bottom:1px solid var(--map-rule)}
.forma-map-note{margin:0;font-size:13px;line-height:1.5;color:var(--map-soft)}
.forma-map-sources{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:14px}
.forma-map-sources a,.forma-map-download{color:inherit;text-decoration:underline;text-underline-offset:.2em}
.forma-map-sources a:hover,.forma-map-download:hover{color:var(--map-accent)}
.forma-map-downloads{display:grid;gap:8px}
.forma-map-downloads ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.forma-map-download{display:inline-flex;align-items:baseline;gap:8px;font-weight:600;min-height:32px;align-items:center}
.forma-map-download small{font-size:11px;font-weight:700;letter-spacing:.06em;padding:2px 6px;border-radius:4px;border:1px solid var(--map-rule);text-decoration:none}
.forma-map-missing{display:block;margin:0;font-size:13px;color:#8a4b12}
/* The stage: the canvas Google draws into, the cover holding the press, the status, the reset. */
.forma-map-stage{position:relative;min-width:0;height:var(--map-height,480px);border-radius:var(--site-radius,20px);overflow:hidden;border:1px solid var(--map-rule);background:linear-gradient(135deg,#e9eef5 0%,#dde5ef 100%);color:#14223b;isolation:isolate}
.forma-map-canvas{position:absolute;inset:0}
.forma-map-cover{position:absolute;inset:0;z-index:1;display:grid;place-content:center;justify-items:center;gap:14px;padding:24px;text-align:center;background:radial-gradient(120% 100% at 50% 0%,#f6f8fbcc 0%,#e3e9f2e6 100%)}
.forma-map-cover::before{content:'';position:absolute;inset:0;z-index:-1;opacity:.5;background-image:linear-gradient(#14223b14 1px,transparent 1px),linear-gradient(90deg,#14223b14 1px,transparent 1px);background-size:40px 40px}
.forma-map-invite{margin:0;max-width:36ch;font-size:15px;line-height:1.5}
.forma-map-load{min-height:46px;padding:10px 22px;border:0;border-radius:999px;background:var(--map-accent);color:#fff;font:600 15px/1.2 var(--site-body-font,'Work',sans-serif);cursor:pointer;box-shadow:0 8px 22px #14223b2e;transition:transform .16s ease,box-shadow .16s ease}
.forma-map-load:hover{transform:translateY(-1px);box-shadow:0 12px 26px #14223b38}
.forma-map-load:focus-visible{outline:3px solid #14223b;outline-offset:3px}
.forma-map-load[hidden]{display:none}
.forma-map-placeholder{margin:0;display:grid;gap:6px;max-width:40ch;font-size:14px;line-height:1.45}
.forma-map-placeholder strong{font-size:16px}
.forma-map-status{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;margin:0;font-size:13px;line-height:1.4;pointer-events:none}
.forma-map-status:empty{display:none}
.forma-map[data-state=ready] .forma-map-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.forma-map[data-state=loading] .forma-map-status,.forma-map[data-state=unavailable] .forma-map-status{padding:10px 12px;border-radius:10px;background:#ffffffeb;box-shadow:0 6px 18px #14223b26}
.forma-map[data-state=ready] .forma-map-cover,.forma-map[data-state=loading] .forma-map-cover{display:none}
.forma-map-reset{position:absolute;top:12px;right:12px;z-index:2;min-height:40px;padding:8px 16px;border:1px solid #14223b33;border-radius:999px;background:#fff;color:#14223b;font:600 14px/1.2 var(--site-body-font,'Work',sans-serif);cursor:pointer;box-shadow:0 4px 14px #14223b26}
.forma-map-reset:hover{background:#f2f5fa}
.forma-map-reset:focus-visible{outline:3px solid var(--map-accent);outline-offset:2px}
.forma-map-reset[hidden]{display:none}
@container forma-site (width <= 980px){.forma-map-layout{grid-template-columns:minmax(0,1fr)}}
@container forma-site (width <= 600px){.forma-map-stage{height:min(var(--map-height,480px),70vh)}.forma-map-intro{font-size:16px}}
@media (prefers-reduced-motion:reduce){.forma-map-load{transition:none}.forma-map-load:hover{transform:none}}

/* The password gate on a Forma page: a band naming the page, then the one field. It wears the page's
   own colours and faces; the words are PageStudio's gate's. */
.forma-gate-page{display:grid;gap:0}
.forma-gate-hero{padding:clamp(56px,9vw,112px) var(--site-gutter,24px) clamp(32px,5vw,56px);text-align:center}
.forma-gate-words{max-width:var(--site-content-max,1100px);margin-inline:auto;display:grid;gap:12px}
.forma-gate-hero h1{margin:0;font:700 clamp(32px,4.4vw,56px)/1.08 var(--site-heading-font,'Archivo',sans-serif);letter-spacing:-.015em;overflow-wrap:anywhere}
.forma-gate-hero p{margin:0;font-size:18px;opacity:.78}
.forma-gate{padding:0 var(--site-gutter,24px) clamp(64px,9vw,120px)}
.forma-gate-form{box-sizing:border-box;width:min(100%,440px);margin-inline:auto;display:grid;gap:16px;padding:clamp(20px,3vw,32px);border:1px solid color-mix(in srgb,currentColor 16%,transparent);border-radius:var(--site-radius,20px);background:color-mix(in srgb,var(--site-bg,#ffffff) 92%,currentColor 8%)}
.forma-gate-field{display:grid;gap:8px}
.forma-gate-field label{font-weight:600}
.forma-gate-field input{box-sizing:border-box;width:100%;min-height:48px;padding:10px 14px;border:1px solid color-mix(in srgb,currentColor 34%,transparent);border-radius:10px;background:var(--site-bg,#ffffff);color:inherit;font:inherit;font-size:16px}
.forma-gate-field input:focus-visible{outline:3px solid var(--site-accent,#345ac3);outline-offset:2px}
.forma-gate-field input[aria-invalid=true]{border-color:#b3261e}
.forma-gate-turnstile:empty{display:none}
.forma-gate-refusal{margin:0;padding:10px 12px;border-radius:10px;background:#fdecea;color:#8a1c14;font-size:15px}
.forma-gate-refusal[hidden]{display:none}
.forma-gate-submit{min-height:48px;padding:10px 22px;border:0;border-radius:999px;background:var(--site-accent,#345ac3);color:#ffffff;font:600 16px/1.2 var(--site-body-font,'Work',sans-serif);cursor:pointer}
.forma-gate-submit:hover{filter:brightness(1.08)}
.forma-gate-submit:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.forma-gate-submit:disabled{cursor:progress;opacity:.75}

/* The analytics-choices notice and its footer control on a Forma page (privacy-runtime.mjs): the
   sites app's own notice (`site-render`'s site.css), drawn in the page's own faces and accent.
   Only a page whose tenant set an analytics or advertising tag carries either; the runtime marks
   the document `[data-privacy-choices]`, which is what shows the footer control. */
.privacy-notice-slot{display:contents}
.forma-privacy-choices{margin:0;padding:14px var(--site-gutter,24px) 18px;text-align:center;font-size:13px}
.forma-privacy-choices[hidden]{display:none}
html[data-privacy-choices] .forma-privacy-choices{display:block}
.forma-privacy-open{padding:6px 2px;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.forma-privacy-open:hover{color:var(--site-accent,#345ac3)}
.forma-privacy-open:focus-visible{outline:3px solid var(--site-accent,#345ac3);outline-offset:2px;border-radius:4px}
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
html[data-privacy-notice-open] body{padding-bottom:calc(var(--privacy-notice-space,0px) + 32px)}
/* Bottom right, over the page and a sticky header, as the sites app draws it. */
.forma-privacy-notice{position:fixed;z-index:1100;right:16px;bottom:16px;box-sizing:border-box;width:min(29rem,calc(100vw - 32px));padding:calc(1rem + 3px) 1.25rem 1.15rem;overflow:hidden;background:#ffffff;color:#152640;border:1px solid #c9d3e3;border-radius:var(--site-radius,16px);box-shadow:0 18px 44px #10203b33;font-family:var(--site-body-font,'Work',sans-serif);font-size:15px;line-height:1.5}
.forma-privacy-notice::before{content:'';position:absolute;inset:0 0 auto;height:3px;background:var(--site-accent,#345ac3)}
.forma-privacy-notice .privacy-notice-label{margin:0 0 .35rem;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#3c4f6e}
.forma-privacy-notice .privacy-notice-label:focus{outline:none}
.forma-privacy-notice .privacy-notice-label:focus-visible{outline:2px solid #152640;outline-offset:3px}
.forma-privacy-notice .privacy-notice-words{margin:0;color:#3c4f6e}
.forma-privacy-notice .privacy-notice-policy{color:inherit;text-decoration:underline;text-underline-offset:.2em;white-space:nowrap}
.forma-privacy-notice .privacy-notice-policy:hover{color:#152640;text-decoration-thickness:2px}
.forma-privacy-notice .privacy-notice-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.85rem 0 0}
/* Both choices are the same size and weight of button: opting out is never the harder press. */
.forma-privacy-notice .privacy-notice-button{min-height:2.75rem;min-width:6.5rem;padding:.5rem 1.1rem;font:inherit;font-size:14px;font-weight:700;color:#152640;background:#ffffff;border:2px solid #152640;border-radius:999px;cursor:pointer;transition:background 160ms ease,color 160ms ease}
.forma-privacy-notice .privacy-notice-button[data-kind=close]{color:#ffffff;background:#152640}
.forma-privacy-notice .privacy-notice-button:hover{background:#eef2f9}
.forma-privacy-notice .privacy-notice-button[data-kind=close]:hover{background:#2a3d5e;border-color:#2a3d5e}
.forma-privacy-notice .privacy-notice-button:focus-visible,.forma-privacy-notice .privacy-notice-policy:focus-visible{outline:3px solid var(--site-accent,#345ac3);outline-offset:3px}
@media (prefers-reduced-motion:no-preference){.forma-privacy-notice{animation:forma-privacy-arrive 320ms cubic-bezier(.16,1,.3,1) both}}
@keyframes forma-privacy-arrive{from{opacity:0;transform:translateY(.75rem)}}
/* A phone: the full width between the gutters, the two choices side by side and equal. */
@media (max-width:40rem){.forma-privacy-notice{left:12px;right:12px;bottom:12px;width:auto;padding:calc(.75rem + 3px) 1rem .9rem;font-size:14px}.forma-privacy-notice .privacy-notice-actions{margin-top:.7rem}.forma-privacy-notice .privacy-notice-button{flex:1 1 0;min-width:0}}

.forma-posts .forma-record h3 a{color:inherit;text-decoration:none;text-underline-offset:5px}.forma-posts .forma-record:hover h3 a,.forma-posts .forma-record h3 a:hover{text-decoration:underline}.forma-posts a:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:2px}.forma-posts .forma-record-date{font-size:15px;font-variant-numeric:tabular-nums}.forma-posts-empty{margin:0;font-size:16px}
.forma-posts[data-design=list] .forma-records-list{display:block;list-style:none;margin:0;padding:0}.forma-post-index-item{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding-block:18px;border-block-end:1px solid color-mix(in srgb,currentColor 28%,transparent)}.forma-post-index-item:first-child{padding-block-start:0}.forma-post-index-title{min-width:0;font:600 21px/1.3 var(--site-heading-font,'Archivo',sans-serif);letter-spacing:-.01em}.forma-post-index-title a{color:inherit;text-decoration:none;text-underline-offset:5px}.forma-post-index-title a:hover{text-decoration:underline}.forma-post-index-item time{flex-shrink:0;font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}
.forma-posts[data-design=rows] .forma-record:has(>.forma-record-image) .forma-record-date{grid-row:2;grid-column:1;border:0;padding-block-start:0}
@container (max-width:440px){.forma-post-index-item{display:block}.forma-post-index-item time{display:block;margin-block-start:6px}.forma-post-index-title{font-size:19px}}
.forma-post-body{display:grid;gap:22px}.forma-post-body [data-post-field]{white-space:pre-line;margin:0}.forma-post-body .forma-post-block{display:grid;gap:12px;min-width:0}
.forma-post-category{display:block;margin:0 0 6px;font-size:13px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.forma-post-index-title .forma-post-category{margin:6px 0 0;font-size:12px;line-height:1.3}

@font-face{font-family:Poppins;src:url("fonts/poppins-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url("fonts/poppins-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url("fonts/poppins-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url("fonts/poppins-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url("fonts/poppins-800.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Lora;src:url("fonts/lora.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:Lora;src:url("fonts/lora-italic.woff2") format("woff2");font-weight:400 700;font-style:italic;font-display:swap}@font-face{font-family:Quattrocento;src:url("fonts/quattrocento-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Quattrocento;src:url("fonts/quattrocento-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:'Bricolage Grotesque';src:url("fonts/bricolage-grotesque.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}@font-face{font-family:'Instrument Sans';src:url("fonts/instrument-sans.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:'JetBrains Mono';src:url("fonts/jetbrains-mono.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:'Cormorant Garamond';src:url("fonts/cormorant-garamond.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:'Source Sans 3';src:url("fonts/source-sans-3.woff2") format("woff2");font-weight:200 900;font-style:normal;font-display:swap}@font-face{font-family:Merriweather;src:url("fonts/merriweather.woff2") format("woff2");font-weight:300 900;font-style:normal;font-display:swap}@font-face{font-family:'Open Sans';src:url("fonts/open-sans.woff2") format("woff2");font-weight:300 800;font-style:normal;font-display:swap}@font-face{font-family:Fraunces;src:url("fonts/fraunces.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}