/* Sanctum Eros Hub v29 — cohesive presentation layer. No authored copy lives here. */
:root{
  --v29-bg:#030203;
  --v29-surface:#090608;
  --v29-surface-2:#100a0e;
  --v29-line:#34222a;
  --v29-line-strong:#563342;
  --v29-ink:#f5eef1;
  --v29-muted:#b9acb2;
  --v29-soft:#8f8187;
  --v29-accent:#b96f89;
  --v29-accent-2:#e0abc0;
  --v29-focus:#ffd0df;
  --v29-radius:6px;
  --v29-shadow:0 22px 60px rgba(0,0,0,.28);
}
html{background:var(--v29-bg);scroll-padding-top:88px}
body{background:var(--v29-bg);color:var(--v29-ink);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
::selection{background:#6f2942;color:#fff}
.container{width:min(1160px,calc(100% - 44px))}
.top{background:rgba(3,2,3,.92);border-bottom-color:#2e1d24;box-shadow:0 1px 0 rgba(255,255,255,.015);backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}
.top-inner{min-height:70px}
.logo{letter-spacing:.07em;color:#fff}
.desktop-nav>a,.desktop-nav summary{position:relative;padding-block:7px;color:#d2c4ca}
.desktop-nav>a:not(.portal-nav)::after,.desktop-nav summary::after{position:absolute;left:0;right:0;bottom:-13px;height:1px;background:transparent;content:""}
.desktop-nav>a[aria-current="page"]::after{background:var(--v29-accent-2)}
.desktop-nav>a[aria-current="page"]{color:#fff}
.desktop-nav>a:hover,.desktop-nav summary:hover{color:#fff;text-decoration:none}
.portal-nav{border-color:#60384a;background:#0c080a}
.portal-nav:hover{background:#1d0e15!important;text-decoration:none!important}
.nav-more-panel{border-color:#51303d;background:#0d090b;box-shadow:var(--v29-shadow)}
.nav-more-panel a{border-bottom-color:#2c1b22}
.header-venue,.mobile-menu summary{border-radius:4px;background:#0a0709;border-color:#52323f}
.mobile-menu nav{background:#0d090b;border-color:#4a2c38;border-radius:5px;box-shadow:var(--v29-shadow)}
.mobile-menu nav a{border-bottom-color:#2c1d23}
.mobile-menu nav a[aria-current="page"]{background:#1a0d13;color:#fff;border-left:2px solid var(--v29-accent)}
.hero,.pagehead{position:relative;overflow:hidden}
.hero::before,.pagehead::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 82% 18%,rgba(128,35,67,.18),transparent 31%),linear-gradient(115deg,rgba(255,255,255,.012),transparent 45%)}
.hero>.container,.pagehead>.container{position:relative;z-index:1}
.hero{padding:76px 0 68px;border-left-color:#8c3152;background:linear-gradient(135deg,#0b0508 0%,#030203 62%)}
.hero h1.identity-title{max-width:760px;text-wrap:balance}
.hero-deck{max-width:730px;color:#d7cbd0}
.identity-actions .button,.pagehead-actions .button{border-radius:4px}
.button{border-radius:4px;background:#090608;border-color:#52313e}
.button:hover{background:#180c12;border-color:#765064}
.button.primary{background:linear-gradient(180deg,#7d2947,#681d37);border-color:#a84d6e}
.button.primary:hover{background:linear-gradient(180deg,#913654,#75223d)}
.hero-shortcuts{border-top-color:#39242d}
.hero-shortcuts a,.text-cta,.editorial-link{color:#e6b8c9;text-underline-offset:4px}
.section{padding-block:72px;border-bottom-color:#20171b}
.section:nth-of-type(even){background:linear-gradient(180deg,rgba(255,255,255,.007),transparent)}
.section h2,.pagehead h1,.story-head h2{text-wrap:balance}
.section p,.about-prose p{color:#cbbfc4}
.home-intro{background:linear-gradient(180deg,#060405,#030203)}
.editorial-pair{border-color:#3a232d}
.editorial-pair article+article{border-color:#3a232d}
.pillar-grid{border-color:#39242d}
.pillar-grid article+article{border-color:#39242d}
.pillar-grid article{transition:background-color .18s ease}
.pillar-grid article:hover{background:linear-gradient(90deg,rgba(118,39,68,.08),transparent)}
.pathway-list{border-top-color:#38242c}
.pathway-list>a{border-bottom-color:#38242c;border-radius:2px;transition:background-color .16s ease,padding-left .16s ease}
.pathway-list>a:hover,.pathway-list>a:focus-visible{background:#0f080c;padding-left:12px;text-decoration:none}
.portal-band{border-top:1px solid #33202a;border-bottom:1px solid #33202a;background:linear-gradient(100deg,#0d070a,#050304)}
.pagehead{padding:66px 0 52px;background:linear-gradient(120deg,#10070b,#030203 68%)}
.pagehead p{color:#c9bdc2}
.about-layout{grid-template-columns:190px minmax(0,820px);gap:70px}
.about-index{top:96px}
.about-index a{border-bottom-color:#302028;color:#bfaeb5;border-radius:0;transition:color .16s ease,border-color .16s ease,padding-left .16s ease}
.about-index a:hover,.about-index a:focus-visible{color:#fff;border-bottom-color:#754357;padding-left:5px}
.about-prose{font-size:1.02rem}
.about-prose p{max-width:73ch}
.about-prose .about-lead{max-width:65ch}
.about-callout{background:#0e080b;border-left-color:#a45472}
.venue-overview-grid{gap:64px}
.venue-fact-panel{border-color:#422a34;background:#080507;box-shadow:inset 0 1px rgba(255,255,255,.015)}
.venue-fact-panel>div{border-color:#2f1f26}
.room-list{border-top-color:#3c2730}
.room-row{border-bottom-color:#3c2730;transition:background-color .18s ease}
.room-row:hover{background:linear-gradient(90deg,rgba(135,48,79,.055),transparent 70%)}
.room-row>div:first-child{padding-left:2px}
.shared-equipment{border-bottom:1px solid #302027;padding-bottom:32px}
.visit-list{border-top-color:#39262f}
.visit-list>div{border-bottom-color:#39262f}
.cards,.resources,.pathways{gap:16px}
.card,.resource,.pathway,.portal,.admin-panel,.admin-event{background:linear-gradient(145deg,#0b0709,#070506);border-color:#38242d;border-radius:var(--v29-radius);box-shadow:inset 0 1px rgba(255,255,255,.012)}
.card,.resource,.pathway{transition:border-color .16s ease,transform .16s ease,background-color .16s ease}
.card:hover,.resource:hover,.pathway:hover{border-color:#563846;transform:translateY(-1px)}
.event-list{gap:14px}
.event-row{position:relative;overflow:hidden;border-color:#3a252e;background:linear-gradient(100deg,#0d080b,#070506);border-radius:5px;transition:border-color .16s ease,transform .16s ease}
.event-row::before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:#8f3f5c}
.event-row:hover{border-color:#5a3745;transform:translateY(-1px)}
.event-date{color:#e1abc0}
.review-section select,.review-section button,input,textarea,select{border-radius:4px}
.review-event{background:#090608;border-radius:5px!important;border-color:#38242d!important}
.review-dialog{border-radius:7px;border-color:#694256!important;box-shadow:0 30px 90px rgba(0,0,0,.6)}
.footer{padding:42px 0 50px;border-top:1px solid #26191f;background:#020102}
.footer-brand strong{font-family:var(--serif);letter-spacing:.025em;color:#e9dfe3}
.footer-links a{color:#c5b3ba;text-decoration:none}
.footer-links a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.admin-main{width:min(940px,calc(100% - 44px));padding-top:54px}
.admin-main>h1{font:500 clamp(2.5rem,7vw,4.2rem)/1.05 var(--serif);letter-spacing:-.035em;margin:12px 0 18px}
.admin-panel,.admin-event{border-radius:5px!important}
.admin-main input,.admin-main textarea,.admin-main select{background:#070507;border-color:#553440;min-height:46px}
.admin-main label{color:#e4d7dc}
.admin-actions{position:sticky;top:78px;z-index:20;padding:12px;background:rgba(6,4,5,.94);border:1px solid #35232b;border-radius:5px;backdrop-filter:blur(12px)}
@media(max-width:980px){
  .container{width:min(100% - 36px,1160px)}
  .about-layout{grid-template-columns:170px minmax(0,1fr);gap:48px}
}
@media(max-width:850px){
  .top-inner{min-height:64px}
  .about-layout{grid-template-columns:1fr;gap:24px}
  .about-index{position:sticky;top:63px;z-index:25;margin-inline:-18px;padding:10px 18px;background:rgba(3,2,3,.93);border-bottom:1px solid #2d1e24;backdrop-filter:blur(14px)}
  .about-index a{border:1px solid #47303a;border-radius:4px;padding:8px 12px}
  .about-index a:hover,.about-index a:focus-visible{padding-left:12px}
  .admin-actions{top:70px}
}
@media(max-width:620px){
  .container{width:min(100% - 28px,1160px)}
  .hero{padding:52px 0 48px}
  .hero h1.identity-title{font-size:clamp(3.6rem,18vw,5.3rem);margin:24px 0 27px}
  .hero-deck{line-height:1.62}
  .section{padding-block:46px}
  .pagehead{padding:38px 0 34px}
  .identity-actions,.home-primary-actions{gap:9px}
  .identity-actions .button{min-height:54px}
  .editorial-pair article{padding-block:30px}
  .pathway-list>a{padding:20px 4px}
  .pathway-list>a:hover,.pathway-list>a:focus-visible{padding-left:8px}
  .about-index{margin-inline:-14px;padding-inline:14px}
  .about-prose{font-size:1rem}
  .event-row{padding:19px}
  .footer{padding-bottom:max(44px,calc(28px + env(safe-area-inset-bottom)))}
  .admin-main{width:min(100% - 28px,940px);padding-top:36px}
  .admin-actions{margin-inline:-4px}
}
@media(prefers-reduced-motion:reduce){.card,.resource,.pathway,.event-row,.button,.pathway-list>a{transform:none!important}}
