:root{--navy:#17243C;--navy2:#183047;--blush:#EFCCD7;--soft:#F0D9E2;--ivory:#FFFAF4;--gold:#B99A61;--ink:#17243C;--muted:#4d5a6e;--line:rgba(185,154,97,.55)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.4 Arial,Helvetica,sans-serif;color:var(--ink);background:var(--ivory) url(/images/bpc-marble-background.png) center top/cover fixed;min-height:100vh;overflow-x:hidden}
h1,h2,h3,.serif{font-family:Georgia,"Times New Roman",serif;font-weight:400;margin:0}
a{color:var(--navy2)}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px clamp(12px,3vw,28px);background:linear-gradient(var(--ivory),rgba(255,250,244,.88));border-bottom:1px solid var(--line);flex-wrap:wrap}
.brand img{height:clamp(78px,10vw,112px);width:auto;max-width:100%;display:block}
.top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.btn,button.btn{min-height:44px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--navy);border-radius:10px;background:var(--ivory);color:var(--navy);font:600 15px Arial,sans-serif;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--soft)} .btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.btn.primary{background:var(--navy);color:var(--ivory)} .btn.primary:hover{background:var(--navy2)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn.sm{min-height:44px;padding:0 12px;font-size:14px}
.owner-link{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.updated{font-size:13px;color:var(--muted)}
main{max-width:1120px;margin:0 auto;padding:12px clamp(10px,2.5vw,24px) 24px;outline:none}
.panel{background:rgba(255,250,244,.95);border:1px solid var(--line);border-radius:16px;padding:12px 14px;box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 6px 18px rgba(23,36,60,.08)}
.panel+.panel,.panel+.grid,.grid+.panel{margin-top:10px}
.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--navy2);font-weight:700}
.eyebrow::after{content:"";display:inline-block;width:28px;height:2px;background:var(--gold);vertical-align:middle;margin-left:8px}
.page-title{font-size:clamp(24px,5vw,32px);margin:2px 0 0}
.notice{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:14px}
.notice strong{color:var(--navy)}
/* summary tiles */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
.tile{background:var(--ivory);border:1px solid var(--line);border-radius:14px;padding:10px 12px;min-height:84px}
.tile.dark{background:linear-gradient(160deg,var(--navy),var(--navy2));color:var(--ivory)}
.tile h3{font:700 14px Arial,sans-serif}
.tile.dark h3{color:var(--blush)}
.tile p{margin:6px 0 0;font-size:14px}
.tile .num{font:400 26px Georgia,serif}
/* home hero */
.hero{display:grid;grid-template-columns:1fr;gap:10px;align-items:end;background:rgba(255,250,244,.94);padding:20px 22px;border-radius:14px;border:1px solid var(--line);box-shadow:0 6px 22px rgba(23,36,60,.08)}
.hero.has-character{grid-template-columns:1fr minmax(120px,220px)}
.home-subtitle{color:var(--muted);margin:6px 0 12px}
.verification-note{font-size:13px;color:var(--muted);border-left:3px solid var(--blush);padding:4px 10px}
.verification-note strong{color:var(--navy);margin-right:6px}
.home-section-head{padding:14px 2px 2px}
.priority-movers{background:linear-gradient(120deg,#fffaf4,#f8eced);padding:16px 20px}
.section-menu{position:relative;flex:0 1 auto}
.section-menu>summary{padding:0 12px;font-weight:600;font-size:14px;min-height:44px}
.section-menu .tabs-main{position:absolute;top:48px;left:0;z-index:5;width:min(420px,85vw);padding:12px;background:var(--ivory);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 24px #17243c26}
.character-slot{position:relative;min-height:150px;display:none;align-items:flex-end;justify-content:center}
.hero.has-character .character-slot{display:flex}
.character-slot img{max-height:300px;width:auto;max-width:100%;filter:drop-shadow(0 8px 10px rgba(23,36,60,.25));background:none}
.character-slot .missing{border:1.5px dashed var(--gold);border-radius:16px;padding:8px;font-size:12px;color:var(--muted);text-align:center;width:100%;background:rgba(255,250,244,.6)}
/* nav cards */
.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.grid{display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin-top:10px}
.card{display:flex;align-items:center;gap:10px;min-height:146px;padding:14px 16px;background:linear-gradient(135deg,#fffdf9 0%,#fffaf4 55%,#f6ece2 100%);border:1px solid rgba(185,154,97,.65);border-radius:14px;text-decoration:none;color:var(--ink);box-shadow:inset 0 2px 1px #ffffff,0 3px 0 #b99a6125,0 9px 20px #17243c14;transition:transform .15s ease,box-shadow .15s ease}
.card:hover{background:#fff;transform:translateY(-1px)}
.card.navy{background:linear-gradient(160deg,var(--navy),var(--navy2));color:var(--ivory);border-color:var(--navy)}
.card.navy small{color:#dfe5ee}
.card .art{flex:0 0 108px;height:108px;background:url(/images/navigation-art-atlas.png) no-repeat;background-size:300% 300%;filter:drop-shadow(0 5px 3px #17243c1a)}
.art.a0{background-position:0 0}.art.a1{background-position:50% 0}.art.a2{background-position:100% 0}
.art.a3{background-position:0 50%}.art.a4{background-position:50% 50%}.art.a5{background-position:100% 50%}
.art.a6{background-position:0 100%}.art.a7{background-position:50% 100%}.art.a8{background-position:100% 100%}
.card .t{font:400 22px/1.15 Georgia,serif;display:block}
.card small{display:block;font-size:13px;color:var(--muted);margin-top:3px}
.card.plain{min-height:78px}
.movers{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.chip{min-height:44px;padding:0 16px;display:inline-flex;align-items:center;border:1.5px solid var(--gold);border-radius:999px;background:var(--ivory);color:var(--navy);font-weight:700;text-decoration:none;font-size:15px;cursor:pointer}
.chip:hover{background:var(--soft)}
.chip[aria-current="true"],.chip.on{background:var(--navy);color:var(--ivory);border-color:var(--navy)}
/* section toolbar */
.toolbar{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}
.tabs-main{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 320px}
.tabs-right{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;align-items:center}
.tabs-right .gap{margin-left:14px}
.tab{min-height:44px;padding:0 12px;display:inline-flex;align-items:center;border-radius:10px;border:1px solid transparent;text-decoration:none;color:var(--navy);font-size:14px;font-weight:600}
.tab:hover{background:var(--soft)} .tab[aria-current="page"]{background:var(--blush);border-color:var(--line)}
.tab.pi{background:var(--navy2);color:var(--ivory)} .tab.pi[aria-current="page"]{outline:2px solid var(--gold)}
/* lists */
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.two>.panel{margin:0}
.panel h2{font-size:20px;margin-bottom:6px}
.rows{list-style:none;margin:0;padding:0}
.rows li{border-top:1px solid rgba(185,154,97,.35)}
.rows li:first-child{border-top:0}
details>summary{list-style:none;cursor:pointer;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:6px 0}
details>summary::-webkit-details-marker{display:none}
details>summary::after{content:"+";font-weight:700;color:var(--gold);margin-left:auto;padding-left:8px}
details[open]>summary::after{content:"\2212"}
.sum-main{font-weight:700;min-width:0;overflow-wrap:anywhere}
.sum-meta{font-size:14px;color:var(--muted)}
.dl{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;font-size:14px;margin:0 0 8px}
.dl dt{color:var(--muted)} .dl dd{margin:0;overflow-wrap:anywhere}
.badge{display:inline-block;font-size:12px;font-weight:700;border-radius:999px;padding:2px 8px;border:1px solid var(--gold);background:var(--ivory)}
.badge.warn{background:var(--blush)}
.empty{padding:16px;border:1px solid #efccd7;border-radius:10px;text-align:center;color:var(--muted);font-size:15px;background:rgba(240,217,226,.18)}
.empty.small{padding:10px;font-size:14px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
input,select,textarea{min-height:44px;border:1.5px solid rgba(23,36,60,.4);border-radius:10px;padding:0 10px;font:16px Arial,sans-serif;background:#fff;color:var(--ink);max-width:100%}
.filters input[type=search]{flex:1 1 180px}
.pager{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px;font-size:14px}
form.f,div.f{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;align-items:end}
form.f label,div.f label,label.wide-label{display:flex;flex-direction:column;font-size:13px;gap:3px;color:var(--muted)}
.mini{font-size:13px;color:var(--muted)}
dialog{border:1px solid var(--gold);border-radius:16px;padding:12px;background:var(--ivory);width:min(760px,94vw)}
dialog::backdrop{background:rgba(23,36,60,.55)}
dialog video{width:100%;border-radius:10px;background:#000;display:block}
.vd-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.vd-note{font-size:13px;margin:8px 0 0}
#toast{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);background:var(--navy);color:var(--ivory);padding:10px 16px;border-radius:10px;font-size:14px;display:none;max-width:92vw;z-index:20}
.foot{max-width:1120px;margin:0 auto;padding:10px 16px 24px;font-size:12px;color:var(--navy2);text-align:center}
table.t{width:100%;border-collapse:collapse;font-size:14px} table.t td,table.t th{padding:6px;border-top:1px solid rgba(185,154,97,.35);text-align:left;overflow-wrap:anywhere}
@media (max-width:860px){.tiles{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
 .two{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.hero{grid-template-columns:1fr;padding:16px}.hero.has-character{grid-template-columns:1fr 36%}
 .tabs-right{justify-content:flex-start}.tabs-right .gap{margin-left:10px}
 .card{min-height:122px}.card .art{flex-basis:92px;height:92px}
}
@media (max-width:380px){.tiles{grid-template-columns:1fr}.hero{grid-template-columns:1fr}}

.source-text{white-space:pre-wrap;font:13px/1.45 ui-monospace,Menlo,monospace;overflow-wrap:anywhere;max-height:420px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px}
.source-counts{display:flex;flex-wrap:wrap;gap:8px 16px;margin:8px 0}.wide-label{grid-column:1/-1}.form-error{color:#7a1e3d;font-weight:700;min-height:1.2em;grid-column:1/-1}.honey{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.request-line{margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:12px}.needs{padding-left:18px}textarea{padding:10px;min-height:88px}#work-dialog form.f{margin-top:8px}

label.wide-label{margin:10px 0}label.wide-label textarea,.f input,.f select{width:100%;box-sizing:border-box}#request-form .btn{margin:6px 6px 6px 0}

.voice-btn{align-self:flex-start;margin-top:4px}.voice-btn.on{background:var(--navy,#17243c);color:#fff}.voice-note{min-height:1em}input[type=search]+.voice-btn{display:none}

#speak-fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:30;min-height:52px;min-width:88px;border-radius:26px;box-shadow:0 6px 18px rgba(23,36,60,.35);font-size:16px}#speak-dialog{max-width:min(560px,94vw);width:100%}.voice-btn.big{min-height:52px;width:100%;font-size:16px}

.hero.has-speak{grid-template-columns:1fr auto;align-items:center}
.hero-speak{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:132px;height:132px;border-radius:50%;border:2px solid #c9a96e;background:#17243c;color:#fff;cursor:pointer;box-shadow:0 8px 22px rgba(23,36,60,.3);font:inherit}
.hero-speak b{font-size:17px;letter-spacing:.02em}.hero-speak span{font-size:12px;opacity:.85}.hero-speak:focus-visible{outline:3px solid #c9a96e;outline-offset:3px}
@media (max-width:600px){.hero.has-speak{grid-template-columns:1fr 104px}.hero-speak{width:96px;height:96px}.hero-speak span{display:none}}

.grid.grid-two{grid-template-columns:repeat(2,1fr)}@media (max-width:600px){.grid.grid-two{grid-template-columns:1fr}}.home-links{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.home-section-head h2{background:rgba(255,250,244,.9);padding:3px 12px;border-radius:10px;display:inline-block}
