:root { color-scheme: light; --ink:#14222b; --muted:#62717a; --line:#dce2e5; --paper:#fff; --bg:#f4f6f7; --red:#af2028; --red-dark:#871820; --soft:#fbeff0; --green:#216a4a; --gray:#eef1f2; }
* { box-sizing:border-box; }
html { min-width:320px; }
body { margin:0; background:var(--bg); color:var(--ink); font:15px/1.45 "Segoe UI", Arial, sans-serif; }
button, input, select, textarea { font:inherit; }
button { cursor:pointer; }
a { color:var(--red-dark); }
img { max-width:100%; }
.shell { min-height:100vh; }
.topbar { background:#fff; border-bottom:1px solid var(--line); min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:10px max(24px, calc((100vw - 1380px)/2)); }
.brand { display:flex; align-items:center; gap:15px; min-width:0; }
.brand img { width:72px; height:54px; object-fit:contain; }
.brand-text { display:flex; flex-direction:column; min-width:0; }
.brand-text strong { font-size:16px; line-height:1.15; letter-spacing:0; }
.brand-text span { font-size:11px; color:var(--muted); text-transform:uppercase; font-weight:700; }
.top-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.top-actions small { color:var(--muted); }
.content { max-width:1380px; margin:0 auto; padding:28px 24px 60px; }
.page-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:24px; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:26px; line-height:1.2; margin-bottom:4px; }
h2 { font-size:18px; line-height:1.25; margin-bottom:8px; }
h3 { font-size:14px; text-transform:uppercase; margin-bottom:15px; color:var(--muted); }
.eyebrow { color:var(--red); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; margin-bottom:7px; }
.subtitle, .help { color:var(--muted); }
.subtitle { margin-bottom:0; }
.help { font-size:12px; line-height:1.4; }
.workspace { display:grid; grid-template-columns:minmax(255px,330px) minmax(0,1fr); gap:24px; align-items:start; }
.roster { background:var(--paper); border:1px solid var(--line); min-height:570px; }
.roster-head { padding:18px; border-bottom:1px solid var(--line); }
.roster-head strong { display:block; margin-bottom:13px; }
.roster-head input { width:100%; }
.roster-list { max-height:calc(100vh - 240px); min-height:390px; overflow-y:auto; }
.person-row { display:block; width:100%; text-align:left; background:#fff; border:0; border-bottom:1px solid var(--line); padding:15px 18px; color:var(--ink); }
.person-row:hover, .person-row.active { background:#f9f0f1; }
.person-row.active { box-shadow:inset 3px 0 var(--red); }
.person-row strong { display:block; font-size:14px; }
.person-row span { display:block; color:var(--muted); font-size:12px; margin-top:3px; overflow-wrap:anywhere; }
.editor { background:var(--paper); border:1px solid var(--line); padding:28px; min-height:570px; }
.editor-head { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; border-bottom:1px solid var(--line); padding-bottom:18px; margin-bottom:26px; }
.editor-head p { margin:0; color:var(--muted); }
.section { border-top:1px solid var(--line); margin-top:28px; padding-top:27px; }
.section:first-child { border-top:0; margin-top:0; padding-top:0; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 20px; }
.field { min-width:0; }
.field.full { grid-column:1/-1; }
label.label { display:block; font-weight:650; font-size:13px; margin-bottom:7px; }
input[type=text],input[type=password],input[type=email],input[type=tel],input[type=date],input[type=search],select,textarea { display:block; width:100%; height:39px; padding:8px 10px; border:1px solid #cbd4d8; border-radius:3px; background:#fff; color:var(--ink); outline:none; }
textarea { height:auto; min-height:86px; resize:vertical; }
input:focus,select:focus,textarea:focus { border-color:var(--red); box-shadow:0 0 0 2px rgba(175,32,40,.10); }
input[type=file] { display:block; max-width:100%; font-size:13px; }
input[type=checkbox] { accent-color:var(--red); width:16px; height:16px; margin:0; }
.checkline { display:flex; align-items:flex-start; gap:9px; font-size:13px; }
.checkline label { cursor:pointer; }
.field-visibility { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; margin-top:16px; }
.field-visibility .checkline { padding:10px; border:1px solid var(--line); border-radius:3px; }
.button { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; background:var(--red); color:#fff; border:1px solid var(--red); border-radius:3px; min-height:39px; padding:8px 14px; font-weight:650; font-size:13px; white-space:nowrap; }
.button:hover { background:var(--red-dark); border-color:var(--red-dark); color:#fff; }
.button.secondary { background:#fff; color:var(--ink); border-color:#b8c3c8; }
.button.secondary:hover { background:var(--gray); color:var(--ink); border-color:#95a3aa; }
.button.danger { background:#fff; color:var(--red-dark); border-color:#dca9ac; }
.button.danger:hover { background:var(--soft); }
.button:disabled { opacity:.55; cursor:wait; }
.button-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:20px; }
.inline { display:flex; align-items:end; gap:9px; }
.inline > :first-child { flex:1; }
.pill { display:inline-block; border:1px solid #bad5c8; background:#e8f4ed; color:var(--green); font-weight:700; font-size:11px; padding:4px 8px; border-radius:2px; text-transform:uppercase; }
.pill.inactive { border-color:#e4bcc0; background:var(--soft); color:var(--red-dark); }
.qr-layout { display:grid; grid-template-columns:175px minmax(0,1fr); gap:24px; align-items:start; }
.qr-box { width:175px; height:175px; border:1px solid var(--line); padding:8px; background:#fff; }
.qr-box img { display:block; width:100%; height:100%; object-fit:contain; }
.url { font-size:12px; word-break:break-all; background:var(--gray); padding:10px; margin:10px 0; border:1px solid var(--line); }
.file-tools { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.upload-block { border:1px solid var(--line); padding:16px; }
.upload-block .button { margin-top:12px; }
.file-list { border-top:1px solid var(--line); margin-top:20px; }
.file-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:11px 0; border-bottom:1px solid var(--line); }
.file-name { min-width:0; overflow-wrap:anywhere; font-size:13px; }
.file-name small { display:block; color:var(--muted); }
.file-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:flex-end; }
.file-actions a { font-size:12px; }
.empty { color:var(--muted); padding:28px; font-size:13px; }
.center-state { display:grid; place-items:center; min-height:100vh; padding:30px 18px; }
.auth-panel { width:min(100%,430px); background:#fff; border:1px solid var(--line); border-top:4px solid var(--red); padding:32px; }
.auth-panel .brand { margin-bottom:32px; }
.auth-panel .brand img { width:85px; height:65px; }
.auth-panel .field { margin-bottom:16px; }
.auth-panel .button { width:100%; }
.auth-panel .help { margin:15px 0 0; }
#toast { position:fixed; bottom:20px; right:20px; max-width:min(420px,calc(100vw - 40px)); padding:12px 16px; background:var(--ink); color:#fff; box-shadow:0 5px 20px #0002; opacity:0; transform:translateY(12px); pointer-events:none; transition:.2s; z-index:10; }
#toast.show { opacity:1; transform:translateY(0); }
#toast.error { background:var(--red-dark); }
.public-shell { min-height:100vh; background:#eef1f2; padding:0 16px 40px; }
.public-header { max-width:520px; margin:0 auto; padding:25px 0 20px; display:flex; align-items:center; gap:14px; }
.public-header img { width:77px; height:60px; object-fit:contain; }
.public-header strong { display:block; font-size:17px; }
.public-header span { color:var(--muted); font-size:11px; text-transform:uppercase; font-weight:700; }
.public-card { max-width:520px; margin:0 auto; background:#fff; border:1px solid var(--line); border-top:5px solid var(--red); }
.public-main { padding:26px; }
.public-photo { width:130px; height:155px; object-fit:cover; background:var(--gray); border:1px solid var(--line); margin-bottom:18px; }
.public-name { font-size:27px; line-height:1.16; margin:12px 0 6px; overflow-wrap:anywhere; }
.public-role { color:var(--muted); margin-bottom:22px; overflow-wrap:anywhere; }
.public-data { margin:0; border-top:1px solid var(--line); }
.public-data > div { display:grid; grid-template-columns:135px 1fr; padding:11px 0; border-bottom:1px solid var(--line); gap:15px; }
.public-data dt { color:var(--muted); font-size:12px; text-transform:uppercase; font-weight:700; }
.public-data dd { margin:0; overflow-wrap:anywhere; }
.public-docs { padding:22px 26px; background:#f9fafb; border-top:1px solid var(--line); }
.public-docs a { display:block; padding:10px 0; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.public-foot { max-width:520px; margin:16px auto 0; color:var(--muted); font-size:11px; text-align:center; }
@media(max-width:900px) { .workspace { grid-template-columns:1fr; } .roster { min-height:0; } .roster-list { min-height:0; max-height:270px; } }
@media(max-width:620px) { .topbar { padding:10px 15px; } .brand img { width:55px; height:45px; } .brand-text strong { font-size:14px; } .brand-text span { font-size:9px; } .top-actions small { display:none; } .content { padding:22px 14px 50px; } .page-heading { align-items:flex-start; } .page-heading h1 { font-size:23px; } .editor { padding:19px; } .form-grid, .file-tools { grid-template-columns:1fr; } .field-visibility { grid-template-columns:repeat(2,minmax(0,1fr)); } .qr-layout { grid-template-columns:1fr; } .qr-box { width:175px; } .inline { align-items:stretch; flex-direction:column; } .file-row { align-items:flex-start; flex-direction:column; } .file-actions { justify-content:flex-start; } .public-data > div { grid-template-columns:110px 1fr; gap:9px; } }

.button { gap:7px; }
.button svg { width:16px; height:16px; flex:none; stroke-width:2; }
.media-pane > .section:first-child { border-top:1px solid var(--line); margin-top:28px; padding-top:27px; }
.mobile-nav { display:none; }
.file-info { display:flex; align-items:center; gap:12px; min-width:0; }
.file-thumb { flex:none; width:52px; height:52px; object-fit:cover; border:1px solid var(--line); background:#fff; border-radius:3px; }
.file-thumb-icon { display:grid; place-items:center; color:var(--red); background:var(--soft); }
.file-thumb-icon svg { width:22px; height:22px; }
.file-actions .button { min-height:34px; }
.upload-block input[type=file] { width:100%; }
.public-docs { padding:22px 26px; }
.public-docs h2 { margin-bottom:12px; }
.public-images { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:13px; }
.public-image { display:block; border:1px solid var(--line); background:#fff; text-decoration:none; color:var(--ink); }
.public-image img { display:block; width:100%; height:230px; object-fit:contain; background:#fff; }
.public-image span { display:block; padding:9px 11px; border-top:1px solid var(--line); font-size:12px; overflow-wrap:anywhere; }
.public-pdfs { display:grid; gap:8px; }
.public-pdf { display:flex !important; align-items:center; gap:12px; min-height:54px; padding:12px !important; border:1px solid var(--line) !important; background:#fff; color:var(--ink); text-decoration:none; }
.public-pdf:hover { border-color:var(--red) !important; }
.public-pdf span { flex:1; min-width:0; overflow-wrap:anywhere; }
.public-pdf svg { width:19px; height:19px; flex:none; color:var(--red); }

@media(max-width:760px) {
  body { background:#fff; }
  .shell { padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
  .topbar { position:sticky; top:0; z-index:5; min-height:64px; background:#fff; }
  .content { padding:20px 16px 24px; }
  .page-heading { align-items:center; margin-bottom:18px; }
  .page-heading h1 { font-size:21px; }
  .page-heading .button { min-height:40px; padding:8px 10px; }
  .page-heading .button svg { width:15px; height:15px; }
  .workspace { display:block; }
  .roster, .editor { min-height:0; border:0; background:transparent; }
  .roster-head { padding:0 0 12px; border:0; }
  .roster-list { max-height:none; min-height:0; overflow:visible; border-top:1px solid var(--line); }
  .person-row { min-height:68px; padding:12px; }
  .editor { padding:0; }
  .editor-head { padding:3px 0 17px; margin-bottom:20px; }
  .editor-head h2 { font-size:18px; overflow-wrap:anywhere; }
  .editor-head p { font-size:12px; }
  .section { margin-top:24px; padding-top:23px; }
  .field-visibility { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .field-visibility .checkline { min-height:47px; align-items:center; }
  .form-grid, .file-tools, .qr-layout { grid-template-columns:1fr; }
  .file-row { align-items:flex-start; flex-direction:column; }
  .file-actions { width:100%; justify-content:space-between; }
  .file-info { width:100%; }
  .file-name { flex:1; }
  .qr-box { width:175px; height:175px; }
  .shell[data-mobile-view="people"] .editor,
  .shell[data-mobile-view="edit"] .roster,
  .shell[data-mobile-view="files"] .roster,
  .shell[data-mobile-view="edit"] .media-pane,
  .shell[data-mobile-view="files"] .profile-pane,
  .shell:not([data-mobile-view="files"]) .settings { display:none; }
  .mobile-nav { position:fixed; z-index:10; bottom:0; left:0; right:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); height:calc(70px + env(safe-area-inset-bottom)); padding-bottom:env(safe-area-inset-bottom); border-top:1px solid var(--line); background:#fff; box-shadow:0 -5px 16px #14222b0d; }
  .mobile-nav button { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:4px; min-width:0; padding:7px 3px; border:0; background:transparent; color:var(--muted); font-size:11px; font-weight:700; }
  .mobile-nav button svg { width:22px; height:22px; stroke-width:1.9; }
  .mobile-nav button[aria-current="page"] { color:var(--red); box-shadow:inset 0 3px var(--red); }
  .mobile-nav button:disabled { opacity:.4; }
  #toast { bottom:calc(82px + env(safe-area-inset-bottom)); left:16px; right:16px; max-width:none; }
  .public-shell { min-height:100vh; padding:0 0 32px; background:#fff; }
  .public-header { position:sticky; top:0; z-index:4; max-width:none; min-height:76px; padding:10px 18px; background:#fff; border-bottom:1px solid var(--line); }
  .public-card { max-width:none; margin:0; border:0; border-top:4px solid var(--red); }
  .public-main { padding:24px 20px; }
  .public-docs { padding:22px 20px; }
  .public-images { grid-template-columns:1fr; }
  .public-image img { height:auto; max-height:420px; min-height:180px; }
  .public-foot { padding:0 16px; }
}

.lan-suggestions { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:8px 0 11px; }
.lan-suggestions span { color:var(--muted); font-size:12px; }
.lan-suggestions button { padding:5px 8px; border:1px solid var(--line); background:#fff; color:var(--ink); border-radius:3px; font-size:12px; }
.lan-suggestions button:hover { border-color:var(--red); }
.password-settings { border-bottom:1px solid var(--line); padding:0 0 13px; margin:-10px 0 23px; }
.password-settings summary { cursor:pointer; font-weight:650; }
.password-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; align-items:end; gap:12px; max-width:940px; margin-top:14px; }
.password-form .button { margin-bottom:0; }
@media(max-width:760px) { .password-form { grid-template-columns:1fr; } }

@media(max-width:360px) {
  .brand-text span { display:none; }
  .page-heading h1 { font-size:19px; }
  .page-heading .button { font-size:12px; }
  .field-visibility { grid-template-columns:1fr; }
}

/* Public badge page */
.public-shell { min-height:100vh; padding:0 0 30px; background:#edf0f1; }
.public-header { position:static; max-width:none; min-height:0; margin:0; padding:0; display:block; background:#fff; border-top:4px solid var(--red); border-bottom:1px solid #d5dde0; }
.public-header-inner { display:flex; align-items:center; gap:21px; max-width:760px; margin:0 auto; padding:17px 22px; }
.public-header img { flex:none; width:112px; height:82px; object-fit:contain; }
.public-brand { display:flex; flex-direction:column; min-width:0; color:var(--ink); line-height:1.25; }
.public-brand strong { font-size:25px; line-height:1; margin-bottom:7px; }
.public-brand span { color:#36454e; font-size:11px; font-weight:750; letter-spacing:0; overflow-wrap:anywhere; }
.public-brand span + span { margin-top:5px; color:#68757d; }
.public-card { max-width:760px; margin:28px auto 0; border:1px solid #d4dce0; border-top:0; background:#fff; }
.public-main { padding:0; background:#142129; color:#fff; border-top:5px solid var(--red); }
.public-main-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; min-height:245px; padding:34px 38px; }
.public-identity { min-width:0; }
.public-kicker { margin-bottom:18px; color:#d0d9de; font-size:11px; font-weight:750; }
.public-status { display:inline-flex; align-items:center; gap:8px; padding:7px 10px; border:1px solid #46614e; color:#d8f1e2; background:#234033; font-size:11px; font-weight:750; }
.public-status.is-inactive { border-color:#864349; background:#4d2429; color:#ffe5e7; }
.public-status-dot { display:block; width:7px; height:7px; flex:none; border-radius:50%; background:#8ce1ab; }
.public-status.is-inactive .public-status-dot { background:#ef9ba2; }
.public-name { max-width:470px; margin:16px 0 7px; color:#fff; font-size:32px; line-height:1.13; font-weight:700; overflow-wrap:anywhere; }
.public-role { max-width:470px; margin:20px 0 0; padding:2px 0 2px 15px; border-left:3px solid var(--red); overflow-wrap:anywhere; }
.public-role span { display:block; margin-bottom:6px; color:#c4cdd2; font-size:10px; font-weight:800; }
.public-role strong { display:block; color:#fff; font-size:21px; line-height:1.25; font-weight:750; }
.public-invalid-note { margin:11px 0 0; color:#d8e0e4; font-size:13px; }
.public-photo { flex:none; display:block; width:166px; height:190px; margin:0; object-fit:cover; background:#25333b; border:2px solid #fff; }
.public-details, .public-docs { padding:26px 38px 32px; background:#fff; }
.public-docs { border-top:1px solid #dce2e5; }
.public-section-head { display:flex; justify-content:space-between; gap:15px; padding-bottom:11px; border-bottom:2px solid var(--red); color:#263741; font-size:11px; font-weight:800; }
.public-section-head span:last-child { color:var(--red); }
.public-data { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:30px; margin:0; border:0; }
.public-data > div { display:block; min-width:0; padding:17px 0 16px; border-bottom:1px solid #e4e9eb; }
.public-data dt { margin-bottom:5px; color:#687781; font-size:10px; line-height:1.3; font-weight:750; }
.public-data dd { margin:0; color:#1c2a33; font-size:15px; line-height:1.4; font-weight:600; overflow-wrap:anywhere; white-space:pre-wrap; }
.public-images { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:20px 0 0; }
.public-image { display:block; border:1px solid #dce2e5; background:#fff; color:var(--ink); text-decoration:none; }
.public-image img { display:block; width:100%; height:210px; object-fit:contain; background:#f4f6f7; }
.public-image span { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px 12px; border-top:1px solid #dce2e5; font-size:12px; font-weight:650; overflow-wrap:anywhere; }
.public-image svg { width:16px; height:16px; flex:none; color:var(--red); }
.public-pdfs { display:grid; gap:8px; margin-top:20px; }
.public-pdf { display:flex !important; align-items:center; gap:13px; min-height:56px; padding:12px 14px !important; border:1px solid #dce2e5 !important; background:#f8fafb; color:var(--ink); text-decoration:none; font-size:13px; font-weight:650; }
.public-pdf:hover, .public-image:hover { border-color:var(--red) !important; color:var(--ink); }
.public-pdf span { flex:1; min-width:0; overflow-wrap:anywhere; }
.public-pdf svg { width:19px; height:19px; flex:none; color:var(--red); }
.public-foot { display:flex; justify-content:space-between; gap:12px; max-width:760px; margin:15px auto 0; padding:0 4px; color:#6a7880; font-size:10px; font-weight:750; }
.public-ended { display:grid; place-items:center; padding:32px 20px; }
.public-ended-inner { max-width:360px; text-align:center; }
.public-ended-inner img { width:130px; height:100px; object-fit:contain; }
.public-ended-inner h1 { margin:18px 0 8px; color:var(--ink); font-size:22px; }
.public-ended-inner p { margin:0; color:var(--muted); line-height:1.5; }
.access-heading { display:flex; align-items:start; justify-content:space-between; gap:16px; }
.access-heading h3 { margin:0 0 4px; }
.access-heading .help { margin:0; }
.access-heading .button { flex:none; }
.access-list { margin-top:17px; border-top:1px solid var(--line); }
.access-row { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:13px 0; border-bottom:1px solid var(--line); }
.access-row > div:first-child { min-width:0; overflow-wrap:anywhere; }
.access-row strong, .access-row span, .access-row small { display:block; }
.access-row strong { font-size:14px; }
.access-row span, .access-row small { margin-top:4px; color:var(--muted); font-size:12px; }
.access-row-actions { display:flex; align-items:center; gap:10px; flex:none; }
.access-row-actions .pill { margin:0; color:var(--green); }
.access-row-actions .pill.inactive { color:var(--red-dark); }
.access-empty { margin:17px 0 0; }
.access-form { margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.access-form h4 { margin:0 0 15px; font-size:15px; }
.access-active { margin-top:18px; }
.public-accesses { padding:26px 38px 32px; background:#fff; border-top:1px solid #dce2e5; }
.public-access { padding:19px 0 17px; border-bottom:1px solid #e4e9eb; }
.public-access:last-child { border-bottom:0; padding-bottom:0; }
.public-access-top { display:flex; align-items:start; justify-content:space-between; gap:16px; }
.public-access-top strong { color:#1c2a33; font-size:19px; line-height:1.25; overflow-wrap:anywhere; }
.public-access-top span { flex:none; padding:4px 7px; border:1px solid #bad5c8; color:var(--green); font-size:10px; font-weight:800; }
.public-access dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; margin:14px 0 0; }
.public-access dt { margin-bottom:5px; color:#687781; font-size:10px; font-weight:750; text-transform:uppercase; }
.public-access dd { margin:0; color:#1c2a33; font-size:13px; font-weight:600; overflow-wrap:anywhere; }
@media(max-width:760px) {
  .access-heading { align-items:flex-start; }
  .access-row { align-items:flex-start; flex-direction:column; gap:9px; }
  .access-row-actions { width:100%; justify-content:space-between; }
  .public-accesses { padding:24px 20px 28px; }
  .public-access dl { grid-template-columns:1fr 1fr; }
  .public-shell { padding-bottom:24px; background:#fff; }
  .public-header { position:static; min-height:0; padding:0; }
  .public-header-inner { gap:10px; padding:12px 15px; }
  .public-header img { width:77px; height:61px; }
  .public-brand strong { font-size:20px; margin-bottom:5px; }
  .public-brand span { font-size:10px; line-height:1.3; }
  .public-brand span + span { margin-top:3px; }
  .public-card { max-width:none; margin:0; border:0; }
  .public-main { border-top:4px solid var(--red); }
  .public-main-inner { gap:14px; min-height:230px; padding:27px 20px; }
  .public-name { font-size:26px; }
  .public-role { margin-top:17px; padding-left:12px; }
  .public-role strong { font-size:17px; }
  .public-photo { width:112px; height:142px; }
  .public-details, .public-docs { padding:24px 20px 28px; }
  .public-data { grid-template-columns:1fr; }
  .public-images { grid-template-columns:1fr; }
  .public-image img { height:auto; max-height:380px; min-height:180px; }
  .public-foot { padding:0 20px; }
}
@media(max-width:390px) {
  .access-heading { flex-direction:column; }
  .public-access dl { grid-template-columns:1fr; gap:11px; }
  .public-header img { width:65px; height:56px; }
  .public-brand strong { font-size:18px; }
  .public-brand span { font-size:9px; }
  .public-main-inner { align-items:flex-start; }
  .public-photo { width:89px; height:116px; }
  .public-name { font-size:23px; }
}
