@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url("/irie/fonts/inter-400.ttf") format("truetype");}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url("/irie/fonts/inter-600.ttf") format("truetype");}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url("/irie/fonts/inter-700.ttf") format("truetype");}
/* IRIE authentication presentation — aligned with the SHC marketing site. */
:root{color-scheme:light;--navy:#06152d;--blue:#0e5cf2;--ink:#0d2450;--muted:#32476f;--line:#dce3ef}
*{box-sizing:border-box}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;background:#fff;color:var(--ink);line-height:1.55}a{color:var(--blue);text-underline-offset:3px}button,input,select{font:inherit}button{cursor:pointer}[hidden]{display:none!important}
.skip-link{position:absolute;left:20px;top:-100px;z-index:3;background:white;padding:12px}.skip-link:focus{top:10px}
.auth-header{min-height:69px;background:var(--navy);border-bottom:1px solid #ffffff20;display:flex;justify-content:space-between;align-items:center;padding:12px max(24px,calc((100vw - 1248px)/2));gap:24px}.brand{display:block;flex-shrink:0;line-height:0}.brand img{display:block;width:238px;height:auto}.marketing-link{color:white;font-size:14px;font-weight:600;white-space:nowrap}.marketing-link:hover{color:#9dbbff}
.auth-hero{position:relative;background:#061632;color:white}.auth-hero::before{content:"";position:absolute;inset:0;background:url("/irie/images/branding/irie-marketing-hero.jpg?v=1.0.1") right center/auto 400px no-repeat;pointer-events:none}.hero-content{max-width:1248px;min-height:360px;margin:0 auto;display:flex;align-items:center;position:relative;padding:30px 24px;overflow:hidden}.hero-content h1{position:relative;z-index:1;max-width:740px;font-size:42px;line-height:1.27;font-weight:700;letter-spacing:-.6px;margin:0}
.auth-layout{max-width:1150px;margin:40px auto 44px;display:grid;grid-template-columns:1fr 1.06fr;align-items:start;gap:70px;padding:0 24px}.intro{padding:14px 0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.7px;color:var(--blue);margin:0 0 13px}.intro h2{font-size:29px;line-height:1.3;letter-spacing:-.5px;margin:0 0 21px}.intro>p{font-size:15px;color:var(--muted)}.benefits{list-style:none;padding:0;margin:25px 0}.benefits li{border-left:3px solid var(--blue);padding-left:16px;margin:22px 0}.benefits strong{font-size:15px}.benefits p{font-size:14px;color:var(--muted);margin:4px 0 0}.control-note{padding:17px 19px;border:1px solid var(--line);border-radius:5px;background:#f6f8fd;font-size:14px}.control-note p{margin:4px 0 0;color:var(--muted)}.intro .company-note{font-size:12px;margin-top:23px}
.access-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px 32px;box-shadow:0 6px 24px #0b152d08}.access-card h2{font-size:25px;line-height:1.25;margin:0 0 22px;letter-spacing:-.4px}.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:23px;gap:6px}.auth-tabs button{width:50%;border:0;border-bottom:3px solid transparent;padding:11px 10px;background:transparent;color:var(--muted);font-weight:700;margin-bottom:-1px}.auth-tabs button[aria-selected=true]{color:var(--blue);border-bottom-color:var(--blue);background:#f6f8ff}.auth-tabs button:hover{color:var(--blue)}.access-card h3{font-size:19px;margin:0 0 5px}.form-intro{font-size:14px;color:var(--muted);margin:0 0 21px}
label{display:block;font-size:13px;font-weight:600;margin:14px 0 6px}input,select{width:100%;min-height:45px;background:#fff;border:1px solid #b6c3d6;border-radius:5px;padding:10px 12px;color:var(--ink)}input:focus,select:focus{border-color:var(--blue)}:focus-visible{outline:3px solid #90b0ff;outline-offset:3px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field-help,.optional{font-size:12px;color:var(--muted);font-weight:400}.field-help{margin:5px 0 0}.primary-button{width:100%;border:0;border-radius:5px;background:var(--blue);color:#fff;font-weight:700;padding:12px 18px;margin-top:17px}.primary-button:hover{background:#0848ca}.primary-button:disabled{opacity:.65;cursor:wait}.form-message{color:#a32626;font-size:14px;margin:12px 0;min-height:0}.form-message:empty{display:none}.switch-note{text-align:center;font-size:13px;color:var(--muted);margin:23px 0}.text-button{border:0;background:none;color:var(--blue);padding:0;text-decoration:underline;text-underline-offset:3px;font-size:inherit}.access-note{text-align:center;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:17px;margin:24px 0 0}.future-plans{background:#f6f8fd;border:1px solid var(--line);padding:12px 15px;border-radius:5px;margin-top:20px;font-size:12px;color:var(--muted)}.future-plans summary{cursor:pointer;font-weight:600;color:var(--ink)}.future-plans fieldset{padding:0;border:0;margin:0}.future-plans select{background:#edf1f7;color:#627086;font-size:12px}.future-plans ul{padding-left:19px;line-height:1.9}.auth-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:20px max(24px,calc((100vw - 1150px)/2));font-size:11px;color:var(--muted)}
@media(max-width:1000px){.auth-layout{gap:36px}.hero-content h1{font-size:34px}.hero-content{min-height:320px}}
@media(max-width:700px){.auth-header{padding:14px 18px}.brand img{width:205px}.marketing-link{font-size:12px}.auth-hero::before{opacity:.18;background-size:auto 290px}.hero-content{min-height:250px;padding:38px 24px}.hero-content h1{font-size:clamp(26px,5.9vw,34px);line-height:1.33;max-width:550px;text-shadow:0 2px 8px #07152d}.auth-layout{display:flex;flex-direction:column;margin:26px auto;gap:27px;padding:0 18px}.intro{order:2;padding:0 6px}.intro h2{font-size:24px}.benefits{display:none}.access-card{width:100%;padding:24px}.auth-footer{flex-direction:column;gap:6px;padding:20px 24px}}
@media(max-width:370px){.brand img{width:172px}.marketing-link{font-size:11px}.access-card{padding:20px}.form-row{grid-template-columns:1fr;gap:0}}

/* Fade the image's own left edge into the hero navy, across every viewport. */
.auth-hero::before{
    inset:0 0 0 auto;
    width:1070px;
    max-width:100%;
    -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 26%,#000 100%);
    mask-image:linear-gradient(to right,transparent 0%,#000 26%,#000 100%);
}

/* Subscription enrollment: shared authentication layout and centralized styling. */
.enrollment-group{border:1px solid #d5dce4;border-radius:8px;padding:16px;margin:22px 0;min-width:0}
.enrollment-group legend{font-weight:700;padding:0 6px}
.enrollment-group select{width:100%;max-width:100%;padding:10px;border:1px solid #a8b6c6;border-radius:5px;background:#fff;color:#182f48;font:inherit}
.enrollment-check{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important}
.enrollment-check input[type=checkbox]{width:auto;flex:0 0 auto;margin-top:4px}
.enrollment-terms,.enrollment-resend p{font-size:.9rem;line-height:1.55}
.enrollment-resend{margin-top:22px}.enrollment-resend summary{cursor:pointer;font-weight:700}
.enrollment-verification{max-width:720px;margin:40px auto;padding:24px}
.enrollment-verification .access-card{width:100%}

.form-message.success{color:#12623a}.enrollment-check input[type=checkbox]{min-height:0;padding:0;width:18px;height:18px}

/* Standalone registration page. Sign-in keeps its existing compact layout. */
.auth-tabs a{display:block;width:50%;text-align:center;padding:11px 10px;color:var(--muted);font-weight:700;text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-1px}
.auth-tabs a.selected{color:var(--blue);border-bottom-color:var(--blue);background:#f6f8ff}
.auth-tabs a:hover{color:var(--blue)}
.registration-layout{max-width:1080px;margin:36px auto;padding:0 24px}
.registration-card{padding:30px 40px}.registration-card h1{font-size:30px;line-height:1.25;margin:16px 0}
.registration-card .enrollment-group{padding:20px 24px;margin:26px 0}
.registration-card .enrollment-terms{font-size:15px;line-height:1.65}
.registration-card .primary-button{max-width:460px;display:block;margin:22px auto 0}
.registration-card .enrollment-resend{border-top:1px solid var(--line);padding-top:22px}
.registration-card .enrollment-resend form{max-width:560px}
@media(max-width:700px){.registration-layout{padding:0 14px;margin:20px auto}.registration-card{padding:22px 18px}.registration-card .enrollment-group{padding:14px}.registration-card h1{font-size:26px}}

/* Prominent enrollment completion messages and next action. */
.enrollment-success{margin:24px 0;padding:30px 28px;border:2px solid #238253;border-radius:10px;background:#edf8f1;color:#123e2a;text-align:center;scroll-margin:24px}
.enrollment-success-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:#17653c;color:#fff;font-size:32px;font-weight:700;line-height:1;margin-bottom:16px}
.enrollment-success h1,.enrollment-success h2{margin:0 0 16px;font-size:28px;line-height:1.25;color:#123e2a;letter-spacing:-.4px}
.enrollment-success p{margin:12px 0;font-size:16px;overflow-wrap:anywhere}
.enrollment-success .enrollment-next-step{font-size:20px;font-weight:700;margin-top:22px}
.enrollment-success .enrollment-sign-in{display:block;max-width:360px;margin:20px auto 0;text-align:center;text-decoration:none;font-size:20px;padding:16px 22px;color:#fff;background:#0e5cf2}
.enrollment-success .enrollment-sign-in:hover{background:#0848ca}
@media(max-width:700px){.enrollment-success{padding:24px 18px}.enrollment-success h1,.enrollment-success h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.enrollment-success{scroll-behavior:auto}}
