:root{
  --bg:#ffffff;
  --paper:#ffffff;
  --panel:#ffffff;
  --ink:#111827;        /* near-black */
  --muted:#4b5563;      /* gray */
  --line:#e5e7eb;       /* light border */
  --brand:#e11d48;      /* rose */
  --brand2:#f59e0b;     /* saffron */
  --brand3:#16a34a;     /* green */
  --shadow: 0 10px 30px rgba(17,24,39,.08);
  --radius: 18px;
  --max: 1120px;
}

*{box-sizing:border-box}
html,body{height:100%}

body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji","Segoe UI Emoji";
  background: var(--bg);
  color: var(--ink);
  line-height:1.6;
}

/* Subtle Indian motif background (paisley/rangoli inspired) */
body::before{
  content:"";
  position: fixed;
  inset: 0;
  z-index: -1;
  opacity: .12;
  background:
    /* top-left motif */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cdefs%3E%3CradialGradient id='g' cx='50%25' cy='50%25' r='60%25'%3E%3Cstop offset='0%25' stop-color='%23f59e0b' stop-opacity='.75'/%3E%3Cstop offset='100%25' stop-color='%23e11d48' stop-opacity='.35'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M260 72c-54 0-98 44-98 98 0 43 28 80 67 93-14 37-49 63-90 63-22 0-42-7-59-19 18 50 65 86 121 86 72 0 130-58 130-130 0-54-34-101-82-121 7-12 11-26 11-40 0-35-28-63-63-63z' fill='url(%23g)'/%3E%3Cpath d='M242 112c-30 0-54 24-54 54 0 24 16 45 39 52-8 21-28 36-51 36-12 0-24-3-33-9 10 27 36 47 67 47 40 0 72-32 72-72 0-30-19-56-45-67 4-7 6-14 6-22 0-19-15-34-34-34z' fill='%2316a34a' fill-opacity='.35'/%3E%3Ccircle cx='222' cy='166' r='10' fill='%23111827' fill-opacity='.25'/%3E%3C/svg%3E") no-repeat,
    /* bottom-right rangoli-ish */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520' viewBox='0 0 520 520'%3E%3Cg fill='none' stroke='%23e11d48' stroke-opacity='.6'%3E%3Cpath d='M260 70c30 60 90 90 150 120-60 30-120 60-150 120-30-60-90-90-150-120 60-30 120-60 150-120z' stroke-width='10'/%3E%3Cpath d='M260 120c20 45 65 65 110 88-45 23-90 43-110 88-20-45-65-65-110-88 45-23 90-43 110-88z' stroke='%23f59e0b' stroke-width='8'/%3E%3Cpath d='M260 165c14 30 45 45 75 60-30 15-61 30-75 60-14-30-45-45-75-60 30-15 61-30 75-60z' stroke='%2316a34a' stroke-width='6'/%3E%3C/g%3E%3Ccircle cx='260' cy='260' r='16' fill='%23111827' fill-opacity='.12'/%3E%3C/svg%3E") no-repeat;
  background-position: -70px -60px, calc(100% + 90px) calc(100% + 90px);
}

a{color:inherit}
.container{max-width:var(--max); margin:0 auto; padding:0 18px}
.small{font-size:.92rem}
.muted{color:var(--muted)}

.skip-link{
  position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{
  left:18px; top:14px; width:auto; height:auto;
  padding:.6rem .9rem; border-radius:12px; z-index:9999;
  background:#111827; color:#fff;
}

/* Header */
header{
  position:sticky; top:0; z-index:50;
  background: rgba(255,255,255,.88);
  border-bottom:1px solid var(--line);
  backdrop-filter: blur(10px);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  height:74px;
}

.logo{
  display:flex; align-items:center; gap:.75rem;
  text-decoration:none;
}
.mark{
  width:44px; height:44px;
  border-radius: 16px;
  background:
    radial-gradient(circle at 30% 30%, rgba(245,158,11,.35), transparent 45%),
    radial-gradient(circle at 70% 30%, rgba(225,29,72,.28), transparent 45%),
    radial-gradient(circle at 50% 70%, rgba(22,163,74,.22), transparent 45%),
    linear-gradient(135deg, rgba(255,255,255,.85), rgba(255,255,255,.85));
  border: 1px solid var(--line);
  box-shadow: 0 10px 20px rgba(17,24,39,.08);
  position:relative;
  overflow:hidden;
}
.mark::after{
  content:"";
  position:absolute; inset:-6px;
  opacity:.5;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cpath d='M88 18c-18 0-32 14-32 32 0 14 9 26 22 30-5 12-16 20-30 20-7 0-14-2-20-6 6 16 21 28 39 28 24 0 44-20 44-44 0-18-12-34-27-39 2-4 4-9 4-14 0-10-8-18-18-18z' fill='%23e11d48' fill-opacity='.35'/%3E%3C/svg%3E") center/120px no-repeat;
}

.logo b{letter-spacing:.2px}

.navlinks{
  display:flex; gap:10px; align-items:center;
}
.navlinks a{
  text-decoration:none;
  padding:.5rem .7rem;
  border-radius: 999px;
  color: var(--muted);
  border:1px solid transparent;
}
.navlinks a:hover{
  color: var(--ink);
  border-color: var(--line);
  background: rgba(17,24,39,.03);
}
.navlinks a.active{
  color: var(--ink);
  border-color: rgba(225,29,72,.25);
  background:
    linear-gradient(135deg, rgba(245,158,11,.10), rgba(225,29,72,.08));
}

.actions{display:flex; gap:10px; align-items:center}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:.55rem;
  padding:.6rem .9rem;
  border-radius: 999px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.85);
  color: var(--ink);
  text-decoration:none;
  box-shadow: none;
}
.btn:hover{
  border-color: rgba(225,29,72,.22);
  background: rgba(17,24,39,.02);
}
.btn.primary{
  border-color: rgba(225,29,72,.25);
  background:
    linear-gradient(135deg, rgba(245,158,11,.18), rgba(225,29,72,.14));
}
.btn.ghost{background:transparent}

.iconbtn{
  display:none;
  width:44px; height:44px;
  border-radius: 999px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.85);
  color: var(--ink);
}

.mobile{
  display:none;
  border-top:1px solid var(--line);
  padding:10px 0 14px;
}
.mobile a{
  display:block;
  padding:.7rem .85rem;
  border-radius: 16px;
  text-decoration:none;
  color: var(--muted);
}
.mobile a:hover{color:var(--ink); background: rgba(17,24,39,.03)}

/* Cards & layout */
.card{
  background: rgba(255,255,255,.92);
  border:1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.card.pad{padding:22px}

.h1{font-size: clamp(1.9rem, 3vw, 3rem); line-height:1.1; margin:.25rem 0 12px}
.h2{font-size: clamp(1.25rem, 2vw, 1.7rem); margin:0 0 8px}

.badge{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.4rem .7rem;
  border:1px solid var(--line);
  border-radius:999px;
  background: rgba(17,24,39,.02);
  color: var(--muted);
}

.hero{padding:44px 0 22px}
.hero-grid{
  display:grid;
  grid-template-columns: 1.12fr .88fr;
  gap:18px;
  align-items:stretch;
}

/* Hero artwork panel: white card with rangoli-ish border */
.hero-art{
  min-height: 330px;
  border-radius: var(--radius);
  border:1px solid var(--line);
  background:
    /* decorative border */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='540' viewBox='0 0 900 540'%3E%3Cdefs%3E%3Cpattern id='p' width='70' height='70' patternUnits='userSpaceOnUse'%3E%3Cpath d='M35 6c7 12 17 22 29 29-12 7-22 17-29 29-7-12-17-22-29-29 12-7 22-17 29-29z' fill='none' stroke='%23f59e0b' stroke-opacity='.45' stroke-width='2'/%3E%3Ccircle cx='35' cy='35' r='3' fill='%23e11d48' fill-opacity='.45'/%3E%3C/pattern%3E%3C/defs%3E%3Crect x='0' y='0' width='900' height='540' fill='%23ffffff'/%3E%3Crect x='0' y='0' width='900' height='540' fill='url(%23p)' opacity='.35'/%3E%3Cpath d='M12 12h876v516H12z' fill='none' stroke='%2316a34a' stroke-opacity='.25' stroke-width='8'/%3E%3C/svg%3E") center/cover no-repeat;
  position:relative;
  overflow:hidden;
}
.hero-art::after{
  content:"";
  position:absolute; inset:0;
  background: radial-gradient(500px 320px at 35% 35%, rgba(245,158,11,.16), transparent 60%),
              radial-gradient(520px 340px at 70% 30%, rgba(225,29,72,.14), transparent 60%),
              radial-gradient(580px 380px at 50% 85%, rgba(22,163,74,.10), transparent 60%);
  pointer-events:none;
}

.section{padding:18px 0 34px}
.section .head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:12px;
  margin:0 0 12px;
}
.pill{
  padding:.25rem .65rem;
  border-radius:999px;
  border:1px solid var(--line);
  color: var(--muted);
  background: rgba(17,24,39,.02);
}

.grid3{display:grid; grid-template-columns: repeat(3, 1fr); gap:14px}
.grid2{display:grid; grid-template-columns: repeat(2, 1fr); gap:14px}

hr.sep{border:0; border-top:1px solid var(--line); margin:18px 0}

.list{margin:10px 0 0; padding-left:18px; color:var(--muted)}

.kv{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
}
.kv div{
  padding:12px;
  border-radius:16px;
  background: rgba(17,24,39,.02);
  border:1px solid var(--line);
}
.kv b{display:block; margin-bottom:4px}

.notice{
  padding:14px;
  border-radius:16px;
  border:1px dashed rgba(225,29,72,.25);
  background:
    linear-gradient(135deg, rgba(245,158,11,.09), rgba(225,29,72,.06));
  color: var(--muted);
}

/* Gallery tiles */
.gallery{display:grid; grid-template-columns: repeat(12, 1fr); gap:12px}
.tile{
  grid-column: span 4;
  border-radius: 18px;
  border:1px solid var(--line);
  overflow:hidden;
  background: rgba(255,255,255,.92);
  box-shadow: var(--shadow);
}
.thumb{
  height: 170px;
  background:
    radial-gradient(380px 220px at 30% 30%, rgba(245,158,11,.22), transparent 60%),
    radial-gradient(420px 240px at 75% 25%, rgba(225,29,72,.18), transparent 60%),
    radial-gradient(520px 300px at 50% 90%, rgba(22,163,74,.12), transparent 65%),
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,255,255,.92));
  position:relative;
}
.thumb::after{
  content:"";
  position:absolute; inset:0;
  opacity:.28;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E%3Cpath d='M120 24c18 36 54 54 90 72-36 18-72 36-90 72-18-36-54-54-90-72 36-18 72-36 90-72z' fill='none' stroke='%23f59e0b' stroke-width='6' stroke-opacity='.6'/%3E%3Cpath d='M120 60c12 26 38 38 64 52-26 14-52 26-64 52-12-26-38-38-64-52 26-14 52-26 64-52z' fill='none' stroke='%23e11d48' stroke-width='5' stroke-opacity='.55'/%3E%3Ccircle cx='120' cy='120' r='10' fill='%2316a34a' fill-opacity='.28'/%3E%3C/svg%3E") center/210px no-repeat;
}

.tile .meta{padding:12px}
.meta .tag{display:inline-block; font-size:.85rem; color:var(--muted)}
.meta h3{margin:6px 0 6px; font-size:1.05rem}

.filters{display:flex; flex-wrap:wrap; gap:8px}
.chip{
  border:1px solid var(--line);
  background: rgba(17,24,39,.02);
  color: var(--muted);
  padding:.45rem .7rem;
  border-radius:999px;
  cursor:pointer;
}
.chip[aria-pressed="true"]{
  color: var(--ink);
  border-color: rgba(225,29,72,.22);
  background: linear-gradient(135deg, rgba(245,158,11,.10), rgba(225,29,72,.08));
}

/* FAQ */
.faq{display:grid; gap:10px}
details{
  border:1px solid var(--line);
  background: rgba(17,24,39,.02);
  border-radius:16px;
  padding:12px 14px;
}
summary{cursor:pointer; list-style:none; font-weight:650}
summary::-webkit-details-marker{display:none}
details p{margin:10px 0 0; color:var(--muted)}

/* Table */
.table{
  width:100%;
  border-collapse: separate;
  border-spacing:0;
  overflow:hidden;
  border-radius: 16px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.92);
}
.table th,.table td{
  text-align:left;
  padding:12px 12px;
  border-bottom:1px solid var(--line);
  vertical-align:top;
}
.table th{color:var(--ink); font-weight:700}
.table tr:last-child td{border-bottom:0}

/* Footer */
.footer{
  padding:28px 0 40px;
  border-top:1px solid var(--line);
  color: var(--muted);
  background:
    linear-gradient(180deg, rgba(255,255,255,.0), rgba(17,24,39,.02));
}
.footergrid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:16px;
  align-items:start;
}
.footer a{color:var(--muted)}
.footer a:hover{color:var(--ink)}

/* Responsive */
@media (max-width: 920px){
  .hero-grid{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
  .tile{grid-column: span 6}
  .navlinks{display:none}
  .iconbtn{display:inline-flex; align-items:center; justify-content:center}
  .mobile.show{display:block}
  .footergrid{grid-template-columns:1fr}
}

@media (max-width: 560px){
  .tile{grid-column: span 12}
  .kv{grid-template-columns:1fr}
}