/* UNITED community theme - see STYLE-GUIDE.md.
   Every value comes from theme.json through the --theme-* properties that
   [% theme_css %] emits. The :root block below only renames them; it holds no
   literal. Components are single class names so a Markdown author can reach
   them with a fenced div (::: notice-ok). */

:root{
--navy:var(--theme-colours-navy);--navy-2:var(--theme-colours-navy-2);
--royal:var(--theme-colours-royal);--royal-hover:var(--theme-colours-royal-hover);
--cyan:var(--theme-colours-cyan);--cyan-ink:var(--theme-colours-cyan-ink);
--gold:var(--theme-colours-gold);--gold-ink:var(--theme-colours-gold-ink);
--pale:var(--theme-colours-pale);--cream:var(--theme-colours-cream);
--surface:var(--theme-colours-surface);--tint:var(--theme-colours-tint);
--slate:var(--theme-colours-slate);--slate-soft:var(--theme-colours-slate-soft);
--line:var(--theme-colours-line);--field-edge:var(--theme-colours-field-edge);
--ok:var(--theme-colours-ok);--ok-bg:var(--theme-colours-ok-bg);
--warn:var(--theme-colours-warn);--warn-bg:var(--theme-colours-warn-bg);
--danger:var(--theme-colours-danger);--danger-bg:var(--theme-colours-danger-bg);
--info-bg:var(--theme-colours-info-bg);--white:var(--theme-colours-white);
--navy-rgb:var(--theme-channels-navy);--pale-rgb:var(--theme-channels-pale);
--serif:var(--theme-fonts-serif);--sans:var(--theme-fonts-sans);--mono:var(--theme-fonts-mono);
--t-label:var(--theme-type-label);--t-pill:var(--theme-type-pill);--t-button:var(--theme-type-button);
--t-meta:var(--theme-type-meta);--t-data:var(--theme-type-data);--t-h4:var(--theme-type-h4);
--t-body:var(--theme-type-body);--t-lead:var(--theme-type-lead);--t-h3:var(--theme-type-h3);
--t-quote:var(--theme-type-quote);--t-h2:var(--theme-type-h2);--t-stat:var(--theme-type-stat);
--t-h1:var(--theme-type-h1);--t-h1-sm:var(--theme-type-h1-sm);
--s-1:var(--theme-space-1);--s-2:var(--theme-space-2);--s-3:var(--theme-space-3);
--s-4:var(--theme-space-4);--s-5:var(--theme-space-5);--s-6:var(--theme-space-6);
--s-7:var(--theme-space-7);--s-8:var(--theme-space-8);
--r:var(--theme-radius-base);--r-pill:var(--theme-radius-pill);
--w-page:var(--theme-layout-page);--w-text:var(--theme-layout-text);
--w-form:var(--theme-layout-form);--w-aside:var(--theme-layout-aside);
--bar:var(--theme-layout-bar);--gutter:var(--theme-layout-gutter);
--gutter-sm:var(--theme-layout-gutter-sm);
--target:var(--theme-layout-target);--target-sm:var(--theme-layout-target-sm);
}

/* ---- base ------------------------------------------------------------ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--slate);font-family:var(--sans);
font-size:var(--t-body);line-height:1.65;font-weight:300;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
.wrap{max-width:var(--w-page);margin:0 auto;padding:0 var(--gutter)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:var(--s-4);top:calc(-1 * var(--bar));z-index:20;background:var(--cyan);
color:var(--navy);padding:var(--s-2) var(--s-4);font-weight:500}
.skip:focus{top:var(--s-2)}
:focus-visible{outline:2px solid var(--royal);outline-offset:2px}
.topbar :focus-visible,.site-foot :focus-visible,.on-dark :focus-visible,.skip:focus-visible{outline-color:var(--cyan)}

/* ---- type ------------------------------------------------------------ */
h1,h2,h3{font-family:var(--serif);color:var(--royal);text-wrap:balance;margin:0 0 var(--s-3)}
h1{font-size:var(--t-h1);font-weight:400;line-height:1.2}
h2{font-size:var(--t-h2);font-weight:500;line-height:1.25;margin-top:var(--s-7)}
h3{font-size:var(--t-h3);font-weight:500;line-height:1.3;margin-top:var(--s-6)}
h4{font-family:var(--sans);font-size:var(--t-h4);font-weight:500;line-height:1.4;color:var(--slate);
margin:var(--s-5) 0 var(--s-2)}
p{margin:0 0 var(--s-4)}
.lead{font-size:var(--t-lead);line-height:1.7;color:var(--slate)}
small,.meta{font-size:var(--t-meta);font-weight:400;color:var(--slate-soft)}
strong,b{font-weight:500}
a{color:var(--cyan-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
.eyebrow{display:block;font-size:var(--t-label);font-weight:500;letter-spacing:.2em;
text-transform:uppercase;color:var(--gold-ink);margin-bottom:var(--s-2)}
.rule{width:52px;height:2px;background:var(--cyan);border:0;margin:0 0 var(--s-5)}
blockquote{margin:var(--s-5) 0;padding:var(--s-1) 0 var(--s-1) var(--s-5);border-left:2px solid var(--cyan);
font-family:var(--serif);font-style:italic;font-size:var(--t-quote);line-height:1.5;color:var(--royal)}
blockquote p:last-child{margin:0}
blockquote cite{display:block;margin-top:var(--s-2);font-family:var(--sans);font-style:normal;
font-size:var(--t-meta);color:var(--slate-soft)}
code,kbd{font-family:var(--mono);font-size:.88em;background:var(--tint);border-radius:var(--r);padding:1px 5px}
pre{background:var(--tint);border:1px solid var(--line);border-radius:var(--r);padding:var(--s-4);overflow-x:auto}
pre code{background:none;padding:0}
hr{border:0;border-top:1px solid var(--line);margin:var(--s-6) 0}

/* ---- top bar ---------------------------------------------------------- */
.topbar{background:var(--navy);color:var(--pale);position:sticky;top:0;z-index:10;
box-shadow:0 1px 0 rgba(var(--navy-rgb),.4)}
.topbar-in{display:flex;align-items:center;gap:var(--s-5);min-height:var(--bar)}
.brand{display:flex;align-items:center;gap:var(--s-3);text-decoration:none;flex-shrink:0}
.brand img{display:block;width:36px;height:36px;border-radius:50%}
.brand-name{font-family:var(--serif);font-size:var(--t-h3);letter-spacing:.28em;color:var(--white);
text-transform:uppercase;line-height:1}
.brand-sub{font-size:var(--t-label);letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);font-weight:500}
.topbar-menu{display:flex;align-items:center;gap:var(--s-5);flex:1;min-width:0}
.nav{flex:1}
.nav ul{list-style:none;margin:0;padding:0}
.nav>ul{display:flex;gap:var(--s-1);flex-wrap:wrap}
.nav>ul>li>a,.nav summary{display:flex;align-items:center;min-height:var(--target);padding:0 var(--s-3);
color:var(--pale);text-decoration:none;font-size:var(--t-button);font-weight:400;letter-spacing:.12em;
text-transform:uppercase;border-bottom:2px solid transparent;cursor:pointer}
.nav>ul>li>a:hover,.nav summary:hover{color:var(--white)}
.nav>ul>li>a[aria-current],.nav summary.is-current{color:var(--white);border-bottom-color:var(--cyan)}
.nav summary{list-style:none}
.nav summary::-webkit-details-marker{display:none}
.nav summary::after{content:'';width:6px;height:6px;margin-left:var(--s-2);border:solid currentColor;
border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translateY(-2px)}
.has-sub{position:relative}
.sub>ul{position:absolute;top:100%;left:0;min-width:220px;background:var(--navy-2);padding:var(--s-2) 0;
border-top:2px solid var(--cyan);box-shadow:0 10px 28px rgba(var(--navy-rgb),.35)}
.sub>ul a{display:block;padding:var(--s-2) var(--s-4);color:var(--pale);text-decoration:none;font-size:var(--t-data)}
.sub>ul a:hover{color:var(--white);background:var(--navy)}
.sub>ul a[aria-current]{color:var(--white);box-shadow:inset 3px 0 0 var(--cyan)}
.topbar-tools{display:flex;align-items:center;gap:var(--s-4);margin-left:auto}
.search{display:flex}
.search input{width:160px;height:var(--target-sm);padding:0 var(--s-3);border:1px solid rgba(var(--pale-rgb),.45);
border-right:0;border-radius:var(--r) 0 0 var(--r);background:var(--navy-2);color:var(--white);
font:400 var(--t-data) var(--sans)}
.search input::placeholder{color:var(--pale)}
.search button{height:var(--target-sm);padding:0 var(--s-3);border:1px solid var(--cyan);border-radius:0 var(--r) var(--r) 0;
background:transparent;color:var(--cyan);font:500 var(--t-pill) var(--sans);letter-spacing:.12em;
text-transform:uppercase;cursor:pointer}
.search button:hover{background:var(--cyan);color:var(--navy)}
.account a{color:var(--cyan);font-size:var(--t-button);letter-spacing:.12em;text-transform:uppercase;
text-decoration:none;font-weight:500}
.account a:hover{color:var(--white)}
.menu-btn{display:none;margin-left:auto;align-items:center;gap:var(--s-2);min-height:var(--target);
padding:0 var(--s-3);background:none;border:1px solid rgba(var(--pale-rgb),.45);border-radius:var(--r);
color:var(--pale);font:500 var(--t-button) var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.menu-bars,.menu-bars::before,.menu-bars::after{display:block;width:16px;height:1.5px;background:currentColor;position:relative}
.menu-bars::before,.menu-bars::after{content:'';position:absolute;left:0}
.menu-bars::before{top:-5px}
.menu-bars::after{top:5px}
.langs{font-size:var(--t-meta);padding-top:var(--s-2)}

/* ---- page header and body -------------------------------------------- */
.page-head{padding:var(--s-7) 0 var(--s-5)}
.page-head h1{margin:0}
.page-head h1::after{content:'';display:block;width:52px;height:2px;background:var(--cyan);margin-top:var(--s-4)}
.page-head .lead{max-width:var(--w-text);margin:var(--s-4) 0 0;color:var(--slate-soft)}
.page-body{padding-bottom:var(--s-8)}
.page-body>:first-child{margin-top:0}
.page-body>:where(p,ul,ol,dl,blockquote,h2,h3,h4,pre,.checks,.links,.notice,.notice-ok,.notice-warn,.notice-danger){max-width:var(--w-text)}
.page-body>.eyebrow{margin-top:var(--s-7)}
.eyebrow+h2,.eyebrow+h3{margin-top:0}
.crumbs{font-size:var(--t-meta);color:var(--slate-soft);margin-bottom:var(--s-3)}
.crumbs a{color:var(--slate-soft)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.crumbs li+li::before{content:'/';margin:0 var(--s-2);color:var(--line)}

/* ---- content layouts --------------------------------------------------- */
.l-single{max-width:var(--w-text)}
.l-form{max-width:var(--w-form)}
.l-sidebar{display:grid;grid-template-columns:minmax(0,1fr) var(--w-aside);gap:var(--s-7);align-items:start}
.l-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--s-5)}
.l-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--s-5);margin:0 0 var(--s-7)}
.access{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--cyan);padding:var(--s-6)}
.access h2{margin:0 0 var(--s-3);font-size:var(--t-h2)}
.access .actions{margin:var(--s-5) 0 0}
.aside{font-size:var(--t-data)}
.aside h4:first-child{margin-top:0}

/* ---- dark panel ------------------------------------------------------- */
.on-dark{background:var(--navy);color:var(--pale);padding:var(--s-7) var(--s-6);margin:var(--s-7) 0}
.on-dark h2,.on-dark h3{color:var(--white)}
.on-dark h2{margin-top:0}
.on-dark .eyebrow{color:var(--cyan)}
.on-dark a{color:var(--cyan)}

/* ---- lists ------------------------------------------------------------ */
.page-body ul{padding-left:var(--s-5)}
.page-body ul>li::marker{color:var(--gold)}
.page-body ul ul,.page-body ol ol{margin:var(--s-1) 0}
.page-body ol>li::marker{font-weight:500;color:var(--slate-soft)}
.page-body li{margin-bottom:var(--s-1)}
.checks ul{list-style:none;padding-left:0}
.checks li{position:relative;padding-left:var(--s-6)}
.checks li::before{content:'';position:absolute;left:var(--s-1);top:.45em;width:12px;height:6px;
border:solid var(--cyan-ink);border-width:0 0 2px 2px;transform:rotate(-45deg)}
.links ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.links li{margin:0;padding:var(--s-3) 0;border-bottom:1px solid var(--line)}
.links a{font-weight:500;text-decoration:none;color:var(--royal)}
.links a:hover{text-decoration:underline}
dl{margin:0 0 var(--s-5)}
dt{font-weight:500;color:var(--slate)}
dd{margin:0 0 var(--s-3);color:var(--slate-soft)}
.facts dl{display:grid;grid-template-columns:180px minmax(0,1fr);border-top:1px solid var(--line)}
.facts dt,.facts dd{margin:0;padding:var(--s-3) 0;border-bottom:1px solid var(--line)}
.facts dt{font-size:var(--t-label);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);padding-top:calc(var(--s-3) + 3px)}
.facts dd{color:var(--slate)}

/* Record list: from Markdown, a ::: list block around a bullet list, each
   item a link then " - " and its meta line in <small>. From a partial, the
   same shape as .list > ul > li. */
.list ul{list-style:none;padding:0;margin:0 0 var(--s-5);background:var(--surface);border:1px solid var(--line)}
.list li{margin:0;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);display:flex;
flex-wrap:wrap;align-items:baseline;gap:var(--s-1) var(--s-3);position:relative}
.list li:last-child{border-bottom:0}
.list li:hover{background:var(--tint)}
.list li>a:first-child,.list .title{font-weight:500;color:var(--royal);text-decoration:none}
.list li>a:first-child::after{content:'';position:absolute;inset:0}
.list li>a:first-child:hover{text-decoration:underline}
.list small,.list .meta{flex-basis:100%}
.list .pill,.list [class^="pill"]{margin-left:auto;position:relative;z-index:1}
.list li[aria-current],.list li.is-current{box-shadow:inset 3px 0 0 var(--cyan)}

/* ---- cards ------------------------------------------------------------ */
.card{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--cyan);
padding:var(--s-5);display:block;color:inherit;text-decoration:none}
.card h3{margin:0 0 var(--s-2);font-size:var(--t-h3)}
.card p{font-size:var(--t-data);color:var(--slate-soft);margin-bottom:var(--s-3)}
.card p:last-child{margin-bottom:0}
a.card{transition:box-shadow .2s ease,border-left-color .2s ease}
a.card:hover{border-left-color:var(--gold);box-shadow:0 10px 28px rgba(var(--navy-rgb),.10)}
.more{font-size:var(--t-label);font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink)}
.person{background:var(--surface);border:1px solid var(--line);padding:var(--s-5);display:grid;
grid-template-columns:56px minmax(0,1fr);gap:var(--s-1) var(--s-4);align-items:start}
.person .avatar{grid-row:span 3}
.person h3{margin:0;font-size:var(--t-h3)}
.person .role{font-size:var(--t-label);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);font-weight:500}
.person p{margin:0;font-size:var(--t-data);color:var(--slate-soft)}
.avatar{width:56px;height:56px;border-radius:50%;background:var(--navy);color:var(--cyan);display:flex;
align-items:center;justify-content:center;font-family:var(--serif);font-size:var(--t-h3);letter-spacing:.06em}
.event{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:var(--s-4);align-items:start;
padding:var(--s-4) 0;border-bottom:1px solid var(--line)}
.event .date{text-align:center;border-right:1px solid var(--line);padding-right:var(--s-3)}
.event .day{display:block;font-family:var(--serif);font-size:var(--t-h2);line-height:1;color:var(--royal)}
.event .month{display:block;font-size:var(--t-label);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);font-weight:500}
.event h3{margin:0 0 var(--s-1);font-size:var(--t-h3)}
.event p{margin:0;font-size:var(--t-meta);color:var(--slate-soft)}
.doc{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--line)}
.doc .type{font-size:var(--t-label);font-weight:500;letter-spacing:.12em;padding:2px var(--s-2);
border:1px solid var(--field-edge);border-radius:var(--r);color:var(--slate)}
.doc .meta{margin-left:auto;white-space:nowrap}

/* ---- feed, stats, empty, pager --------------------------------------- */
.feed ul,ul.feed{list-style:none;margin:0;padding:0 0 0 var(--s-5);border-left:1px solid var(--line)}
.feed li{position:relative;margin:0 0 var(--s-4)}
.feed li::before{content:'';position:absolute;left:calc(-1 * var(--s-5) - 4px);top:.55em;width:7px;height:7px;
border-radius:50%;background:var(--cyan-ink)}
.feed time,.feed small{display:block;font-size:var(--t-meta);color:var(--slate-soft);font-weight:400}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);
border:1px solid var(--line);margin:var(--s-5) 0}
.stat{background:var(--surface);padding:var(--s-5) var(--s-4)}
.stat .n{display:block;font-family:var(--serif);font-size:var(--t-stat);line-height:1.1;color:var(--royal);
font-variant-numeric:tabular-nums}
.stat .l{display:block;margin-top:var(--s-1);font-size:var(--t-label);letter-spacing:.2em;text-transform:uppercase;
color:var(--gold-ink);font-weight:500}
.empty{text-align:center;padding:var(--s-7) var(--s-5);border:1px dashed var(--field-edge);border-radius:var(--r);
background:var(--surface)}
.empty h3{margin-top:0}
.pager{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);margin:var(--s-6) 0;
font-size:var(--t-meta);color:var(--slate-soft)}

/* ---- tables ----------------------------------------------------------- */
.page-body table{width:100%;border-collapse:collapse;background:var(--surface);margin:0 0 var(--s-5);
font-size:var(--t-data);font-weight:400}
.page-body th,.page-body td{text-align:left;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);vertical-align:top}
.page-body thead th{background:var(--tint);font-size:var(--t-label);letter-spacing:.16em;text-transform:uppercase;
font-weight:500;color:var(--slate)}
.page-body td.num,.page-body th.num,.page-body td[align="right"]{text-align:right;font-variant-numeric:tabular-nums}
.striped tbody tr:nth-child(even){background:var(--tint)}
.table-wrap{overflow-x:auto;margin:0 0 var(--s-5)}
.table-wrap table{margin:0}
th[aria-sort] button{all:unset;cursor:pointer}
th[aria-sort="ascending"] button::after{content:' \2191'}
th[aria-sort="descending"] button::after{content:' \2193'}

/* ---- navigation aids -------------------------------------------------- */
.tabs ul{list-style:none;margin:0 0 var(--s-5);padding:0;display:flex;gap:var(--s-2);overflow-x:auto;
border-bottom:1px solid var(--line)}
.tabs li{margin:0}
.tabs a{display:block;padding:var(--s-3) var(--s-3);white-space:nowrap;font-size:var(--t-label);font-weight:500;
letter-spacing:.16em;text-transform:uppercase;color:var(--slate-soft);text-decoration:none;
border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs a:hover{color:var(--slate)}
.tabs a[aria-current],.tabs a[aria-selected="true"]{color:var(--slate);border-bottom-color:var(--cyan)}
.filters{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:flex-end;margin:0 0 var(--s-5)}
.chip{display:inline-flex;align-items:center;gap:var(--s-2);padding:2px var(--s-1) 2px var(--s-3);
background:var(--info-bg);border-radius:var(--r-pill);font-size:var(--t-meta);color:var(--slate)}
.chip button{all:unset;cursor:pointer;width:22px;height:22px;text-align:center;border-radius:50%}
.chip button:hover{background:var(--surface)}
.side-nav ul{list-style:none;margin:0;padding:0}
.side-nav li{margin:0}
.side-nav a{display:block;padding:var(--s-2) var(--s-3);color:var(--slate);text-decoration:none}
.side-nav a:hover{background:var(--tint)}
.side-nav a[aria-current]{box-shadow:inset 3px 0 0 var(--cyan);font-weight:500;color:var(--royal)}

/* ---- buttons ---------------------------------------------------------- */
.btn,.page-body :where(button,input[type="submit"]){display:inline-flex;align-items:center;justify-content:center;
gap:var(--s-2);min-height:var(--target);padding:0 var(--s-5);border:1px solid var(--royal);border-radius:var(--r);
background:var(--royal);color:var(--white);font:500 var(--t-button) var(--sans);letter-spacing:.12em;
text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s ease}
.btn:hover,.page-body :where(button,input[type="submit"]):hover{background:var(--royal-hover);border-color:var(--royal-hover)}
.btn-ghost,.page-body .lsf-back{background:transparent;color:var(--royal)}
.btn-ghost:hover,.page-body .lsf-back:hover{background:var(--info-bg);color:var(--royal)}
.btn-text{background:transparent;border-color:transparent;color:var(--cyan-ink);padding:0 var(--s-2)}
.btn-text:hover{background:transparent;border-color:transparent;text-decoration:underline}
.btn-danger{background:transparent;border-color:var(--danger);color:var(--danger)}
.btn-danger:hover{background:var(--danger);border-color:var(--danger);color:var(--white)}
.btn-sm{min-height:var(--target-sm);padding:0 var(--s-3)}
.on-dark .btn{background:var(--cyan);border-color:var(--cyan);color:var(--navy)}
.on-dark .btn:hover{background:var(--white);border-color:var(--white)}
.on-dark .btn-ghost{background:transparent;border-color:rgba(var(--pale-rgb),.45);color:var(--pale)}
.on-dark .btn-ghost:hover{border-color:var(--cyan);color:var(--cyan)}
.btn:disabled,.page-body :where(button):disabled{opacity:.45;cursor:not-allowed}
.actions{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center;margin:var(--s-5) 0}

/* ---- forms: lazysite native (.lazysite-form, .form-field) ------------- */
.lazysite-form{max-width:var(--w-form);margin:var(--s-5) 0}
.form-field{margin:0 0 var(--s-5)}
.form-field>label,.page-body fieldset>legend{display:block;margin-bottom:var(--s-2);font-size:var(--t-data);
font-weight:500;color:var(--slate)}
.required{color:var(--danger);font-weight:500;margin-left:2px}
.page-body input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"]),
.page-body select,.page-body textarea{display:block;width:100%;min-height:var(--target);padding:var(--s-2) var(--s-3);
background:var(--surface);border:1px solid var(--field-edge);border-radius:var(--r);color:var(--slate);
font:400 var(--t-body) var(--sans);line-height:1.5}
.page-body textarea{min-height:calc(var(--target) * 3);resize:vertical}
.page-body select{appearance:none;padding-right:var(--s-7);
background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.page-body input::placeholder,.page-body textarea::placeholder{color:var(--slate-soft)}
.page-body input:focus-visible,.page-body select:focus-visible,.page-body textarea:focus-visible{border-color:var(--royal)}
.page-body input[readonly],.page-body textarea[readonly]{background:var(--tint);border-color:transparent}
.page-body input[aria-invalid="true"],.page-body select[aria-invalid="true"],.page-body textarea[aria-invalid="true"]{border-color:var(--danger)}
.page-body input[type="checkbox"],.page-body input[type="radio"]{width:20px;height:20px;accent-color:var(--royal);margin:0}
.page-body input[type="file"]{display:block;width:100%;padding:var(--s-5);border:1px dashed var(--field-edge);
border-radius:var(--r);background:var(--surface);font:400 var(--t-data) var(--sans)}
.form-options{display:flex;flex-direction:column;gap:var(--s-2)}
.form-option{display:flex;align-items:center;gap:var(--s-3);min-height:var(--target-sm);font-weight:400;cursor:pointer}
.form-option-qty{width:96px!important;display:inline-block!important;margin-left:auto}
.help{display:block;font-size:var(--t-meta);font-weight:400;color:var(--slate-soft);margin:calc(-1 * var(--s-1)) 0 var(--s-2)}
.field-error{display:block;font-size:var(--t-meta);color:var(--danger);margin-top:var(--s-2);font-weight:400}
.field-error::before{content:'\26A0\FE0E  '}
.page-body fieldset{border:0;padding:0;margin:0 0 var(--s-5);min-width:0}
.form-submit{display:flex;gap:var(--s-3);align-items:center;margin-top:var(--s-6)}
.form-status{font-size:var(--t-data);color:var(--slate-soft)}
.form-status:empty{display:none}
p.form-status,.form-success{padding:var(--s-3) var(--s-4);border-left:3px solid var(--royal);background:var(--info-bg);color:var(--slate)}
.form-status-ok,.form-success{border-left-color:var(--ok)!important;background:var(--ok-bg)!important}
.form-status-error{border-left-color:var(--danger)!important;background:var(--danger-bg)!important}
/* Multi-step forms (SM098). The engine adds .lsf-js when its script runs and
   ships its own show/hide rules; these only style the parts. */
.lsf-progress{font-size:var(--t-label);font-weight:500;letter-spacing:.2em;text-transform:uppercase;
color:var(--gold-ink);margin-bottom:var(--s-4)}
.lsf-step>legend{font-family:var(--serif);font-size:var(--t-h3);color:var(--royal);font-weight:500;margin-bottom:var(--s-4)}
.lsf-nav{display:flex;gap:var(--s-3);margin-top:var(--s-5)}

/* ---- status ----------------------------------------------------------- */
.pill,.pill-ok,.pill-warn,.pill-danger{display:inline-block;padding:2px var(--s-3);border-radius:var(--r-pill);
font-size:var(--t-pill);font-weight:500;line-height:1.6;border:1px solid var(--royal);color:var(--royal);
background:var(--info-bg);white-space:nowrap}
.pill-ok{border-color:var(--ok);color:var(--ok);background:var(--ok-bg)}
.pill-warn{border-color:var(--warn);color:var(--warn);background:var(--warn-bg)}
.pill-danger{border-color:var(--danger);color:var(--danger);background:var(--danger-bg)}
.notice,.notice-ok,.notice-warn,.notice-danger{margin:var(--s-5) 0;padding:var(--s-4) var(--s-5);
border-left:3px solid var(--royal);background:var(--info-bg);color:var(--slate)}
.notice-ok{border-left-color:var(--ok);background:var(--ok-bg)}
.notice-warn{border-left-color:var(--warn);background:var(--warn-bg)}
.notice-danger{border-left-color:var(--danger);background:var(--danger-bg)}
:where(.notice,.notice-ok,.notice-warn,.notice-danger)>:first-child{margin-top:0}
:where(.notice,.notice-ok,.notice-warn,.notice-danger)>:last-child{margin-bottom:0}
:where(.notice,.notice-ok,.notice-warn,.notice-danger) h4{margin:0 0 var(--s-1)}
.steps ol{list-style:none;margin:0 0 var(--s-6);padding:0;display:flex;gap:var(--s-5);counter-reset:step;flex-wrap:wrap}
.steps li{counter-increment:step;font-size:var(--t-meta);color:var(--slate-soft);display:flex;align-items:center;gap:var(--s-2)}
.steps li::before{content:counter(step);width:24px;height:24px;border-radius:50%;border:1px solid var(--field-edge);
display:inline-flex;align-items:center;justify-content:center;font-weight:500}
.steps li.done{color:var(--slate)}
.steps li.done::before{content:'\2713';border-color:var(--cyan-ink);color:var(--cyan-ink)}
.steps li[aria-current]{color:var(--royal);font-weight:500}
.steps li[aria-current]::before{background:var(--royal);border-color:var(--royal);color:var(--white)}
.badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;
border-radius:var(--r-pill);background:var(--cyan);color:var(--navy);font-size:var(--t-label);font-weight:500}

/* ---- media ------------------------------------------------------------ */
figure{margin:var(--s-5) 0}
figure img{display:block;border-radius:var(--r)}
figcaption{margin-top:var(--s-2);font-size:var(--t-meta);color:var(--slate-soft)}
.icon{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.5;vertical-align:-4px}

/* ---- footer ----------------------------------------------------------- */
.site-foot{background:var(--navy);color:var(--pale);border-top:1px solid rgba(var(--pale-rgb),.18);padding:var(--s-6) 0}
.foot-in{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-6)}
.foot-brand{display:flex;align-items:center;gap:var(--s-3);color:var(--white);text-decoration:none;
font-family:var(--serif);font-size:var(--t-h3);letter-spacing:.08em}
.foot-brand img{border-radius:50%}
.foot-links{display:flex;gap:var(--s-5)}
.foot-links a,.foot-meta a{color:var(--pale)}
.foot-links a:hover,.foot-meta a:hover{color:var(--cyan)}
.foot-meta{margin:0 0 0 auto;font-size:var(--t-meta)}

/* ---- responsive ------------------------------------------------------- */
@media (max-width:980px){
.js .menu-btn{display:inline-flex}
.topbar-in{flex-wrap:wrap}
.topbar-menu{flex-basis:100%;flex-direction:column;align-items:stretch;gap:var(--s-4);padding-bottom:var(--s-4)}
.js .topbar-menu{display:none}
.js .topbar-menu.is-open{display:flex}
.nav>ul{flex-direction:column}
.sub>ul{position:static;box-shadow:none;border-top:0;border-left:2px solid var(--cyan);margin-left:var(--s-3)}
.topbar-tools{margin-left:0;flex-wrap:wrap}
.search{flex:1}
.search input{flex:1;width:auto}
.l-sidebar{grid-template-columns:minmax(0,1fr)}
.stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.foot-meta{margin-left:0;flex-basis:100%}
}
@media (max-width:600px){
.wrap{padding:0 var(--gutter-sm)}
h1{font-size:var(--t-h1-sm)}
.page-head{padding:var(--s-6) 0 var(--s-4)}
.facts dl{grid-template-columns:minmax(0,1fr)}
.facts dt{border-bottom:0;padding-bottom:0}
.event{grid-template-columns:52px minmax(0,1fr)}
.event>:last-child{grid-column:2}
.filters>*{flex-basis:100%}
.on-dark{padding:var(--s-6) var(--s-4)}
}
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{transition:none!important;animation:none!important}
}
