:root{--ink:#0b1028;--muted:#5d6475;--line:#e8eaf0;--deep:#070d23;--deep2:#101a3e}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#f7f8fb}a{color:inherit}
.rainbow{height:7px;display:grid;grid-template-columns:repeat(7,1fr)}.rainbow span:nth-child(1){background:#e53935}.rainbow span:nth-child(2){background:#fb8c00}.rainbow span:nth-child(3){background:#fdd835}.rainbow span:nth-child(4){background:#43a047}.rainbow span:nth-child(5){background:#1e88e5}.rainbow span:nth-child(6){background:#3949ab}.rainbow span:nth-child(7){background:#8e24aa}
.hero{background:radial-gradient(circle at 20% 10%,rgba(96,67,255,.20),transparent 30%),radial-gradient(circle at 80% 5%,rgba(255,60,170,.16),transparent 28%),linear-gradient(180deg,var(--deep),var(--deep2));color:#fff;text-align:center;padding:40px 20px 56px}.logo{width:min(260px,72vw);height:auto;display:block;margin:0 auto 22px;filter:drop-shadow(0 24px 36px rgba(0,0,0,.32))}.hero h1{margin:0 0 12px;font-size:clamp(2.2rem,6vw,4rem);line-height:1.03;letter-spacing:-.035em}.tagline{max-width:820px;margin:0 auto;color:#e8ebff;font-size:clamp(1rem,2vw,1.2rem);line-height:1.6}
.cta-row{width:min(760px,100%);margin:25px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cta-row.compact{margin-top:20px}.button{display:block;width:100%;border:0;border-radius:14px;padding:16px 12px;color:#111;text-decoration:none;text-align:center;font:900 16px Arial,Helvetica,sans-serif;cursor:pointer;background:linear-gradient(90deg,#ff4b4b,#ff9e29,#ffe94a,#55d96b,#42b8ff,#6f70ff,#c45cff);box-shadow:0 12px 30px rgba(0,0,0,.20)}button.button:disabled{opacity:.7;cursor:default}
.app-card{width:min(1050px,calc(100% - 24px));margin:-28px auto 34px;position:relative;z-index:2;background:#fff;border:1px solid #e7e9f0;border-radius:26px;box-shadow:0 28px 80px rgba(13,22,51,.18);overflow:hidden}.section{padding:32px 28px;border-bottom:1px solid var(--line)}.section:last-child{border-bottom:0}.eyebrow{font-size:12px;letter-spacing:.11em;text-transform:uppercase;font-weight:900;color:#6650d8;margin-bottom:8px}.section h2{margin:0 0 12px;font-size:clamp(26px,4vw,36px);color:#11172d}.lead{margin:0;color:var(--muted);font-size:16px;line-height:1.65}.install-wrap{max-width:430px;margin:22px auto 0}.device-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px}.device{border:1px solid #e6e8ef;border-radius:18px;padding:22px;background:#fafbfe}.device h3{margin:0 0 13px;font-size:21px;color:#242938}.device ol{margin:0;padding-left:22px;line-height:1.8;color:#373c4d;font-size:15px}.tip{margin-top:18px;border-radius:15px;padding:15px 17px;background:#f5f6fa;color:#4c5263;line-height:1.55;text-align:center;font-size:14px}.bottom{text-align:center;background:linear-gradient(135deg,#f7f7ff,#fff6fb)}.small{margin:13px 0 0;color:#6b7181;font-size:13px;line-height:1.5}
.convention-page{width:100%;height:100vh;height:100dvh;overflow:hidden;background:#fff}.convention-shell{position:fixed;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr);background:#fff}.convention-bar{min-height:46px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:max(7px,env(safe-area-inset-top)) 12px 7px;border-bottom:1px solid #e5e7eb;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.05);z-index:2}.brand-link,.treaty-link{text-decoration:none;font-weight:900}.brand-link{color:#3d40a6}.treaty-link{color:#8b246f;font-size:13px}.convention-title{min-width:0;text-align:center;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.convention-frame-shell{min-height:0;width:100%;background:#fff}.convention-frame-shell iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.security-overlay{display:none;position:fixed;inset:0;z-index:2147483646;padding:20px;align-items:center;justify-content:center;background:rgba(0,0,0,.58)}.verify-card{position:relative;width:min(480px,100%);padding:30px 24px 26px;border-radius:20px;background:#fff;color:#182033;box-shadow:0 25px 80px rgba(0,0,0,.32);text-align:center}.round-close{position:absolute;right:14px;top:12px;width:42px;height:42px;border:1px solid #cbd1db;border-radius:50%;background:#fff;font-size:25px;line-height:1;cursor:pointer}.lock{font-size:42px;margin-bottom:8px}.verify-title{font-size:25px;font-weight:900;margin-bottom:8px}.verify-copy{color:#5d6475;line-height:1.55;margin-bottom:22px}#gptTurnstileWidget{display:flex;justify-content:center;min-height:70px}#gptTurnstileStatus{margin-top:15px;min-height:22px;color:#596170;font-size:13px;line-height:1.45}
@media(max-width:760px){.hero{padding:28px 12px 46px}.logo{width:min(230px,70vw)}.cta-row{gap:9px}.button{padding:14px 8px;font-size:.92rem}.section{padding:24px 18px}.device-grid{grid-template-columns:1fr}.convention-bar{grid-template-columns:52px minmax(0,1fr) 78px;gap:6px}.convention-title{font-size:13px}.treaty-link{font-size:11px;text-align:right}}

/* V182 UX DEVICE FIX — install popup + resilient iOS/Android viewport shell */
html,body{width:100%;min-height:100%}
.convention-page{min-height:100vh;min-height:-webkit-fill-available}
.convention-shell{min-width:0;min-height:100vh;min-height:-webkit-fill-available}
.convention-frame-shell{min-width:0;min-height:0;overflow:hidden}
.convention-frame-shell iframe{min-width:0;min-height:0}
.install-help-overlay{display:none;position:fixed;inset:0;z-index:2147483600;padding:18px;align-items:center;justify-content:center;background:rgba(0,0,0,.58);overflow:auto}
.install-help-card{position:relative;width:min(620px,100%);max-height:calc(100dvh - 36px);overflow:auto;padding:30px 24px 24px;border-radius:20px;background:#fff;color:#182033;box-shadow:0 25px 80px rgba(0,0,0,.34)}
.install-help-close{position:absolute;right:14px;top:12px;width:42px;height:42px;border:1px solid #cbd1db;border-radius:50%;background:#fff;font-size:25px;line-height:1;cursor:pointer}
.install-help-icon{font-size:42px;margin-bottom:8px;text-align:center}.install-help-card h2{margin:0 54px 14px 0;font-size:28px;line-height:1.2}.install-help-body{color:#454d5f;line-height:1.65}.install-help-body ol{margin:10px 0 0;padding-left:22px}.install-help-body li+li{margin-top:7px}.install-help-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.install-native-button{display:none;flex:1 1 230px}.install-help-secondary{flex:1 1 150px;min-height:50px;border:1px solid #cbd1db;border-radius:14px;background:#fff;color:#182033;font-weight:900;cursor:pointer}
@media(max-width:760px){.install-help-overlay{padding:0;align-items:stretch}.install-help-card{width:100%;max-height:100dvh;min-height:100dvh;border-radius:0;padding:max(24px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom))}.install-help-card h2{font-size:25px}.independent-door-overlay{height:100vh;height:-webkit-fill-available;height:100dvh}.convention-page{height:100vh;height:-webkit-fill-available;height:100dvh}}

/* V190 independent Hall doors + true Court Application second door; explicit viewport panels. */
.independent-door-overlay{
  display:none;
  position:fixed;
  inset:0;
  z-index:2147483000;
  width:100vw;
  height:100vh;
  height:100dvh;
  padding:24px;
  align-items:center;
  justify-content:center;
  background:rgba(15,23,42,.58);
  overflow:hidden;
}
.independent-door-panel{
  display:flex;
  flex-direction:column;
  width:min(1180px,calc(100vw - 48px));
  height:min(82vh,900px);
  height:min(82dvh,900px);
  min-height:360px;
  max-height:calc(100vh - 48px);
  max-height:calc(100dvh - 48px);
  min-width:0;
  overflow:hidden;
  border-radius:22px;
  background:#fff;
  box-shadow:0 26px 80px rgba(0,0,0,.28);
}
.independent-door-header{
  flex:0 0 auto;
  min-height:58px;
  padding:8px 10px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 48px;
  align-items:center;
  gap:8px;
  background:#fff;
  border-bottom:1px solid #e5e7eb;
  position:relative;
  z-index:2;
}
.independent-door-button,.independent-door-spacer{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
}
.independent-door-button{
  border:1px solid #d7dce5;
  border-radius:50%;
  background:#fff;
  color:#111827;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.independent-door-spacer{visibility:hidden}
.independent-door-back{visibility:hidden}
.independent-door-title{
  min-width:0;
  text-align:center;
  font-weight:900;
  color:#111827;
  font-size:15px;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.independent-door-body{
  position:relative;
  flex:1 1 0;
  min-width:0;
  min-height:0;
  width:100%;
  background:#fff;
  overflow:hidden;
}
.independent-door-mount{
  position:absolute;
  inset:0;
  min-width:0;
  min-height:0;
  background:#fff;
  overflow:hidden;
}
.independent-door-frame{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  border:0;
  background:#fff;
}

/* Court Application Door 2 sits above the still-mounted Court Calendar Door 1. */
.court-application-door-overlay{
  z-index:2147483200;
  background:rgba(15,23,42,.68);
}

@media(max-width:760px){
  .independent-door-overlay{
    height:100vh;
    height:-webkit-fill-available;
    height:100dvh;
    padding:0;
    align-items:stretch;
    justify-content:flex-start;
    background:#fff;
  }
  .independent-door-panel{
    width:100%;
    height:100vh;
    height:-webkit-fill-available;
    height:100dvh;
    min-height:0;
    max-height:none;
    border-radius:0;
    box-shadow:none;
  }
  .independent-door-header{
    padding:max(8px,env(safe-area-inset-top)) 10px 8px;
  }
  .independent-door-body{
    padding-bottom:env(safe-area-inset-bottom);
  }
}
