/* =========================================================
   Sevadal theme overrides  ->  save as public/css/sevadal-theme.css
   Load it AFTER css/style.css (see head.blade.php).
   Variables use the --sv- prefix so they never clash with the
   :root variables already inside index.blade.php (--gold, --text-dark ...).
   ========================================================= */
:root {
  --sv-primary-dark: #1B3A6B;
  --sv-primary-mid: #2E5FA3;
  --sv-primary-light: #3A5590;
  --sv-primary-deep: #0b2d4b;
  --sv-accent-gold: #F4A300;
  --sv-gold-light: #F0D06A;
  --sv-bg: #F9F9FC;
  --sv-cream: #FBF7EE;
  --sv-text-dark: #231008;
  --sv-text-body: #4A3728;
  --sv-text-muted: #8A7060;
  --sv-border: rgba(212, 168, 56, 0.25);
  --sv-shadow-card: 0 4px 28px rgba(35, 16, 8, 0.10);
  --sv-radius: 16px;
  --sv-radius-sm: 10px;
}

/* ---------- Fonts ---------- */
html { scroll-behavior: smooth; }
body {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: var(--sv-text-dark);
  background: var(--sv-bg);
}
h1, h2, h3, h4, h5, h6 { font-family: 'Poppins', sans-serif; font-weight: 700; }
a { text-decoration: none; }

/* ---------- Header / navbar ---------- */
#header {
  background: linear-gradient(135deg, #1b4a6b, #2c5a7a) !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
#nav-menu-container .nav-menu {
  display: flex;
  align-items: center;
  gap: .25rem;
  margin: 0;
  padding: 0;
}
#nav-menu-container .nav-menu > li { float: none; margin: 0; position: relative; }

/* normal links */
#nav-menu-container .nav-menu > li > a:not(.nav-btn) {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .5rem 1rem;
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  white-space: nowrap;
  border: 0 !important;
  border-radius: .5rem;
  box-shadow: none !important;
  background: transparent;
  transition: all .2s;
}
#nav-menu-container .nav-menu > li:hover > a:not(.nav-btn),
#nav-menu-container .nav-menu > li.menu-active > a:not(.nav-btn) {
  color: var(--sv-accent-gold);
}
#nav-menu-container .nav-menu .nav-user span {
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* pill buttons (Donate / Be a Member) and round login icon */
#nav-menu-container .nav-menu > li > a.nav-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-family: 'Inter', sans-serif;
  font-size: .9rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.5;
  border: 0;
  border-radius: 2rem;
  padding: .5rem 1.2rem;
  white-space: nowrap;
  transition: all .2s;
}
#nav-menu-container .nav-menu > li:hover > a.nav-btn { transform: translateY(-2px); }
#nav-menu-container .nav-menu > li > a.btn-donate-nav { background: var(--sv-accent-gold); color: var(--sv-primary-dark); margin-left: .75rem; }
#nav-menu-container .nav-menu > li:hover > a.btn-donate-nav { background: #d98f00; color: #fff; box-shadow: 0 4px 12px rgba(244, 163, 0, .35); }
#nav-menu-container .nav-menu > li > a.btn-member-nav { background: #2838c5; color: #fff; }
#nav-menu-container .nav-menu > li:hover > a.btn-member-nav { background: #2022b3; color: #fff; box-shadow: 0 4px 12px rgba(40, 56, 197, .3); }
#nav-menu-container .nav-menu > li > a.btn-login-nav {
  width: 38px; height: 38px; padding: 0; justify-content: center;
  border: 2px solid #fff; border-radius: 50%; background: transparent; color: #fff; font-size: 1.1rem;
}
#nav-menu-container .nav-menu > li:hover > a.btn-login-nav { background: #fff; color: var(--sv-primary-dark); }

/* dropdowns */
#nav-menu-container .dropdown-menu {
  border: 0;
  border-radius: .75rem;
  box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .15);
  padding: .5rem 0;
  min-width: 210px;
  margin-top: 0;
  z-index: 1050;
}
#nav-menu-container .dropdown-item {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .6rem 1.2rem;
  font-family: 'Inter', sans-serif;
  font-size: .9rem;
  font-weight: 500;
  color: #333;
  transition: all .2s;
}
#nav-menu-container .dropdown-item i { width: 1.25rem; color: var(--sv-accent-gold); }
#nav-menu-container .dropdown-item:hover {
  background: #f8f9fa;
  color: var(--sv-primary-dark);
  padding-left: 1.5rem;
}
@media (min-width: 992px) {
  #nav-menu-container .dropdown:hover > .dropdown-menu { display: block; }   /* open on hover */
}

/* ---------- Generic gold button used elsewhere (Donate page etc.) ---------- */
.btn-clr {
  background: var(--sv-accent-gold);
  border: 0;
  color: #fff;
  font-weight: 600;
  border-radius: var(--sv-radius-sm);
  transition: all 0.2s;
}
.btn-clr:hover, .btn-clr:focus { background: #d98f00; color: #fff; }

/* ---------- Cards ---------- */
.card, .box.feature {
  border: 1px solid var(--sv-border);
  border-radius: var(--sv-radius);
  box-shadow: var(--sv-shadow-card);
}

/* ---------- Footer ---------- */
#footer { background: #0361a6 !important; padding: 0 !important; }
.sv-footer {
  --sv-ft-bg: #0361a6;
  --sv-ft-chip: rgba(255, 255, 255, 0.12);
  --sv-ft-muted: #bcd3ea;
  background: var(--sv-ft-bg);
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  padding: 48px 0 26px;
}
.sv-footer a { color: #fff; text-decoration: none; transition: color .2s; }
.sv-footer a:hover { color: var(--sv-accent-gold); }
.sv-footer ul { list-style: none; margin: 0; padding: 0; }

.sv-ft-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.sv-ft-logo {
  width: 44px; height: 44px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: #ffa500; color: #0b2d4b; font-size: 17px; font-weight: 700;
}
.sv-ft-name { font-family: 'Poppins', sans-serif; font-size: 17px; font-weight: 600; letter-spacing: .5px; }

.sv-ft-social { display: flex; flex-wrap: wrap; gap: 9px; }
.sv-ft-social a {
  width: 35px; height: 35px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--sv-ft-chip); font-size: 15px;
}
.sv-ft-social a:hover { background: var(--sv-accent-gold); color: #0b2d4b; }

.sv-ft-heading {
  position: relative;
  margin: 0 0 24px; padding-bottom: 10px;
  font-family: 'Inter', sans-serif; font-size: 17px; font-weight: 600; color: #fff;
}
.sv-ft-heading::after {
  content: ""; position: absolute; left: 0; bottom: 0;
  width: 30px; height: 2px; background: #ffa500;
}
.sv-ft-links li { padding: 5px 0; }
.sv-ft-links a { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; }
.sv-ft-links i { color: #ffa500; font-size: 10px; }

.sv-ft-contact li { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 16px; line-height: 1.7; }
.sv-ft-contact i { color: #ffa500; font-size: 15px; margin-top: 4px; }
.sv-ft-address { color: var(--sv-ft-muted); font-weight: 600; text-transform: uppercase; }
.sv-ft-donate {
  display: inline-flex; align-items: center; gap: 8px; margin-top: 6px;
  padding: 9px 18px; border-radius: 2rem;
  background: #ffa500; color: #0b2d4b !important; font-weight: 600; font-size: 14px;
}
.sv-ft-donate:hover { background: #fff; color: #0361a6 !important; }

.sv-ft-bottom {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 14px; margin-top: 56px;
  font-size: 12.5px; color: #d3e3f3;
}
.sv-ft-bottom a { color: #d3e3f3; }
.sv-ft-bottom .powered { display: block; margin-top: 2px; font-size: 11.5px; opacity: .85; }
.sv-ft-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.sv-ft-badge {
  padding: 5px 13px; border-radius: 4px;
  background: var(--sv-ft-chip); color: #ffa500; font-size: 11.5px; font-weight: 700;
}


/* Donate page */


.dn{--gold:#f5a800;--gold-dark:#c47d00;--blue:#0d3b8e;--blue-mid:#1a56c4;--blue-light:#4a90d9;--sky:#e8f4ff;--white:#fff;--text:#1a2a4a;--muted:#6b7b9a;--success:#16a34a;--danger:#dc2626;--border:#c8d8f0;--card-bg:#f7fbff;--card-select-bg:#8bbcf0;--shadow:0 8px 40px rgba(13,59,142,.13);--radius:14px;font-family:'Inter',sans-serif;font-size:16px;line-height:1.5;color:var(--text);padding-top:90px;padding-bottom:48px}
.dn *,.dn *::before,.dn *::after{box-sizing:border-box;margin:0;padding:0}
.dn .banner{background:linear-gradient(135deg,var(--blue) 0%,#1a3f7a 50%,#0a2d6e 100%);color:var(--white);position:relative;overflow:hidden;box-shadow:0 4px 24px rgba(13,59,142,.35)}
.dn .banner::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ccircle cx='30' cy='30' r='28' fill='none' stroke='rgba(255,255,255,.04)' stroke-width='1'/%3E%3C/svg%3E") repeat;pointer-events:none}
.dn .banner-inner{display:flex;align-items:stretch;position:relative;z-index:1}
.dn .banner-saint,.dn .banner-logo{background:rgba(255,255,255,.08);padding:16px 20px;display:flex;align-items:center;justify-content:center;min-width:110px}
.dn .banner-saint{border-right:1px solid rgba(255,255,255,.12)}
.dn .banner-logo{border-left:1px solid rgba(255,255,255,.12)}
.dn .banner-center{flex:1;padding:18px 24px;text-align:center}
.dn .banner-title{font-family:'Noto Sans Telugu',sans-serif;font-size:clamp(1.05rem,2.8vw,1.45rem);font-weight:700;color:var(--gold);letter-spacing:.5px;line-height:1.4;text-shadow:0 2px 8px rgba(0,0,0,.3);margin-bottom:4px}
.dn .banner-subtitle{font-family:'Noto Sans Telugu',sans-serif;font-size:clamp(.72rem,1.8vw,.88rem);color:rgba(255,255,255,.82);font-weight:400;font-style:italic;margin-bottom:10px}
.dn .banner-tags{display:flex;justify-content:center;gap:32px}
.dn .banner-tag{font-family:'Noto Sans Telugu',sans-serif;font-size:.8rem;color:var(--gold);font-weight:600;letter-spacing:1px}
.dn .event-info{background:linear-gradient(135deg,#f0f7ff,#fffbe6);border-bottom:1px solid var(--border);padding:14px 24px;text-align:center}
.dn .event-name{font-family:'Noto Sans Telugu',sans-serif;font-size:clamp(.88rem,2.2vw,1.08rem);font-weight:700;color:var(--blue);margin-bottom:4px}
.dn .event-location{font-family:'Noto Sans Telugu',sans-serif;font-size:clamp(.75rem,1.8vw,.88rem);color:var(--blue-mid);font-weight:500}
.dn .page-wrap{max-width:860px;margin:28px auto 0;padding:0 16px}
.dn .main-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);overflow:hidden}
.dn .form-section{padding:28px 32px}
.dn .section-title{font-size:.72rem;font-weight:700;color:var(--blue);letter-spacing:2px;text-transform:uppercase;margin-bottom:20px;display:flex;align-items:center;gap:10px}
.dn .section-title::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--border),transparent)}
.dn .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.dn .form-group{display:flex;flex-direction:column;gap:6px}
.dn .form-label{font-size:.72rem;font-weight:600;color:var(--muted);letter-spacing:.8px;text-transform:uppercase}
.dn .form-label .tel-label{font-family:'Noto Sans Telugu',sans-serif;text-transform:none;letter-spacing:0}
.dn .form-control{padding:11px 16px;border:1.5px solid var(--border);border-radius:9px;font-size:.92rem;font-family:'Inter',sans-serif;color:var(--text);background:var(--card-bg);transition:all .2s ease;outline:none;width:100%;height:auto}
.dn .form-control:focus{border-color:var(--blue-mid);background:var(--white);box-shadow:0 0 0 3px rgba(26,86,196,.1)}
.dn .form-control.error{border-color:var(--danger)}
.dn .amount-wrap{position:relative}
.dn .amount-prefix{position:absolute;left:5px;top:50%;transform:translateY(-50%);font-size:1rem;font-weight:700;color:var(--blue);pointer-events:none}
.dn .amount-wrap .form-control{padding-left:34px}
.dn .quick-amounts{display:flex;flex-wrap:wrap;gap:8px}
.dn .chip{padding:5px 14px;border:1.5px solid var(--blue-light);border-radius:20px;font-size:.76rem;font-weight:600;color:var(--blue-mid);background:var(--sky);cursor:pointer;transition:all .18s ease;user-select:none}
.dn .chip:hover,.dn .chip.active{background:var(--blue-mid);color:var(--white);border-color:var(--blue-mid)}
.dn .payment-mode-select{font-family:'Noto Sans Telugu',sans-serif;font-size:.92rem;padding:11px 16px;border:1.5px solid var(--border);border-radius:9px;background:var(--card-select-bg);color:#fff;width:100%;height:auto}
.dn .payment-mode-select option{color:var(--text);background:#fff}
.dn .payment-mode-select:focus{border-color:var(--blue-mid);outline:none}
.dn .field-error{font-size:.7rem;color:var(--danger);margin-top:2px;display:none}
.dn .field-error.show{display:block}
.dn .divider{height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);margin:0 32px}
.dn .bottom-grid{display:grid;grid-template-columns:1fr 1fr}
.dn .qr-section{padding:24px 28px;border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:12px;background:linear-gradient(135deg,#f7fbff,#fffef7)}
.dn .qr-title{font-size:.68rem;font-weight:700;letter-spacing:2px;color:var(--blue);text-transform:uppercase;text-align:center}
.dn .qr-frame{width:210px;border:3px solid var(--gold);border-radius:12px;padding:6px;background:var(--white);box-shadow:0 4px 16px rgba(245,168,0,.2);display:block;overflow:hidden}
.dn .qr-frame img{display:block;width:100%;height:auto;border-radius:8px}
.dn .qr-upi{font-size:.72rem;font-weight:600;color:var(--text);text-align:center}
.dn .qr-phone{font-size:1.1rem;font-weight:800;color:var(--blue);letter-spacing:1px}
.dn .upi-badges{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center}
.dn .upi-badge{font-size:.6rem;font-weight:700;padding:3px 10px;border-radius:10px;letter-spacing:.5px;text-transform:uppercase}
.dn .badge-paytm{background:#00bad2;color:#fff}
.dn .badge-phonepe{background:#5f259f;color:#fff}
.dn .badge-gpay{background:#1a73e8;color:#fff}
.dn .scan-pay-label{font-size:.75rem;font-weight:700;color:var(--gold-dark);letter-spacing:1.5px;text-transform:uppercase;text-align:center}
.dn .actions-section{padding:24px 28px;display:flex;flex-direction:column;gap:16px}
.dn .bank-block{background:var(--sky);border:1px solid var(--border);border-radius:10px;padding:14px 16px}
.dn .bank-block-title{font-size:.65rem;font-weight:700;color:var(--blue);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.dn .bank-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0}
.dn .bank-key{font-size:.68rem;color:var(--muted);font-weight:500}
.dn .bank-val{font-size:.72rem;color:var(--text);font-weight:600;text-align:right}
.dn .btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;border-radius:10px;font-size:.88rem;font-weight:600;cursor:pointer;border:none;transition:all .22s ease;font-family:'Inter',sans-serif;width:100%;letter-spacing:.3px}
.dn .btn:active{transform:scale(.98)}
.dn .btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:var(--white);box-shadow:0 4px 16px rgba(245,168,0,.35)}
.dn .btn-gold:hover{background:linear-gradient(135deg,#ffb800,var(--gold));box-shadow:0 6px 20px rgba(245,168,0,.45);transform:translateY(-1px);color:var(--white)}
.dn .btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}
.dn .btn .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:var(--white);border-radius:50%;animation:dnspin .7s linear infinite;display:none}
.dn .btn.loading .spinner{display:block}
.dn .btn.loading .btn-text{opacity:.7}
@keyframes dnspin{to{transform:rotate(360deg)}}
.dn .toast{position:fixed;bottom:28px;right:28px;background:var(--text);color:var(--white);padding:12px 20px;border-radius:10px;font-size:.82rem;font-weight:500;box-shadow:0 8px 24px rgba(0,0,0,.25);z-index:2000;transform:translateY(80px);opacity:0;transition:all .35s cubic-bezier(.34,1.56,.64,1);max-width:320px;display:block;pointer-events:none}
.dn .toast.show{transform:translateY(0);opacity:1}
.dn .toast.success{background:var(--success)}
.dn .toast.error{background:var(--danger)}
.dn .bank-footer{background:var(--blue);color:var(--white);padding:16px 24px;display:grid;grid-template-columns:1fr 1fr}
.dn .bank-footer-col{padding:4px 16px}
.dn .bank-footer-col:first-child{border-right:1px solid rgba(255,255,255,.2);padding-left:0}
.dn .bank-footer-col:last-child{padding-right:0}
.dn .bank-footer-label{font-size:.6rem;letter-spacing:1.5px;text-transform:uppercase;opacity:.7;margin-bottom:4px;font-weight:600}
.dn .bank-footer-line{font-size:.72rem;opacity:.9;line-height:1.6}
.dn .bank-footer-line strong{font-weight:700;opacity:1}
.dn .sig-amount-box{border:2px solid var(--blue);border-radius:8px;padding:10px 16px;display:flex;align-items:center;gap:6px}
.dn .sig-amount-label{font-family:'Noto Sans Telugu',sans-serif;font-size:.78rem;color:var(--muted);white-space:nowrap}
.dn .sig-amount-value{font-size:1.1rem;font-weight:800;color:var(--blue)}
@media (max-width:640px){.dn .form-row{grid-template-columns:1fr}
.dn .bottom-grid{grid-template-columns:1fr}
.dn .qr-section{border-right:none;border-bottom:1px solid var(--border)}
.dn .form-section{padding:20px 18px}
.dn .bank-footer{grid-template-columns:1fr}
.dn .bank-footer-col:first-child{border-right:none;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:12px}
.dn .banner-inner{flex-direction:column}
.dn .banner-saint,.dn .banner-logo{min-width:unset;padding:12px;border:none}}
.dn .btn-ghost{background:#fff;color:var(--blue-mid);border:1.5px solid var(--blue-mid)}
.dn .btn-ghost:hover{background:var(--sky)}
.dn .rcpt{position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(5,20,60,.75);backdrop-filter:blur(6px);overflow-y:auto}
.dn .rcpt.show{display:flex}
.dn .rcpt-card{width:100%;max-width:460px;margin:auto;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 30px 80px rgba(5,20,100,.4)}
.dn .rcpt-top{padding:26px 24px 20px;text-align:center;background:linear-gradient(135deg,#f0fff4,#e8f7ff);border-bottom:1px solid #c3e6cb}
.dn .rcpt-top .tick{width:56px;height:56px;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:800;color:#fff;background:var(--success);border-radius:50%}
.dn .rcpt-top h3{margin:0 0 4px;font-size:1.2rem;font-weight:800;color:var(--blue)}
.dn .rcpt-top p{margin:0;font-size:.82rem;font-weight:600;color:var(--success)}
.dn .rcpt-body{padding:18px 26px 6px}
.dn .rcpt .rr{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px dashed var(--border);font-size:.86rem}
.dn .rcpt .rr span{color:var(--muted)}
.dn .rcpt .rr b{color:var(--text);text-align:right;word-break:break-all}
.dn .rcpt .rr.big{border-bottom:0}
.dn .rcpt .rr.big b{font-size:1.25rem;color:var(--blue)}
.dn .rcpt-actions{display:flex;gap:10px;padding:16px 26px 24px}
.dn .bank-footer-col:only-child{grid-column:1/-1;border-right:none;padding-left:0}


/* about page */

    .sv-about {
        --header-h: 130px;             
        --heading: #073b6b;
        --text: #8A7060;
        --text-strong: #7a5a46;
        font-family: 'Inter', sans-serif;
        background: #F9F9FC;
        padding-bottom: 64px;
    }
    .sv-about *, .sv-about *::before, .sv-about *::after { box-sizing: border-box; }

    /* ---------- Hero ---------- */
    .sv-about-hero {
        padding: var(--header-h) 20px 52px;
        text-align: center;
        color: #fff;
        background: linear-gradient(135deg, #00406f 0%, #0360a9 100%);
    }
    .sv-about-hero h1 {
        margin: 0 0 12px;
        font-family: 'Inter', 'Arial Black', sans-serif;
        font-size: 44px;
        font-weight: 800;
        color: #fff;
        letter-spacing: .3px;
    }
    .sv-about-hero p { margin: 0 0 18px; font-size: 19px; font-weight: 400; color: #fff; }
    .sv-about-chip {
        display: inline-flex; align-items: center; gap: 10px;
        padding: 10px 22px;
        font-size: 15px; font-weight: 500;
        background: rgba(255, 255, 255, 0.15);
        border-radius: 999px;
    }

    /* ---------- Card ---------- */
    .sv-about-card {
        max-width: 1176px;
        margin: 48px auto 0;
        padding: 44px 44px 36px;
        background: #fff;
        border-radius: 26px;
        box-shadow: 0 10px 40px rgba(27, 58, 107, 0.08);
    }
    .sv-about-card h2 {
        display: flex; align-items: center; gap: 12px;
        margin: 0 0 14px;
        font-family: 'Inter', sans-serif;
        font-size: 24px; font-weight: 700;
        color: var(--heading);
    }
    .sv-about-card h2 .ico { font-size: 26px; line-height: 1; }
    .sv-about-card section + section { margin-top: 36px; }
    .sv-about-card p {
        margin: 0;
        font-size: 16px; line-height: 1.75;
        color: var(--text);
    }
    .sv-about-card p strong { color: var(--text-strong); font-weight: 700; }
    .sv-about-card ul { margin: 0; padding: 0 0 0 32px; }
    .sv-about-card ul li {
        display: list-item;
        list-style: disc;                      /* your site resets li to none */
        margin-bottom: 4px;
        font-size: 16px; line-height: 1.75;
        color: var(--text);
    }

    @media (max-width: 767px) {
        .sv-about { --header-h: 100px; }
        .sv-about-hero h1 { font-size: 34px; }
        .sv-about-hero p { font-size: 16px; }
        .sv-about-card { margin: 28px 12px 0; padding: 26px 20px; border-radius: 20px; }
        .sv-about-card h2 { font-size: 21px; }
        .sv-about-card ul { padding-left: 22px; }
    }

    /* ---------- members page ---------- */

    .sv-mem-page {
        --header-h: 130px;            
        --navy: #0d3b8e; --navy2: #1B3A6B; --blue: #1a56c4;
        --gold: #F4A300; --gold2: #F0D06A; --muted: #6b7b9a; --line: #e2e8f0;
        font-family: 'Inter', sans-serif; color: #1a2a4a; background: #F9F9FC; padding-bottom: 80px;
    }
    .sv-mem-page *, .sv-mem-page *::before, .sv-mem-page *::after { box-sizing: border-box; }

    /* hero */
    .sv-mem-hero { padding: var(--header-h) 20px 70px; text-align: center; color: #fff; background: linear-gradient(135deg, #00406f 0%, #0360a9 100%); }
    .sv-mem-hero h1 { margin: 0 0 10px; font-family: 'Inter', sans-serif; font-size: 44px; font-weight: 800; color: #fff; }
    .sv-mem-hero p { margin: 0 0 18px; font-size: 18px; color: rgba(255, 255, 255, .92); }
    .sv-mem-chip { display: inline-flex; align-items: center; gap: 10px; padding: 9px 22px; font-size: 15px; font-weight: 500; background: rgba(255, 255, 255, .15); border-radius: 999px; }

    /* toolbar */
    .sv-mem-wrap { max-width: 1240px; margin: 0 auto; padding: 0 20px; }
    .sv-mem-bar { position: relative; margin-top: -30px; padding: 16px 18px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 10px 36px rgba(27, 58, 107, .10); }
    .sv-mem-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; }
    .sv-mem-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
    .sv-mem-tab {
        display: inline-flex; align-items: center; gap: 8px; padding: 9px 20px;
        font-family: inherit; font-size: .88rem; font-weight: 600; text-decoration: none; cursor: pointer;
        color: var(--blue); background: #e8f4ff; border: 1.5px solid transparent; border-radius: 999px; transition: all .2s;
    }
    .sv-mem-tab em { font-style: normal; padding: 1px 9px; font-size: .74rem; background: rgba(26, 86, 196, .12); border-radius: 999px; }
    .sv-mem-tab:hover { background: var(--blue); color: #fff; text-decoration: none; }
    .sv-mem-tab:hover em { background: rgba(255, 255, 255, .25); }
    .sv-mem-tab.active { background: linear-gradient(135deg, var(--gold), var(--gold2)); color: var(--navy2); box-shadow: 0 4px 14px rgba(244, 163, 0, .35); }
    .sv-mem-tab.active em { background: rgba(11, 45, 75, .12); }
    .sv-mem-search { position: relative; flex: 0 1 300px; min-width: 220px; }
    .sv-mem-search i { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); color: var(--blue); pointer-events: none; }
    .sv-mem-search input, .sv-sel {
        width: 100%; height: auto; font-family: inherit; font-size: .92rem; color: #1a2a4a;
        background-color: #f7fbff; border: 1.5px solid #c8d8f0; outline: none; transition: all .2s;
    }
    .sv-mem-search input { padding: 11px 16px 11px 42px; border-radius: 999px; }
    .sv-sel { padding: 10px 14px; border-radius: 12px; cursor: pointer; }
    .sv-mem-search input:focus, .sv-sel:focus { background-color: #fff; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(26, 86, 196, .1); }
    .sv-mem-filters { display: none; gap: 12px; flex-wrap: wrap; margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--line); }
    .sv-mem-filters.show { display: flex; }
    .sv-mem-filters label { flex: 1 1 200px; margin: 0; }
    .sv-mem-filters label span { display: block; margin-bottom: 5px; font-size: .7rem; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; color: var(--muted); }
    .sv-mem-filters label.off { display: none; }

    /* grid + cards */
    .sv-mem-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 24px; margin-top: 40px; }
    .sv-mem {
        display: block; padding: 0; width: 100%; text-align: center; font-family: inherit; background: #fff;
        border: 1px solid var(--line); border-radius: 22px; overflow: hidden; cursor: pointer;
        box-shadow: 0 6px 22px rgba(27, 58, 107, .08); transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
    }
    .sv-mem:hover { transform: translateY(-8px); border-color: var(--gold); box-shadow: 0 18px 44px rgba(27, 58, 107, .18); }
    .sv-mem.is-hidden { display: none; }
    .sv-mem-photo { position: relative; aspect-ratio: 1 / 1; overflow: hidden; background: linear-gradient(160deg, #0b2d4b, #2E5FA3); }
    .sv-mem-photo .ini { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 4rem; font-weight: 800; color: rgba(255, 255, 255, .85); }
    .sv-mem-photo img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center 18%; }
    .sv-mem-photo::after {
        content: "View profile"; position: absolute; left: 0; right: 0; bottom: 0; padding: 30px 10px 12px;
        font-size: .8rem; font-weight: 600; letter-spacing: .5px; color: #fff; background: linear-gradient(0deg, rgba(11, 45, 75, .85), transparent);
        opacity: 0; transform: translateY(10px); transition: all .3s ease;
    }
    .sv-mem:hover .sv-mem-photo::after { opacity: 1; transform: none; }
    .sv-mem-info { padding: 14px 14px 18px; }
    .sv-mem-name { margin: 0; font-family: 'Inter', sans-serif; font-size: 1.05rem; font-weight: 700; line-height: 1.35; color: var(--navy2); }
    .sv-mem-loc { display: block; margin-top: 8px; font-size: .8rem; line-height: 1.4; color: var(--muted); }
    .sv-mem-loc i { color: var(--gold); margin-right: 4px; }
    .sv-mem-role { display: inline-block; margin-top: 10px; padding: 4px 14px; font-size: .76rem; font-weight: 600; line-height: 1.4; color: #7a5200; background: #fff3d1; border-radius: 999px; }
    .sv-mem-empty { display: none; margin: 60px 0 0; text-align: center; color: var(--muted); }
    .sv-mem-empty.show { display: block; }

    /* popup */
    .sv-pop { position: fixed; inset: 0; z-index: 3000; display: none; align-items: center; justify-content: center; padding: 20px; background: rgba(5, 20, 45, .78); backdrop-filter: blur(5px); }
    .sv-pop.open { display: flex; }
    .sv-pop-card { position: relative; display: grid; grid-template-columns: 280px 1fr; width: 100%; max-width: 760px; max-height: 90vh; overflow: auto; background: #fff; border-radius: 24px; box-shadow: 0 30px 90px rgba(0, 0, 0, .45); }
    .sv-pop-photo { background: linear-gradient(160deg, #0b2d4b, #2E5FA3); min-height: 340px; }
    .sv-pop-photo img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: top; }
    .sv-pop-body { padding: 36px 34px; }
    .sv-pop-body h3 { margin: 0 0 8px; font-family: 'Inter', sans-serif; font-size: 1.6rem; font-weight: 800; color: var(--navy2); }
    .sv-pop-body .pos { display: inline-block; margin: 0 8px 8px 0; padding: 4px 14px; font-size: .78rem; font-weight: 600; color: var(--navy2); background: linear-gradient(135deg, var(--gold), var(--gold2)); border-radius: 999px; }
    .sv-pop-body .loc { margin: 4px 0 0; font-size: .92rem; color: var(--muted); }
    .sv-pop-body .role { margin: 8px 0 0; font-size: 1rem; font-weight: 500; color: var(--blue); }
    .sv-pop-body .bio { margin: 18px 0 0; font-size: .95rem; line-height: 1.75; color: #4a5a78; white-space: pre-line; }
    .sv-pop-x { position: absolute; top: 14px; right: 14px; z-index: 2; width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; font-size: 1rem; color: #fff; background: rgba(11, 45, 75, .55); border: 0; border-radius: 50%; cursor: pointer; transition: background .2s; }
    .sv-pop-x:hover { background: var(--gold); color: #0b2d4b; }

    @media (max-width: 767px) {
        .sv-mem-page { --header-h: 100px; }
        .sv-mem-hero h1 { font-size: 32px; } .sv-mem-hero p { font-size: 16px; }
        .sv-mem-bar { margin-top: -26px; }
        .sv-mem-search { flex: 1 1 100%; }
        .sv-mem-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
        .sv-mem-info { padding: 14px 10px 18px; } .sv-mem-name { font-size: .92rem; }
        .sv-pop-card { grid-template-columns: 1fr; } .sv-pop-photo { min-height: 0; height: 260px; } .sv-pop-body { padding: 24px 22px; }
    }

    /* programs page */

    .sv-prog {
        --header-h: 120px;               
        --navy: #0b2d4b; --navy2: #1B3A6B; --blue: #2E5FA3;
        --gold: #F4A300; --gold2: #F0D06A; --cream: #FBF7EE; --muted: #6b7b9a; --line: #e2e8f0;
        font-family: 'Inter', sans-serif; font-size: 16px; line-height: 1.6; color: #1a2a4a; background: #F9F9FC; overflow: hidden;
    }
    .sv-prog *, .sv-prog *::before, .sv-prog *::after { box-sizing: border-box; }
    .sv-prog a { text-decoration: none; }
    .sv-wrap { max-width: 1120px; margin: 0 auto; padding: 0 20px; }
    .sv-sec { padding: 76px 0; }
    .sv-sec.alt { background: var(--cream); }

    .sv-head { text-align: center; max-width: 640px; margin: 0 auto 42px; }
    .sv-eyebrow { display: inline-block; margin-bottom: 8px; font-size: .78rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); }
    .sv-head h2 { position: relative; margin: 0 0 14px; padding-bottom: 16px; font-family: 'Inter', sans-serif; font-size: 2rem; font-weight: 800; color: var(--navy2); }
    .sv-head h2::after { content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 64px; height: 4px; border-radius: 4px; background: linear-gradient(90deg, var(--gold), var(--gold2)); }
    .sv-head p { margin: 0; color: var(--muted); }

    .sv-btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 30px; font-family: inherit; font-size: .95rem; font-weight: 700; border-radius: 50px; border: 2px solid transparent; cursor: pointer; transition: all .25s; }
    .sv-btn-gold { background: linear-gradient(135deg, var(--gold), var(--gold2)); color: var(--navy2); box-shadow: 0 6px 24px rgba(244, 163, 0, .4); }
    .sv-btn-gold:hover { transform: translateY(-3px); box-shadow: 0 10px 32px rgba(244, 163, 0, .55); color: var(--navy2); }
    .sv-btn-ghost { background: transparent; border-color: rgba(255, 255, 255, .55); color: #fff; }
    .sv-btn-ghost:hover { background: #fff; color: var(--navy2); }

    /* hero */
    .sv-hero { position: relative; padding: calc(var(--header-h) + 30px) 20px 130px; text-align: center; color: #fff; background: linear-gradient(135deg, #071e33 0%, var(--navy2) 55%, var(--blue) 100%); overflow: hidden; }
    .sv-hero::before { content: ""; position: absolute; right: -140px; top: -120px; width: 600px; height: 600px; background: radial-gradient(circle, rgba(244, 163, 0, .26), transparent 66%); }
    .sv-hero > * { position: relative; }
    .sv-status { display: inline-flex; align-items: center; gap: 8px; padding: 7px 18px; margin-bottom: 18px; font-size: .78rem; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--gold2); background: rgba(255, 255, 255, .1); border: 1px solid rgba(240, 208, 106, .35); border-radius: 999px; }
    .sv-status.done { color: #cfe3f5; border-color: rgba(255, 255, 255, .3); }
    .sv-hero h1 { margin: 0 0 6px; font-family: 'Inter', sans-serif; font-size: 3.2rem; font-weight: 800; color: #fff; line-height: 1.15; }
    .sv-hero h1 span { background: linear-gradient(90deg, var(--gold), var(--gold2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
    .sv-hero .sub { margin: 0 0 24px; font-size: 1.3rem; font-weight: 500; color: rgba(255, 255, 255, .9); }
    .sv-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-bottom: 30px; }
    .sv-meta span { display: inline-flex; align-items: center; gap: 9px; padding: 10px 20px; font-size: .95rem; font-weight: 500; background: rgba(255, 255, 255, .12); border-radius: 999px; }
    .sv-meta i { color: var(--gold); }
    .sv-hero-cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }

    /* poster */
    .sv-poster { position: relative; z-index: 2; margin: -80px auto 0; max-width: 980px; padding: 0 20px; }
    .sv-poster img { display: block; width: 100%; border-radius: 22px; border: 6px solid #fff; box-shadow: 0 22px 60px rgba(27, 58, 107, .25); }
    .sv-note { margin: 22px auto 0; max-width: 980px; padding: 14px 18px; text-align: center; font-size: .92rem; color: #1a3f7a; background: #f0f8ff; border: 1px solid #c8d8f0; border-radius: 14px; }

    /* day cards */
    .sv-days { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
    .sv-day-card { position: relative; padding: 34px 28px 30px; text-align: center; background: #fff; border: 1px solid var(--line); border-radius: 24px; cursor: pointer; transition: all .3s; box-shadow: 0 8px 28px rgba(27, 58, 107, .08); overflow: hidden; }
    .sv-day-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: linear-gradient(90deg, var(--gold), var(--gold2)); }
    .sv-day-card:hover { transform: translateY(-8px); border-color: var(--gold); box-shadow: 0 20px 50px rgba(27, 58, 107, .18); }
    .sv-day-label { display: inline-block; padding: 5px 18px; font-size: .78rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--navy2); background: #fff3d1; border-radius: 999px; }
    .sv-day-num { margin: 14px 0 2px; font-size: 4.2rem; font-weight: 800; line-height: 1; color: var(--navy2); }
    .sv-day-date { margin-bottom: 18px; font-size: .9rem; color: var(--muted); }
    .sv-day-theme { padding-top: 18px; border-top: 1px dashed var(--line); }
    .sv-day-theme i { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-bottom: 10px; font-size: 1.3rem; color: var(--navy2); background: linear-gradient(135deg, #fff3d1, #ffe29a); border-radius: 14px; }
    .sv-day-theme h4 { margin: 0 0 6px; font-family: 'Inter', sans-serif; font-size: 1.1rem; font-weight: 700; color: var(--navy2); }
    .sv-day-theme p { margin: 0; font-size: .9rem; color: var(--muted); }

    /* accommodation */
    .sv-accom { display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; padding: 38px 44px; color: #fff; background: linear-gradient(135deg, var(--navy), var(--navy2) 60%, var(--blue)); border-radius: 26px; box-shadow: 0 20px 56px rgba(11, 45, 75, .3); }
    .sv-accom-text { display: flex; align-items: center; gap: 22px; }
    .sv-accom-ic { flex: 0 0 66px; height: 66px; display: flex; align-items: center; justify-content: center; font-size: 1.8rem; color: var(--navy2); background: linear-gradient(135deg, var(--gold), var(--gold2)); border-radius: 20px; }
    .sv-accom h3 { margin: 0 0 4px; font-family: 'Inter', sans-serif; font-size: 1.6rem; font-weight: 800; color: #fff; }
    .sv-accom p { margin: 0; color: rgba(255, 255, 255, .8); }

    /* schedule */
    .sv-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 36px; }
    .sv-tab { padding: 11px 26px; font-family: inherit; font-size: .92rem; font-weight: 700; color: var(--blue); background: #e8f4ff; border: 1.5px solid transparent; border-radius: 999px; cursor: pointer; transition: all .2s; }
    .sv-tab:hover { background: var(--blue); color: #fff; }
    .sv-tab.active { background: linear-gradient(135deg, var(--gold), var(--gold2)); color: var(--navy2); box-shadow: 0 5px 18px rgba(244, 163, 0, .35); }
    .sv-day { display: none; max-width: 860px; margin: 0 auto; }
    .sv-day.show { display: block; }
    .sv-slot { position: relative; display: grid; grid-template-columns: 110px 1fr; gap: 24px; padding-bottom: 22px; }
    .sv-slot::before { content: ""; position: absolute; left: 124px; top: 26px; bottom: -4px; width: 2px; background: var(--line); }
    .sv-slot:last-child::before { display: none; }
    .sv-slot .t { position: relative; padding-top: 14px; text-align: right; font-size: .92rem; font-weight: 700; color: var(--navy2); }
    .sv-slot .t::after { content: ""; position: absolute; right: -32px; top: 19px; width: 14px; height: 14px; background: #fff; border: 3px solid var(--gold); border-radius: 50%; z-index: 1; }
    .sv-slot .b { padding: 16px 22px; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 4px 16px rgba(27, 58, 107, .06); transition: all .25s; }
    .sv-slot .b:hover { transform: translateX(4px); border-color: var(--gold); box-shadow: 0 10px 26px rgba(27, 58, 107, .12); }
    .sv-tag { display: inline-block; padding: 3px 14px; font-size: .78rem; font-weight: 700; color: var(--navy2); background: #e8f4ff; border-radius: 999px; }
    .sv-slot .d { margin: 8px 0 4px; font-size: 1rem; font-weight: 600; color: #1a2a4a; }
    .sv-slot small { font-size: .82rem; color: var(--muted); }
    .sv-slot small i { color: var(--gold); margin-right: 4px; }
    .sv-slot.hl .b { background: linear-gradient(135deg, #fff8e1, #fff1c2); border-color: var(--gold); }
    .sv-slot.hl .sv-tag { background: linear-gradient(135deg, var(--gold), var(--gold2)); }

    /* contact */
    .sv-contact { padding: 56px 0; color: #fff; background: linear-gradient(135deg, var(--navy), var(--navy2)); }
    .sv-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
    .sv-contact-box { padding: 28px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(244, 163, 0, .25); border-radius: 20px; }
    .sv-contact-box h4 { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; font-family: 'Inter', sans-serif; font-size: 1.05rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--gold); }
    .sv-phones { display: flex; flex-wrap: wrap; gap: 10px; }
    .sv-phones a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; font-size: .95rem; font-weight: 600; color: #fff; background: rgba(255, 255, 255, .12); border-radius: 999px; transition: all .2s; }
    .sv-phones a:hover { background: var(--gold); color: var(--navy2); }

    /* accommodation popup */
    .sv-pop { position: fixed; inset: 0; z-index: 3000; display: none; align-items: center; justify-content: center; padding: 20px; background: rgba(5, 20, 45, .78); backdrop-filter: blur(5px); }
    .sv-pop.open { display: flex; }
    .sv-pop-card { position: relative; width: 100%; max-width: 480px; max-height: 92vh; overflow: auto; background: #fff; border-radius: 24px; box-shadow: 0 30px 90px rgba(0, 0, 0, .45); }
    .sv-pop-top { padding: 26px 30px; color: #fff; background: linear-gradient(135deg, var(--navy2), var(--blue)); }
    .sv-pop-top h3 { margin: 0 0 4px; font-family: 'Inter', sans-serif; font-size: 1.35rem; font-weight: 800; color: #fff; }
    .sv-pop-top p { margin: 0; font-size: .9rem; color: rgba(255, 255, 255, .8); }
    .sv-pop-x { position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; color: #fff; background: rgba(255, 255, 255, .18); border: 0; border-radius: 50%; cursor: pointer; transition: background .2s; }
    .sv-pop-x:hover { background: var(--gold); color: var(--navy); }
    .sv-pop-body { padding: 28px 30px 30px; }
    .sv-pop-body label { display: block; margin: 0 0 6px; font-size: .72rem; font-weight: 600; letter-spacing: .8px; text-transform: uppercase; color: var(--muted); }
    .sv-pop-body label span { color: #dc2626; }
    .sv-pop-body .fld { margin-bottom: 18px; }
    .sv-pop-body input { width: 100%; height: auto; padding: 12px 16px; font-family: inherit; font-size: .95rem; color: #1a2a4a; background: #f7fbff; border: 1.5px solid #c8d8f0; border-radius: 10px; outline: none; transition: all .2s; }
    .sv-pop-body input:focus { background: #fff; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(46, 95, 163, .12); }
    .sv-err { display: none; margin: 0 0 14px; padding: 10px 14px; font-size: .86rem; color: #b91c1c; background: #fef2f2; border: 1px solid #fecaca; border-radius: 10px; }
    .sv-ok { display: none; padding: 30px 10px; text-align: center; }
    .sv-ok i { font-size: 3.2rem; color: #16a34a; }
    .sv-ok h4 { margin: 10px 0 6px; font-family: 'Inter', sans-serif; font-weight: 800; color: var(--navy2); }
    .sv-ok p { margin: 0; color: var(--muted); }
    .sv-submit { width: 100%; padding: 14px; font-family: inherit; font-size: .98rem; font-weight: 700; color: var(--navy2); background: linear-gradient(135deg, var(--gold), var(--gold2)); border: 0; border-radius: 50px; box-shadow: 0 6px 22px rgba(244, 163, 0, .4); cursor: pointer; transition: all .25s; }
    .sv-submit:hover { transform: translateY(-2px); }
    .sv-submit:disabled { opacity: .7; cursor: wait; transform: none; }

    @media (max-width: 991px) {
        .sv-days { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; }
        .sv-contact-grid { grid-template-columns: 1fr; }
        .sv-hero h1 { font-size: 2.5rem; }
    }
    @media (max-width: 640px) {
        .sv-prog { --header-h: 96px; }
        .sv-sec { padding: 56px 0; }
        .sv-hero { padding-bottom: 110px; } .sv-hero h1 { font-size: 2rem; } .sv-hero .sub { font-size: 1.05rem; }
        .sv-btn { width: 100%; justify-content: center; }
        .sv-accom { padding: 28px 22px; } .sv-accom-text { flex-direction: column; text-align: center; }
        .sv-slot { grid-template-columns: 1fr; gap: 6px; padding-bottom: 16px; }
        .sv-slot::before, .sv-slot .t::after { display: none; }
        .sv-slot .t { text-align: left; padding-top: 0; color: var(--gold); }
    }

    /* ---------- Gallery page ---------- */

    .sv-gal {
        --header-h: 130px;             
        --navy: #0d3b8e;
        --blue-mid: #1a56c4;
        --sky: #e8f4ff;
        --border: #c8d8f0;
        --gold: #f5a800;

        font-family: 'Inter', sans-serif;
        color: #1a2a4a;
        background: #F9F9FC;
        padding-bottom: 72px;
    }
    .sv-gal *, .sv-gal *::before, .sv-gal *::after { box-sizing: border-box; }

    /* ---------- Hero ---------- */
    .sv-gal-hero {
        padding: var(--header-h) 20px 52px;
        text-align: center; color: #fff;
        background: linear-gradient(135deg, #00406f 0%, #0360a9 100%);
    }
    .sv-gal-hero h1 { margin: 0 0 10px; font-family: 'Inter', sans-serif; font-size: 44px; font-weight: 800; color: #fff; }
    .sv-gal-hero p { margin: 0 0 18px; font-size: 18px; color: rgba(255, 255, 255, .92); }
    .sv-gal-chip {
        display: inline-flex; align-items: center; gap: 10px;
        padding: 9px 22px; font-size: 15px; font-weight: 500;
        background: rgba(255, 255, 255, .15); border-radius: 999px;
    }

    /* ---------- Content ---------- */
    .sv-gal-wrap { max-width: 1240px; margin: 0 auto; padding: 0 20px; }

    .sv-gal-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 34px 0 6px; }
    .sv-gal-filter {
        padding: 8px 20px; font-family: inherit; font-size: .85rem; font-weight: 600;
        color: var(--blue-mid); background: var(--sky);
        border: 1.5px solid #4a90d9; border-radius: 999px; cursor: pointer; transition: all .18s ease;
    }
    .sv-gal-filter:hover, .sv-gal-filter.active { background: var(--blue-mid); border-color: var(--blue-mid); color: #fff; }

    .sv-gal-group { margin-top: 38px; }
    .sv-gal-group.is-hidden, .sv-gal-group.is-empty { display: none; }
    .sv-gal-head {
        display: flex; align-items: center; gap: 12px;
        margin: 0 0 20px;
        font-family: 'Inter', sans-serif; font-size: 1.4rem; font-weight: 700; color: #073b6b;
    }
    .sv-gal-head::before { content: ""; width: 5px; height: 26px; border-radius: 4px; background: var(--gold); }
    .sv-gal-head::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, var(--border), transparent); }

    .sv-gal-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 18px; }
    .sv-gal-item {
        position: relative; display: block; overflow: hidden;
        aspect-ratio: 4 / 3;
        background: var(--sky); border-radius: 14px;
        box-shadow: 0 4px 18px rgba(27, 58, 107, .10);
        cursor: zoom-in; transition: transform .25s ease, box-shadow .25s ease;
    }
    .sv-gal-item.is-broken { display: none; }
    .sv-gal-item img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .45s ease; }
    .sv-gal-item:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(27, 58, 107, .20); }
    .sv-gal-item:hover img { transform: scale(1.07); }
    .sv-gal-zoom {
        position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
        font-size: 1.7rem; color: #fff; opacity: 0; transition: opacity .25s ease;
        background: linear-gradient(180deg, rgba(11, 45, 75, .05), rgba(11, 45, 75, .55));
    }
    .sv-gal-item:hover .sv-gal-zoom { opacity: 1; }
    .sv-gal-empty { margin: 60px 0; text-align: center; color: #6b7b9a; }

    /* ---------- Lightbox ---------- */
    .sv-lb {
        position: fixed; inset: 0; z-index: 3000;
        display: none; align-items: center; justify-content: center;
        background: rgba(5, 20, 45, .92); backdrop-filter: blur(6px);
    }
    .sv-lb.open { display: flex; }
    .sv-lb-img { max-width: 90vw; max-height: 82vh; border-radius: 10px; box-shadow: 0 20px 70px rgba(0, 0, 0, .5); }
    .sv-lb-bar { position: absolute; left: 0; right: 0; bottom: 22px; text-align: center; color: #fff; font-size: .9rem; }
    .sv-lb-bar b { font-weight: 600; margin-right: 10px; }
    .sv-lb-btn {
        position: absolute; width: 46px; height: 46px; border: 0; border-radius: 50%;
        display: flex; align-items: center; justify-content: center;
        font-size: 1.3rem; color: #fff; background: rgba(255, 255, 255, .16); cursor: pointer; transition: background .2s;
    }
    .sv-lb-btn:hover { background: var(--gold); color: #0b2d4b; }
    .sv-lb-close { top: 20px; right: 22px; }
    .sv-lb-prev { left: 22px; top: 50%; transform: translateY(-50%); }
    .sv-lb-next { right: 22px; top: 50%; transform: translateY(-50%); }

    @media (max-width: 767px) {
        .sv-gal { --header-h: 100px; }
        .sv-gal-hero h1 { font-size: 32px; }
        .sv-gal-hero p { font-size: 16px; }
        .sv-gal-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
        .sv-gal-wrap { padding: 0 12px; }
        .sv-lb-prev { left: 8px; } .sv-lb-next { right: 8px; }
    }

    /* ---------- Be a council ---------- */

    .sv-reg {
        --header-h: 130px;              
        --navy: #0d3b8e;
        --blue-mid: #1a56c4;
        --sky: #e8f4ff;
        --border: #c8d8f0;
        --field-bg: #f7fbff;
        --muted: #6b7b9a;
        --text: #1a2a4a;
        --danger: #dc2626;
        --gold: #f5a800;
        --gold-dark: #c47d00;

        font-family: 'Inter', sans-serif;
        font-size: 16px;
        color: var(--text);
        background: #F9F9FC;
        padding-bottom: 64px;
    }
    .sv-reg *, .sv-reg *::before, .sv-reg *::after { box-sizing: border-box; }

    /* ---------- Hero ---------- */
    .sv-reg-hero {
        padding: var(--header-h) 20px 46px;
        text-align: center;
        color: #fff;
        background: linear-gradient(135deg, #00406f 0%, #0360a9 100%);
    }
    .sv-reg-hero h1 { margin: 0 0 10px; font-family: 'Inter', sans-serif; font-size: 42px; font-weight: 800; color: #fff; }
    .sv-reg-hero p { margin: 0; font-size: 17px; color: rgba(255, 255, 255, .9); }

    /* ---------- Card ---------- */
    .sv-reg-card {
        max-width: 960px;
        margin: -22px auto 0;
        position: relative;
        padding: 36px 40px 34px;
        background: #fff;
        border: 1px solid #cfe0f3;
        border-radius: 22px;
        box-shadow: 0 10px 40px rgba(27, 58, 107, .10);
    }
    .sv-reg-title {
        display: flex; align-items: center; gap: 10px;
        margin: 0 0 20px;
        font-family: 'Inter', sans-serif;
        font-size: .75rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
        color: var(--navy);
    }
    .sv-reg-title i { font-size: 1rem; color: var(--gold); }
    .sv-reg-title::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, var(--border), transparent); }
    .sv-reg-block + .sv-reg-block { margin-top: 34px; }

    .sv-reg-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 28px; }
    .sv-reg-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
    .sv-reg-full { grid-column: 1 / -1; }

    .sv-reg label {
        margin: 0;
        font-size: .72rem; font-weight: 600; letter-spacing: .8px; text-transform: uppercase;
        color: var(--muted);
    }
    .sv-reg .form-control {
        width: 100%; 
        height: auto;
        padding: 11px 16px;
        font-family: 'Inter', sans-serif; font-size: .95rem; line-height: 1.5;
        color: var(--text);
        background-color: var(--field-bg);
        border: 1.5px solid var(--border);
        border-radius: 9px;
        outline: none;
        transition: all .2s ease;
    }
    .sv-reg .form-control:focus {
        background-color: #fff;
        border-color: var(--blue-mid);
        box-shadow: 0 0 0 3px rgba(26, 86, 196, .1);
    }
    .sv-reg select.form-control:not([size]):not([multiple]) { height: auto; min-height: 46px; padding-right: 36px; }
    .sv-reg textarea.form-control { min-height: 150px; resize: vertical; }
    .sv-reg input[type=file].form-control { padding: 8px 12px; cursor: pointer; }
    .sv-reg input[type=file]::file-selector-button {
        margin-right: 12px; padding: 7px 14px;
        border: 0; border-radius: 8px;
        background: var(--sky); color: var(--blue-mid);
        font-family: inherit; font-weight: 600; cursor: pointer; transition: all .2s;
    }
    .sv-reg input[type=file]::file-selector-button:hover { background: var(--blue-mid); color: #fff; }
    .sv-reg-hint { font-size: .75rem; color: var(--muted); line-height: 1.5; }
    .sv-reg-count { align-self: flex-end; font-size: .72rem; color: var(--muted); }

    /* ---------- Note + submit ---------- */
    .sv-reg-note {
        margin-top: 30px; padding: 12px 16px;
        font-size: .85rem; line-height: 1.6; color: #1a3f7a;
        background: #f0f8ff; border: 1px solid var(--border); border-radius: 9px;
    }
    .sv-reg-note a { color: var(--blue-mid); font-weight: 600; }
    .sv-reg-submit {
        display: inline-flex; align-items: center; gap: 8px;
        margin-top: 20px; padding: 13px 34px;
        font-family: 'Inter', sans-serif; font-size: .92rem; font-weight: 600; letter-spacing: .3px;
        color: #fff; border: 0; border-radius: 10px; cursor: pointer;
        background: linear-gradient(135deg, var(--gold), var(--gold-dark));
        box-shadow: 0 4px 16px rgba(245, 168, 0, .35);
        transition: all .22s ease;
    }
    .sv-reg-submit:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(245, 168, 0, .45); }
    .sv-reg-submit:active { transform: scale(.98); }

    /* errors partial (Laravel validation messages) */
    .sv-reg .alert { margin-bottom: 22px; border-radius: 10px; font-size: .9rem; }

    @media (max-width: 767px) {
        .sv-reg { --header-h: 100px; }
        .sv-reg-hero h1 { font-size: 32px; }
        .sv-reg-card { margin: -16px 12px 0; padding: 24px 18px; border-radius: 18px; }
        .sv-reg-grid { grid-template-columns: 1fr; }
        .sv-reg-submit { width: 100%; justify-content: center; }
    }

    /* ---------- Login page ---------- */

    .sv-login {
        --header-h: 130px;            
        --navy: #0d3b8e;
        --blue-mid: #1a56c4;
        --border: #c8d8f0;
        --field-bg: #f7fbff;
        --muted: #6b7b9a;
        --text: #1a2a4a;
        --danger: #dc2626;
        --gold: #f5a800;
        --gold-dark: #c47d00;

        font-family: 'Inter', sans-serif;
        font-size: 16px;
        color: var(--text);
        background: #F9F9FC;
        padding-bottom: 80px;
        min-height: 70vh;
    }
    .sv-login *, .sv-login *::before, .sv-login *::after { box-sizing: border-box; }

    /* ---------- Hero ---------- */
    .sv-login-hero {
        padding: var(--header-h) 20px 80px;
        text-align: center;
        color: #fff;
        background: linear-gradient(135deg, #00406f 0%, #0360a9 100%);
    }
    .sv-login-hero h1 { margin: 0 0 10px; font-family: 'Inter', sans-serif; font-size: 42px; font-weight: 800; color: #fff; }
    .sv-login-hero p { margin: 0; font-size: 17px; color: rgba(255, 255, 255, .9); }

    /* ---------- Card ---------- */
    .sv-login-card {
        max-width: 460px;
        margin: -44px auto 0;
        position: relative;
        padding: 34px 36px 30px;
        background: #fff;
        border: 1px solid #cfe0f3;
        border-radius: 22px;
        box-shadow: 0 10px 40px rgba(27, 58, 107, .10);
    }
    .sv-login-icon {
        width: 56px; height: 56px; margin: 0 auto 22px;
        display: flex; align-items: center; justify-content: center;
        font-size: 1.5rem; color: var(--navy);
        background: #e8f4ff; border-radius: 50%;
    }
    .sv-login-field { margin-bottom: 20px; }
    .sv-login label.sv-label {
        display: block; margin: 0 0 7px;
        font-size: .72rem; font-weight: 600; letter-spacing: .8px; text-transform: uppercase;
        color: var(--muted);
    }
    .sv-login-input { position: relative; }
    .sv-login-input > i {
        position: absolute; left: 15px; top: 50%; transform: translateY(-50%);
        color: var(--blue-mid); font-size: 1rem; pointer-events: none;
    }
    .sv-login .form-control {
        width: 100%; height: auto;
        padding: 12px 16px 12px 44px;
        font-family: 'Inter', sans-serif; font-size: .95rem; line-height: 1.5;
        color: var(--text);
        background-color: var(--field-bg);
        border: 1.5px solid var(--border);
        border-radius: 9px;
        outline: none;
        transition: all .2s ease;
    }
    .sv-login .form-control:focus {
        background-color: #fff;
        border-color: var(--blue-mid);
        box-shadow: 0 0 0 3px rgba(26, 86, 196, .1);
    }
    .sv-login .has-error .form-control { border-color: var(--danger); }
    .sv-login .help-block { display: block; margin-top: 6px; font-size: .78rem; color: var(--danger); }
    .sv-login .help-block strong { font-weight: 500; }

    .sv-login-remember { display: flex; align-items: center; margin: 2px 0 22px; }
    .sv-login-remember label {
        display: inline-flex; align-items: center; gap: 8px; margin: 0;
        font-size: .88rem; font-weight: 500; color: var(--text); cursor: pointer;
    }
    .sv-login-remember input[type=checkbox] { width: 17px; height: 17px; margin: 0; accent-color: var(--blue-mid); cursor: pointer; }

    .sv-login-btn {
        display: flex; align-items: center; justify-content: center; gap: 8px;
        width: 100%; padding: 13px 20px;
        font-family: 'Inter', sans-serif; font-size: .95rem; font-weight: 600; letter-spacing: .3px;
        color: #fff; border: 0; border-radius: 10px; cursor: pointer;
        background: linear-gradient(135deg, var(--gold), var(--gold-dark));
        box-shadow: 0 4px 16px rgba(245, 168, 0, .35);
        transition: all .22s ease;
    }
    .sv-login-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(245, 168, 0, .45); }
    .sv-login-btn:active { transform: scale(.98); }

    .sv-login-forgot { margin-top: 18px; text-align: center; }
    .sv-login-forgot a { font-size: .88rem; font-weight: 500; color: var(--blue-mid); text-decoration: none; }
    .sv-login-forgot a:hover { color: var(--navy); text-decoration: underline; }

    @media (max-width: 767px) {
        .sv-login { --header-h: 100px; }
        .sv-login-hero h1 { font-size: 32px; }
        .sv-login-card { margin: -40px 14px 0; padding: 26px 20px; border-radius: 18px; }
    }

    /* ---------- Admin dontate list ---------- */
   
    .sv-adm { --header-h: 120px; --navy: #1B3A6B; --blue: #1a56c4; --gold: #F4A300; --gold2: #F0D06A; --line: #e2e8f0; --muted: #6b7b9a;
        font-family: 'Inter', sans-serif; color: #1a2a4a; background: #F9F9FC; padding-bottom: 70px; min-height: 80vh; }
    .sv-adm *, .sv-adm *::before, .sv-adm *::after { box-sizing: border-box; }
    .sv-adm-hero { padding: var(--header-h) 20px 70px; text-align: center; color: #fff; background: linear-gradient(135deg, #00406f 0%, #0360a9 100%); }
    .sv-adm-hero h1 { margin: 0 0 8px; font-family: 'Inter', sans-serif; font-size: 38px; font-weight: 800; color: #fff; }
    .sv-adm-hero p { margin: 0; color: rgba(255, 255, 255, .9); }
    .sv-adm-wrap { max-width: 1280px; margin: 0 auto; padding: 0 20px; }

    .sv-adm-stats { position: relative; margin-top: -40px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
    .sv-adm-stat { padding: 22px 22px 20px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 10px 32px rgba(27, 58, 107, .10); }
    .sv-adm-stat span { display: block; font-size: .74rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--muted); }
    .sv-adm-stat b { display: block; margin-top: 6px; font-size: 1.9rem; font-weight: 800; line-height: 1.15; color: var(--navy); }
    .sv-adm-stat small { color: var(--muted); font-size: .8rem; }
    .sv-adm-stat.gold { background: linear-gradient(135deg, var(--gold), var(--gold2)); border: 0; }
    .sv-adm-stat.gold span, .sv-adm-stat.gold small { color: rgba(27, 58, 107, .75); }

    .sv-adm-bar { margin-top: 26px; padding: 16px 18px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 6px 22px rgba(27, 58, 107, .06); }
    .sv-adm-form { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
    .sv-adm-form label { display: block; margin: 0 0 4px; font-size: .68rem; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; color: var(--muted); }
    .sv-adm-form .f { flex: 1 1 140px; min-width: 130px; }
    .sv-adm-form .f.q { flex: 2 1 240px; }
    .sv-adm-form input, .sv-adm-form select { width: 100%; height: auto; padding: 10px 12px; font-family: inherit; font-size: .9rem; color: #1a2a4a; background-color: #f7fbff; border: 1.5px solid #c8d8f0; border-radius: 10px; outline: none; }
    .sv-adm-form input:focus, .sv-adm-form select:focus { background-color: #fff; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(26, 86, 196, .1); }
    .sv-adm-btn { display: inline-flex; align-items: center; gap: 8px; padding: 11px 20px; font-family: inherit; font-size: .88rem; font-weight: 700; text-decoration: none; border: 0; border-radius: 10px; cursor: pointer; transition: all .2s; }
    .sv-adm-btn.go { color: #fff; background: var(--blue); }
    .sv-adm-btn.go:hover { background: var(--navy); color: #fff; text-decoration: none; }
    .sv-adm-btn.ghost { color: var(--blue); background: #e8f4ff; }
    .sv-adm-btn.ghost:hover { background: var(--blue); color: #fff; text-decoration: none; }
    .sv-adm-btn.csv { color: var(--navy); background: linear-gradient(135deg, var(--gold), var(--gold2)); }
    .sv-adm-btn.csv:hover { transform: translateY(-2px); color: var(--navy); text-decoration: none; }
    .sv-adm-sum { margin: 18px 4px 10px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; font-size: .9rem; color: var(--muted); }
    .sv-adm-sum b { color: var(--navy); }

    .sv-adm-card { background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 8px 28px rgba(27, 58, 107, .07); overflow: hidden; }
    .sv-adm-scroll { overflow-x: auto; }
    .sv-adm table { width: 100%; border-collapse: collapse; font-size: .88rem; }
    .sv-adm th { padding: 14px 16px; text-align: left; font-size: .7rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--muted); background: #f5f9ff; border-bottom: 1px solid var(--line); white-space: nowrap; }
    .sv-adm td { padding: 14px 16px; border-bottom: 1px solid #eef2f7; vertical-align: middle; }
    .sv-adm tbody tr { cursor: pointer; transition: background .15s; }
    .sv-adm tbody tr:hover { background: #f7fbff; }
    .sv-adm td.amt { font-weight: 800; color: var(--navy); white-space: nowrap; }
    .sv-adm td.nm b { display: block; color: #1a2a4a; }
    .sv-adm td.nm small, .sv-adm td.mut { color: var(--muted); font-size: .78rem; }
    .sv-adm td.rc { font-weight: 700; color: var(--blue); white-space: nowrap; }
    .sv-adm td.pid { font-family: Consolas, monospace; font-size: .76rem; color: #4a5a78; }
    .sv-adm .st { display: inline-block; padding: 3px 12px; font-size: .72rem; font-weight: 700; border-radius: 999px; }
    .sv-adm .st.paid { color: #166534; background: #dcfce7; }
    .sv-adm .st.created { color: #92400e; background: #fef3c7; }
    .sv-adm .st.failed { color: #991b1b; background: #fee2e2; }
    .sv-adm .md { display: inline-block; padding: 3px 12px; font-size: .72rem; font-weight: 600; color: var(--navy); background: #e8f4ff; border-radius: 999px; }
    .sv-adm-empty { padding: 60px 20px; text-align: center; color: var(--muted); }

    .sv-adm-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 16px 18px; font-size: .86rem; color: var(--muted); }
    .sv-adm-pager a { display: inline-block; margin-left: 8px; padding: 8px 16px; font-weight: 700; color: var(--blue); background: #e8f4ff; border-radius: 999px; text-decoration: none; }
    .sv-adm-pager a:hover { background: var(--blue); color: #fff; }

    .sv-adm-pop { position: fixed; inset: 0; z-index: 3000; display: none; align-items: center; justify-content: center; padding: 20px; background: rgba(5, 20, 45, .75); backdrop-filter: blur(5px); }
    .sv-adm-pop.open { display: flex; }
    .sv-adm-modal { position: relative; width: 100%; max-width: 520px; max-height: 92vh; overflow: auto; background: #fff; border-radius: 22px; box-shadow: 0 30px 90px rgba(0, 0, 0, .45); }
    .sv-adm-modal h3 { margin: 0; padding: 22px 56px 18px 26px; font-family: 'Inter', sans-serif; font-size: 1.15rem; font-weight: 800; color: var(--navy); background: linear-gradient(135deg, #f0f7ff, #fffbe6); border-bottom: 1px solid var(--line); }
    .sv-adm-modal .x { position: absolute; top: 14px; right: 14px; width: 34px; height: 34px; color: #fff; background: rgba(11, 45, 75, .6); border: 0; border-radius: 50%; cursor: pointer; }
    .sv-adm-modal .x:hover { background: var(--gold); color: #0b2d4b; }
    .sv-adm-modal .rows { padding: 8px 26px 22px; }
    .sv-adm-modal .r { display: flex; justify-content: space-between; gap: 18px; padding: 10px 0; border-bottom: 1px dashed var(--line); font-size: .86rem; }
    .sv-adm-modal .r span { color: var(--muted); flex: 0 0 120px; }
    .sv-adm-modal .r b { text-align: right; word-break: break-word; color: #1a2a4a; }

    @media (max-width: 991px) { .sv-adm-stats { grid-template-columns: 1fr 1fr; } }
    @media (max-width: 575px) { .sv-adm { --header-h: 96px; } .sv-adm-hero h1 { font-size: 28px; } .sv-adm-stats { grid-template-columns: 1fr; } }



    /* ---------- Home page ---------- */

.sv-home{--header-h:110px;--navy:#0b2d4b;--navy2:#1B3A6B;--blue:#2E5FA3;--gold:#F4A300;--gold2:#F0D06A;--cream:#FBF7EE;--bg:#F9F9FC;--ink:#1a2a4a;--muted:#6b7b9a;--line:#e2e8f0;
  font-family:'Inter',sans-serif;font-size:16px;line-height:1.6;color:var(--ink);background:var(--bg);overflow:hidden}
.sv-home *,.sv-home *::before,.sv-home *::after{box-sizing:border-box}
.sv-home a{text-decoration:none}
.sv-home .sv-anchor{display:block!important;height:0!important;padding:0!important;margin:0!important;border:0!important;background:none!important;position:relative;top:-90px}
.sv-wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.sv-sec{padding:84px 0}
.sv-sec.alt{background:var(--cream)}

/* headings */
.sv-head{text-align:center;max-width:680px;margin:0 auto 46px}
.sv-eyebrow{display:inline-block;margin-bottom:10px;font-size:.78rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}
.sv-head h2{position:relative;margin:0 0 16px;padding-bottom:16px;font-family:'Inter',sans-serif;font-size:2.1rem;font-weight:800;color:var(--navy2);line-height:1.25}
.sv-head h2::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:64px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--gold),var(--gold2))}
.sv-head p{margin:0;color:var(--muted);font-size:1.02rem}
.sv-dark .sv-head h2{color:#fff}.sv-dark .sv-head p{color:rgba(255,255,255,.75)}

/* buttons */
.sv-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 30px;border-radius:50px;font-family:'Inter',sans-serif;font-size:.95rem;font-weight:700;letter-spacing:.3px;border:2px solid transparent;cursor:pointer;transition:all .25s}
.sv-btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--navy2);box-shadow:0 6px 24px rgba(244,163,0,.4)}
.sv-btn-gold:hover{transform:translateY(-3px);box-shadow:0 10px 32px rgba(244,163,0,.55);color:var(--navy2)}
.sv-btn-ghost{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.sv-btn-ghost:hover{background:#fff;color:var(--navy2)}
.sv-btn-navy{background:var(--navy2);color:#fff}.sv-btn-navy:hover{background:var(--blue);color:#fff;transform:translateY(-3px)}

/* hero */
.sv-hero{position:relative;padding:calc(var(--header-h) + 50px) 0 130px;color:#fff;background:linear-gradient(135deg,#071e33 0%,var(--navy2) 55%,var(--blue) 100%);overflow:hidden}
.sv-hero::before{content:"";position:absolute;right:-140px;top:-100px;width:680px;height:680px;background:radial-gradient(circle,rgba(244,163,0,.28),transparent 66%)}
.sv-hero::after{content:"";position:absolute;left:-90px;bottom:-60px;width:520px;height:460px;clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,0))}
.sv-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center}
.sv-hero-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 18px;margin-bottom:22px;font-size:.8rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold2);background:rgba(255,255,255,.1);border:1px solid rgba(240,208,106,.35);border-radius:999px}
.sv-hero h1{margin:0 0 18px;font-family:'Inter',sans-serif;font-size:3.3rem;font-weight:800;line-height:1.12;color:#fff}
.sv-hero h1 span{background:linear-gradient(90deg,var(--gold),var(--gold2));-webkit-background-clip:text;background-clip:text;color:transparent}
.sv-hero p.lead{margin:0 0 30px;max-width:580px;font-size:1.1rem;color:rgba(255,255,255,.85)}
.sv-hero-cta{display:flex;flex-wrap:wrap;gap:14px}
.sv-founder{position:relative;display:flex;flex-direction:column;align-items:center}
.sv-founder-frame{width:270px;padding:8px;background:linear-gradient(135deg,var(--gold),var(--gold2));border-radius:999px 999px 26px 26px;box-shadow:0 0 0 10px rgba(244,163,0,.16),0 25px 60px rgba(0,0,0,.4)}
.sv-founder-frame img{display:block;width:100%;height:330px;max-width:none;object-fit:cover;object-position:top;border-radius:999px 999px 20px 20px}
.sv-founder-tag{position:relative;z-index:1;margin-top:-24px;padding:12px 28px;text-align:center;background:#fff;border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.3)}
.sv-founder-tag b{display:block;font-size:1.05rem;font-weight:800;color:var(--navy2)}
.sv-founder-tag span{font-size:.8rem;font-weight:500;color:var(--muted)}

/* stats */
.sv-stats{position:relative;z-index:2;margin-top:-70px}
.sv-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:22px;box-shadow:0 18px 50px rgba(27,58,107,.15);overflow:hidden}
.sv-stat{padding:30px 20px;text-align:center;border-right:1px solid var(--line)}
.sv-stat:last-child{border-right:0}
.sv-stat b{display:block;font-size:2.4rem;font-weight:800;line-height:1.1;color:var(--navy2)}
.sv-stat b i{font-style:normal;color:var(--gold)}
.sv-stat span{display:block;margin-top:6px;font-size:.88rem;color:var(--muted)}

/* about */
.sv-about-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
.sv-about-img{position:relative}
.sv-about-img img{display:block;width:100%;border-radius:24px;box-shadow:0 20px 50px rgba(27,58,107,.2)}
.sv-about-img::before{content:"";position:absolute;left:-16px;top:-16px;right:16px;bottom:16px;border:3px solid var(--gold);border-radius:26px;z-index:-1}
.sv-about-badge{position:absolute;right:-14px;bottom:26px;padding:14px 22px;text-align:center;color:var(--navy2);background:linear-gradient(135deg,var(--gold),var(--gold2));border-radius:16px;box-shadow:0 10px 30px rgba(244,163,0,.45)}
.sv-about-badge b{display:block;font-size:1.7rem;font-weight:800;line-height:1.1}.sv-about-badge span{font-size:.75rem;font-weight:600}
.sv-about-text h2{margin:0 0 16px;font-size:2rem;font-weight:800;color:var(--navy2);line-height:1.25}
.sv-about-text p{color:#4a5a78;margin:0 0 20px}
.sv-checks{list-style:none;margin:0 0 28px;padding:0}
.sv-checks li{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px;list-style:none;font-weight:500}
.sv-checks i{flex:0 0 26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--navy2);background:var(--gold);border-radius:50%;margin-top:1px}

/* activity cards (with photos) */
.sv-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.sv-act{position:relative;display:block;border-radius:20px;overflow:hidden;box-shadow:0 10px 36px rgba(27,58,107,.14);transition:transform .35s,box-shadow .35s}
.sv-act:hover{transform:translateY(-8px);box-shadow:0 20px 50px rgba(27,58,107,.25)}
.sv-act img{display:block;width:100%;height:290px;object-fit:cover;transition:transform .6s}
.sv-act:hover img{transform:scale(1.08)}
.sv-act-ov{position:absolute;left:0;right:0;bottom:0;padding:50px 22px 22px;background:linear-gradient(0deg,rgba(11,45,75,.95),rgba(11,45,75,0))}
.sv-act-ov i{width:42px;height:42px;display:flex;align-items:center;justify-content:center;margin-bottom:10px;font-size:1.05rem;color:var(--navy2);background:var(--gold);border-radius:50%}
.sv-act-ov h5{margin:0;font-family:'Inter',sans-serif;font-size:1.05rem;font-weight:700;color:#fff;line-height:1.4}

/* service cards (icons) */
.sv-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:34px}
.sv-card{padding:30px 24px;background:#fff;border:1px solid var(--line);border-radius:18px;transition:all .3s}
.sv-card:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 16px 40px rgba(27,58,107,.12)}
.sv-card .ic{width:56px;height:56px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;font-size:1.5rem;color:var(--navy2);background:linear-gradient(135deg,#fff3d1,#ffe29a);border-radius:16px}
.sv-card h4{margin:0 0 8px;font-family:'Inter',sans-serif;font-size:1.08rem;font-weight:700;color:var(--navy2)}
.sv-card p{margin:0;font-size:.92rem;color:var(--muted)}

/* online sessions band */
.sv-band{padding:46px 0;background:linear-gradient(135deg,var(--navy2),var(--blue));border-top:3px solid var(--gold);border-bottom:3px solid var(--gold)}
.sv-band-in{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.sv-band h3{margin:0 0 4px;font-family:'Inter',sans-serif;font-size:1.7rem;font-weight:800;color:#fff}
.sv-band p{margin:0;color:rgba(255,255,255,.8)}

/* team */
.sv-team{display:block;padding:20px 18px 18px;background:linear-gradient(160deg,var(--navy) 0%,var(--navy2) 60%,var(--blue) 100%);border:1px solid rgba(244,163,0,.25);border-radius:22px;transition:all .3s}
.sv-team:hover{transform:translateY(-8px);border-color:rgba(244,163,0,.8);box-shadow:0 22px 50px rgba(11,45,75,.35)}
.sv-team-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}
.sv-thumb{position:relative;border-radius:12px;overflow:hidden;background:#1B3A6B}
.sv-thumb img{display:block;width:100%;height:128px;object-fit:cover;transition:transform .4s}
.sv-team:hover .sv-thumb img{transform:scale(1.07)}
.sv-thumb span{position:absolute;left:0;right:0;bottom:0;padding:16px 6px 6px;font-size:.68rem;font-weight:600;line-height:1.2;text-align:center;color:#fff;background:linear-gradient(0deg,rgba(11,45,75,.9),transparent)}
.sv-team-label{padding-top:12px;text-align:center;border-top:1px solid rgba(244,163,0,.25);font-size:1.1rem;font-weight:700;letter-spacing:.5px;color:var(--gold)}
.sv-team-label small{display:block;margin-top:2px;font-size:.72rem;font-weight:500;letter-spacing:1px;color:var(--gold2)}

/* gallery carousel */
.gallery-carousel .venobox{display:block;margin:6px;overflow:hidden;border-radius:14px;box-shadow:0 6px 22px rgba(27,58,107,.15)}
.gallery-carousel .venobox img{display:block;width:100%;height:230px!important;object-fit:cover;transition:transform .5s}
.gallery-carousel .venobox:hover img{transform:scale(1.08)}
.gallery-carousel .owl-dots{margin-top:18px;text-align:center}
.sv-center{text-align:center;margin-top:34px}

/* donate */
.sv-donate{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:stretch}
.sv-bank{padding:34px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 40px rgba(27,58,107,.08)}
.sv-bank h3{display:flex;align-items:center;gap:10px;margin:0 0 20px;font-size:1.25rem;font-weight:700;color:var(--navy2)}
.sv-bank h3 i{color:var(--gold)}
.sv-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px dashed var(--line)}
.sv-row:last-of-type{border-bottom:0}
.sv-row span{color:var(--muted);font-size:.9rem}.sv-row b{font-weight:700;color:var(--ink);text-align:right}
.sv-copy{margin-left:10px;padding:4px 12px;font-family:inherit;font-size:.72rem;font-weight:700;color:var(--blue);background:#e8f4ff;border:1px solid #c8d8f0;border-radius:999px;cursor:pointer}
.sv-copy:hover{background:var(--blue);color:#fff}
.sv-note{margin:18px 0 0;padding:14px 16px;font-size:.84rem;color:#1a3f7a;background:#f0f8ff;border:1px solid #c8d8f0;border-radius:12px}
.sv-give{display:flex;flex-direction:column;justify-content:center;padding:38px 32px;color:#fff;text-align:center;background:linear-gradient(160deg,var(--navy),var(--navy2) 60%,var(--blue));border-radius:22px;box-shadow:0 20px 50px rgba(11,45,75,.3)}
.sv-give .big{font-size:3rem;color:var(--gold);line-height:1;margin-bottom:12px}
.sv-give h3{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 6px;font-size:1.5rem;font-weight:800;color:#fff}
.sv-give h3 i{color:var(--gold)}
.sv-give p{margin:0 0 20px;color:rgba(255,255,255,.8)}
.sv-qr{display:block;width:100%;max-width:290px;margin:0 auto;border-radius:16px;box-shadow:0 12px 34px rgba(0,0,0,.35)}

/* contact */
.sv-contact{background:linear-gradient(135deg,var(--navy),var(--navy2))}
.sv-grid4.c{margin-top:0}
.sv-cbox{padding:30px 22px;text-align:center;background:rgba(255,255,255,.07);border:1px solid rgba(244,163,0,.22);border-radius:18px;transition:all .3s}
.sv-cbox:hover{border-color:var(--gold);transform:translateY(-5px)}
.sv-cbox i{display:block;margin-bottom:14px;font-size:2rem;color:var(--gold)}
.sv-cbox h4{margin:0 0 8px;font-family:'Inter',sans-serif;font-size:1rem;font-weight:700;letter-spacing:1px;color:#fff}
.sv-cbox p,.sv-cbox a{margin:0;font-size:.92rem;color:rgba(255,255,255,.78);word-break:break-word}
.sv-cbox a:hover{color:var(--gold2)}

/* volunteer */
.sv-vol{display:grid;grid-template-columns:.8fr 1.2fr;border-radius:26px;overflow:hidden;box-shadow:0 20px 60px rgba(27,58,107,.14);background:#fff}
.sv-vol-side{padding:44px 34px;color:#fff;background:linear-gradient(160deg,var(--navy),var(--navy2) 60%,var(--blue))}
.sv-vol-side h2{margin:0 0 12px;font-size:1.8rem;font-weight:800;color:#fff}
.sv-vol-side p{margin:0 0 22px;color:rgba(255,255,255,.8)}
.sv-vol-side ul{list-style:none;margin:0;padding:0}
.sv-vol-side li{display:flex;align-items:center;gap:12px;margin-bottom:13px;list-style:none;font-weight:500}
.sv-vol-side li i{color:var(--gold)}
.sv-vol-form{padding:44px 38px}
.sv-vol-form .form-control{width:100%;height:auto;padding:13px 16px;font-family:'Inter',sans-serif;font-size:.94rem;color:var(--ink);background:#F9F9FC;border:1.5px solid var(--line);border-radius:10px;transition:all .25s}
.sv-vol-form .form-control:focus{background:#fff;border-color:var(--gold);box-shadow:0 0 0 3px rgba(244,163,0,.15);outline:none}
.sv-vol-form select.form-control:not([size]):not([multiple]){height:auto;min-height:50px;cursor:pointer}
.sv-vol-form textarea.form-control{resize:vertical;min-height:110px}
.sv-vol-form .validation{font-size:.76rem;color:#dc2626}
.sv-vol-form .btn-submit{width:100%;padding:15px;font-family:'Inter',sans-serif;font-size:1rem;font-weight:700;letter-spacing:1px;color:var(--navy2);background:linear-gradient(135deg,var(--gold),var(--gold2));border:0;border-radius:50px;box-shadow:0 6px 24px rgba(244,163,0,.4);cursor:pointer;transition:all .25s;text-transform:uppercase}
.sv-vol-form .btn-submit:hover{transform:translateY(-3px);box-shadow:0 10px 32px rgba(244,163,0,.55)}

/* reveal on scroll (content stays visible if JS fails) */
.sv-js .sv-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.sv-js .sv-reveal.in{opacity:1;transform:none}

@media (max-width:991px){
  .sv-hero-grid,.sv-about-grid,.sv-donate,.sv-vol{grid-template-columns:1fr}
  .sv-hero{padding-bottom:110px}.sv-hero h1{font-size:2.6rem}
  .sv-grid3{grid-template-columns:1fr 1fr}.sv-grid4{grid-template-columns:1fr 1fr}
  .sv-stats-grid{grid-template-columns:1fr 1fr}.sv-stat:nth-child(2){border-right:0}.sv-stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .sv-about-img{max-width:520px;margin:0 auto 10px}
}
@media (max-width:640px){
  .sv-home{--header-h:90px}
  .sv-sec{padding:60px 0}.sv-hero h1{font-size:2.1rem}.sv-head h2{font-size:1.7rem}
  .sv-grid3,.sv-grid4{grid-template-columns:1fr}
  .sv-btn{width:100%;justify-content:center}.sv-band-in{text-align:center;justify-content:center}
  .sv-vol-side,.sv-vol-form{padding:30px 22px}
}