/* 04 zenith-forums.com — Glass Horizon. Page-scoped under .gh */
:root{
  --gh-ocean:#172E46; --gh-slate:#36536F; --gh-ice:#EDF6FC; --gh-aqua:#86BAC8;
  --gh-white:#FFFFFF;
  /* Onest is not installed on the build host; nearest neutral system stack. */
  --gh-face:"Noto Sans","DejaVu Sans",system-ui,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
.gh{margin:0;background:var(--gh-ocean);color:var(--gh-ice);font-family:var(--gh-face);
  font-size:17px;line-height:1.7;-webkit-text-size-adjust:100%}
.gh h1,.gh h2,.gh h3,.gh h4{margin:0;line-height:1.15;font-weight:600}
.gh p{margin:0 0 1em}
.gh a{color:var(--gh-aqua)}
.gh :focus-visible{outline:3px solid var(--gh-aqua);outline-offset:3px}
.gh .gh-skip{position:absolute;left:-9999px;background:var(--gh-ice);color:var(--gh-ocean);
  padding:14px 18px;font-weight:700}
.gh .gh-skip:focus{left:0;top:0;z-index:40}
.gh-inner{max-width:1180px;margin:0 auto;padding:0 clamp(16px,4vw,48px)}

.gh-nav{position:relative;z-index:5;background:rgba(23,46,70,.86);
  border-bottom:1px solid #2b4a66}
@supports (backdrop-filter:blur(6px)){.gh-nav{backdrop-filter:blur(8px)}}
.gh-navinner{max-width:1180px;margin:0 auto;padding:10px clamp(16px,4vw,48px);
  display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between}
.gh-navinner img{width:140px;height:55px;object-fit:contain;background:#000;padding:4px 8px}
.gh-navinner nav{display:flex;flex-wrap:wrap}
.gh-navinner a{min-height:44px;display:inline-flex;align-items:center;padding:0 13px;
  color:var(--gh-ice);text-decoration:none;font-size:15px;font-weight:600}
.gh-navinner a:hover{color:var(--gh-white);text-decoration:underline}

/* horizon --------------------------------------------------------------- */
.gh-horizon{position:relative;overflow:hidden;padding:clamp(40px,7vw,110px)
  clamp(16px,4vw,48px) clamp(30px,5vw,70px);text-align:center}
.gh-sky{position:absolute;inset:0;z-index:0;
  background:radial-gradient(120% 78% at 50% 116%,#3d6a8e 0%,#26445f 34%,var(--gh-ocean) 68%),
    linear-gradient(180deg,#12253a 0%,transparent 46%)}
.gh-horizon>*:not(.gh-sky){position:relative;z-index:1}
.gh-super{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--gh-aqua);
  font-weight:700}
.gh-horizon h1{font-size:clamp(36px,4.8vw,68px);max-width:20ch;margin:0 auto .4em;
  letter-spacing:-.015em}
.gh-dateline{font-size:19px;color:var(--gh-white);font-weight:600;margin-bottom:2em}
.gh-pane{max-width:1000px;margin:0 auto;background:rgba(23,46,70,.92);
  border:1px solid rgba(134,186,200,.45);padding:clamp(18px,3vw,34px);text-align:left}
@supports (backdrop-filter:blur(6px)){.gh-pane{backdrop-filter:blur(10px)}}
.gh-panetitle{font-size:14px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gh-aqua);margin-bottom:16px;font-weight:700}
.gh-rows{list-style:none;margin:0;padding:0}
.gh-row{display:grid;grid-template-columns:80px 190px 1fr 150px;gap:16px;align-items:baseline;
  padding:14px 0;border-top:1px solid rgba(237,246,252,.24);color:var(--gh-white)}
.gh-rowday{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--gh-aqua);
  font-weight:700}
.gh-rowdate{font-weight:600}
.gh-rowtheme{font-size:20px;font-weight:600}
.gh-rowtheme a{color:var(--gh-white);text-decoration-thickness:1px}
.gh-rowcount{font-size:14px;color:#c2dbe4;text-align:right}
.gh-strip{max-width:1000px;margin:0 auto;background:var(--gh-white);color:var(--gh-ocean);
  display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between;
  padding:20px clamp(18px,3vw,34px);text-align:left}
.gh-striplab{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;
  color:#3b566f;margin:0}
.gh-stripval{font-size:28px;font-weight:700;margin:.1em 0}
.gh-stripsub{font-size:14px;margin:0;color:#3b566f}
.gh-stripcta{display:flex;gap:12px;flex-wrap:wrap;margin:0}
.gh .gh-btn{display:inline-flex;align-items:center;min-height:50px;padding:0 22px;
  background:var(--gh-ocean);color:var(--gh-white);text-decoration:none;font-weight:700}
.gh .gh-btn:hover{background:#0f2135}
.gh .gh-btn--ghost{background:transparent;color:var(--gh-ocean);
  box-shadow:inset 0 0 0 2px var(--gh-ocean)}

/* alternating surfaces --------------------------------------------------- */
.gh-themes{padding:clamp(40px,6vw,92px) 0}
.gh-themes h2,.gh-speakers h2,.gh-incl h2,.gh-business h2,.gh-orgs h2,.gh-practical h2,
.gh-legal h2{font-size:clamp(27px,3.4vw,44px);margin-bottom:.5em}
.gh-intro{max-width:76ch;margin-bottom:2em}
.gh-theme{display:grid;grid-template-columns:minmax(230px,30%) 1fr;
  gap:clamp(16px,3vw,44px);max-width:1180px;margin:0 auto 2px;
  padding:clamp(20px,3vw,38px) clamp(16px,4vw,48px);background:#1b3651}
.gh-theme--0{background:#1b3651;margin-right:auto;margin-left:0;max-width:1080px}
.gh-theme--1{background:var(--gh-ice);color:var(--gh-ocean);margin-left:auto;margin-right:0;
  max-width:1120px}
.gh-theme--1 h3,.gh-theme--1 h4{color:var(--gh-ocean)}
.gh-theme--1 .gh-kicker{color:#2f5573}
.gh-kicker{font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;
  color:var(--gh-aqua);margin-bottom:.5em}
.gh-theme h3{font-size:clamp(21px,2.4vw,30px)}
.gh-themedesc{font-size:18px;max-width:64ch}
.gh-themehours{font-size:15px}
.gh-theme h4{font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin:20px 0 10px}
.gh-names{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.gh-names li{display:grid;gap:1px;padding:10px 12px;background:#2B445D}
.gh-theme--1 .gh-names li{background:#E0EAF1}
.gh-names b{font-size:16px}
.gh-names span{font-size:14px}
.gh-linkline{font-weight:700;padding-top:22px}

/* thin wide speaker bands ------------------------------------------------ */
.gh-speakers{padding:clamp(40px,6vw,92px) 0;background:#132840}
.gh-bands{list-style:none;margin:0;padding:0;max-width:1180px;margin:0 auto}
.gh-band{display:grid;grid-template-columns:120px 1fr auto;gap:clamp(14px,2.5vw,32px);
  align-items:center;padding:14px clamp(16px,4vw,48px);
  border-top:1px solid rgba(134,186,200,.28)}
.gh-band:nth-child(even){background:#1E3249}
.gh-bandshot img{display:block;width:120px;height:auto;object-fit:cover}
.gh-nom{display:grid;place-items:center;width:120px;height:120px;background:var(--gh-slate);
  color:var(--gh-white);font-size:36px;font-weight:700}
.gh-band h3{font-size:21px;margin-bottom:.25em}
.gh-bandrole{margin:0 0 .2em;font-size:16px}
.gh-bandorg{margin:0;font-size:15px;color:var(--gh-aqua)}
.gh-bandtrack{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.07em;
  color:var(--gh-white);background:var(--gh-slate);padding:7px 12px;white-space:nowrap}

/* pale inset panels ------------------------------------------------------ */
.gh-incl{padding:clamp(40px,6vw,92px) 0;background:var(--gh-ice);color:var(--gh-ocean)}
.gh-incl a{color:#1c4b74}
.gh-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}
.gh-mode{background:var(--gh-white);padding:26px;border-top:5px solid var(--gh-slate)}
.gh-modelab{font-size:13px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;
  color:#3b566f;margin-bottom:.4em}
.gh-modeprice{font-size:36px;font-weight:700;margin:0 0 .5em}
.gh-mode ul{margin:0;padding-left:20px}
.gh-mode li{margin-bottom:7px}
.gh-modenote{margin-top:24px;max-width:86ch;font-size:15px}

.gh-business{padding:clamp(40px,6vw,92px) 0;background:var(--gh-slate)}
.gh-business a{color:#dcecf5}
.gh-business p{max-width:80ch}
.gh-blinks{display:flex;gap:14px;flex-wrap:wrap;margin:22px 0}
.gh-business .gh-btn{background:var(--gh-white);color:var(--gh-ocean)}
.gh-business .gh-btn--ghost{background:transparent;color:var(--gh-white);
  box-shadow:inset 0 0 0 2px var(--gh-white)}
.gh-small{font-size:15px;color:#dcecf5}

.gh-orgs{padding:clamp(40px,6vw,92px) 0}
.gh-orgs p{max-width:80ch}
.gh-logos{list-style:none;margin:26px 0 0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:10px}
.gh-logos li{display:flex;align-items:center;gap:12px;background:var(--gh-white);
  color:var(--gh-ocean);padding:13px;min-height:72px}
.gh-logos img{width:46px;height:auto;object-fit:contain}
.gh-logos span{font-size:13px;font-weight:600}

.gh-practical{padding:clamp(40px,6vw,92px) 0;background:var(--gh-ice);color:var(--gh-ocean)}
.gh-practical a{color:#1c4b74}
.gh-pgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,52px);align-items:start}
.gh-dl{margin:0;background:var(--gh-white);padding:8px 20px}
.gh-dl>div{display:grid;grid-template-columns:minmax(140px,34%) 1fr;gap:12px;padding:11px 0;
  border-bottom:1px solid #d6e4ee}
.gh-dl dt{font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.05em;
  color:#3b566f}
.gh-dl dd{margin:0}
.gh-map{margin:0 0 22px}
.gh-map img{width:100%;height:auto;display:block}
.gh-map figcaption{font-size:14px;padding-top:10px;color:#3b566f}
.gh-faq details{border-top:1px solid #cbdce8;background:var(--gh-white);padding:0 16px}
.gh-faq summary{cursor:pointer;padding:14px 0;font-weight:700;min-height:44px;
  display:flex;align-items:center}
.gh-faq details p,.gh-faq details ul{margin:0 0 14px}

.gh-legal{padding:clamp(40px,6vw,92px) 0;background:#0f2135}
.gh-lgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:clamp(20px,4vw,52px)}
.gh-legal h3{font-size:15px;text-transform:uppercase;letter-spacing:.08em;
  color:var(--gh-aqua);margin-bottom:.9em}
.gh-links{list-style:none;margin:0;padding:0}
.gh-links li{padding:3px 0}
.gh-links a{display:inline-flex;min-height:34px;align-items:center}
.gh-foot{background:#0b1a2b;color:#c2dbe4;font-size:14px;padding:20px clamp(16px,4vw,48px)}
.gh-foot p{margin:0}

@media (max-width:1000px){
  .gh-row{grid-template-columns:1fr;gap:2px;padding:12px 0}
  .gh-rowcount{text-align:left}
  .gh-theme{grid-template-columns:1fr;margin:0 0 2px;max-width:none}
  .gh-band{grid-template-columns:96px 1fr;row-gap:10px}
  .gh-bandshot img,.gh-nom{width:96px}
  .gh-nom{height:96px;font-size:28px}
  .gh-bandtrack{grid-column:1/-1;justify-self:start}
  .gh-pgrid{grid-template-columns:1fr}
}
@media (max-width:640px){
  /* mobile: drop the blur entirely — the pane becomes an opaque list */
  .gh-pane,.gh-nav{backdrop-filter:none;background:var(--gh-ocean)}
  .gh-nav{background:var(--gh-ocean)}
  .gh-horizon{text-align:left}
  .gh-horizon h1{margin-left:0;font-size:clamp(32px,8.4vw,42px)}
  .gh-strip{display:block}
  .gh-strip>div{margin-bottom:16px}
}
@media (prefers-reduced-motion:reduce){.gh *{transition:none!important;animation:none!important}}
