/* Website tokens and fonts; every asset is served from this origin. */
@font-face{font-family:Plex;src:url('fonts/IBMPlexSans-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Plex;src:url('fonts/IBMPlexSans-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Plex;src:url('fonts/IBMPlexSans-SemiBold.woff2') format('woff2');font-weight:600 900;font-display:swap}
@font-face{font-family:PlexMono;src:url('fonts/IBMPlexMono-Regular.woff2') format('woff2');font-display:swap}
@font-face{font-family:Charter;src:url('fonts/charter-roman.ttf') format('truetype');font-weight:400;font-display:swap}
:root{color-scheme:light;--navy:#f2f6fc;--surface:#ffffff;--raised:#e6edf6;--ink:#080f20;--muted:#46566d;--line:#74849c;--cyan:#006570;--input:#ffffff;--button-ink:#ffffff;--hover:#004e58;--intro:#34455c;--danger:#a01d39;--pdf:#a01d39;--png:#6740a0;--xlsx:#206645;--mp4:#8e4a0a;--radius:6px;font:400 18px/1.55 Plex,Arial,sans-serif}
:root[data-theme=dark]{color-scheme:dark;--navy:#080f20;--surface:#0d1930;--raised:#14223b;--ink:#f2f6fc;--muted:#b9c6d8;--line:#73839b;--cyan:#70e6f2;--input:#081223;--button-ink:#081425;--hover:#b5f6fb;--intro:#d7e1ed;--danger:#ff9daf;--pdf:#ff9daf;--png:#c9afff;--xlsx:#90e2bd;--mp4:#ffc489}
@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--navy:#080f20;--surface:#0d1930;--raised:#14223b;--ink:#f2f6fc;--muted:#b9c6d8;--line:#73839b;--cyan:#70e6f2;--input:#081223;--button-ink:#081425;--hover:#b5f6fb;--intro:#d7e1ed;--danger:#ff9daf;--pdf:#ff9daf;--png:#c9afff;--xlsx:#90e2bd;--mp4:#ffc489}}
*{box-sizing:border-box}body{margin:0;background:var(--navy);color:var(--ink)}
a{color:var(--cyan);text-underline-offset:.22em;text-decoration-thickness:1px}a:hover{color:var(--hover)}
header{max-width:760px;margin:auto;padding:28px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:9px;flex:none}.brand img{object-fit:contain;display:block}.brand img:first-child{width:35px;height:41px}.brand img:last-child{width:151px;height:39px}
header a{display:inline-flex;align-items:center;min-height:44px;font-size:15px}
main{width:min(760px,100%);margin:0 auto 56px;padding:36px 24px 0}main.utility{max-width:608px;padding-top:52px}
h1{font:400 clamp(34px,5vw,48px)/1.1 Charter,Georgia,serif;letter-spacing:-.025em;margin:12px 0 24px;text-wrap:balance}p{margin:0 0 18px;max-width:66ch}
.eyebrow{font:13px/1.5 PlexMono,monospace;color:var(--muted);margin-bottom:14px}.intro{font-size:20px;color:var(--intro)}.identity,.receipt{padding:14px 18px;background:var(--raised);border:1px solid var(--line);border-radius:var(--radius);overflow-wrap:anywhere;font-size:15px}
fieldset{min-width:0;border:0;border-top:1px solid var(--line);margin:40px 0 0;padding:24px 0 0}legend{font:400 27px/1.3 Charter,Georgia,serif;padding:0 16px 0 0;color:var(--ink)}
.grid{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}label{display:block;font-size:16px;line-height:1.5;margin:12px 0 20px}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea{display:block;width:100%;margin-top:8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--input);color:var(--ink);font:inherit;min-height:48px;padding:12px 14px}textarea{resize:vertical}
input[type=checkbox],input[type=radio]{width:20px;height:20px;flex:none;margin:3px 12px 0 0;accent-color:var(--cyan)}.choice{display:flex;align-items:flex-start;min-height:44px;padding:10px 0;margin:0;cursor:pointer}.choice span{min-width:0}strong{font-weight:600}small{display:block;font-size:15px;line-height:1.5;color:var(--muted);margin-top:4px}
.basis{border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin:28px 0}.basis legend{font-size:23px}
button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;background:var(--cyan);color:var(--button-ink);border:1px solid var(--cyan);border-radius:var(--radius);padding:14px 22px;font:500 18px/1.25 Plex,Arial,sans-serif;cursor:pointer;text-decoration:none;margin-top:24px;text-align:center}
button:hover,.button:hover{background:var(--hover);color:var(--button-ink);border-color:var(--hover)}.provider-choices{display:grid;gap:14px;margin-top:28px}.provider-choices .button{width:100%;margin:0}.button-secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.button-secondary:hover{background:var(--raised);color:var(--ink);border-color:var(--cyan)}
.text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:20px}
:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}footer{border-top:1px solid var(--line);margin-top:40px;padding-top:22px;font-size:13px;color:var(--muted)}
.skip{position:absolute;left:16px;top:-90px;background:var(--cyan);color:var(--navy);padding:12px;z-index:10}.skip:focus{top:10px}
@media(max-width:650px){header{padding:20px;gap:12px}main{padding:28px 20px 0;margin-bottom:40px}main.utility{padding-top:36px}.intro{font-size:18px}.basis{padding:16px}h1{font-size:36px}legend{font-size:25px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Form sections use the restyle's tokens, typography and spacing. */
[hidden]{display:none!important}select{display:block;width:100%;margin-top:8px;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--input);color:var(--ink);font:inherit}
h2{font:400 27px/1.3 Charter,Georgia,serif;margin:0 0 20px;overflow-wrap:anywhere}
.form-section{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}
.form-section>fieldset:first-of-type{margin-top:24px}
.person{margin-top:24px}.person legend{font-size:23px}
.section-progress{position:sticky;top:0;z-index:2;background:var(--navy);padding:12px 0;border-bottom:1px solid var(--line);font-size:16px}
.section-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.section-nav button{font-size:15px;min-width:44px;min-height:44px;padding:8px 12px;margin:0;background:var(--surface);color:var(--ink);border-color:var(--line)}
.section-nav button[aria-current=step]{border-color:var(--cyan)}
.section-actions{display:flex;flex-wrap:wrap;gap:12px}.signout{max-width:210px}.signout small{font-size:12px}
.follow-up{padding:14px;border-left:3px solid var(--cyan);background:var(--surface)}
@media(max-width:650px){header{align-items:flex-start;flex-wrap:wrap}.signout{max-width:none;width:100%}.signout a{min-width:80px}.section-actions button{flex:1}h2{font-size:25px}}


.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Item 140: restrained finish, natural asset proportions and a shared theme control. */
header{max-width:840px;flex-wrap:wrap;padding:30px 28px;gap:20px}
.brand{gap:10px;padding:12px 16px;background:#080f20;border-radius:6px;max-width:100%}
.brand img:first-child{width:77px;height:auto}.brand img:last-child{width:238px;height:auto}
main{width:min(800px,100%);padding-top:40px}.eyebrow{letter-spacing:.12em}.intro{line-height:1.6}
.form-section{margin-top:32px;padding-top:28px}.form-section>h2{border-left:3px solid var(--cyan);padding-left:16px}
.section-progress{border:1px solid var(--line);border-left:4px solid var(--cyan);border-radius:var(--radius);background:var(--raised);padding:14px 18px;margin-top:18px;font-weight:500}
.section-nav{gap:10px}.section-nav button[aria-current=step]{background:var(--raised);box-shadow:inset 0 -3px var(--cyan)}
button,.button{padding:13px 22px;min-height:48px}.theme-toggle{margin:0;padding:10px 16px;min-height:44px;font-size:15px;background:var(--surface);color:var(--ink);border-color:var(--line)}
.theme-toggle:hover{background:var(--raised);color:var(--ink);border-color:var(--cyan)}
.skip{color:var(--button-ink)}
@media(max-width:650px){header{padding:20px;gap:16px}.brand{padding:10px;gap:8px}.brand img:first-child{width:61.56px}.brand img:last-child{width:190.68px}main{padding:28px 20px 0}.signout{width:auto}.section-progress{padding:12px 14px}.theme-toggle{margin-left:auto}}

/* Item 143: page header, progress, actions and a quiet footer. */
header{flex-wrap:nowrap;align-items:center}.brand{min-width:0}
.progress-and-save{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:24px}
.progress-and-save .section-progress{position:static;margin:0;flex:1 1 230px}
.progress-and-save #save-note{flex:1 1 250px;margin:0;color:var(--muted);font-size:15px}
#last-save{margin-top:14px;color:var(--muted);font-size:15px}
.main-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:28px}
.main-actions .section-actions,.confirmation-section{display:contents}
.confirmation-fields{flex-basis:100%;border-top:1px solid var(--line);padding-top:28px}
.confirmation-fields>h2{border-left:3px solid var(--cyan);padding-left:16px}
.main-actions button{margin-top:0}.main-actions .section-actions button{flex:none}
.page-footer{clear:both;margin-top:56px;padding:24px 0 8px}
.page-footer [data-signout]{display:inline-flex;align-items:center;min-height:48px;padding:12px 8px;margin:0 0 20px;font-size:16px;font-weight:400}
.page-footer p{margin:0;color:var(--muted);font-size:13px}
@media(max-width:650px){header{gap:12px}.brand{padding:10px;gap:8px}.brand img:first-child{width:43px}.brand img:last-child{width:133px}.theme-toggle{flex:none;padding:10px 12px}.main-actions{align-items:stretch}.main-actions button,.main-actions .section-actions button{flex:1 1 auto}.progress-and-save{gap:12px}.page-footer{margin-top:44px}}

.page-footer [data-action]{margin:0 0 24px}.page-footer [data-action][href^="/oauth2/sign_out"]{min-height:48px;padding:12px 8px;border:0;background:transparent;color:var(--cyan);font-size:16px;font-weight:400;text-decoration:underline;text-underline-offset:.22em}

/* Round 3: approved light artwork follows the already resolved theme before paint. */
.brand{background:transparent}
header .brand picture:first-child img{content:url('genesis-icon-silver.png')}
header .brand picture:last-child img{content:url('genesis-name-silver.png')}
:root[data-theme=dark] .brand{background:#080f20}
:root[data-theme=dark] .brand img{content:normal}
@media(prefers-color-scheme:dark){:root:not([data-theme]) .brand{background:#080f20}:root:not([data-theme]) .brand img{content:normal}}
/* Short sign-in and refusal content centres in the space beneath the header.
   Auto margins collapse when content is taller than the available screen. */
.utility-page{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
.utility-page>header{width:min(840px,100%);margin:0 auto;flex:none}
.utility-page>main.utility{margin:auto;padding-top:40px;padding-bottom:40px;flex:none}
@media(max-width:650px){.utility-page>main.utility{padding-top:28px;padding-bottom:28px}}

/* R1B screen rules rebased onto the current live stylesheet. */
@font-face{font-family:Inter;src:url("/oauth2/intake-assets/fonts/inter-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url("/oauth2/intake-assets/fonts/inter-latin-600-normal.woff2") format("woff2");font-weight:500 700;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("/oauth2/intake-assets/fonts/IBMPlexSans-Medium.woff2") format("woff2");font-style:normal;font-weight:500 700;font-display:swap}
:root{color-scheme:light;--navy:#f2f6fc;--surface:#ffffff;--raised:#e6edf6;--ink:#152136;--muted:#4e5e72;--line:#4e5e72;--cyan:#70e6f2;--control-line:#4e5e72;--input:#ffffff;--button-ink:#081425;--hover:#152136;--intro:#34455c;--danger:#a01d39;--radius:4px;font:400 18px/1.55 Inter,Arial,sans-serif}
:root[data-theme=dark]{color-scheme:dark;--navy:#080f20;--surface:#0d1930;--raised:#14223b;--ink:#f2f6fc;--muted:#b9c6d8;--line:#73839b;--control-line:var(--line);--cyan:#70e6f2;--input:#081223;--button-ink:#081425;--hover:#b5f6fb;--intro:#d7e1ed;--danger:#ff9daf}
@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--navy:#080f20;--surface:#0d1930;--raised:#14223b;--ink:#f2f6fc;--muted:#b9c6d8;--line:#73839b;--control-line:var(--line);--cyan:#70e6f2;--input:#081223;--button-ink:#081425;--hover:#b5f6fb;--intro:#d7e1ed;--danger:#ff9daf}}
body{min-width:0;background:var(--navy);color:var(--ink);font:400 18px/1.55 Inter,Arial,sans-serif}
:root:not([data-theme]) a,:root[data-theme=light] a{color:#155979}
:root[data-theme=dark] a{color:#70e6f2}
@media(prefers-color-scheme:dark){:root:not([data-theme]) a{color:#70e6f2}}
header{width:100%;max-width:none;margin:0;padding-left:max(calc((100vw - 840px)/2 + 28px),20px);padding-right:max(calc((100vw - 840px)/2 + 28px),20px);display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px;background:#080f20;color:#f2f6fc;border-bottom:1px solid #32445e}
header .brand{display:flex;align-items:center;gap:8px;min-width:0;flex:none;padding:0;background:transparent;border:0;border-radius:0}
header .brand picture{display:block;flex:none}
header .brand picture:first-child{width:77px}
header .brand picture:last-child{width:238px}
header .brand picture img{display:block;width:100%!important;height:auto;object-fit:contain;content:normal}
header .brand picture:first-child img{aspect-ratio:513/400}
header .brand picture:last-child img{aspect-ratio:151/39}
header .theme-toggle{flex:none;min-height:44px;margin:0;padding:10px 16px;background:#14223b;color:#f2f6fc;border:1px solid #32445e;border-radius:4px;font:500 15px/20px Inter,Arial,sans-serif}
header .theme-toggle:hover{background:#1b2b46;color:#f2f6fc;border-color:#73839b}
main{width:min(800px,100%);max-width:100%;margin:0 auto 56px;padding:40px 24px 0}
main.utility{width:min(608px,100%);max-width:608px;padding-top:40px}
h1,h2,legend{font-family:"IBM Plex Sans",Plex,Arial,sans-serif;color:var(--ink)}
h1{font-size:clamp(34px,5vw,48px);line-height:1.1;letter-spacing:-.025em;margin:12px 0 24px;text-wrap:balance}
h2{font-size:27px;line-height:1.3;margin:0 0 20px;overflow-wrap:anywhere}
.eyebrow{font:500 13px/1.5 "IBM Plex Sans",Plex,Arial,sans-serif;color:var(--muted);letter-spacing:.12em;margin-bottom:14px}
.intro{font-size:20px;line-height:1.6;color:var(--intro)}
.identity,.receipt{padding:14px 18px;background:var(--raised);border:1px solid var(--line);border-radius:4px;overflow-wrap:anywhere;font-size:16px}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select{display:block;width:100%;min-width:0;min-height:48px;margin-top:8px;padding:12px 14px;border:1px solid var(--control-line);border-radius:4px;background:var(--input);color:var(--ink);font:inherit}
fieldset{min-width:0;border:0;border-top:1px solid var(--line);margin:40px 0 0;padding:24px 0 0}
.form-section{border-top:1px solid var(--line);margin-top:32px;padding-top:28px}
.form-section>h2,.confirmation-fields>h2{border-left:3px solid var(--cyan);padding-left:16px}
.section-progress{position:static;overflow:visible;margin-top:18px;padding:14px 18px;border:1px solid var(--line);border-left:4px solid var(--cyan);border-radius:4px;background:var(--raised);font-size:16px;font-weight:500}
.progress-track{display:block;width:100%;height:4px;margin-top:12px;overflow:hidden;border-radius:99px;background:var(--surface)}
.progress-track span{display:block;width:0;height:100%;background:var(--cyan);transition:width 180ms ease}
.section-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.section-nav button{min-width:44px;min-height:44px;margin:0;padding:8px 12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:16px}
.section-nav button[aria-current=step]{border-color:var(--cyan);background:var(--raised);box-shadow:inset 0 -3px var(--cyan)}
button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin-top:24px;padding:13px 22px;border:1px solid var(--cyan);border-radius:4px;background:var(--cyan);color:var(--button-ink);font:500 18px/1.25 Inter,Arial,sans-serif;text-align:center;text-decoration:none;cursor:pointer;transition:background 160ms,border-color 160ms,color 160ms,transform 120ms}
button:hover,.button:hover{background:var(--hover);border-color:var(--hover);color:var(--button-ink)}
button:active:not(:disabled),.button:active{transform:translateY(1px)}
button:disabled{opacity:.7;cursor:progress}
.button-secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}
.button-secondary:hover{background:var(--raised);color:var(--ink);border-color:var(--cyan)}
.provider-choices{display:grid;gap:12px;margin:28px 0 0}
.provider-button{display:flex;align-items:center;justify-content:flex-start;gap:14px;width:100%;min-height:50px;margin:0;padding:0 16px;border:1px solid #4e5e72;border-radius:4px;background:#ffffff;color:#1f1f1f;font:500 16px/20px Inter,Arial,sans-serif;text-decoration:none;text-align:left}
.provider-button:hover{background:#f7f9fc;color:#1f1f1f;border-color:#5f6368}
.provider-button:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.provider-button.google{padding-left:12px;font:500 14px/20px "Google Sans",Roboto,Arial,sans-serif}
.provider-mark{display:block;width:20px;height:20px;flex:none}
.done-mark{display:grid;place-items:center;width:48px;height:48px;margin:0 0 12px;padding:0;border-radius:50%;background:#155979;color:#ffffff}
.done-mark path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:root[data-theme=dark] .done-mark{background:#70e6f2;color:#081425}
@media(prefers-color-scheme:dark){:root:not([data-theme]) .done-mark{background:#70e6f2;color:#081425}}
:focus-visible{outline:3px solid #155979;outline-offset:3px}
:root[data-theme=dark] :focus-visible{outline-color:#70e6f2}
@media(prefers-color-scheme:dark){:root:not([data-theme]) :focus-visible{outline-color:#70e6f2}}
.utility-page{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
.utility-page>header{width:100%;max-width:none;margin:0;flex:none}
.utility-page>main.utility{box-sizing:border-box;width:min(608px,100%);max-width:608px;flex:1 0 auto;display:flex;flex-direction:column;margin:0 auto;padding:40px 24px 0}
.page-footer{position:relative;width:100vw;max-width:100vw;margin:56px calc(50% - 50vw) 0;padding:24px max(calc((100vw - 800px)/2 + 24px),20px) 24px;background:#080f20;color:#b9c6d8;border-top:1px solid #32445e}
.page-footer p{max-width:608px;margin:0;color:#b9c6d8;font-size:16px}
.page-footer a,.page-footer [data-signout],.page-footer [data-action][href^="/oauth2/sign_out"]{color:#70e6f2}
:root:not([data-theme]) header :focus-visible,:root[data-theme=light] header :focus-visible,:root:not([data-theme]) footer :focus-visible,:root[data-theme=light] footer :focus-visible{outline-color:#70e6f2}
:root:not([data-theme]) footer.page-footer a,:root[data-theme=light] footer.page-footer a{color:#70e6f2}
.utility-page>main.utility>.page-footer{flex:none;width:100vw;max-width:100vw;margin:auto calc(50% - 50vw) 0;padding:24px max(calc((100vw - 608px)/2 + 24px),20px) 24px}
.utility-page>main.utility>.page-footer [data-action],.page-footer [data-action]{display:none}
.page-footer [data-signout]{display:inline-flex;align-items:center;min-height:48px;margin:0 0 20px;padding:12px 8px;font-size:16px;text-decoration:underline;text-underline-offset:.22em}
.progress-and-save{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:24px}
.progress-and-save .section-progress{position:static;flex:1 1 230px;margin:0}
.progress-and-save #save-note{flex:1 1 250px;margin:0;color:var(--muted);font-size:16px}
#last-save{margin-top:14px;color:var(--muted);font-size:16px}
.main-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:28px}
.main-actions .section-actions,.confirmation-section{display:contents}
.confirmation-fields{flex-basis:100%;border-top:1px solid var(--line);padding-top:28px}
.main-actions button{margin-top:0}
.skip{background:var(--cyan);color:var(--button-ink)}
@media(max-width:650px){
 header{padding:20px;gap:12px}
 header .brand picture:first-child{width:61.56px}
 header .brand picture:last-child{width:190.68px}
 .utility-page>header .brand picture:first-child{width:40px}
 .utility-page>header .brand picture:last-child{width:133px}
 main{padding:28px 20px 0;margin-bottom:40px}
 main.utility{padding-top:36px}
 .utility-page>main.utility{padding:28px 20px 0}
 .intro{font-size:18px}
 h1{font-size:36px}
 h2{font-size:25px}
 .page-footer{margin-top:44px;padding-right:20px;padding-left:20px}
 .utility-page>main.utility>.page-footer{padding:24px 20px}
 .main-actions{align-items:stretch}
 .main-actions button,.main-actions .section-actions button{flex:1 1 auto}
}
@media(max-width:420px){
 header{padding:16px 20px;gap:8px}
 header .brand{gap:8px}
 header .brand picture:first-child{width:43px}
 header .brand picture:last-child{width:132px}
 header .theme-toggle{padding:8px 10px;font-size:14px}
 .utility-page>header .brand picture:first-child{width:40px}
 .utility-page>header .brand picture:last-child{width:112px}
 .page-footer{padding-right:20px;padding-left:20px}
}
@media(max-width:380px){header .brand picture:last-child{width:112px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
