/* REPA v19.9 canonical CSS bundle: tokens → base → components → pages. */
:root{--bg:#f4f2ed;
--surface:#ffffff;
--surface2:#fbfaf7;
--ink:#173f35;
--muted:#59645f;
--line:#dcd8cf;
--soft:#efede7;
--accent:#b85e46;
--status-verified:#17613f;
--status-pending:#9a741d;
--status-declined:#9b4a45;
--status-self:#68736e;
--white:#ffffff;
--font-serif:"Berenis REPA", Georgia, serif;
--font-sans:Andika REPA, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
--s4:4px;
--s8:8px;
--s12:12px;
--s16:16px;
--s24:24px;
--s32:32px;
--s48:48px;
--s64:64px;
--radius-sm:2px;
--radius:4px;
--focus:rgba(184,94,70,.35);
--shadow:0 18px 45px rgba(23,63,53,.08);
--z-header:50;
--z-modal:1000;
--v10-paper:var(--surface);
--v10-green:var(--ink);
--v10-ink:var(--ink);
--v10-line:var(--line);
--status-verified-bg:#eaf4ee;
--status-pending-bg:#f8efdc;
--status-declined-bg:#f8e9e8;
--palette-46453f:#46453f;
--palette-2b2b2b:#2b2b2b;
--palette-5f5e59:#5f5e59;
--palette-efc7c7:#efc7c7;
--palette-bdbcb6:#bdbcb6;
--palette-cde9d8:#cde9d8;
--palette-efdfae:#efdfae;
--palette-d9d6cf:#d9d6cf;
--palette-8a8881:#8a8881;
--palette-1717170a:#1717170a;
--palette-393833:#393833;
--palette-eceae4:#eceae4;
--palette-e8e5dd:#e8e5dd;
--palette-65635d:#65635d;
--palette-242424:#242424;
--palette-cfccc4:#cfccc4;
--palette-c6c4bd:#c6c4bd;
--palette-cac6bd:#cac6bd;
--palette-ddd9d1:#ddd9d1;
--palette-f3f0e8:#f3f0e8;
--palette-fbfaf6:#fbfaf6;
--palette-17352e:#17352e;
--palette-c9674f:#c9674f;
--palette-2f3935:#2f3935;
--palette-68736e:#68736e;
--palette-d7d3c9:#d7d3c9;
--palette-122b25:#122b25;
--palette-fffdf8:#fffdf8;
--palette-59645f:#59645f;
--palette-225649:#225649;
--palette-777d78:#777d78;
--palette-25594c:#25594c;
--palette-9eaaa4:#9eaaa4;
--palette-707a75:#707a75;
--palette-f8f6ef:#f8f6ef;
--palette-6d7772:#6d7772;
--palette-48534e:#48534e;
--palette-c9c7be:#c9c7be;
--palette-f4f0e7:#f4f0e7;
--palette-fbf8f1:#fbf8f1;
--palette-fffdf7:#fffdf7;
--palette-102f29:#102f29;
--palette-242a27:#242a27;
--palette-65716b:#65716b;
--palette-cfd2c8:#cfd2c8;
--palette-f1ddd5:#f1ddd5;
--palette-17613f:#17613f;
--palette-9a741d:#9a741d;
--palette-9b4a45:#9b4a45;
--palette-6f7873:#6f7873;
--palette-dce5df:#dce5df;
--palette-9fb0a8:#9fb0a8;
--palette-d7d0c4:#d7d0c4;
--palette-a9c0b7:#a9c0b7;
--palette-c5d2cc:#c5d2cc;
--palette-ffffff33:#ffffff33;
--palette-b9c9c2:#b9c9c2;
--palette-d6bf7e:#d6bf7e;
--palette-f6efd7:#f6efd7;
--palette-b7c9c1:#b7c9c1;
--palette-ffffff2b:#ffffff2b;
--palette-a8bdb4:#a8bdb4;
--palette-ffffff22:#ffffff22;
--palette-d5a191:#d5a191;
--palette-rgba-23-23-23-07:rgba(23,23,23,.07);
--palette-rgba-255-255-255-94:rgba(255,255,255,.94);
--palette-rgba-23-23-23-18:rgba(23,23,23,.18);
--palette-rgba-255-255-255-12:rgba(255,255,255,.12);
--palette-rgba-255-255-255-1:rgba(255,255,255,.1);
--palette-rgba-23-23-23-02:rgba(23,23,23,.02);
--palette-rgba-0-0-0-42:rgba(0,0,0,.42);
--palette-rgba-38-48-43-11:rgba(38,48,43,.11);
--palette-rgba-243-240-232-94:rgba(243,240,232,.94);
--palette-rgba-30-44-39-05:rgba(30,44,39,.05);
--palette-rgba-23-63-53-08:rgba(23,63,53,.08);
--palette-rgba-243-240-232-96:rgba(243,240,232,.96);
--palette-rgba-23-63-53-10:rgba(23,63,53,.10);
--palette-rgba-244-240-231-96:rgba(244,240,231,.96);
--palette-rgba-16-47-41-42:rgba(16,47,41,.42);
--outside-171717:#171717;
--outside-rgba-0-0-0-12:rgba(0,0,0,.12);
}

@font-face{font-family:"Berenis REPA";
src:url("/fonts/v19/BerenisADFPro-Regular.otf") format("opentype");
font-weight:400;
font-style:normal;
font-display:swap}

@font-face{font-family:"Berenis REPA";
src:url("/fonts/v19/BerenisADFPro-Bold.otf") format("opentype");
font-weight:700;
font-style:normal;
font-display:swap}

@font-face{font-family:"Andika REPA";
src:url("/fonts/v19/Andika-Regular.ttf") format("truetype");
font-weight:400;
font-style:normal;
font-display:swap}

@font-face{font-family:"Andika REPA";
src:url("/fonts/v19/Andika-Bold.ttf") format("truetype");
font-weight:700 900;
font-style:normal;
font-display:swap}


/* REPA v19.6 Stage 3 — canonical design tokens */
:root{
  --repa-line:#d5d0c6;
  --repa-paper:#f4f2ed;
  --repa-display:"Berenis REPA",Georgia,serif;
  --repa-body:"Andika REPA",system-ui,sans-serif;
  --repa-control-h:44px;
  --repa-control-h-lg:52px;
  --repa-radius:4px;
  --repa-content-max:1440px;
  --repa-gutter:clamp(12px,4vw,72px);
}
html,body,#app{max-width:100%;
min-width:0;
}

*,*::before,*::after{box-sizing:border-box;
}

/* REPA v19.6 Stage 3 — consolidated components. */

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{margin:0;
background:var(--bg);
color:var(--ink);
font-family:Andika REPA,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

button,input,textarea,select{font:inherit}

button{cursor:pointer}

.shell{min-height:100vh}

.topbar{position:sticky;
top:0;
z-index:50;
height:72px;
background:var(--palette-rgba-255-255-255-94);
backdrop-filter:blur(16px);
border-bottom:1px solid var(--line);
display:flex;
align-items:center;
justify-content:space-between;
padding:0 clamp(18px,4vw,42px)}

.brand{font-weight:950;
font-size:26px;
letter-spacing:-0.02em}

.nav{display:flex;
align-items:center;
gap:4px}

.nav button{border:0;
background:transparent;
padding:10px 12px;
border-radius:var(--radius);
color:var(--palette-46453f)}

.nav button:hover{background:var(--soft);
color:var(--ink)}

.nav .primary{background:var(--ink);
color:var(--white)}

.nav .primary:hover{background:var(--palette-2b2b2b);
color:var(--white)}

.container{width:calc(100% - 64px);
max-width:1800px;
margin:auto}

.main{padding:28px 0 70px}

.hero{padding:72px 0 52px;
display:grid;
grid-template-columns:1.08fr .92fr;
gap:48px;
align-items:center}

.eyebrow{text-transform:uppercase;
letter-spacing:.13em;
font-size:13px;
font-weight:800;
color:var(--muted)}

.hero h1{margin:18px 0 20px;
font-size:clamp(52px,7vw,88px);
line-height:.96;
letter-spacing:-0.02em;
max-width:780px}

.hero p{font-size:20px;
line-height:1.55;
color:var(--palette-5f5e59);
max-width:700px}

.actions{display:flex;
gap:10px;
flex-wrap:wrap;
margin-top:24px}

.btn{border:1px solid var(--ink);
background:var(--ink);
color:var(--white);
padding:13px 17px;
border-radius:var(--radius);
font-weight:800;
min-height:46px}

.btn:hover{transform:translateY(-1px)}

.btn.secondary{background:var(--white);
color:var(--ink);
border-color:var(--line)}

.btn.secondary:hover{background:var(--soft)}

.btn.danger{background:var(--white);
color:var(--red);
border-color:var(--palette-efc7c7)}

.btn.small{min-height:40px;
padding:10px 13px;
font-size:14px}

.proof-card{background:var(--ink);
color:var(--white);
border-radius:var(--radius);
padding:26px;
box-shadow:0 24px 55px var(--palette-rgba-23-23-23-18);
position:relative;
overflow:hidden}

.proof-card:after{content:"";
position:absolute;
inset:auto -70px -90px auto;
width:230px;
height:230px;
border:1px solid var(--palette-rgba-255-255-255-12);
border-radius:50%}

.proof-card .avatar{background:var(--palette-2b2b2b)}

.proof-card .muted{color:var(--palette-bdbcb6)}

.proof-card .badge{background:var(--palette-rgba-255-255-255-1);
color:var(--white)}

.metric-big{font-size:58px;
letter-spacing:-0.02em;
font-weight:900}

.proof-line{display:flex;
justify-content:space-between;
gap:12px;
align-items:flex-start;
padding:13px 0;
border-top:1px solid var(--palette-rgba-255-255-255-12)}

.section{margin:34px 0}

.section-title{font-size:30px;
letter-spacing:-0.02em;
margin:0 0 12px}

.subtext{color:var(--muted);
line-height:1.55}

.grid{display:grid;
gap:14px}

.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}

.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}

.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}

.card{background:var(--surface);
border:1px solid var(--line);
border-radius:var(--radius);
padding:22px;
box-shadow:0 1px 0 var(--palette-rgba-23-23-23-02)}

.card.soft{background:var(--surface2)}

.stat b{display:block;
font-size:34px;
letter-spacing:-0.02em}

.stat span{font-size:13px;
color:var(--muted)}

.toolbar{display:flex;
align-items:flex-start;
justify-content:space-between;
gap:18px}

.notice{border-radius:var(--radius);
padding:14px 16px;
border:1px solid var(--line);
background:var(--surface2)}

.notice.success{border-color:var(--palette-cde9d8);
background:var(--green-bg)}

.notice.warn{border-color:var(--palette-efdfae);
background:var(--yellow-bg)}

.notice.danger{border-color:var(--palette-efc7c7);
background:var(--red-bg)}

.form{display:grid;
gap:14px}

.field{display:grid;
gap:7px}

.field label{font-size:14px;
font-weight:800}

.field input,.field textarea,.field select{width:100%;
border:1px solid var(--palette-d9d6cf);
background:var(--white);
border-radius:var(--radius);
padding:12px 13px;
color:var(--ink);
outline:none}

.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--palette-8a8881);
box-shadow:0 0 0 4px var(--palette-1717170a)}

.field textarea{min-height:110px;
resize:vertical}

.check{display:flex;
gap:9px;
align-items:flex-start;
color:var(--palette-393833);
font-size:14px}

.avatar{width:72px;
height:72px;
border-radius:50%;
background:var(--palette-eceae4);
display:grid;
place-items:center;
font-size:22px;
font-weight:900;
overflow:hidden;
flex:none}

.avatar img{width:100%;
height:100%;
object-fit:cover}

.profile-head{display:flex;
gap:16px;
align-items:center}

.profile-head h1{margin:0;
font-size:42px;
letter-spacing:-0.02em}

.metric-line{display:flex;
justify-content:space-between;
align-items:flex-end;
gap:20px}

.progress{height:11px;
background:var(--palette-e8e5dd);
border-radius:var(--radius);
overflow:hidden}

.progress i{display:block;
height:100%;
background:var(--ink);
border-radius:var(--radius)}

.facts{display:flex;
gap:7px;
flex-wrap:wrap;
margin-top:13px}

.badge{display:inline-flex;
align-items:center;
gap:6px;
padding:7px 9px;
border-radius:var(--radius);
font-size:13px;
font-weight:850;
background:var(--soft);
color:var(--palette-65635d)}

.badge.green{background:var(--green-bg);
color:var(--green)}

.badge.yellow{background:var(--yellow-bg);
color:var(--yellow)}

.badge.red{background:var(--red-bg);
color:var(--red)}

.badge.dark{background:var(--palette-242424);
color:var(--white)}

.experience{display:grid;
grid-template-columns:1fr auto;
gap:20px}

.experience h3{font-size:20px;
margin:0 0 5px;
letter-spacing:0}

.mini{font-size:13px}

.muted{color:var(--muted)}

.split{display:grid;
grid-template-columns:1.08fr .92fr;
gap:14px}

.empty{background:var(--surface);
border:1px dashed var(--palette-cfccc4);
border-radius:var(--radius);
padding:25px}

.passport{max-width:900px;
margin:30px auto}

.passport-head{display:flex;
justify-content:space-between;
gap:24px;
align-items:flex-start}

.passport-meta{display:flex;
gap:16px;
align-items:center}

.passport-hero{background:var(--ink);
color:var(--white);
border-radius:var(--radius);
padding:26px}

.passport-hero .muted{color:var(--palette-c6c4bd)}

.passport-fact{display:flex;
justify-content:space-between;
gap:16px;
padding:15px 0;
border-top:1px solid var(--palette-rgba-255-255-255-12)}

.recommendation{border-top:1px solid var(--line);
padding:18px 0}

.quote{font-size:17px;
line-height:1.55}

.table-wrap{overflow-x:auto}

.table{width:100%;
border-collapse:collapse}

.table th,.table td{padding:12px;
border-bottom:1px solid var(--line);
text-align:left;
white-space:nowrap;
font-size:14px}

.footer{padding:42px 0 64px;
text-align:center;
color:var(--muted);
font-size:13px}

.modal{position:fixed;
inset:0;
background:var(--palette-rgba-0-0-0-42);
display:none;
align-items:center;
justify-content:center;
padding:16px;
z-index:100}

.modal.show{display:flex}

.dialog{width:min(720px,100%);
max-height:90vh;
overflow:auto;
background:var(--white);
border-radius:var(--radius);
padding:24px;
box-shadow:var(--shadow)}

.close{float:right;
width:36px;
height:36px;
border:0;
background:var(--soft);
border-radius:var(--radius)}

.toast{position:fixed;
right:18px;
bottom:18px;
z-index:200;
background:var(--outside-171717);
color:var(--white);
padding:13px 16px;
border-radius:var(--radius);
box-shadow:var(--shadow);
max-width:360px;
display:none}

.toast.show{display:block}

.demo-strip{display:flex;
justify-content:space-between;
gap:16px;
align-items:center;
padding:16px 18px;
border:1px dashed var(--palette-cac6bd);
border-radius:var(--radius);
background:var(--surface2)}

.onboarding{max-width:840px;
margin:40px auto}

.stepper{display:flex;
gap:7px;
margin:18px 0 28px}

.stepper span{height:6px;
flex:1;
background:var(--palette-ddd9d1);
border-radius:var(--radius)}

.stepper span.active{background:var(--ink)}

.center{text-align:center}

.kpi-note{font-size:13px;
color:var(--muted)}

.report-btn{border:0;
background:transparent;
color:var(--muted);
padding:6px}

.report-btn:hover{color:var(--red)}

.mobile-nav{display:none}

.hero{grid-template-columns:1fr;
gap:26px;
padding-top:44px}

.hero h1{font-size:clamp(46px,10vw,72px)}

.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}

.split{grid-template-columns:1fr}

.nav button:nth-child(n+3){display:none}

.mobile-nav{display:flex;
position:fixed;
bottom:0;
left:0;
right:0;
background:var(--white);
border-top:1px solid var(--line);
z-index:60;
padding:7px}

.mobile-nav button{flex:1;
border:0;
background:transparent;
padding:9px 4px;
border-radius:var(--radius);
font-size:13px}

.mobile-nav button.active{background:var(--soft);
font-weight:800}

.main{padding-bottom:90px}

.container{width:min(100% - 20px,1160px)}

.topbar{height:64px;
padding:0 12px}

.nav{display:none}

.hero{padding:34px 0 24px}

.hero h1{letter-spacing:-0.02em;
margin-top:13px}

.hero p{font-size:17px}

.actions{display:grid}

.btn{width:100%}

.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}

.toolbar,.passport-head{flex-direction:column}

.profile-head h1{font-size:32px}

.passport{margin-top:16px}

.experience{grid-template-columns:1fr}

.metric-big{font-size:50px}

.demo-strip{align-items:flex-start;
flex-direction:column}

.proof-card{padding:20px}

:root{--v10-bg:var(--palette-f3f0e8);
--v10-paper:var(--palette-fbfaf6);
--v10-ink:var(--palette-17352e);
--v10-green:#173f35;
--v10-accent:var(--palette-c9674f);
--v10-text:var(--palette-2f3935);
--v10-muted:var(--palette-68736e);
--v10-line:var(--palette-d7d3c9);
--v10-dark:var(--palette-122b25);
--v10-white:var(--palette-fffdf8);
--v10-shadow:0 22px 55px var(--palette-rgba-38-48-43-11)}

html{background:var(--v10-bg);
scroll-behavior:smooth}

body{background:var(--v10-bg);
color:var(--v10-text);
font-family:Andika REPA,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

body:before{display:none}

.topbar{height:72px;
padding:0 max(22px,calc((100vw - 1280px)/2));
background:var(--palette-rgba-243-240-232-94);
border-bottom:1px solid var(--v10-line);
box-shadow:none;
backdrop-filter:blur(12px)}

.brand{font-family:Georgia,"Times New Roman",serif;
font-size:31px;
font-weight:700;
letter-spacing:-0.02em;
color:var(--v10-green)}

.nav{gap:2px}

.nav button{color:var(--palette-59645f);
border-radius:0;
padding:9px 13px;
background:transparent}

.nav button:hover{background:transparent;
color:var(--v10-green)}

.nav .primary{background:var(--v10-green);
color:var(--palette-fffdf8);
padding:11px 17px;
box-shadow:none;
border-radius:2px}

.nav .primary:hover{background:var(--palette-225649)}

.main{padding:0 0 40px}

.container{width:min(1280px,calc(100% - 48px));
max-width:1280px}

.footer{background:transparent;
border-top:1px solid var(--v10-line);
padding:26px 0 42px;
color:var(--palette-777d78);
font-size:13px}

.footer a{color:inherit}

.btn{background:var(--v10-green);
border-color:var(--v10-green);
border-radius:2px;
box-shadow:none}

.btn:hover{background:var(--palette-25594c);
transform:none;
box-shadow:none}

.btn.secondary{background:transparent;
color:var(--v10-green);
border-color:var(--palette-9eaaa4);
border-radius:2px}

.card{border-color:var(--v10-line);
border-radius:3px;
box-shadow:0 8px 30px var(--palette-rgba-30-44-39-05)}

.section{padding:34px 0}

.eyebrow{font-size:13px;
letter-spacing:.15em;
font-weight:850;
color:var(--palette-707a75)}

.section-title{color:var(--v10-ink);
letter-spacing:-0.03em}

.subtext,.muted{color:var(--palette-68736e)}

.auth-choice,.onboarding{padding:70px 0 100px}

.auth-choice>h1,.onboarding>h1{font-size:clamp(44px,5vw,68px);
line-height:.95;
color:var(--v10-ink);
letter-spacing:-0.03em}

.choice-grid{display:grid;
grid-template-columns:1fr 1fr;
gap:1px;
background:var(--v10-line);
border:1px solid var(--v10-line);
margin-top:38px}

.choice-card{border:0;
background:var(--v10-paper);
padding:30px;
text-align:left;
min-height:190px;
cursor:pointer}

.choice-card:hover{background:var(--palette-f8f6ef)}

.choice-card span{color:var(--v10-accent);
font-size:13px;
font-weight:850}

.choice-card strong{display:block;
font-size:24px;
color:var(--v10-ink);
margin:22px 0 8px}

.choice-card p{color:var(--palette-6d7772);
line-height:1.5}

.auth-card{max-width:760px;
margin:55px auto 100px;
padding:42px;
background:var(--v10-paper)}

.field label{color:var(--palette-48534e);
font-size:13px;
font-weight:700}

.field input,.field textarea,.field select{border-color:var(--palette-c9c7be);
border-radius:2px;
background:var(--palette-fffdf8);
color:var(--v10-text)}

.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--v10-green);
box-shadow:0 0 0 3px var(--palette-rgba-23-63-53-08)}

.dashboard-head{padding:55px 0 28px}

.dashboard-head h1{font-size:clamp(42px,5vw,64px);
color:var(--v10-ink);
letter-spacing:-0.03em}

.employer-dashboard .card,.dashboard .card,.passport .card,.section.card{background:var(--v10-paper)}

.toolbar{gap:20px}

.badge{border-radius:var(--radius)}

.mobile-nav{background:var(--palette-rgba-243-240-232-96);
border-top:1px solid var(--v10-line)}

.container{width:calc(100% - 28px)}

.topbar{height:64px;
padding:0 14px}

.nav{display:none}

.brand{font-size:28px}

.main{padding-bottom:22px}

.choice-grid{grid-template-columns:1fr}

.auth-card{margin:35px auto 70px;
padding:24px}

.auth-choice,.onboarding{padding:45px 0 70px}

:root{--paper:var(--palette-f4f0e7);
--paper-2:var(--palette-fbf8f1);
--sheet:var(--palette-fffdf7);
--ink:#173f35;
--ink-2:var(--palette-102f29);
--text:var(--palette-242a27);
--muted:var(--palette-65716b);
--line:var(--palette-cfd2c8);
--line-strong:#173f35;
--accent:#b85e46;
--accent-soft:var(--palette-f1ddd5);
--status-verified:var(--palette-17613f);
--status-pending:var(--palette-9a741d);
--status-declined:var(--palette-9b4a45);
--status-self:var(--palette-6f7873);
--shadow:0 18px 40px var(--palette-rgba-23-63-53-10);
--radius-sm:2px;
--radius:4px;
--s1:4px;
--s2:8px;
--s3:12px;
--s4:16px;
--s5:24px;
--s6:32px;
--s7:48px;
--s8:64px}

html{scroll-behavior:auto;
background:var(--paper)}

body{background:var(--paper);
color:var(--text);
font-family:Andika REPA,ui-sans-serif,system-ui,sans-serif;
font-size:16px;
line-height:1.5}

button,input,textarea,select{font-family:inherit}

button,a{touch-action:manipulation}

a{color:inherit}

button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);
outline-offset:3px}

.icon{width:18px;
height:18px;
display:inline-block;
vertical-align:-4px;
fill:none;
stroke:currentColor;
stroke-width:1.5;
stroke-linecap:round;
stroke-linejoin:round}

.shell{min-height:100vh;
background:var(--paper)}

.topbar{height:76px;
background:var(--palette-rgba-244-240-231-96);
border-bottom:1px solid var(--line);
backdrop-filter:blur(12px);
padding:0 clamp(20px,4vw,56px)}

.brand{border:0;
background:none;
padding:0;
color:var(--ink);
font-weight:800;
cursor:pointer}

.brand-lockup{display:inline-flex;
align-items:center;
gap:10px;
font-size:23px;
letter-spacing:-0.03em}

.brand-sign{width:30px;
height:30px;
border:1px solid currentColor;
display:grid;
place-items:center;
font-family:"Berenis REPA",Georgia,serif;
font-size:20px;
line-height:1}

.nav{gap:22px}

.nav a,.quiet-link{font-size:14px;
text-decoration:none;
color:var(--muted);
background:none;
border:0;
padding:10px 0}

.nav a:hover,.quiet-link:hover{color:var(--ink)}

.top-action{min-height:44px;
border:1px solid var(--ink);
background:var(--ink);
color:var(--white);
padding:10px 15px;
border-radius:var(--radius);
font-weight:750}

.mobile-login{display:none;
border:1px solid var(--ink);
background:none;
color:var(--ink);
min-height:44px;
padding:8px 12px;
border-radius:var(--radius)}

.container{width:min(calc(100% - 48px),1280px);
max-width:1280px}

.main{padding:0 0 80px}

.footer{background:var(--ink);
color:var(--palette-dce5df);
text-align:left;
padding:48px 0 56px}

.footer-inner{width:min(calc(100% - 48px),1280px);
margin:auto;
display:grid;
grid-template-columns:1.2fr 1fr auto;
gap:40px;
align-items:start}

.footer-inner>div{display:grid;
gap:14px}

.footer-inner .brand-lockup{color:var(--white)}

.footer-inner>nav{display:flex;
flex-wrap:wrap;
gap:12px 22px}

.footer-inner nav a{color:var(--palette-dce5df);
text-decoration:none}

.footer-inner small{color:var(--palette-9fb0a8)}

.btn{border-radius:var(--radius);
min-height:44px;
box-shadow:none;
transform:none}

.btn-primary{background:var(--ink);
color:var(--white);
border:1px solid var(--ink)}

.btn-secondary{background:var(--sheet);
color:var(--ink);
border:1px solid var(--ink)}

.btn-quiet{background:transparent;
color:var(--ink);
border:0;
padding-left:4px;
padding-right:4px}

.btn-danger{background:transparent;
color:var(--status-declined);
border:1px solid var(--status-declined)}

.btn-lg{min-height:52px;
padding:14px 18px}

.btn-sm{min-height:40px;
padding:8px 12px;
font-size:14px}

.eyebrow,.section-kicker{font-size:13px;
line-height:1.3;
letter-spacing:.13em;
text-transform:uppercase;
font-weight:800;
color:var(--muted)}

.section-heading{display:grid;
grid-template-columns:1fr .7fr;
gap:60px;
align-items:end}

.section-heading h2,.section-heading-row h2,.content-page h1,.example-page h1,.requests-v11 h1,.auth-sheet h1,.dashboard-v11 h1,.employer-dashboard-v11 h1{font-family:"Berenis REPA",Georgia,serif;
color:var(--ink);
font-weight:400;
letter-spacing:-.02em}

.section-heading h2{font-size:44px;
line-height:1.02;
margin:12px 0}

.section-heading h2 em,.hero-v11 h1 em,.employer-hero-v11 h1 em,.content-page h1 em,.example-page h1 em,.final-cta h2 em,.employer-strip h2 em,.privacy-section h2 em{color:var(--accent);
font-style:italic}

.hero-v11{min-height:calc(100vh - 76px);
display:grid;
grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr);
gap:clamp(40px,7vw,110px);
align-items:center;
padding:72px 0 92px}

.hero-copy-v11{max-width:680px}

.hero-v11 h1{font-family:"Berenis REPA",Georgia,serif;
font-weight:400;
font-size:clamp(48px,5.2vw,72px);
line-height:.99;
letter-spacing:-0.02em;
margin:18px 0 24px}

.hero-lead{font-size:19px;
line-height:1.6;
color:var(--muted);
max-width:620px;
margin:0}

.hero-actions{display:flex;
align-items:center;
gap:18px;
flex-wrap:wrap;
margin-top:30px}

.hero-proof{display:flex;
flex-wrap:wrap;
gap:8px 16px;
margin-top:18px;
font-size:14px;
color:var(--muted)}

.hero-proof b{color:var(--ink)}

.principle{border-top:1px solid var(--line);
margin-top:38px;
padding-top:14px;
display:flex;
gap:16px;
align-items:flex-start;
font-size:14px}

.principle span{font-weight:800;
color:var(--accent);
white-space:nowrap}

.principle b{font-weight:600;
color:var(--text)}

.hero-doc-stage{position:relative;
padding:32px 26px 38px;
max-width:680px;
margin-left:auto;
width:100%}

.example-label{position:absolute;
top:0;
right:8px;
font-size:13px;
font-weight:800;
letter-spacing:.13em;
color:var(--accent)}

.passport-paper{background:var(--sheet);
border:1px solid var(--line-strong);
box-shadow:18px 20px 0 var(--palette-d7d0c4);
position:relative}

.passport-paper--hero{padding:28px 30px 24px}

.passport-top,.passport-foot{display:flex;
justify-content:space-between;
gap:15px;
border-bottom:1px solid var(--line);
padding-bottom:14px;
color:var(--ink);
font-size:13px;
font-weight:800;
letter-spacing:.08em}

.passport-top small,.passport-foot span:last-child{color:var(--muted);
font-weight:600;
letter-spacing:.04em}

.passport-person{display:flex;
gap:15px;
align-items:center;
padding:28px 0 18px}

.passport-avatar,.person-avatar{width:46px;
height:46px;
border:1px solid var(--ink);
display:grid;
place-items:center;
background:var(--paper-2);
color:var(--ink);
font-family:"Berenis REPA",Georgia,serif;
font-weight:700;
flex:none}

.passport-person h2{font-family:"Berenis REPA",Georgia,serif;
font-size:28px;
font-weight:400;
margin:0;
color:var(--ink)}

.passport-person p{margin:3px 0 0;
color:var(--muted);
font-size:14px}

.passport-metrics{display:grid;
grid-template-columns:1fr 1fr;
border-top:1px solid var(--line);
border-bottom:1px solid var(--line);
margin-bottom:4px}

.passport-metrics div{padding:15px 0}

.passport-metrics div+div{border-left:1px solid var(--line);
padding-left:20px}

.passport-metrics strong{display:block;
font-family:"Berenis REPA",Georgia,serif;
font-size:30px;
color:var(--ink)}

.passport-metrics span{font-size:13px;
color:var(--muted)}

.passport-foot{border-bottom:0;
border-top:1px solid var(--line);
padding-top:14px;
padding-bottom:0;
font-size:13px}

.fact-row{display:grid;
grid-template-columns:minmax(0,1fr) auto;
gap:20px;
padding:18px 0;
border-top:1px solid var(--line);
align-items:center}

.fact-row--compact{padding:15px 0;
gap:14px}

.fact-title{font-weight:750;
color:var(--ink);
font-size:17px}

.fact-context{font-size:14px;
color:var(--muted);
margin-top:2px}

.fact-source{display:flex;
align-items:center;
gap:12px;
margin-top:10px}

.person-chip{display:inline-flex;
align-items:center;
gap:8px}

.person-chip .person-avatar{width:30px;
height:30px;
font-size:13px}

.person-chip b{display:block;
font-size:14px}

.person-chip small{display:block;
color:var(--muted);
font-size:13px}

.fact-date{font-size:13px;
color:var(--muted)}

.fact-state{display:flex;
align-items:center;
gap:8px;
justify-content:flex-end;
white-space:nowrap}

.stamp{display:inline-flex;
align-items:center;
gap:7px;
border:1px solid var(--status-self);
padding:5px 7px;
font-size:13px;
font-weight:800;
text-transform:uppercase;
letter-spacing:.04em}

.stamp>span{width:22px;
height:22px;
border:1px solid currentColor;
display:grid;
place-items:center;
font-family:"Berenis REPA",Georgia,serif;
font-size:13px}

.stamp--strong{color:var(--status-verified);
border-style:double;
border-width:3px}

.stamp--work{color:var(--status-verified)}

.stamp--personal{color:var(--status-self);
border-style:dashed}

.stamp--pending{color:var(--status-pending);
border-style:dashed}

.stamp--stale{color:var(--status-pending);
opacity:.65}

.stamp--revoked{color:var(--status-declined);
text-decoration:line-through}

.status-text{font-size:13px;
color:var(--muted)}

.steps-section,.fact-center,.roles-section,.privacy-section,.faq-preview{padding:100px 0;
border-top:1px solid var(--line)}

.steps-section .section-heading{margin-bottom:42px}

.steps-grid{border-top:2px solid var(--ink)}

.step-row{display:grid;
grid-template-columns:70px 1fr;
gap:20px;
padding:23px 0;
border-bottom:1px solid var(--line)}

.step-row>span{font-size:13px;
color:var(--accent);
font-weight:850}

.step-row h3{margin:0;
font-size:20px;
color:var(--ink)}

.step-row p{margin:5px 0 0;
color:var(--muted);
max-width:720px}

.fact-center-grid{display:grid;
grid-template-columns:1.25fr .75fr;
gap:0;
margin-top:40px;
border-top:2px solid var(--ink);
border-bottom:1px solid var(--line)}

.fact-center-grid>div{padding:45px 50px 50px 0}

.fact-center-grid aside{border-left:1px solid var(--line);
padding:45px 0 50px 35px}

.quote-mark{font-family:"Berenis REPA",Georgia,serif;
font-size:64px;
line-height:.6;
color:var(--accent)}

.fact-center blockquote{font-family:"Berenis REPA",Georgia,serif;
font-size:clamp(38px,4.5vw,60px);
line-height:1.03;
color:var(--ink);
margin:24px 0 38px;
max-width:720px}

.fact-source-large{display:flex;
align-items:center;
gap:12px}

.fact-source-large>div{display:grid}

.fact-source-large>div span,.fact-source-large>div small{color:var(--muted);
font-size:13px}

.fact-source-large .stamp{margin-left:auto}

.fact-center aside span{display:block;
font-size:13px;
letter-spacing:.1em;
color:var(--muted);
font-weight:800;
margin-bottom:6px}

.fact-center aside strong{display:block;
color:var(--accent);
font-size:13px;
margin-top:18px}

.fact-center aside b{display:block;
color:var(--ink);
font-size:18px}

.fact-center aside .btn{margin-top:28px}

.roles-grid{display:grid;
grid-template-columns:repeat(3,1fr);
border-top:2px solid var(--ink);
margin-top:38px}

.roles-grid article{padding:28px 28px 28px 0;
border-bottom:1px solid var(--line)}

.roles-grid article+article{padding-left:28px;
border-left:1px solid var(--line)}

.roles-grid span{font-size:13px;
text-transform:uppercase;
letter-spacing:.1em;
color:var(--accent);
font-weight:800}

.roles-grid h3{font-family:"Berenis REPA",Georgia,serif;
font-size:27px;
font-weight:400;
line-height:1.08;
color:var(--ink);
margin:16px 0 12px}

.roles-grid p{color:var(--muted);
margin:0}

.employer-strip{background:var(--ink);
color:var(--white);
display:grid;
grid-template-columns:1.15fr .55fr;
gap:70px;
padding:75px 70px;
margin:0 -1px}

.section-kicker.light{color:var(--palette-a9c0b7)}

.employer-strip h2{font-family:"Berenis REPA",Georgia,serif;
font-size:48px;
line-height:1.02;
font-weight:400;
margin:14px 0}

.employer-strip p{color:var(--palette-c5d2cc);
max-width:660px}

.btn-light{background:var(--white);
color:var(--ink);
border:1px solid var(--white);
margin-top:20px}

.employer-strip-note{border-left:1px solid var(--palette-ffffff33);
padding-left:30px;
align-self:end;
display:grid;
gap:6px}

.employer-strip-note b{font-size:22px}

.employer-strip-note span{color:var(--palette-b9c9c2)}

.privacy-section{display:grid;
grid-template-columns:1fr 1fr;
gap:70px}

.privacy-section h2{font-family:"Berenis REPA",Georgia,serif;
font-size:48px;
font-weight:400;
line-height:1.02;
margin:14px 0}

.privacy-list{border-top:2px solid var(--ink)}

.privacy-list>div{display:grid;
grid-template-columns:180px 1fr;
gap:20px;
padding:20px 0;
border-bottom:1px solid var(--line)}

.privacy-list b{color:var(--ink)}

.privacy-list .icon{margin-right:7px}

.privacy-list span{color:var(--muted)}

.faq-preview details,.faq-page details{border-top:1px solid var(--line);
padding:18px 0}

.faq-preview details:last-child,.faq-page details:last-child{border-bottom:1px solid var(--line)}

summary{list-style:none;
cursor:pointer;
display:flex;
justify-content:space-between;
gap:20px;
font-size:18px;
color:var(--ink);
font-weight:700}

summary::-webkit-details-marker{display:none}

summary .icon{transition:transform .15s}

details[open] summary .icon{transform:rotate(90deg)}

details p{max-width:800px;
color:var(--muted);
margin:12px 0 0}

.final-cta{text-align:center;
padding:110px 0 80px;
border-top:1px solid var(--line)}

.final-cta h2{font-family:"Berenis REPA",Georgia,serif;
font-size:52px;
font-weight:400;
line-height:1.02;
color:var(--ink);
margin:16px 0 30px}

.mobile-sticky-cta{display:none}

.auth-screen{min-height:calc(100vh - 76px);
display:grid;
place-items:center;
padding:60px 0}

.auth-sheet{width:min(680px,100%);
background:var(--sheet);
border:1px solid var(--line);
padding:44px}

.auth-tabs{display:grid;
grid-template-columns:1fr 1fr;
border-bottom:1px solid var(--line);
margin:-44px -44px 38px}

.auth-tabs button{min-height:54px;
border:0;
border-bottom:2px solid transparent;
background:none;
color:var(--muted);
font-weight:750}

.auth-tabs button.active{color:var(--ink);
border-bottom-color:var(--ink)}

.auth-sheet h1{font-size:48px;
line-height:1.02;
margin:14px 0}

.password-field{position:relative}

.password-field input{padding-right:95px}

.password-field button{position:absolute;
right:8px;
bottom:8px;
border:0;
background:none;
color:var(--ink);
font-size:13px}

.password-field small,.field small{font-size:13px;
color:var(--muted)}

.consent-line{display:flex;
gap:10px;
align-items:flex-start;
font-size:14px;
color:var(--muted)}

.consent-line input{margin-top:3px;
width:18px;
height:18px;
accent-color:var(--ink)}

.auth-forgot{margin-top:10px}

.dashboard-v11{padding:55px 0}

.dash-header,.section-heading-row{display:flex;
justify-content:space-between;
align-items:flex-end;
gap:30px}

.profile-head{display:flex;
gap:16px;
align-items:center}

.profile-head h1{font-size:48px;
line-height:1;
margin:8px 0;
color:var(--ink)}

.profile-head p{margin:0;
color:var(--muted)}

.dash-actions{display:flex;
gap:10px}

.notice-warn{border:1px solid var(--palette-d6bf7e);
background:var(--palette-f6efd7);
padding:16px;
margin:25px 0}

.next-step{display:flex;
justify-content:space-between;
align-items:center;
gap:30px;
border-top:2px solid var(--ink);
border-bottom:1px solid var(--line);
padding:24px 0;
margin:34px 0 70px}

.next-step>div>span{font-size:13px;
letter-spacing:.1em;
color:var(--accent);
font-weight:800}

.next-step h2{font-family:"Berenis REPA",Georgia,serif;
font-weight:400;
color:var(--ink);
font-size:30px;
margin:5px 0}

.next-step p{margin:0;
color:var(--muted)}

.dashboard-section{padding:0 0 65px}

.dashboard-section>p{color:var(--muted)}

.section-heading-row h2{font-size:34px;
margin:7px 0}

.metric-inline{font-size:24px;
color:var(--ink)}

.metric-inline small{font-size:13px;
color:var(--muted);
font-weight:500}

.experience-sheet{background:var(--sheet);
border-top:2px solid var(--ink);
margin-top:24px;
padding:0 24px 5px}

.experience-head{display:flex;
justify-content:space-between;
align-items:flex-start;
padding:24px 0 5px}

.experience-head>div>span{font-size:13px;
color:var(--accent);
font-weight:800;
letter-spacing:.1em}

.experience-head h3{font-family:"Berenis REPA",Georgia,serif;
font-weight:400;
font-size:28px;
color:var(--ink);
margin:5px 0}

.experience-head p{margin:0;
color:var(--muted)}

.icon-button{width:44px;
height:44px;
border:1px solid var(--line);
background:none;
color:var(--ink)}

.request-line{display:flex;
justify-content:space-between;
gap:12px;
align-items:center;
padding:16px 0;
border-top:1px solid var(--line);
color:var(--muted);
font-size:14px}

.empty-sheet{border-top:1px dashed var(--line-strong);
padding:28px 0;
color:var(--muted)}

.empty-sheet h3{color:var(--ink);
margin:0 0 6px}

.skill-add-v11{display:grid;
grid-template-columns:1fr 1fr 1fr auto;
gap:12px;
align-items:end;
margin:24px 0;
border-top:1px solid var(--line);
border-bottom:1px solid var(--line);
padding:20px 0}

.skill-list-v11{border-top:2px solid var(--ink)}

.skill-list-v11>.text-danger{border:0;
background:none;
color:var(--status-declined);
font-size:13px;
margin:0 0 12px}

.access-section{display:grid;
grid-template-columns:1fr auto;
gap:50px;
align-items:center;
border-top:2px solid var(--ink);
padding-top:30px}

.access-section h2{font-family:"Berenis REPA",Georgia,serif;
font-size:34px;
color:var(--ink);
font-weight:400;
margin:8px 0}

.access-section p{color:var(--muted)}

.access-controls{display:grid;
gap:16px}

.toggle-line{display:flex;
gap:10px;
align-items:center;
color:var(--ink);
font-size:14px}

.toggle-line input{width:18px;
height:18px;
accent-color:var(--ink)}

.profile-collapsed{border-top:1px solid var(--line);
padding-top:25px}

.profile-collapsed summary{font-size:17px}

.profile-edit-grid{display:grid;
grid-template-columns:1fr .7fr;
gap:40px;
padding-top:24px}

.profile-data-tools{display:grid;
align-content:start;
gap:10px}

.requests-v11{padding:65px 0}

.requests-v11 h1{font-size:56px;
margin:10px 0}

.requests-v11>.lead{font-size:18px;
color:var(--muted);
max-width:760px}

.request-groups{display:grid;
grid-template-columns:1fr;
gap:45px;
margin-top:50px}

.request-groups>section{border-top:2px solid var(--ink)}

.request-row{display:grid;
grid-template-columns:1fr auto auto;
gap:25px;
align-items:center;
padding:20px 0;
border-bottom:1px solid var(--line)}

.request-row h3{margin:0;
color:var(--ink)}

.request-row p,.request-row span{margin:3px 0;
color:var(--muted);
font-size:14px}

.request-status{font-size:13px;
font-weight:800}

.request-status.verified{color:var(--status-verified)}

.request-status.pending{color:var(--status-pending)}

.request-status.declined{color:var(--status-declined)}

.employer-page-v11,.example-page,.content-page{padding:60px 0}

.employer-hero-v11{display:grid;
grid-template-columns:1fr 250px;
gap:70px;
align-items:end;
padding:50px 0 90px}

.employer-hero-v11 h1,.content-page h1,.example-page h1{font-family:"Berenis REPA",Georgia,serif;
font-size:clamp(50px,6vw,76px);
line-height:.98;
font-weight:400;
margin:18px 0}

.employer-hero-v11 p{font-size:19px;
color:var(--muted);
max-width:760px}

.employer-price-inline{border-top:1px solid var(--line);
border-bottom:1px solid var(--line);
display:flex;
gap:18px;
align-items:center;
padding:14px 0;
margin-top:26px}

.employer-price-inline b{color:var(--ink)}

.employer-price-inline span{color:var(--muted);
font-size:14px}

.employer-mark-v11{aspect-ratio:1;
border:1px solid var(--ink);
padding:24px;
display:flex;
flex-direction:column;
justify-content:space-between;
transform:rotate(2deg);
color:var(--ink)}

.employer-mark-v11 span{font-family:"Berenis REPA",Georgia,serif;
font-size:90px;
line-height:.8}

.employer-mark-v11 b{font-size:13px;
line-height:1.4;
letter-spacing:.08em}

.employer-preview-section,.access-steps-v11,.employer-faq-mini{border-top:1px solid var(--line);
padding:90px 0}

.dark-passport-v11{background:var(--ink);
padding:42px;
color:var(--white);
margin-top:45px}

.employer-preview-wrap{color:var(--white)}

.employer-preview-label{font-size:13px;
letter-spacing:.12em;
color:var(--palette-b7c9c1);
margin-bottom:14px}

.employer-preview{border:1px solid var(--palette-ffffff2b);
padding:30px}

.preview-top{display:flex;
justify-content:space-between;
gap:30px}

.preview-kicker{font-size:13px;
letter-spacing:.1em;
color:var(--palette-a8bdb4)}

.preview-top h3{font-family:"Berenis REPA",Georgia,serif;
font-size:34px;
font-weight:400;
margin:10px 0 3px}

.preview-top p{margin:0;
color:var(--palette-b7c9c1)}

.preview-status b{display:block;
font-family:"Berenis REPA",Georgia,serif;
font-size:40px;
font-weight:400}

.preview-status span{font-size:13px;
color:var(--palette-b7c9c1)}

.preview-rule{border-top:1px solid var(--palette-ffffff2b);
margin:25px 0}

.preview-block-head{display:flex;
justify-content:space-between;
gap:20px;
color:var(--palette-a8bdb4);
font-size:13px;
letter-spacing:.1em}

.preview-block-head small{letter-spacing:0}

.preview-fact{display:grid;
grid-template-columns:35px 1fr auto;
gap:12px;
padding:18px 0;
border-bottom:1px solid var(--palette-ffffff22)}

.preview-fact b{display:block}

.preview-fact p{margin:3px 0;
color:var(--palette-b7c9c1);
font-size:13px}

.preview-fact em{font-style:normal;
color:var(--palette-d5a191);
font-size:13px}

.preview-check{width:28px;
height:28px;
border:1px double var(--white);
display:grid;
place-items:center}

.preview-pending{width:28px;
height:28px;
border:1px dashed var(--palette-b7c9c1);
display:grid;
place-items:center}

.preview-bottom{display:flex;
justify-content:space-between;
gap:15px;
padding-top:18px;
color:var(--palette-b7c9c1);
font-size:13px}

.preview-contact{border:0;
background:none;
color:var(--white);
text-decoration:underline}

.access-steps-v11{display:grid;
grid-template-columns:.65fr 1.35fr;
gap:80px}

.access-steps-v11 h2,.employer-faq-mini h2{font-family:"Berenis REPA",Georgia,serif;
font-size:48px;
line-height:1;
font-weight:400;
color:var(--ink);
margin:12px 0}

.access-big-steps{border-top:2px solid var(--ink)}

.access-big-steps>div{display:grid;
grid-template-columns:40px 1fr;
padding:20px 0;
border-bottom:1px solid var(--line)}

.access-big-steps b{color:var(--accent)}

.access-big-steps h3{margin:0;
color:var(--ink);
font-size:19px}

.access-big-steps p{grid-column:2;
color:var(--muted);
margin:5px 0 0}

.employer-faq-mini{display:grid;
grid-template-columns:.65fr 1.35fr;
gap:80px}

.employer-faq-mini p{font-size:18px;
color:var(--muted);
max-width:760px}

.public-passport-v11{padding:50px 0;
max-width:1040px;
margin:auto}

.public-head-v11{display:flex;
justify-content:space-between;
gap:30px;
align-items:flex-start;
padding-bottom:30px;
border-bottom:2px solid var(--ink)}

.public-head-v11 h1{font-family:"Berenis REPA",Georgia,serif;
font-size:50px;
font-weight:400;
color:var(--ink);
margin:8px 0}

.public-head-v11 p{margin:0;
color:var(--muted)}

.public-head-v11 small{color:var(--muted)}

.public-actions{display:flex;
gap:10px;
flex-wrap:wrap}

.passport-summary{display:grid;
grid-template-columns:repeat(3,1fr);
border-bottom:1px solid var(--line)}

.passport-summary>div{padding:22px 18px 22px 0}

.passport-summary>div+div{border-left:1px solid var(--line);
padding-left:18px}

.passport-summary span{display:block;
font-size:13px;
letter-spacing:.1em;
color:var(--muted);
font-weight:800}

.passport-summary strong{display:block;
color:var(--ink);
font-family:"Berenis REPA",Georgia,serif;
font-size:30px;
font-weight:400;
margin-top:5px}

.passport-summary small{color:var(--muted)}

.passport-section-v11{padding:55px 0;
border-bottom:1px solid var(--line)}

.passport-section-v11 h2{font-family:"Berenis REPA",Georgia,serif;
font-size:36px;
font-weight:400;
color:var(--ink);
margin:7px 0 25px}

.legend-button{border:0;
background:none;
color:var(--accent);
font-size:13px;
font-weight:800}

.source-row{display:flex;
gap:13px;
padding:18px 0;
border-top:1px solid var(--line)}

.source-row p{margin:3px 0;
color:var(--muted)}

.source-row small{color:var(--muted)}

.recommendation-v11{border-top:1px solid var(--line);
padding:22px 0;
margin:0;
font-family:"Berenis REPA",Georgia,serif;
font-size:22px;
color:var(--ink)}

.recommendation-v11 footer{font-family:Andika REPA,sans-serif;
font-size:13px;
color:var(--muted);
margin-top:10px}

.confirm-page-v11{min-height:100vh;
background:var(--paper);
padding:24px 16px 80px}

.confirm-logo{width:min(640px,100%);
margin:0 auto 24px}

.confirm-sheet{width:min(640px,100%);
margin:auto;
background:var(--sheet);
border:1px solid var(--line);
padding:38px}

.confirm-sheet h1{font-family:"Berenis REPA",Georgia,serif;
font-weight:400;
color:var(--ink);
font-size:44px;
line-height:1.02;
margin:14px 0 32px}

.confirm-context,.confirm-publish{border-top:1px solid var(--line);
padding:16px 0}

.confirm-context span,.confirm-publish b{font-size:13px;
text-transform:uppercase;
letter-spacing:.1em;
color:var(--muted);
font-weight:800}

.confirm-context p,.confirm-publish p{margin:5px 0;
color:var(--text)}

.confirm-context small{color:var(--muted)}

.confirm-quote{border-top:2px solid var(--ink);
margin:20px 0}

.fact-row--quote{display:block;
padding:22px 0}

.fact-row--quote .fact-title{font-family:"Berenis REPA",Georgia,serif;
font-size:30px}

.confirm-choice{border-top:2px solid var(--ink);
padding-top:20px}

.confirm-choice-head{display:flex;
justify-content:space-between;
gap:15px;
align-items:center}

.confirm-choice h2{font-family:"Berenis REPA",Georgia,serif;
font-size:26px;
font-weight:400;
color:var(--ink)}

.confirm-row{display:grid;
grid-template-columns:20px 1fr 24px;
gap:12px;
align-items:center;
border-top:1px solid var(--line);
padding:18px 0;
cursor:pointer}

.confirm-row input{width:18px;
height:18px;
accent-color:var(--ink)}

.confirm-row span{display:grid}

.confirm-row small{color:var(--muted);
font-size:14px}

.confirm-row i{color:var(--ink);
opacity:.15}

.confirm-row input:checked~i{opacity:1}

.confirm-skills-v11{margin-top:25px}

.confirm-skills-v11 h3{color:var(--ink)}

.confirm-actions{display:grid;
gap:10px;
margin-top:22px}

.legal-mini{font-size:13px;
color:var(--muted)}

.legal-mini a{color:var(--ink)}

.recommendation-form{border-top:1px solid var(--line);
margin-top:30px;
padding-top:25px}

.recommendation-form h2{font-family:"Berenis REPA",Georgia,serif;
font-size:28px;
font-weight:400;
color:var(--ink)}

.revoke-link{margin-top:25px;
color:var(--status-declined)}

.legend-list>div{display:grid;
grid-template-columns:auto 1fr;
gap:14px;
padding:15px 0;
border-top:1px solid var(--line)}

.legend-list p{margin:0;
color:var(--muted)}

.content-page{max-width:980px;
margin:auto}

.content-page h1,.example-page h1{font-size:clamp(50px,6vw,76px);
margin-bottom:55px}

.how-grid{border-top:2px solid var(--ink);
display:grid;
grid-template-columns:1fr 1fr}

.how-grid>div{padding:30px 30px 30px 0;
border-bottom:1px solid var(--line)}

.how-grid>div:nth-child(even){padding-left:30px;
border-left:1px solid var(--line)}

.how-grid b{color:var(--accent)}

.how-grid h2{font-family:"Berenis REPA",Georgia,serif;
font-size:28px;
font-weight:400;
color:var(--ink)}

.how-grid p{color:var(--muted)}

.paper-callout{border-top:2px solid var(--ink);
border-bottom:1px solid var(--line);
padding:28px 0}

.paper-callout p,.paper-callout li{font-size:18px;
color:var(--muted)}

.example-page .dark-passport-v11{margin-top:20px}

.example-note{display:flex;
justify-content:space-between;
gap:20px;
align-items:center;
border-top:1px solid var(--line);
padding-top:20px;
color:var(--muted)}

.employer-dashboard-v11{padding:55px 0}

.employer-dashboard-v11 .dash-header h1{font-family:"Berenis REPA",Georgia,serif;
font-size:52px;
font-weight:400;
color:var(--ink);
margin:10px 0}

.employer-dashboard-v11 .dash-header p{margin:0;
color:var(--muted)}

.billing-pill{border-left:2px solid var(--ink);
padding-left:18px;
display:grid}

.billing-pill b{font-family:"Berenis REPA",Georgia,serif;
font-size:30px;
color:var(--ink);
font-weight:400}

.billing-pill span{font-size:13px;
color:var(--muted)}

.pilot-note{border:1px solid var(--line);
padding:13px 16px;
margin:25px 0;
color:var(--muted);
background:var(--paper-2)}

.employer-search-sheet,.employer-open-link,.company-check-sheet{border-top:2px solid var(--ink);
padding:30px 0;
margin-top:30px;
display:grid;
grid-template-columns:.8fr 1.2fr;
gap:50px}

.employer-search-sheet h2,.employer-open-link h2,.company-check-sheet h2{font-family:"Berenis REPA",Georgia,serif;
font-size:32px;
font-weight:400;
color:var(--ink);
margin:8px 0}

.employer-search-sheet p,.employer-open-link p,.company-check-sheet p{color:var(--muted)}

.search-form-v11{display:grid;
grid-template-columns:1fr auto;
gap:10px;
align-items:start}

.search-form-v11 input{min-height:48px;
border:1px solid var(--line-strong);
border-radius:var(--radius);
padding:12px;
background:var(--sheet)}

.company-check-sheet .form{grid-column:2}

.verified-company-line{display:flex;
align-items:center;
gap:14px;
border-top:2px solid var(--ink);
padding:24px 0;
margin-top:30px}

.verified-company-line span:last-child{display:grid}

.verified-company-line small{color:var(--muted)}

.employer-history{border-top:2px solid var(--ink);
padding:25px 0;
margin-top:60px}

.employer-history-row{display:flex;
justify-content:space-between;
gap:20px;
padding:17px 0;
border-bottom:1px solid var(--line)}

.employer-history-row b{color:var(--ink)}

.employer-history-row p,.employer-history-row>span{color:var(--muted);
margin:3px 0;
font-size:14px}

.modal{background:var(--palette-rgba-16-47-41-42);
backdrop-filter:blur(3px)}

.dialog{border:1px solid var(--line);
border-radius:var(--radius);
box-shadow:var(--shadow);
padding:30px;
background:var(--sheet)}

.close{border:1px solid var(--line);
border-radius:var(--radius);
background:none;
color:var(--ink)}

.mobile-nav{background:var(--sheet);
border-top:1px solid var(--line)}

.mobile-nav button{color:var(--muted)}

.mobile-nav button.active{background:var(--paper);
color:var(--ink);
font-weight:800}

.hero-v11{grid-template-columns:1fr;
min-height:auto}

.hero-copy-v11{max-width:820px}

.hero-doc-stage{margin:0;
max-width:760px}

.section-heading,.privacy-section,.access-steps-v11,.employer-faq-mini{grid-template-columns:1fr}

.roles-grid{grid-template-columns:1fr}

.roles-grid article+article{padding-left:0;
border-left:0}

.fact-center-grid{grid-template-columns:1fr}

.fact-center-grid aside{border-left:0;
border-top:1px solid var(--line);
padding-left:0}

.employer-strip{grid-template-columns:1fr}

.employer-strip-note{border-left:0;
border-top:1px solid var(--palette-ffffff33);
padding:20px 0 0}

.skill-add-v11{grid-template-columns:1fr 1fr}

.skill-add-v11 .btn{grid-column:1/-1}

.profile-edit-grid{grid-template-columns:1fr}

.employer-hero-v11{grid-template-columns:1fr}

.employer-mark-v11{width:190px}

.employer-search-sheet,.employer-open-link,.company-check-sheet{grid-template-columns:1fr}

.company-check-sheet .form{grid-column:1}

.footer-inner{grid-template-columns:1fr}

.container{width:calc(100% - 28px)}

.topbar{height:64px;
padding:0 14px}

.nav{display:none}

.mobile-login{display:block}

.footer{padding-bottom:35px}

.footer-inner{width:calc(100% - 28px);
gap:25px}

.footer-inner>nav{display:grid;
gap:10px}

.hero-v11{padding:45px 0 60px;
gap:38px}

.hero-v11 h1{font-size:clamp(45px,13vw,62px)}

.hero-lead{font-size:17px}

.hero-actions{display:grid}

.hero-actions .btn{width:100%}

.hero-proof{display:grid;
gap:4px}

.principle{display:grid;
gap:5px}

.hero-doc-stage{padding:25px 8px 32px}

.passport-paper--hero{padding:20px 16px;
box-shadow:10px 12px 0 var(--palette-d7d0c4)}

.passport-top,.passport-foot{font-size:13px}

.passport-person h2{font-size:24px}

.passport-metrics strong{font-size:25px}

.fact-row{grid-template-columns:1fr;
gap:10px}

.fact-state{justify-content:flex-start}

.fact-source{flex-wrap:wrap}

.status-text{font-size:13px}

.steps-section,.fact-center,.roles-section,.privacy-section,.faq-preview{padding:70px 0}

.section-heading h2,.employer-strip h2,.privacy-section h2,.final-cta h2{font-size:40px}

.fact-center-grid>div{padding:30px 0}

.fact-center blockquote{font-size:39px}

.fact-source-large{flex-wrap:wrap}

.fact-source-large .stamp{margin-left:0}

.roles-grid article{padding:23px 0}

.employer-strip{padding:48px 24px;
margin:0}

.privacy-list>div{grid-template-columns:1fr;
gap:6px}

.final-cta{padding:80px 0}

.mobile-sticky-cta{display:block;
position:fixed;
left:12px;
right:12px;
bottom:12px;
z-index:80}

.mobile-sticky-cta button{width:100%;
min-height:50px;
border:1px solid var(--ink);
background:var(--ink);
color:var(--white);
border-radius:var(--radius);
font-weight:800}

.auth-screen{padding:25px 0 50px}

.auth-sheet{padding:26px 20px}

.auth-tabs{margin:-26px -20px 30px}

.auth-sheet h1{font-size:40px}

.dash-header,.section-heading-row,.next-step,.public-head-v11{align-items:flex-start;
flex-direction:column}

.dash-actions{width:100%;
display:grid}

.dash-actions .btn{width:100%}

.dashboard-v11{padding:35px 0}

.profile-head h1{font-size:38px}

.next-step{margin-bottom:50px}

.skill-add-v11{grid-template-columns:1fr}

.skill-add-v11 .btn{grid-column:auto}

.access-section{grid-template-columns:1fr}

.requests-v11 h1{font-size:45px}

.request-row{grid-template-columns:1fr;
gap:8px}

.request-actions{display:flex;
flex-wrap:wrap}

.employer-hero-v11,.employer-page-v11,.example-page,.content-page{padding:35px 0}

.employer-hero-v11 h1,.content-page h1,.example-page h1{font-size:48px}

.employer-price-inline{display:grid;
gap:3px}

.employer-mark-v11{width:150px}

.employer-preview-section,.access-steps-v11,.employer-faq-mini{padding:65px 0}

.dark-passport-v11{padding:20px}

.preview-top,.preview-bottom,.preview-block-head{display:grid;
gap:10px}

.preview-status b{font-size:32px}

.preview-fact{grid-template-columns:28px 1fr}

.preview-fact em{grid-column:2}

.how-grid{grid-template-columns:1fr}

.how-grid>div:nth-child(even){padding-left:0;
border-left:0}

.confirm-page-v11{padding:15px 8px 90px}

.confirm-sheet{padding:25px 18px}

.confirm-sheet h1{font-size:38px}

.confirm-choice-head{display:grid}

.confirm-row{grid-template-columns:20px 1fr 20px}

.public-passport-v11{padding:30px 0}

.public-head-v11 h1{font-size:40px}

.public-actions{width:100%;
display:grid}

.public-actions .btn{width:100%}

.passport-summary{grid-template-columns:1fr}

.passport-summary>div+div{border-left:0;
border-top:1px solid var(--line);
padding-left:0}

.passport-section-v11{padding:40px 0}

.passport-section-v11 h2{font-size:32px}

.employer-dashboard-v11{padding:35px 0}

.employer-dashboard-v11 .dash-header h1{font-size:42px}

.billing-pill{margin-top:15px}

.search-form-v11{grid-template-columns:1fr}

.search-form-v11 .btn{width:100%}

.company-check-sheet .grid{grid-template-columns:1fr}

.employer-history-row{display:grid}

*,*::before,*::after{scroll-behavior:auto;
animation:none;
transition:none}

/* v12 — registration/onboarding repair */
.onboarding-v12{max-width:1120px;
margin:0 auto;
padding:58px 0 80px}

.onboarding-top{display:grid;
grid-template-columns:1fr 300px;
gap:70px;
align-items:end;
border-bottom:2px solid var(--ink);
padding-bottom:34px}

.onboarding-top h1{font-family:"Berenis REPA",Georgia,serif;
font-size:clamp(48px,6vw,76px);
line-height:.98;
font-weight:400;
color:var(--ink);
margin:12px 0 18px;
letter-spacing:-.03em}

.onboarding-top h1 em{font-style:italic}

.onboarding-progress{border-left:1px solid var(--line);
padding-left:24px}

.onboarding-progress>span,.onboarding-progress small{display:block;
font-size:13px;
text-transform:uppercase;
letter-spacing:.1em;
color:var(--muted);
font-weight:800}

.onboarding-progress-bar{display:grid;
grid-template-columns:repeat(3,1fr);
gap:5px;
margin:14px 0 10px}

.onboarding-progress-bar i{height:5px;
background:var(--line);
display:block}

.onboarding-progress-bar i.active{background:var(--ink)}

.onboarding-sheet{max-width:820px;
margin:55px auto 0;
border-top:2px solid var(--ink);
border-bottom:1px solid var(--line);
padding:30px 0 38px}

.onboarding-sheet-head{display:grid;
grid-template-columns:58px 1fr;
gap:20px;
margin-bottom:30px}

.onboarding-sheet-head>span{font-family:"Berenis REPA",Georgia,serif;
font-size:34px;
color:var(--accent)}

.onboarding-sheet-head h2{font-family:"Berenis REPA",Georgia,serif;
font-size:34px;
font-weight:400;
margin:0 0 6px;
color:var(--ink)}

.onboarding-sheet-head p{margin:0;
color:var(--muted);
line-height:1.55}

.onboarding-note{border-top:1px solid var(--line);
padding:15px 0;
margin-top:4px;
display:grid;
grid-template-columns:220px 1fr;
gap:18px;
color:var(--muted);
font-size:13px;
line-height:1.5}

.onboarding-note b{color:var(--ink)}

.onboarding-current{padding:6px 0}

.onboarding-current input{margin-top:3px}

.onboarding-footer{max-width:820px;
margin:20px auto 0;
display:flex;
justify-content:space-between;
gap:25px;
align-items:center;
color:var(--muted);
font-size:13px}

.text-link{border:0;
background:none;
padding:0;
color:var(--ink);
font-weight:800;
text-decoration:underline;
text-underline-offset:3px}

.notice-warn{display:flex;
align-items:center;
gap:8px;
flex-wrap:wrap}

.notice-warn span{color:var(--muted)}

.btn-sm{min-height:36px;
padding:8px 11px;
font-size:13px}


.profile-page-v11{max-width:820px;
margin:0 auto;
padding:55px 0}

.profile-page-v11 h1{font-family:"Berenis REPA",Georgia,serif;
font-size:56px;
font-weight:400;
margin:12px 0 40px}

.profile-form-v11{border-top:2px solid var(--ink);
padding-top:28px}

.profile-danger{border-top:1px solid var(--line);
margin-top:35px;
padding-top:20px;
display:flex;
gap:10px;
flex-wrap:wrap}

.onboarding-v12{padding:35px 0 65px}

.onboarding-top{grid-template-columns:1fr;
gap:28px;
padding-bottom:26px}

.onboarding-progress{border-left:0;
border-top:1px solid var(--line);
padding:18px 0 0}

.onboarding-sheet{margin-top:35px}

.onboarding-sheet-head{grid-template-columns:42px 1fr;
gap:12px}

.onboarding-sheet-head h2{font-size:30px}

.onboarding-note{grid-template-columns:1fr;
gap:4px}

.onboarding-footer{display:grid;
gap:12px}

.profile-page-v11{padding:35px 0}

.profile-page-v11 h1{font-size:44px}

.profile-page-v11 .grid.cols-2{grid-template-columns:1fr}


*{box-sizing:border-box}

html{scroll-behavior:auto}

body{background:var(--bg);
color:var(--ink);
font-family:var(--font-sans);
font-size:16px;
line-height:1.5}

.container{max-width:1280px;
width:min(1280px,calc(100% - 40px))}

.topbar{height:72px;
padding:0 24px;
background:var(--surface);
z-index:var(--z-header)}

.brand{border:0;
background:none;
color:var(--ink);
min-height:44px}

.nav{gap:4px}

.nav a,.nav button{min-height:44px;
display:inline-flex;
align-items:center;
text-decoration:none;
color:var(--ink);
padding:10px 12px;
border-radius:var(--radius)}

.nav .top-action{background:var(--ink);
color:var(--white)}

.btn{border-radius:var(--radius);
min-height:44px;
padding:12px 16px;
box-shadow:none;
transition:background .15s,transform .15s,border-color .15s}

.btn:hover{transform:translateY(-1px)}

.btn:disabled{opacity:.45;
cursor:not-allowed;
transform:none}

.btn-primary{background:var(--ink);
border-color:var(--ink);
color:var(--white)}

.btn-secondary{background:var(--surface);
border-color:var(--line);
color:var(--ink)}

.btn-quiet{background:transparent;
border-color:transparent;
color:var(--ink)}

.btn-danger{background:var(--surface);
border-color:var(--status-declined);
color:var(--status-declined)}

.field input,.field textarea,.field select{border-radius:var(--radius);
border-color:var(--line);
min-height:44px;
padding:11px 12px}

.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline:3px solid var(--focus);
outline-offset:1px}

.field small,.form-note,.mini,.caption{font-size:13px}

.card,.notice,.sheet,.experience-sheet,.employer-search-sheet,.employer-open-link,.company-check-sheet,.dashboard-section,.onboarding-sheet,.auth-sheet,.dialog{border-radius:var(--radius)}

.avatar{border-radius:50%}

.icon-button,.close{min-width:44px;
min-height:44px}

.icon{width:20px;
height:20px;
stroke:currentColor;
stroke-width:1.5;
fill:none;
vertical-align:middle}

.fact-row{border-top:1px solid var(--line);
border-bottom:0;
padding:18px 0}

.fact-row .fact-title{font-size:18px;
font-weight:700}

.fact-context{font-size:14px;
color:var(--muted)}

.person-chip{min-height:32px}

.stamp{position:relative;
display:inline-flex;
align-items:center;
gap:7px;
min-height:40px}

.stamp svg{width:40px;
height:40px;
overflow:visible}

.stamp-ring{fill:none;
stroke:currentColor;
stroke-width:1.5}

.stamp-ring-inner{display:none}

.stamp--strong .stamp-ring-inner{display:block}

.stamp--personal .stamp-ring{stroke-dasharray:3 3}

.stamp--revoked .stamp-slash{stroke:currentColor;
stroke-width:2}

.stamp-copy{display:grid;
line-height:1.05}

.stamp-copy b{font-size:13px}

.stamp-copy small{font-size:13px;
color:var(--muted)}

.status-badge{display:inline-flex;
align-items:center;
gap:6px;
border:1px solid currentColor;
border-radius:var(--radius);
padding:6px 9px;
font-size:13px;
font-weight:700}

.status-verified{color:var(--status-verified)}

.status-pending{color:var(--status-pending)}

.status-declined{color:var(--status-declined)}

.status-self{color:var(--status-self)}

.modal{z-index:var(--z-modal)}

.dialog{max-width:560px}

.modal-actions{display:flex;
gap:8px;
justify-content:flex-end;
margin-top:24px;
flex-wrap:wrap}

.consent-line,.check,.toggle-line{min-height:44px;
align-items:center}

.consent-line input,.check input,.toggle-line input{position:absolute;
opacity:0;
pointer-events:none}

.consent-line span:before,.check span:before,.toggle-line span:before{content:"";
display:inline-grid;
place-items:center;
width:20px;
height:20px;
border:1px solid var(--status-self);
margin-right:10px;
vertical-align:-5px;
border-radius:var(--radius);
background:var(--surface)}

.consent-line input:checked+span:before,.check input:checked+span:before{content:"✓";
font-size:14px;
font-weight:800;
color:var(--status-verified);
border-color:var(--status-verified)}

select{appearance:none;
background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
background-position:calc(100% - 17px) 19px,calc(100% - 12px) 19px;
background-size:5px 5px,5px 5px;
background-repeat:no-repeat}

.mobile-sticky-cta{background:var(--surface);
border-top:1px solid var(--line)}

.mobile-sticky-cta button{min-height:52px}

.mobile-nav{background:var(--surface);
border-top:1px solid var(--line)}

.mobile-nav button{min-height:52px;
border:0;
background:transparent;
color:var(--ink)}

.mobile-nav button.active{background:var(--soft);
font-weight:800}

.hero-v11 h1,.content-page h1,.auth-sheet h1,.onboarding-sheet h1{font-family:var(--font-serif);
letter-spacing:-0.02em}

.hero-v11 em,.content-page em,.employer-strip em,.final-cta em{color:var(--accent)}

.hero-proof{font-size:14px}

.hero-proof span{font-size:14px}

.example-label{font-size:13px}

.passport-paper{border-radius:var(--radius)}

.passport-paper .fact-row{font-size:14px}

.employer-strip{border-radius:var(--radius);
background:var(--ink);
color:var(--white)}

.faq-preview details,.content-page details{border-top:1px solid var(--line);
padding:18px 0}

.faq-preview summary,.content-page summary{min-height:44px;
display:flex;
align-items:center;
justify-content:space-between;
cursor:pointer}

.confirm-page-v11{min-height:100vh;
background:var(--ink);
padding:24px 16px}

.confirm-sheet{max-width:640px;
margin:0 auto;
background:var(--surface);
padding:24px;
box-shadow:0 20px 60px var(--outside-rgba-0-0-0-12);
border-radius:var(--radius)}

.confirm-logo{max-width:640px;
margin:0 auto 18px}

.confirm-quote{margin-top:32px}

.confirm-choice{margin-top:24px}

.confirm-row{display:grid;
grid-template-columns:1fr 44px;
align-items:center;
min-height:64px;
border-top:1px solid var(--line);
cursor:pointer}

.confirm-row i{display:grid;
place-items:center;
opacity:.25}

.confirm-row input:checked~i{opacity:1;
color:var(--status-verified)}

.confirm-actions{position:sticky;
bottom:0;
background:var(--surface);
padding-top:12px;
display:grid;
gap:8px}

.confirm-growth{display:flex;
justify-content:space-between;
gap:16px;
align-items:center;
border-top:1px solid var(--line);
margin-top:24px;
padding-top:24px}

.notification-item{padding:14px 0;
border-top:1px solid var(--line)}

.notification-item.unread{font-weight:700}

.notification-item p{font-weight:400;
margin:4px 0;
color:var(--muted)}

.share-row{display:flex;
justify-content:space-between;
align-items:center;
gap:16px;
padding:14px 0;
border-top:1px solid var(--line)}

.share-row span{display:block;
color:var(--muted);
font-size:13px}

.about-grid,.design-grid{display:grid;
grid-template-columns:1fr 1fr;
gap:48px;
margin-top:48px}

.design-panel{background:var(--surface);
border:1px solid var(--line);
padding:24px;
border-radius:var(--radius)}

.stamp-showcase{display:flex;
gap:18px;
flex-wrap:wrap;
align-items:center}

.progress-steps{display:grid;
grid-template-columns:repeat(4,1fr);
gap:4px}

.progress-steps span{padding:10px 8px;
border-top:2px solid var(--line);
font-size:13px;
color:var(--muted)}

.progress-steps span.active{border-color:var(--ink);
color:var(--ink);
font-weight:700}

.skill-suggestions{display:flex;
gap:8px;
flex-wrap:wrap}

.suggestion,.selected-skill{border:1px solid var(--line);
background:var(--surface);
border-radius:var(--radius);
padding:9px 11px;
min-height:44px}

.selected-skill{display:inline-flex;
align-items:center;
gap:8px}

.selected-skill button{border:0;
background:none;
min-width:24px;
min-height:24px}

.onboarding-skills-list{display:flex;
gap:8px;
flex-wrap:wrap}

.onboarding-sheet{max-width:760px;
margin:32px auto;
padding:32px;
background:var(--surface);
border:1px solid var(--line)}

.onboarding-sheet-head{display:flex;
gap:18px;
margin-bottom:28px}

.onboarding-sheet-head>span{font-family:var(--font-serif);
font-size:32px}

.onboarding-footer{display:flex;
justify-content:space-between;
gap:16px;
border-top:1px solid var(--line);
padding-top:20px;
margin-top:24px;
font-size:14px;
color:var(--muted)}

.btn,.nav a,.nav button,.mobile-login,.mobile-nav button,.icon-button,.close,.suggestion,.selected-skill{touch-action:manipulation}

@media(max-width:800px){.container{width:min(100% - 24px,680px)}

.nav{display:none}

.mobile-login{display:inline-flex;
min-height:44px;
border:1px solid var(--line);
background:var(--surface);
border-radius:var(--radius);
padding:8px 12px;
align-items:center}

.about-grid,.design-grid{grid-template-columns:1fr;
gap:24px}

.progress-steps{grid-template-columns:repeat(2,1fr)}

.confirm-sheet{padding:18px}

.confirm-growth,.onboarding-footer{display:grid}

.hero-v11 h1{font-size:44px}

.section-heading h2,.employer-strip h2,.privacy-section h2,.final-cta h2{font-size:32px}

.fact-center blockquote{font-size:30px}

.passport-paper .fact-row .fact-title{font-size:16px}

.confirm-actions{margin-left:-18px;
margin-right:-18px;
padding:12px 18px}

.mobile-sticky-cta{position:fixed;
left:0;
right:0;
bottom:0;
z-index:60;
padding:8px 12px}

.mobile-sticky-cta button{width:100%;
border:0;
background:var(--ink);
color:var(--white);
border-radius:var(--radius);
font-weight:800}

.footer{padding-bottom:88px}

}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto;
animation:none;
transition:none}

}


.field input[type=file]{padding:6px}

.field input[type=file]::file-selector-button{min-height:36px;
border:1px solid var(--line);
background:var(--soft);
color:var(--ink);
border-radius:var(--radius);
padding:6px 10px;
margin-right:8px;
font:600 13px var(--font-sans);
cursor:pointer}

.field input[type=file]:focus-visible{outline:3px solid var(--focus);
outline-offset:1px}


.badge{border-radius:var(--radius);
background:transparent;
border:1px solid currentColor;
color:var(--status-self);
font-size:13px}

.badge.green{color:var(--status-verified);
background:transparent}

.badge.yellow{color:var(--status-pending);
background:transparent}

.badge.red{color:var(--status-declined);
background:transparent}


@media print{.topbar,.mobile-nav,.footer,.dash-actions,.mobile-sticky-cta,.btn,.profile-danger{display:none}

.main{padding:0}

.dashboard-section,.experience-sheet,.passport-section-v11{break-inside:avoid}

.shell{background:var(--white)}

.container{width:100%;
max-width:none}

}


.funnel-grid{display:grid;
grid-template-columns:repeat(7,minmax(0,1fr));
gap:12px;
margin-top:16px}

.funnel-grid>div{border-top:1px solid var(--line);
padding-top:12px}

.funnel-grid b{display:block;
font-size:24px}

.funnel-grid span{display:block;
font-size:13px;
color:var(--muted)}

@media(max-width:900px){.funnel-grid{grid-template-columns:repeat(2,1fr)}

}



/* V14 UX/UI reconstruction: document-first, evidence-first, not SaaS-card-first */
:root{
  --bg:#f3f0e8;
--surface:#fbfaf6;
--surface2:#eeebe2;
--ink:#173f35;
--muted:#6b706b;
--line:#cfc9bc;

  --accent:#b96b55;
--status-verified:#245d4b;
--status-pending:#8a6b2f;
--status-declined:#9b4a45;
--status-self:#6f7873;

  --verified-bg:#e7eee9;
--pending-bg:#f2ead7;
--declined-bg:#f1e3e1;
--self-bg:#e9ebe8;

  --radius:3px;
--shadow:0 16px 40px rgba(23,63,53,.10);

}


body{background:var(--bg);
font-size:16px;
line-height:1.5}


button,a,input,textarea,select{font-size:inherit}


.topbar{height:78px;
background:rgba(243,240,232,.94);
border-bottom:1px solid var(--line);
backdrop-filter:none}


.brand{padding:0;
border:0;
background:transparent;
color:var(--ink)}


.brand-lockup{display:inline-flex;
align-items:center;
gap:9px;
font-size:22px;
letter-spacing:-.04em}


.brand-sign{display:grid;
place-items:center;
width:31px;
height:31px;
border:1.5px solid var(--ink);
font-family:"Berenis REPA",serif;
font-size:20px;
line-height:1}


.nav{gap:18px}

.nav a{color:var(--ink);
text-decoration:none;
font-size:14px}

.nav a:hover{text-decoration:underline;
text-underline-offset:4px}


.nav .top-action{border:0;
border-left:1px solid var(--line);
border-radius:0;
background:transparent;
padding:8px 0 8px 18px;
color:var(--ink);
font-weight:700}


.container{max-width:1240px;
width:calc(100% - 48px)}


.main{padding:0 0 80px}


.landing-v11{overflow:hidden}

.hero-v11{padding:82px 0 72px;
display:grid;
grid-template-columns:minmax(0,1fr) minmax(430px,.82fr);
gap:76px;
align-items:center}


.hero-copy-v11 h1{font-family:"Berenis REPA",serif;
font-size:clamp(48px,5.7vw,76px);
font-weight:400;
line-height:.99;
letter-spacing:-.045em;
color:var(--ink);
margin:18px 0 22px}


.hero-copy-v11 h1 em,.landing-v11 em,.content-page h1 em,.employer-page h1 i,.example-page h1 em{font-style:italic;
color:var(--accent)}


.hero-lead{font-size:19px;
line-height:1.6;
max-width:650px;
color:#4f5a54}

.hero-proof{display:flex;
gap:18px;
flex-wrap:wrap;
margin-top:22px;
padding-top:17px;
border-top:1px solid var(--line);
font-size:13px;
color:var(--muted)}


.hero-proof b{color:var(--ink)}

.principle{margin-top:20px;
padding-left:16px;
border-left:2px solid var(--accent);
display:grid;
gap:3px}

.principle span{font-size:12px;
letter-spacing:.12em;
text-transform:uppercase;
color:var(--muted)}

.principle b{font-family:"Berenis REPA",serif;
font-size:19px;
font-weight:400}


.hero-doc-stage{position:relative}

.example-label{position:absolute;
left:-14px;
top:-18px;
font-size:11px;
letter-spacing:.16em;
color:var(--muted);
transform:rotate(-3deg)}


.passport-paper{background:#faf8f1;
border:1px solid #c9c1b3;
box-shadow:18px 24px 50px rgba(30,44,39,.13);
padding:28px 30px;
color:var(--ink);
position:relative}

.passport-paper:before{content:"";
position:absolute;
inset:10px;
border:1px solid rgba(23,63,53,.09);
pointer-events:none}

.passport-paper--hero{transform:rotate(1.1deg)}


.passport-top{display:flex;
justify-content:space-between;
align-items:center;
padding-bottom:18px;
border-bottom:1px solid var(--line);
font-weight:800;
letter-spacing:.08em}

.passport-top small{font-size:10px;
color:var(--muted);
font-weight:600}

.passport-person{display:flex;
gap:15px;
align-items:center;
padding:24px 0 18px}

.passport-avatar{width:54px;
height:54px;
border:1px solid var(--line);
display:grid;
place-items:center;
font-weight:800;
background:#eeeae0}

.passport-person h2{font-family:"Berenis REPA",serif;
font-size:29px;
font-weight:400;
margin:0}

.passport-person p{margin:2px 0 0;
color:var(--muted);
font-size:13px}

.passport-note{display:flex;
justify-content:space-between;
gap:16px;
padding:10px 0 14px;
border-bottom:1px solid var(--line);
font-size:11px;
color:var(--muted);
text-transform:uppercase;
letter-spacing:.08em}

.passport-note b{font-size:11px;
color:var(--ink);
text-transform:none;
letter-spacing:0;
font-weight:600}

.passport-fact{padding:17px 0;
border-top:1px solid var(--line)}


.fact-row{border-top:1px solid var(--line);
padding:18px 0}

.fact-row:first-child{border-top:0}

.fact-row .fact-title{font-family:"Berenis REPA",serif;
font-size:22px}

.fact-row .fact-context{color:var(--muted);
font-size:14px}

.fact-row .fact-source{font-size:13px}

.fact-row .fact-state{display:flex;
align-items:center;
gap:10px;
margin-top:8px}

.fact-row .status-text{font-size:12px;
color:var(--muted)}


.status-badge,.badge.status-verified,.badge.status-pending,.badge.status-declined,.badge.status-self{border-radius:2px;
padding:5px 7px;
border:1px solid transparent;
font-size:12px;
background:transparent}

.status-verified,.badge.status-verified{color:var(--status-verified);
background:var(--verified-bg);
border-color:#b8c9bf}

.status-pending,.badge.status-pending{color:var(--status-pending);
background:var(--pending-bg);
border-color:#d9c89a}

.status-declined,.badge.status-declined{color:var(--status-declined);
background:var(--declined-bg);
border-color:#d8b8b4}

.status-self,.badge.status-self{color:var(--status-self);
background:var(--self-bg);
border-color:#c8ceca}


.steps-section,.fact-center,.roles-section,.privacy-section,.faq-preview{padding:76px 0;
border-top:1px solid var(--line)}


.section-kicker,.fact-center-label{font-size:11px;
letter-spacing:.15em;
text-transform:uppercase;
color:var(--muted);
font-weight:800}

.section-heading{display:grid;
grid-template-columns:1fr .8fr;
gap:60px;
align-items:end;
margin:12px 0 38px}

.section-heading h2,.privacy-section h2{font-family:"Berenis REPA",serif;
font-size:42px;
font-weight:400;
line-height:1.05;
letter-spacing:-.035em;
margin:0}

.section-heading p{margin:0;
color:var(--muted);
max-width:520px}

.steps-grid{max-width:900px}

.step-row{display:grid;
grid-template-columns:70px 1fr;
gap:25px;
padding:20px 0;
border-top:1px solid var(--line)}

.step-row>span{font-family:"Berenis REPA",serif;
font-size:22px;
color:var(--accent)}

.step-row h3{font-family:"Berenis REPA",serif;
font-size:24px;
font-weight:400;
margin:0 0 4px}

.step-row p{margin:0;
color:var(--muted)}


.fact-center-grid{display:grid;
grid-template-columns:1.25fr .75fr;
gap:80px;
margin-top:30px;
align-items:center}

.quote-mark{font-family:"Berenis REPA",serif;
font-size:80px;
color:var(--accent);
line-height:.5}

.fact-center blockquote{font-family:"Berenis REPA",serif;
font-size:clamp(34px,4vw,52px);
line-height:1.04;
letter-spacing:-.035em;
margin:15px 0 32px;
max-width:720px}

.fact-source-large{display:flex;
align-items:center;
gap:13px}

.person-avatar{width:42px;
height:42px;
border:1px solid var(--line);
display:grid;
place-items:center;
background:#eeeae0;
font-size:12px;
font-weight:800}

.fact-source-large>div{display:grid}

.fact-source-large span{font-size:13px;
color:var(--muted)}

.fact-source-large small{font-size:12px;
color:var(--muted)}

.fact-center aside{border-left:1px solid var(--line);
padding-left:30px;
display:grid;
gap:7px}

.fact-center aside>span,.fact-center aside>strong{font-size:11px;
text-transform:uppercase;
letter-spacing:.1em;
color:var(--muted)}

.fact-center aside>b{font-family:"Berenis REPA",serif;
font-size:21px;
font-weight:400;
margin-bottom:7px}


.roles-grid{display:grid;
grid-template-columns:repeat(3,1fr);
margin-top:34px}

.roles-grid article{padding:24px 28px;
border-left:1px solid var(--line)}

.roles-grid article:first-child{border-left:0}

.roles-grid article>span{font-size:11px;
text-transform:uppercase;
letter-spacing:.12em;
color:var(--muted)}

.roles-grid h3{font-family:"Berenis REPA",serif;
font-size:26px;
font-weight:400;
line-height:1.1}

.roles-grid p{color:var(--muted)}


.employer-strip{margin:0 calc(50% - 50vw);
padding:72px max(24px,calc((100vw - 1240px)/2));
background:var(--ink);
color:#f5f1e8;
display:grid;
grid-template-columns:1fr .6fr;
gap:80px;
align-items:end}

.section-kicker.light{color:#b7c9c1}

.employer-strip h2{font-family:"Berenis REPA",serif;
font-size:52px;
line-height:1;
letter-spacing:-.035em;
font-weight:400;
margin:10px 0 18px}

.employer-strip p{max-width:650px;
color:#d2d9d5}

.employer-strip-note{border-left:1px solid rgba(255,255,255,.2);
padding-left:26px;
display:grid;
gap:6px}

.employer-strip-note b{font-family:"Berenis REPA",serif;
font-size:24px;
font-weight:400}

.employer-strip-note span{font-size:13px;
color:#b7c9c1}


.privacy-section{display:grid;
grid-template-columns:1fr 1fr;
gap:80px}

.privacy-list{border-top:1px solid var(--line)}

.privacy-list>div{display:grid;
grid-template-columns:150px 1fr;
gap:20px;
padding:18px 0;
border-bottom:1px solid var(--line)}

.privacy-list b{font-size:14px}

.privacy-list span{color:var(--muted)}


.faq-preview .section-heading{margin-bottom:18px}

.faq-preview{padding-bottom:90px}


/* dashboards */
.dashboard-v11{max-width:1050px;
margin:0 auto}

.dash-header{padding:50px 0 28px;
border-bottom:1px solid var(--line)}

.profile-head h1{font-family:"Berenis REPA",serif;
font-size:46px;
font-weight:400}

.profile-head p{margin:3px 0 0;
color:var(--muted)}

.dash-actions{display:flex;
gap:10px;
flex-wrap:wrap;
margin-top:22px}

.next-step{margin:26px 0 46px;
padding:25px 0;
border-top:2px solid var(--ink);
border-bottom:1px solid var(--line);
display:flex;
justify-content:space-between;
align-items:center;
gap:30px}

.next-step>div>span{font-size:11px;
letter-spacing:.13em;
color:var(--accent);
font-weight:800}

.next-step h2{font-family:"Berenis REPA",serif;
font-size:32px;
font-weight:400;
margin:5px 0}

.next-step p{margin:0;
color:var(--muted)}

.dashboard-section{margin:52px 0}

.section-heading-row{display:flex;
justify-content:space-between;
align-items:end;
gap:25px;
border-bottom:1px solid var(--line);
padding-bottom:14px}

.section-heading-row h2{font-family:"Berenis REPA",serif;
font-size:32px;
font-weight:400;
margin:4px 0 0}

.metric-inline{font-family:"Berenis REPA",serif;
font-size:24px;
font-weight:400;
white-space:nowrap}

.metric-inline small{font-family:Andika REPA,sans-serif;
font-size:11px;
text-transform:uppercase;
letter-spacing:.1em;
color:var(--muted);
font-weight:700}

.experience-sheet{border-bottom:1px solid var(--line);
padding:26px 0}

.experience-head{display:flex;
justify-content:space-between;
gap:20px}

.experience-head>div>span{font-size:11px;
text-transform:uppercase;
letter-spacing:.1em;
color:var(--muted)}

.experience-head h3{font-family:"Berenis REPA",serif;
font-size:28px;
font-weight:400;
margin:4px 0}

.experience-head p{margin:0;
color:var(--muted)}

.skill-add-v11{display:grid;
grid-template-columns:1fr 1fr 1fr auto;
gap:12px;
align-items:end;
padding:18px 0;
border-bottom:1px solid var(--line)}

.skill-list-v11 .fact-row{position:relative}

.skill-list-v11 .text-danger{border:0;
background:none;
color:var(--status-declined);
font-size:12px;
padding:5px 0}

.access-section{display:grid;
grid-template-columns:1fr auto;
gap:50px;
padding:28px 0;
border-top:1px solid var(--line);
border-bottom:1px solid var(--line)}

.access-controls{display:grid;
gap:14px;
justify-items:start}

.toggle-line{display:flex;
gap:9px;
align-items:center;
font-size:13px}

.profile-collapsed{border-bottom:1px solid var(--line)}

.profile-collapsed summary{cursor:pointer;
padding:18px 0;
font-family:"Berenis REPA",serif;
font-size:23px}

.profile-edit-grid{display:grid;
grid-template-columns:1fr .6fr;
gap:40px;
padding:15px 0 30px}


/* employer */
.employer-page{max-width:1050px;
margin:0 auto}

.employer-page-head{padding:70px 0 42px;
border-bottom:1px solid var(--line)}

.employer-page-head h1{font-family:"Berenis REPA",serif;
font-size:clamp(48px,6vw,72px);
font-weight:400;
line-height:.98;
letter-spacing:-.04em;
margin:15px 0}

.employer-page-head p{max-width:650px;
color:var(--muted);
font-size:18px}

.employer-reading{padding:58px 0}

.reading-profile{display:flex;
justify-content:space-between;
gap:30px;
align-items:center;
padding:25px 0;
border-bottom:1px solid var(--line)}

.reading-facts>div{display:grid;
grid-template-columns:32px 1fr;
gap:13px;
padding:19px 0;
border-bottom:1px solid var(--line)}

.reading-facts>div>span{color:var(--status-verified)}

.reading-facts b{font-family:"Berenis REPA",serif;
font-size:22px;
font-weight:400}

.reading-facts small{display:block;
color:var(--muted);
font-size:13px}

.employer-logic{display:grid;
grid-template-columns:1fr 1fr;
gap:70px;
padding:58px 0;
border-top:1px solid var(--line)}

.logic-main h2{font-family:"Berenis REPA",serif;
font-weight:400;
font-size:40px;
line-height:1.05}

.logic-lines>div{padding:16px 0;
border-bottom:1px solid var(--line);
display:grid;
grid-template-columns:130px 1fr;
gap:20px}

.logic-lines span{color:var(--muted)}


/* forms and confirmation */
.content-page{max-width:820px;
margin:0 auto;
padding:72px 0}

.content-page h1,.example-page h1{font-family:"Berenis REPA",serif;
font-weight:400;
font-size:clamp(46px,6vw,70px);
line-height:1;
letter-spacing:-.04em;
margin:14px 0 35px}

.content-page .lead{font-size:20px;
color:var(--muted);
max-width:720px}

.content-page details{border-top:1px solid var(--line);
padding:18px 0}

.content-page details:last-child{border-bottom:1px solid var(--line)}

.content-page summary{cursor:pointer;
display:flex;
justify-content:space-between;
font-family:"Berenis REPA",serif;
font-size:23px}

.content-page details p{max-width:700px;
color:var(--muted);
margin:12px 0 0}

.paper-callout{background:#faf8f1;
border:1px solid #c9c1b3;
padding:30px;
box-shadow:12px 18px 40px rgba(30,44,39,.08)}


/* buttons: one strong hierarchy */
.btn{border-radius:2px;
box-shadow:none}

.btn:hover{transform:none}

.btn-primary{background:var(--ink);
border-color:var(--ink)}

.btn-quiet{background:transparent;
border:0;
color:var(--ink)}

.btn-secondary{background:transparent;
border-color:var(--ink);
color:var(--ink)}

.btn-danger{background:transparent;
border-color:var(--status-declined);
color:var(--status-declined)}


@media (max-width:900px){.hero-v11{grid-template-columns:1fr;
gap:40px}

.hero-doc-stage{max-width:680px;
margin:auto}

.section-heading,.fact-center-grid,.privacy-section,.employer-strip,.employer-logic{grid-template-columns:1fr;
gap:30px}

.roles-grid{grid-template-columns:1fr}

.roles-grid article{border-left:0;
border-top:1px solid var(--line)}

.roles-grid article:first-child{border-top:0}

.skill-add-v11{grid-template-columns:1fr 1fr}

.access-section{grid-template-columns:1fr}

.profile-edit-grid{grid-template-columns:1fr}

}


@media (max-width:620px){.container{width:calc(100% - 32px)}

.topbar{height:64px;
padding:0 16px}

.nav{display:none}

.mobile-login{display:block}

.hero-v11{padding:48px 0 50px}

.hero-copy-v11 h1{font-size:46px}

.hero-lead{font-size:17px}

.hero-proof{gap:9px;
display:grid}

.passport-paper{padding:22px 20px}

.passport-paper--hero{transform:none}

.passport-person h2{font-size:25px}

.fact-row .fact-title{font-size:20px}

.section-heading h2,.privacy-section h2{font-size:35px}

.step-row{grid-template-columns:42px 1fr;
gap:13px}

.fact-center blockquote{font-size:35px}

.employer-strip{padding:55px 20px;
margin-left:-16px;
margin-right:-16px}

.employer-strip h2{font-size:40px}

.privacy-list>div{grid-template-columns:1fr;
gap:5px}

.dash-header{padding-top:34px}

.profile-head h1{font-size:36px}

.next-step{display:block}

.next-step .btn{margin-top:16px;
width:100%}

.section-heading-row{display:block}

.metric-inline{display:block;
margin-top:10px}

.skill-add-v11{grid-template-columns:1fr}

.employer-page-head{padding-top:45px}

.employer-page-head h1{font-size:46px}

.reading-profile{display:block}

.content-page{padding:48px 0}

.content-page h1,.example-page h1{font-size:46px}

.mobile-nav{background:rgba(250,248,241,.98);
border-top:1px solid var(--line);
box-shadow:none}

.mobile-nav button{font-size:12px;
color:var(--muted)}

.mobile-nav button.active{color:var(--ink);
font-weight:800}

}



/* v14.1 coherence pass: document-first, no dashboard card soup */
:root{
  --paper:#f7f4ec;

  --surface:#fbfaf6;

  --ink:#183f35;

  --muted:#69736e;

  --line:#d8d3c8;

  --line-strong:#bdb6a8;

  --accent:#b96b55;

  --status-verified:#245d4b;

  --status-pending:#8a6b2f;

  --status-declined:#9b4a45;

  --status-self:#6f7873;

  --space-1:4px;
--space-2:8px;
--space-3:12px;
--space-4:16px;
--space-5:24px;
--space-6:32px;
--space-7:48px;
--space-8:64px;

  --radius:3px;

}


.card{background:transparent;
border:0;
border-radius:0;
box-shadow:none}


.badge{border:0;
padding:0;
background:transparent;
border-radius:0;
font-size:12px}


.badge.green,.badge.status-verified{color:var(--status-verified)}


.badge.yellow,.badge.status-pending{color:var(--status-pending)}


.badge.red,.badge.status-declined{color:var(--status-declined)}


.fact-row{border-top:1px solid var(--line);
padding:20px 0;
display:grid;
grid-template-columns:minmax(0,1fr) auto;
gap:28px;
align-items:center}


.fact-row:last-child{border-bottom:1px solid var(--line)}


.fact-row--compact{padding:15px 0;
grid-template-columns:minmax(0,1fr) auto}


.fact-main{min-width:0}

.fact-title{font-family:"Berenis REPA",serif;
font-size:22px;
line-height:1.15;
color:var(--ink)}


.fact-row--compact .fact-title{font-family:Andika REPA,sans-serif;
font-size:15px;
font-weight:700}


.fact-context{margin-top:4px;
color:var(--muted);
font-size:14px}


.fact-source{margin-top:11px;
display:flex;
gap:14px;
align-items:center;
flex-wrap:wrap}


.person-chip{display:inline-flex;
gap:8px;
align-items:center}

.person-chip .person-avatar{width:28px;
height:28px;
font-size:10px}

.person-chip b{font-size:13px}

.person-chip small{display:block;
color:var(--muted);
font-size:12px}


.fact-date{font-size:12px;
color:var(--muted)}


.fact-state{display:grid;
justify-items:end;
gap:5px;
min-width:122px}

.status-text{font-size:11px;
color:var(--muted);
text-align:right}


.fact-row.is-verified .status-text{color:var(--status-verified)}


.fact-row-with-action{border-bottom:1px solid var(--line);
padding-bottom:8px}

.fact-row-with-action .fact-row{border-bottom:0}

.text-danger{display:block;
margin-left:auto;
border:0;
background:none;
color:var(--status-declined);
font-size:12px;
padding:6px 0}


.experience-sheet{padding:30px 0;
border-bottom:0}

.experience-head{align-items:flex-start}

.experience-facts{margin-top:8px}

.request-line{display:flex;
justify-content:space-between;
align-items:center;
gap:16px;
border-top:1px dashed var(--line);
padding-top:14px;
margin-top:4px;
color:var(--muted);
font-size:13px}


.dashboard-priority{margin:22px 0 0;
padding:20px 0;
border-top:2px solid var(--ink);
border-bottom:1px solid var(--line);
display:grid;
grid-template-columns:.8fr 1.2fr;
gap:40px}

.dashboard-priority h2{font-family:"Berenis REPA",serif;
font-size:30px;
font-weight:400;
margin:5px 0}

.dashboard-priority p{color:var(--muted);
margin:0}

.contact-request-list{border-left:1px solid var(--line);
padding-left:24px}

.contact-request-row{display:flex;
justify-content:space-between;
align-items:center;
gap:20px;
padding:0 0 0 0}

.contact-request-row b{display:block}

.contact-request-row small{display:block;
color:var(--muted);
margin-top:4px}

.contact-request-row .actions{display:flex;
gap:8px;
flex-wrap:wrap;
justify-content:flex-end}


.next-step{margin-top:28px}

.next-step h2{max-width:700px}


.skill-add-v11{border-top:1px solid var(--line);
padding-top:20px}

.skill-list-v11{margin-top:8px}


.access-section{align-items:center}

.access-section h2{font-family:"Berenis REPA",serif;
font-size:30px;
font-weight:400;
margin:4px 0}

.access-section p{color:var(--muted)}


.profile-data-tools{display:grid;
align-content:start;
gap:8px;
padding-top:4px}

.profile-data-tools .btn{justify-content:flex-start;
text-align:left}


.employer-preview{background:#1b4036;
color:#f7f4ec;
border:1px solid #31584d;
padding:30px;
box-shadow:none}

.employer-preview-label{color:var(--muted);
font-size:11px;
letter-spacing:.13em;
margin-bottom:10px}

.preview-top{display:flex;
justify-content:space-between;
gap:28px;
align-items:flex-start}

.preview-top h3{font-family:"Berenis REPA",serif;
font-weight:400;
font-size:34px;
margin:8px 0 3px}

.preview-top p{color:#cbd5d0;
margin:0}

.preview-kicker{font-size:10px;
letter-spacing:.13em;
color:#b7c9c1}

.preview-status{text-align:right}

.preview-status b{display:block;
font-family:"Berenis REPA",serif;
font-size:28px;
font-weight:400}

.preview-status span{font-size:11px;
color:#b7c9c1}

.preview-rule{border-top:1px solid rgba(255,255,255,.22);
margin:25px 0}

.preview-block-head{display:flex;
justify-content:space-between;
gap:20px;
margin-bottom:4px}

.preview-block-head span{font-size:10px;
letter-spacing:.12em}

.preview-block-head small{color:#aebeb8}

.preview-fact{display:grid;
grid-template-columns:28px minmax(0,1fr) auto;
gap:12px;
align-items:start;
padding:18px 0;
border-top:1px solid rgba(255,255,255,.16)}

.preview-fact b{font-family:"Berenis REPA",serif;
font-size:20px;
font-weight:400}

.preview-fact p,.preview-fact small{display:block;
color:#cbd5d0;
margin:4px 0 0;
font-size:12px}

.preview-fact em{font-style:normal;
color:#b7c9c1;
font-size:11px;
white-space:nowrap}

.preview-fact--pending{opacity:.72}

.preview-bottom{display:flex;
justify-content:space-between;
gap:20px;
border-top:1px solid rgba(255,255,255,.22);
padding-top:17px;
margin-top:4px;
color:#cbd5d0;
font-size:12px}

.preview-note{color:#b7c9c1}


.public-passport-note{margin:40px 0 0;
border-top:1px solid var(--line);
padding:18px 0 0;
color:var(--muted);
font-size:13px;
max-width:760px}


.public-passport-v11 .passport-summary{border-top:2px solid var(--ink);
border-bottom:1px solid var(--line);
background:transparent}


.public-passport-v11 .passport-section-v11{padding:50px 0}

.public-passport-v11 .passport-section-v11 h2{font-family:"Berenis REPA",serif;
font-size:34px;
font-weight:400;
margin:5px 0 24px}

.source-list{border-top:1px solid var(--line)}


.source-row{display:flex;
gap:14px;
padding:18px 0;
border-bottom:1px solid var(--line);
align-items:flex-start}

.source-row b{font-size:14px}

.source-row p{margin:3px 0;
color:var(--muted);
font-size:13px}

.source-row small{color:var(--muted);
font-size:12px}


.employer-page-v11 .employer-hero-v11{min-height:0}

.employer-page-v11 .final-cta{border-top:1px solid var(--line)}


.topbar .brand,.topbar .quiet-link,.topbar .top-action{font-family:Andika REPA,sans-serif}

.footer a{color:inherit}


@media(max-width:760px){.fact-row{grid-template-columns:1fr;
gap:13px}

.fact-state{justify-items:start;
display:flex;
align-items:center;
gap:8px}

.status-text{text-align:left}

.dashboard-priority{grid-template-columns:1fr;
gap:18px}

.contact-request-list{border-left:0;
border-top:1px solid var(--line);
padding:18px 0 0}

.contact-request-row{display:block}

.contact-request-row .actions{justify-content:flex-start;
margin-top:14px}

.preview-top,.preview-bottom,.preview-block-head{display:block}

.preview-status{text-align:left;
margin-top:16px}

.preview-fact{grid-template-columns:24px 1fr}

.preview-fact em{grid-column:2}

.preview-bottom .preview-note{display:block;
margin-top:7px}

.employer-preview{padding:22px 18px}

.preview-top h3{font-size:28px}

.public-passport-v11 .passport-section-v11{padding:38px 0}

}



/* v14.2 — passport typography and seal alignment */
.fact-row{grid-template-columns:minmax(0,1fr) minmax(155px,190px);
align-items:center;
gap:24px;
}


.fact-title{font-family:var(--font-sans);
font-size:20px;
line-height:1.25;
font-weight:700;
letter-spacing:-.015em;
}


.fact-context{font-family:var(--font-sans);
line-height:1.45;
}


.fact-source{font-family:var(--font-sans);
}


.fact-state{min-width:155px;
display:grid;
justify-items:end;
align-content:center;
gap:5px;
text-align:right;
}


.stamp{font-family:var(--font-sans);
display:inline-flex;
align-items:center;
gap:8px;
min-height:44px;
color:var(--ink);
}


.stamp svg{width:44px;
height:44px;
flex:none;
}


.stamp-copy{display:grid;
gap:2px;
line-height:1.05;
text-align:left;
}


.stamp-copy b{font-family:var(--font-sans);
font-size:12px;
font-weight:800;
letter-spacing:.02em;
}


.stamp-copy small{font-family:var(--font-sans);
font-size:10px;
color:var(--muted);
white-space:nowrap;
}


.status-text{font-family:var(--font-sans);
font-size:12px;
line-height:1.2;
font-weight:700;
}


.trust-level{font-family:var(--font-sans);
font-size:11px;
line-height:1.25;
color:var(--muted);
max-width:175px;
}


.fact-row--compact{grid-template-columns:minmax(0,1fr) minmax(135px,165px);
}


.fact-row--compact .fact-title{font-family:var(--font-sans);
font-size:15px;
font-weight:700;
}


.passport-paper .fact-row{grid-template-columns:minmax(0,1fr) minmax(145px,175px);
}


@media(max-width:760px){.fact-row,.fact-row--compact,.passport-paper .fact-row{grid-template-columns:1fr;
gap:12px;
}

.fact-state{min-width:0;
justify-items:start;
text-align:left;
display:grid;
grid-template-columns:auto 1fr;
column-gap:10px;
align-items:center;
}

.fact-state .stamp{grid-row:1 / span 2;
}

.status-text,.trust-level{text-align:left;
}

.trust-level{max-width:none;
}

.stamp-copy{display:none;
}

}



/* v15 — product website, not marketing landing */
.site-home{max-width:1180px;
margin:0 auto;
padding-bottom:20px}


.home-intro{display:grid;
grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);
gap:72px;
padding:62px 0 52px;
border-bottom:1px solid var(--line)}


.home-intro-copy h1{font-family:var(--font-serif);
font-weight:400;
font-size:clamp(46px,5.2vw,70px);
line-height:1.04;
letter-spacing:-.035em;
margin:16px 0 22px;
max-width:800px}


.home-intro-copy h1 em{font-style:italic;
color:var(--accent)}


.home-intro-copy>p{font-size:18px;
line-height:1.58;
color:var(--muted);
max-width:690px;
margin:0}


.home-actions{display:flex;
align-items:center;
gap:18px;
margin-top:28px;
flex-wrap:wrap}


.home-link,.home-light-link{display:inline-flex;
align-items:center;
gap:8px;
border:0;
background:none;
color:var(--ink);
font-weight:700;
padding:10px 0;
min-height:44px}


.home-link .icon,.home-light-link .icon{width:16px;
height:16px}


.home-meta{display:flex;
gap:22px;
flex-wrap:wrap;
border-top:1px solid var(--line);
margin-top:26px;
padding-top:14px;
color:var(--muted);
font-size:12px}


.home-meta span+span{padding-left:22px;
border-left:1px solid var(--line)}


.home-index{border-left:1px solid var(--line);
padding-left:26px;
align-self:end}


.home-index div{padding:15px 0;
border-bottom:1px solid var(--line);
display:grid;
grid-template-columns:34px 1fr;
column-gap:10px}


.home-index div:first-child{border-top:1px solid var(--line)}


.home-index span{grid-row:1/3;
font-family:var(--font-serif);
font-size:18px;
color:var(--accent)}


.home-index b{font-size:14px}

.home-index small{font-size:12px;
line-height:1.4;
color:var(--muted);
margin-top:3px}


.home-section-head{display:grid;
grid-template-columns:1fr 1fr;
gap:50px;
align-items:start;
margin-bottom:26px}


.section-kicker{font-size:11px;
letter-spacing:.13em;
text-transform:uppercase;
font-weight:800;
color:var(--muted)}


.home-section-head p{margin:0;
color:var(--muted);
font-size:15px;
line-height:1.55;
max-width:520px}


.home-product{padding:58px 0 66px;
border-bottom:1px solid var(--line)}


.home-passport-wrap{display:grid;
grid-template-columns:minmax(0,1fr) 220px;
gap:28px;
align-items:start}


.passport-paper--site{max-width:none;
box-shadow:0 18px 38px rgba(30,44,39,.08);
transform:none;
padding:30px 34px}


.passport-paper--site .fact-row{padding:19px 0}


.passport-paper--site .fact-row--compact .fact-title{font-size:16px}


.passport-paper--site .fact-row--compact .fact-context{font-size:13px}


.passport-paper--site .fact-row--compact .fact-source{margin-top:8px}


.home-passport-caption{border-top:1px solid var(--line);
padding-top:14px;
font-size:12px;
color:var(--muted);
display:grid;
gap:5px}


.home-passport-caption b{color:var(--ink);
font-size:13px}


.home-explain{padding:58px 0;
border-bottom:1px solid var(--line)}


.home-flow{display:grid;
grid-template-columns:repeat(4,1fr);
border-top:1px solid var(--line)}


.home-flow>div{padding:20px 22px 10px 0;
border-right:1px solid var(--line);
min-height:170px}


.home-flow>div+div{padding-left:22px}

.home-flow>div:last-child{border-right:0}


.home-flow span{font-family:var(--font-serif);
font-size:18px;
color:var(--accent)}


.home-flow h3{font-size:17px;
margin:18px 0 8px}

.home-flow p{font-size:13px;
line-height:1.5;
color:var(--muted);
margin:0;
max-width:230px}


.home-fact{display:grid;
grid-template-columns:.9fr 1.1fr;
gap:70px;
padding:66px 0;
border-bottom:1px solid var(--line);
align-items:center}


.home-fact-copy h2{font-family:var(--font-serif);
font-weight:400;
font-size:42px;
line-height:1.06;
letter-spacing:-.025em;
margin:14px 0 16px}

.home-fact-copy p{color:var(--muted);
line-height:1.58;
max-width:480px}


.home-fact-sheet{background:var(--surface);
border:1px solid var(--line-strong);
padding:28px 30px;
max-width:610px;
justify-self:end;
width:100%}


.home-fact-title{font-size:24px;
font-weight:700;
letter-spacing:-.02em}

.home-fact-sheet>p{margin:5px 0 25px;
color:var(--muted)}


.home-fact-source{display:flex;
gap:12px;
align-items:center;
padding:16px 0;
border-top:1px solid var(--line);
border-bottom:1px solid var(--line)}


.home-fact-source .person-avatar{width:34px;
height:34px;
flex:none}

.home-fact-source b{display:block;
font-size:14px}

.home-fact-source small{display:block;
color:var(--muted);
font-size:12px;
margin-top:3px}


.home-fact-trust{display:grid;
gap:5px;
padding-top:18px}

.home-fact-trust span{font-size:10px;
letter-spacing:.12em;
color:var(--muted)}

.home-fact-trust b{font-size:13px;
color:var(--status-verified)}


.home-employer{margin:0 calc(50% - 50vw);
padding:62px max(28px,calc((100vw - 1180px)/2));
background:var(--ink);
color:#f6f2e9;
display:grid;
grid-template-columns:1.15fr .85fr;
gap:70px}


.section-kicker-light{color:#b7c9c1}

.home-employer h2{font-family:var(--font-serif);
font-weight:400;
font-size:50px;
line-height:1.02;
letter-spacing:-.03em;
margin:13px 0 18px}

.home-employer h2 em{color:#d5a191}

.home-employer p{max-width:620px;
color:#cbd5d0;
line-height:1.58}

.home-employer-list{border-left:1px solid rgba(255,255,255,.2);
padding-left:28px}

.home-employer-list div{padding:13px 0;
border-bottom:1px solid rgba(255,255,255,.18);
display:grid;
gap:4px}

.home-employer-list b{font-size:14px}

.home-employer-list span{font-size:12px;
color:#b7c9c1}

.home-light-link{color:#f6f2e9;
margin-top:12px}


.home-privacy{display:grid;
grid-template-columns:1fr 1fr;
gap:70px;
padding:62px 0;
border-bottom:1px solid var(--line)}

.home-privacy h2{font-family:var(--font-serif);
font-weight:400;
font-size:38px;
line-height:1.08;
margin:12px 0}

.home-privacy-list{border-top:1px solid var(--line)}

.home-privacy-list div{display:grid;
grid-template-columns:150px 1fr;
padding:15px 0;
border-bottom:1px solid var(--line);
gap:18px}

.home-privacy-list b{font-size:13px}

.home-privacy-list span{font-size:13px;
color:var(--muted)}


.home-footer-cta{display:flex;
justify-content:space-between;
gap:30px;
align-items:end;
padding:62px 0 20px}

.home-footer-cta h2{font-family:var(--font-serif);
font-weight:400;
font-size:38px;
margin:12px 0 8px}

.home-footer-cta p{margin:0;
color:var(--muted);
font-size:14px}


/* v15 passport state: no typography collisions */
.passport-paper .fact-row{grid-template-columns:minmax(0,1fr) minmax(180px,205px);
gap:22px}


.passport-paper .fact-state{width:100%;
min-width:0;
justify-items:end;
align-items:end}


.passport-paper .fact-state .stamp{max-width:100%;
justify-content:flex-end}


.passport-paper .fact-state .status-text,.passport-paper .fact-state .trust-level{max-width:205px;
white-space:normal;
overflow-wrap:anywhere;
line-height:1.25}


.passport-paper .fact-state .trust-level{font-size:10px;
color:var(--muted)}


.passport-paper .stamp-copy{min-width:38px}


@media(max-width:900px){.home-intro{grid-template-columns:1fr;
gap:36px}

.home-index{border-left:0;
border-top:1px solid var(--line);
padding:0;
display:grid;
grid-template-columns:repeat(3,1fr)}

.home-index div{border-top:0;
border-bottom:0;
border-right:1px solid var(--line);
padding:14px}

.home-index div:last-child{border-right:0}

.home-index span{grid-row:auto}

.home-index b,.home-index small{grid-column:1/-1}

.home-section-head,.home-fact,.home-privacy{grid-template-columns:1fr;
gap:30px}

.home-flow{grid-template-columns:1fr 1fr}

.home-flow>div:nth-child(2){border-right:0}

.home-flow>div:nth-child(3){border-top:1px solid var(--line);
padding-left:0}

.home-flow>div:nth-child(4){border-top:1px solid var(--line)}

.home-passport-wrap{grid-template-columns:1fr}

.home-passport-caption{max-width:600px}

.home-fact-sheet{justify-self:stretch}

.home-employer{grid-template-columns:1fr;
gap:30px}

}


@media(max-width:620px){.site-home{padding-bottom:8px}

.home-intro{padding:42px 0 38px}

.home-intro-copy h1{font-size:43px}

.home-intro-copy>p{font-size:16px}

.home-meta{display:grid;
gap:8px}

.home-meta span+span{padding-left:0;
border-left:0}

.home-index{grid-template-columns:1fr}

.home-index div{border-right:0;
border-bottom:1px solid var(--line);
grid-template-columns:30px 1fr}

.home-index span{grid-row:1/3}

.home-index b,.home-index small{grid-column:2}

.home-product,.home-explain,.home-fact,.home-privacy{padding:44px 0}

.home-flow{grid-template-columns:1fr}

.home-flow>div,.home-flow>div:nth-child(n){border-right:0;
border-top:1px solid var(--line);
padding:18px 0;
min-height:0}

.home-flow>div:first-child{border-top:0}

.passport-paper--site{padding:22px 18px}

.passport-paper .fact-row,.passport-paper .fact-row--compact{grid-template-columns:1fr;
gap:13px}

.passport-paper .fact-state{justify-items:start;
align-items:start;
text-align:left}

.passport-paper .fact-state .stamp{justify-content:flex-start}

.passport-paper .fact-state .status-text,.passport-paper .fact-state .trust-level{max-width:none;
text-align:left}

.home-fact-copy h2{font-size:35px}

.home-fact-sheet{padding:22px 20px}

.home-employer{padding:46px 20px}

.home-employer h2{font-size:39px}

.home-privacy-list div{grid-template-columns:1fr;
gap:4px}

.home-footer-cta{display:grid;
align-items:start;
padding:46px 0 20px}

.home-footer-cta h2{font-size:34px}

.home-footer-cta .btn{width:100%}

}




/* REPA v19.3 — canonical component foundation.
   Legacy component CSS remains loaded for backward compatibility while views migrate.
   New components must use these invariants instead of positional nudges. */
:root {
  --repa-control-h: 44px;
  --repa-control-radius: 2px;
  --repa-component-gap: clamp(12px, 1.2vw, 20px);
}

.btn,
.top-action,
.mobile-login,
.icon-button,
.topbar .nav > a,
.topbar .nav > button {
  min-height: var(--repa-control-h);
}

.btn,
.top-action,
.mobile-login,
.topbar .nav > a,
.topbar .nav > button,
.field input,
.field textarea,
.field select {
  box-sizing: border-box;
}

.icon {
  width: 1em;
  height: 1em;
  flex: 0 0 1em;
  vertical-align: -0.12em;
}

.btn,
.top-action,
.mobile-login,
.icon-button,
.fact-trust-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
}

.fact-row,
.experience-sheet,
.employer-history-row,
.contact-request-row {
  min-width: 0;
}

.fact-main,
.fact-state,
.fact-source,
.fact-state-main,
.experience-head > div,
.employer-history-row > div {
  min-width: 0;
}

.fact-title,
.fact-context,
.fact-source,
.fact-source b,
.fact-source small,
.status-text,
.trust-level {
  overflow-wrap: anywhere;
}

/* Canonical modal geometry: content owns vertical rhythm; no positional correction. */
.modal .dialog {
  width: min(100% - 32px, 680px);
  max-height: min(86vh, 760px);
  overflow: auto;
  box-sizing: border-box;
}

@media (max-width: 640px) {
  .modal .dialog { width: min(100% - 20px, 680px); }
  .btn,
  .top-action,
  .mobile-login { max-width: 100%; }
}
/* REPA v19.6 Stage 3 — consolidated page styles. */


/* --- migrated: v16.css --- */
html,body,#app{max-width:100%;
min-width:0;
overflow-x:clip}

*,*::before,*::after{box-sizing:border-box}

.mt-4{margin-top:4px}
.mt-8{margin-top:8px}
.mt-12{margin-top:12px}
.min-w-190{min-width:0;
max-width:190px}
.w-full{width:100%}
.ink{color:var(--ink)}

.fact-company-title{margin:0 0 5px;
font-size:20px}
.admin-title{font-size:50px;
letter-spacing:-.03em;
margin:10px 0}
.admin-title-sm{font-size:46px;
letter-spacing:-.03em}
.admin-title-lg{font-size:54px;
letter-spacing:-.03em;
margin:10px 0}
.audit-scroll{max-height:350px;
overflow:auto}
.audit-row{padding:8px 0;
border-bottom:1px solid var(--line)}
.mail-card{margin:10px 0}

.stamp{min-width:0}
.stamp-copy{min-width:0}
.stamp-copy b,.stamp-copy small{white-space:nowrap}
.fact-state{min-width:0;
display:grid;
grid-template-columns:auto auto;
align-items:center;
justify-content:start;
column-gap:10px;
row-gap:4px}
.fact-state .stamp{grid-column:1}
.fact-state .status-text{grid-column:2;
white-space:nowrap}
.fact-state .trust-level{grid-column:1/-1;
white-space:normal;
overflow-wrap:anywhere}
.mobile-sticky-cta.is-hidden{display:none}

.auth-sheet,.auth-sheet *{min-width:0;
max-width:100%}
.auth-sheet h1{font-size:clamp(34px,6vw,48px);
overflow-wrap:anywhere}
.password-field{position:relative}
.password-field input{width:100%;
padding-right:92px}
.password-field button{position:absolute;
right:8px;
top:50%;
transform:translateY(-50%);
min-height:36px;
padding:6px 9px}

.dashboard-v11,.requests-v11,.employer-dashboard-v11,.public-passport-v11{width:100%;
min-width:0}
.dashboard-v11>*{min-width:0}
.experience-head,.section-heading-row,.next-step,.access-section,.profile-head,.dash-header{min-width:0}
.experience-head>div,.section-heading-row>div,.next-step>div,.access-section>div,.profile-head>div{min-width:0}
.profile-head h1{overflow-wrap:anywhere}
.fact-row{min-width:0}
.fact-main,.fact-state{min-width:0}
.fact-title,.fact-context,.fact-source{overflow-wrap:anywhere}

.footer a{display:inline-flex;
min-height:44px;
align-items:center;
padding:8px 6px}
.mobile-nav{max-width:100vw}

@media(max-width:760px){.mobile-sticky-cta{left:12px;
right:12px;
bottom:12px}
.auth-screen{padding-left:0;
padding-right:0}
.auth-sheet{width:100%;
padding:28px 18px}
.auth-tabs{margin:0 0 30px}
.dashboard-v11{padding-bottom:30px}
.fact-state{grid-template-columns:auto 1fr}
.fact-state .status-text{white-space:normal}
.fact-state .trust-level{grid-column:1/-1}
.dash-header{gap:18px}
.dash-actions{max-width:100%}
.dash-actions .btn{white-space:normal}
.mobile-nav button{min-width:0;
overflow-wrap:anywhere}
}



/* --- migrated: v17.css --- */
/* v17 public product-site layer: document-first, interactive, not a card landing */
.site-home-v17{padding:18px 0 80px}
.v17-hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);gap:48px;align-items:center;min-height:640px;border-bottom:1px solid var(--line);padding:48px 0 64px}
.v17-hero-copy{max-width:690px}.v17-hero h1{font-family:"Berenis REPA",serif;font-size:clamp(46px,6vw,78px);line-height:.98;letter-spacing:-.045em;margin:14px 0 24px;max-width:720px}.v17-hero h1 em{font-style:normal;color:var(--brand)}.v17-hero p{font-size:19px;line-height:1.55;max-width:620px;color:var(--muted);margin:0 0 26px}.v17-hero-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px;color:var(--muted);font-size:13px}.v17-hero-meta span{border-top:1px solid var(--line);padding-top:8px}
.v17-live-passport{position:relative;max-width:590px;margin-left:auto}.v17-passport{background:var(--paper,#fffdf8);border:1px solid var(--line-strong);box-shadow:0 18px 45px rgba(23,23,23,.12);padding:26px;position:relative;overflow:hidden}.v17-passport:before{content:"";position:absolute;inset:8px;border:1px solid rgba(23,23,23,.08);pointer-events:none}.v17-passport-head,.v17-passport-person,.v17-fact-meta,.v17-flow-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.v17-passport-head{font:12px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-bottom:22px}.v17-serial{font-variant-numeric:tabular-nums}.v17-passport-person{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}.v17-person-name{font:700 clamp(28px,4vw,40px)/1 "Berenis REPA",serif;letter-spacing:-.03em}.v17-person-role{margin-top:7px;color:var(--muted)}.v17-live-fact{border-bottom:1px solid var(--line);padding:18px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;cursor:pointer}.v17-live-fact:hover{background:rgba(23,23,23,.025)}.v17-live-fact h3{font:600 19px/1.2 Andika REPA,sans-serif;margin:0 0 5px}.v17-live-fact p{font-size:14px;color:var(--muted);margin:0}.v17-fact-side{text-align:right;min-width:150px}.v17-status{display:block;font:600 12px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.05em}.v17-status.verified{color:var(--status-verified,#17613f)}.v17-status.pending{color:var(--status-pending,#9a741d)}.v17-trust{display:block;font-size:12px;color:var(--muted);margin-top:5px;max-width:190px;margin-left:auto}.v17-passport-foot{display:flex;justify-content:space-between;gap:16px;padding-top:16px;color:var(--muted);font:11px ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.05em}
.v17-proof-panel{margin-top:12px;border-left:3px solid var(--brand);background:var(--paper-2,#f4f0e7);padding:16px 18px;display:none}.v17-proof-panel.is-open{display:block}.v17-proof-panel h4{margin:0 0 10px;font-size:16px}.v17-proof-chain{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:13px}.v17-proof-chain div{border-top:1px solid var(--line);padding-top:8px}.v17-proof-chain span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}
.v17-mini-start{display:flex;gap:8px;margin-top:16px}.v17-mini-start input{flex:1;min-width:0;border:1px solid var(--line-strong);background:var(--paper);padding:13px 14px;font:15px Andika REPA,sans-serif}.v17-mini-start button{white-space:nowrap}
.v17-section{padding:92px 0;border-bottom:1px solid var(--line)}.v17-section-grid{display:grid;grid-template-columns:minmax(180px,.35fr) minmax(0,1fr);gap:60px}.v17-section-label{font:12px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.v17-section h2{font:400 clamp(34px,4vw,52px)/1.02 "Berenis REPA",serif;letter-spacing:-.035em;margin:0 0 20px;max-width:760px}.v17-section-intro{font-size:18px;line-height:1.55;color:var(--muted);max-width:650px}
.v17-fact-stage{background:var(--ink,#17352e);color:#fff;padding:32px;position:sticky;top:92px}.v17-fact-stage-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:18px}.v17-fact-stage h3{font:400 30px/1.05 "Berenis REPA",serif;margin:0}.v17-role-switch{display:flex;gap:0;border:1px solid rgba(255,255,255,.25)}.v17-role-switch button{border:0;background:transparent;color:#fff;padding:8px 11px;font-size:12px;cursor:pointer}.v17-role-switch button.active{background:#fff;color:var(--ink)}.v17-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:28px}.v17-flow-step{position:relative;padding:12px 12px 12px 0;border-top:1px solid rgba(255,255,255,.25);min-height:145px}.v17-flow-step:not(:last-child):after{content:"→";position:absolute;right:8px;top:10px;color:rgba(255,255,255,.45)}.v17-flow-step b{font:12px ui-monospace,SFMono-Regular,Menlo,monospace;color:#d8c99b}.v17-flow-step h4{font-size:15px;margin:28px 12px 6px 0}.v17-flow-step p{font-size:12px;color:rgba(255,255,255,.68);line-height:1.45;margin:0}.v17-role-copy{margin-top:18px;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.18);font-size:14px;color:rgba(255,255,255,.76)}
.v17-employer-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);gap:48px;align-items:center}.v17-dark-passport{background:#122b25;color:#fff;padding:28px;box-shadow:0 14px 32px rgba(0,0,0,.14)}.v17-dark-passport .v17-live-fact{border-color:rgba(255,255,255,.16)}.v17-dark-passport .v17-live-fact p,.v17-dark-passport .v17-trust{color:rgba(255,255,255,.62)}.v17-employer-copy{border-top:1px solid var(--line);padding-top:16px}.v17-employer-copy p{font-size:17px;line-height:1.55;color:var(--muted)}
.v17-control{display:grid;grid-template-columns:1fr minmax(320px,.8fr);gap:50px;align-items:start}.v17-control-list{border-top:1px solid var(--line)}.v17-control-row{display:grid;grid-template-columns:1fr auto;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center}.v17-control-row b{display:block}.v17-control-row span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.v17-switch{appearance:none;width:48px;height:28px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;position:relative;cursor:pointer}.v17-switch:after{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:var(--muted);transition:transform .2s}.v17-switch:checked{background:var(--brand);border-color:var(--brand)}.v17-switch:checked:after{background:#fff;transform:translateX(20px)}
.v17-faq{display:grid;grid-template-columns:.55fr 1fr;gap:60px}.v17-faq details{border-top:1px solid var(--line);padding:18px 0}.v17-faq details:last-child{border-bottom:1px solid var(--line)}.v17-faq summary{cursor:pointer;font-weight:600;list-style:none}.v17-faq summary::-webkit-details-marker{display:none}.v17-faq p{color:var(--muted);line-height:1.55;margin:12px 0 0;max-width:680px}
.v17-final{padding:70px 0 20px;display:flex;justify-content:space-between;gap:30px;align-items:end}.v17-final h2{margin:0;font:400 clamp(30px,4vw,48px)/1.05 "Berenis REPA",serif;letter-spacing:-.035em}.v17-final p{color:var(--muted);margin:10px 0 0}
@media(max-width:1000px){.v17-hero{grid-template-columns:1fr;min-height:auto}.v17-live-passport{margin:0;max-width:760px}.v17-section-grid,.v17-control,.v17-employer-preview,.v17-faq{grid-template-columns:1fr;gap:28px}.v17-fact-stage{position:relative;top:auto}.v17-flow{grid-template-columns:repeat(5,minmax(120px,1fr));overflow:auto}.v17-flow-step{min-width:120px}.v17-final{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.site-home-v17{padding-top:0}.v17-hero{padding:30px 0 42px;gap:30px}.v17-hero h1{font-size:clamp(40px,12vw,58px)}.v17-hero p{font-size:16px}.v17-hero-meta{display:grid;grid-template-columns:1fr;gap:0}.v17-live-passport{width:100%}.v17-passport{padding:18px}.v17-passport-head{font-size:10px}.v17-passport-person{padding:18px 0}.v17-person-name{font-size:29px}.v17-live-fact{grid-template-columns:1fr;gap:10px}.v17-fact-side{text-align:left;min-width:0}.v17-trust{margin-left:0;max-width:none}.v17-passport-foot{display:grid;grid-template-columns:1fr}.v17-mini-start{display:grid}.v17-section{padding:58px 0}.v17-section-grid{gap:20px}.v17-section h2{font-size:37px}.v17-fact-stage{padding:20px}.v17-fact-stage-head{display:grid}.v17-role-switch{width:max-content;max-width:100%;overflow:auto}.v17-flow{grid-template-columns:repeat(5,150px)}.v17-control-row{grid-template-columns:1fr auto}.v17-final{padding-bottom:10px}}
@media(prefers-reduced-motion:reduce){.v17-switch:after{transition:none}.v17-stamp-pop{animation:none}}
.v17-stamp-pop{animation:v17Stamp .4s ease-out both}@keyframes v17Stamp{0%{transform:scale(.75) rotate(-8deg);opacity:.2}70%{transform:scale(1.08) rotate(2deg)}100%{transform:scale(1) rotate(0);opacity:1}}

.v17-live-stamp{display:inline-grid;place-items:center;width:46px;height:46px;border:1px solid currentColor;border-radius:50%;font:700 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.03em;margin-bottom:7px}.v17-live-stamp.pending{color:#9a741d;border-style:dashed}

/* v18.1 candidate core flow */
.dialog--wide{max-width:720px}
.request-step.is-hidden{display:none}
.request-fact-picker{display:grid;gap:8px;margin:22px 0}
.request-fact-option{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);background:var(--paper,#fffdf8);padding:14px 15px;cursor:pointer;transition:border-color .15s,background .15s}
.request-fact-option:hover{border-color:var(--line-strong);background:var(--paper-2,#f4f0e7)}
.request-fact-option:has(input:checked){border-color:var(--brand);background:rgba(23,63,53,.045)}
.request-fact-option input{width:18px;height:18px;accent-color:var(--brand)}
.request-fact-option span{min-width:0}.request-fact-option b{display:block;font-size:14px}.request-fact-option small{display:block;color:var(--muted);margin-top:3px;line-height:1.35}.request-fact-option i{opacity:0;color:var(--brand)}.request-fact-option:has(input:checked) i{opacity:1}
.request-picker-divider{padding:18px 2px 4px;font:11px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);letter-spacing:.08em}
.request-picker-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:16px;margin-top:18px}.request-picker-footer>span{font-size:13px;color:var(--muted)}
.request-selected-summary{padding:15px 16px;background:var(--paper-2,#f4f0e7);border-left:3px solid var(--brand);margin:18px 0}.selected-summary-label{font:11px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);letter-spacing:.08em}.selected-summary-items{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0}.selected-summary-items span{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;background:var(--paper,#fffdf8);border:1px solid var(--line);font-size:12px}.selected-summary-items .icon{width:13px;height:13px;color:var(--brand)}.request-selected-summary>small{color:var(--muted)}
@media(max-width:600px){.request-picker-footer{align-items:stretch;flex-direction:column}.request-picker-footer .btn{width:100%}.request-fact-option{padding:13px}.dialog--wide{width:min(100%,calc(100vw - 24px))}}


/* --- migrated: v18.css --- */

/* v18.2 Candidate Dashboard */
.next-step-v18{display:flex;align-items:center;justify-content:space-between;gap:24px}
.next-step-copy{min-width:0}
.next-step-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.next-step-meta span{display:inline-flex;align-items:center;padding:6px 10px;border:1px solid var(--border,#d8d4ca);border-radius:999px;font-size:12px;color:var(--muted,#666)}
.passport-health-v18{margin:20px 0 40px;padding:28px;border:1px solid var(--border,#d8d4ca);background:var(--paper,#f8f6f0);border-radius:20px}
.passport-health-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.passport-health-head h2{margin:4px 0 6px}
.passport-health-head p{margin:0;color:var(--muted,#666);max-width:620px}
.passport-health-head>strong{font-family:var(--font-serif,Georgia,serif);font-size:38px;line-height:1}
.passport-progress{height:8px;margin:22px 0;border-radius:999px;background:rgba(0,0,0,.08);overflow:hidden}
.passport-progress span{display:block;height:100%;border-radius:inherit;background:var(--accent,#b65d43);transition:width .35s ease}
.passport-health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border,#d8d4ca);border:1px solid var(--border,#d8d4ca);border-radius:14px;overflow:hidden}
.passport-health-grid>div{display:flex;flex-direction:column;gap:3px;padding:14px 16px;background:var(--surface,#fffdf8)}
.passport-health-grid b{font-size:18px}.passport-health-grid span{font-size:12px;color:var(--muted,#666)}
@media (max-width:760px){.next-step-v18{align-items:flex-start;flex-direction:column}.next-step-v18 .btn{width:100%}.passport-health-v18{padding:20px;margin-bottom:28px}.passport-health-head>strong{font-size:30px}.passport-health-grid{grid-template-columns:1fr}.passport-health-grid>div{padding:12px 14px}}
@media (prefers-reduced-motion:reduce){.passport-progress span{transition:none}}


/* --- migrated: v18_3.css --- */
/* v18.3 — typography, alignment and fact-state normalization */
html{
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

body{
  line-height:1.45;
}

h1,h2,h3,h4,h5,h6,p,small,strong,b,span,label,button,input,textarea,select{
  text-rendering:inherit;
}

h1,h2,h3,h4,h5,h6{
  line-height:1.12;
}

p{line-height:1.5}

button,.btn,input,textarea,select{
  line-height:1.35;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  vertical-align:middle;
}

.btn .icon,
.icon-button .icon,
.text-link .icon,
.btn-quiet .icon{
  display:block;
  flex:0 0 auto;
  vertical-align:0;
}

.field label,
.field small,
.field input,
.field textarea,
.field select{
  line-height:1.4;
}

/* The old stylesheet accumulated several generations of .fact-state rules.
   v18.3 establishes one deterministic geometry for every fact row. */
.fact-row,
.fact-row--compact,
.passport-paper .fact-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(235px,280px);
  column-gap:32px;
  align-items:center;
  min-width:0;
}

.fact-main{
  min-width:0;
  align-self:center;
}

.fact-title{
  margin:0;
  line-height:1.2;
}

.fact-context{
  margin-top:6px;
  line-height:1.4;
}

.fact-source{
  margin-top:12px;
  line-height:1.3;
}

.fact-state{
  width:100%;
  min-width:0;
  display:grid ;
  grid-template-columns:44px minmax(0,1fr) ;
  grid-template-rows:auto auto;
  align-items:center;
  justify-items:start ;
  align-content:center;
  column-gap:12px;
  row-gap:3px;
  text-align:left ;
}

.fact-state .stamp{
  grid-column:1;
  grid-row:1 / span 2;
  width:44px;
  min-width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  gap:0;
}

.fact-state .stamp svg{
  width:40px;
  height:40px;
  display:block;
  flex:0 0 40px;
}

/* Initials/date are useful in the design-system showcase, but they compete
   with the status column in a fact row. The row communicates provenance via
   the source block on the left and the semantic trust label on the right. */
.fact-state .stamp-copy{
  display:none;
}

.fact-state .status-text{
  grid-column:2;
  grid-row:1;
  margin:0;
  max-width:100%;
  text-align:left ;
  white-space:normal ;
  line-height:1.25;
}

.fact-state .trust-level{
  grid-column:2;
  grid-row:2;
  margin:0;
  max-width:100%;
  text-align:left ;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.3;
}

.fact-row.is-verified .fact-state .status-text{
  color:var(--status-verified);
}

.experience-head,
.section-heading-row,
.dash-header,
.profile-head,
.toolbar{
  align-items:center;
}

.experience-head > div,
.section-heading-row > div,
.profile-head > div,
.toolbar > div{
  min-width:0;
}

.experience-head h3,
.profile-head h1,
.section-heading-row h2,
.toolbar h2{
  line-height:1.12;
}

.badge,
.status-badge,
.status-text,
.trust-level{
  line-height:1.25;
}

/* Prevent text + icon combinations from drifting on the baseline. */
.badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.badge .icon{display:block;flex:0 0 auto}

@media (max-width:900px){
  .fact-row,
  .fact-row--compact,
  .passport-paper .fact-row{
    grid-template-columns:minmax(0,1fr) minmax(205px,235px);
    column-gap:24px;
  }
}

@media (max-width:760px){
  .fact-row,
  .fact-row--compact,
  .passport-paper .fact-row{
    grid-template-columns:1fr;
    row-gap:14px;
  }

  .fact-state{
    grid-template-columns:40px minmax(0,1fr) ;
    column-gap:10px;
    width:100%;
  }

  .fact-state .stamp{
    width:40px;
    min-width:40px;
    height:40px;
  }

  .fact-state .stamp svg{
    width:36px;
    height:36px;
    flex-basis:36px;
  }
}


/* --- migrated: v18_5.css --- */
/* REPA v18.5 — global UI cleanup
   One geometry system for type, controls, cards, navigation and responsive states.
   This layer intentionally comes last so legacy/v16/v17 rules cannot reintroduce drift.
*/
:root{
  --ui-control-h:44px;
  --ui-control-h-lg:52px;
  --ui-radius:4px;
  --ui-gap-1:6px;
  --ui-gap-2:10px;
  --ui-gap-3:14px;
  --ui-gap-4:18px;
  --ui-gap-5:24px;
  --ui-gap-6:32px;
  --ui-copy-lh:1.5;
  --ui-heading-lh:1.12;
  --ui-label-lh:1.3;
  --ui-container:1280px;
}

/* Typography: every text element gets an intentional line box. */
html{font-size:16px;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;}
body{font-family:"Andika REPA",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:var(--ui-copy-lh);font-kerning:normal;-webkit-font-smoothing:antialiased;}
body :where(h1,h2,h3,h4,h5,h6,p,small,strong,b,em,label,span,a,button,input,textarea,select){text-underline-offset:3px;}
body :where(h1,h2,h3,h4,h5,h6,p,ul,ol){margin-block-start:0;}
body :where(h1,h2,h3,h4,h5,h6){line-height:var(--ui-heading-lh);text-wrap:balance;}
body :where(p,li){line-height:var(--ui-copy-lh);text-wrap:pretty;}
body :where(small,.mini,.caption,.form-note){line-height:1.4;}
body :where(button,input,textarea,select){font:inherit;}
body :where(a,button,input,textarea,select):focus-visible{outline:2px solid var(--focus);outline-offset:3px;}

/* Shared layout rhythm */
.shell,.main,.container,.content-page,.dashboard-v11,.requests-v11,.profile-page-v11,.employer-dashboard-v11{min-width:0;}
.container{width:min(calc(100% - 48px),var(--ui-container));margin-inline:auto;}
.content-page{width:min(100%,980px);margin-inline:auto;}

/* Header / nav: one baseline and one control height. */
.topbar{min-height:76px;height:auto;display:flex;align-items:center;gap:24px;}
.topbar .brand{display:inline-flex;align-items:center;min-height:44px;line-height:1;flex:0 0 auto;}
.brand-lockup{display:inline-flex;align-items:center;gap:10px;height:30px;line-height:1;}
.brand-sign{display:grid;place-items:center;line-height:1;}
.nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(14px,2vw,24px);min-width:0;}
.nav a,.nav button,.quiet-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;line-height:1.2;}
.nav .top-action{display:inline-flex;align-items:center;justify-content:center;line-height:1.2;}
.mobile-login{align-items:center;justify-content:center;line-height:1.2;}

/* Buttons and icon/text alignment */
:where(.btn,.btn-lg,.btn-sm,.btn-quiet,.btn-primary,.btn-secondary,.btn-danger,.top-action,.mobile-login,.mobile-nav button,.suggestion,.icon-button,.close){display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;gap:8px;line-height:1.2;}
:where(.btn,.btn-lg,.btn-sm,.top-action,.mobile-login){min-height:var(--ui-control-h);}
.btn-lg{min-height:var(--ui-control-h-lg);}
.btn-sm{min-height:40px;}
:where(.btn,.top-action,.mobile-login) .icon,:where(.btn,.top-action,.mobile-login) svg{display:block;flex:0 0 auto;}

/* Form controls */
.form{display:grid;gap:var(--ui-gap-5);}
.field{display:grid;gap:7px;min-width:0;}
.field label{display:flex;align-items:baseline;gap:6px;min-height:18px;margin:0;font-size:14px;line-height:var(--ui-label-lh);font-weight:650;}
.field label small{font-size:12px;font-weight:500;line-height:1.3;}
.field :where(input,textarea,select){box-sizing:border-box;display:block;width:100%;min-width:0;margin:0;line-height:1.4;}
.field textarea{resize:vertical;}
.field :where(input,textarea,select)::placeholder{line-height:1.4;}
.check{display:flex;align-items:flex-start;gap:10px;line-height:1.4;}
.check input{flex:0 0 auto;margin-top:3px;}

/* Generic cards / sheets: predictable internal rhythm. */
:where(.card,.sheet,.experience-sheet,.dashboard-section,.passport-section-v11,.company-check-sheet,.employer-search-sheet,.employer-open-link,.onboarding-sheet,.auth-sheet,.design-panel,.empty-sheet){min-width:0;}
:where(.card,.sheet,.experience-sheet,.dashboard-section,.passport-section-v11) :where(h1,h2,h3,h4){margin-block:0;}
:where(.card,.sheet,.experience-sheet,.dashboard-section,.passport-section-v11) :where(p){margin-block:0;}

/* Rows: text columns always shrink before they collide with status/action columns. */
.experience-head,.profile-head,.dash-header,.section-heading-row,.toolbar,.request-row,.employer-history-row{min-width:0;}
.experience-head,.profile-head,.dash-header,.section-heading-row,.toolbar{align-items:center;}
.experience-head > *, .profile-head > *, .dash-header > *, .section-heading-row > *, .toolbar > *, .request-row > *, .employer-history-row > *{min-width:0;}
:where(.experience-head,.profile-head,.dash-header,.section-heading-row,.toolbar) :where(h1,h2,h3,h4,p,.lead,.muted){overflow-wrap:anywhere;}

/* Fact / passport rows */
.fact-row{align-items:start;}
.fact-row > *{min-width:0;}
.fact-copy{min-width:0;}
.fact-copy :where(h3,h4,p,.fact-title,.fact-context,.fact-source){overflow-wrap:anywhere;}
.fact-state{min-width:0;align-items:start;}
.fact-state-main{min-width:0;}
.fact-state-copy{min-width:0;display:grid;align-content:start;gap:3px;}
.fact-state-copy > *{min-width:0;overflow-wrap:anywhere;}
.fact-state .status-text,.fact-state .trust-level,.fact-trust-link{overflow-wrap:anywhere;word-break:normal;}
.fact-state .stamp{display:grid;place-items:center;flex:0 0 auto;}
.fact-state .stamp svg{display:block;}

/* Status badges are never allowed to become tiny inline text. */
.badge,.status-badge,.skill-chip,.selected-skill{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;gap:6px;min-height:28px;line-height:1.25;}
.badge .icon,.status-badge .icon,.skill-chip .icon,.selected-skill .icon{display:block;flex:0 0 auto;}

/* Action groups */
.actions,.modal-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0;}
.actions > *, .modal-actions > *{flex:0 0 auto;}

/* Modals */
.modal{padding:24px;}
.dialog{width:min(560px,100%);max-height:min(82vh,760px);overflow:auto;}
.dialog > :where(h1,h2,h3,p){overflow-wrap:anywhere;}
.dialog .close{width:40px;height:40px;line-height:1;}

/* Tables / search rows */
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.table{min-width:640px;}
.search-form-v11{align-items:stretch;}
.search-form-v11 input{min-height:48px;}

/* Footer */
.footer-inner{min-width:0;}
.footer-inner > *{min-width:0;}
.footer-inner nav{align-items:flex-start;}
.footer-inner nav a{line-height:1.4;}
.footer-inner small{line-height:1.4;}

/* Prevent inline icon SVGs from changing text baseline. */
.icon,.icon svg,button svg,a svg,.badge svg,.status-badge svg{vertical-align:middle;}

/* Desktop: keep right-side controls from pushing copy into collision. */
@media (min-width:901px){
  .experience-head,.toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;}
  .section-heading-row{display:flex;}
  .request-row,.employer-history-row{display:flex;justify-content:space-between;gap:24px;}
  .request-row > div:first-child,.employer-history-row > div:first-child{flex:1 1 auto;}
}

/* Tablet */
@media (max-width:900px){
  .container{width:min(calc(100% - 40px),var(--ui-container));}
  .topbar{padding-inline:20px;}
  .nav{gap:12px;}
  .nav a,.quiet-link{font-size:13px;}
  .footer-inner{grid-template-columns:1fr 1fr;}
  .footer-inner small{grid-column:1/-1;}
}

/* Mobile: stack instead of compressing typography. */
@media (max-width:760px){
  .container{width:min(calc(100% - 32px),var(--ui-container));}
  .topbar{min-height:68px;padding-inline:16px;gap:12px;}
  .topbar .brand-lockup{font-size:21px;}
  .nav{display:none;}
  .mobile-login{display:inline-flex;margin-left:auto;}
  .main{padding-bottom:96px;}
  .section-heading-row,.profile-head,.dash-header,.toolbar{align-items:flex-start;}
  .experience-head,.toolbar{grid-template-columns:1fr;gap:14px;}
  .experience-head .actions,.toolbar .actions{width:100%;}
  .experience-head .actions > *, .toolbar .actions > *{flex:1 1 auto;}
  .request-row,.employer-history-row{display:grid;grid-template-columns:1fr;gap:12px;}
  .request-row .actions,.employer-history-row .actions{width:100%;}
  .request-row .actions > *, .employer-history-row .actions > *{flex:1 1 auto;}
  .fact-row,.fact-row--compact,.passport-paper .fact-row{grid-template-columns:1fr;}
  .fact-state{width:100%;}
  .passport-summary{grid-template-columns:1fr;}
  .footer-inner{grid-template-columns:1fr;gap:28px;}
  .footer-inner small{grid-column:auto;}
  .modal{padding:12px;align-items:flex-end;}
  .dialog{width:100%;max-height:88vh;padding:22px;}
  .modal-actions{display:grid;grid-template-columns:1fr;}
  .modal-actions > *{width:100%;}
  .search-form-v11{grid-template-columns:1fr;}
  .search-form-v11 .btn{width:100%;}
}

@media (max-width:420px){
  .container{width:calc(100% - 24px);}
  .topbar{padding-inline:12px;}
  .mobile-login{min-height:40px;padding-inline:10px;}
  .brand-lockup{gap:8px;}
  .brand-sign{width:28px;height:28px;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms;animation-iteration-count:1;}
}


/* --- migrated: v19_1-design-system.css --- */
/* REPA v19.1 — editorial design system.
   Deliberately avoids the visual grammar of generic SaaS landing pages. */
@font-face{font-family:"Berenis REPA";src:url("/fonts/v19/BerenisADFPro-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Berenis REPA";src:url("/fonts/v19/BerenisADFPro-Bold.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Andika REPA";src:url("/fonts/v19/Andika-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Andika REPA";src:url("/fonts/v19/Andika-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}

:root{
  --repa-display:"Berenis REPA",Georgia,serif;
  --repa-body:"Andika REPA",system-ui,sans-serif;
  --repa-container:1280px;
  --repa-gutter:clamp(16px,3.2vw,56px);
  --repa-text:clamp(15px,0.2vw + 14px,18px);
  --repa-small:clamp(12px,0.12vw + 11px,14px);
  --repa-h1:clamp(42px,6.2vw,104px);
  --repa-h2:clamp(30px,3.8vw,62px);
  --repa-h3:clamp(21px,2vw,30px);
  --repa-leading-tight:.94;
  --repa-leading:1.5;
  --repa-ink:#173f35;
  --repa-paper:#f4f2ed;
  --repa-accent:#b85e46;
  --repa-line:#d5d0c6;
}

html{font-size:16px;overflow-x:hidden}
body{
  font-family:var(--repa-body);
  font-size:var(--repa-text);
  line-height:var(--repa-leading);
  color:var(--repa-ink);
  font-synthesis:none;
  text-rendering:optimizeLegibility;
  font-kerning:normal;
}
body :where(h1,h2,h3,h4,h5,h6){font-family:var(--repa-display);font-weight:400;letter-spacing:-.018em;line-height:var(--repa-leading-tight)}
body :where(h1){font-size:var(--repa-h1)}
body :where(h2){font-size:var(--repa-h2)}
body :where(h3){font-size:var(--repa-h3)}
body :where(p,li,label,input,textarea,select,button,a){font-family:var(--repa-body)}
body :where(button,a,input,textarea,select){line-height:1.35}
body :where(button,.btn,.btn-lg,.btn-sm,.top-action){font-weight:700;letter-spacing:.005em}

.container,.main-inner,.topbar,.footer-inner{width:min(calc(100% - 2 * var(--repa-gutter)),var(--repa-container));margin-inline:auto}
.topbar{padding-inline:0}
.main-inner{min-width:0}

/* Editorial rhythm: asymmetric section spacing replaces template-like card stacks. */
.section,.passport-section-v11,.dashboard-section{scroll-margin-top:96px}
.section + .section,.passport-section-v11 + .passport-section-v11,.dashboard-section + .dashboard-section{margin-top:clamp(40px,6vw,88px)}

/* Stable text geometry: no baseline tricks, no negative margins. */
:where(.fact-row,.request-row,.employer-history-row,.experience-head,.toolbar,.section-heading-row,.profile-head){min-width:0}
:where(.fact-row,.request-row,.employer-history-row,.experience-head,.toolbar) > :first-child{min-width:0}
:where(.fact-row,.request-row,.employer-history-row) :where(p,small,.muted,.caption){max-width:68ch}
:where(.fact-row,.request-row,.employer-history-row) :where(.badge,.status-badge,.fact-state){align-self:center}

/* Distinctive status language: restrained, typographic, not pill-heavy SaaS UI. */
:where(.badge,.status-badge){border-radius:999px;min-height:30px;padding:5px 10px;line-height:1.15;display:inline-flex;align-items:center;gap:7px}
:where(.stamp,.trust-stamp){font-family:var(--repa-display);font-weight:700;letter-spacing:.01em}

/* Responsive container scale */
@media (max-width:1100px){
  :root{--repa-gutter:clamp(20px,4vw,40px)}
}
@media (max-width:760px){
  :root{--repa-gutter:16px;--repa-h1:clamp(38px,12vw,58px);--repa-h2:clamp(28px,8vw,42px)}
  body{font-size:16px}
  :where(.fact-row,.request-row,.employer-history-row,.experience-head,.toolbar){grid-template-columns:1fr;display:grid;gap:16px}
  :where(.fact-row,.request-row,.employer-history-row) :where(.badge,.status-badge,.fact-state,.actions){justify-self:start;align-self:start}
  :where(.actions,.modal-actions){gap:10px}
  :where(.actions > *, .modal-actions > *){min-width:0}
}
@media (max-width:420px){
  :root{--repa-gutter:12px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}


/* --- migrated: v19_2-editorial.css --- */
/* v19.2 — REPA editorial layout system */
:root{
  --repa-max:1440px;
  --repa-gutter:clamp(18px,4vw,72px);
  --repa-space-1:clamp(6px,.5vw,10px);
  --repa-space-2:clamp(10px,.8vw,16px);
  --repa-space-3:clamp(16px,1.2vw,24px);
  --repa-space-4:clamp(24px,2vw,40px);
  --repa-space-5:clamp(36px,4vw,72px);
  --repa-body-size:clamp(15px,.22vw + 13.5px,18px);
  --repa-body-leading:1.55;
  --repa-label-size:clamp(11px,.12vw + 10px,13px);
  --repa-display-leading:.98;
}

html{font-size:16px}
body{font-size:var(--repa-body-size);line-height:var(--repa-body-leading);overflow-x:clip}

/* One measurable text rhythm across the entire product. */
body :where(h1,h2,h3,h4,h5,h6,p,ul,ol,dl,blockquote,figure){margin-block:0}
body :where(p,li,dd){text-wrap:pretty}
body :where(h1,h2,h3,h4,h5,h6){line-height:var(--repa-display-leading);text-wrap:balance}
body :where(small,.muted,.caption,.eyebrow,.label){line-height:1.35}
body :where(button,input,select,textarea){font:inherit}
body :where(button,.btn,.btn-lg,.btn-sm){min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.55em;vertical-align:middle}
body :where(svg,img){vertical-align:middle}

/* Fluid canvas. No fixed desktop width is allowed to dictate mobile composition. */
.container,.main-inner,.topbar,.footer-inner{
  width:min(calc(100% - 2 * var(--repa-gutter)),var(--repa-max));
  margin-inline:auto;
}

/* Editorial composition: fewer boxed layers, more deliberate hierarchy. */
.card{border-radius:clamp(2px,.35vw,6px)}
.section-heading-row{gap:var(--repa-space-3)}
.section-heading-row > *{min-width:0}

/* Forms share one baseline and one control height. */
body :where(input,select,textarea){
  min-width:0;
  border-radius:3px;
  line-height:1.35;
}
body :where(input,select){min-height:46px}
body textarea{min-height:120px}

/* Responsive grid primitives. */
.dashboard-grid,.passport-grid,.employer-grid,.settings-grid{
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:var(--repa-space-4);
}

@media (min-width:1200px){
  .editorial-wide{max-width:calc(var(--repa-max) - 120px);margin-inline:auto}
  .editorial-offset{margin-left:clamp(24px,5vw,96px)}
}
@media (max-width:900px){
  :root{--repa-gutter:clamp(18px,4vw,32px)}
  .dashboard-grid,.passport-grid,.employer-grid,.settings-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media (max-width:640px){
  :root{--repa-gutter:16px;--repa-body-size:16px}
  .dashboard-grid,.passport-grid,.employer-grid,.settings-grid{grid-template-columns:1fr}
  body :where(.btn,.btn-lg,.btn-sm){width:100%}
  body :where(.toolbar,.actions,.modal-actions){display:grid;grid-template-columns:1fr;gap:10px}
  body :where(.toolbar,.actions,.modal-actions) > *{width:100%;min-width:0}
}
@media (max-width:390px){:root{--repa-gutter:12px}}

/* Never use tiny positional nudges to align text. */
:where(.icon,.icon-btn,.stamp,.badge,.status-badge){line-height:1;vertical-align:middle}
:where(.fact-row,.request-row,.experience-head,.profile-head,.section-heading-row){align-items:start}


/* --- migrated: v19_2_1-responsive-qa.css --- */
/* REPA v19.2.1 — responsive QA hardening.
   This layer neutralizes legacy geometry that could reintroduce drift on narrow screens. */

/* Legacy negative margins are intentionally removed from the active v19 composition. */
.auth-tabs{margin-inline:0}
.confirm-actions{margin-inline:0}
.employer-strip{margin-inline:0}

/* Long labels and user-entered values must never push a grid wider than its track. */
:where(.shell,.main,.container,.main-inner,.footer-inner,.card,.dialog,.auth-sheet,.onboarding-sheet){min-width:0}
:where(.brand,.nav,.top-action,.quiet-link,.mobile-login,.btn,.badge,.status-badge,.stamp,.trust-stamp){min-width:0;max-width:100%;overflow-wrap:anywhere}
:where(.fact-title,.fact-context,.fact-source,.fact-state,.status-text,.trust-level,.request-selected-summary,.request-fact-option,.experience-skills,.skill-chip){min-width:0;overflow-wrap:anywhere}

/* Modals remain usable at 360–390px without relying on viewport-width hacks. */
.modal{padding:clamp(12px,3vw,24px);overflow:auto}
.dialog{width:min(100%,720px);max-height:calc(100dvh - 24px);overflow:auto}
.dialog--wide{width:min(100%,720px)}

/* Tables can scroll inside their own region instead of creating page-level overflow. */
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.table-wrap>.table{min-width:640px}

/* Safe-area aware fixed UI for modern phones. */
.mobile-sticky-cta{padding-bottom:max(8px,env(safe-area-inset-bottom))}
.mobile-nav{padding-bottom:max(7px,env(safe-area-inset-bottom))}

@media (max-width:760px){
  .auth-tabs{margin-bottom:24px}
  .confirm-actions{padding-inline:0}
  .employer-strip{padding-inline:0}
  .dialog{max-height:calc(100dvh - 20px)}
  :where(.request-picker-footer,.onboarding-footer,.actions,.modal-actions){grid-template-columns:1fr}
  :where(.request-picker-footer,.onboarding-footer,.actions,.modal-actions)>.btn{width:100%;min-width:0}
}

@media (max-width:390px){
  .topbar{gap:8px}
  .brand-lockup{max-width:45vw}
  .brand-lockup>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobile-sticky-cta{left:8px;right:8px}
  .dialog{border-radius:3px}
}


/* --- migrated: v19_3-components.css --- */

/* v19.3.1 screen migration */
.content-page.profile-page-v19-3{max-width:960px}
.profile-form-v19-3,.profile-security{display:grid;gap:var(--space-5,24px)}
.repa-step{min-width:0}
.repa-step p,.paper-callout p,.how-grid p{max-width:62ch}
@media(max-width:640px){.profile-page-v19-3{padding-inline:clamp(16px,5vw,24px)}.profile-page-v19-3 .grid.cols-2{grid-template-columns:1fr}.profile-danger{display:grid;grid-template-columns:1fr;gap:10px}}


/* --- migrated: v19_4-screen-migration.css --- */
/* v19.4 — canonical screen migration. This layer only owns component geometry;
   visual legacy layers remain temporarily for backward compatibility. */
.content-page{min-width:0}
.content-page > *{min-width:0}
.content-page .form,.content-page .grid,.content-page .card,.content-page .section{min-width:0}
.content-page .toolbar,.content-page .actions{align-items:center;min-width:0}
.content-page .toolbar > *, .content-page .actions > *{min-width:0}
.profile-page-v19-3 .field,.profile-page-v19-3 .grid > *{min-width:0}
@media (max-width:640px){
  .content-page .toolbar,.content-page .actions{flex-wrap:wrap}
  .content-page .toolbar > *, .content-page .actions > *{max-width:100%}
  .profile-page-v19-3 .grid{grid-template-columns:1fr}
}


/* --- migrated: v18_4.css --- */
/* v18.4 — Passport & Trust UI
   The rule is simple: every text/icon pair gets an explicit alignment box.
   This layer intentionally comes last in the cascade while legacy CSS is retired. */

:root{
  --type-body:14px;
  --type-small:12px;
  --type-label:11px;
  --type-control:14px;
  --passport-state-width:300px;
  --passport-state-gap:28px;
}

/* Global text rhythm ---------------------------------------------------- */
html,body,#app{min-width:0;}
body{
  font-family:var(--font-sans);
  font-size:var(--type-body);
  line-height:1.5;
  font-variant-numeric:tabular-nums;
}
button,input,textarea,select{font:inherit;line-height:1.4;}
button{vertical-align:middle;}
svg.icon{display:block;flex:0 0 auto;}
img{display:block;max-width:100%;}

h1,h2,h3,h4,h5,h6,p,figure,blockquote{margin-block-start:0;}
h1,h2,h3,h4,h5,h6{margin-block-end:0;}
p{margin-block-end:0;}
small{line-height:1.35;}

/* Make common horizontal UI groups share the same vertical center. */
.topbar,.nav,.actions,.toolbar,.section-heading-row,.experience-head,
.profile-head,.dash-header,.request-line,.preview-top,.preview-bottom,
.public-actions,.passport-meta,.next-step-v18,.passport-health-head,
.source-row,.verified-company-line,.mobile-sticky-cta button{
  min-width:0;
}

.nav a,.top-action,.quiet-link,.btn,.badge,.status-badge,.person-chip,
.icon-button,.text-link,.fact-trust-link{
  display:inline-flex;
  align-items:center;
  vertical-align:middle;
}

/* Passport facts ------------------------------------------------------- */
.fact-row,
.fact-row--compact,
.passport-paper .fact-row{
  display:grid ;
  grid-template-columns:minmax(0,1fr) var(--passport-state-width) ;
  gap:var(--passport-state-gap) ;
  align-items:center ;
  min-width:0;
  padding-block:22px ;
}

.fact-main{min-width:0;align-self:center;}
.fact-title{
  margin:0;
  font-family:var(--font-sans) ;
  font-size:18px ;
  line-height:1.25 ;
  font-weight:700;
  letter-spacing:-.012em;
  overflow-wrap:anywhere;
}
.fact-context{
  margin-top:5px ;
  font-size:14px ;
  line-height:1.45 ;
  color:var(--muted);
  overflow-wrap:anywhere;
}
.fact-source{
  margin-top:12px ;
  min-width:0;
  display:flex ;
  align-items:center ;
  gap:12px ;
  flex-wrap:wrap;
  line-height:1.3;
}
.person-chip{min-width:0;line-height:1.25;}
.person-chip > span:last-child{min-width:0;}
.person-chip b,.person-chip small{overflow-wrap:anywhere;}
.fact-date{line-height:1.3;}

.fact-state{
  width:100% ;
  min-width:0 ;
  display:block ;
  align-self:center;
  text-align:left ;
}
.fact-state-main{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  column-gap:12px;
  align-items:center;
  min-width:0;
}
.fact-state .stamp{
  grid-column:1;
  grid-row:1;
  width:48px ;
  min-width:48px ;
  height:48px ;
  margin:0 ;
  display:flex ;
  align-items:center ;
  justify-content:center ;
}
.fact-state .stamp svg{
  width:44px ;
  height:44px ;
  display:block;
}
.fact-state .stamp-copy{display:none ;}
.fact-state-copy{
  grid-column:2;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:3px;
  min-height:48px;
}
.fact-state .status-text,
.fact-state .trust-level{
  display:block;
  margin:0 ;
  max-width:100% ;
  text-align:left ;
  white-space:normal ;
  overflow-wrap:anywhere;
}
.fact-state .status-text{
  font-size:13px ;
  line-height:1.25 ;
  font-weight:750;
}
.fact-state .trust-level{
  font-size:11px ;
  line-height:1.35 ;
  color:var(--muted);
}
.fact-trust-link{
  appearance:none;
  border:0;
  background:none;
  padding:2px 0 0;
  margin:0;
  color:var(--ink);
  font-size:11px;
  line-height:1.3;
  font-weight:700;
  cursor:pointer;
  gap:4px;
}
.fact-trust-link:hover{text-decoration:underline;text-underline-offset:3px;}
.fact-trust-link:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px;}
.fact-trust-link .icon{width:12px;height:12px;}

/* Trust hierarchy */
.fact-row.is-verified .status-text{color:var(--status-verified) ;}
.fact-row:not(.is-verified) .status-text{color:var(--muted);}
.fact-row--compact .fact-title{font-size:15px ;}
.fact-row--compact{padding-block:16px ;}

/* Passport header and summary */
.public-passport-v11 .passport-meta{align-items:center;}
.public-passport-v11 .passport-meta > div:last-child{min-width:0;}
.public-passport-v11 .passport-meta h1{margin:8px 0 6px;line-height:1.08;overflow-wrap:anywhere;}
.public-passport-v11 .passport-meta p{margin:0;line-height:1.45;overflow-wrap:anywhere;}
.passport-summary{
  display:grid ;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0 ;
}
.passport-summary > div{
  min-width:0;
  padding:18px 20px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
}
.passport-summary strong{line-height:1.15 ;overflow-wrap:anywhere;}
.passport-summary small{line-height:1.35;}

/* Section headings */
.section-heading-row{gap:20px;}
.section-heading-row > div{min-width:0;}
.section-heading-row h2{margin:5px 0 0;line-height:1.12;overflow-wrap:anywhere;}
.section-heading-row .legend-button{flex:0 0 auto;}

/* Buttons: one vertical center regardless of icon/text */
.btn,.btn-lg,.btn-sm,.btn-quiet,.top-action,.mobile-login{
  align-items:center ;
  justify-content:center;
  line-height:1.25 ;
  white-space:normal;
}
.btn .icon,.top-action .icon,.mobile-login .icon{width:16px;height:16px;}

/* Forms */
.field{min-width:0;}
.field label{display:block;margin-bottom:7px;line-height:1.3;}
.field input,.field textarea,.field select{display:block;width:100%;min-width:0;line-height:1.4;}
.confirm-row{min-width:0;align-items:center;}
.confirm-row > span{min-width:0;line-height:1.35;}
.confirm-row > span small{display:block;margin-top:3px;line-height:1.35;overflow-wrap:anywhere;}

/* Cards and lists */
.card,.sheet,.experience-sheet,.dashboard-section,.passport-section-v11,
.company-check-sheet,.employer-search-sheet,.onboarding-sheet,.auth-sheet{
  min-width:0;
}
.experience-head > div{min-width:0;}
.experience-head h3{margin:7px 0 5px;line-height:1.12;overflow-wrap:anywhere;}
.experience-head p{margin:0;line-height:1.4;overflow-wrap:anywhere;}
.request-row,.employer-history-row{min-width:0;}
.request-row > div:first-child,.employer-history-row > div:first-child{min-width:0;}
.request-row h3{margin:0 0 4px;line-height:1.2;overflow-wrap:anywhere;}
.request-row p{margin:0;line-height:1.4;overflow-wrap:anywhere;}

/* Design system / component showcase */
.design-panel h2{margin:0 0 16px;line-height:1.15;}
.status-row,.stamp-showcase{align-items:center;}

/* Responsive: never compress type to solve a geometry problem. */
@media (max-width:1000px){
  :root{--passport-state-width:270px;--passport-state-gap:24px;}
}
@media (max-width:760px){
  :root{--passport-state-width:100%;--passport-state-gap:14px;}
  .fact-row,.fact-row--compact,.passport-paper .fact-row{
    grid-template-columns:1fr ;
    gap:14px ;
    padding-block:20px ;
  }
  .fact-state-main{grid-template-columns:42px minmax(0,1fr);column-gap:10px;}
  .fact-state .stamp{width:42px ;min-width:42px ;height:42px ;}
  .fact-state .stamp svg{width:40px ;height:40px ;}
  .fact-state-copy{min-height:42px;}
  .passport-summary{grid-template-columns:1fr ;}
  .passport-summary > div{border-left:0 ;border-top:1px solid var(--line);}
  .passport-summary > div:first-child{border-top:0;}
  .section-heading-row{align-items:flex-start ;flex-direction:column;}
  .section-heading-row .legend-button{align-self:flex-start;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto ;transition-duration:.01ms ;animation-duration:.01ms ;animation-iteration-count:1 ;}
}


/* --- Stage 3 canonical visual corrections: D1–D8 --- */
.passport-paper .fact-row,.public-passport-v11 .fact-row,.v17-passport .v17-live-fact{border-color:var(--repa-line,var(--line));}
.public-passport-v11 .fact-row{width:100%;}
.public-passport-v11 .facts-stack{border-top:1px solid var(--repa-line,var(--line));}
.public-passport-v11 .facts-stack>.fact-row{margin:0;}
.fact-row .fact-state,.fact-row .fact-main{align-self:start;}
.fact-row .fact-state-main{min-height:48px;}
.v17-hero-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--repa-line,var(--line));}
.v17-hero-meta span{min-width:0;padding:10px 14px 0 0;border-top:0;}
.v17-hero-meta span+span{padding-left:14px;border-left:1px solid var(--repa-line,var(--line));}
.v17-mini-start{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch;}
.v17-mini-start input{min-width:0;width:100%;}
.v17-mini-start button{min-width:0;}
.v17-hero-copy,.v17-hero h1,.v17-hero p,.v17-mini-start,.v17-mini-start input{min-width:0;max-width:100%;}
.v17-hero h1{overflow-wrap:normal;hyphens:auto;}
.v17-mini-start input{text-overflow:ellipsis;}
html{overflow-x:clip;}
.topbar .mobile-login{display:none;}
@media (max-width:768px){.topbar .mobile-login{display:inline-flex;}}
.employer-hero-v11{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);gap:clamp(32px,5vw,72px);align-items:center;}
.employer-hero-preview{min-width:0;}
.employer-hero-preview .dark-passport-v11{margin:0;}
@media (max-width:900px){.employer-hero-v11{grid-template-columns:1fr;}}
.mobile-nav{display:none;}
@media (max-width:768px){.mobile-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:var(--z-header,50);}.main{padding-bottom:76px;}}
@media (min-width:769px){.main{padding-bottom:0;}}
.dash-actions{display:flex;align-items:center;gap:10px;min-width:0;}
.profile-head .notification-button{margin-left:auto;flex:0 0 auto;}
.notification-button{position:relative;border:1px solid var(--line);background:transparent;}
.notification-button[data-unread]::after{content:attr(data-unread);position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font-size:10px;line-height:1;font-weight:700;}
.consent-line,.check,.toggle-line{position:relative;display:flex;align-items:flex-start;gap:10px;min-height:44px;cursor:pointer;}
.consent-line input,.check input,.toggle-line input{position:static;opacity:1;pointer-events:auto;width:20px;height:20px;margin:2px 0 0;flex:0 0 20px;accent-color:var(--status-verified);}
.consent-line span,.check span,.toggle-line span{min-width:0;}
.consent-line span::before,.check span::before,.toggle-line span::before{content:none;}
.consent-line a,.check a{position:relative;z-index:1;}
:where(.employer-hero-v11,.v17-hero,.auth-sheet,.dashboard-v11,.employer-dashboard-v11) :where(h1,h2,h3,p){text-wrap:pretty;}
:where(button,a,input,textarea,select,summary):focus-visible{outline:2px solid var(--focus);outline-offset:3px;}
@media (max-width:640px){.v17-hero-meta{grid-template-columns:1fr;}.v17-hero-meta span+span{padding-left:0;border-left:0;border-top:1px solid var(--repa-line,var(--line));padding-top:10px;}.v17-mini-start{grid-template-columns:1fr;}.v17-mini-start button{width:100%;}}
@media (max-width:390px){.v17-hero h1{font-size:clamp(36px,11vw,52px);letter-spacing:-.03em;}.v17-hero p{font-size:16px;}.v17-passport{padding:16px;}.v17-passport-head{gap:10px;overflow-wrap:anywhere;}.v17-hero-meta{font-size:12px;}}
:where(.v17-hero,.employer-hero-v11,.auth-sheet,.dashboard-v11,.employer-dashboard-v11,.public-passport-v11)>*{min-width:0;}

/* ==========================================================================
   REPA v19.9 — polish layer: one grid, one section rhythm, one footer.
   Loaded last on purpose; replaces the ad-hoc per-version overrides above.
   ========================================================================== */
:root{
  --repa-container:1240px;
  --repa-label-col:190px;
  --repa-section-gap:clamp(28px,4vw,64px);
}

/* 1. One horizontal grid: header, content and footer share the same edges */
.container,.topbar,.footer-inner{
  width:min(calc(100% - 2 * var(--repa-gutter)),var(--repa-container));
  margin-inline:auto;
}
.topbar{padding-inline:0;gap:clamp(16px,2vw,32px);}
.content-page{margin-inline:0;max-width:820px;}

/* 2. Header: one primary action, one secondary link (mobile button is mobile-only) */
.topbar .mobile-login{display:none;}
@media (max-width:768px){.topbar .mobile-login{display:inline-flex;}}
.topbar .nav a.top-action{
  background:var(--ink);color:var(--white);border:1px solid var(--ink);
  border-radius:var(--repa-radius);padding:0 18px;white-space:nowrap;
}
.topbar .nav a.top-action:hover{background:var(--palette-225649);}
.topbar .nav a.quiet-link{white-space:nowrap;}
.mobile-nav{display:none;}
@media (max-width:768px){.mobile-nav{display:flex;}}

/* 3. Hero: actions row and passport card */
.home-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;}
.home-actions .btn{width:auto;min-width:240px;}
button.v17-live-fact{
  -webkit-appearance:none;appearance:none;display:grid;width:100%;margin:0;
  border:0;border-bottom:1px solid var(--repa-line);border-radius:0;
  background:transparent;box-shadow:none;color:inherit;font:inherit;text-align:left;
}
.v17-passport button.v17-live-fact:hover{background:rgba(23,63,53,.04);}
.v17-live-fact{grid-template-columns:minmax(0,1fr) minmax(150px,210px);align-items:start;}
.v17-live-fact h3{font:400 clamp(19px,1.7vw,22px)/1.2 var(--repa-display);letter-spacing:0;margin:0 0 6px;color:inherit;}
.v17-live-fact p{margin:0;}
.v17-fact-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:0;}
.v17-trust{max-width:210px;margin:0;}
.v17-passport-foot{border-top:0;}

/* 4. Landing sections: label column + content column, same rhythm everywhere */
.v17-section{padding:clamp(56px,7vw,92px) 0;}
.v17-section-grid{
  display:grid;grid-template-columns:var(--repa-label-col) minmax(0,1fr);
  column-gap:var(--repa-section-gap);row-gap:16px;align-items:start;
}
.v17-section-grid>*{min-width:0;}
.v17-section-label{padding-top:12px;line-height:1.4;}
.v17-section h2{font:400 clamp(30px,3.4vw,44px)/1.1 var(--repa-display);letter-spacing:-.02em;margin:0 0 18px;max-width:22ch;text-wrap:balance;}
.v17-section-intro{margin:0 0 28px;}
.v17-fact-stage{position:static;}
.v17-employer-preview{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:var(--repa-section-gap);}
.v17-employer-copy{border-top:0;padding-top:0;}
.v17-employer-copy .v17-section-label{padding-top:0;margin-bottom:12px;}
.v17-employer-copy h2{margin-top:0;}
.v17-employer-copy p{margin:0 0 14px;}
.v17-employer-copy p:last-child{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:15px;}
.v17-dark-passport .v17-live-fact{grid-template-columns:minmax(0,1fr) auto;}
.v17-dark-passport .btn{width:100%;margin-top:18px;}
.v17-control{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:var(--repa-section-gap);}
.v17-control .v17-section-intro{margin-bottom:20px;}
.v17-control-row{cursor:pointer;}
.v17-switch{flex:0 0 auto;width:52px;height:30px;background:var(--soft);border:1px solid var(--line-strong);}
.v17-switch:after{width:22px;height:22px;left:3px;top:3px;}
.v17-switch:checked{background:var(--ink);border-color:var(--ink);}
.v17-switch:checked:after{transform:translateX(22px);}
.v17-faq{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:var(--repa-section-gap);}
.v17-faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;}
.v17-faq summary::after{content:"+";font-weight:400;font-size:22px;line-height:1;color:var(--muted);flex:0 0 auto;}
.v17-faq details[open] summary::after{content:"\2212";}
.v17-section--final{border-bottom:0;}
.v17-final{padding:0;align-items:center;gap:24px 40px;}
.v17-final h2{margin:0 0 10px;font-size:clamp(28px,3vw,40px);}
.v17-final .btn{width:auto;min-width:260px;flex:0 0 auto;}
@media (max-width:1000px){
  .v17-section-grid{grid-template-columns:1fr;}
  .v17-section-label{padding-top:0;}
  .v17-employer-preview,.v17-control,.v17-faq{grid-template-columns:1fr;}
  .v17-flow{overflow:visible;}
}
@media (max-width:760px){
  .v17-section h2{max-width:none;}
  .v17-fact-stage-head{display:flex;flex-direction:column;gap:14px;}
  .v17-role-switch{width:100%;overflow:visible;}
  .v17-role-switch button{flex:1 1 0;min-width:0;padding:10px 6px;}
  .v17-flow{grid-template-columns:1fr;margin-top:20px;}
  .v17-flow-step{min-width:0;min-height:0;display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:12px;padding:14px 0;}
  .v17-flow-step:not(:last-child):after{display:none;}
  .v17-flow-step b{grid-row:1 / span 2;}
  .v17-flow-step h4{margin:0 0 4px;}
  .v17-final{flex-direction:column;align-items:stretch;}
  .v17-final .btn{width:100%;min-width:0;}
  .v17-live-fact{grid-template-columns:1fr;}
  .v17-fact-side{align-items:flex-start;}
}

/* 5. Footer */
.footer{padding:0;}
.footer-inner{
  display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);
  gap:32px clamp(32px,5vw,72px);padding:clamp(40px,5vw,56px) 0 28px;align-items:start;
}
.footer-brand{display:flex;flex-direction:column;gap:14px;align-items:flex-start;max-width:34ch;}
.footer-brand span:last-child{line-height:1.5;}
.footer-inner .footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:2px;}
.footer-inner .footer-nav a{display:inline-flex;align-items:center;min-height:36px;padding:0;line-height:1.3;}
.footer-inner .footer-nav a:hover{text-decoration:underline;}
.footer-inner small{grid-column:1 / -1;padding-top:20px;border-top:1px solid var(--palette-ffffff22);}
@media (max-width:900px){.footer-inner{grid-template-columns:1fr 1fr;}.footer-brand{grid-column:1 / -1;max-width:none;}}
@media (max-width:560px){.footer-inner{grid-template-columns:1fr;gap:20px;}}

/* 6. Forms: heading block, labels, consent rows */
.auth-sheet .lead,.auth-sheet h1+p,.auth-sheet h2+p,.onboarding-sheet h1+p{margin:0 0 24px;}
.consent-line,.check{align-items:flex-start;min-height:0;padding:6px 0;gap:12px;line-height:1.45;}
.consent-line input,.check input{margin:1px 0 0;}
.field{margin-bottom:18px;}
.field>label{display:block;margin-bottom:6px;}

/* 7. Content pages: headings must stay above body copy in size and spacing */
.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--repa-section-gap);align-items:start;}
.about-grid h2,.content-page .about-grid h2{font:400 clamp(26px,2.6vw,32px)/1.15 var(--repa-display);margin:0 0 12px;}
.about-grid p{margin:0 0 14px;font-size:16px;line-height:1.55;}
.about-grid .form{margin-top:20px;}
@media (max-width:760px){.about-grid{grid-template-columns:1fr;}}

/* 8. Legal pages (static html): readable hierarchy */
.legal-page{max-width:820px;margin-inline:auto;padding:clamp(32px,5vw,64px) 0;}
.legal-page h1{font:400 clamp(30px,4vw,44px)/1.1 var(--repa-display);margin:8px 0 14px;}
.legal-page h2{font:400 clamp(20px,2vw,24px)/1.25 var(--repa-display);margin:32px 0 10px;}
.legal-page p,.legal-page li{font-size:16px;line-height:1.6;margin:0 0 12px;}
.legal-page .subtext{color:var(--muted);}
.legal-page .btn{margin-top:28px;}

/* 9. Small text floor: nothing below 12px */
.v17-passport-head,.v17-passport-foot,.v17-serial{font-size:12px;}
@media (max-width:560px){
  .home-actions{flex-direction:column;align-items:stretch;gap:8px;}
  .home-actions .btn{width:100%;min-width:0;}
  .home-actions .home-link{justify-content:center;min-height:44px;}
}
@media (max-width:760px){
  .v17-passport-head{font-size:11px;letter-spacing:.04em;gap:8px;}
  .v17-serial{white-space:nowrap;}
}

/* 10. Employer landing */
.employer-hero-v11{align-items:center;padding-block:clamp(32px,5vw,64px);}
.employer-hero-v11 .hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:24px;}
.employer-hero-v11 .hero-actions .btn{width:auto;min-width:240px;}
.employer-price-inline{margin:24px 0 0;padding:14px 0;border-block:1px solid var(--line);}
.access-steps-v11,.employer-faq-mini{
  display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:var(--repa-section-gap);padding:clamp(44px,6vw,72px) 0;align-items:start;
}
.access-steps-v11 h2,.employer-faq-mini h2{font-size:clamp(30px,3.4vw,44px);line-height:1.1;margin:8px 0 0;}
.employer-faq-mini p{font-size:18px;line-height:1.55;margin:0 0 16px;}
.final-cta{padding:clamp(48px,7vw,88px) 0;}
.employer-preview-label{color:var(--palette-b7c9c1);font-size:12px;}
@media (max-width:900px){
  .access-steps-v11,.employer-faq-mini{grid-template-columns:1fr;gap:20px;}
  .employer-hero-v11 .hero-actions{flex-direction:column;align-items:stretch;}
  .employer-hero-v11 .hero-actions .btn{width:100%;min-width:0;}
}

/* 11. Auth + internal pages: consistent top offset below the sticky header */
.auth-screen{min-height:0;padding:clamp(28px,5vw,56px) 0 clamp(40px,6vw,72px);}
.design-page{padding-top:clamp(28px,4vw,48px);}
.employer-faq-mini .btn-quiet{justify-content:flex-start;padding-left:0;}
.preview-block-head{display:flex;justify-content:space-between;align-items:baseline;gap:6px 16px;flex-wrap:wrap;}

/* 12. Cabinet: everything left-aligned on one edge, actions sized by content */
.dashboard-v11 .dash-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;text-align:left;}
.dashboard-v11 .profile-head{margin:0;justify-content:flex-start;text-align:left;}
.dashboard-v11 .dash-actions{width:auto;justify-content:flex-start;}
.dashboard-v11 .dash-actions .btn,.dashboard-v11 .notice .btn{width:auto;}
.dashboard-v11 .notice{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;text-align:left;}
.dashboard-v11 .next-step{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px;text-align:left;}
.dashboard-v11 .next-step-copy{margin:0;text-align:left;flex:1 1 360px;}
.dashboard-v11 .next-step>.btn{flex:0 0 auto;width:auto;min-width:240px;}
.dashboard-v11 .section-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 24px;text-align:left;}
.dashboard-v11 .section-heading-row>div{margin:0;text-align:left;}
.dashboard-v11 .empty-sheet{text-align:left;}
.dashboard-v11 .empty-sheet .btn{width:auto;min-width:220px;margin-top:12px;}
.dashboard-v11 .skill-add-v11{align-items:end;}
.profile-page-v19-3 .profile-form-v19-3>.btn-primary{width:auto;min-width:200px;}
.profile-security{margin-top:clamp(36px,5vw,56px);}
.profile-security h2{margin:0 0 16px;}
.profile-security>.btn,.profile-security .form>.btn{width:auto;}
.profile-security>.btn-quiet{padding-left:0;justify-content:flex-start;margin-top:8px;}
.profile-danger{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line);}
.profile-danger .btn{width:auto;}
.onboarding-v13{max-width:760px;margin-inline:auto;}
.onboarding-progress>div:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;}
.onboarding-sheet{width:100%;}

/* 12b. A legacy rule forced these groups into a column on every width; restore rows on desktop */
.dashboard-v11 .dash-header,.dashboard-v11 .next-step,.dashboard-v11 .section-heading-row{flex-direction:row;}
.dashboard-v11 .section-heading-row{align-items:flex-end;}
@media (max-width:760px){
  .dashboard-v11 .dash-header,.dashboard-v11 .next-step,.dashboard-v11 .section-heading-row{flex-direction:column;align-items:flex-start;}
  .dashboard-v11 .next-step>.btn,.dashboard-v11 .empty-sheet .btn{width:100%;min-width:0;}
}

/* 12c. Employer cabinet: same left-aligned rhythm as the candidate cabinet */
.employer-dashboard-v11 .dash-header,.employer-dashboard-v11 .section-heading-row{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;text-align:left;}
.employer-dashboard-v11 .dash-header>div,.employer-dashboard-v11 .section-heading-row>div{margin:0;text-align:left;}
.employer-dashboard-v11 .billing-pill{margin:0;}
@media (max-width:760px){
  .employer-dashboard-v11 .dash-header,.employer-dashboard-v11 .section-heading-row{flex-direction:column;align-items:flex-start;}
}

/* 13. v19.9 final polish: remaining unevenness found in the visual audit */
/* 13a. Design-system page: clear the sticky header, stamps keep their date inside the seal */
main .design-page{padding-top:clamp(40px,5vw,72px);}
.design-page h1{margin:8px 0 clamp(24px,3vw,40px);}
.stamp-showcase .stamp>.stamp-copy{width:auto;height:auto;border:0;padding:0;display:grid;place-items:center start;gap:2px;font-family:var(--font-sans);}
.fact-state .stamp>.stamp-copy{display:none;}
.stamp-showcase{flex-wrap:wrap;gap:16px 20px;}
.design-panel{min-width:0;}
/* 13b. “Как это работает”: number sits on its own line with air above the heading */
.how-grid b{display:block;margin:0 0 8px;font-size:14px;line-height:1;letter-spacing:.06em;}
.how-grid h2{margin-top:0;}
/* 13c. Example page: same top offset as other content pages */
main .example-page{padding-top:clamp(32px,4vw,56px);}
/* 13d. Employer page: closing CTA follows the page's left edge instead of centring */
.employer-page-v11 .final-cta{text-align:left;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px var(--repa-section-gap,48px);align-items:start;}
.employer-page-v11 .final-cta .section-kicker{grid-column:1;}
.employer-page-v11 .final-cta h2{grid-column:1;margin:0;}
.employer-page-v11 .final-cta .btn{grid-column:2;grid-row:1 / span 2;align-self:center;justify-self:start;width:auto;min-width:260px;}
@media (max-width:900px){
  .employer-page-v11 .final-cta{grid-template-columns:1fr;}
  .employer-page-v11 .final-cta .btn{grid-column:1;grid-row:auto;width:100%;justify-self:stretch;}
}
/* 13e. Hero meta: third cell gets the extra room so it stays on one or two even lines */
@media (min-width:641px){.v17-hero-meta{grid-template-columns:1fr 1fr 1.4fr;}}
@media (max-width:640px){.v17-hero-meta span{padding-top:10px;padding-bottom:10px;line-height:1.35;font-size:13px;}}
/* 13f. Short role/location lines never orphan a trailing “· Город” */
.preview-top p,.v17-person-role,.dark-passport-v11 p{text-wrap:balance;}

/* 14. v19.9 copy pass: new lead paragraphs and calls to action */
.how-cta{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;margin-top:clamp(28px,4vw,44px);}
.content-page .lead,.example-page .lead{max-width:62ch;font-size:clamp(17px,1.6vw,20px);line-height:1.55;color:var(--muted);margin:0 0 clamp(20px,3vw,32px);}
.example-page .example-lead{margin-top:12px;}
.content-page .how-grid + .paper-callout{margin-top:clamp(24px,3vw,36px);}
@media (max-width:640px){.how-cta .btn{width:100%;}}

/* 14. v19.10 copy pass: stacked callouts keep their own air */
.paper-callout+.paper-callout{margin-top:16px;}

/* REPA hero word wrap */
.v17-hero-copy { container-type: inline-size; }
.v17-hero h1 {
  hyphens: none;
  overflow-wrap: normal;
  font-size: min(78px, 11cqi);
}

/* REPA experience layout */
.dashboard-v11 .dashboard-section:has(> .experience-sheet) > .section-heading-row {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
}
.dashboard-v11 .dashboard-section:has(> .experience-sheet) > .section-heading-row > div {
  flex: 1 0 auto;
  max-width: 100%;
}
.dashboard-v11 .dashboard-section:has(> .experience-sheet) > .section-heading-row h2 {
  font-size: clamp(24px, 4.5vw, 34px);
  overflow-wrap: normal;
  hyphens: none;
}
.dashboard-v11 .dashboard-section:has(> .experience-sheet) > .section-heading-row > .btn,
.dashboard-v11 .dashboard-section:has(> .experience-sheet) > .section-heading-row > .metric-inline {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.dashboard-v11 .experience-sheet {
  box-sizing: border-box;
  padding: clamp(16px, 3vw, 32px);
}

/* REPA skill form and list */
.dashboard-v11 .skill-add-v11 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  align-items: end;
  gap: 12px;
}
.dashboard-v11 .skill-add-v11 .field { margin: 0; min-width: 0; }
.dashboard-v11 .skill-add-v11 :is(input, select, button) {
  box-sizing: border-box;
  min-height: 48px;
  margin: 0;
}
.dashboard-v11 .skill-summary {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px 24px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}
.dashboard-v11 .skill-summary-main { min-width: 0; overflow-wrap: anywhere; }
.dashboard-v11 .skill-summary-main h3 { margin: 0 0 4px; }
.dashboard-v11 .skill-summary-context { white-space: pre-wrap; }
.dashboard-v11 .skill-summary-side { display: grid; gap: 8px; justify-items: end; }
.dashboard-v11 .skill-summary-actions { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 900px) {
  .dashboard-v11 .skill-add-v11 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .dashboard-v11 .skill-add-v11 { grid-template-columns: minmax(0, 1fr); }
  .dashboard-v11 .skill-summary { flex-direction: column; }
  .dashboard-v11 .skill-summary-side { justify-items: start; }
}

/* REPA compact passport skills */
.passport-skill-line { padding: 10px 0; border-bottom: 1px solid var(--line); }
.passport-skill-bar { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 14px; }
.passport-skill-bar strong { font-size: 1rem; overflow-wrap: anywhere; }
.passport-skill-bar .muted { flex: 1 1 12rem; overflow-wrap: anywhere; }
.passport-skill-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.passport-skill-line details { margin-top: 4px; }
.passport-skill-line details p { margin: 4px 0; overflow-wrap: anywhere; }
.skill-workplace-choice { display: grid; gap: 6px; margin-bottom: 10px; }
.skill-workplace-choice textarea { width: 100%; }

/* REPA skill examples */
.passport-skill-bar .muted { flex: 0 1 auto; min-width: 0; }
.passport-skill-bar .passport-skill-actions { margin-inline-start: auto; }
.skill-examples-toggle {
  padding: 2px 0;
  border: 0;
  background: transparent;
  color: var(--brand);
  font: inherit;
  font-size: .85em;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.skill-examples {
  margin-top: 8px;
  padding-inline-start: 12px;
  border-inline-start: 2px solid var(--line);
  overflow-wrap: anywhere;
}
.skill-examples p { margin: 4px 0; }

/* REPA confirmation requester */
.pilot-confirm-page .pilot-confirm-requester {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 16px 0 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}
.pilot-confirm-page .pilot-confirm-requester p {
  margin: 0;
  overflow-wrap: anywhere;
}
.pilot-confirm-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  overflow: hidden;
  border-radius: 50%;
  background: var(--brand);
  color: white;
  font-weight: 700;
}
.pilot-confirm-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pilot-confirm-page .pilot-confirm-form fieldset {
  min-width: 0;
  margin: 0;
  padding: 8px 14px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
}
.pilot-confirm-page .pilot-confirm-form legend {
  padding-inline: 6px;
  font-weight: 600;
}
.pilot-confirm-page .pilot-confirm-form fieldset .form { gap: 0; }
.pilot-confirm-page .pilot-confirm-form fieldset .check {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  margin: 0;
  padding: 6px 0;
  cursor: pointer;
}
.pilot-confirm-page .pilot-confirm-form fieldset input[type="checkbox"] {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  min-height: 0;
  margin: 0;
  accent-color: var(--brand);
}

/* REPA workplace skill layout */
.dashboard-v11 .experience-sheet .experience-skill-editor {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  justify-items: stretch;
  gap: 10px;
  margin: 12px 0;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 6px;
}
.dashboard-v11 .experience-skill-editor > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.dashboard-v11 .experience-skill-editor > details {
  min-width: 0;
}
.dashboard-v11 .experience-skill-editor summary.btn {
  display: inline-flex;
  width: auto;
  min-height: 40px;
  padding: 6px 12px;
  gap: 7px;
  cursor: pointer;
  list-style: none;
}
.dashboard-v11 .experience-skill-editor summary::-webkit-details-marker {
  display: none;
}
.dashboard-v11 .experience-skill-editor summary::before { content: "+"; }
.dashboard-v11 .experience-skill-editor details[open] > summary::before {
  content: "−";
}
.dashboard-v11 .experience-skill-editor details > form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) auto;
  align-items: end;
  gap: 10px 12px;
  margin: 12px 0 0;
}
.dashboard-v11 .experience-skill-editor form .field {
  display: block;
  min-width: 0;
  margin: 0;
}
.dashboard-v11 .experience-skill-editor form .field small { display: inline; }
.dashboard-v11 .experience-skill-editor form input:not([type="hidden"]) {
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-height: 44px;
  margin: 6px 0 0;
}
.dashboard-v11 .experience-skill-editor form button {
  width: auto;
  min-height: 44px;
  margin: 0;
}
@media (max-width: 760px) {
  .dashboard-v11 .experience-skill-editor details > form {
    grid-template-columns: minmax(0, 1fr);
  }
  .dashboard-v11 .experience-skill-editor form button { justify-self: start; }
}

/* REPA workplace skill list */
.dashboard-v11 .experience-skill-editor .workplace-skill-item {
  min-width: 0;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  overflow-wrap: anywhere;
}
.dashboard-v11 .experience-skill-editor .workplace-skill-item:last-child {
  border-bottom: 0;
  padding-bottom: 2px;
}
.dashboard-v11 .experience-skill-editor .workplace-skill-item > strong {
  display: block;
  color: var(--brand);
  line-height: 1.35;
}
.dashboard-v11 .experience-skill-editor .workplace-skill-item > p {
  margin: 4px 0 0;
  line-height: 1.5;
  white-space: pre-wrap;
}

/* REPA work response summary */
.experience-sheet .pilot-work-responses {
  display: grid;
  gap: 8px;
  margin: 12px 0;
}
.experience-sheet .pilot-work-response {
  padding: 12px 14px;
  background: var(--sheet, #fbfaf6);
  border: 1px solid var(--line);
  border-inline-start: 3px solid var(--brand);
  border-radius: 4px;
  overflow-wrap: anywhere;
}
.experience-sheet .pilot-work-response p { margin: 0 0 4px; line-height: 1.45; }
.experience-sheet .pilot-work-response-author,
.experience-sheet .pilot-work-response summary { font-size: .9rem; }
.experience-sheet .pilot-work-response summary { cursor: pointer; }
.experience-sheet .pilot-work-response summary span {
  color: var(--brand);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.experience-sheet .pilot-work-response ul { margin: 8px 0 0; padding-inline-start: 20px; }

/* REPA pilot fact statuses */
.experience-sheet .pilot-work-fact-statuses {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  padding: 0;
  margin: 12px 0;
  list-style: none;
}
.experience-sheet .pilot-work-fact-statuses li,
.experience-sheet .workplace-skill-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 8px;
}
.experience-sheet .pilot-work-status {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  background: #eeede7;
  color: #4c554f;
  font-size: .82rem;
  line-height: 1.45;
}
.experience-sheet .pilot-work-status--verified {
  background: #e2eee5;
  color: #234737;
}
.experience-sheet .pilot-work-status--stale,
.experience-sheet .pilot-work-status--pending {
  background: #f3ebd9;
  color: #624c24;
}
.experience-sheet .pilot-position-locked {
  font-size: .82rem;
  color: #4c554f;
}

/* REPA skill response count */
.experience-sheet .workplace-skill-heading {
  justify-content: space-between;
  align-items: center;
  gap: 6px 12px;
}
.experience-sheet .workplace-skill-heading > strong {
  min-width: 0;
  flex: 1 1 14rem;
}
.experience-sheet .workplace-skill-heading > .pilot-work-status {
  white-space: nowrap;
}

/* REPA employer passport example */
.pilot-passport-example-frame {
  display: block;
  width: 100%;
  height: 620px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f3f1e9;
}
.v17-live-passport, .v17-employer-preview > div { min-width: 0; }
@media (max-width: 560px) {
  .pilot-passport-example-frame { height: 760px; }
}

/* REPA compact passport example */
.v17-hero .v17-live-passport { width: 100%; justify-self: stretch; }
.pilot-demo-passport {
  width: 100%; overflow: hidden; border: 1px solid var(--line);
  border-radius: 8px; background: #fffcf6; color: #203d33;
}
.pilot-demo-passport .pilot-demo-header {
  padding: 18px 20px; background: #203d33; color: #fff;
}
.pilot-demo-passport .pilot-demo-header h2 {
  margin: 4px 0; color: inherit; font-size: clamp(24px, 3vw, 34px);
  line-height: 1.15; overflow-wrap: normal;
}
.pilot-demo-passport .pilot-demo-label {
  color: #dfeae1; font-size: .8rem; letter-spacing: .04em;
}
.pilot-demo-passport .pilot-demo-header p {
  margin: 0; color: #dfeae1; font-size: .9rem; line-height: 1.4;
}
.pilot-demo-passport .pilot-demo-body { padding: 14px 20px 16px; }
.pilot-demo-passport .pilot-demo-job,
.pilot-demo-passport .pilot-demo-facts {
  display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px;
}
.pilot-demo-passport .pilot-demo-job span,
.pilot-demo-passport .pilot-demo-facts { color: #52635b; font-size: .86rem; }
.pilot-demo-passport .pilot-demo-facts { margin-top: 8px; }
.pilot-demo-passport ul { margin: 10px 0 0; padding: 0; list-style: none; }
.pilot-demo-passport li {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px;
  padding: 8px 0; border-top: 1px solid #deddd4;
}
.pilot-demo-passport li strong { flex: 1 1 150px; font-size: .94rem; }
.pilot-demo-passport .pilot-demo-status {
  padding: 2px 6px; border-radius: 4px; background: #eeece5;
  font-size: .78rem; line-height: 1.4;
}
.pilot-demo-passport .pilot-demo-status.is-confirmed { background: #e2eee5; }
.pilot-demo-passport li p {
  flex-basis: 100%; margin: 0; font-size: .88rem; color: #52635b;
}
.pilot-demo-passport .pilot-demo-note {
  margin: 6px 0 0; color: #52635b; font-size: .8rem; line-height: 1.4;
}
.pilot-demo-passport .pilot-demo-link { display: inline-block; margin-top: 8px; }

/* REPA homepage headline and example */
.v17-hero-copy { container-type: inline-size; }
.v17-hero .repa-hero-title {
  font-size: min(78px, 10.8cqi);
  line-height: 1.02;
  letter-spacing: -.04em;
  hyphens: none;
  overflow-wrap: normal;
}
.v17-hero .repa-hero-title > * { display: block; white-space: nowrap; }
.v17-hero .repa-hero-title > em { color: #32604e; }
.v17-hero .pilot-demo-passport {
  box-shadow: 0 14px 32px rgb(32 61 51 / 9%);
}
.v17-hero .pilot-demo-passport .pilot-demo-header {
  padding: 22px 20px;
  background: linear-gradient(120deg, #203d33, #305648);
}
.v17-hero .pilot-demo-passport li:first-child {
  margin: 0 -4px 4px;
  padding: 10px 8px;
  border: 0;
  border-radius: 5px;
  background: #f0f5ed;
}
.v17-hero .pilot-demo-passport li:first-child .pilot-demo-status {
  background: #dceadd;
}
