/* =========================================================================
   Open Ice Initiative: NX utility and legal pages (contact, FAQ, terms,
   privacy, accessibility, liability, languages, site index, search, 404,
   apply). Loaded after nx.css. Colours come from the NX tokens only.
   ========================================================================= */

/* hero extras */
.nxl-upd{margin:22px 0 0;font-size:clamp(18px,1.8vw,26px);font-weight:600;color:var(--nx-ink);letter-spacing:-.005em}
.nxl-upd small{display:block;margin-top:6px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--nx-ink3)}
.nx-hero .nx-lead a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.nx-hero .nx-lead a:hover{color:var(--nx-accent)}
.nxl-h1-sm{font-size:clamp(40px,6.2vw,96px)}

/* section heading with a hairline under it (reference "Get in Touch" / "General FAQs") */
.nxl-head{padding-bottom:22px;border-bottom:1px solid var(--nx-line2);margin-bottom:28px}
.nxl-head p{margin-top:14px;max-width:62ch;font-size:15.5px;line-height:1.65;color:var(--nx-ink2)}
.nxl-head p a{text-decoration:underline;text-underline-offset:3px}

/* ---------- contact ---------- */
.nxl-formwrap{padding:clamp(28px,4vw,48px) 0 0}
.nx-form.nxl-cf{max-width:900px;box-shadow:0 40px 80px -48px rgba(0,0,0,.85)}
.nxl-cf .row{gap:16px 18px}
.nxl-cf label .req{color:var(--nx-red)}
.nxl-cf label .opt{font-weight:600;color:#6b7280}
.nxl-cf input:focus,.nxl-cf select:focus,.nxl-cf textarea:focus{outline:2px solid var(--nx-navy2);outline-offset:0;border-color:var(--nx-navy2)}
.nxl-cf select{appearance:none;-webkit-appearance:none;padding-right:38px;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,#14171B 50%),linear-gradient(135deg,#14171B 50%,transparent 50%);
  background-position:calc(100% - 19px) 50%,calc(100% - 14px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.nxl-cf textarea{min-height:140px}
.nxl-cf .chk{flex-direction:row;align-items:flex-start;gap:10px;font-weight:500;font-size:13.5px;line-height:1.5;color:#3b4250;max-width:60ch}
.nxl-cf .chk input{flex:none;width:18px;height:18px;margin:1px 0 0;padding:0;accent-color:var(--nx-red)}
.nxl-cf .chk a{color:var(--nx-dark);text-decoration:underline}
.nxl-cf .foot{border-top:1px solid #e3e7ec;padding-top:16px;margin-top:20px;align-items:flex-start}
.nxl-cf .foot .nx-btn{border:0;cursor:pointer;font-family:inherit;min-width:120px;justify-content:center}
.nxl-cf .nxl-status{flex-basis:100%;margin:0;font-size:13.5px;line-height:1.55;color:#3b4250}
.nxl-cf .nxl-status:empty{display:none}
.nxl-cf .nxl-status a{color:var(--nx-dark);text-decoration:underline;font-weight:700}
.nxl-cf .nxl-err{border-color:var(--nx-navy2)!important;background:#F1F2FA!important;box-shadow:inset 4px 0 0 var(--nx-navy2)}
.nxl-cf .nxl-fb{margin:12px 0 0;font-size:12.5px;color:#5b6270}
.nxl-cf .nxl-fb a{color:var(--nx-dark);text-decoration:underline}

.nxl-mail{display:block;font-family:var(--nx-disp);font-size:clamp(22px,3.6vw,52px);line-height:1.05;letter-spacing:-.02em;
  text-decoration:none!important;word-break:break-word;color:var(--nx-ink)}
.nxl-mail:hover{color:var(--nx-accent)}
.nxl-soc{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.nxl-soc a{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 16px;border:1.5px solid var(--nx-line2);
  font-weight:800;font-size:14px;text-decoration:none!important;transition:background .18s,border-color .18s,color .18s}
.nxl-soc a:hover{background:var(--nx-ink);color:var(--nx-bg);border-color:var(--nx-ink)}
.nxl-soc svg{flex:none}
.nx-contact .nx-tag{align-self:flex-start;margin-bottom:4px}
.nx-contact .go::after{content:' \2192'}
.nx-contact b{line-height:1.2}

/* ---------- FAQ ---------- */
.nxl-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.nxl-jump a{display:inline-flex;align-items:center;min-height:38px;padding:7px 14px;border:1px solid var(--nx-line2);font-size:13px;font-weight:800;
  letter-spacing:.04em;text-transform:uppercase;text-decoration:none!important;transition:background .18s,color .18s,border-color .18s}
.nxl-jump a:hover{background:var(--nx-ink);color:var(--nx-bg);border-color:var(--nx-ink)}
.nxl-group{scroll-margin-top:110px}
.nxl-group+.nxl-group{margin-top:clamp(40px,5vw,64px)}
.nxl-group .nxl-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.nxl-group .nxl-head span{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--nx-ink3);white-space:nowrap}
.nx-acc summary{min-height:56px}
.nx-acc summary:hover{background:var(--nx-line)}
.nx-acc details[open] summary:hover{background:transparent}
.nx-acc .a b{color:var(--nx-ink)}
.nx-acc .a a{text-decoration:underline;text-underline-offset:3px}
.nxl-ask{display:grid;grid-template-columns:1fr auto;gap:20px 40px;align-items:center}
.nxl-ask p{color:var(--nx-ink2);font-size:15.5px;line-height:1.6;max-width:60ch;margin-top:12px}
.nxl-ask .nx-btns{margin-top:0}
@media (max-width:760px){.nxl-ask{grid-template-columns:1fr}}

/* ---------- legal long form ---------- */
.nxl-doc{padding-top:clamp(30px,4vw,56px)}
.nxl-doc .nx-row{gap:24px clamp(24px,3vw,48px)}
.nx-toc{max-height:calc(100vh - 140px);overflow:auto;scrollbar-width:thin;padding-right:6px}
.nx-toc .nxl-toc-h{display:block;font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--nx-ink2);margin:0 0 10px}
.nx-toc .nxl-toc-part{display:block;margin:14px 0 4px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--nx-ink)}
.nx-toc a{line-height:1.35}
.nx-toc a.on{color:var(--nx-ink);border-left-color:var(--nx-red)}
.nx-legal{min-width:0}
.nx-legal>:first-child{margin-top:0}
.nx-legal h2,.nx-legal h3{scroll-margin-top:110px}
.nx-legal h2{padding-top:28px;border-top:1px solid var(--nx-line2)}
.nx-legal>h2:first-child{padding-top:0;border-top:0}
.nx-legal h2.nxl-part{font-family:var(--nx-disp);font-weight:400;text-transform:uppercase;font-size:clamp(22px,2.4vw,30px);margin-top:56px;padding-top:30px;border-top:2px solid var(--nx-red)}
.nx-legal strong,.nx-legal b{color:var(--nx-ink)}
.nx-legal em{color:var(--nx-ink)}
.nx-legal ul{list-style:none;padding-left:0}
.nx-legal ul li{position:relative;padding-left:22px}
.nx-legal ul li::before{content:'';position:absolute;left:0;top:13px;width:10px;height:2px;background:var(--nx-red)}
.nx-legal p+ul,.nx-legal ul+p{margin-top:12px}
.nx-legal p+h3,.nx-legal ul+h3{margin-top:28px}
.nx-legal #insurance{scroll-margin-top:130px}
.nx-legal #insurance:target{outline:1px solid var(--nx-red);outline-offset:10px}
.nxl-note{border-left:4px solid var(--nx-red);background:var(--nx-bg3);padding:16px 20px;margin:0 0 30px}
.nxl-note p{color:var(--nx-ink2);line-height:1.65;font-size:15.5px}
.nxl-note b{color:var(--nx-ink)}
.nxl-mtoc{display:none;margin:0 0 28px;border:1px solid var(--nx-line2)}
.nxl-mtoc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;
  font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.nxl-mtoc summary::-webkit-details-marker{display:none}
.nxl-mtoc summary::after{content:'';width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform .2s}
.nxl-mtoc[open] summary::after{transform:rotate(-135deg)}
.nxl-mtoc nav{display:flex;flex-direction:column;padding:0 16px 14px;font-size:14px;font-weight:700}
.nxl-mtoc nav a{padding:7px 0;border-top:1px solid var(--nx-line);color:var(--nx-ink2);text-decoration:none!important}
.nxl-mtoc nav .nxl-toc-part{padding:12px 0 4px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--nx-ink)}
@media (max-width:860px){.nxl-mtoc{display:block}}

/* ---------- languages ---------- */
.nxl-lang summary{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.7fr) minmax(0,1.4fr) 12px;gap:6px 18px;align-items:center;padding:16px 20px}
.nxl-lang summary::after{grid-column:4}
.nxl-lang .n{font-family:var(--nx-disp);font-weight:400;font-size:clamp(19px,1.8vw,24px);line-height:1.15}
.nxl-lang .e{font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--nx-ink3)}
.nxl-lang .c{font-size:15px;font-weight:600;color:var(--nx-ink2)}
.nxl-lang details[open] .n{color:var(--nx-ink)}
.nxl-lang .a{padding:4px 20px 22px}
.nxl-lang ol{margin:0;padding:0;list-style:none;counter-reset:nxl;display:grid;gap:2px}
.nxl-lang ol li{counter-increment:nxl;position:relative;padding:10px 0 10px 44px;border-top:1px solid var(--nx-line);color:var(--nx-ink2);font-size:15.5px;line-height:1.6}
.nxl-lang ol li::before{content:counter(nxl);position:absolute;left:0;top:10px;display:grid;place-items:center;width:26px;height:26px;background:var(--nx-red);color:#fff;font-weight:800;font-size:13px}
.nxl-lang [dir=rtl] ol li{padding:10px 44px 10px 0}
.nxl-lang [dir=rtl] ol li::before{left:auto;right:0}
@media (max-width:700px){
  .nxl-lang summary{grid-template-columns:minmax(0,1fr) 12px}
  .nxl-lang summary::after{grid-column:2;grid-row:1}
  .nxl-lang .e,.nxl-lang .c{grid-column:1}
}

/* ---------- site index ---------- */
.nxl-si{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:0;padding:0;list-style:none;border-top:1px solid var(--nx-line2)}
.nxl-si li{border-bottom:1px solid var(--nx-line2)}
.nxl-si a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;padding:14px 4px 14px 0;text-decoration:none!important;transition:background .15s,padding .2s var(--nx-ease)}
.nxl-si a:hover{background:var(--nx-bg3);padding-left:10px}
.nxl-si b{font-size:16px;font-weight:800;line-height:1.3}
.nxl-si small{grid-column:1;font-size:13.5px;color:var(--nx-ink3);line-height:1.45}
.nxl-si code{grid-column:2;grid-row:1/3;align-self:center;font-family:var(--nx-body);font-size:12px;font-weight:700;color:var(--nx-ink3);white-space:nowrap}
.nxl-si a:hover code{color:var(--nx-accent)}
.nxl-count{display:block;margin-top:6px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--nx-ink3)}
@media (max-width:1000px){.nxl-si{grid-template-columns:1fr}}
@media (max-width:560px){.nxl-si a{grid-template-columns:1fr}.nxl-si code{grid-column:1;grid-row:auto;margin-top:4px}}

/* ---------- search ---------- */
.nxl-sform{display:flex;max-width:780px;margin-top:clamp(26px,3vw,40px);background:#fff;box-shadow:0 30px 60px -40px rgba(0,0,0,.8)}
.nxl-sform input{flex:1;min-width:0;font:inherit;font-size:clamp(17px,1.6vw,21px);font-weight:600;padding:16px 18px;border:0;background:#fff;color:var(--nx-dark);border-radius:0}
.nxl-sform input:focus{outline:2px solid var(--nx-navy2);outline-offset:-2px}
.nxl-sform button{flex:none;border:0;cursor:pointer;font-family:inherit}
.nxl-sform .nx-btn{min-height:auto;padding:0 24px}
.nxl-count-l{margin-top:22px;font-size:15.5px;font-weight:600;color:var(--nx-ink2);max-width:760px}
#results{list-style:none;margin:0;padding:0;border-top:1px solid var(--nx-line2)}
#results:empty{border-top:0}
#results>li{border-bottom:1px solid var(--nx-line2)}
#results>li>a{display:block;padding:18px 0 0;font-size:clamp(18px,1.6vw,21px);font-weight:800;text-decoration:none!important}
#results>li>a::after{content:' \2192';color:var(--nx-accent);opacity:0;transition:opacity .15s}
#results>li>a:hover{text-decoration:underline!important;text-underline-offset:4px}
#results>li>a:hover::after{opacity:1}
#results>li>p{margin:6px 0 0;padding-bottom:18px;font-size:14.5px;line-height:1.6;color:var(--nx-ink2);max-width:80ch}
#results>li.sr-none{padding:22px 0}
#results>li.sr-none p{padding:0;color:var(--nx-ink)}
#results>li.sr-none ul{list-style:none;margin:12px 0 0;padding:0}
#results>li.sr-none li{position:relative;padding-left:22px;margin-top:8px;color:var(--nx-ink2);line-height:1.6}
#results>li.sr-none li::before{content:'';position:absolute;left:0;top:11px;width:10px;height:2px;background:var(--nx-red)}
#results>li.sr-none a{text-decoration:underline;color:var(--nx-ink);font-weight:700}

/* ---------- 404 ---------- */
.nxl-404n{font-family:var(--nx-disp);font-size:clamp(120px,22vw,320px);line-height:.8;letter-spacing:-.04em;color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.18);position:absolute;right:var(--nx-pad);top:clamp(20px,3vw,40px);pointer-events:none;user-select:none}
@media (max-width:700px){.nxl-404n{display:none}}
.nxl-go{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--nx-line2);border:1px solid var(--nx-line2)}
.nxl-go a{background:var(--nx-bg);padding:20px 18px;min-height:96px;display:flex;flex-direction:column;justify-content:space-between;gap:12px;font-weight:800;font-size:17px;text-decoration:none!important;transition:background .2s}
.nxl-go a::after{content:'\2192';font-size:18px;color:var(--nx-accent)}
.nxl-go a:hover{background:var(--nx-bg3)}
@media (max-width:900px){.nxl-go{grid-template-columns:1fr 1fr}}
body.nx .puckplay{margin-top:clamp(36px,4vw,56px);border:1px solid var(--nx-line2);
  background:linear-gradient(180deg,rgba(59,62,114,.38),rgba(59,62,114,.12)),
  repeating-linear-gradient(90deg,transparent 0 calc(20% - 1px),var(--nx-line) calc(20% - 1px) 20%)}
body.nx .puckplay::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:3px;margin-left:-1.5px;background:rgba(74,78,140,.75)}
body.nx .puckplay::after{content:'';position:absolute;left:50%;top:50%;width:110px;height:110px;margin:-55px 0 0 -55px;border:2px solid var(--nx-line2);border-radius:50%}
body.nx .pp-net{border-color:var(--nx-ink3);background:repeating-linear-gradient(45deg,var(--nx-line2) 0 5px,transparent 5px 10px);z-index:1}
body.nx .pp-puck{background:linear-gradient(180deg,#3A3F45,#0b0c0d);box-shadow:0 7px 14px -5px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.22);z-index:2}
body.nx .pp-hint{color:var(--nx-ink2);z-index:2}
body.nx .puckplay.scored .pp-hint::after{color:var(--nx-accent)}

/* ---------- apply: the wizard sits in a white card with light tokens ---------- */
.nxl-apply{padding:clamp(10px,2vw,24px) 0 clamp(48px,6vw,84px)}
.nxl-card{
  --bg:#FFFFFF;--rule:#D7DEEC;--ice:#F1F5FB;--icerule:#CBD5E9;--ember:#3B3E72;--ember2:#2A2D55;--ink:#14171B;--navy:#3B3E72;--navy2:#4A4E8C;
  --focus:#2F3BA8;--ok:#137A3A;--g-panel:#ECF0F7;--ink-rgb:0,0,0;color-scheme:light;
  background:#fff;color:#14171B;max-width:1080px;margin:0 auto;padding:clamp(18px,3.4vw,50px);
  box-shadow:0 50px 90px -56px rgba(0,0,0,.9);position:relative;z-index:1}
.nxl-card .wz-sec,.nxl-card .wz{background:transparent}
.nxl-card .wz-top{background:#fff}
@media (max-width:640px){.nxl-card{margin:0 calc(var(--nx-pad) * -1);padding:20px 16px 26px}}
.nxl-paper .nx-btns .nx-btn-o{font-family:inherit}
@media print{.nx-hero,.nxl-paper,.nx-lines{display:none!important}.nxl-card{box-shadow:none;padding:0}}
.nxl-sih{margin:0}
.nx-contact.nxl-c3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.nx-contact.nxl-c3{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.nx-contact.nxl-c3{grid-template-columns:1fr}}
.nx-contact.nxl-c3>a{min-height:220px;padding:26px}
/* main clips with overflow:hidden in nx.css, which disables sticky; clip does not */
body.nx main:has(.nx-toc){overflow:clip}
.nx-toc{top:100px;gap:0}
.nx-toc a{padding:4px 0 4px 12px;font-size:12.5px}
.nx-toc .nxl-toc-part{margin:12px 0 4px}
.nxl-lang summary [dir=rtl]{text-align:left}
.nx-sec.nxl-group{padding:clamp(28px,3.4vw,48px) 0}.nx-sec.nxl-group+.nxl-group{margin-top:0}
#results>li.sr-none{border-bottom:0!important;padding:24px 0 0!important}
#results>li.sr-none p{font-size:17px;font-weight:800;margin:0}
#results>li.sr-none ul li{border:0!important;padding:0 0 0 22px!important;font-size:15.5px;font-weight:600}
#results>li.sr-none ul a{font-size:inherit;line-height:inherit;color:var(--nx-ink)}
#results>li:not(.sr-none){padding:0!important}
.nxl-note a{text-decoration:underline;text-underline-offset:3px;color:var(--nx-ink)}
.nxl-404n{-webkit-text-stroke:1px var(--nx-line2);z-index:0;top:auto;bottom:-10px}
.nx-hero .nx-wrap>*:not(.nxl-404n){position:relative;z-index:1}

/* ---------- round 2: light theme, navy accents, spacing ---------- */
html[data-theme="light"] body.nx .nxl-sform{box-shadow:0 0 0 1px var(--nx-line2),0 24px 48px -36px rgba(20,23,27,.35)}
html[data-theme="light"] body.nx .nx-form.nxl-cf,
html[data-theme="light"] body.nx .nxl-card{box-shadow:0 0 0 1px var(--nx-line2),0 40px 80px -56px rgba(20,23,27,.35)}
.nxl-cf .chk input{accent-color:var(--nx-navy2)}
.nx-legal h2.nxl-part{border-top-color:var(--nx-navy2)}
.nxl-404n{-webkit-text-stroke-color:var(--nx-line2)}
.nx-toc .nxl-toc-part,.nxl-mtoc nav .nxl-toc-part{line-height:1.4}
@media (max-width:900px){.nxl-go a:last-child:nth-child(odd){grid-column:1/-1}}
.nx-sec:has(>.nx-wrap>#results){min-height:42vh;padding-bottom:clamp(48px,6vw,96px)}
.nxl-404n{top:clamp(30px,4vw,60px);bottom:auto;font-size:clamp(120px,15vw,230px)}
@media (max-width:1100px){.nxl-404n{display:none}}
.nxl-404n{display:none!important}
.nx-sec:has(>.nx-wrap>#results){min-height:22vh}
