
/* v388 — Institutional front-door structural reset
   Scope: homepage hierarchy only. Header mode and access logic are not changed. */

body.v388-institutional-frontdoor .v381-homepage,
.v388-homepage{
  background:
    radial-gradient(circle at 18% 0%, rgba(225,190,116,.16), transparent 28%),
    radial-gradient(circle at 88% 10%, rgba(38,128,82,.10), transparent 24%),
    #fffaf0;
  color:#092942;
}

.v388-homepage{padding:clamp(28px,3vw,54px) 0 70px;}
.v388-container{width:min(1500px, calc(100% - clamp(36px,5vw,96px))); margin:0 auto;}
.v388-section{margin:0 0 clamp(30px,3vw,52px);} 
.v388-section-label{display:flex;align-items:center;gap:14px;margin-bottom:18px;text-transform:uppercase;letter-spacing:.18em;color:#082a43;font-size:13px;font-weight:900;}
.v388-section-label span{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#082a43;color:#fffaf0;letter-spacing:0;font-size:14px;box-shadow:0 10px 24px rgba(8,42,67,.12)}
.v388-kicker{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#168150;font-weight:900;margin:0 0 14px;}
.v388-panel,.v388-card,.v388-hero{background:rgba(255,253,246,.86);border:1px solid rgba(8,42,67,.14);border-radius:28px;box-shadow:0 26px 70px rgba(8,42,67,.08);}
.v388-hero{padding:clamp(28px,4vw,62px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(28px,4vw,60px);align-items:stretch;}
.v388-hero h1{font-family:Georgia,serif;font-size:clamp(48px,6.2vw,112px);line-height:.93;letter-spacing:-.065em;color:#082a43;margin:0 0 18px;}
.v388-hero .v388-lede{font-size:clamp(18px,1.4vw,25px);line-height:1.45;color:rgba(8,42,67,.78);max-width:860px;margin:0;}
.v388-boundary{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.v388-boundary div{background:#fffaf0;border:1px solid rgba(8,42,67,.12);border-radius:18px;padding:18px;}
.v388-boundary span,.v388-mini-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:rgba(8,42,67,.54);font-weight:900;margin-bottom:8px;}
.v388-boundary strong{display:block;font-size:16px;line-height:1.35;color:#082a43;}
.v388-authority-box{grid-column:1/-1;background:#082a43 !important;color:#fffaf0;border-color:rgba(255,250,240,.16) !important;}
.v388-authority-box span{color:#e3bd6f;}
.v388-authority-box strong{color:#fffaf0;}
.v388-four-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.v388-three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.v388-two-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.v388-card{padding:22px;}
.v388-card h3{margin:0 0 8px;font-size:20px;color:#082a43;}
.v388-card p{margin:0;color:rgba(8,42,67,.76);line-height:1.5;}
.v388-card ul{margin:10px 0 0;padding-left:18px;color:rgba(8,42,67,.78);line-height:1.6;}
.v388-route-card{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;padding:18px;border-radius:26px;background:#fffdf6;border:1px solid rgba(8,42,67,.14);box-shadow:0 20px 52px rgba(8,42,67,.07);}
.v388-route-card a{text-decoration:none;color:#082a43;background:#fffaf0;border:1px solid rgba(8,42,67,.12);border-radius:18px;padding:16px 14px;min-height:126px;display:flex;flex-direction:column;gap:8px;}
.v388-route-card span{font-size:12px;color:#168150;font-weight:900;letter-spacing:.14em;}
.v388-route-card strong{font-size:18px;line-height:1.05;}
.v388-route-card em{font-style:normal;font-size:13px;line-height:1.35;color:rgba(8,42,67,.64);}
.v388-route-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:18px;}
.v388-route-head h2,.v388-panel h2{font-family:Georgia,serif;font-size:clamp(34px,3.7vw,72px);line-height:.98;letter-spacing:-.045em;margin:0;color:#082a43;}
.v388-route-head p{margin:0;max-width:520px;color:rgba(8,42,67,.75);font-size:18px;line-height:1.45;}
.v388-spine{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;}
.v388-spine div{background:#082a43;color:#fffaf0;border-radius:18px;padding:18px;min-height:126px;}
.v388-spine span{color:#e3bd6f;font-weight:900;font-size:12px;letter-spacing:.14em;display:block;margin-bottom:12px;}
.v388-spine strong{display:block;font-size:18px;margin-bottom:8px;line-height:1.1;}
.v388-spine p{margin:0;color:rgba(255,250,240,.72);font-size:13px;line-height:1.35;}
.v388-component-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
.v388-component-pills a,.v388-actions a{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(8,42,67,.14);background:#fffdf6;border-radius:999px;padding:11px 15px;color:#082a43;text-decoration:none;font-weight:800;font-size:13px;}
.v388-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;}
.v388-actions .primary{background:#e3bd6f;color:#082a43;border-color:#e3bd6f;}
.v388-frontdoor{background:#082a43;color:#fffaf0;border-radius:32px;padding:clamp(28px,4vw,62px);box-shadow:0 28px 75px rgba(8,42,67,.18);}
.v388-frontdoor h2{font-family:Georgia,serif;font-size:clamp(44px,5vw,96px);line-height:.95;letter-spacing:-.055em;margin:0 0 18px;color:#fffaf0;}
.v388-frontdoor p{color:rgba(255,250,240,.78);font-size:18px;line-height:1.55;max-width:880px;}
.v388-frontdoor .v388-kicker{color:#e3bd6f;}
.v388-frontdoor-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;}
.v388-frontdoor-grid div{background:rgba(255,250,240,.08);border:1px solid rgba(255,250,240,.16);border-radius:20px;padding:18px;}
.v388-frontdoor-grid span{display:block;color:#e3bd6f;text-transform:uppercase;letter-spacing:.16em;font-weight:900;font-size:11px;margin-bottom:8px;}
.v388-frontdoor-grid strong{display:block;color:#fffaf0;font-size:18px;line-height:1.3;}
.v388-pack{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.v388-table-summary{overflow:hidden;}
.v388-table-summary div{display:grid;grid-template-columns:160px 1fr;gap:16px;padding:14px 0;border-top:1px solid rgba(8,42,67,.10);}
.v388-table-summary span{font-weight:900;color:#168150;}
.v388-table-summary strong{color:#082a43;}
.v388-note{font-size:14px;color:rgba(8,42,67,.62);line-height:1.5;margin-top:12px;}
.v388-footer-next{background:#082a43;color:#fffaf0;border-radius:28px;padding:28px;display:flex;justify-content:space-between;align-items:center;gap:24px;}
.v388-footer-next h2{margin:0;font-size:28px;color:#fffaf0;}
.v388-footer-next nav{display:flex;flex-wrap:wrap;gap:10px;}
.v388-footer-next a{color:#fffaf0;text-decoration:none;border:1px solid rgba(255,250,240,.2);border-radius:999px;padding:10px 14px;}
@media(max-width:1180px){
 .v388-hero,.v388-pack,.v388-two-grid{grid-template-columns:1fr;}
 .v388-four-grid,.v388-three-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 .v388-route-card,.v388-spine{grid-template-columns:repeat(2,minmax(0,1fr));}
 .v388-route-head{display:block;}
 .v388-route-head p{margin-top:14px;}
}
@media(max-width:680px){
 .v388-container{width:min(100% - 24px, 1500px)}
 .v388-hero{padding:24px;border-radius:24px;}
 .v388-hero h1{font-size:46px;}
 .v388-boundary,.v388-four-grid,.v388-three-grid,.v388-route-card,.v388-spine,.v388-frontdoor-grid{grid-template-columns:1fr;}
 .v388-footer-next{display:block;}
 .v388-footer-next nav{margin-top:16px;}
}
