/* Brilliosys Careers — shared styles (loads after styles.css + contact.css) */
:root{--u-sw:#2B5797;--u-sw-bg:#EAF0F9;--u-sw-dot:#8FB4F0;--u-el:#9A4F17;--u-el-bg:#FBF0E6;--u-el-dot:#F0A868;--u-ed:#0E6A63;--u-ed-bg:#E6F4F2;--u-ed-dot:#22C2B5;--err:#C9433F}
:where(a){color:inherit}:where(a:hover){color:var(--teal)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* unit badges */
.unit{--uc:var(--ink);--ubg:var(--mist);--udot:currentColor;display:inline-flex;align-items:center;gap:.45em;padding:.32em .75em;border-radius:100px;font-family:var(--font-display);font-weight:700;font-size:.74rem;letter-spacing:.02em;color:var(--uc);background:var(--ubg);white-space:nowrap}
.unit::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--udot)}
.unit--sw{--uc:var(--u-sw);--ubg:var(--u-sw-bg)}.unit--el{--uc:var(--u-el);--ubg:var(--u-el-bg)}.unit--ed{--uc:var(--u-ed);--ubg:var(--u-ed-bg)}
.unit.on-dark{--uc:#fff;--ubg:rgba(255,255,255,.09)}
.unit--sw.on-dark{--udot:var(--u-sw-dot)}.unit--el.on-dark{--udot:var(--u-el-dot)}.unit--ed.on-dark{--udot:var(--u-ed-dot)}

/* careers sub-nav */
.cnav{background:var(--paper);border-bottom:1px solid var(--line)}
.cnav .wrap{display:flex;align-items:center;gap:2px;overflow-x:auto;scrollbar-width:none}
.cnav .wrap::-webkit-scrollbar{display:none}
.cnav__label{font-family:var(--font-display);font-weight:800;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);padding-right:16px;margin-right:8px;border-right:1px solid var(--line);white-space:nowrap}
.cnav a{position:relative;padding:15px 12px;font-family:var(--font-display);font-weight:600;font-size:.9rem;color:var(--ink-soft);white-space:nowrap;transition:color .2s}
.cnav a:hover,.cnav a[aria-current="page"]{color:var(--ink)}
.cnav a[aria-current="page"]::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2.5px;border-radius:2px;background:var(--teal)}

/* page heroes */
.hero--page .hero__inner{padding-block:clamp(56px,9vh,96px) clamp(72px,11vh,120px)}
.hero--page h1{font-size:clamp(2.3rem,5.2vw,3.9rem);max-width:20ch}
.hero--careers .hero__inner{padding-block:clamp(72px,12vh,128px) clamp(88px,13vh,140px)}
.hero--careers h1{max-width:17ch}
.hero .crumbs a{color:var(--on-dark-soft)}
.hero .crumbs a:hover{color:#fff}

/* hero job search */
.jsearch{margin-top:2.2rem;display:flex;align-items:stretch;gap:6px;background:#fff;border-radius:18px;padding:6px;box-shadow:0 24px 60px -24px rgba(0,0,0,.6);max-width:780px;transition:box-shadow .25s}
.jsearch:focus-within{box-shadow:0 0 0 4px rgba(34,194,181,.35),0 24px 60px -24px rgba(0,0,0,.6)}
.jsearch__f{display:flex;align-items:center;gap:.65rem;padding:0 1rem;color:var(--ink-mute);flex:1;min-width:0}
.jsearch__f svg{width:19px;height:19px;flex:none}
.jsearch__f input,.jsearch__f select{border:0;background:transparent;font:inherit;font-size:1rem;font-weight:600;color:var(--ink);width:100%;padding:.95rem 0;outline:none;min-width:0}
.jsearch__f input::placeholder{color:var(--ink-mute);font-weight:500}
.jsearch__f select{cursor:pointer}
.jsearch__f--loc{flex:0 0 210px;border-left:1px solid var(--line)}
.jsearch .btn{border-radius:13px;padding-inline:1.5em;flex:none}
@media (max-width:680px){.jsearch{flex-direction:column}.jsearch__f--loc{flex:auto;border-left:0;border-top:1px solid var(--line)}.jsearch .btn{justify-content:center;padding-block:1em}}
.popular{margin-top:1.3rem;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--font-display);font-size:.88rem;font-weight:600;color:var(--on-dark-soft)}
.popular a{padding:.42em .95em;border-radius:100px;border:1px solid var(--line-dark-2);color:#fff;transition:background .2s,border-color .2s}
.popular a:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.4);color:#fff}

/* section heads */
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px 32px;flex-wrap:wrap;margin-bottom:2.4rem}
.shead h2{font-size:clamp(2rem,4.2vw,3rem);max-width:22ch}
.shead p{margin-top:.9rem;color:var(--ink-soft);font-size:1.1rem;max-width:54ch}
.band{background:var(--paper-2);border-block:1px solid var(--line)}

/* why */
.why__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,6vw,88px);align-items:start}
.why__intro{position:sticky;top:110px}
.why__intro h2{font-size:clamp(2rem,4.2vw,3rem)}
.why__intro p{margin-top:1.2rem;font-size:1.15rem;color:var(--ink-soft);max-width:40ch}
.why__cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.wcard{padding:28px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);display:flex;flex-direction:column;gap:.7rem;transition:box-shadow .35s var(--ease-out),border-color .25s}
.wcard:nth-child(2n){margin-top:44px}
.wcard:hover{box-shadow:var(--shadow);border-color:var(--line-strong)}
.wcard .cdetail__ico{margin-bottom:.6rem}
.wcard h3{font-size:1.3rem;letter-spacing:-.015em}
.wcard p{color:var(--ink-soft);line-height:1.6}
@media (max-width:1100px){.why__grid{grid-template-columns:1fr}.why__intro{position:static}}
@media (max-width:560px){.why__cards{grid-template-columns:1fr}.wcard:nth-child(2n){margin-top:0}}

/* role rows */
.rtabs{margin-bottom:1.4rem}
.jlist{display:flex;flex-direction:column;gap:12px}
.jrow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px 28px;padding:22px 26px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);color:inherit;animation:panelIn .5s var(--ease-out) both;animation-delay:calc(var(--i,0) * 45ms);transition:border-color .25s,box-shadow .3s,transform .3s var(--ease-out)}
.jrow:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-2px);color:inherit}
.jrow__top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.jrow__age{font-size:.84rem;color:var(--ink-mute);font-weight:600}
.jrow h3{font-size:clamp(1.12rem,1.8vw,1.32rem);margin-top:.6rem;letter-spacing:-.015em;transition:color .2s}
.jrow:hover h3{color:var(--teal-strong)}
.jrow__meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:.55rem;color:var(--ink-soft);font-size:.93rem;font-weight:600}
.jrow__meta span{display:inline-flex;align-items:center;gap:.4em}
.jrow__meta svg{width:15px;height:15px;color:var(--ink-mute)}
.jrow__type{font-family:var(--font-display);font-weight:700;font-size:.8rem;padding:.42em .9em;border-radius:100px;border:1.5px solid var(--line-strong);color:var(--ink);white-space:nowrap}
.jrow__type--intern{border-color:var(--ink);background:var(--ink);color:#fff}
.jrow__go{display:inline-flex;align-items:center;gap:.4em;font-family:var(--font-display);font-weight:700;font-size:.92rem;color:var(--teal);white-space:nowrap}
.jrow__go svg{width:1em;height:1em;transition:transform .3s var(--ease-out)}
.jrow:hover .jrow__go svg{transform:translateX(4px)}
@media (max-width:720px){.jrow{grid-template-columns:auto 1fr;padding:20px}.jrow__main{grid-column:1/-1}.jrow__go{justify-self:end}}

/* perks */
.perks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}
.perk{background:var(--paper);padding:30px 28px;display:flex;flex-direction:column;gap:.55rem;transition:background .3s}
.perk:hover{background:var(--paper-2)}
.perk .cdetail__ico{margin-bottom:.7rem}
.perk h3{font-size:1.2rem}
.perk p{color:var(--ink-soft);font-size:1rem;line-height:1.55}
@media (max-width:900px){.perks{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.perks{grid-template-columns:1fr}}

/* process steps */
.process{background:radial-gradient(900px 500px at 85% 0%,rgba(34,194,181,.13),transparent 55%),linear-gradient(180deg,var(--navy-900),var(--navy-950));color:var(--on-dark)}
.process h2{color:#fff}
.process .shead p{color:var(--on-dark-soft)}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;position:relative}
.steps::before{content:"";position:absolute;top:27px;left:28px;right:28px;height:1.5px;background:linear-gradient(90deg,var(--teal-bright),rgba(34,194,181,.12))}
.step{position:relative}
.step__n{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--navy-900);border:1.5px solid var(--teal-bright);color:#fff;font-family:var(--font-display);font-weight:800;font-size:1.1rem;position:relative;z-index:1;box-shadow:0 0 0 6px var(--navy-900)}
.step__k{display:block;margin-top:1.4rem;font-family:var(--font-display);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-bright)}
.step h3{color:#fff;font-size:1.35rem;margin-top:.45rem}
.step p{color:var(--on-dark-soft);margin-top:.6rem;font-size:1rem;line-height:1.6}
.step p a{color:#fff;font-weight:700;border-bottom:1px solid var(--line-dark-2)}
.steps--light::before{background:linear-gradient(90deg,var(--teal),var(--line))}
.steps--light .step__n{background:var(--paper);color:var(--ink);border-color:var(--teal);box-shadow:0 0 0 6px var(--paper)}
.steps--light .step__k{color:var(--teal)}
.steps--light .step h3{color:var(--ink)}
.steps--light .step p{color:var(--ink-soft)}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr;gap:40px 28px}.steps::before{display:none}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}

/* campus band */
.campus{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);border-radius:var(--radius-lg);overflow:hidden;background:var(--mist);border:1px solid var(--line)}
.campus__body{padding:clamp(32px,5vw,64px);display:flex;flex-direction:column;align-items:flex-start;gap:1.1rem}
.campus h2{font-size:clamp(1.9rem,3.8vw,2.7rem)}
.campus p{font-size:1.1rem;color:var(--ink-soft);max-width:44ch}
.campus__tracks{display:flex;flex-wrap:wrap;gap:8px}
.campus__media{position:relative;min-height:360px}
.campus__media image-slot{position:absolute;inset:0;width:100%;height:100%;display:block}
@media (max-width:880px){.campus{grid-template-columns:1fr}.campus__media{min-height:260px}}

/* faq note */
.faq__note{margin-top:1.2rem;color:var(--ink-soft);font-size:1.05rem;max-width:30ch}
.faq__note a{color:var(--teal);font-weight:700}

/* careers footer */
.site-footer .footer__top.footer__top--c{grid-template-columns:1.25fr .75fr .75fr 1.25fr}
.footer__addr{font-style:normal;font-size:.95rem;line-height:1.75;color:var(--on-dark-soft)}
.footer__addr b{display:block;color:#fff;font-family:var(--font-display);font-weight:600;margin-bottom:.3rem}
.footer__addr a{color:var(--on-dark-soft)}
.footer__addr a:hover{color:#fff}
.footer__eeo{max-width:62ch}
@media (max-width:920px){.site-footer .footer__top.footer__top--c{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.site-footer .footer__top.footer__top--c{grid-template-columns:1fr}}

/* jobs page tools */
.jtools{display:flex;flex-direction:column;gap:14px;margin-bottom:22px}
.fchips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fchips__k{font-family:var(--font-display);font-weight:700;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);margin-right:6px;min-width:5.5rem}
.fchip{display:inline-flex;align-items:center;gap:.5em;padding:.55em 1.05em;border-radius:100px;border:1.5px solid var(--line-strong);background:var(--paper);font-family:var(--font-display);font-weight:700;font-size:.88rem;color:var(--ink-soft);transition:background .2s,border-color .2s,color .2s}
.fchip:hover{border-color:var(--ink);color:var(--ink)}
.fchip .ct{font-size:.8em;color:var(--ink-mute)}
.fchip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.fchip[aria-pressed="true"] .ct{color:var(--on-dark-soft)}
.jtools__bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:16px;margin-top:4px;border-top:1px solid var(--line)}
.jcount{font-family:var(--font-display);font-weight:800;color:var(--ink)}
.jsort{display:flex;align-items:center;gap:.6rem;font-size:.92rem;color:var(--ink-mute);font-weight:600}
.jsort select,.selectish{font:inherit;font-weight:700;color:var(--ink);border:1.5px solid var(--line-strong);border-radius:10px;padding:.45em 2.1em .45em .8em;background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233F4C64' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right .65em center/14px;-webkit-appearance:none;appearance:none;cursor:pointer}
.jclear{font-family:var(--font-display);font-weight:700;font-size:.88rem;color:var(--teal);padding:.4em .2em}
.jclear:hover{color:var(--teal-strong)}
.jempty{text-align:center;padding:56px 24px;border:1.5px dashed var(--line-strong);border-radius:var(--radius-lg);background:var(--paper)}
.jempty h3{font-size:1.4rem}
.jempty p{margin:.6rem auto 1.4rem;color:var(--ink-soft);max-width:44ch}
.jempty a{color:var(--teal);font-weight:700}

/* job detail */
.jd-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:1.5rem}
.jd-meta span{display:inline-flex;align-items:center;gap:.5em;padding:.48em .95em;border-radius:100px;background:rgba(255,255,255,.06);border:1px solid var(--line-dark-2);font-weight:600;font-size:.92rem;color:#fff}
.jd-meta svg{width:15px;height:15px;color:var(--teal-bright)}
.jd-actions{margin-top:2rem;display:flex;gap:12px;flex-wrap:wrap}
.hero .jd-title{margin-top:1.2rem}
.jd{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:clamp(36px,5vw,72px);align-items:start}
@media (max-width:980px){.jd{grid-template-columns:1fr}}
.prose h2{font-size:1.5rem;margin:2.8rem 0 1.1rem;letter-spacing:-.02em}
.prose h2:first-child{margin-top:0}
.prose p{font-size:1.1rem;color:var(--ink-soft);line-height:1.7;max-width:64ch}
.prose ul{list-style:none;display:flex;flex-direction:column;gap:.8rem}
.prose li{position:relative;padding-left:2rem;color:var(--ink-soft);font-size:1.06rem;line-height:1.6}
.prose li::before{content:"";position:absolute;left:0;top:.2em;width:20px;height:20px;border-radius:50%;background:var(--u-ed-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2313877E' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") no-repeat center/11px}
.prose ul.plus li::before{background:var(--mist) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233F4C64' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") no-repeat center/10px}
.prose__about{margin-top:2.8rem;padding:26px 28px;border-radius:var(--radius);background:var(--paper-2);border:1px solid var(--line)}
.prose__about h2{margin:0 0 .6rem;font-size:1.15rem}
.prose__about p{font-size:1rem}
.jsum{position:sticky;top:96px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}
.jsum__head{padding:20px 24px;border-bottom:1px solid var(--line);font-family:var(--font-display);font-weight:800;font-size:1.05rem;color:var(--ink)}
.jsum dl{padding:6px 24px}
.jsum dl div{display:flex;justify-content:space-between;gap:1rem;padding:.78rem 0;border-bottom:1px dashed var(--line-strong)}
.jsum dl div:last-child{border-bottom:0}
.jsum dt{color:var(--ink-mute);font-size:.92rem;font-weight:600}
.jsum dd{font-weight:700;color:var(--ink);text-align:right;font-size:.95rem}
.jsum__cta{padding:6px 24px 24px}
.jsum__cta .btn{width:100%;justify-content:center}
.mailnote{margin-top:14px;padding:16px 18px;border-radius:12px;background:var(--paper-2);border:1px solid var(--line);font-size:.92rem;color:var(--ink-soft);line-height:1.55}
.mailnote b{display:block;color:var(--ink);font-family:var(--font-display);margin-bottom:.2rem}
.mailnote a{color:var(--teal);font-weight:700;overflow-wrap:anywhere}
.simgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:900px){.simgrid{grid-template-columns:1fr}}
.simcard{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:inherit;transition:box-shadow .3s,transform .3s var(--ease-out),border-color .25s}
.simcard:hover{box-shadow:var(--shadow);transform:translateY(-2px);border-color:var(--line-strong);color:inherit}
.simcard h3{font-size:1.15rem}
.simcard p{color:var(--ink-soft);font-size:.93rem;font-weight:600}
.simcard .jrow__go{margin-top:auto}
.applybar{position:fixed;left:0;right:0;bottom:0;z-index:95;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);box-shadow:0 -10px 30px -16px rgba(13,30,60,.25);transform:translateY(110%);transition:transform .4s var(--ease-out)}
.applybar.show{transform:none}
.applybar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px}
.applybar b{display:block;font-family:var(--font-display);font-weight:800;line-height:1.25;color:var(--ink)}
.applybar small{color:var(--ink-mute);font-weight:600;font-size:.85rem}
@media (min-width:981px){.applybar{display:none}}

/* benefits page */
.bgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:980px){.bgrid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.bgrid{grid-template-columns:1fr}}
.bcard{padding:30px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);transition:box-shadow .35s var(--ease-out),border-color .25s}
.bcard:hover{box-shadow:var(--shadow);border-color:var(--line-strong)}
.bcard .cdetail__ico{width:50px;height:50px;border-radius:14px;margin-bottom:1.2rem}
.bcard .cdetail__ico svg{width:23px;height:23px}
.bcard h2{font-size:1.35rem;letter-spacing:-.015em;margin-bottom:1rem}
.bnote{margin-top:28px;font-size:.95rem;color:var(--ink-mute);font-weight:500}

/* internships page */
.tracks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:980px){.tracks{grid-template-columns:1fr}}
.track{display:flex;flex-direction:column;gap:1rem;padding:30px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);transition:box-shadow .35s var(--ease-out)}
.track:hover{box-shadow:var(--shadow)}
.track h3{font-size:1.4rem;letter-spacing:-.02em}
.track p{color:var(--ink-soft);line-height:1.6}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{padding:.32em .75em;border-radius:8px;background:var(--mist);font-family:var(--font-display);font-weight:600;font-size:.8rem;color:var(--ink)}
.track__meta{margin-top:auto;padding-top:1rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.9rem;font-weight:700;color:var(--ink)}
.track__meta span{display:inline-flex;align-items:center;gap:.4em}
.track__meta svg{width:15px;height:15px;color:var(--teal)}
.elig{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:820px){.elig{grid-template-columns:1fr}}
.elig__card{padding:clamp(26px,3.5vw,40px);border-radius:var(--radius-lg);background:var(--paper);border:1px solid var(--line)}
.elig__card--dark{background:linear-gradient(160deg,var(--navy-900),var(--navy-950));border-color:transparent}
.elig__card h2{font-size:clamp(1.5rem,2.6vw,1.9rem);margin-bottom:1.4rem}
.elig__card--dark h2{color:#fff}
.elig__card--dark.prose li{color:var(--on-dark-soft)}
.elig__card--dark.prose li::before{background-color:rgba(34,194,181,.16);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322C2B5' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E")}

/* =================== APPLY =================== */
.apage{background:var(--paper-2)}
.ahead{display:flex;flex-direction:column;align-items:flex-start;padding-block:clamp(32px,5vw,56px) clamp(24px,3vw,36px)}
.back{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-display);font-weight:700;font-size:.92rem;color:var(--ink-soft)}
.back svg{width:17px;height:17px;transition:transform .3s var(--ease-out)}
.back:hover svg{transform:translateX(-3px)}
.ahead .eyebrow{margin-top:1.6rem}
.ahead h1{font-size:clamp(2rem,4.4vw,3.1rem);margin-top:.7rem;max-width:24ch}
.ahead p{margin-top:.8rem;color:var(--ink-soft);font-size:1.08rem;font-weight:500}
.ahead p a{color:var(--teal);font-weight:700}
.alayout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:start;padding-bottom:clamp(72px,9vw,120px)}
@media (max-width:980px){.alayout{grid-template-columns:1fr}}
.aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:14px}
@media (max-width:980px){.aside{position:static}.snav,.aside .mailnote{display:none}}
.afor{position:relative;overflow:hidden;border-radius:var(--radius-lg);padding:22px;color:var(--on-dark);background:radial-gradient(320px 220px at 100% 0%,rgba(34,194,181,.22),transparent 60%),linear-gradient(160deg,var(--navy-900),var(--navy-950))}
.afor__k{font-family:var(--font-display);font-weight:700;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-bright)}
.afor h2{color:#fff;font-size:1.22rem;margin-top:.7rem;letter-spacing:-.015em;line-height:1.2}
.afor p{color:var(--on-dark-soft);font-size:.9rem;margin-top:.4rem;font-weight:500}
.afor__id{margin-top:14px;display:inline-flex;gap:.5em;padding:.38em .75em;border-radius:8px;background:rgba(255,255,255,.08);font-family:var(--font-display);font-weight:700;font-size:.78rem;color:#fff}
.afor__id span{color:var(--on-dark-mute);font-weight:600}
.snav{list-style:none;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:8px}
.snav li{position:relative}
.snav li:not(:last-child)::after{content:"";position:absolute;left:26px;top:46px;bottom:-6px;width:1.5px;background:var(--line)}
.snav li.is-done:not(:last-child)::after{background:var(--teal)}
.snav button{position:relative;z-index:1;display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:center;width:100%;text-align:left;padding:10px;border-radius:12px;color:var(--ink-soft);transition:background .2s}
.snav button:not(:disabled):hover{background:var(--paper-2)}
.snav button:disabled{cursor:default}
.snav__i{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--line-strong);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:.82rem;color:var(--ink-mute);background:var(--paper)}
.snav__i svg{width:15px;height:15px;display:none}
.snav__t{font-family:var(--font-display);font-weight:700;font-size:.9rem;line-height:1.25}
.snav__t small{display:block;font-family:var(--font-body);font-weight:500;font-size:.78rem;color:var(--ink-mute);margin-top:2px}
.snav li.is-current button{background:var(--mist);color:var(--ink)}
.snav li.is-current .snav__i{border-color:var(--teal);background:var(--teal);color:#fff}
.snav li.is-done .snav__i{border-color:var(--teal);color:var(--teal)}
.snav li.is-done .snav__i b{display:none}
.snav li.is-done .snav__i svg{display:block}
.snav li.is-done button{color:var(--ink)}
.acard{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;min-width:0}
.acard__top{padding:20px clamp(22px,3vw,36px) 0;display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:var(--font-display);font-weight:700;font-size:.84rem;color:var(--ink-mute)}
.acard__top b{color:var(--ink)}
.aprog{margin:12px clamp(22px,3vw,36px) 0;height:5px;background:var(--mist);border-radius:5px;overflow:hidden}
.aprog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--teal),var(--teal-bright));border-radius:inherit;transition:width .5s var(--ease-out)}
.restore{display:none;margin:16px clamp(22px,3vw,36px) 0;padding:12px 16px;border-radius:12px;background:var(--u-ed-bg);color:var(--u-ed);font-size:.92rem;font-weight:600;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.restore.show{display:flex}
.restore button{font-family:var(--font-display);font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.astep{display:none;padding:clamp(22px,3vw,36px)}
.astep.is-active{display:block;animation:panelIn .45s var(--ease-out)}
.astep__head{margin-bottom:28px}
.astep__k{font-family:var(--font-display);font-weight:700;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.astep__head h2{font-size:clamp(1.55rem,2.6vw,2rem);margin-top:.5rem}
.astep__head p{margin-top:.5rem;color:var(--ink-soft);font-weight:500}
.fset{border:0;padding:0;margin:0;min-width:0}
.fset legend{float:left;width:100%;font-family:var(--font-display);font-weight:800;font-size:1.1rem;color:var(--ink);padding:0;margin-bottom:18px;display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}
.fset legend + *{clear:both}
.fset legend small{font-family:var(--font-body);font-weight:500;font-size:.86rem;color:var(--ink-mute)}
.fgrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px 16px}
.fgrid > .field{margin:0;grid-column:span 3;min-width:0}
.fgrid > .s2{grid-column:span 2}.fgrid > .s4{grid-column:span 4}.fgrid > .s6{grid-column:1/-1}
@media (max-width:640px){.fgrid > .field,.fgrid > .s2,.fgrid > .s4{grid-column:1/-1}}
.field .hint{font-size:.82rem;color:var(--ink-mute);margin-top:.4rem;font-weight:500}
.cp .field label,.field .lbl{display:block;font-family:var(--font-display);font-weight:700;font-size:.84rem;color:var(--ink);margin-bottom:.5rem}
.field .lbl .req{color:var(--teal)}
.field input[type=radio],.field input[type=checkbox]{width:18px;height:18px;padding:0;border:0;background:none;box-shadow:none;accent-color:var(--teal);flex:none;margin-top:2px}
.cp .field select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233F4C64' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85em center;background-size:14px;padding-right:2.4em}
.field input[readonly]{background:var(--mist);color:var(--ink-soft);cursor:default}
.field input[type=date],.field input[type=month]{min-height:3.05em}
.choices{display:flex;flex-wrap:wrap;gap:10px}
.cp .field label.choice{display:flex;align-items:flex-start;gap:.7rem;margin:0;padding:.85rem 1rem;border:1.5px solid var(--line);border-radius:12px;background:var(--paper-2);cursor:pointer;font-family:var(--font-body);font-weight:700;font-size:.96rem;color:var(--ink);flex:1 1 180px;transition:border-color .2s,background .2s}
.cp .field label.choice:hover{border-color:var(--line-strong)}
.choice small{display:block;font-weight:500;color:var(--ink-mute);font-size:.83rem;margin-top:2px}
.cp .field label.choice:has(input:checked){border-color:var(--teal);background:rgba(19,135,126,.06)}
.choices--yn .choice{flex:0 0 auto !important;min-width:112px}
.field.invalid label.choice{border-color:#D9534F}
.check{display:flex;align-items:flex-start;gap:.7rem;cursor:pointer;font-size:.95rem;color:var(--ink-soft);font-weight:500;line-height:1.5}
.cp .field label.check{font-family:var(--font-body);font-weight:500;font-size:.95rem;color:var(--ink-soft);margin:0;display:flex}
.check b{color:var(--ink)}
.inline-check{margin:-4px 0 18px}
.score{display:flex}
.score input{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important;min-width:0}
.cp .field .score select{width:auto;flex:none;border-left:0;border-top-left-radius:0;border-bottom-left-radius:0;font-weight:700;padding-left:.8em}
.prefix{display:flex}
.prefix span{display:flex;align-items:center;padding:0 .9em;border:1.5px solid var(--line);border-right:0;border-radius:11px 0 0 11px;background:var(--mist);font-weight:700;color:var(--ink);font-size:.95rem}
.prefix input{border-radius:0 11px 11px 0 !important;min-width:0}
.unit-suffix{position:relative}
.unit-suffix input{padding-right:3.4em}
.unit-suffix span{position:absolute;right:.95em;top:50%;transform:translateY(-50%);font-weight:700;font-size:.85rem;color:var(--ink-mute);pointer-events:none}
.calc{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px;padding:14px 18px;border-radius:12px;background:var(--mist);font-family:var(--font-display);font-weight:700;font-size:.92rem;color:var(--ink-soft)}
.calc b{font-size:1.15rem;color:var(--ink);font-weight:800}
.note{display:flex;gap:.8rem;align-items:flex-start;padding:16px 18px;border-radius:12px;background:var(--paper-2);border:1px solid var(--line);color:var(--ink-soft);font-weight:500;font-size:.95rem}
.note svg{width:20px;height:20px;color:var(--teal);flex:none;margin-top:1px}
.emp{position:relative;padding:20px;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.emp + .emp{margin-top:14px}
.emp__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-family:var(--font-display);font-weight:800;font-size:.98rem;color:var(--ink)}
.emp__rm{display:inline-flex;align-items:center;gap:.4em;font-family:var(--font-display);font-weight:700;font-size:.84rem;color:var(--ink-mute)}
.emp__rm:hover{color:var(--err)}
.emp__rm svg{width:15px;height:15px}
.addbtn{margin-top:14px;display:inline-flex;align-items:center;gap:.5em;padding:.7em 1.1em;border-radius:12px;border:1.5px dashed var(--line-strong);font-family:var(--font-display);font-weight:700;font-size:.9rem;color:var(--ink)}
.addbtn:hover{border-color:var(--teal);color:var(--teal)}
.addbtn svg{width:16px;height:16px}
.drop{display:flex;align-items:center;gap:16px;padding:20px;border:1.5px dashed var(--line-strong);border-radius:var(--radius);background:var(--paper-2);cursor:pointer;transition:border-color .2s,background .2s}
.drop:hover,.drop.over{border-color:var(--teal);background:rgba(19,135,126,.05)}
.field.invalid .drop{border-color:#D9534F;background:#FEF6F6}
.drop__ico{width:48px;height:48px;border-radius:12px;background:var(--paper);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--teal);flex:none;overflow:hidden}
.drop__ico svg{width:22px;height:22px}
.drop__ico img{width:100%;height:100%;object-fit:cover}
.drop__t{flex:1;min-width:0}
.drop__t b{display:block;font-family:var(--font-display);font-weight:700;color:var(--ink);font-size:.98rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drop__t span{font-size:.85rem;color:var(--ink-mute);font-weight:500}
.drop__t u{color:var(--teal);text-decoration:none;font-weight:700}
.drop__x{display:none;width:34px;height:34px;border-radius:50%;align-items:center;justify-content:center;color:var(--ink-mute);flex:none}
.drop__x:hover{background:var(--mist);color:var(--err)}
.drop__x svg{width:16px;height:16px}
.drop.has .drop__x{display:flex}
.drop.has{border-style:solid;border-color:var(--teal);background:var(--paper)}
.sig__tabs{display:inline-flex;gap:2px;padding:4px;border-radius:100px;background:var(--mist);margin-bottom:12px}
.sig__tabs button{padding:.45em 1.1em;border-radius:100px;font-family:var(--font-display);font-weight:700;font-size:.85rem;color:var(--ink-mute)}
.sig__tabs button[aria-selected="true"]{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-sm)}
.sig__pad{position:relative;height:170px;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--paper) linear-gradient(var(--line-strong),var(--line-strong)) no-repeat 24px calc(100% - 44px)/calc(100% - 48px) 1px}
.field.invalid .sig__pad{border-color:#D9534F}
.sig__pad canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;border-radius:inherit}
.sig__hint{position:absolute;left:24px;bottom:16px;font-size:.8rem;color:var(--ink-mute);font-weight:600;pointer-events:none}
.sig__clear{position:absolute;right:12px;top:12px;font-family:var(--font-display);font-weight:700;font-size:.8rem;color:var(--ink-mute);padding:.35em .7em;border-radius:8px;background:var(--paper-2);border:1px solid var(--line)}
.sig__clear:hover{color:var(--ink)}
.sig__typed{margin-top:12px;height:100px;display:flex;align-items:center;padding:0 24px;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--paper);font-family:'Caveat',cursive;font-size:2.6rem;color:var(--ink);overflow:hidden;white-space:nowrap}
.sig__typed:empty::before{content:"Your signature preview";font-family:var(--font-body);font-size:.95rem;color:var(--ink-mute)}
.afoot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:18px clamp(22px,3vw,36px);border-top:1px solid var(--line);background:var(--paper-2)}
.afoot__save{font-size:.85rem;color:var(--ink-mute);font-weight:600;display:inline-flex;gap:.45em;align-items:center}
.afoot__save svg{width:15px;height:15px;color:var(--teal)}
.afoot__btns{display:flex;gap:10px;margin-left:auto}
.btn[disabled]{opacity:.65;pointer-events:none}
.review{display:flex;flex-direction:column;gap:14px}
.rv{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.rv__head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;background:var(--paper-2);border-bottom:1px solid var(--line);font-family:var(--font-display);font-weight:800;color:var(--ink)}
.rv__edit{display:inline-flex;align-items:center;gap:.4em;font-family:var(--font-display);font-weight:700;font-size:.85rem;color:var(--teal)}
.rv__edit svg{width:14px;height:14px}
.rv__body{padding:6px 18px 14px}
.rv__body h4{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);margin:14px 0 4px;font-weight:700}
.rv dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
@media (max-width:640px){.rv dl{grid-template-columns:1fr}}
.rv dl div{padding:.55rem 0;border-bottom:1px dashed var(--line);display:flex;flex-direction:column;gap:2px;min-width:0}
.rv dt{font-size:.8rem;color:var(--ink-mute);font-weight:600}
.rv dd{font-weight:700;color:var(--ink);font-size:.95rem;overflow-wrap:anywhere}
.rv dd img{height:44px;width:auto}
.submit-note{margin-top:18px;font-size:.9rem;color:var(--ink-soft);font-weight:500}

/* received */
.done{max-width:720px;margin-inline:auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:clamp(28px,5vw,56px)}
.done__check{width:68px;height:68px;border-radius:50%;background:var(--u-ed-bg);color:var(--teal);display:flex;align-items:center;justify-content:center;margin-bottom:22px;animation:pop .6s var(--ease-out) both}
.done__check svg{width:32px;height:32px}
@keyframes pop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
.done h1{font-size:clamp(2rem,4.4vw,2.8rem)}
.done > p{margin-top:.8rem;color:var(--ink-soft);font-size:1.1rem;font-weight:500}
.refs{margin-top:28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.refs div{padding:16px 18px;background:var(--paper-2)}
.refs div + div{border-left:1px solid var(--line)}
.refs dt{font-size:.78rem;color:var(--ink-mute);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.refs dd{margin-top:.3rem;font-family:var(--font-display);font-weight:800;color:var(--ink)}
@media (max-width:560px){.refs{grid-template-columns:1fr}.refs div + div{border-left:0;border-top:1px solid var(--line)}}
.next{margin-top:34px}
.next h2{font-size:1.25rem;margin-bottom:1rem}
.next ol{list-style:none;display:flex;flex-direction:column;gap:16px}
.next li{display:grid;grid-template-columns:34px 1fr;gap:14px}
.next li > span{width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:.88rem}
.next b{display:block;font-family:var(--font-display);color:var(--ink)}
.next p{color:var(--ink-soft);font-size:.98rem;margin-top:.15rem}
.done__btns{margin-top:34px;display:flex;flex-wrap:wrap;gap:12px}

.crumbs{flex-wrap:wrap}
.jtools__left{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.bcard.prose h2{margin:0 0 1rem}
.track .unit{align-self:flex-start}
.footer__endorse:hover{color:#fff}
[hidden]{display:none !important}
.astep .fset{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}
.astep__head{margin-bottom:4px}
.astep .cond > .note{margin-top:22px}
.fgrid > .cond{grid-column:span 3;min-width:0}
.fgrid > .cond.s6{grid-column:1/-1}
.cond > .field{margin:0}
@media (max-width:640px){.fgrid > .cond{grid-column:1/-1}}
.fgrid > .field--check{align-self:end;padding-bottom:.85rem}
.check input{width:18px;height:18px;accent-color:var(--teal);margin-top:2px;flex:none}
.inline-check .check b{color:var(--ink)}
.calc{margin-top:16px}
.cp .field label.drop{display:flex;margin:0;font-family:var(--font-body);font-weight:500;font-size:1rem;color:inherit}
.field input.sr-only{width:1px;height:1px;padding:0;border:0}
.campus .unit{--ubg:#fff;box-shadow:0 0 0 1px var(--line)}

.campus__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
