:root{--navy:#08266f;--green:#148d34;--blue:#088af2;--muted:#60718f;--line:#d8e5ef}*{box-sizing:border-box}body{margin:0;background:#f9fcfd;color:var(--navy);font-family:Arial,'Segoe UI',sans-serif}.header{background:#fff;border-bottom:1px solid #edf0f2}.header-inner{max-width:1390px;margin:auto;padding:12px 22px;display:flex;justify-content:space-between;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{width:58px;height:54px}.brand strong{font-size:29px;letter-spacing:-1px;color:#108531;display:block;line-height:1}.brand b{color:#08a7ee}.brand small{font-size:14px;color:#67748d}.header nav{display:flex;gap:36px}.header nav a{text-decoration:none;font-weight:700;color:var(--navy)}.layout{max-width:1390px;margin:14px auto 36px;display:grid;grid-template-columns:1fr 1.13fr;gap:0;padding:0 18px}.story,.registration{border:1px solid #e3edf0;border-radius:18px;min-width:0;box-shadow:0 10px 35px #18345b0c}.story{background:linear-gradient(130deg,#f3fbff,#f9fdfb);padding:37px 34px 28px}.registration{background:#fff;padding:28px 36px}.overline{letter-spacing:2.2px;color:#00a6ea;font-weight:800;margin:0 0 14px;font-size:18px}.story h1{font-size:clamp(30px,3vw,45px);letter-spacing:-1.2px;line-height:1.16;margin:0 0 15px}.story h1 span{color:var(--green)}.intro{font-size:20px;color:#65738f;line-height:1.35;margin:0 0 21px}.benefit{display:flex;gap:24px;align-items:center;margin:13px 0}.benefit-icon{width:68px;height:68px;display:grid;place-items:center;border-radius:50%;font-size:40px;font-weight:700;flex:none}.benefit-icon.blue{background:#dbf5ff;color:#049bdf}.benefit-icon.green{background:#e0f9e8;color:#0b922e}.benefit-icon.red{background:#ffe8eb;color:#f33}.benefit h3{margin:0;font-size:24px}.benefit p{margin:3px 0;color:#63728d;font-size:18px}.one{color:#12892e;font-size:19px;margin:18px 0}.photo-wrap{position:relative}.photo-wrap img{width:100%;height:310px;object-fit:cover;border-radius:15px;display:block}.photo-note{position:absolute;left:15px;bottom:24px;border-radius:22px;background:#fff;padding:13px 20px;color:#141f2f;font-size:14px;box-shadow:0 5px 20px #0002}.registration h2{font-size:clamp(27px,2.5vw,38px);letter-spacing:-1px;margin:0}.subheading{font-size:17px;color:#7483a0;margin:5px 0 18px}.field{margin-bottom:20px}.field label{font-size:16px;font-weight:750;display:block;margin-bottom:8px}.required{color:#e82222}.field>input,.phone,.password{width:100%;height:46px;border:1px solid #bfccdc;border-radius:8px;background:white}.field>input{padding:0 14px}.phone,.password{display:flex;overflow:hidden}.phone select{border:0;background:#f9fbfc;border-right:1px solid #d9e2eb;padding:0 14px;font-size:16px}.phone input,.password input{border:0;outline:0;flex:1;min-width:0;padding:0 14px;font:inherit}.password button{border:0;background:#fff;color:#7c8a9e;font-size:23px;cursor:pointer;padding:0 15px}.field input:focus{outline:2px solid #71b7ff;outline-offset:-2px}.hint{font-size:13px;color:#7283a0;margin:6px 0 0}.meter{height:7px;border-radius:8px;background:#e8e9eb;margin-top:7px;max-width:85%;overflow:hidden}.meter span{display:block;width:0;height:100%;background:#25a64d;transition:width .2s}.role-section{border:0;border-radius:15px;padding:13px 12px 14px;background:#f1f9fd;margin:20px -10px 14px;min-width:0}.role-section legend{float:left;width:100%;font-weight:750;font-size:19px}.role-section>p{clear:both;color:#6d7c97;margin:5px 0 12px;font-size:15px}.roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.role{border:1px solid #dbe4ec;background:#fff;border-radius:11px;padding:13px 9px 9px;cursor:pointer;display:flex;align-items:center;flex-direction:column;text-align:center;min-height:186px;position:relative}.role:has(input:checked){border-color:#008dff;box-shadow:0 0 0 1px #008dff}.role input{position:absolute;top:12px;left:12px;accent-color:#058cf5;width:19px;height:19px}.role-icon{font-size:30px;color:#058cf5;margin-top:8px;min-height:37px}.role strong{font-size:14px;margin:7px 0}.role .desc{font-size:12px;line-height:1.4;color:#617392;flex:1}.role-tag{background:linear-gradient(90deg,#168c33,#05b663);color:#fff;border-radius:20px;padding:4px 7px;font-size:10px;line-height:1.1;font-weight:bold;display:block;width:100%;margin-top:11px}.checkline{display:flex;align-items:flex-start;gap:11px;color:#61728c;font-size:13px;margin:11px 0}.checkline input{width:20px;height:20px;accent-color:#0088ff;flex:none;margin:0}.checkline a,.login a{color:#0088f5}.submit{width:100%;background:linear-gradient(#20aa48,#0c872b);color:white;border:0;border-radius:9px;padding:15px;font-size:21px;font-weight:750;cursor:pointer;margin-top:8px}.login{text-align:center;color:#7c88a2;font-size:17px;margin:13px 0 0}.status{font-size:13px;text-align:center;color:#126d2f}.status.error{color:#be2633}footer{text-align:center;color:#7b8696;font-size:12px;padding:0 12px 20px}@media(max-width:1060px){.layout{grid-template-columns:1fr 1.13fr}.story{padding:26px 22px}.registration{padding:27px 22px}.header nav{gap:15px}.intro{font-size:17px}.benefit h3{font-size:20px}.benefit p{font-size:15px}.benefit-icon{width:55px;height:55px}.photo-wrap img{height:260px}.roles{gap:6px}.role{padding:10px 5px}.role strong{font-size:12px}}@media(max-width:800px){.layout{grid-template-columns:1fr;gap:12px;padding:0 12px}.header nav{display:none}.header-inner{padding:9px 16px}.story{padding:23px}.story h1{font-size:34px}.photo-wrap img{height:230px}.registration{padding:26px 20px}.roles{grid-template-columns:repeat(3,minmax(0,1fr))}.role strong{font-size:14px}}@media(max-width:550px){.roles{grid-template-columns:1fr}.role{min-height:unset;display:grid;grid-template-columns:34px 40px 1fr;grid-template-rows:auto auto auto;column-gap:8px;text-align:left;padding:13px;align-items:center}.role input{position:static;grid-row:1/3}.role-icon{grid-row:1/3;margin:0}.role strong{grid-column:3;margin:0;font-size:15px}.role .desc{grid-column:3;font-size:13px}.role-tag{grid-column:1/4;text-align:center}.story h1{font-size:29px}.intro{font-size:16px}.benefit-icon{width:49px;height:49px;font-size:30px}.benefit h3{font-size:18px}.benefit p{font-size:14px}.registration h2{font-size:28px}.submit{font-size:18px}}

/* L3_9 safe real-CORE bridge */
.handoff-notice{padding:16px 18px;border-radius:12px;background:#eaf5fd;color:#173d65;line-height:1.5;margin:18px 0 20px}
.handoff-cta{display:block;text-decoration:none;text-align:center;margin-top:22px}
.role-section{border:0;min-width:0;margin:0;padding:14px;border-radius:16px;background:#f1faff}
.role-section h3{margin:0;font-size:21px;color:#09276e}.role-section p{margin:7px 0 14px;color:#577398}
.role-section .role{cursor:default;justify-content:flex-start}.role-section .role-tag{margin-top:auto}

/* L3_10: spacing, readable role cards, no clipping, responsive image. */
.layout{max-width:1460px;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:stretch;gap:0}
.story,.registration{overflow:visible}
.story{padding:30px 30px 30px}
.story h1{font-size:clamp(30px,2.9vw,44px)}
.intro{font-size:18px;line-height:1.4;margin-bottom:16px}
.benefit{gap:18px;margin:10px 0}
.benefit-icon{width:56px;height:56px;font-size:29px}
.benefit h3{font-size:21px}.benefit p{font-size:16px}
.one{margin:17px 0 18px;line-height:1.45;clear:both}
.photo-wrap{margin-top:12px;isolation:isolate}
.photo-wrap img{width:100%;height:auto;aspect-ratio:1173/750;object-fit:cover;object-position:center;border-radius:15px}
.photo-note{bottom:18px;max-width:240px;line-height:1.4}
.role-section .roles{gap:12px;align-items:stretch}
.role-section .role{min-height:218px;padding:15px 11px 12px;overflow-wrap:anywhere;justify-content:flex-start}
.role-section .role-icon{font-size:29px;margin:5px 0 8px}
.role-section .role strong{font-size:15px;line-height:1.25;min-height:38px;display:flex;align-items:center}
.role-section .role .desc{font-size:13px;line-height:1.48;margin:4px 0 10px;flex:1}
.role-section .role-tag{font-size:11px;line-height:1.35;padding:6px 7px;white-space:normal;overflow-wrap:normal}
.role-section .role p{margin:0}
@media(max-width:1150px){.layout{grid-template-columns:1fr 1.1fr}.story{padding:25px 22px}.registration{padding:25px 22px}.role-section .roles{gap:8px}.role-section .role{padding:12px 7px}.role-section .role strong{font-size:13px}.role-section .role .desc{font-size:12px}.role-section .role-tag{font-size:10px}}
@media(max-width:900px){.layout{grid-template-columns:1fr;gap:14px;max-width:740px}.photo-wrap img{max-height:500px;object-fit:cover}.role-section .role strong{font-size:15px}.role-section .role .desc{font-size:13px}.role-section .role-tag{font-size:11px}}
@media(max-width:600px){.story,.registration{padding:22px 18px}.role-section .roles{grid-template-columns:1fr;gap:10px}.role-section .role{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto auto;min-height:0;gap:4px 12px;text-align:left;padding:13px}.role-section .role-icon{grid-row:1/3;grid-column:1;margin:0}.role-section .role strong{grid-column:2;grid-row:1;min-height:0}.role-section .role .desc{grid-column:2;grid-row:2;margin:0}.role-section .role-tag{grid-column:1/3;grid-row:3;margin-top:9px}.photo-wrap img{max-height:none}.photo-note{font-size:12px;padding:8px 12px;bottom:12px}.header-inner{gap:10px}}


/* L3_11: larger right-side role cards and better left/right alignment. */
.layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:0}
.story,.registration{display:flex;flex-direction:column}
.story{padding:30px 30px 26px}
.registration{padding:24px 30px 26px}
.photo-wrap{margin-top:auto;padding-top:10px}
.reg-handoff{display:flex;flex-direction:column;flex:1}
.registration h2{margin-bottom:4px}
.subheading{margin:5px 0 16px}
.handoff-notice{margin:12px 0 18px;padding:15px 17px}
.role-section{padding:16px 16px 18px;display:flex;flex-direction:column;flex:1}
.role-section h3{font-size:22px}
.role-section p{margin:7px 0 16px;font-size:16px}
.role-section .roles{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch;flex:1}
.role-section .role{min-height:250px;padding:18px 14px 12px;border-radius:13px}
.role-section .role-icon{font-size:31px;margin:6px 0 10px}
.role-section .role strong{font-size:17px;line-height:1.24;min-height:52px}
.role-section .role .desc{font-size:14px;line-height:1.5;margin:6px 0 12px}
.role-section .role-tag{font-size:12px;line-height:1.32;padding:7px 8px}
.handoff-cta{margin-top:20px;padding:16px 18px;font-size:22px}
.login{margin-top:12px}
@media(max-width:1250px){.registration{padding:24px 24px 24px}.role-section .roles{gap:10px}.role-section .role{min-height:234px;padding:16px 10px 11px}.role-section .role strong{font-size:15px;min-height:48px}.role-section .role .desc{font-size:13px}.role-section .role-tag{font-size:11px}}
@media(max-width:980px){.layout{grid-template-columns:1fr;gap:14px;max-width:760px}.story,.registration{padding:24px 22px}.role-section .roles{gap:10px}.role-section .role{min-height:220px}}
@media(max-width:700px){.role-section .roles{grid-template-columns:1fr}.role-section .role{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto auto;min-height:0;gap:4px 12px;text-align:left;padding:14px}.role-section .role-icon{grid-row:1/3;grid-column:1;margin:0}.role-section .role strong{grid-column:2;grid-row:1;min-height:0;font-size:16px}.role-section .role .desc{grid-column:2;grid-row:2;margin:0;font-size:13px}.role-section .role-tag{grid-column:1/3;grid-row:3;margin-top:10px}}

/* L3_12: photo source now contains only the photograph; cards fit their content. */
.photo-wrap{margin-top:18px;padding-top:0}
.photo-wrap img{aspect-ratio:1062/596;width:100%;height:auto;object-fit:cover;object-position:center}
.reg-handoff{flex:0 0 auto}
.role-section{flex:0 0 auto}
.role-section .roles{flex:0 0 auto;align-items:stretch}
.role-section .role{min-height:245px}
.role-section .role .desc{flex:0 0 auto}
.role-section .role-tag{margin-top:auto}
@media(min-width:981px){.story,.registration{justify-content:flex-start}}
@media(max-width:700px){.role-section .role{min-height:0}.role-section .role-tag{margin-top:10px}}

/* L3_13: newly approved clean photograph, no overlay text baked into JPG. */
.photo-wrap{margin-top:18px;padding-top:0}
.photo-wrap img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center;border-radius:15px}
@media(max-width:980px){.photo-wrap img{max-height:none;object-fit:contain}}

/* L3_14: locally scoped footer reflecting the public CORE reference layout. */
.kc-site-footer{margin-top:32px;background:#fff;border-top:1px solid #dce9ee;color:#0b286c;padding:42px 22px 0;font-family:Arial,'Segoe UI',sans-serif}
.kc-site-footer-inner{max-width:1390px;margin:0 auto;display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:36px}
.kc-footer-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:#148d34}
.kc-footer-logo img{display:block;object-fit:contain}
.kc-footer-logo strong{font-size:23px;letter-spacing:-.5px;line-height:1.1}
.kc-footer-logo .kc-net{color:#04a7eb}
.kc-footer-logo small{display:block;font-size:12px;color:#6b788f;margin-top:2px}
.kc-footer-brand p{color:#63728d;font-size:14px;line-height:1.5;margin-top:15px}
.kc-footer-group{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.kc-footer-group h2{font-size:16px;line-height:1.35;margin:0 0 5px;color:#09266c}
.kc-footer-group a{font-size:14px;color:#526583;text-decoration:none;line-height:1.45}
.kc-footer-group a:hover,.kc-footer-group a:focus-visible{text-decoration:underline;color:#087ed6}
.kc-site-footer-bottom{max-width:1390px;margin:32px auto 0;padding:17px 0;border-top:1px solid #e8edf2;color:#78859a;font-size:13px}
@media(max-width:900px){.kc-site-footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}}
@media(max-width:550px){.kc-site-footer{padding:32px 20px 0}.kc-site-footer-inner{grid-template-columns:1fr;gap:24px}.kc-site-footer-bottom{margin-top:26px}}

/* L3_15: remove duplicate branding, align columns and improve proportions. */
@media(min-width:981px){
  .story,.registration{padding-top:30px;padding-bottom:30px}
  .story h1{margin-top:0}
  .registration h2{font-size:clamp(34px,2.9vw,44px);line-height:1.16;margin-top:0}
  .registration{display:flex;flex-direction:column}
  .reg-handoff{display:flex;flex-direction:column;flex:1}
  .role-section{margin-top:4px}
  .role-section .role{min-height:225px}
  .handoff-cta{margin-top:auto}
  .login{margin-bottom:4px}
}
@media(max-width:980px){.registration h2{font-size:34px}.role-section .role{min-height:0}}

/* L3_16 — readable copy on right-hand side and clear role badges. */
.registration .subheading{font-size:19px;line-height:1.5;color:#556e91}
.registration .handoff-notice{font-size:17px;line-height:1.55}
.registration .role-section h3{font-size:24px;line-height:1.3}
.registration .role-section>p{font-size:17px;line-height:1.45}
.registration .role-section .role{padding:18px 11px 14px;gap:7px}
.registration .role-section .role strong{font-size:18px;line-height:1.32;min-height:52px}
.registration .role-section .role .desc{font-size:15px;line-height:1.55;margin:4px 0 12px}
.registration .role-section .role-tag{font-size:13px;line-height:1.35;padding:9px 8px;min-height:37px;display:flex;align-items:center;justify-content:center;overflow-wrap:break-word}
.registration .login{font-size:18px}
@media(max-width:1250px){.registration .role-section .role strong{font-size:16px}.registration .role-section .role .desc{font-size:14px}.registration .role-section .role-tag{font-size:12px}.registration .role-section>p{font-size:16px}}
@media(max-width:700px){.registration .role-section .role{gap:5px 12px}.registration .role-section .role strong{font-size:17px;min-height:0}.registration .role-section .role .desc{font-size:15px}.registration .role-section .role-tag{font-size:13px}}


/* L3_17 — larger descriptions highlighted in all three role cards. */
.registration .role-section .role .desc{font-size:17px;line-height:1.45;letter-spacing:0;color:#435b7b;margin:7px 0 14px;overflow-wrap:normal;hyphens:auto}
.registration .role-section .role{padding-left:10px;padding-right:10px}
.registration .role-section .role-tag{font-size:13px;line-height:1.3;min-height:42px}
@media(min-width:981px) and (max-width:1250px){.registration .role-section .role .desc{font-size:16px;line-height:1.45}}
@media(max-width:700px){.registration .role-section .role .desc{font-size:16px;line-height:1.5}}


/* L3_18 — visibly larger role headings and descriptions, no breakpoint downsizing. */
@media (min-width:981px){
 .layout{max-width:1560px;grid-template-columns:minmax(0,0.94fr) minmax(0,1.30fr)}
 .registration{padding-left:30px;padding-right:30px}
 .registration .role-section .roles{gap:12px}
}
.registration .role-section .role{padding:22px 13px 16px;min-height:315px;gap:9px}
.registration .role-section .role-icon{font-size:38px;min-height:45px}
.registration .role-section .role strong{font-size:22px;line-height:1.26;min-height:58px;font-weight:800}
.registration .role-section .role .desc{font-size:19px;line-height:1.44;color:#344b6c;margin:8px 0 15px;hyphens:none;overflow-wrap:break-word}
.registration .role-section .role-tag{font-size:14px;line-height:1.35;padding:10px 8px;min-height:44px}
@media (min-width:981px) and (max-width:1300px){
 .registration .role-section .role strong{font-size:21px;min-height:60px}
 .registration .role-section .role .desc{font-size:18px;line-height:1.46}
 .registration .role-section .role-tag{font-size:13px}
}
@media (max-width:980px){
 .registration .role-section .role strong{font-size:21px;min-height:58px}
 .registration .role-section .role .desc{font-size:18px;line-height:1.5}
 .registration .role-section .role-tag{font-size:14px}
}
@media (max-width:700px){
 .registration .role-section .role{min-height:0;padding:18px;gap:7px 12px}
 .registration .role-section .role strong{font-size:21px;min-height:0}
 .registration .role-section .role .desc{font-size:18px;line-height:1.5;margin:0}
 .registration .role-section .role-tag{font-size:14px;margin-top:12px}
}

/* L3_24: compact desktop view at browser zoom 100%; no clipping of content on smaller screens. */
@media (min-width: 1000px) and (min-height: 700px) {
 .header-inner{padding-top:6px;padding-bottom:6px}
 .brand img{width:44px;height:42px}
 .brand strong{font-size:23px}.brand small{font-size:11px}
 .layout{margin-top:8px;margin-bottom:12px;max-width:1210px}
 .story{padding:17px 23px 15px}.registration{padding:19px 25px}
 .story h1{font-size:clamp(25px,2.5vw,34px);margin-bottom:9px}
 .intro{font-size:15px;line-height:1.3;margin-bottom:12px}
 .benefit{gap:13px;margin:7px 0}.benefit-icon{width:43px;height:43px;font-size:24px}
 .benefit h3{font-size:17px}.benefit p{font-size:13px}
 .one{font-size:14px;margin:10px 0}
 .photo-wrap img{height:clamp(105px,15vh,155px)}
 .registration h2{font-size:27px}.subheading{font-size:14px;margin-bottom:10px}
 .registration .role{padding:10px!important}
 .registration .roles{gap:9px!important}
 .registration .role .desc{font-size:12px!important}
 .registration .role-section{margin-top:8px!important}
 .registration .role-section h3{font-size:17px!important}
 .registration .role-section p{font-size:13px!important}
 .registration .handoff-notice{font-size:13px!important;margin-bottom:9px!important}
 .registration .handoff-cta{padding:11px 14px!important}
 .kc-site-footer{margin-top:8px}
}
@media (min-width: 1000px) and (max-height: 699px){
 .layout{margin-top:6px;max-width:1150px}.story,.registration{padding:14px 18px}
 .story h1{font-size:27px}.intro{font-size:14px;margin-bottom:8px}
 .benefit{margin:5px 0}.benefit-icon{width:39px;height:39px;font-size:23px}
 .benefit h3{font-size:15px}.benefit p{font-size:12px}
 .photo-wrap img{height:100px}.one{font-size:13px;margin:7px 0}
}
@media (max-width: 999px){.layout{margin-top:8px;margin-bottom:15px}}

/* L3_25: balanced 100% zoom, aligned typography, two cards and restored photo. */
@media (min-width:1000px){
 .layout{max-width:1320px;grid-template-columns:minmax(0,.98fr) minmax(0,1.05fr);margin:10px auto 18px}
 .story,.registration{padding:20px 25px}
 .story h1{font-size:clamp(28px,2.65vw,37px);line-height:1.14}
 .intro{font-size:15px;line-height:1.4}
 .benefit h3{font-size:17px;line-height:1.25}.benefit p{font-size:14px;line-height:1.35}
 .registration h2{font-size:30px;line-height:1.16}
 .registration .subheading{font-size:15px;line-height:1.4;margin:6px 0 12px}
 .registration .role-section{margin:8px 0 11px!important;padding:12px!important}
 .registration .role-section h3{font-size:18px!important;line-height:1.25}
 .registration .role-section>p{font-size:14px!important;line-height:1.35;margin:5px 0 12px}
 .registration .roles{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important}
 .registration .role-section .role{min-height:206px!important;padding:13px 14px!important;gap:5px!important}
 .registration .role-section .role-icon{font-size:29px;min-height:32px;margin-top:0}
 .registration .role-section .role strong{font-size:18px!important;line-height:1.28;min-height:0!important;margin:4px 0}
 .registration .role-section .role .desc{font-size:14px!important;line-height:1.4;margin:4px 0 8px}
 .registration .role-section .role-tag{font-size:12px!important;min-height:32px;padding:6px 8px}
 .registration .handoff-cta{margin-top:8px!important;padding:12px!important;font-size:18px}
 .registration .login{font-size:14px;margin:9px 0 0}
 .story .photo-wrap{margin-top:9px}
 .story .photo-wrap img{height:clamp(170px,22vh,225px)!important;aspect-ratio:auto!important;object-fit:cover}
 .story .photo-note{font-size:12px;padding:9px 13px;bottom:12px}
 .one{font-size:14px;margin:9px 0}
}
@media(min-width:1000px) and (max-height:720px){
 .story .photo-wrap img{height:160px!important}
 .registration .role-section .role{min-height:178px!important}
 .story,.registration{padding-top:14px;padding-bottom:14px}
}
@media(min-width:700px) and (max-width:999px){
 .registration .roles{grid-template-columns:repeat(2,minmax(0,1fr))}
 .registration .role-section .role{min-height:0;padding:12px}
}
@media(max-width:699px){.registration .roles{grid-template-columns:1fr}}

/* L3_26: verified role layout, image and accessible viewport */
@media (min-width:700px){
 .registration .role-section .roles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;}
 .registration .role-section .role{min-width:0;width:100%;}
}
@media (min-width:1000px){
 .story .photo-wrap{width:100%;margin-top:16px;}
 .story .photo-wrap img{width:100%;height:clamp(185px,24vh,245px)!important;object-fit:cover!important;object-position:center;}
 .registration .role-section .roles{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 .registration .role-section .role strong{font-size:18px!important;font-weight:750!important;}
 .registration .role-section .role .desc{font-size:14px!important;}
}

/* L3_27: restore source-supported delivery tile (role 13), stable three-card layout. */
@media (min-width:700px) {
 .registration .role-section .roles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:8px; align-items:stretch; }
 .registration .role-section .role { min-width:0; min-height:0!important; padding:10px 7px!important; }
 .registration .role-section .role strong { font-size:clamp(12px,1vw,15px)!important; line-height:1.25; min-height:0; }
 .registration .role-section .role .desc { font-size:clamp(11px,0.8vw,13px)!important; line-height:1.35; }
 .registration .role-section .role-tag { font-size:clamp(10px,0.72vw,12px)!important; line-height:1.25; }
}
@media (max-width:699px) { .registration .role-section .roles { grid-template-columns:1fr; } }

/* L3_28: actionable role cards and visible focus */
.registration .role-section .role[data-mode]{cursor:pointer;transition:box-shadow .15s,border-color .15s,background-color .15s;outline-offset:3px;}
.registration .role-section .role[data-mode].selected{border:2px solid #12b8e8!important;background:#edfaff;box-shadow:0 0 0 2px rgba(18,184,232,.13);}
.registration .role-section .role[data-mode]:focus-visible{outline:3px solid #102a63;}
