/* Past Living Veda™ conference reports */
.past-page { background: var(--paper); }
.past-page .report-header { background: rgba(250,243,224,.94); }
.past-page .report-header .nav-wrap { max-width: none; padding-inline: var(--grid-gutter); }
.past-page .report-header .nav-cta { min-height: var(--control-height); padding: 0 22px !important; border-radius: var(--control-radius); }
.report-hero { position: relative; overflow: hidden; color: var(--paper); background: var(--navy); }
.report-hero::before { content:""; position:absolute; inset:0; background: radial-gradient(ellipse at 78% 47%, rgba(212,168,83,.2), transparent 44%), linear-gradient(110deg, rgba(11,30,54,.98) 0%, rgba(11,30,54,.88) 47%, rgba(11,30,54,.62) 100%); }
.report-hero.has-photo::after { content:""; position:absolute; inset:0; background: linear-gradient(90deg, rgba(11,30,54,.96) 0%, rgba(11,30,54,.76) 42%, rgba(11,30,54,.22) 100%); }
.report-hero .hero-photo { position:absolute; inset:0 0 0 auto; width:54%; height:100%; object-fit:cover; opacity:.86; }
.report-hero .hero-inner { position:relative; z-index:1; width:100%; max-width:calc(var(--grid-max) + (2 * var(--grid-gutter))); margin:auto; padding:92px var(--grid-gutter) 64px; min-height:390px; display:flex; flex-direction:column; justify-content:end; }
.report-hero .eyebrow { color:#e6b763; margin-bottom:16px; }
.report-hero h1 { max-width:770px; margin:0; font-size:clamp(55px,7vw,88px); letter-spacing:-.06em; line-height:.97; }
.report-hero h1 em { color:#edba68; font-weight:300; }
.report-hero .report-theme { max-width:640px; color:#e9e1d1; font-size:18px; line-height:1.55; margin:22px 0 0; }
.report-facts { position:relative; z-index:2; width:100%; border-top:1px solid rgba(250,243,224,.25); display:grid; grid-template-columns:repeat(3,1fr); max-width:calc(var(--grid-max) + (2 * var(--grid-gutter))); margin:auto; padding:19px var(--grid-gutter) 23px; }
.report-facts div { padding:0 28px; border-left:1px solid rgba(250,243,224,.26); }
.report-facts div:first-child { border-left:0; padding-left:0; }
.report-facts span, .report-kicker { display:block; color:#e4b664; text-transform:uppercase; font-size:10px; font-weight:700; letter-spacing:1.8px; }
.report-facts b { display:block; margin-top:5px; font-size:14px; line-height:1.45; }
.report-shell { width:100%; max-width:calc(var(--grid-max) + (2 * var(--grid-gutter))); margin:auto; padding:42px var(--grid-gutter) 104px; display:grid; grid-template-columns:196px minmax(0,1fr); gap:50px; }
.report-nav { position:sticky; top:100px; align-self:start; }
.report-nav p { color:var(--brown); font-size:11px; font-weight:700; letter-spacing:1.7px; margin:0 0 14px; text-transform:uppercase; }
.report-nav a { display:block; color:var(--ink); border-top:1px solid var(--sand); font-size:14px; font-weight:700; padding:14px 0; text-decoration:none; }
.report-nav a:hover { color:var(--terra); }
.report-main { min-width:0; }
.report-section { padding:42px 0 54px; border-top:1px solid var(--sand); }
.report-section:first-child { padding-top:0; border-top:0; }
.report-section h2 { color:var(--ink); font-size:clamp(36px,4vw,54px); letter-spacing:-.055em; line-height:1.03; margin:12px 0 24px; }
.report-section h2 em { color:var(--terra); font-weight:300; }
.report-lead { color:#433f39; font-size:18px; line-height:1.75; margin:0; max-width:790px; }
.report-columns { display:grid; grid-template-columns:1.15fr .85fr; gap:42px; align-items:start; }
.report-list { list-style:none; padding:0; margin:0; }
.report-list li { border-top:1px solid var(--sand); color:#433f39; font-size:15px; padding:13px 0; }
.report-list li:first-child { border-top:0; }
.report-list b { color:var(--terra); }
.report-quote { color:var(--brown); font-family:Georgia,serif; font-size:28px; font-style:italic; line-height:1.35; margin:0; padding:28px 0 0; }
.report-gallery { display:grid; grid-template-columns:1.1fr .9fr; gap:16px; }
.report-gallery img { width:100%; height:100%; min-height:220px; object-fit:cover; display:block; }
.report-gallery .tall { grid-row:span 2; min-height:456px; }
.report-placeholder { border:1px dashed #c5aa78; background:#fbf4e5; color:var(--brown); min-height:160px; display:grid; place-items:center; padding:28px; text-align:center; }
.report-placeholder strong { display:block; color:var(--terra); font-size:17px; margin-bottom:5px; }
.report-placeholder p { margin:0; font-size:14px; }
.report-footer { margin-top:0; }
@media (max-width:760px) {
  .report-hero .hero-photo { width:100%; opacity:.34; }
  .report-hero::after { background:linear-gradient(180deg,rgba(11,30,54,.42),rgba(11,30,54,.94) 88%) !important; }
  .report-hero .hero-inner { min-height:420px; padding-top:84px; }
  .report-facts { grid-template-columns:1fr; gap:12px; }
  .report-facts div, .report-facts div:first-child { border-left:0; border-top:1px solid rgba(250,243,224,.18); padding:12px 0 0; }
  .report-facts div:first-child { border-top:0; padding-top:0; }
  .report-shell { display:block; padding-top:26px; }
  .report-nav { position:static; display:flex; flex-wrap:wrap; gap:12px 16px; overflow:visible; margin-bottom:34px; }
  .report-nav p { display:none; }
  .report-nav a { white-space:nowrap; border:0; padding:0 0 5px; }
  .report-columns, .report-gallery { grid-template-columns:1fr; }
  .report-gallery .tall { grid-row:auto; min-height:260px; }
}

/* Puducherry's call-for-paper surface keeps its own inner breathing room while
   remaining aligned to the shared report column. */
.puducherry-page .report-section.call-papers { padding: 52px 42px; }
.puducherry-page .focus-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; margin-top:34px; }
.puducherry-page .focus-card { min-height:185px; padding:23px; border:1px solid var(--sand); background:var(--warm); }
.puducherry-page .focus-card span { display:block; margin-bottom:18px; color:var(--terra); font-size:11px; font-weight:700; letter-spacing:1.4px; }
.puducherry-page .focus-card h3 { margin:0 0 9px; color:var(--ink); font-size:21px; line-height:1.25; letter-spacing:-.8px; }
.puducherry-page .focus-card p { margin:0; color:var(--ink); font-size:14px; line-height:1.6; }
.puducherry-page .quote { max-width:680px; margin:40px 0 0; padding:23px 0 0; border-top:1px solid var(--sand); color:var(--brown); font-size:21px; font-style:italic; font-weight:300; line-height:1.55; }
.puducherry-page .reading { max-width:740px; }
.puducherry-page .reading p { margin:0 0 18px; color:var(--ink); font-size:16px; line-height:1.8; }
.puducherry-page .reading strong { color:var(--terra); }
.puducherry-page .callout { margin-top:30px; padding:25px 28px; border-left:3px solid var(--gold); background:#f8eed8; }
.puducherry-page .callout p { margin:0; color:var(--ink); font-size:15px; line-height:1.65; }
.puducherry-page .deadlines { display:grid; grid-template-columns:1fr 1fr; gap:0; margin:29px 0; border-top:1px solid var(--sand); }
.puducherry-page .deadlines div { padding:15px 0; border-bottom:1px solid var(--sand); }
.puducherry-page .deadlines span { display:block; color:var(--brown); font-size:10px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; }
.puducherry-page .deadlines b { display:block; color:var(--ink); font-size:14px; }
.puducherry-page .topics { columns:2; gap:35px; margin:29px 0; padding:0; list-style:none; }
.puducherry-page .topics li { position:relative; break-inside:avoid; margin:0 0 10px; padding-left:18px; color:var(--ink); font-size:14px; line-height:1.5; }
.puducherry-page .topics li::before { content:'•'; position:absolute; left:0; color:var(--terra); }
@media (max-width:760px) {
  .puducherry-page .report-section.call-papers { padding: 42px 24px; }
  .puducherry-page .focus-grid, .puducherry-page .deadlines { grid-template-columns:1fr; }
  .puducherry-page .topics { columns:1; }
}

/* Puducherry-only content and modal details, shared outside its page markup. */
.puducherry-page .contact { grid-template-columns:repeat(3, 1fr); }
.puducherry-page .deadline-badge { display:block; width:fit-content; margin-top:6px; padding:3px 7px; border-radius:10px; background:#f7dfbf; color:var(--terra-dark); font-size:9px; font-weight:800; letter-spacing:.65px; line-height:1.25; text-transform:uppercase; }
.puducherry-page .action-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:12px; }
.puducherry-page .action-row .button, .puducherry-page .contact-button { margin-top:0; border:0; cursor:pointer; }
.puducherry-page .contact-button { margin-top:18px; }
.puducherry-page .contact-person + .contact-person { margin-top:14px; padding-top:14px; border-top:1px solid var(--sand); }
.puducherry-page .contact-person strong { display:block; margin-bottom:3px; color:var(--terra); font-size:11px; letter-spacing:1px; text-transform:uppercase; }
.puducherry-page .contact-person p { margin:0; }
.puducherry-page .modal { position:fixed; z-index:50; inset:0; display:none; place-items:center; overflow:hidden; padding:20px; background:rgba(13,34,61,.68); backdrop-filter:blur(5px); }
.puducherry-page .modal[aria-hidden="false"] { display:grid; }
.puducherry-page .modal-panel { position:relative; width:min(100%, 620px); overflow:hidden; padding:26px 34px; background:var(--paper); box-shadow:0 28px 70px rgba(13,34,61,.34); }
.puducherry-page .modal-panel h2 { font-size:clamp(30px, 3.6vw, 42px); }
.puducherry-page .modal-panel > p { margin:7px 0 16px; color:#534b42; font-size:14px; }
.puducherry-page .modal-close { position:absolute; top:14px; right:14px; display:grid; width:36px; height:36px; place-items:center; border:1px solid var(--sand); border-radius:50%; background:transparent; color:var(--ink); font-size:20px; cursor:pointer; }
.puducherry-page .modal-form { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.puducherry-page .modal-form .full { grid-column:1 / -1; }
.puducherry-page .modal-form label { display:grid; gap:4px; color:var(--brown); font-size:10px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; }
.puducherry-page .modal-form input, .puducherry-page .modal-form textarea { width:100%; border:1px solid var(--sand); border-radius:6px; background:#fffaf0; color:var(--ink); font:inherit; font-size:14px; padding:10px 12px; }
.puducherry-page .modal-form textarea { min-height:76px; resize:vertical; }
.puducherry-page .modal-form button { justify-self:start; }
.playlist-button { margin-top: 18px; }
@media (max-width:900px) { .puducherry-page .contact { grid-template-columns:1fr; } }
@media (max-width:760px) { .puducherry-page .modal { padding:12px; } .puducherry-page .modal-panel { padding:22px 20px; } .puducherry-page .modal-form { grid-template-columns:1fr; } .puducherry-page .modal-form .full { grid-column:auto; } }
