@font-face{font-family:Montserrat;src:url('/assets/fonts/Montserrat-Variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--paper:#f8fbf8;--ink:#06372f;--muted:#4a655b;--line:#ceded5;--mint:#e9f2ec;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,p,figure{margin:0}h1,h2{line-height:1.2;letter-spacing:-.035em}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #007b70;outline-offset:5px}
.wrap{width:min(1160px,calc(100% - 80px));margin-inline:auto}.skip{position:absolute;top:-100px;left:20px;background:var(--ink);color:white;padding:10px;z-index:9}.skip:focus{top:10px}.prototype-bar{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;padding:8px 18px;background:#eeeae1;color:#635c4c;font-size:11px;letter-spacing:.015em}.prototype-bar a{text-decoration-thickness:1px}.site-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:25px 0}.site-head img{width:150px}.site-head nav{display:flex;gap:26px;align-items:center;font-size:12px}.home-link{text-decoration:none}.language-switch{display:flex;border:1px solid var(--line);padding:3px;border-radius:999px;gap:2px}.language-switch a{text-decoration:none;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:600}.language-switch a[aria-current=page]{background:var(--ink);color:white}
.intro{padding:53px 0 33px}.intro-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:650;text-transform:uppercase}.status{display:inline-flex;align-items:center;gap:7px;background:var(--mint);border:1px solid var(--line);padding:6px 12px;border-radius:999px;font-size:11px;white-space:nowrap}.status>span{font-size:14px}h1{font-size:clamp(34px,4.5vw,60px);font-weight:620;overflow-wrap:anywhere;margin-bottom:22px}.program-title{font-size:clamp(20px,2vw,26px);font-weight:560;margin-bottom:7px}.program-subtitle{font-size:15px;color:var(--muted);max-width:800px}.facts{list-style:none;display:flex;flex-wrap:wrap;padding:0;margin:24px 0 0;font-size:12px;color:var(--muted);gap:10px 20px}.facts li+li::before{content:'·';margin-right:20px}
.certificate-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);gap:40px;align-items:start}.paper-stage{display:block;border:1px solid #d6e2db;background:linear-gradient(130deg,#e5eee7,#eff5ef);border-radius:18px;padding:28px;transition:background .2s}.paper-stage:hover{background:#deebe1}.paper-stage img{width:100%;box-shadow:0 12px 23px #132c231a}.document figcaption{font-size:11px;color:var(--muted);margin-top:13px}.curriculum{padding-top:12px}.curriculum h2{font-size:20px;font-weight:600;letter-spacing:-.02em}.curriculum ul{list-style:none;padding:0;margin:20px 0 23px;font-size:13px;line-height:1.7;counter-reset:topic}.curriculum li{position:relative;padding:0 0 18px 28px;counter-increment:topic}.curriculum li::before{content:'0' counter(topic);position:absolute;left:0;top:2px;color:#7b9789;font-size:10px;font-weight:650}.text-link{font-size:12px;font-weight:600}.issuer-note{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.issuer-note>span{font-size:10px;color:var(--muted)}.issuer-note p{font-size:12px;line-height:1.7;margin-top:8px;max-width:340px}
.sharing{margin-top:65px;padding:40px;background:var(--mint);border:1px solid var(--line);border-radius:20px;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:65px;align-items:start}.sharing h2,.verification h2{font-size:clamp(23px,2.7vw,31px);font-weight:570}.sharing p{font-size:13px;color:var(--muted);margin-top:16px}.sharing label{display:block;font-size:11px;font-weight:600;margin-top:26px;margin-bottom:9px}.copy-row{display:flex;gap:8px}.copy-row input{min-width:0;flex:1;border:1px solid #bdd2c5;border-radius:9px;background:#fff;padding:12px;color:var(--muted);font-size:11px}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:44px;border-radius:999px;padding:10px 20px;border:1px solid var(--line);font-size:12px;font-weight:600;line-height:1.5;text-align:center;gap:6px}.button.primary{background:var(--ink);color:white;border-color:var(--ink)}.button.primary:hover{background:#10584a}.button.secondary{background:var(--paper);color:var(--ink)}.button.secondary:hover{background:white}.copy-row .button{padding:10px 15px;font-size:11px;flex-shrink:0}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:17px}.story{width:min(100%,286px);justify-self:center}.story img{box-shadow:0 10px 32px #164f3420;border-radius:8px;border:1px solid #d1ddd3}.story figcaption{font-size:10px;text-align:center;margin-top:12px;color:var(--muted)}.link-preview{border-top:1px solid #c4d8cb;margin-top:28px;padding-top:20px}.link-preview summary{font-size:11px;cursor:pointer;font-weight:600}.link-preview img{width:100%;margin-top:14px;border:1px solid var(--line);border-radius:10px}.link-preview p{font-size:10px;line-height:1.6;max-width:490px;margin-top:9px}
.verification{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:90px;margin-top:68px;padding-top:30px;border-top:1px solid var(--line)}.verification h2{font-size:24px}.verification p{font-size:12px;color:var(--muted);margin-top:17px;max-width:620px}.verification dl{margin:0;font-size:12px}.verification dl>div{display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);padding:10px 0}.verification dt{color:var(--muted)}.verification dd{margin:0;font-weight:550;text-align:right}.site-foot{display:flex;gap:25px;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);border-top:1px solid var(--line);margin-top:55px;padding:24px 0 32px}.site-foot p{max-width:660px}.site-foot span{white-space:nowrap}.js-only{display:none!important}.js .js-only{display:inline-flex!important}.floating-actions{display:none!important}.feedback{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;font-size:12px;border-radius:12px;padding:12px 20px;max-width:calc(100% - 32px);width:max-content;z-index:5}.feedback:empty{display:none}
@media(min-width:761px){.js .floating-actions{display:none!important}}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.certificate-layout{gap:27px;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}.paper-stage{padding:20px}.sharing{padding:28px;gap:32px}.verification{gap:42px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.site-head{padding:19px 0}.site-head img{width:127px}.site-head nav{gap:12px}.home-link{display:none}.intro{padding:32px 0 26px}.intro-top{display:block;margin-bottom:19px}.eyebrow{font-size:9px;line-height:1.7;letter-spacing:.08em}.status{margin-top:13px;font-size:10px}h1{font-size:37px;line-height:1.1;margin-bottom:23px}.program-title{font-size:21px}.program-subtitle{font-size:13px;line-height:1.65}.facts{font-size:10px;gap:7px 13px;margin-top:19px}.facts li+li::before{margin-right:13px}.certificate-layout{grid-template-columns:minmax(0,1fr);gap:24px}.paper-stage{padding:15px;border-radius:12px}.document figcaption{font-size:10px}.curriculum{padding-top:0}.curriculum h2{font-size:21px}.curriculum ul{font-size:13px;margin-bottom:7px}.curriculum li{padding-bottom:14px}.issuer-note{margin-top:20px}.issuer-note p{max-width:none}.sharing{margin-top:36px;padding:22px 18px;grid-template-columns:minmax(0,1fr);gap:28px;border-radius:16px}.sharing h2{font-size:25px}.sharing p{font-size:12px}.copy-row{flex-wrap:wrap}.copy-row input{flex-basis:100%;width:100%;font-size:10px}.copy-row .button{min-height:40px}.actions{gap:8px}.button{font-size:11px;padding:11px 17px}.story{width:min(100%,285px)}.verification{grid-template-columns:minmax(0,1fr);gap:23px;margin-top:37px;padding-top:25px}.verification h2{font-size:22px}.verification dl{font-size:11px}.verification dl>div{gap:18px}.site-foot{display:block;margin-top:35px;padding-bottom:110px;font-size:10px}.site-foot span{display:block;margin-top:10px}.floating-actions{position:fixed;bottom:max(15px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);border:1px solid var(--line);border-radius:999px;background:#f8fbf8f5;padding:5px;gap:5px;box-shadow:0 5px 24px #17382d25;z-index:4;max-width:calc(100% - 24px);backdrop-filter:blur(12px)}.floating-actions .button{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Production states and registry; the approved participant layout remains unchanged. */
.state-notice{padding:20px;border:1px solid #dac9a8;border-radius:14px;background:#faf3e6;margin-top:22px;font-size:13px}
.status.pending{background:#faf3e6;border-color:#dac9a8}.status.revoked{background:#faeee9;border-color:#dab9ad}
.image-share{margin-top:12px}.button:disabled{cursor:wait;opacity:.65}.sharing .small{font-size:11px}
.button.action-share,.button.action-story{min-height:48px;padding:12px 22px;gap:10px;font-size:13px;font-weight:700;border:1px solid transparent;box-shadow:0 4px 0 #06372f1a,0 8px 18px #06372f1a;transition:transform .18s,box-shadow .18s,background .18s}
.button .action-icon{width:22px;height:22px;flex:0 0 22px}
.button.action-share{background:#00786c;color:#fff;border-color:#00685e}
.button.action-share:hover{background:#00685e}
.button.action-story{background:linear-gradient(115deg,#6c3bc7 0%,#a72b78 55%,#b84827 100%);color:#fff;border-color:#8c346f}
.button.action-story:hover{background:linear-gradient(115deg,#5c2caf 0%,#922267 55%,#a63b1d 100%)}
.button.action-share:hover,.button.action-story:hover{transform:translateY(-2px);box-shadow:0 6px 0 #06372f1a,0 12px 22px #06372f26}
.button.action-share:active,.button.action-story:active{transform:translateY(1px);box-shadow:0 1px 0 #06372f26,0 3px 8px #06372f1a}
.button.action-share:focus-visible,.button.action-story:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
@media(max-width:760px){.floating-actions{width:min(360px,calc(100% - 24px));gap:8px;padding:7px;align-items:stretch}.floating-actions .button{min-width:0;flex:1 1 auto;white-space:normal}.floating-actions .action-share,.floating-actions .action-story{padding:10px 12px;font-size:12px;gap:8px}.floating-actions .button span{min-width:0}.sharing .actions .button{max-width:100%}}
@media(prefers-reduced-motion:reduce){.button.action-share:hover,.button.action-story:hover,.button.action-share:active,.button.action-story:active{transform:none}}
.curriculum,.share-copy,.verification>div{min-width:0}h2,.button,.issuer-note,dd{overflow-wrap:anywhere}
.registry-hero{padding:60px 0 45px;max-width:860px}.registry-hero h1{margin-top:20px;font-size:clamp(32px,5vw,52px)}
.registry-hero p{color:var(--muted)}.registry-hero form{margin-top:32px;max-width:630px}.registry-hero label{display:block;font-size:13px;font-weight:600;margin-bottom:10px}
.lookup-row{display:flex;gap:10px}.lookup-row input{min-width:0;flex:1;border:1px solid var(--line);border-radius:999px;padding:12px 20px;font-size:16px}
.registry-hero .small{font-size:11px;margin-top:10px}.registry-records{padding-top:30px;border-top:1px solid var(--line)}.registry-records h2{font-size:27px}
.issued-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}
.issued-list a{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:22px;background:var(--mint);border-radius:16px;text-decoration:none;font-size:14px}
.issued-list strong{flex:1;overflow-wrap:anywhere}.issued-list span{font-size:11px}.registry-notes{max-width:740px;margin-top:50px}.registry-notes h2{font-size:24px;margin-bottom:20px}.registry-notes p{font-size:13px;color:var(--muted);margin-top:12px}
@media(max-width:760px){.issued-list{grid-template-columns:1fr}.registry-hero{padding-top:35px}.verification dd{max-width:60%}.facts{gap:9px 17px}.facts li+li::before{content:none}}
@media print{.site-head nav,.sharing,.floating-actions,.feedback,.verification a{display:none!important}.wrap{width:100%}.site-foot{padding-bottom:10px}.paper-stage{padding:0;border:0}.paper-stage img{box-shadow:none}.intro{padding-top:20px}h1{font-size:32px}}
