
:root{--paper:#efe3c6;--paper-2:#f7efd9;--ink:#243342;--muted:#6d706b;--line:#b99e68;--accent:#294e68;--bg:#263744;--card:#f4f0e7;--ok:#356c58}
*{box-sizing:border-box}.cert-v7-page{margin:0;background:linear-gradient(180deg,#223440,#314754 45%,#243641);color:#f7f4ed;font-family:Aptos,"Segoe UI",Arial,sans-serif}.cert-v7-page main{padding:112px 22px 72px}.c7-shell{width:min(1240px,100%);margin:auto}.c7-hero{margin:0 0 26px}.c7-kicker{margin:0 0 10px;color:#d8c08b;font-size:.75rem;font-weight:800;letter-spacing:.13em}.c7-hero h1{max-width:760px;margin:0;color:#fff;font-size:clamp(2.1rem,4vw,3.6rem)!important;line-height:1.04!important;letter-spacing:-.035em!important}.c7-hero-copy{max-width:760px;margin:15px 0 0;color:#d9e1e5;line-height:1.7}.c7-grid{display:grid;grid-template-columns:310px minmax(0,1fr);gap:24px;align-items:start}.c7-status{position:sticky;top:92px;padding:20px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(247,244,235,.96);color:var(--ink);box-shadow:0 18px 45px rgba(0,0,0,.22)}.c7-status-head{display:flex;gap:12px;align-items:center;padding-bottom:14px;border-bottom:1px solid #ddd3bd}.c7-status-orb{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#e6dcc4;color:var(--accent);font-weight:800}.c7-status-head span{display:block;color:var(--muted);font-size:.65rem;letter-spacing:.09em}.c7-status-head strong{display:block;margin-top:3px}.c7-instructions{margin:16px 0;padding-left:22px;color:#4f5960;font-size:.83rem;line-height:1.55}.c7-instructions li+li{margin-top:7px}.c7-account,.c7-status-message{padding:10px 11px;border-radius:9px;background:#ece8de;color:#5d686f;font-size:.8rem;line-height:1.45}.c7-progress-ring{width:135px;height:135px;margin:18px auto;position:relative;display:grid;place-items:center}.c7-progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.c7-progress-ring circle{fill:none;stroke-width:9}.c7-progress-ring circle:first-child{stroke:#ddd5c3}.c7-progress-ring circle:last-child{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:301.59;stroke-dashoffset:301.59;transition:.7s}.c7-progress-ring div{position:absolute;text-align:center}.c7-progress-ring strong{display:block;font-size:1.8rem}.c7-progress-ring span{color:var(--muted);font-size:.62rem}.c7-task-list{display:grid;gap:6px}.c7-task{display:flex;gap:8px;align-items:center;padding:8px 9px;border:1px solid #ddd2bb;border-radius:8px;color:#626966;font-size:.76rem;background:#f7f3e9}.c7-task i{font-style:normal}.c7-task.done{border-color:#bfd4c8;background:#edf5f0;color:#2c5e4d}.c7-status-message.ready{background:#e9f3ed;color:#2f624f}.c7-status-message.error{background:#f9e8e5;color:#82433c}.c7-link{display:flex;justify-content:center;margin-top:10px;padding:10px;border:1px solid #cbbd9e;border-radius:8px;color:var(--accent);text-decoration:none;font-weight:700;font-size:.8rem}.c7-certificate-wrap{position:relative}.c7-certificate{position:relative;min-height:560px;aspect-ratio:1.414/1;overflow:hidden;padding:clamp(32px,5vw,56px);display:flex;flex-direction:column;border:1px solid #b49a67;background:linear-gradient(135deg,var(--paper-2),var(--paper));color:var(--ink);box-shadow:0 24px 65px rgba(0,0,0,.28)}.c7-certificate:before{content:"";position:absolute;inset:16px;border:2px solid rgba(136,104,47,.55)}.c7-certificate:after{content:"";position:absolute;inset:23px;border:1px solid rgba(136,104,47,.28)}.c7-cert-ornament{position:absolute;width:170px;height:170px;border:1px solid rgba(120,91,39,.26);transform:rotate(45deg)}.c7-cert-ornament.top-left{left:-95px;top:-95px}.c7-cert-ornament.bottom-right{right:-95px;bottom:-95px}.c7-cert-top,.c7-cert-main,.c7-cert-bottom{position:relative;z-index:2}.c7-cert-top{display:flex;justify-content:space-between;gap:20px}.c7-brand{display:flex;align-items:center;gap:12px}.c7-brand-mark{width:44px;height:44px;position:relative;display:grid;place-items:center;border:1px solid #9b7c42;border-radius:50%;color:var(--accent)}.c7-brand-mark .brand-star{position:absolute;top:4px;font-size:.8rem}.c7-brand-mark .brand-waves{font-size:1.5rem;line-height:1}.c7-brand b{display:block;font-size:.82rem;letter-spacing:.08em}.c7-brand small,.c7-id small,.c7-id span{display:block;color:#6e6b61;font-size:.6rem}.c7-id{text-align:right}.c7-id strong{display:block;margin:5px 0;font-size:.7rem}.c7-cert-main{margin:auto 0;text-align:center;padding:24px 4%}.c7-overline{margin:0;color:#87672e;font:800 .7rem/1 Aptos,Arial,sans-serif;letter-spacing:.16em}.c7-cert-main h2{margin:.28em 0 .42em!important;color:var(--ink)!important;font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(2.1rem,4.8vw,4.5rem)!important;font-weight:500!important;line-height:1!important;letter-spacing:-.025em!important}.c7-awarded{margin:0;color:#6e6b61;font-family:Georgia,"Times New Roman",serif;font-size:.95rem;font-style:italic}.c7-name{margin:.18em 0 .28em!important;color:var(--accent)!important;font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(2rem,4vw,3.9rem)!important;font-weight:500!important;line-height:1!important}.c7-copy{max-width:700px;margin:0 auto;color:#5f625f;line-height:1.55;font-size:.88rem}.c7-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:22px}.c7-metrics div{padding:10px;border-top:1px solid rgba(133,101,45,.35);border-bottom:1px solid rgba(133,101,45,.35)}.c7-metrics span{display:block;color:#777067;font-size:.56rem;letter-spacing:.1em}.c7-metrics strong{display:block;margin-top:5px;font-size:.88rem}.c7-cert-bottom{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:end}.c7-signature span{font-family:Georgia,"Times New Roman",serif;font-size:1.05rem;font-style:italic}.c7-signature i{display:block;width:175px;border-top:1px solid #9c8e72;margin:7px 0}.c7-signature b,.c7-verify b{font-size:.56rem;letter-spacing:.1em}.c7-signature small,.c7-verify small{display:block;color:#777067;font-size:.55rem;margin-top:3px}.c7-seal{width:78px;height:78px;display:grid;place-items:center;align-content:center;border:2px solid #9b7c42;border-radius:50%;color:#7d612d;text-align:center;background:rgba(255,248,227,.45)}.c7-seal span{font-size:.75rem}.c7-seal b{font-family:Georgia,serif;font-size:1.05rem}.c7-seal small{font-size:.45rem;letter-spacing:.1em}.c7-verify{text-align:right}.c7-verify strong{display:block;margin-top:5px;font-size:.68rem}.c7-lock{position:absolute;z-index:10;right:22px;bottom:22px;pointer-events:none}.c7-lock-card{width:min(320px,calc(100vw - 60px));padding:13px 15px;border:1px solid rgba(111,87,43,.38);border-radius:10px;background:rgba(247,239,217,.96);color:var(--ink);box-shadow:0 12px 30px rgba(0,0,0,.18)}.c7-lock-card h3{margin:0 0 4px;font-size:.92rem}.c7-lock-card p{margin:0;color:#66645d;font-size:.72rem;line-height:1.45}.c7-certificate-wrap.unlocked .c7-lock{display:none}.c7-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.c7-button{padding:11px 15px;border-radius:8px;border:1px solid rgba(255,255,255,.22);font-weight:700;cursor:pointer}.c7-button.primary{background:#d8c08b;color:#263744;border-color:#d8c08b}.c7-button.secondary{background:transparent;color:#fff}.c7-button:disabled{opacity:.42;cursor:not-allowed}.c7-action-note{margin-left:auto;color:#cbd6db;font-size:.74rem}
@media(max-width:960px){.c7-grid{grid-template-columns:1fr}.c7-status{position:static}.c7-status{order:2}.c7-preview-column{order:1}}
@media(max-width:650px){.cert-v7-page main{padding:88px 12px 48px}.c7-certificate{aspect-ratio:auto;min-height:660px;padding:28px 22px}.c7-cert-top{flex-direction:column}.c7-id{text-align:left}.c7-cert-main{padding:20px 0}.c7-metrics{grid-template-columns:1fr}.c7-cert-bottom{grid-template-columns:1fr 70px}.c7-verify{grid-column:1/-1;text-align:left}.c7-lock{left:12px;right:12px;bottom:12px}.c7-lock-card{width:100%}.c7-action-note{width:100%;margin-left:0}}
@media print{.site-header,.c7-hero,.c7-status,.c7-actions{display:none!important}.cert-v7-page main{padding:0}.c7-grid{display:block}.c7-certificate{width:297mm;height:210mm;min-height:0;box-shadow:none}.c7-lock{display:none!important}@page{size:A4 landscape;margin:0}}

/* v7.7 — Mobile certificate landscape full-preview fix */
@media(max-width:650px){
  .c7-preview-column{width:100%;min-width:0}
  .c7-certificate-wrap{width:100%;overflow:visible}
  .c7-certificate{
    width:100%;
    min-height:0;
    aspect-ratio:1.414/1;
    padding:clamp(12px,4vw,18px);
  }
  .c7-certificate:before{inset:6px;border-width:1px}
  .c7-certificate:after{inset:9px}
  .c7-cert-ornament{width:64px;height:64px}
  .c7-cert-ornament.top-left{left:-38px;top:-38px}
  .c7-cert-ornament.bottom-right{right:-38px;bottom:-38px}
  .c7-cert-top{flex-direction:row;gap:8px;align-items:flex-start}
  .c7-brand{gap:5px;min-width:0}
  .c7-brand-mark{width:21px;height:21px;flex:0 0 21px}
  .c7-brand-mark .brand-star{top:1px;font-size:.35rem}
  .c7-brand-mark .brand-waves{font-size:.72rem}
  .c7-brand b{font-size:.34rem;letter-spacing:.055em;white-space:nowrap}
  .c7-brand small,.c7-id small,.c7-id span{font-size:.25rem}
  .c7-id{text-align:right;min-width:72px}
  .c7-id strong{margin:2px 0;font-size:.29rem}
  .c7-cert-main{margin:auto 0;padding:5px 4%}
  .c7-overline{font-size:.29rem;letter-spacing:.12em}
  .c7-cert-main h2{font-size:clamp(.84rem,5.4vw,1.28rem)!important;margin:.18em 0 .25em!important}
  .c7-awarded{font-size:.34rem}
  .c7-name{font-size:clamp(.82rem,5vw,1.18rem)!important;margin:.12em 0 .18em!important}
  .c7-copy{max-width:92%;font-size:.29rem;line-height:1.3}
  .c7-metrics{grid-template-columns:repeat(3,1fr);gap:3px;margin-top:5px}
  .c7-metrics div{padding:3px 2px}
  .c7-metrics span{font-size:.22rem;letter-spacing:.06em}
  .c7-metrics strong{margin-top:1px;font-size:.34rem}
  .c7-cert-bottom{grid-template-columns:1fr auto 1fr;gap:6px;align-items:end}
  .c7-signature span{font-size:.38rem}
  .c7-signature i{width:62px;margin:2px 0}
  .c7-signature b,.c7-verify b{font-size:.22rem;letter-spacing:.06em}
  .c7-signature small,.c7-verify small{font-size:.2rem;margin-top:1px}
  .c7-seal{width:31px;height:31px;border-width:1px}
  .c7-seal span{font-size:.28rem}
  .c7-seal b{font-size:.42rem}
  .c7-seal small{font-size:.17rem}
  .c7-verify{grid-column:auto;text-align:right}
  .c7-verify strong{margin-top:1px;font-size:.25rem}
  .c7-lock{position:static;left:auto;right:auto;bottom:auto;margin-top:10px;pointer-events:none}
  .c7-lock-card{width:100%;padding:12px 14px}
}

/* v11 — Practice Hub completion requirements */
.c7-name-field{display:grid;gap:6px;margin:12px 0 0}.c7-name-field span{color:#5c686f;font-size:.7rem;font-weight:800}.c7-name-field input{width:100%;padding:10px 11px;border:1px solid #d0c5ac;border-radius:8px;background:#fffdf7;color:var(--ink);font:inherit}.c7-name-field input:focus{outline:2px solid rgba(41,78,104,.18);border-color:var(--accent)}
.c7-verify img{display:block;width:48px;height:48px;margin:0 0 6px auto;border:1px solid rgba(83,72,50,.25);background:#fff}.c7-certificate-wrap:not(.unlocked) .c7-verify img{opacity:.25}
@media(max-width:650px){.c7-verify img{width:21px;height:21px;margin-bottom:2px}}
@media(min-width:651px){
  .c7-certificate{padding:40px 44px}
  .c7-cert-main{padding:12px 4%}
  .c7-cert-main h2{font-size:clamp(2rem,4.1vw,4rem)!important}
  .c7-name{font-size:clamp(1.9rem,3.6vw,3.45rem)!important}
  .c7-copy{font-size:.8rem;line-height:1.4}
  .c7-metrics{margin-top:14px}
  .c7-seal{width:68px;height:68px}
  .c7-verify img{width:42px;height:42px}
}
.c7-link[hidden]{display:none!important}
