html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin: 0;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}
.account-card { max-width: 660px; margin: 2rem auto; padding: clamp(1rem, 3vw, 2rem); border: 1px solid #dfe5ed; border-radius: 16px; background: white; }
.account-card h1 { font-size: clamp(1.6rem, 4vw, 2rem); margin-bottom: 1.5rem; }
.account-card label { display: block; margin: 1rem 0 .4rem; }
.account-menu { display: flex; flex-wrap: wrap; gap: 1rem; padding: 1rem 0; margin-bottom: 1rem; border-bottom: 1px solid #dfe5ed; }
.account-card input, .account-card select { max-width: 100%; }

.company-editor { max-width: 1020px; margin: 2rem auto; padding: clamp(1rem,3vw,2rem); border: 1px solid #dfe5ed; border-radius: 16px; background: #fff; min-width:0; }
.company-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem 1.5rem; }
.company-grid .full { grid-column:1/-1; }
.company-editor label { display:block; margin:.75rem 0 .4rem; }
.company-editor > .panel + .panel { margin-top:1.25rem; }
.company-editor input,.company-editor select,.company-editor textarea { max-width:100%; min-width:0; }
.company-section { margin:2rem 0; padding:1.25rem 0; border-top:1px solid #e2e8f0; }
.company-section summary { font-weight:600; font-size:1.15rem; cursor:pointer; }
.company-section summary span { font-size:.85rem; margin-left:.5rem; }
.company-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem 1rem; margin-top:1rem; padding:1rem; background:#f8fafc; border-radius:10px; }
.company-row button { align-self:end; }
.company-status { background:#edf4ff; border-radius:8px; padding:1rem; margin:1rem 0; }
.badge-detail { display:inline-block; padding:.5rem; margin:.25rem .5rem .5rem 0; border:1px solid #b8c9e0; border-radius:8px; max-width:100%; }
.badge-detail p { max-width:32rem; }
.asset-card { display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; border:1px solid #dfe5ed; padding:1rem; border-radius:10px; margin:1rem 0; overflow-wrap:anywhere; }
.company-editor fieldset:disabled { opacity:.85; }
@media(max-width:600px) { .company-grid,.company-row { grid-template-columns:minmax(0,1fr); } .company-editor { margin:1rem 0; } }

:root { --up-blue:#3454d1; --up-ink:#202432; --up-line:#e1e6ef; }
.site-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.14em;color:var(--up-blue);margin-bottom:.75rem}
.directory-heading{padding:2.5rem 0 2rem}.directory-heading h1{font-size:clamp(1.8rem,4vw,2.7rem);font-weight:700;letter-spacing:-.03em}.directory-heading>p:last-child{color:#606b7e;max-width:45rem}
.directory-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:1.75rem;align-items:start;margin-bottom:3rem}.directory-filter{border:1px solid var(--up-line);border-radius:14px;padding:1.25rem;background:#f8fafc}.directory-filter label{display:block;font-size:.85rem;margin:1rem 0 .4rem}.directory-filter .directory-check{line-height:1.6;display:flex;gap:.5rem;align-items:start}.directory-check input{margin-top:.35rem;flex:none}
.results-heading{display:flex;justify-content:space-between;gap:1rem;margin:.25rem 0 1.25rem;color:#606b7e;font-size:.85rem}.results-heading strong{color:var(--up-ink)}.public-company-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.public-company-card{border:1px solid var(--up-line);border-radius:14px;padding:1.25rem;display:flex;flex-direction:column;min-width:0;transition:box-shadow .2s}.public-company-card:hover{box-shadow:0 8px 25px #2024320d}.company-card-top{display:flex;gap:1rem;align-items:center}.company-card-top img,.public-profile-identity img{object-fit:contain;border:1px solid var(--up-line);border-radius:12px;background:white;flex:none}.company-card-top h2{font-size:1.1rem;line-height:1.4;margin:0}.company-card-top h2 a{text-decoration:none;color:var(--up-ink)}.company-card-top p{font-size:.8rem;margin:.4rem 0;color:#606b7e}.company-letter{display:grid;place-items:center;width:64px;height:64px;background:#edf2ff;color:var(--up-blue);border-radius:12px;font-size:1.8rem;font-weight:700;flex:none}.company-card-description{font-size:.9rem;color:#606b7e;line-height:1.8;margin:1rem 0}.company-tags{display:flex;gap:.4rem;flex-wrap:wrap}.company-tags span{font-size:.75rem;background:#f0f3f8;color:#48546b;padding:.35rem .6rem;border-radius:6px}.company-card-link{display:flex;justify-content:space-between;font-weight:600;font-size:.85rem;border-top:1px solid var(--up-line);padding-top:1rem;margin-top:auto;text-decoration:none}.company-card-link:before{content:'';display:none}.public-company-card .company-tags{margin-bottom:1.25rem}
.public-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0}.public-badges details{font-size:.75rem;color:#3658a0;max-width:100%}.public-badges summary{cursor:pointer;background:#edf3ff;border-radius:5px;padding:.25rem .5rem}.public-badges details p{color:#48546b;background:#f8fafc;border:1px solid var(--up-line);padding:.75rem;border-radius:7px;width:270px;max-width:calc(100vw - 48px);line-height:1.7}.directory-empty{padding:3rem 1.5rem;background:#f8fafc;border:1px dashed #c6d0df;border-radius:14px}.directory-empty h2{font-size:1.35rem}.directory-pagination{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin:2rem 0;font-size:.9rem}
.public-breadcrumb{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.85rem;margin:2rem 0}.public-profile-hero{padding:2rem;background:#f5f7fd;border:1px solid var(--up-line);border-radius:16px}.public-profile-identity{display:flex;gap:1.5rem;align-items:center}.public-profile-identity h1{font-size:clamp(1.6rem,4vw,2.5rem);font-weight:700}.public-profile-columns{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:1.75rem;align-items:start}.public-section{padding:1.5rem;border:1px solid var(--up-line);border-radius:14px;margin-bottom:1.5rem;min-width:0}.public-section h2{font-size:1.35rem;margin-bottom:1.25rem}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85}.production-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.production-facts dt{font-size:.8rem;color:#606b7e}.production-facts dd{margin-top:.5rem;font-weight:600}.declaration-card{border-bottom:1px solid var(--up-line);padding:1rem 0;overflow-wrap:anywhere}.declaration-card:last-child{border:0}.public-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.public-gallery img{width:100%;height:180px;object-fit:cover;border-radius:8px}.public-gallery figcaption{font-size:.85rem;margin-top:.5rem}.public-contact{overflow-wrap:anywhere}.public-contact p{line-height:1.7}
@media(max-width:1000px){.directory-layout{grid-template-columns:220px minmax(0,1fr)}.public-company-grid{grid-template-columns:minmax(0,1fr)}.public-profile-columns{grid-template-columns:minmax(0,1fr)}}
@media(max-width:650px){.directory-layout{grid-template-columns:minmax(0,1fr)}.directory-heading{padding:1.5rem 0}.public-profile-hero{padding:1.25rem}.public-profile-identity{align-items:start;gap:1rem}.public-profile-identity img{width:70px;height:70px}.production-facts,.public-gallery{grid-template-columns:minmax(0,1fr)}.public-breadcrumb{margin:1rem 0}.results-heading{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.public-company-card{transition:none}}

/* Shared public shell and home. */
:root { --bs-primary:#3454d1; --bs-link-color:#2948bd; --up-muted:#606b7e; }
body { color:var(--up-ink); background:var(--up-page,#f6f7f9); font-family:system-ui,-apple-system,"Segoe UI",sans-serif; display:flex; flex-direction:column; min-height:100vh; }
a { color:#2948bd; text-underline-offset:3px; }
.btn { border-radius:8px; padding:.65rem 1rem; font-weight:600; }
.btn-primary { --bs-btn-bg:#3454d1; --bs-btn-border-color:#3454d1; --bs-btn-hover-bg:#2942ac; --bs-btn-hover-border-color:#2942ac; --bs-btn-active-bg:#243b9c; }
.btn-outline-primary { --bs-btn-color:#2948bd; --bs-btn-border-color:#3454d1; --bs-btn-hover-bg:#3454d1; --bs-btn-hover-border-color:#3454d1; }
.site-navbar { border-bottom:1px solid var(--up-line); padding:1rem 0; }
.site-navbar .navbar-brand { margin-right:2.5rem; }
.site-navbar .nav-link { font-size:.9rem; padding:.6rem .8rem!important; }
.site-navbar .navbar-collapse>div { font-size:.9rem; }
.site-content { flex:1; }
.skip-link { position:absolute; left:1rem; top:-100px; z-index:1000; padding:1rem; background:#fff; border:2px solid var(--up-blue); }
.skip-link:focus { top:1rem; }
.site-footer { border-top:1px solid var(--up-line); margin-top:3rem; background:#f8fafc; font-size:.85rem; }
.footer-main { display:flex; gap:2rem; align-items:start; justify-content:space-between; padding-top:2rem; padding-bottom:1.5rem; }
.footer-main strong { font-size:1.25rem; }.footer-main p { margin:.5rem 0 0; color:var(--up-muted); }
.footer-main nav { display:flex; flex-wrap:wrap; gap:1.5rem; }.footer-main>span { color:var(--up-muted); }
.local-preview { border-top:1px solid var(--up-line); padding-top:1rem; padding-bottom:1rem; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; font-size:.75rem; color:var(--up-muted); }
.local-preview>div { display:flex; flex-wrap:wrap; gap:1.25rem; }
.home-hero { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:4rem; padding:4.5rem 0 3rem; align-items:center; }
.home-intro h1 { font-size:clamp(2.3rem,4.4vw,3.7rem); letter-spacing:-.045em; line-height:1.12; font-weight:750; margin:1rem 0 1.5rem; max-width:650px; }
.home-intro h1 span { color:var(--up-blue); }.home-lead { color:var(--up-muted); line-height:1.85; max-width:38rem; }
.home-search { margin-top:2rem; padding:1.1rem; border:1px solid #cad4ee; border-radius:14px; box-shadow:0 8px 26px #243b6d09; }
.home-search label { font-size:.8rem; font-weight:650; margin-bottom:.75rem; }.home-search>div { display:flex; gap:.75rem; }.home-search input { min-width:0; }.home-search button { white-space:nowrap; }.home-search-hint { font-size:.8rem; color:var(--up-muted); margin:.85rem 0 0; }
.home-guide { padding:2rem; border-radius:20px; background:#f1f4ff; border:1px solid #e2e8fa; }
.guide-label { font-size:.7rem; letter-spacing:.12em; color:#2948bd; font-weight:700; }.home-guide h2 { font-size:1.6rem; line-height:1.35; letter-spacing:-.025em; margin:1rem 0 1.5rem; }.home-guide ol { padding:0; margin:0; list-style:none; }.home-guide li { display:flex; gap:1rem; margin-top:1.5rem; }.home-guide li>span { font-size:.8rem; color:#3454d1; background:#fff; border:1px solid #dce4fa; width:34px; height:34px; border-radius:50%; display:grid; place-items:center; flex:none; }.home-guide strong { font-size:.9rem; }.home-guide li p { font-size:.85rem; color:#536078; line-height:1.65; margin:.4rem 0 0; }
.home-section { margin:2.5rem 0 3rem; }.section-heading { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin-bottom:1.5rem; }.section-heading h2 { font-size:clamp(1.5rem,3vw,2rem); font-weight:700; letter-spacing:-.025em; margin:0; }.section-heading>a { font-size:.85rem; white-space:nowrap; }
.home-sector-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem; }.home-sector-grid a { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.25rem; border:1px solid var(--up-line); border-radius:12px; color:var(--up-ink); text-decoration:none; font-weight:600; font-size:.9rem; }.home-sector-grid a:hover { border-color:#3454d1; background:#f7f9ff; }.home-sector-grid a>span:last-child { color:#3454d1; }
.home-company-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.home-empty { padding:2rem; background:#f8fafc; border:1px dashed #c6d0df; border-radius:14px; }.home-empty h3 { font-size:1.2rem; }.home-empty p { color:var(--up-muted); max-width:45rem; line-height:1.8; }
.home-join { display:flex; align-items:center; justify-content:space-between; gap:2rem; background:#f1f4ff; padding:2rem; border-radius:16px; margin:3rem 0 1rem; }.home-join h2 { font-size:1.7rem; font-weight:700; letter-spacing:-.025em; }.home-join p:last-child { color:var(--up-muted); margin-bottom:0; }.home-join>a { flex:none; }
.company-card-top>div,.public-profile-identity>div,.directory-layout>section { min-width:0; }.public-company-card h2,.public-profile-identity h1,.company-tags span { overflow-wrap:anywhere; }
@media(max-width:991px) { .site-navbar .navbar-collapse { padding:1rem 0 .5rem; }.site-navbar .navbar-collapse>div { margin-top:1rem; }.home-hero { gap:2rem; padding-top:3rem; }.home-guide { padding:1.5rem; }.home-sector-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .home-hero { grid-template-columns:minmax(0,1fr); padding:2rem 0 1rem; gap:2rem; }.home-intro h1 { font-size:2.65rem; }.home-search>div { flex-direction:column; }.home-guide { padding:1.5rem; }.home-section { margin:2rem 0; }.section-heading { align-items:start; flex-direction:column; gap:.85rem; }.home-company-grid { grid-template-columns:minmax(0,1fr); }.home-sector-grid a { padding:1rem; font-size:.85rem; }.home-join { align-items:start; flex-direction:column; padding:1.5rem; margin:2rem 0 0; }.footer-main { flex-direction:column; gap:1.5rem; }.site-footer { margin-top:2rem; }.public-profile-identity { flex-wrap:wrap; } }

.directory-filter>details>summary { font-size:1.1rem; font-weight:650; cursor:pointer; }.directory-filter>details[open]>summary { margin-bottom:1rem; }

.home-slide[hidden],.home-slide-controls[hidden] { display:none!important; }
.home-carousel { max-width:1200px; margin:0 auto; }
.home-intro h2 { font-size:clamp(2.3rem,4.4vw,3.7rem); letter-spacing:-.045em; line-height:1.12; font-weight:750; margin:1rem 0 1.5rem; }.home-intro h2 span { color:var(--up-blue); }
.home-slide { min-height:450px; }.home-slide-controls { display:flex; justify-content:space-between; gap:1rem; align-items:center; border-bottom:1px solid var(--up-line); padding-bottom:1rem; }.home-slide-controls>div { display:flex; gap:.5rem; }.home-slide-controls button { border:1px solid #c6cfe5; background:#fff; color:#2948bd; border-radius:6px; padding:.45rem .75rem; font-size:.8rem; }.home-slide-controls .slide-dot[aria-current="true"] { background:#3454d1; color:#fff; }.home-slide-controls button:focus-visible { outline:3px solid #3454d1; outline-offset:3px; }
.home-search-section { margin:24px auto 2rem; }.home-search-section .home-search { margin-top:0; }.home-search-section .home-search>div { display:flex; }.home-search-section input { flex:1; }
.sample-ad-art { background:#24355e; border-radius:20px; padding:2rem; color:white; }.sample-ad-art>span { color:#b6c8ff; font-size:.7rem; letter-spacing:.12em; font-weight:700; }.sample-ad-art strong { display:block; font-size:2rem; line-height:1.5; letter-spacing:-.02em; margin:1.5rem 0; }.sample-ad-art p { color:#ccd6ef; font-size:.85rem; margin:0; }
@media(max-width:650px) { .home-slide { min-height:660px; }.home-intro h2 { font-size:2.65rem; }.home-search-section { margin-top:18px; }.home-search-section .home-search>div { flex-direction:column; }.sample-ad-art { padding:1.5rem; }.sample-ad-art strong { font-size:1.7rem; }.home-slide-controls { flex-wrap:wrap; }.home-slide-controls button { min-height:40px; } }

.sector-city-links { display:flex; flex-wrap:wrap; gap:.75rem 1.25rem; margin-top:1rem; }.public-section>summary { cursor:pointer; font-weight:600; }

.request-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.request-facts>div { min-width:0; overflow-wrap:anywhere; }.request-facts dt { font-size:.85rem; color:#606b7e; }.request-facts dd { margin-top:.4rem; }.request-spec-group { border:1px solid var(--up-line); padding:1rem; border-radius:8px; margin:1rem 0; }.request-spec-group>summary { font-weight:650; cursor:pointer; }@media(max-width:650px){.request-facts { grid-template-columns:minmax(0,1fr); }}

.quote-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:24px}.quote-card{height:auto;overflow-wrap:anywhere}.message-card{padding:16px;border:1px solid #dbe3e9;border-radius:12px;margin:12px 0;background:#f7fafb;overflow-wrap:anywhere}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}

.company-editor h1,.company-editor h2,.company-editor h3,.company-editor .btn{overflow-wrap:anywhere}

.company-compare-scroll{overflow-x:auto;max-width:100%}.company-compare{min-width:680px;table-layout:fixed}.company-compare th,.company-compare td{vertical-align:top;padding:16px;overflow-wrap:anywhere}.company-compare th:first-child{width:20%}.printable-company-card{max-width:1000px;margin:24px auto;overflow-wrap:anywhere}@media print{@page{margin:12mm}body>header,body>footer,.card-actions,.site-header,.site-footer,.site-content>main>nav{display:none!important}.container{max-width:none!important;width:100%!important;padding:0!important}.site-content{margin:0!important}.printable-company-card{border:0;padding:0;margin:0;max-width:none;box-shadow:none}.printable-company-card dl>div{break-inside:avoid}.printable-company-card a{color:#000;text-decoration:none}.printable-company-card .request-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}

.panel-section-menu{position:relative;max-width:360px;margin:20px 0}.panel-section-menu>summary{padding:12px;border:1px solid #dce2ef;border-radius:9px;cursor:pointer}.panel-section-menu>nav{position:absolute;z-index:10;top:100%;left:0;right:0;display:flex;flex-direction:column;padding:8px;background:#fff;border:1px solid #dce2ef;border-radius:9px;box-shadow:0 10px 25px #24365418}.panel-section-menu>nav a{padding:10px}.company-section{scroll-margin-top:24px}@media(max-width:650px){.panel-section-menu{max-width:none;width:100%}}

.filter-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.filter-tabs a{padding:8px 14px;border:1px solid #dce3ec;border-radius:24px;text-decoration:none}.filter-tabs a[aria-current=page]{background:#173d31;color:#fff}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.story-card{min-width:0}.story-card>a{display:inline-block;margin-right:12px}.story-card img{width:100%;height:200px;object-fit:contain;background:#f5f7f8;margin-bottom:20px}.story-card h2{font-size:23px;overflow-wrap:anywhere}.story-card form{margin-top:20px}.story-editor{max-width:850px;display:grid;gap:24px}.story-editor label,.story-photo-row label{display:grid;gap:8px}.story-editor textarea,.story-editor input:not([type=checkbox]),.story-editor select{width:100%;max-width:100%;min-width:0;padding:12px;border:1px solid #cdd6e0;border-radius:8px;font:inherit}.story-editor fieldset{min-width:0}.story-photo-row{border:1px solid #dce3ec;padding:20px;border-radius:12px;margin:20px 0;display:grid;gap:16px}.story-photo-row h3{font-size:18px}.story-editor .check-label{display:flex;gap:10px}.story-body{max-width:850px;margin:0 auto;overflow-wrap:anywhere}.story-body h1{font-size:clamp(28px,4vw,44px)}.story-intro{font-size:20px;line-height:1.7;color:#5a6877}.story-body section{margin:40px 0}.story-body img{max-width:100%;height:auto;display:block;object-fit:contain}.story-cover{width:100%;max-height:520px;margin:32px 0}.story-paragraph{white-space:pre-wrap;line-height:1.9;margin:20px 0}.story-body figure{margin:32px 0}.story-body figcaption{font-size:14px;color:#5a6877;margin-top:12px}.pager{display:flex;gap:20px;margin:28px 0}@media(max-width:900px){.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.story-grid{grid-template-columns:1fr}.story-editor{padding:18px}.story-photo-row{padding:12px}}
.story-photo-row{display:block}.story-photo-row summary{font-weight:600}.story-photo-fields{display:grid;gap:16px;margin-top:20px}
.story-photo-preview{width:100%;height:180px;object-fit:contain;background:#f5f7f8}.story-photo-preview[hidden]{display:none}
.fair-filters{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:24px 0}.fair-filters label{display:grid;gap:8px;min-width:150px;flex:1}.fair-filters select,.fair-filters input{max-width:100%;padding:10px;border:1px solid #cdd6e0;border-radius:8px;min-width:0}.fair-card h2{font-size:23px;overflow-wrap:anywhere}.fair-card{min-width:0}@media(max-width:600px){.fair-filters{display:grid;grid-template-columns:minmax(0,1fr)}.fair-filters label{min-width:0}}
.career-field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.career-editor{gap:18px}.career-editor fieldset{display:grid;gap:12px}.career-editor legend{font-size:20px}@media(max-width:600px){.career-field-pair{grid-template-columns:minmax(0,1fr)}}

.notice-item{padding:1rem 0;border-bottom:1px solid #dce3ed;overflow-wrap:anywhere}.notice-item h3{font-size:1.1rem}.notice-item form{margin-top:.65rem}.notice-unread{border-left:3px solid #3454d1;padding-left:1rem}

.notice-page{max-width:880px;margin:2rem auto}.notice-page>.panel{background:#fff;border:1px solid #dce3ed;border-radius:14px;padding:1.5rem;margin:1.25rem 0}.notice-page h1{font-size:clamp(1.9rem,4vw,2.8rem);margin:.3rem 0 1rem}.notice-page h2{font-size:1.4rem}.notice-page form>label:not(.check-line){display:grid;gap:.4rem;margin:.8rem 0}.notice-page input[type=text]{width:100%;max-width:460px;border:1px solid #a9b6ca;border-radius:8px;padding:.6rem .75rem}.notice-page .check-line{display:flex;align-items:flex-start;gap:.6rem;margin:.85rem 0}.notice-page .check-line input{flex:0 0 auto;margin-top:.3rem}.notice-page .notice-item:last-of-type{margin-bottom:1rem}.notice-page nav{margin-top:1rem}.notice-page .text-muted{font-size:.9rem;margin-top:.9rem}@media(max-width:600px){.notice-page{margin:1.2rem auto}.notice-page>.panel{padding:1rem}.notice-page .btn{white-space:normal}}

.pwa-page{max-width:960px;margin:2rem auto}.pwa-intro{padding:2rem 0 1rem;max-width:760px}.pwa-intro>img{display:block;border-radius:18px;margin-bottom:1.5rem}.pwa-intro h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.12;letter-spacing:-.03em;margin:.8rem 0 1.2rem}.pwa-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.pwa-page .panel{border:1px solid #dce3ed;border-radius:14px;padding:1.5rem;background:white;margin:1.2rem 0}.pwa-page h2{font-size:1.3rem}.pwa-update-note{position:fixed;bottom:1rem;left:1rem;max-width:calc(100vw - 2rem);width:410px;background:#fff1db;color:#202432;padding:1.2rem;border-radius:12px;box-shadow:0 6px 26px #0003;z-index:1100}.pwa-offline{position:fixed;bottom:0;left:0;right:0;padding:1rem;background:#fff1db;text-align:center;z-index:1090}@media(max-width:600px){.pwa-page{margin:1rem auto}.pwa-grid{grid-template-columns:1fr;gap:0}.pwa-page .panel{padding:1rem}.pwa-intro{padding-top:1rem}}

.help-launch{position:fixed;right:1rem;bottom:1rem;z-index:1000;background:#3454d1;color:#fff!important;border-radius:50px;padding:.75rem 1rem;box-shadow:0 4px 16px #0002;text-decoration:none}.help-dialog{width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #dce3ed;border-radius:16px;color:#202432}.help-dialog::backdrop{background:#14233b66}.help-dialog>header,.help-dialog>footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.3rem;background:#f6f8fc}.help-dialog h2{font-size:1.5rem;margin:0}.help-dialog header p{margin:.4rem 0 0}.help-dialog header>button{border:0;background:transparent;font-size:2rem;color:#202432}.help-content{padding:1.3rem;overflow:auto}.help-search{display:flex;gap:.5rem;margin:.6rem 0 1rem}.help-search input{min-width:0;flex:1;border:1px solid #a9b6ca;border-radius:8px;padding:.65rem}.help-categories,.help-links{display:flex;gap:.6rem;flex-wrap:wrap}.help-dialog article{border-top:1px solid #dce3ed;margin-top:1rem;padding-top:1rem}.help-dialog h3{font-size:1.2rem}.help-dialog li{margin:.6rem 0}.help-dialog .text-muted{font-size:.85rem}@media(max-width:600px){.help-dialog>header,.help-dialog>footer,.help-content{padding:1rem}.help-dialog .help-search{flex-direction:column}.help-dialog>footer{align-items:flex-start;flex-wrap:wrap}}

.support-page{max-width:960px;margin:2rem auto}.support-page h1{font-size:clamp(1.9rem,4vw,2.8rem);margin:.5rem 0 1.2rem}.support-page .panel{border:1px solid #dce3ed;border-radius:14px;padding:1.5rem;margin:1.3rem 0;background:white}.support-page h2{font-size:1.4rem}.support-page h3{font-size:1.1rem}.support-page label{display:grid;gap:.4rem;margin:.8rem 0}.support-page input:not([type=hidden]),.support-page textarea,.support-page select{width:100%;min-width:0;border:1px solid #a9b6ca;border-radius:8px;padding:.65rem .8rem;background:#fff}.support-page details{border-top:1px solid #dce3ed;padding:1rem 0}.support-page summary{font-weight:600;cursor:pointer}.support-page details .help-links{margin:.8rem 0}.support-page dd,.support-page .preserve-lines{overflow-wrap:anywhere}.support-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media(max-width:600px){.support-page{margin:1rem auto}.support-page .panel{padding:1rem}}

.legal-links{display:flex;flex-wrap:wrap;gap:.7rem 1rem;font-size:.85rem;padding:1rem 0;border-top:1px solid #dce3ed}.privacy-dialog{width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 32px);border:1px solid #dce3ed;border-radius:14px;padding:1.5rem;color:#202432}.privacy-dialog::backdrop{background:#14233b66}.privacy-dialog h2{font-size:1.5rem}.privacy-dialog form{margin:1rem 0}.privacy-dialog .check-line{display:flex;align-items:flex-start;gap:.65rem}.privacy-dialog input[type=checkbox]{margin-top:.4rem;flex:0 0 auto}.support-page .check-line{display:flex;align-items:flex-start;gap:.7rem}.support-page .check-line input[type=checkbox]{width:auto;margin-top:.4rem}@media(max-width:600px){.privacy-dialog{padding:1rem}}

.admin-links-heading{font-size:1.15rem;margin:1.25rem 0 .75rem}.admin-panel-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.65rem;margin-bottom:1.5rem}.admin-panel-links a{display:flex;align-items:center;min-height:44px;padding:.65rem .8rem;border:1px solid #dfe5ed;border-radius:8px;line-height:1.45;background:#f8f9fd;overflow-wrap:anywhere}

.admin-list-page{max-width:960px;margin:2rem auto;padding:0 1rem}
.admin-list-page h1{font-size:clamp(1.6rem,4vw,2.1rem);margin-bottom:1rem}
.admin-list-page .panel{padding:1rem 1.2rem;margin:1rem 0;border:1px solid var(--up-line);border-radius:12px;background:#fff}
.admin-list-page .panel h2{font-size:1.25rem;margin:0 0 .65rem;overflow-wrap:anywhere}
.admin-list-page .panel p{margin:0;color:#48546b}
.admin-list-page .pager{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;padding:1rem 0}
.admin-list-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}

/* Published source text keeps semantic tables and lists in the local layout. */
.imported-public-content{overflow-wrap:anywhere}.imported-public-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:1rem 0}.imported-public-content th,.imported-public-content td{padding:.65rem;border:1px solid #dce2eb;vertical-align:top}.imported-public-content h2{margin-top:1.6rem}.imported-public-content img{max-width:100%;height:auto}

/* Published fair artwork stays local; preserve the source dark-background variant. */
.upg-fair-logo{display:flex;align-items:center;justify-content:center;height:140px;min-width:0;padding:22px;background:#f5f7fb;border-radius:12px;overflow:hidden}.upg-fair-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.upg-fair-logo.upg-logo-dark{background:#182239}.upg-logo-placeholder{color:#69758a;font-weight:700;letter-spacing:.12em}.fair-published-detail{max-width:900px}.fair-published-detail article>div{display:flex;flex-wrap:wrap;gap:18px}.fair-published-detail article>div>section{flex:1 1 280px}.fair-published-detail span+span{margin-left:12px}.fair-published-detail h1{overflow-wrap:anywhere}
.published-page{max-width:1100px;margin-inline:auto}.published-page article>div{min-width:0}.published-page img{height:auto;max-height:560px;object-fit:contain;border-radius:12px;margin-block:12px}.published-page section{margin-block:24px}.published-page section>div{white-space:pre-line}.published-page h1{overflow-wrap:anywhere}.published-page figcaption{color:#596578;font-size:.9rem}.published-page article>div>img{max-height:220px}.published-page a{overflow-wrap:anywhere}
.published-page article>div:has(h1){display:flex;align-items:center;gap:24px;margin:28px 0}.published-page article>div:has(h1)>div:has(img){flex:0 0 180px}.published-page article>div:has(h1) img{max-width:180px;max-height:110px;margin:0}.published-page article>div:has(h1)>div:last-child{flex:1;min-width:0}.published-page article>div:has(h1) h1{margin-top:0}.published-page article>div:has(>span){display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.published-page article>div:has(>span)>span{background:#f2f4fa;border-radius:8px;padding:7px 10px}.published-page p>span:first-child{display:inline-block;margin-right:10px;font-weight:600}.published-page strong{margin-right:8px}.published-page article>div>section:first-child{margin-top:30px}@media(max-width:600px){.published-page article>div:has(h1){display:block}.published-page article>div:has(h1)>div:has(img){margin-bottom:20px}.published-page article>div:has(h1) img{max-width:150px;max-height:90px}.published-page h1{font-size:30px}}
.published-page div>span+span{margin-left:8px}

.upload-status { grid-column:1 / -1; margin-block:1rem; padding:1rem; border:1px solid #cbd4ff; border-radius:12px; background:#eef1ff; color:#222b48; }
.upload-status strong { display:block; margin-bottom:.5rem; }
.upload-status progress { display:block; width:100%; height:.65rem; margin-block:.75rem; accent-color:#3651dc; }
.upload-status p { margin:0; }
form[aria-busy="true"] [aria-disabled="true"] { cursor:wait; opacity:.7; }
.request-state-summary {display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.65rem;}
.request-state-summary a {display:flex;flex-direction:column;gap:.25rem;padding:.8rem;border:1px solid var(--line,#dfe4ef);border-radius:12px;text-decoration:none;background:#f6f7fb;}
.request-state-summary strong {font-size:1.5rem;line-height:1.1;}
.request-state-summary a[aria-current="page"] {border-color:#4b45dc;background:#eeedff;}

/* The visible number remains the accessible rating; stars are decorative. */
.review-stars{display:inline-block;position:relative;color:#c8ced8;font-size:1.2em;line-height:1.3;letter-spacing:.08em;white-space:nowrap;vertical-align:middle}
.review-stars::before{content:"★★★★★";position:absolute;left:0;top:0;width:var(--rating-fill,0%);overflow:hidden;white-space:nowrap;color:#b97800}
@media(forced-colors:active){.review-stars{display:none}}

.admin-asset-preview,.admin-document-preview{flex:0 1 220px;width:220px;max-width:100%;min-height:140px;padding:12px;border:1px solid #dfe5ed;border-radius:10px;background:#f5f7fa;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.admin-asset-preview img{display:block;width:100%;height:160px;object-fit:contain}
.admin-document-preview{flex-direction:column;gap:8px;text-align:center}
.admin-document-preview>span{font-weight:750;font-size:1.8rem;color:#475569}
.admin-asset-info{flex:1 1 260px;min-width:0}
.admin-asset-info form{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.admin-asset-info details form{display:block}
@media(max-width:575px){.admin-asset-preview,.admin-document-preview{flex-basis:100%;width:100%}.admin-asset-info{flex-basis:100%}}

/* Compact cookie choice: dismissing saves essential-only, no automatic opt-in. */
.privacy-banner{position:fixed;right:18px;bottom:18px;left:auto;z-index:1200;width:min(440px,calc(100vw - 36px));padding:18px 20px;background:#fff;border:1px solid #dce3ed;border-radius:14px;box-shadow:0 8px 32px #1727401a;color:#202432}
.privacy-banner[hidden],.privacy-banner-error[hidden]{display:none}
.privacy-banner>p{margin:0;padding-right:24px;font-size:14px;line-height:1.6}
.privacy-banner>p>a{white-space:nowrap;color:var(--up-blue,#364cce);text-underline-offset:3px}
.privacy-dismiss{position:absolute;right:8px;top:7px;margin:0}
.privacy-dismiss button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:#606b7d;font-size:25px;line-height:1}
.privacy-dismiss button:hover{background:#f1f3f8;color:#202432}
.privacy-dismiss button:focus-visible{outline:2px solid #364cce;outline-offset:1px}
.privacy-banner-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin-top:14px}
.privacy-banner-actions form{margin:0}.privacy-banner-actions .btn{font-size:13px;padding:9px 14px;min-height:40px;border-radius:8px}
.privacy-banner-actions>a{font-size:13px;font-weight:600;color:#606b7d;text-underline-offset:3px}
.privacy-banner>.privacy-banner-error{padding:0;margin-top:10px;color:#b42336;font-size:12px}
@media(max-width:600px){.privacy-banner{right:10px;left:10px;bottom:10px;width:auto;padding:16px 18px}.privacy-banner>p{font-size:13px}.privacy-banner-actions{margin-top:12px}}
