@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;700&family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500;1,600&family=Source+Sans+3:wght@400;600&display=swap');

:root{
  --osm-surround:#120c24; --osm-ground:#1c1433; --osm-panel:#271c47;
  --osm-line:#45366e; --osm-line2:#5a4a86;
  --osm-gold:#E4BC62; --osm-gold-soft:#F0D08A;
  --osm-cream:#F4ECDC; --osm-body:#D6CDE6; --osm-fine:#A99DC4;
}

/* ---------- page ---------- */
html,body{background:var(--osm-surround);}
body{margin:0;color:var(--osm-body);font-family:'Source Sans 3',system-ui,sans-serif;font-size:16px;line-height:1.55;}
.osm-site{min-height:100vh;display:flex;flex-direction:column;}
.osm-site a{color:var(--osm-gold);text-decoration:none;}
.osm-site a:hover{color:var(--osm-cream);}

/* general typography for ordinary module content */
.osm-main h1,.osm-main h2,.osm-main h3{color:var(--osm-cream);font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;line-height:1.15;}
.osm-main h1{font-family:'Cinzel',Georgia,serif;font-weight:700;color:var(--osm-gold);}

/* ---------- header ---------- */
.osm-top{background:var(--osm-ground);border-bottom:1px solid var(--osm-line2);position:relative;z-index:50;}
.osm-top-inner{max-width:1100px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:24px;}
.osm-brand{flex-shrink:0;display:flex;align-items:center;}
.osm-brand img{max-height:48px;width:auto;display:block;}
.osm-nav{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:24px;}

/* menu (DDRMenu, MainMenu template) */
.osm-menu,.osm-menu ul{list-style:none;margin:0;padding:0;}
.osm-menu{display:flex;align-items:center;gap:4px;}
.osm-menu > li{position:relative;}
.osm-menu a,.osm-menu span.osm-mtext{display:block;padding:10px 14px;font-family:'Cinzel',Georgia,serif;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--osm-cream);border-radius:4px;white-space:nowrap;}
.osm-menu a:hover,.osm-menu li.osm-active > a{color:var(--osm-gold);}
.osm-menu li.osm-active > a{box-shadow:inset 0 -2px 0 var(--osm-gold);border-radius:0;}
.osm-sub{display:none;position:absolute;left:0;top:100%;min-width:220px;background:var(--osm-panel);border:1px solid var(--osm-line);border-radius:6px;padding:6px 0;}
.osm-menu li:hover > .osm-sub,.osm-menu li:focus-within > .osm-sub{display:block;}
.osm-sub a{font-family:'Source Sans 3',system-ui,sans-serif;font-size:15px;letter-spacing:normal;text-transform:none;padding:8px 16px;}

/* account links */
.osm-account{display:flex;align-items:center;gap:14px;}
.osm-account a,.osm-acct-link{font-size:14px;color:var(--osm-fine) !important;}
.osm-account a:hover{color:var(--osm-gold) !important;}

/* mobile toggle (pure CSS) */
.osm-nav-toggle{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;}
.osm-nav-btn{display:none;margin-left:auto;width:44px;height:44px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px;border:1px solid var(--osm-line2);border-radius:6px;}
.osm-nav-btn span{display:block;width:22px;height:2px;background:var(--osm-gold);}

/* ---------- content ---------- */
.osm-main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:28px 20px 40px;box-sizing:border-box;}
.osm-pane{min-height:0;}
.osm-pane.DNNEmptyPane{padding:0;margin:0;}
.osm-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.osm-split .DNNEmptyPane{display:none;}
.osm-pane-wide{margin-left:-20px;margin-right:-20px;}

/* ---------- stand-alone note cards (any HTML module) ---------- */
.osm-main .osm-note{box-sizing:border-box;max-width:900px;margin:0 auto 24px;background:var(--osm-panel);border:1px solid var(--osm-line);border-radius:8px;padding:20px 24px;color:var(--osm-body);}
.osm-main .osm-note h3{margin:0 0 8px;padding:0;font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:26px;line-height:1.2;color:var(--osm-gold);}
.osm-main .osm-note p{margin:0 0 10px;padding:0;font-family:'Source Sans 3',system-ui,sans-serif;font-size:16px;line-height:1.55;color:var(--osm-body) !important;}
.osm-main .osm-note p.osm-note-sub{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:500;font-size:20px;line-height:1.3;color:var(--osm-cream) !important;}
.osm-main .osm-note p:last-child{margin-bottom:0;}
.osm-main .osm-note a{color:var(--osm-gold) !important;text-decoration:underline;text-underline-offset:3px;}
.osm-main .osm-note a:hover{color:var(--osm-cream) !important;}

/* ---------- footer ---------- */
.osm-foot{background:var(--osm-ground);border-top:1px solid var(--osm-line2);}
.osm-foot-inner{max-width:1100px;margin:0 auto;padding:18px 20px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:13px;color:var(--osm-fine);}
.osm-foot-links{display:flex;align-items:center;gap:12px;}
.osm-foot-link,.osm-foot a{color:var(--osm-fine) !important;}
.osm-foot a:hover{color:var(--osm-gold) !important;}
.osm-dot{width:5px;height:5px;background:var(--osm-gold);transform:rotate(45deg);display:inline-block;}

/* ---------- phones ---------- */
@media (max-width:860px){
  .osm-nav-btn{display:flex;}
  .osm-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--osm-ground);border-bottom:1px solid var(--osm-line2);flex-direction:column;align-items:stretch;padding:8px 20px 16px;gap:8px;}
  .osm-nav-toggle:checked ~ .osm-nav{display:flex;}
  .osm-menu{flex-direction:column;align-items:stretch;}
  .osm-sub{display:block;position:static;border:0;background:none;padding:0 0 0 14px;min-width:0;}
  .osm-account{padding-top:8px;border-top:1px solid var(--osm-line);}
  .osm-split{grid-template-columns:1fr;}
  .osm-main{padding:20px 12px 32px;}
  .osm-pane-wide{margin-left:-12px;margin-right:-12px;}
}