
:root{--sidebar:262px;--deep:#3d124c;--deep2:#531762;--mid:#672477;--gold:#f3ca56;--gold2:#ffe59a;--white:#fffafc;--rose:#e7b8d9;--panel:rgba(61,18,76,.78)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;background:#3d124c;color:var(--white)}
html{scroll-behavior:auto}body{cursor:url('assets/lotus-cursor.png') 6 4,auto;overflow:hidden}a,button{cursor:url('assets/lotus-cursor-hover.png') 7 5,pointer}
a{text-decoration:none;color:inherit}.site{display:grid;grid-template-columns:var(--sidebar) 1fr;width:100vw;height:100vh;overflow:hidden}
.sidebar{height:100vh;background:linear-gradient(180deg,#642574 0%,#3b1249 100%);display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.05);overflow:hidden}
.brand{height:158px;flex:0 0 158px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:13px 18px;border-bottom:1px solid rgba(255,255,255,.08);text-align:center}
.brand-lotus{width:44px;height:44px;margin-bottom:10px;filter:drop-shadow(0 2px 7px rgba(0,0,0,.18))}.brand-title{font-family:Georgia,'Times New Roman',serif;font-size:25px;line-height:1.02;letter-spacing:.2px}.brand-sub{margin-top:9px;font-size:8.5px;letter-spacing:3px;color:#ddb7d7;text-transform:uppercase}
.menu{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;padding:4px 0}.menu a{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:0;flex:1 1 0;padding:2px 14px 2px 29px;font-size:11.3px;line-height:1.02;color:#f6edf6;border-left:3px solid transparent;transition:.15s;background:transparent}.menu a span{display:block}.menu a small{font-size:7.7px;line-height:1;color:#dcbad7;margin-top:1px}.menu a:hover{background:rgba(255,255,255,.07)}.menu a.active{background:rgba(255,255,255,.08);border-left-color:var(--gold);color:#fff}
.contact-mini{flex:0 0 112px;margin:5px 20px 8px;padding-top:11px;border-top:1px solid rgba(255,255,255,.14);font-size:12.6px;line-height:1.45;color:#eee0ed}.contact-mini strong{display:block;font-family:Georgia,serif;color:var(--gold);font-size:21px;font-weight:normal;margin:5px 0}.mini-lotus{width:28px;height:28px;margin:6px auto 0;opacity:.92;filter:drop-shadow(0 2px 6px rgba(0,0,0,.2))}
.main{position:relative;width:100%;height:100vh;overflow:hidden;background:linear-gradient(135deg,#421250,#6f2a77)}
.home-grid{height:100%;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(355px,.82fr)}
.hero-image{position:relative;height:100%;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(58,15,67,.58) 0%,rgba(58,15,67,.23) 55%,rgba(58,15,67,.55) 100%),linear-gradient(0deg,rgba(39,8,47,.55),transparent 48%)}
.hero-heading{position:absolute;z-index:2;left:6.5%;bottom:8%;max-width:560px}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--gold2);font-weight:700;text-transform:uppercase;margin-bottom:12px}.hero-heading h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(42px,4.3vw,76px);line-height:.95;margin:0 0 17px}.hero-heading .subhead{font-family:Georgia,serif;font-size:clamp(23px,2.15vw,38px);line-height:1.15;color:#fff6fb}
.welcome-panel{height:100%;padding:clamp(34px,4vw,68px) clamp(28px,3.4vw,58px);background:linear-gradient(180deg,rgba(87,28,99,.97),rgba(58,17,73,.98));display:flex;flex-direction:column;justify-content:center;border-left:1px solid rgba(255,255,255,.09)}.welcome-panel h2{font-family:Georgia,serif;font-size:clamp(26px,2.3vw,42px);line-height:1.03;font-weight:400;margin:0 0 17px}.welcome-panel h3{font-family:Georgia,serif;color:var(--gold2);font-size:17px;font-weight:400;line-height:1.25;margin:0 0 13px}.welcome-panel p{font-size:13px;line-height:1.52;color:#f0e1ed;margin:0 0 14px}.welcome-panel ul{margin:2px 0 17px;padding-left:20px;color:#f7eaf3;font-size:12.2px;line-height:1.5}.welcome-panel .cta-row{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-block;padding:10px 14px;border:1px solid rgba(255,255,255,.38);font-weight:700;font-size:11px}.btn.gold{background:var(--gold);color:#4d174f;border-color:var(--gold)}
.page-grid{height:100%;display:grid;grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr)}.page-visual{position:relative;height:100%;overflow:hidden}.page-visual img{width:100%;height:100%;object-fit:cover}.page-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(64,16,77,.22),rgba(64,16,77,.58)),linear-gradient(0deg,rgba(44,9,55,.62),transparent 48%)}.page-visual-title{position:absolute;z-index:2;left:8%;right:8%;bottom:8%}.page-visual-title .eyebrow{margin-bottom:10px}.page-visual-title h1{font-family:Georgia,serif;font-size:clamp(36px,4vw,66px);font-weight:400;line-height:.98;margin:0;max-width:620px}.page-copy{height:100%;padding:clamp(34px,4.1vw,68px) clamp(38px,5vw,82px);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#6c2778,#471653)}.page-copy h2{font-family:Georgia,serif;font-size:clamp(25px,2.5vw,42px);line-height:1.07;font-weight:400;color:var(--gold2);margin:0 0 17px}.page-copy p{font-size:14px;line-height:1.62;color:#f0dfed;margin:0 0 18px;max-width:720px}.points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px;margin-top:5px}.point{padding:12px 13px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.11);font-size:12px;line-height:1.25}.page-actions{margin-top:18px;display:flex;gap:10px}.page-note{margin-top:17px;font-size:10px;color:#d7bad4;line-height:1.4}.page-note a{color:var(--gold2)}
.disclaimer-grid{height:100%;display:grid;grid-template-columns:.72fr 1.28fr}.disclaimer-art{position:relative;overflow:hidden}.disclaimer-art img{width:100%;height:100%;object-fit:cover}.disclaimer-art:after{content:'';position:absolute;inset:0;background:rgba(73,20,83,.52)}.disclaimer-art .page-visual-title{bottom:10%}.legal-copy{height:100%;padding:34px 46px;background:linear-gradient(135deg,#6e287a,#43144f);display:flex;flex-direction:column;justify-content:center}.legal-copy h2{font-family:Georgia,serif;color:var(--gold2);font-size:32px;font-weight:400;margin:0 0 14px}.legal-columns{column-count:2;column-gap:30px;font-size:10.7px;line-height:1.38;color:#f3e4f0}.legal-columns section{break-inside:avoid;margin:0 0 12px}.legal-columns h3{font-family:Georgia,serif;color:#fff;font-size:13px;margin:0 0 4px}.legal-columns p{margin:0 0 6px}.legal-footer{font-size:9px;color:#d8bad5;margin-top:9px}.legal-footer a{color:var(--gold2)}
.mobile-top{display:none}
@media (max-width:1100px){:root{--sidebar:230px}.menu a{font-size:10px;padding-left:22px}.menu a small{font-size:7px}.brand-title{font-size:22px}.contact-mini{margin-left:14px;margin-right:14px}.welcome-panel{padding-left:28px;padding-right:28px}.page-copy{padding-left:38px;padding-right:38px}}
@media (max-height:760px) and (min-width:801px){.brand{height:118px;flex-basis:118px}.brand-lotus{width:36px;height:36px;margin-bottom:6px}.brand-title{font-size:21px}.brand-sub{margin-top:5px}.menu a{font-size:9.8px;padding-top:1px;padding-bottom:1px}.contact-mini{flex-basis:96px;font-size:10.8px;padding-top:6px}.contact-mini strong{font-size:18px;margin:3px 0}.mini-lotus{display:none}.welcome-panel p{font-size:11.8px}.welcome-panel ul{font-size:11px}.page-copy p{font-size:12.5px}.point{padding:8px 10px;font-size:10.7px}}
@media (max-width:800px){body{overflow:auto}.site{display:block;width:100%;height:auto;min-height:100vh;overflow:visible}.mobile-top{display:flex;position:sticky;top:0;z-index:50;height:62px;padding:10px 14px;align-items:center;background:#4a1658;border-bottom:1px solid rgba(255,255,255,.12)}.mobile-top strong{font-family:Georgia,serif;font-size:18px}.mobile-top button{margin-left:auto;background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;padding:8px 12px}.sidebar{position:fixed;z-index:45;left:0;top:62px;height:calc(100vh - 62px);width:min(88vw,310px);transform:translateX(-102%);transition:.2s;overflow-y:auto}.sidebar.open{transform:translateX(0)}.brand{display:none}.menu{display:block;padding:10px 0}.menu a{display:block;min-height:auto;padding:9px 22px;font-size:12px}.menu a small{font-size:9px;margin-top:3px}.contact-mini{height:auto;flex-basis:auto;padding-bottom:18px}.main,.home-grid,.page-grid,.disclaimer-grid{height:auto;min-height:calc(100vh - 62px);overflow:visible}.home-grid,.page-grid,.disclaimer-grid{grid-template-columns:1fr}.hero-image{height:54vh;min-height:390px}.hero-heading{bottom:7%;left:6%}.hero-heading h1{font-size:44px}.welcome-panel{height:auto;padding:35px 25px}.page-visual{height:44vh;min-height:320px}.page-copy,.legal-copy{height:auto;padding:35px 25px}.points{grid-template-columns:1fr}.legal-columns{column-count:1;font-size:12px;line-height:1.55}.disclaimer-art{height:36vh;min-height:260px}}

/* Content-complete review pass: preserve the original text before the next design pass. */
.original-copy{overflow-y:auto!important;justify-content:flex-start!important;scrollbar-width:thin;scrollbar-color:#f3ca56 rgba(255,255,255,.08)}
.original-copy::-webkit-scrollbar{width:9px}.original-copy::-webkit-scrollbar-thumb{background:#f3ca56;border-radius:10px}
.original-text{max-width:860px;margin:auto 0;padding-bottom:36px}
.original-text h2{font-family:Georgia,'Times New Roman',serif;color:#ffe59a;font-size:clamp(24px,2.1vw,38px);font-weight:400;line-height:1.12;margin:0 0 14px}
.original-text h3{font-family:Georgia,'Times New Roman',serif;color:#f7d77b;font-size:18px;font-weight:400;line-height:1.3;margin:18px 0 8px}
.original-text h4{font-family:Georgia,'Times New Roman',serif;color:#fff;font-size:15px;margin:18px 0 6px;letter-spacing:.08em}
.original-text p,.original-text li{font-size:13px;line-height:1.55;color:#f4e8f2}
.original-text ul,.original-text ol{padding-left:22px;margin:8px 0 16px}
.original-text blockquote{margin:14px 0;padding:13px 16px;border-left:3px solid #f3ca56;background:rgba(255,255,255,.06);font-size:12.5px;line-height:1.55;color:#fff}
.original-text a{color:#ffe59a;text-decoration:underline}
.original-disclaimer{margin-top:24px;padding:14px 16px;border:1px solid rgba(255,229,154,.3);font-size:11px;line-height:1.5;color:#e9dce6}
.old-copyright{margin:10px 0 4px;font-size:10px;color:#ceb6cb}
.page-subtitle{margin-top:10px;color:#ffe59a;font-size:14px}
.home-grid.content-complete .welcome-panel{overflow-y:auto!important;justify-content:flex-start!important;padding-top:32px}
.home-grid.content-complete .original-text{margin:0}
@media(max-width:800px){.original-copy,.home-grid.content-complete .welcome-panel{overflow:visible!important}.original-text p,.original-text li{font-size:14px;line-height:1.65}}

/* ============================================================
   DESIGN PASS: wider navigation + full-image canvas + overlay copy
   Requested 2026-10-06. Content intentionally unchanged.
   ============================================================ */
@media (min-width:801px){
  :root{--sidebar:330px}

  /* Sidebar: larger, more readable, with its own safe overflow if needed. */
  .sidebar{overflow:hidden}
  .brand{height:166px;flex-basis:166px;padding-left:24px;padding-right:24px}
  .brand-lotus{width:42px;height:42px;margin-bottom:9px}
  .brand-title{font-size:29px;line-height:1.04}
  .brand-sub{font-size:9.5px;letter-spacing:3.2px}

  .menu{
    display:block;
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:visible;
    padding:7px 0 8px;
    scrollbar-width:thin;
    scrollbar-color:rgba(243,202,86,.72) transparent;
  }
  .menu::-webkit-scrollbar{width:5px}
  .menu::-webkit-scrollbar-thumb{background:rgba(243,202,86,.72);border-radius:8px}
  .menu a{
    display:block;
    min-height:auto;
    padding:5px 20px 5px 30px;
    font-size:13.4px;
    line-height:1.16;
    white-space:normal;
    transition:transform .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease;
    transform-origin:left center;
    z-index:1;
  }
  .menu a small{font-size:9.6px;line-height:1.1;margin-top:2px}
  .menu a:hover,.menu a:focus-visible{
    transform:scale(1.17);
    z-index:20;
    background:rgba(87,30,103,.98);
    color:#fff;
    box-shadow:0 7px 18px rgba(22,5,28,.32);
    padding-right:17px;
    text-decoration:none;
  }
  .menu a:hover small,.menu a:focus-visible small{color:#f6dff0}
  .contact-mini{flex:0 0 128px;margin:6px 24px 9px;font-size:13.6px;line-height:1.48}
  .contact-mini strong{font-size:23px;margin:5px 0}

  /* Main viewport is a single image canvas. No document scrolling on desktop. */
  .main{position:relative;width:100%;height:100vh;overflow:hidden}
  .home-grid,.page-grid,.disclaimer-grid{
    position:relative;
    display:block;
    width:100%;
    height:100%;
    overflow:hidden;
  }

  .hero-image,.page-visual,.disclaimer-art{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:0;
  }
  .hero-image img,.page-visual img,.disclaimer-art img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .hero-image:after,.page-visual:after,.disclaimer-art:after{
    content:'';
    position:absolute;
    inset:0;
    background:
      linear-gradient(90deg,rgba(42,8,50,.32) 0%,rgba(42,8,50,.08) 48%,rgba(42,8,50,.36) 100%),
      linear-gradient(0deg,rgba(37,6,45,.43),transparent 52%);
  }

  /* Image title remains directly over the image on the left. */
  .hero-heading,.page-visual-title{
    z-index:2;
    left:5.2%;
    right:auto;
    bottom:6.5%;
    max-width:min(49%,680px);
    text-shadow:0 3px 18px rgba(24,4,30,.62);
  }
  .hero-heading h1{font-size:clamp(46px,4.5vw,78px)}
  .hero-heading .subhead{font-size:clamp(24px,2.15vw,38px)}
  .page-visual-title h1{font-size:clamp(40px,4vw,70px)}

  /* Right-hand content floats over the picture and scrolls independently. */
  .welcome-panel,.page-copy,.legal-copy{
    position:absolute;
    z-index:5;
    top:4.2vh;
    right:2.2vw;
    bottom:4.2vh;
    width:clamp(410px,40.5%,650px);
    height:auto;
    padding:clamp(28px,3vw,48px) clamp(28px,3vw,46px);
    display:block;
    overflow-y:auto!important;
    overflow-x:hidden;
    background:linear-gradient(180deg,rgba(73,20,87,.86),rgba(47,12,59,.90));
    border:1px solid rgba(255,229,154,.24);
    border-radius:24px;
    box-shadow:0 18px 50px rgba(25,4,31,.38);
    backdrop-filter:blur(9px);
    -webkit-backdrop-filter:blur(9px);
    scrollbar-width:thin;
    scrollbar-color:#f3ca56 rgba(255,255,255,.08);
  }
  .welcome-panel::-webkit-scrollbar,.page-copy::-webkit-scrollbar,.legal-copy::-webkit-scrollbar{width:9px}
  .welcome-panel::-webkit-scrollbar-thumb,.page-copy::-webkit-scrollbar-thumb,.legal-copy::-webkit-scrollbar-thumb{background:#f3ca56;border-radius:10px}

  .home-grid.content-complete .welcome-panel{padding-top:clamp(28px,3vw,48px)}
  .original-text{max-width:none;margin:0;padding-bottom:24px}
  .original-text h2{font-size:clamp(29px,2.25vw,40px);line-height:1.14}
  .original-text h3{font-size:21px;line-height:1.34;margin:20px 0 9px}
  .original-text h4{font-size:17px;margin-top:21px}
  .original-text p,.original-text li{font-size:15.7px;line-height:1.64}
  .original-text blockquote{font-size:14.6px;line-height:1.62;padding:15px 18px}
  .original-disclaimer{font-size:12.5px;line-height:1.55}
  .old-copyright{font-size:11px}
  .eyebrow{font-size:12px;letter-spacing:3.1px}

  /* General page copy when a page does not use .original-text. */
  .page-copy h2{font-size:clamp(30px,2.5vw,43px)}
  .page-copy p{font-size:15.7px;line-height:1.64;max-width:none}
  .point{font-size:13.5px;line-height:1.38}

  /* Disclaimer: same overlay treatment and readable larger copy. */
  .legal-copy h2{font-size:36px}
  .legal-columns{column-count:1;font-size:13.5px;line-height:1.55}
  .legal-columns h3{font-size:16px;margin-top:12px}
  .legal-footer{font-size:11.5px}
}

/* Keep a slightly smaller sidebar on shorter laptop screens, but preserve readability. */
@media (min-width:801px) and (max-height:800px){
  :root{--sidebar:315px}
  .brand{height:128px;flex-basis:128px}
  .brand-lotus{width:39px;height:39px;margin-bottom:6px}
  .brand-title{font-size:24px}
  .brand-sub{font-size:8.5px;margin-top:5px}
  .menu a{font-size:12.6px;padding-top:4px;padding-bottom:4px}
  .menu a small{font-size:9px}
  .menu a:hover,.menu a:focus-visible{transform:scale(1.16)}
  .contact-mini{flex-basis:104px;font-size:11.4px;padding-top:7px}
  .contact-mini strong{font-size:19px;margin:3px 0}
  .welcome-panel,.page-copy,.legal-copy{top:3vh;bottom:3vh;width:clamp(400px,41.5%,610px);padding:28px 34px}
  .original-text p,.original-text li{font-size:14.6px;line-height:1.57}
  .original-text h2{font-size:29px}
  .original-text h3{font-size:19px}
  .original-text h4{font-size:16px}
}

/* v5 menu scroll cue + vertical-only nav scrolling */
@media (min-width:801px){
  .sidebar{position:relative}
  .menu{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-gutter:stable;
    padding-bottom:8px;
  }
  .menu a{
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .menu a:hover,.menu a:focus-visible{
    transform:scale(1.12);
    transform-origin:left center;
    max-width:100%;
  }
  .menu-scroll-cue{
    flex:0 0 25px;
    height:25px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#f3ca56;
    font-size:25px;
    line-height:1;
    text-shadow:0 2px 7px rgba(0,0,0,.45);
    background:linear-gradient(180deg,rgba(61,18,76,0),rgba(61,18,76,.9));
    transition:opacity .18s ease, height .18s ease;
    user-select:none;
  }
  .menu-scroll-cue.is-hidden{
    opacity:0;
    height:0;
    flex-basis:0;
    overflow:hidden;
  }
}
@media (max-width:800px){
  .menu-scroll-cue{display:none}
  .menu{overflow-x:hidden!important}
}

/* ============================================================
   v7: universal scroll direction cues for independent scroll areas
   ============================================================ */
@media (min-width:801px){
  /* The old single menu cue is replaced dynamically by paired controls. */
  .menu-scroll-cue{display:none!important}

  .scroll-cue-button{
    position:fixed;
    z-index:1000;
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,229,154,.55);
    border-radius:999px;
    background:rgba(63,18,76,.82);
    color:#f3ca56;
    font-family:Georgia,'Times New Roman',serif;
    font-size:25px;
    line-height:1;
    box-shadow:0 4px 14px rgba(18,4,24,.38);
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
    opacity:.95;
    transition:opacity .16s ease,transform .16s ease,background-color .16s ease;
    user-select:none;
  }
  .scroll-cue-button:hover,
  .scroll-cue-button:focus-visible{
    background:rgba(87,30,103,.96);
    transform:scale(1.08);
    outline:none;
  }
  .scroll-cue-button.is-hidden{
    opacity:0;
    pointer-events:none;
  }
  .scroll-cue-button.menu-cue{
    width:30px;
    height:30px;
    font-size:22px;
    background:rgba(53,15,67,.88);
  }
}

@media (max-width:800px){
  .scroll-cue-button{display:none!important}
}
