/* Webinar registration page (website/webinar_layer.py). Uses the site's tokens from /assets/site.css. */
.wb{--wb-card:420px;--wb-gap:56px;--wb-err:#A3352B;--wb-text:#3B434C;position:relative}
.wb [hidden]{display:none!important}
.wb-grid{display:grid;grid-template-columns:minmax(0,1fr) var(--wb-card);column-gap:var(--wb-gap);align-items:start}

/* hero: navy across the full width at the height of the left column's hero, without widening the page */
.wb-hero{grid-column:1;grid-row:1;position:relative;color:var(--stone);background:var(--navy);
  box-shadow:0 0 0 100vmax var(--navy);clip-path:inset(0 -100vmax);padding:calc(var(--header-h) + 56px) 0 0}
.wb-hero .breadcrumb a,.wb-hero .breadcrumb li,.wb-hero .breadcrumb li::before{color:#C9D6E2}
.wb-hero .eyebrow{margin-bottom:16px}
.wb-title{color:var(--stone);font-size:clamp(2.5rem,4.3vw,3.65rem);line-height:1.03;margin:0 0 20px;letter-spacing:-.01em}
.wb-subtitle{display:block;font-weight:500;color:var(--brass);font-size:.5em;line-height:1.25;margin-top:14px;letter-spacing:.005em}
.wb-lede{font-size:1.13rem;line-height:1.6;color:#D9DEE4;max-width:620px;margin:0 0 30px}
.wb-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 18px;margin:0 0 30px;padding:14px 0;
  border-top:1px solid rgba(244,241,234,.16);border-bottom:1px solid rgba(244,241,234,.16)}
.wb-facts>div{padding:6px 0}
.wb-facts dt{font:600 .7rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin:0 0 5px}
.wb-facts dd{margin:0;color:var(--stone);font-size:.97rem;line-height:1.45}
.wb-tsub,.wb-local{display:block;color:var(--on-navy-muted);font-size:.86rem;margin-top:2px}
.wb-local{font-size:.8rem}
.wb-label{font:600 .7rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--on-navy-muted);margin:0 0 12px}
.wb-host-list{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-wrap:wrap;gap:16px 40px;align-items:center}
.wb-name-list{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-wrap:wrap;gap:6px 26px;color:var(--stone);font-size:.95rem}
.wb-org{display:inline-flex;align-items:center;gap:13px;color:var(--stone)}
.wb-org-light{color:var(--navy)}
.wb-org-text{display:flex;flex-direction:column;line-height:1.15}
.wb-org-name{font-family:var(--serif);font-weight:600;font-size:1.24rem;letter-spacing:.002em}
.wb-org-sub{font-size:.74rem;letter-spacing:.05em;color:var(--on-navy-muted);margin-top:4px}
.wb-org-light .wb-org-sub{color:var(--slate)}
.wb-org-mark{display:block;flex:none;width:16px;height:42px;background:currentColor;
  -webkit-mask:url(/assets/brand/mark.svg) center/contain no-repeat;mask:url(/assets/brand/mark.svg) center/contain no-repeat}
.wb-org-logo{display:block;max-height:44px;width:auto}
.wb-map-wrap{margin:6px -6px 0;line-height:0}
.wb-map{display:block;width:100%;height:auto}
.wb-map text{font-family:var(--sans)}

/* registration card */
.wb-aside{grid-column:2;grid-row:1 / span 2;align-self:stretch;position:relative;z-index:2;padding:calc(var(--header-h) + 44px) 0 48px}
.wb-card{background:var(--white);border:1px solid var(--rule);border-top:3px solid var(--brass);padding:28px 28px 24px;
  box-shadow:0 34px 70px -24px rgba(15,27,45,.42),0 2px 8px rgba(15,27,45,.08);scroll-margin-top:calc(var(--header-h) + 16px)}
.wb-card.is-sticky{position:sticky;top:calc(var(--header-h) + 20px)}
#register{scroll-margin-top:calc(var(--header-h) + 8px)}
.wb-card-title{font-size:1.8rem;margin:0 0 6px}
.wb-card-title:focus{outline:none}
.wb-card-note{color:var(--slate);font-size:.9rem;line-height:1.5;margin:0 0 18px}
.wb-alert{background:#FBEDEB;border-left:3px solid var(--wb-err);color:#5E1F19;font-size:.87rem;line-height:1.45;padding:10px 12px;margin:0 0 16px}
.wb-alert:focus{outline:none}
.wb-form .hp{position:absolute;left:-9999px}
.wb-row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.wb-field{margin-bottom:12px;min-width:0}
.wb-field label{display:block;font-size:.8rem;font-weight:600;color:var(--navy);margin-bottom:5px;line-height:1.3}
.wb-opt{font-weight:400;color:var(--slate)}
.wb-form input[type=text],.wb-form input[type=email],.wb-form select,.wb-form textarea{min-height:44px;padding:10px 12px;font-size:.95rem;border-radius:2px}
.wb-form select{-webkit-appearance:none;appearance:none;padding-right:34px;text-overflow:ellipsis;
  background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%230F1B2D' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 12px center}
.wb-field.is-invalid input,.wb-field.is-invalid select{border-color:var(--wb-err);box-shadow:inset 0 0 0 1px var(--wb-err)}
.wb-err{color:var(--wb-err);font-size:.79rem;line-height:1.35;margin:5px 0 0}
.wb-question{margin:0 0 14px}
.wb-question summary{cursor:pointer;list-style:none;font-size:.86rem;font-weight:600;color:var(--river);padding:4px 0}
.wb-question summary::-webkit-details-marker{display:none}
.wb-question summary::before{content:"+";display:inline-block;width:1.05em;font-weight:600}
.wb-question[open] summary::before{content:"\2212"}
.wb-question[open] summary{margin-bottom:8px}
.wb-question textarea{min-height:84px}
.wb-check{margin:0 0 10px}
.wb-check input{margin-top:2px}
.wb-check label{font-size:.85rem;line-height:1.45;color:var(--wb-text)}
.wb-check label a{color:var(--river)}
.wb-check.is-invalid input{outline:2px solid var(--wb-err);outline-offset:1px}
.wb-err-check{margin:-4px 0 10px 28px}
.wb-submit{width:100%;margin-top:8px;padding:15px 24px;font-size:1rem}
.wb-submit[disabled]{opacity:.8;cursor:progress}
.wb-spinner{display:none;width:16px;height:16px;border:2px solid rgba(244,241,234,.35);border-top-color:var(--stone);border-radius:50%;animation:wb-spin .8s linear infinite}
.wb-submit.is-busy .wb-spinner{display:inline-block}
.wb-submit.is-busy:hover{background:var(--navy);border-color:var(--navy);color:var(--stone)}
@keyframes wb-spin{to{transform:rotate(360deg)}}
.wb-fine{font-size:.75rem;line-height:1.45;color:var(--slate);margin:10px 0 0}

/* confirmation */
.wb-done-icon{display:block;width:46px;height:46px;color:var(--brass-text);margin:0 0 14px}
.wb-done-text{color:var(--wb-text);font-size:.97rem;line-height:1.55;margin:0}
.wb-done-block{border-top:1px solid var(--rule);margin-top:18px;padding-top:16px}
.wb-done .wb-label,.wb-label-light{color:var(--slate)}
.wb-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.wb-links a,.wb-linkbtn{display:inline-block;font:600 .84rem/1.2 var(--sans);color:var(--navy);background:var(--stone);border:1px solid var(--rule);padding:10px 12px;text-decoration:none;cursor:pointer;border-radius:2px}
.wb-links a:hover,.wb-linkbtn:hover{border-color:var(--brass);color:var(--navy)}
.wb-done-next{font-size:.92rem;line-height:1.5;margin:0;color:var(--wb-text)}
.wb-done-next a{font-weight:600;color:var(--river)}

/* sections */
.wb-body{grid-column:1;grid-row:2;min-width:0;padding:0 0 32px}
.wb-sec{padding-top:68px}
.wb-sec h2{font-size:clamp(1.8rem,2.5vw,2.2rem);margin:0 0 10px}
.wb-intro{color:var(--slate);max-width:640px;margin:0 0 28px}
.wb-topics{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.wb-topic{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--rule);padding:26px 26px 22px}
.wb-topic h3{font-size:1.4rem;margin:0 0 8px}
.wb-topic p{color:var(--wb-text);font-size:.94rem;line-height:1.6;margin:0 0 20px}
.wb-topic .wb-figure{margin:auto 0 0;padding-top:16px;border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:6px}
.wb-figure-n{font-family:var(--serif);font-weight:600;font-size:2.2rem;line-height:1;color:var(--brass-text);white-space:nowrap;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
.wb-figure-l{font-size:.81rem;line-height:1.4;color:var(--slate)}
.wb-sources{font-size:.77rem;line-height:1.6;color:var(--slate);margin:18px 0 0}
.wb-sources a{color:var(--slate);text-decoration-thickness:1px;text-underline-offset:2px;text-decoration-color:rgba(91,101,115,.45)}
.wb-sources a:hover{color:var(--navy);text-decoration-color:currentColor}
.wb-agenda{list-style:none;margin:0 0 30px;padding:0;border-top:1px solid var(--rule)}
.wb-agenda li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:22px;padding:18px 0;border-bottom:1px solid var(--rule)}
.wb-when{margin:0;padding-top:4px;display:flex;flex-direction:column;gap:3px;font-size:.84rem;color:var(--slate)}
.wb-when time{font:600 1.02rem/1.2 var(--sans);color:var(--navy);font-variant-numeric:tabular-nums}
.wb-when span::after{content:"";display:block;height:3px;margin-top:7px;background:var(--brass);width:calc(var(--m,1) * 5.6px);max-width:100%}
.wb-what h3{font-size:1.28rem;margin:0 0 4px}
.wb-what p{margin:0;color:var(--wb-text);font-size:.94rem;line-height:1.55}
.wb-what .wb-who{margin-top:7px;color:var(--brass-text);font-size:.85rem;font-weight:600}
.wb-speakers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.wb-speaker{display:flex;align-items:center;gap:14px;background:var(--white);border:1px solid var(--rule);padding:16px}
.wb-speaker img,.wb-initials{flex:none;width:64px;height:64px;border-radius:50%;object-fit:cover}
.wb-initials{display:grid;place-items:center;background:var(--navy);color:var(--stone);font:600 1.15rem/1 var(--serif)}
.wb-speaker p{margin:0;display:flex;flex-direction:column;font-size:.86rem;line-height:1.35;color:var(--slate)}
.wb-speaker strong{color:var(--navy);font-size:1rem;margin-bottom:2px}
.wb-about{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.wb-about-item{background:var(--white);border:1px solid var(--rule);padding:24px 24px 22px}
.wb-about-item p{margin:16px 0 0;color:var(--wb-text);font-size:.93rem;line-height:1.6}
.wb-label-light{margin:28px 0 12px}
.wb-logos{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.wb-logos li{display:flex;align-items:center;min-height:66px;padding:14px 20px;background:var(--white);border:1px solid var(--rule);font-family:var(--serif);font-weight:600;font-size:1.1rem;color:var(--navy)}
.wb-logos img{display:block;max-height:40px;width:auto}
.wb-logos-small li{min-height:54px;font-size:1rem}
.wb-faq{border-top:1px solid var(--rule)}
.wb-faq details{border-bottom:1px solid var(--rule)}
.wb-faq summary{position:relative;cursor:pointer;list-style:none;padding:18px 44px 18px 0;font-family:var(--serif);font-weight:600;font-size:1.22rem;line-height:1.3;color:var(--navy)}
.wb-faq summary::-webkit-details-marker{display:none}
.wb-faq summary::after{content:"+";position:absolute;right:8px;top:15px;font:400 1.55rem/1 var(--sans);color:var(--brass-text)}
.wb-faq details[open] summary::after{content:"\2212"}
.wb-faq details p{max-width:680px;margin:-4px 0 20px;color:var(--wb-text)}

/* register button that follows the reader once the card is out of view */
.wb-bar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;justify-content:center;
  padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:rgba(15,27,45,.97);box-shadow:0 -10px 28px rgba(15,27,45,.25)}
.wb-bar .btn{width:100%;max-width:440px}

/* the page a no-JavaScript registration lands on */
.wb-thanks{padding:calc(var(--header-h) + 80px) 0 104px}
.wb-thanks h1{margin-bottom:14px}
.wb-thanks .wb-done-icon{width:54px;height:54px;margin-bottom:22px}
.wb-thanks-next{color:var(--wb-text);margin:26px 0 0}
.wb-thanks-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.wb-btn-line{background:transparent;border-color:var(--navy);color:var(--navy)}
.wb-btn-line:hover{background:var(--navy);color:var(--stone)}
.wb-links-light a{background:var(--white)}

@media (min-width:1024px){
  .wb-bar{left:auto;right:28px;bottom:28px;padding:0;background:transparent;box-shadow:none}
  .wb-bar .btn{width:auto;box-shadow:0 14px 34px rgba(15,27,45,.32)}
}
@media (max-width:1180px){.wb{--wb-card:390px;--wb-gap:40px}}
@media (max-width:1023px){
  .wb-grid{grid-template-columns:minmax(0,1fr)}
  .wb-hero,.wb-aside,.wb-body{grid-column:1;grid-row:auto}
  .wb-hero{padding:calc(var(--header-h) + 40px) 0 70px}
  .wb-aside{padding:0;margin-top:-44px}
  .wb-card{max-width:620px}
  .wb-map-wrap{margin-top:0}
}
@media (max-width:640px){
  .wb-title{font-size:2.4rem}
  .wb-lede{font-size:1.05rem}
  .wb-card{padding:24px 20px 20px}
  .wb-topics,.wb-about{grid-template-columns:1fr}
  .wb-agenda li{grid-template-columns:70px minmax(0,1fr);gap:14px}
  .wb-when span::after{width:calc(var(--m,1) * 4px)}
  .wb-sec{padding-top:56px}
  .wb-map-wrap{display:none}
  .wb-hero{padding-bottom:64px}
}
@media (max-width:420px){.wb-row{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.wb-spinner{animation-duration:2.4s}}
@media print{.wb-aside,.wb-bar,.wb-map-wrap,.wb-agenda-cta{display:none!important}.wb-grid{display:block}.wb-hero{box-shadow:none;clip-path:none;color:var(--ink);background:none;padding-top:0}.wb-title{color:var(--navy)}}
