
:root{
  --ink:#18202b; --navy:#14243a; --paper:#f5f0e6; --cream:#ece4d5; --gold:#c99d45;
  --burgundy:#7c3039; --line:#d7cfc0; --white:#fffdf8; --muted:#6a7179; --danger:#9b2f2f;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",system-ui,sans-serif;color:var(--ink);background:var(--white);line-height:1.6}
h1,h2,h3,h4{font-family:"Libre Caslon Text",Georgia,serif;line-height:1.08;margin:0 0 1rem}
h1{font-size:clamp(3rem,7vw,6rem);letter-spacing:-.04em}
h2{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.03em}
h3{font-size:1.45rem}
h4{font-size:1.1rem;margin-top:2rem}
p{margin:0 0 1rem}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{width:min(1180px,92vw);margin:auto}
.view{display:none}.view.active{display:block}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,253,248,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:74px}
.brand{display:flex;align-items:center;gap:.8rem;font-weight:700}
.brand-mark{width:48px;height:48px;border:1px solid var(--ink);display:grid;place-items:center;font-size:.78rem;letter-spacing:.08em}
.button-link{background:none;border:0;color:inherit}
.site-nav{display:flex;gap:1.1rem}
.site-nav .button-link{font-size:.9rem}
.hero{padding:7rem 0 6rem;background:linear-gradient(135deg,var(--paper),#fbf8f1 65%)}
.hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:5rem;align-items:center}
.eyebrow{font-size:.74rem;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--burgundy)}
.light{color:#e2bd6b}.light-copy{color:#d9e0e8}.lede{font-size:1.25rem;max-width:720px}
.hero-actions{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap}
.btn{display:inline-block;padding:.85rem 1.15rem;border:1px solid var(--navy);font-weight:700;font-size:.88rem;background:white;color:var(--navy)}
.btn-primary{background:var(--navy);color:white}.btn-secondary{background:transparent}.btn-danger{border-color:var(--danger);color:white;background:var(--danger)}
.index-card{background:var(--navy);color:white;padding:2rem;border-top:6px solid var(--gold);box-shadow:0 20px 60px rgba(19,35,58,.18)}
.index-card-top{display:flex;justify-content:space-between;gap:1rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}
.index-score{font-family:"Libre Caslon Text",serif;font-size:6.6rem;line-height:.95;margin:1.7rem 0 .4rem}
.index-label{font-size:1.05rem;font-weight:700}.card-note{color:#cfd6e1;font-size:.9rem}
.band{background:var(--burgundy);color:white;padding:1.4rem 0}
.band-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.band-grid>div{display:flex;flex-direction:column}
.metric{font-family:"Libre Caslon Text",serif;font-size:2rem}.metric-label{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em}
.section{padding:6rem 0}.section-dark{background:var(--navy);color:white}.cream{background:var(--paper)}
.section-head{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:end;margin-bottom:3rem}
.section-subhead{margin-top:4rem;margin-bottom:2rem}
.cards.three{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.finding-card,.award-card{border:1px solid var(--line);padding:1.6rem;background:var(--white)}
.section-dark .award-card{border-color:#40506a;background:#172a45}
.card-score{font-family:"Libre Caslon Text",serif;font-size:3.6rem;line-height:1}
.card-meta{font-size:.82rem;color:var(--muted)}
.filters{display:flex;gap:1rem;margin-bottom:1.5rem}
.filters input,.filters select{padding:.8rem;border:1px solid var(--line);background:white}
.filters input{flex:1}
.table-wrap{overflow:auto}.rankings-table{width:100%;border-collapse:collapse}
.rankings-table th,.rankings-table td{padding:1rem .75rem;border-bottom:1px solid var(--line);text-align:left}
.rankings-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}
.score-pill{display:inline-block;background:var(--navy);color:white;padding:.25rem .55rem;min-width:58px;text-align:center}
.sentiment{font-weight:700;color:var(--burgundy)}
.panel{background:var(--white);border:1px solid var(--line);padding:2rem;box-shadow:0 14px 40px rgba(30,25,20,.06)}
.narrow-panel{max-width:560px}
.admin-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem}
.admin-toolbar{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}
.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.score-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:700;margin-bottom:1rem}
input,select,textarea{border:1px solid var(--line);background:#fff;padding:.75rem;color:var(--ink)}
textarea{resize:vertical}
.check-label{flex-direction:row;align-items:center;font-weight:600}
.check-label input{width:auto}
.computed-score{display:grid;grid-template-columns:1fr auto;gap:.3rem 1rem;align-items:end;background:var(--paper);padding:1rem;margin:1rem 0 1.5rem}
.computed-score strong{font-family:"Libre Caslon Text",serif;font-size:3.4rem;grid-row:1/3;grid-column:2}
.computed-score span:last-child{font-size:.82rem;color:var(--muted)}
.admin-list{display:flex;flex-direction:column;gap:.8rem}
.admin-record{border:1px solid var(--line);padding:1rem}
.admin-record button{margin-top:.5rem}
.hidden{display:none!important}
.file-btn{position:relative;overflow:hidden}
.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}
.observer-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem;align-items:start}
.profile-card{background:var(--white);border:1px solid var(--line);padding:2rem}
.profile-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.5rem}
.profile-stat-grid div{display:flex;flex-direction:column}
.profile-stat-grid b{font-size:1.6rem}
.profile-stat-grid span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
.badge-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}
.badge{background:var(--white);border:1px solid var(--line);padding:1.2rem;text-align:center;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.badge.locked{opacity:.38;filter:grayscale(1)}
.badge span{width:62px;height:62px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;margin-bottom:.7rem;font-family:"Libre Caslon Text",serif;font-weight:700}
.badge b{font-size:.9rem}.badge small{margin-top:.4rem;color:var(--muted)}
.history-list{display:flex;flex-direction:column;gap:.8rem}
.history-item{background:white;border:1px solid var(--line);padding:1rem;display:flex;justify-content:space-between;gap:1rem}
.detail-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;align-items:start}
.detail-scorebox{background:var(--navy);color:white;padding:2rem}
.detail-scorebox .big-score{font-family:"Libre Caslon Text",serif;font-size:6rem;line-height:.95}
.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}
.detail-stat{border-top:1px solid var(--line);padding-top:1rem}
.vote-box{margin-top:2rem;padding:1.3rem;background:var(--paper);border-left:4px solid var(--gold)}
.vote-buttons{display:flex;gap:.8rem;margin-top:1rem}
.vote-buttons button{flex:1}
.doctrine{padding:1rem 1.2rem;background:#f0e7d6;border-left:4px solid var(--burgundy);margin-top:1.5rem}
.fine-print{font-size:.8rem;color:var(--muted);font-style:italic}
footer{background:#0d1725;color:#cdd5df;padding:3rem 0}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
@media(max-width:900px){
  .hero-grid,.section-head,.admin-grid,.observer-grid,.detail-hero{grid-template-columns:1fr}
  .cards.three{grid-template-columns:1fr 1fr}.badge-grid{grid-template-columns:repeat(3,1fr)}
  .site-nav{gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.brand-text{display:none}
}
@media(max-width:620px){
  .band-grid,.form-grid.two,.score-grid,.profile-stat-grid{grid-template-columns:1fr 1fr}
  .cards.three,.badge-grid,.detail-grid{grid-template-columns:1fr}
  .filters{flex-direction:column}.footer-grid{grid-template-columns:1fr}.index-score{font-size:5rem}
}

.auth-box{display:grid;gap:1rem}
.auth-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.status{padding:.8rem 1rem;border:1px solid #d8cfbd;background:#fffaf0;margin:.8rem 0}
.status.error{border-color:#9c3b3b;background:#fff4f4}
.status.success{border-color:#4c7556;background:#f3fbf5}
.photo-preview{width:100%;max-height:520px;object-fit:cover;border-radius:12px;margin:1rem 0}
.photo-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1rem}
.photo-strip img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.user-chip{display:inline-block;padding:.35rem .6rem;border-radius:999px;background:#f0e8d8;font-size:.82rem}
.inline-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}
.hidden{display:none!important}
@media(max-width:760px){.auth-row{grid-template-columns:1fr}.photo-strip{grid-template-columns:1fr 1fr}}

/* Step 4B — official photographic record */
.photo-manager{border:1px solid var(--line);padding:1.3rem;margin:1.5rem 0;background:var(--paper)}
.photo-manager h3{margin-top:0}
.photo-upload-row{display:flex;align-items:end;gap:1rem;flex-wrap:wrap}
.photo-upload-row label{flex:1;min-width:180px}
.photo-upload-row button{margin-bottom:1rem}
.admin-photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}
.admin-photo-card{border:1px solid var(--line);background:white;min-width:0}
.admin-photo-card>img{display:block;width:100%;height:180px;object-fit:cover}
.admin-photo-card-body{padding:.8rem}
.photo-kind{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--burgundy);margin-bottom:.7rem}
.photo-actions{display:flex;flex-wrap:wrap;gap:.4rem}
.photo-actions .btn{padding:.45rem .6rem;font-size:.75rem}
.photo-actions button:disabled{opacity:.4;cursor:not-allowed}
.photo-caption{width:100%}
.public-hero-photo{margin:1rem 0 2rem}
.public-hero-photo .photo-preview{margin:0}
.public-hero-photo figcaption,.photo-strip figcaption{font-size:.78rem;color:var(--muted);padding:.4rem 0}
.supporting-gallery{margin-top:2rem}
.photo-strip figure{margin:0;min-width:0}
.photo-strip a{display:block}
@media(max-width:620px){.admin-photo-gallery{grid-template-columns:1fr}}

/* Step 4C — restored editorial Institute identity. Static sections only; no auth/data logic changed. */
.institute-proclamation{padding:6.5rem 0;text-align:center;background:#f0e6d2;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.proclamation-inner{max-width:960px}.proclamation-rule{display:flex;align-items:center;gap:1.2rem;justify-content:center;font-size:.62rem;letter-spacing:.22em;font-weight:700;color:var(--burgundy)}
.proclamation-rule:before,.proclamation-rule:after{content:"";height:1px;background:#b7a689;flex:1;max-width:150px}
.proclamation-kicker{font-size:.82rem;text-transform:uppercase;letter-spacing:.14em;color:var(--burgundy);margin:2.3rem 0 1.5rem}
.institute-proclamation h2{font-size:clamp(2.3rem,4.5vw,4.5rem);line-height:1.22;letter-spacing:-.038em;margin:0 auto 1.8rem;max-width:860px}
.proclamation-signoff{font-family:"Libre Caslon Text",Georgia,serif;font-size:1.35rem;margin:0 0 2.5rem}.proclamation-signoff em{color:var(--burgundy)}
.institute-standards{background:#fffdf8}.standards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.standard-tile{padding:2rem 1.6rem;background:var(--paper);border-top:4px solid var(--gold);min-height:300px;display:flex;flex-direction:column}
.standard-number,.director-label{font-size:.7rem;letter-spacing:.15em;font-weight:700;color:var(--burgundy)}
.standard-tile h3{margin:1.6rem 0 1rem}.standard-tile p{font-size:.95rem}.standard-tile .tile-note{margin-top:auto;padding-top:1rem;border-top:1px solid var(--line);font-size:.82rem;font-style:italic;color:var(--muted)}
.institute-advisory{background:var(--navy);color:#fff;padding:5rem 0;border-top:7px solid var(--gold)}
.advisory-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:5rem;align-items:center}.advisory-grid h2{font-size:clamp(2.5rem,4vw,4.4rem)}
.advisory-subtitle{color:#d1d9e4}.advisory-document{background:#f5f0e6;color:var(--ink);padding:2.6rem;border:1px solid var(--gold);box-shadow:10px 10px 0 #263e5a;position:relative}
.advisory-document p{font-family:"Libre Caslon Text",Georgia,serif;font-size:1.23rem;line-height:1.6;margin:2rem 0}.advisory-stamp{font-size:.72rem;letter-spacing:.16em;font-weight:700;color:var(--burgundy);border:2px solid var(--burgundy);padding:.4rem .6rem;display:inline-block;transform:rotate(-3deg)}
.advisory-document small{font-size:.73rem;color:var(--muted)}
.institute-identity{background:#ede5d6;scroll-margin-top:85px}.institute-grid{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:5rem}
.institute-seal{width:min(100%,340px);aspect-ratio:1;border-radius:50%;border:9px double var(--gold);background:var(--navy);color:var(--gold);box-shadow:0 18px 38px #14243a25;display:grid;place-items:center;margin:auto}
.seal-inner{height:83%;width:83%;border:1px solid #b99a55;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.5rem}.seal-arches{font-family:"Libre Caslon Text",Georgia,serif;font-size:1.7rem}.seal-elbow{font-size:4rem;line-height:1}.seal-est{font-size:.9rem;letter-spacing:.15em}.seal-sub{font-size:.52rem;letter-spacing:.12em}
.institute-tagline{font-family:"Libre Caslon Text",Georgia,serif;font-size:1.5rem;color:var(--burgundy)}.director-block{display:flex;flex-direction:column;gap:.3rem;margin-top:2rem;padding:1.2rem 1.5rem;border-left:4px solid var(--gold);background:#fff9ed}
.director-block strong{font-family:"Libre Caslon Text",Georgia,serif;font-size:1.5rem}.director-block em{font-size:.87rem;color:var(--burgundy);margin-top:.4rem}
.institute-nav{display:inline-flex;align-items:center;text-decoration:none;font-size:.9rem}.institute-nav:hover{text-decoration:underline}
.footer-aside{font-family:"Libre Caslon Text",Georgia,serif;font-style:italic;color:#e2bd6b}
@media(max-width:900px){.advisory-grid,.institute-grid{grid-template-columns:1fr;gap:2rem}.standards-grid{grid-template-columns:1fr}.standard-tile{min-height:0}}
@media(max-width:620px){.institute-proclamation{padding:4rem 0}.proclamation-rule{letter-spacing:.08em}.advisory-document{padding:1.5rem;box-shadow:5px 5px 0 #263e5a}.institute-seal{max-width:250px}.institute-nav{font-size:.85rem}}

/* Step 4D — original prototype institutional character, without demo metrics */
.archival-feature { padding-top: 4.5rem; padding-bottom: 4.5rem; }
.archival-feature .section-head { margin-bottom: 2.1rem; }
.archive-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.1rem; }
.archive-card { background:rgba(255,255,255,.06); border:1px solid rgba(240,225,188,.25); padding:1.5rem; color:#f7f1e4; min-height:15rem; }
.archive-card h3 { font-family:Georgia, 'Times New Roman', serif; font-size:1.36rem; margin:.8rem 0; color:#fff4dc; }
.archive-card p { line-height:1.65; color:#e7e0d5; }
.archive-medallion { width:3.5rem; height:3.5rem; display:grid; place-items:center; border:2px solid #d4a52e; border-radius:50%; color:#e4c36b; font-family:Georgia,serif; font-size:1.1rem; font-weight:700; box-shadow:inset 0 0 0 4px rgba(212,165,46,.15); }
.archive-action { margin-top:1.6rem; }
.insignia-program { margin-top:3.6rem; border-top:1px solid rgba(11,37,69,.2); padding-top:2.5rem; }
.insignia-intro { max-width:61rem; line-height:1.75; }
.insignia-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1.6rem 0 1rem; }
.insignia-card { background:#fffaf0; border:1px solid #d6c7a6; padding:1.5rem 1rem; text-align:center; box-shadow:0 3px 12px rgba(11,37,69,.05); }
.insignia-card h3 { font-family:Georgia,serif; color:#0b2545; font-size:1.17rem; margin:1rem 0 .5rem; }
.insignia-card p { font-size:.94rem; line-height:1.5; color:#5a5360; margin:0; }
.insignia-coin { width:7rem; height:7rem; margin:0 auto; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#f5ebd6; background:radial-gradient(circle at 30% 20%,#314f6d,#0b2545 65%); border:7px double #d4a52e; box-shadow:0 3px 10px #0b254529, inset 0 0 0 2px #f5ebd65c; }
.insignia-coin span { font-family:Georgia,serif; font-size:1.7rem; line-height:1.2; font-weight:bold; }
.insignia-coin small { font-size:.58rem; letter-spacing:.12em; color:#e4c36b; margin-top:.3rem; }
.insignia-fine-print { color:#6d6470; font-size:.82rem; line-height:1.5; border-top:1px solid #d6c7a6; padding-top:.8rem; }
@media(max-width:850px) { .archive-cards,.insignia-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px) { .archive-cards,.insignia-grid { grid-template-columns:1fr; } .archival-feature {padding-top:3rem;padding-bottom:3rem;} }

/* Step 4E — Institutional identity and earned insignia */
.brand-crest{width:49px;height:49px;object-fit:contain}.hero-wordmark{display:block;max-width:min(510px,100%);max-height:165px;object-fit:contain;object-position:left;margin-bottom:1.5rem}
.badge-art{width:min(100%,175px);aspect-ratio:1;object-fit:contain;display:block;margin:0 auto}.insignia-card{position:relative;overflow:hidden}.insignia-card h3{margin:.65rem 0 .4rem}.insignia-card .badge-state{display:inline-block;margin:.8rem auto .3rem;padding:.24rem .6rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;border:1px solid var(--line);color:var(--navy)}
.insignia-card.locked .badge-art{filter:grayscale(1);opacity:.34}.insignia-card.locked{background:#f2eee5}.insignia-card.pending .badge-art{filter:grayscale(.5);opacity:.72}.insignia-card.pending{border-color:#bd913c;background:#fcf5e5}.insignia-card.awarded{border:2px solid #d4a52e;box-shadow:0 10px 30px #0b25451c;background:#fffaf0}.insignia-card.awarded .badge-state{color:#145a36;border-color:#6e9b7a}.insignia-card .badge-detail{font-size:.8rem;color:#555;line-height:1.5}
.recognition-office{margin-bottom:2rem;border-top:5px solid #d4a52e}.office-header{display:flex;gap:1.2rem;align-items:center;margin-bottom:1.4rem;border-bottom:1px solid var(--line);padding-bottom:1.3rem}.office-header img{width:110px;height:110px;object-fit:contain}.office-header h2{font-size:2.3rem;margin:.2rem 0}.office-header p:last-child{margin:0}.recognition-columns{display:grid;grid-template-columns: minmax(0,1fr) minmax(0,1.2fr);gap:2rem}.recognition-columns h3{font-size:1.25rem}.recognition-queue{display:grid;gap:1rem;max-height:670px;overflow:auto}.recognition-case{background:var(--paper);padding:1.1rem;border:1px solid var(--line)}.recognition-case strong{display:block}.recognition-case .case-meta{font-size:.82rem;color:var(--muted);margin-bottom:.6rem}.recognition-case textarea{width:100%;min-height:75px}.recognition-case .inline-actions{margin-top:.5rem}.recognition-case .btn{padding:.55rem .75rem}.bureau-easter-egg{border-top:1px solid var(--line);margin-top:2.2rem;padding-top:1.2rem;color:#73717a;font-size:.76rem}.bureau-easter-egg summary{cursor:pointer;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.bureau-easter-egg p{max-width:44rem;margin:.75rem 0}.badge-credential{padding-top:.6rem;border-top:1px solid #d5bb78;margin-top:.75rem}
@media(max-width:800px){.recognition-columns{grid-template-columns:1fr}.office-header img{width:75px;height:75px}.office-header h2{font-size:1.75rem}}
@media(max-width:560px){.office-header{align-items:flex-start}.brand-text{font-size:.8rem}.hero-wordmark{max-height:120px}}

/* Step 4E.1 — Civilian Observation Corps public invitation */
.corps-home{background:#f4edde;border-top:6px solid #c99d45;border-bottom:1px solid #cfbb92}
.corps-heading{display:grid;grid-template-columns:210px 1fr;gap:3.4rem;align-items:center}
.corps-official-mark{display:grid;place-items:center;background:#15273d;border:1px solid #ad8c50;box-shadow:12px 12px 0 #e8ddc6;aspect-ratio:1}
.corps-official-mark img{width:89%;height:89%;object-fit:contain}
.corps-heading h2{max-width:790px;margin:.5rem 0 1rem}
.corps-epigraph{font:1.48rem/1.55 "Libre Caslon Text",Georgia,serif;color:#6b2534;max-width:850px}
.corps-description{max-width:780px;font-size:1rem;line-height:1.85}
.corps-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}
.corps-record{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #cbb78e;border-bottom:1px solid #cbb78e;margin:3.5rem 0;padding:1.5rem 0}
.corps-record>div{display:flex;flex-direction:column;align-items:center;text-align:center;padding:.5rem 1rem;border-right:1px solid #cbb78e}
.corps-record>div:last-child{border-right:none}
.corps-record strong{font:2.7rem/1.25 "Libre Caslon Text",Georgia,serif;color:#14243a}
.corps-record span{text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:700;color:#6b2534}
.corps-badge-header{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;margin-bottom:1.5rem}
.corps-badge-header h3{font-size:1.8rem;margin:.4rem 0 0}
.corps-badge-header>p{margin:0;color:#565765;line-height:1.7}
.corps-badge-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.corps-badge-preview article{text-align:center;border:1px solid #d1bf9d;padding:1.5rem 1rem;background:#fffaf0}
.corps-badge-preview img{width:min(100%,176px);aspect-ratio:1;object-fit:contain}
.corps-badge-preview h4{margin:.75rem 0 .45rem;font-size:1.12rem;color:#14243a}
.corps-badge-preview p{font-size:.88rem;color:#605967;margin:0}
.corps-disclaimer{font-size:.76rem;color:#706a62;margin-top:1.5rem;max-width:900px}
@media(max-width:800px){.corps-heading{grid-template-columns:145px 1fr;gap:1.8rem}.corps-badge-header{grid-template-columns:1fr}.corps-record strong{font-size:2.2rem}}
@media(max-width:600px){.corps-heading{grid-template-columns:1fr}.corps-official-mark{width:145px}.corps-record{gap:0}.corps-record>div{padding:.4rem}.corps-record strong{font-size:1.7rem}.corps-record span{font-size:.57rem;letter-spacing:.03em}.corps-badge-preview{grid-template-columns:1fr}.corps-badge-preview article{display:grid;grid-template-columns:95px 1fr;text-align:left;column-gap:1rem;align-items:center}.corps-badge-preview img{grid-row:1/3;width:95px}.corps-badge-preview h4{margin:0}.corps-badge-preview p{align-self:start}}

/* Step 4E.2 — approved Institute insignia and transparent-master refinements */
.corps-official-mark{background:transparent;border:0;box-shadow:none;aspect-ratio:1;}
.corps-official-mark img{width:100%;height:100%;object-fit:contain;display:block;}
.institute-seal-official{width:min(100%,360px);aspect-ratio:1;margin:auto;display:grid;place-items:center;}
.institute-seal-official img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 12px 16px rgba(11,37,69,.12));}
.corps-badge-preview{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}
.corps-badge-preview article{padding:1.05rem .65rem;background:transparent;}
.corps-badge-preview img{width:min(100%,144px);height:auto;aspect-ratio:1;object-fit:contain;display:block;margin:0 auto;}
.corps-badge-preview h4{font-size:1rem;line-height:1.25;margin:.65rem 0 .4rem;}
.corps-badge-preview p{font-size:.8rem;}
@media(min-width:1160px){.corps-badge-preview{grid-template-columns:repeat(6,minmax(0,1fr));gap:.7rem;}.corps-badge-preview article{padding:1rem .45rem;}.corps-badge-preview img{width:min(100%,136px);}.corps-badge-preview h4{font-size:.91rem;}.corps-badge-preview p{font-size:.74rem;}}
@media(min-width:601px) and (max-width:800px){.corps-badge-preview{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:600px){.corps-badge-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;}.corps-badge-preview article{display:block;text-align:center;padding:.85rem .45rem;}.corps-badge-preview img{display:block;grid-row:auto;width:min(100%,126px);margin:0 auto;}.corps-badge-preview h4{font-size:.84rem;margin:.5rem 0 .35rem;}.corps-badge-preview p{font-size:.72rem;}.institute-seal-official{max-width:250px;}}
