  :root{
    --paper:#161420;
    --paper-deep:#211E30;
    --ink:#EDE6D3;
    --ink-soft:#A79F8E;
    --maroon:#E8923C;
    --maroon-deep:#C77A2C;
    --gold:#C9A227;
    --jade:#8B85D6;
    --line:#3A3650;
    --card:#1E1B2B;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'Source Serif 4', serif;
    font-size:17px;
    line-height:1.65;
  }
  h1,h2,h3,.display{
    font-family:'Fraunces', serif;
    font-weight:500;
    color:var(--ink);
    margin:0;
  }
  a{color:var(--maroon); text-decoration:none;}
  a:hover{text-decoration:underline;}
  a:focus-visible, button:focus-visible{outline:2px solid var(--maroon); outline-offset:3px;}
  .wrap{max-width:1080px; margin:0 auto; padding:0 28px;}
  ul{margin:0; padding:0; list-style:none;}

  /* ---------- Header ---------- */
  header{
    position:sticky; top:0; z-index:20;
    background:rgba(22,20,32,0.92);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
  }
  .nav-row{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 28px; max-width:1080px; margin:0 auto;
  }
  .wordmark{
    font-family:'Fraunces', serif; font-size:1.25rem; font-weight:500;
    letter-spacing:0.01em;
    display:flex; align-items:center; gap:10px;
  }
  .logo-mark{width:34px; height:34px; object-fit:contain; display:block;}
  .footer-logo{width:30px; height:30px;}
  .wordmark span{color:var(--maroon);}
  nav ul{display:flex; gap:22px; flex-wrap:wrap;}
  nav a{
    font-family:'Inter', sans-serif; font-size:0.82rem; color:var(--ink-soft);
    font-weight:500; white-space:nowrap;
  }
  nav a:hover{color:var(--maroon); text-decoration:none;}
  .nav-toggle{display:none; background:none; border:1px solid var(--line); border-radius:3px; padding:7px 10px; font-family:'Inter'; font-size:0.85rem; color:var(--ink); cursor:pointer;}

  .subnav-row{border-top:1px solid var(--line); background:var(--card);}
  .subnav{max-width:1080px; margin:0 auto; padding:0 28px; overflow-x:auto; -webkit-overflow-scrolling:touch;}
  .subnav ul{display:flex; gap:20px; padding:10px 0; list-style:none; margin:0;}
  .subnav a{font-family:'Inter', sans-serif; font-size:0.78rem; color:var(--ink-soft); white-space:nowrap; font-weight:500;}
  .subnav a:hover{color:var(--maroon);}
  .subnav a.active{color:var(--maroon); border-bottom:2px solid var(--maroon); padding-bottom:2px;}

  @media (max-width:760px){
    nav{display:none; width:100%;}
    nav.open{display:block;}
    nav ul{flex-direction:column; gap:0; padding:14px 0 6px;}
    nav a{display:block; padding:9px 0; border-bottom:1px solid var(--paper-deep);}
    .nav-row{flex-wrap:wrap;}
    .nav-toggle{display:inline-block;}
    .subnav{padding:0 16px;}
    .subnav ul{gap:16px;}
  }

  /* ---------- Hero ---------- */
  .hero{
    padding:76px 0 64px;
    border-bottom:1px solid var(--line);
    position:relative;
    overflow:hidden;
  }
  .hero .wrap{display:grid; grid-template-columns:1.3fr 0.9fr; gap:48px; align-items:center;}
  @media (max-width:820px){ .hero .wrap{grid-template-columns:1fr;} .hero-art{order:-1; max-width:220px; margin:0 auto;} }
  .eyebrow-line{
    display:inline-block; width:40px; height:2px; background:var(--gold); margin-bottom:18px;
  }
  .hero h1{
    font-size:clamp(2.6rem, 5.5vw, 4.2rem);
    line-height:1.02;
    letter-spacing:-0.01em;
  }
  .hero p.lede{
    margin-top:22px; max-width:46ch; color:var(--ink-soft); font-size:1.12rem;
  }
  .hero-note{
    margin-top:28px; font-family:'Inter', sans-serif; font-size:0.82rem; color:var(--ink-soft);
    border-left:2px solid var(--jade); padding-left:14px; max-width:44ch; line-height:1.55;
  }
  .hero-art img{width:100%; max-width:280px; height:auto; display:block; margin:0 auto;}

  /* ---------- Section shell ---------- */
  section{padding:72px 0; border-bottom:1px solid var(--line);}
  section:last-of-type{border-bottom:none;}
  .section-head{
    display:flex; align-items:baseline; justify-content:space-between; gap:24px;
    margin-bottom:38px; flex-wrap:wrap;
    border-left:3px solid var(--maroon);
    padding-left:18px;
  }
  .section-head h2{font-size:1.9rem;}
  .section-head p{margin:6px 0 0; color:var(--ink-soft); max-width:52ch; font-size:0.98rem;}
  .section-tag{font-family:'Inter', sans-serif; font-size:0.78rem; color:var(--gold); letter-spacing:0.03em; white-space:nowrap;}

  /* ---------- Canonical texts ---------- */
  .canon-grid{display:grid; grid-template-columns:repeat(2, 1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  @media (max-width:700px){ .canon-grid{grid-template-columns:1fr;} }
  .canon-card{background:var(--card); padding:30px 32px;}
  .canon-card h3{font-size:1.3rem; margin-bottom:4px;}
  .canon-card .native{font-family:'Fraunces', serif; font-style:italic; color:var(--maroon); font-size:1rem; margin-bottom:12px; display:block;}
  .canon-card p{color:var(--ink-soft); font-size:0.95rem; margin:0 0 16px;}
  .link-list{display:flex; flex-direction:column; gap:6px;}
  .link-list a{font-family:'Inter', sans-serif; font-size:0.88rem;}

  /* ---------- Library / directory ---------- */
  .library-note{
    background:var(--card); border:1px solid var(--line); padding:20px 24px;
    font-family:'Inter', sans-serif; font-size:0.88rem; color:var(--ink-soft); margin-bottom:36px;
    line-height:1.6;
  }
  .lib-cats{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  @media (max-width:760px){ .lib-cats{grid-template-columns:1fr;} }
  .lib-cat h3{font-size:1.05rem; margin-bottom:12px; padding-bottom:10px; border-bottom:1px solid var(--line);}
  .lib-cat .link-list a{display:block; padding:4px 0;}
  .lib-cat .editable{font-family:'Inter', sans-serif; font-size:0.82rem; color:var(--gold); font-style:normal; margin-top:10px; display:block;}

  /* ---------- Institutions ---------- */
  .inst-list{display:flex; flex-direction:column;}
  .inst-row{
    display:grid; grid-template-columns:1.6fr 1fr 0.8fr; gap:16px; align-items:baseline;
    padding:18px 0; border-bottom:1px solid var(--line);
  }
  .inst-row:first-child{border-top:1px solid var(--line);}
  .inst-row.courses{grid-template-columns:1.5fr 0.85fr 1fr 0.95fr;}
  @media (max-width:700px){ .inst-row{grid-template-columns:1fr; gap:4px; padding:16px 0;} .inst-row.courses{grid-template-columns:1fr;} }
  .inst-row .name{font-family:'Fraunces', serif; font-size:1.08rem; color:var(--ink);}
  a.name:hover{color:var(--maroon);}
  .feed-panel{border:1px solid var(--line); background:var(--card); margin-top:8px;}
  .feed-panel-head{
    display:flex; justify-content:space-between; align-items:center; gap:12px;
    padding:14px 22px; border-bottom:1px solid var(--line);
    font-family:'Inter', sans-serif; font-size:0.82rem; color:var(--ink-soft);
  }
  .feed-dot{width:7px; height:7px; border-radius:50%; background:var(--jade); display:inline-block; margin-right:7px;}
  .feed-dot.err{background:var(--maroon);}
  .feed-items{padding:6px 22px;}
  .feed-item{padding:16px 0; border-bottom:1px solid var(--paper-deep);}
  .feed-item:last-child{border-bottom:none;}
  .feed-item .ftitle{font-family:'Fraunces', serif; font-size:1.02rem; display:block; margin-bottom:4px;}
  .feed-item .fdate{font-family:'Inter', sans-serif; font-size:0.78rem; color:var(--ink-soft);}
  .feed-empty{padding:22px; font-family:'Inter', sans-serif; font-size:0.86rem; color:var(--ink-soft);}
  .source-note{font-family:'Inter', sans-serif; font-size:0.8rem; color:var(--ink-soft); margin-top:14px; line-height:1.6;}
  .inst-row .field{font-family:'Inter', sans-serif; font-size:0.85rem; color:var(--ink-soft);}

  /* ---------- Projects / recruitment cards ---------- */
  .card-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
  @media (max-width:700px){ .card-grid{grid-template-columns:1fr;} }
  .item-card{
    border:1px solid var(--line); background:var(--card); padding:24px 26px;
    text-decoration:none; color:inherit; transition:border-color 0.15s ease;
  }
  a.item-card:hover{border-color:var(--maroon); text-decoration:none;}
  a.item-card:hover h3{color:var(--maroon);}
  .status{
    font-family:'Inter', sans-serif; font-size:0.72rem; color:var(--paper);
    background:var(--jade); padding:3px 9px; border-radius:2px; display:inline-block; margin-bottom:12px;
  }
  .status.ongoing{background:var(--maroon);}
  .status.future{background:var(--jade); margin-right:6px;}
  .item-card h3{font-size:1.12rem; margin-bottom:6px;}
  .item-card .meta{font-family:'Inter', sans-serif; font-size:0.82rem; color:var(--ink-soft); margin-bottom:10px;}
  .item-card p{font-size:0.94rem; color:var(--ink-soft); margin:0;}
  .placeholder-card{
    border:1px dashed var(--gold); background:transparent; padding:24px 26px;
    display:flex; align-items:center; justify-content:center; text-align:center;
    font-family:'Inter', sans-serif; font-size:0.86rem; color:var(--gold);
  }

  /* ---------- Societies ---------- */
  .society-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  @media (max-width:700px){ .society-grid{grid-template-columns:1fr;} }
  .society-card{background:var(--card); padding:26px 28px;}
  .society-card h3{font-size:1.08rem; margin-bottom:8px;}
  .society-card p{color:var(--ink-soft); font-size:0.92rem; margin:0 0 10px;}
  .society-card a{font-family:'Inter', sans-serif; font-size:0.85rem;}

  /* ---------- Footer ---------- */
  footer{padding:48px 0 60px;}
  footer .wrap{display:flex; justify-content:space-between; flex-wrap:wrap; gap:20px;}
  footer .fmark{font-family:'Fraunces', serif; font-size:1.1rem; display:flex; align-items:center; gap:8px;}
  footer p{font-family:'Inter', sans-serif; font-size:0.82rem; color:var(--ink-soft); max-width:48ch; margin:8px 0 0;}
  footer .fnote{font-family:'Inter', sans-serif; font-size:0.78rem; color:var(--ink-soft);}

  /* ---------- Multi-page nav active state ---------- */
  nav a.active{color:var(--maroon);}
  .page-hero{padding:56px 0 40px; border-bottom:1px solid var(--line);}
  .page-hero h1{font-size:clamp(2rem, 4.5vw, 2.8rem); line-height:1.05;}
  .page-hero p{margin-top:16px; max-width:60ch; color:var(--ink-soft); font-size:1.05rem;}
  .home-links{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  @media (max-width:760px){ .home-links{grid-template-columns:1fr;} }
  .home-link-card{background:var(--card); padding:28px 26px; display:block; text-decoration:none; color:inherit; transition:border-color .15s ease;}
  .home-link-card:hover{text-decoration:none;}
  .home-link-card h3{font-size:1.15rem; margin-bottom:8px; color:var(--ink);}
  .home-link-card:hover h3{color:var(--maroon);}
  .home-link-card p{font-size:0.92rem; color:var(--ink-soft); margin:0;}

  a.wordmark, a.wordmark:hover{text-decoration:none; color:var(--ink);}

  /* ---------- Per-tradition colour themes, picked from the lotus ----------
     Each theme overrides the primary accent (--maroon), its darker
     variant, and the lighter secondary accent (--gold). Everything
     else on the page — links, section borders, nav highlights,
     badges — picks them up automatically via the existing variables. */
  body.theme-home                 { --maroon:#E0B341; --maroon-deep:#B8902A; --gold:#F2D27A; }
  body.theme-buddhism             { --maroon:#FF8A3D; --maroon-deep:#D96A1E; --gold:#FFB27A; }
  body.theme-hinduism             { --maroon:#F26BA3; --maroon-deep:#D1447F; --gold:#FF9CC6; }
  body.theme-jainism              { --maroon:#A55CE8; --maroon-deep:#7E35C4; --gold:#C492F2; }
  body.theme-confucianism-taoism  { --maroon:#E6C533; --maroon-deep:#C2A21A; --gold:#F5DC70; }
  body.theme-greco-roman          { --maroon:#6FA3FF; --maroon-deep:#4A82E0; --gold:#9CC0FF; }
  body.theme-near-east-persia     { --maroon:#5CCB6B; --maroon-deep:#3CA84B; --gold:#8FE09A; }
  body.theme-ancient-civilizations{ --maroon:#35C4B5; --maroon-deep:#1F9F92; --gold:#7EDDD2; }
  body.theme-art-history          { --maroon:#E5546F; --maroon-deep:#C0344F; --gold:#F58A9E; }

  /* Hero summary paragraph (the ~100-word blurb on each hub page) */
  .page-summary{max-width:68ch; color:var(--ink-soft); font-size:1.02rem; line-height:1.75; margin:22px 0 0;}
  .page-summary strong{color:var(--ink); font-weight:600;}

  /* In-page jump links on the merged Community pages */
  .jump-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:6px;}
  .jump-row a{
    font-family:'Inter', sans-serif; font-size:0.82rem; font-weight:500;
    color:var(--ink); border:1px solid var(--line); background:var(--card);
    padding:8px 16px; border-radius:20px; text-decoration:none;
    transition:border-color .15s ease, color .15s ease;
  }
  .jump-row a:hover{border-color:var(--maroon); color:var(--maroon); text-decoration:none;}

  /* Hub pages with five section cards */
  .home-links-5{grid-template-columns:repeat(3,1fr);}
  @media (max-width:760px){ .home-links-5{grid-template-columns:1fr;} }

  /* Homepage tradition cards — coloured top edge, one lotus colour each */
  .home-link-card[class*="t-"]{border-top:3px solid var(--line);}
  .home-link-card.t-buddhism{border-top-color:#FF8A3D;}
  .home-link-card.t-hinduism{border-top-color:#F26BA3;}
  .home-link-card.t-jainism{border-top-color:#A55CE8;}
  .home-link-card.t-confucianism-taoism{border-top-color:#E6C533;}
  .home-link-card.t-greco-roman{border-top-color:#6FA3FF;}
  .home-link-card.t-near-east-persia{border-top-color:#5CCB6B;}
  .home-link-card.t-ancient-civilizations{border-top-color:#35C4B5;}
  .home-link-card.t-art-history{border-top-color:#E5546F;}
  .home-link-card.t-buddhism:hover h3{color:#FF8A3D;}
  .home-link-card.t-hinduism:hover h3{color:#F26BA3;}
  .home-link-card.t-jainism:hover h3{color:#A55CE8;}
  .home-link-card.t-confucianism-taoism:hover h3{color:#E6C533;}
  .home-link-card.t-greco-roman:hover h3{color:#6FA3FF;}
  .home-link-card.t-near-east-persia:hover h3{color:#5CCB6B;}
  .home-link-card.t-ancient-civilizations:hover h3{color:#35C4B5;}
  .home-link-card.t-art-history:hover h3{color:#E5546F;}

  /* Main page: golden glow behind the hero, larger mandala */
  body.theme-home .hero{background:radial-gradient(ellipse at 75% 40%, rgba(224,179,65,0.14), transparent 60%);}
  body.theme-home .hero-art img{max-width:360px;}
