/* ============================================================
   BRAHMAN SAMAJ — Design tokens
   Palette pulled from temple brass, kumkum, and havan embers.
   ============================================================ */
:root{
  --maroon-950:#3E0E14;
  --maroon-900:#5C141C;
  --maroon-800:#6B1E2A;
  --maroon-700:#8A2A38;
  --saffron-600:#D97A2B;
  --saffron-500:#E8933F;
  --gold-600:#B8892B;
  --gold-400:#D9B45C;
  --ivory-100:#FBF3E6;
  --ivory-200:#F5E9D6;
  --ivory-300:#EEDFC4;
  --ink-900:#2B211B;
  --ink-600:#5A4B3E;
  --green-700:#3F6B4C;
  --shadow-soft: 0 10px 30px rgba(59,20,12,0.14);
  --shadow-card: 0 4px 16px rgba(59,20,12,0.10);
  --radius-lg: 18px;
  --radius-md: 12px;
  --radius-sm: 8px;
  --font-display: 'Marcellus', 'Tiro Devanagari Hindi', serif;
  --font-deva: 'Tiro Devanagari Hindi', serif;
  --font-body: 'Hind', sans-serif;
  --font-utility: 'Rajdhani', sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--ivory-100);
  color:var(--ink-900);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{
  font-family:var(--font-display);
  margin:0 0 .4em 0;
  color:var(--maroon-900);
  font-weight:400;
  letter-spacing:.2px;
}
h1{font-size:clamp(2.1rem,4vw,3.4rem);}
h2{font-size:clamp(1.6rem,3vw,2.3rem);}
h3{font-size:1.3rem;}
p{margin:0 0 1em 0;}
.container{max-width:1180px;margin:0 auto;padding:0 24px;}
.eyebrow{
  font-family:var(--font-utility);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.8rem;
  color:var(--saffron-600);
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--saffron-600);display:inline-block;}
:focus-visible{outline:3px solid var(--saffron-600);outline-offset:2px;}

/* ---------- Rangoli watermark (signature motif) ---------- */
.rangoli-bg{
  position:absolute; inset:0; pointer-events:none; overflow:hidden;
}
.rangoli-bg svg{position:absolute;opacity:.10;}

/* ---------- Top notice strip ---------- */
.notice-strip{
  background:var(--maroon-950);
  color:var(--gold-400);
  font-family:var(--font-deva);
  font-size:.82rem;
  text-align:center;
  padding:6px 12px;
  letter-spacing:.3px;
}

/* ---------- Header ---------- */
header.site-header{
  background:var(--ivory-100);
  border-bottom:1px solid var(--ivory-300);
  position:sticky; top:0; z-index:50;
}
.header-inner{
  max-width:1180px;margin:0 auto;padding:14px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.brand{display:flex;align-items:center;gap:12px;}
.brand-mark{
  width:46px;height:46px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%, var(--saffron-500), var(--maroon-800) 70%);
  display:flex;align-items:center;justify-content:center;
  color:var(--ivory-100); font-family:var(--font-deva); font-size:1.4rem;
  box-shadow:var(--shadow-card);
  flex-shrink:0;
}
.brand-text .brand-title{
  font-family:var(--font-deva);
  font-size:1.3rem;color:var(--maroon-900);line-height:1.1;
}
.brand-text .brand-sub{
  font-family:var(--font-utility);font-size:.68rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold-600);
}
nav.main-nav{display:flex;gap:2px;align-items:center;}
nav.main-nav a{
  padding:10px 14px;border-radius:999px;font-family:var(--font-utility);
  font-weight:600; font-size:.95rem; letter-spacing:.02em; color:var(--ink-600);
  transition:background .15s, color .15s;
  white-space:nowrap;
}
nav.main-nav a:hover{background:var(--ivory-200);color:var(--maroon-900);}
nav.main-nav a.active{background:var(--maroon-800);color:var(--ivory-100);}
.nav-cta{
  background:var(--saffron-600)!important;color:var(--ivory-100)!important;
}
.nav-cta:hover{background:var(--saffron-500)!important;}
.menu-toggle{
  display:none; background:none;border:1px solid var(--ivory-300);border-radius:8px;
  width:42px;height:42px;cursor:pointer; align-items:center;justify-content:center;
}
.menu-toggle span, .menu-toggle span::before, .menu-toggle span::after{
  content:"";display:block;width:20px;height:2px;background:var(--maroon-900);
  position:relative; transition:.2s;
}
.menu-toggle span::before{position:absolute;top:-6px;}
.menu-toggle span::after{position:absolute;top:6px;}

@media (max-width:900px){
  nav.main-nav{
    position:fixed;top:0;right:-100%;height:100vh;width:78%;max-width:320px;
    background:var(--ivory-100);flex-direction:column;align-items:stretch;
    padding:90px 20px 20px;gap:6px;box-shadow:var(--shadow-soft);
    transition:right .25s ease; z-index:60;
  }
  nav.main-nav.open{right:0;}
  nav.main-nav a{padding:14px 16px;}
  .menu-toggle{display:flex;}
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-utility);font-weight:700;letter-spacing:.03em;
  font-size:1rem; padding:13px 26px;border-radius:999px;cursor:pointer;border:none;
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--saffron-600);color:var(--ivory-100);box-shadow:0 8px 20px rgba(217,122,43,.35);}
.btn-outline{background:transparent;color:var(--ivory-100);border:1.5px solid var(--ivory-100);}
.btn-outline.dark{color:var(--maroon-900);border-color:var(--maroon-900);}
.btn-block{width:100%;justify-content:center;}

/* ---------- Hero ---------- */
.hero{
  position:relative; overflow:hidden;
  background:linear-gradient(160deg, var(--maroon-950) 0%, var(--maroon-800) 55%, var(--saffron-600) 130%);
  color:var(--ivory-100);
  padding:78px 0 90px;
}
.hero .container{position:relative;z-index:2;}
.hero-om{
  font-family:var(--font-deva); font-size:1.1rem; color:var(--gold-400);
  margin-bottom:14px;
}
.hero h1{color:var(--ivory-100);max-width:760px;}
.hero p.lead{max-width:600px;font-size:1.12rem;color:var(--ivory-200);}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px;}
.stat-strip{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:rgba(251,243,230,.18); margin-top:56px; border-radius:var(--radius-md); overflow:hidden;
}
.stat-strip div{background:rgba(59,20,12,.28); padding:18px 16px; text-align:center;}
.stat-num{font-family:var(--font-utility);font-size:1.9rem;font-weight:700;color:var(--gold-400);}
.stat-label{font-size:.78rem;color:var(--ivory-200);letter-spacing:.03em;}
@media (max-width:700px){.stat-strip{grid-template-columns:repeat(2,1fr);}}

/* ---------- Sections ---------- */
section{padding:68px 0;}
section.alt{background:var(--ivory-200);}
.section-head{max-width:640px;margin-bottom:40px;}
.section-head h2{margin-top:8px;}

/* ---------- Cards grid ---------- */
.grid{display:grid;gap:22px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
@media (max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.grid-3,.grid-4,.grid-2{grid-template-columns:1fr;}}

.card{
  background:#fff;border-radius:var(--radius-lg);padding:26px 24px;
  box-shadow:var(--shadow-card); border:1px solid var(--ivory-300);
  transition:transform .18s ease, box-shadow .18s ease;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);}
.card .icon-badge{
  width:52px;height:52px;border-radius:14px;
  background:linear-gradient(135deg,var(--saffron-500),var(--maroon-800));
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;font-family:var(--font-deva);margin-bottom:16px;
}
.card h3{margin-bottom:8px;}
.card p{color:var(--ink-600);font-size:.95rem;margin-bottom:14px;}
.card-link{font-family:var(--font-utility);font-weight:700;font-size:.88rem;color:var(--maroon-800);letter-spacing:.02em;}
.card-link::after{content:" →";}

/* ---------- Divider motif ---------- */
.diya-divider{display:flex;align-items:center;justify-content:center;gap:14px;margin:8px 0 48px;color:var(--gold-600);}
.diya-divider .line{flex:1;max-width:120px;height:1px;background:var(--gold-600);opacity:.5;}
.diya-divider span.mark{font-family:var(--font-deva);font-size:1.2rem;}

/* ---------- Footer ---------- */
footer.site-footer{
  background:var(--maroon-950);color:var(--ivory-200);padding:56px 0 24px; margin-top:40px;
}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;gap:30px;padding-bottom:36px;border-bottom:1px solid rgba(251,243,230,.14);}
@media (max-width:1000px){.footer-grid{grid-template-columns:1fr 1fr 1fr;}}
@media (max-width:800px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr;}}
.footer-grid h4{color:var(--gold-400);font-family:var(--font-utility);font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:16px;}
.footer-grid a, .footer-grid p{display:block;color:var(--ivory-200);opacity:.85;font-size:.92rem;margin-bottom:10px;}
.footer-grid a:hover{color:var(--gold-400);opacity:1;}
.footer-brand .brand-title{color:var(--ivory-100);font-family:var(--font-deva);font-size:1.3rem;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:20px;font-size:.82rem;opacity:.7;flex-wrap:wrap;gap:10px;}

/* ---------- Page header banner (inner pages) ---------- */
.page-banner{
  background:linear-gradient(135deg,var(--maroon-900),var(--maroon-800) 70%);
  color:var(--ivory-100); padding:52px 0 44px; position:relative;overflow:hidden;
}
.page-banner h1{color:var(--ivory-100);}
.breadcrumb{font-family:var(--font-utility);font-size:.82rem;color:var(--ivory-200);opacity:.85;margin-bottom:10px;}
.breadcrumb a:hover{color:var(--gold-400);}

/* ---------- Forms / filters ---------- */
.filter-bar{
  background:#fff;border:1px solid var(--ivory-300);border-radius:var(--radius-md);
  padding:20px;display:flex;gap:14px;flex-wrap:wrap;box-shadow:var(--shadow-card);margin-bottom:34px;
}
.filter-bar select, .filter-bar input{
  flex:1;min-width:150px;padding:11px 14px;border-radius:8px;border:1px solid var(--ivory-300);
  font-family:var(--font-body);font-size:.95rem;background:var(--ivory-100);color:var(--ink-900);
}
.filter-bar button{flex-shrink:0;}
.form-field{margin-bottom:18px;}
.form-field label{display:block;font-family:var(--font-utility);font-weight:600;font-size:.85rem;letter-spacing:.02em;margin-bottom:6px;color:var(--maroon-900);}
.form-field input, .form-field select, .form-field textarea{
  width:100%;padding:12px 14px;border-radius:8px;border:1px solid var(--ivory-300);
  font-family:var(--font-body);font-size:.98rem;background:#fff;color:var(--ink-900);
}
.form-field textarea{resize:vertical;min-height:110px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:600px){.form-row{grid-template-columns:1fr;}}

/* ---------- Profile / member card ---------- */
.profile-card{background:#fff;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--ivory-300);box-shadow:var(--shadow-card);transition:transform .18s;}
.profile-card:hover{transform:translateY(-4px);}
.profile-photo{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--ivory-300);}
.profile-body{padding:18px 20px;}
.profile-body h3{margin-bottom:2px;}
.profile-meta{font-size:.85rem;color:var(--ink-600);margin-bottom:12px;}
.tag{
  display:inline-block;font-family:var(--font-utility);font-size:.72rem;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:999px;
  background:var(--ivory-200);color:var(--maroon-800);margin-right:6px;margin-bottom:6px;
}
.tag.tag-saffron{background:rgba(217,122,43,.14);color:var(--saffron-600);}
.tag.tag-green{background:rgba(63,107,76,.12);color:var(--green-700);}

/* ---------- Event / news list item ---------- */
.event-card{display:flex;gap:20px;background:#fff;border:1px solid var(--ivory-300);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-card);margin-bottom:18px;align-items:flex-start;}
.event-date{
  flex-shrink:0;width:74px;height:74px;border-radius:14px;background:var(--maroon-800);color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-utility);
}
.event-date .num{font-size:1.5rem;font-weight:700;line-height:1;}
.event-date .mon{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;}
@media (max-width:520px){.event-card{flex-direction:column;}}

/* ---------- Progress bar (donation) ---------- */
.progress-track{background:var(--ivory-300);height:8px;border-radius:999px;overflow:hidden;margin:10px 0 6px;}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--saffron-600),var(--gold-400));}
.progress-meta{display:flex;justify-content:space-between;font-family:var(--font-utility);font-size:.82rem;color:var(--ink-600);}

/* ---------- Gallery ---------- */
.gallery-grid{columns:3 260px;column-gap:16px;}
.gallery-grid img{border-radius:var(--radius-md);margin-bottom:16px;width:100%;box-shadow:var(--shadow-card);}
@media (max-width:700px){.gallery-grid{columns:2 200px;}}

/* ---------- Callout / banner ---------- */
.callout{
  background:linear-gradient(120deg,var(--saffron-600),var(--maroon-800));
  color:#fff;border-radius:var(--radius-lg);padding:44px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.callout h2{color:#fff;margin-bottom:6px;}
.callout p{color:var(--ivory-200);margin:0;}

/* ---------- Demo badge ---------- */
.demo-badge{
  position:fixed; bottom:18px; right:18px; z-index:80;
  background:var(--ink-900); color:var(--ivory-100); font-family:var(--font-utility);
  font-size:.76rem; letter-spacing:.05em; padding:9px 16px; border-radius:999px;
  box-shadow:var(--shadow-soft); opacity:.92;
}

/* ---------- Nav dropdown ---------- */
.has-dropdown{position:relative;}
.dropdown-panel{
  display:none; position:absolute; top:calc(100% + 6px); left:0; min-width:230px;
  background:#fff; border:1px solid var(--ivory-300); border-radius:var(--radius-md);
  box-shadow:var(--shadow-soft); padding:8px; z-index:70;
}
.has-dropdown:hover .dropdown-panel, .has-dropdown:focus-within .dropdown-panel, .has-dropdown.open .dropdown-panel{display:block;}
.dropdown-panel a{display:block;padding:10px 12px;border-radius:8px;color:var(--ink-900);font-family:var(--font-body);font-weight:500;font-size:.92rem;}
.dropdown-panel a:hover{background:var(--ivory-200);color:var(--maroon-900);}
.dropdown-caret{font-size:.7em;margin-left:4px;opacity:.7;}
@media (max-width:900px){
  .dropdown-panel{position:static;box-shadow:none;border:none;padding:0 0 0 14px;display:none;background:transparent;}
  .has-dropdown.open .dropdown-panel{display:block;}
  .has-dropdown > a{display:flex;justify-content:space-between;align-items:center;}
}

/* ---------- Timeline (birthdays / mahapurush) ---------- */
.timeline-item{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid var(--ivory-300);}
.timeline-item:last-child{border-bottom:none;}
.timeline-avatar{
  width:52px;height:52px;border-radius:50%;flex-shrink:0;object-fit:cover;background:var(--ivory-300);
}
.timeline-date-badge{
  flex-shrink:0;width:60px;text-align:center;font-family:var(--font-utility);color:var(--maroon-800);
}
.timeline-date-badge .d{font-size:1.4rem;font-weight:700;line-height:1;}
.timeline-date-badge .m{font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-600);}

/* ---------- Directory tabs ---------- */
.tab-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px;}
.tab-btn{
  font-family:var(--font-utility);font-weight:600;font-size:.9rem;padding:10px 20px;border-radius:999px;
  border:1px solid var(--ivory-300);background:#fff;color:var(--ink-600);cursor:pointer;
}
.tab-btn.active{background:var(--maroon-800);color:#fff;border-color:var(--maroon-800);}

/* ---------- Small info banner ---------- */
.info-banner{
  display:flex;gap:12px;align-items:flex-start;background:var(--ivory-200);border-left:4px solid var(--saffron-600);
  padding:16px 20px;border-radius:var(--radius-sm);font-size:.92rem;color:var(--ink-600);margin-bottom:30px;
}

/* ---------- Blood group grid ---------- */
.bg-chip{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  background:#fff;border:1px solid var(--ivory-300);border-radius:var(--radius-md);padding:16px 8px;
  box-shadow:var(--shadow-card);
}
.bg-chip .grp{font-family:var(--font-display);font-size:1.5rem;color:var(--maroon-800);}
.bg-chip .cnt{font-family:var(--font-utility);font-size:.76rem;color:var(--ink-600);}

/* ---------- SOS / Emergency ---------- */
.sos-block{
  background:linear-gradient(135deg,#8A1620,#5C141C);color:#fff;border-radius:var(--radius-lg);
  padding:40px;text-align:center;box-shadow:var(--shadow-soft);
}
.sos-button{
  width:150px;height:150px;border-radius:50%;background:#fff;color:var(--maroon-900);
  border:6px solid rgba(255,255,255,.35);font-family:var(--font-utility);font-weight:800;font-size:1.3rem;
  display:flex;align-items:center;justify-content:center;margin:22px auto;cursor:pointer;
  box-shadow:0 0 0 0 rgba(255,255,255,.5); animation:sos-pulse 2.2s infinite;
}
@keyframes sos-pulse{
  0%{box-shadow:0 0 0 0 rgba(255,255,255,.45);}
  70%{box-shadow:0 0 0 22px rgba(255,255,255,0);}
  100%{box-shadow:0 0 0 0 rgba(255,255,255,0);}
}

/* ---------- Poll / voting ---------- */
.poll-option{margin-bottom:16px;}
.poll-option .poll-label{display:flex;justify-content:space-between;font-family:var(--font-utility);font-size:.9rem;margin-bottom:6px;color:var(--ink-900);}
.poll-option .progress-track{margin:0;}

/* ---------- Quiz ---------- */
.quiz-option{
  display:block;width:100%;text-align:left;padding:13px 16px;border-radius:10px;border:1.5px solid var(--ivory-300);
  background:#fff;font-family:var(--font-body);font-size:.96rem;margin-bottom:10px;cursor:pointer;color:var(--ink-900);
}
.quiz-option:hover{border-color:var(--saffron-600);background:var(--ivory-200);}
.quiz-option.correct{border-color:var(--green-700);background:rgba(63,107,76,.1);}

/* ---------- Marketplace ---------- */
.product-card{background:#fff;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--ivory-300);box-shadow:var(--shadow-card);}
.product-card img{width:100%;aspect-ratio:1/1;object-fit:cover;}
.product-card .pc-body{padding:16px 18px;}
.product-card .price{font-family:var(--font-utility);font-weight:700;color:var(--saffron-600);font-size:1.05rem;}

/* ---------- Alerts ---------- */
.alert{padding:14px 18px;border-radius:10px;margin-bottom:22px;font-size:.92rem;border:1px solid transparent;}
.alert-success{background:rgba(63,107,76,.12);color:var(--green-700);border-color:rgba(63,107,76,.3);}
.alert-error{background:rgba(138,22,32,.08);color:var(--maroon-800);border-color:rgba(138,22,32,.25);}

/* ---------- Auth pages ---------- */
.auth-wrap{max-width:460px;margin:0 auto;}
.auth-tabs{display:flex;gap:8px;margin-bottom:24px;background:var(--ivory-200);padding:6px;border-radius:999px;}
.auth-tabs a{flex:1;text-align:center;padding:10px;border-radius:999px;font-family:var(--font-utility);font-weight:700;font-size:.9rem;color:var(--ink-600);}
.auth-tabs a.active{background:var(--maroon-800);color:#fff;}

/* ---------- Mobile app-style bottom tab bar ---------- */
.bottom-nav{
  display:none;
  position:fixed; left:0; right:0; bottom:0; z-index:90;
  background:#fff; border-top:1px solid var(--ivory-300);
  box-shadow:0 -6px 20px rgba(59,20,12,.10);
  padding:6px 4px calc(6px + env(safe-area-inset-bottom));
}
.bottom-nav-inner{display:flex;justify-content:space-around;align-items:center;}
.bottom-nav a{
  display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:6px 4px;flex:1;min-width:0;color:var(--ink-600);
}
.bottom-nav a .bn-icon{font-size:1.3rem;line-height:1;}
.bottom-nav a .bn-label{font-family:var(--font-utility);font-size:.64rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60px;}
.bottom-nav a.active{color:var(--maroon-800);}
.bottom-nav a.active .bn-icon{transform:translateY(-2px);}
.bottom-nav a.bn-more .bn-icon{
  width:30px;height:30px;border-radius:50%;background:var(--maroon-800);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:1rem;
}
@media (max-width:900px){
  .bottom-nav{display:block;}
  body{padding-bottom:64px;}
  .demo-badge{bottom:72px;}
}

/* ---------- More-sheet (mobile menu launched from bottom nav) ---------- */
.more-sheet-backdrop{
  display:none; position:fixed; inset:0; background:rgba(43,33,27,.45); z-index:95;
}
.more-sheet-backdrop.open{display:block;}
.more-sheet{
  position:fixed; left:0; right:0; bottom:0; z-index:96;
  background:var(--ivory-100); border-radius:22px 22px 0 0; padding:10px 20px calc(20px + env(safe-area-inset-bottom));
  max-height:75vh; overflow-y:auto; box-shadow:0 -10px 30px rgba(0,0,0,.2);
  transform:translateY(100%); transition:transform .25s ease;
}
.more-sheet-backdrop.open .more-sheet{transform:translateY(0);}
.more-sheet-handle{width:40px;height:4px;background:var(--ivory-300);border-radius:99px;margin:8px auto 16px;}
.more-sheet h3{font-family:var(--font-deva);color:var(--maroon-900);margin-bottom:14px;}
.more-sheet-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:10px;}
.more-sheet-grid a{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;color:var(--ink-900);}
.more-sheet-grid .ms-icon{
  width:52px;height:52px;border-radius:16px;background:var(--ivory-200);display:flex;align-items:center;justify-content:center;font-size:1.4rem;
}
.more-sheet-grid .ms-label{font-size:.72rem;font-family:var(--font-utility);font-weight:600;line-height:1.2;}

.table-wrap{overflow-x:auto;}
table.data-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-card);}
table.data-table th, table.data-table td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--ivory-300);font-size:.92rem;}
table.data-table th{background:var(--maroon-800);color:#fff;font-family:var(--font-utility);font-weight:600;font-size:.8rem;letter-spacing:.03em;text-transform:uppercase;}
table.data-table tr:last-child td{border-bottom:none;}
