:root{--charcoal:hsl(15 11% 7%);--cream:hsl(30 39% 95%);--bronze:hsl(37 27% 52%);--paper:#f7f2ed;--serif:'Cormorant Garamond',ui-serif,Georgia,serif;--sans:'Inter',ui-sans-serif,system-ui,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
*{box-sizing:border-box}html,body{margin:0}body{font-family:var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
.el-dark{background:var(--charcoal);color:var(--cream)}
a{color:inherit}.el-display{font-family:var(--serif);font-weight:500;letter-spacing:-.01em;margin:0}
.el-mono{font-family:var(--mono)}.el-bronze{color:var(--bronze)}
.el-top{display:flex;justify-content:space-between;align-items:center;max-width:48rem;width:100%;margin:0 auto;padding:1.5rem}
.el-top-center{justify-content:center}.el-wordmark{font-family:var(--serif);font-size:1.5rem;letter-spacing:.15em;text-decoration:none}
.el-navlink{font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--bronze);text-decoration:none}
.el-hero{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem;text-align:center}
.el-wrap-xs{max-width:28rem;width:100%}.el-wrap-sm{max-width:42rem;margin:0 auto}
.el-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.35em;color:var(--bronze);margin:0}
.el-h1{font-size:clamp(2.25rem,6vw,3rem);margin-top:1.25rem;line-height:1.1}
.el-tag{font-style:italic;color:var(--bronze);font-size:1.4rem;margin-top:.25rem}
.el-muted{color:rgba(247,242,237,.6);font-size:.9rem;line-height:1.6;margin:1.25rem auto 0;max-width:24rem}
.el-lookup{display:flex;gap:.5rem;margin-top:2.25rem}
.el-lookup input{flex:1;min-width:0;height:3rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);color:#fff;font-family:var(--mono);text-transform:uppercase;text-align:center;font-size:1.05rem}
.el-lookup input:focus{outline:none;border-color:var(--bronze);box-shadow:0 0 0 3px hsl(37 27% 52%/.3)}
.el-hint{margin-top:1.5rem;color:rgba(255,255,255,.4);font-size:.75rem;text-transform:uppercase;letter-spacing:.15em}
.el-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.75rem 1.75rem;border-radius:999px;font:500 .9rem var(--sans);text-decoration:none;cursor:pointer;border:1px solid transparent}
.el-btn-light{background:#fff;color:var(--charcoal);border-radius:.5rem;height:3rem}
.el-btn-bronze{background:var(--bronze);color:var(--charcoal)}.el-btn-bronze:hover{opacity:.9}
.el-btn-ghost{border-color:rgba(255,255,255,.2);color:#fff;background:transparent}.el-btn-ghost:hover{border-color:var(--bronze);color:var(--bronze)}
.el-link{color:var(--bronze);text-underline-offset:4px}
.el-cta{border-top:1px solid rgba(255,255,255,.1);padding:2.5rem 1.5rem;text-align:center}
.el-cta h2{font-size:1.9rem;color:#fff}.el-cta p{color:rgba(255,255,255,.55);font-size:.875rem;line-height:1.6;max-width:28rem;margin:.5rem auto 0}
.el-cta-row{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.5rem}
.el-certwrap{flex:1;padding:0 1rem 2.5rem}
.el-cert{max-width:42rem;margin:0 auto;background:var(--paper);color:var(--charcoal);border-radius:1rem;overflow:hidden;box-shadow:0 25px 50px -12px rgba(0,0,0,.5)}
.el-cert-head{padding:2.5rem 2rem 1.5rem;text-align:center;border-bottom:1px solid hsl(37 27% 52%/.2)}
.el-cert-brand{font-size:2.25rem;margin-top:.75rem}
.el-cert-img{aspect-ratio:16/9;background:rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center}
.el-cert-img img{max-width:100%;max-height:100%;object-fit:contain}
.el-cert-body{padding:2.25rem 2rem}
.el-cert-no{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(20,17,17,.1)}
.el-no{font-size:1.9rem;margin-top:.25rem}
.el-label{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:rgba(20,17,17,.45);margin:0}
.el-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 1.5rem;font-size:.875rem;margin:0}.el-grid dd{margin:.25rem 0 0;overflow-wrap:anywhere}
.el-cert-foot{display:flex;gap:1.5rem;align-items:center;margin-top:2.25rem;padding-top:1.75rem;border-top:1px solid rgba(20,17,17,.1)}
.el-qr{flex:none;width:136px;height:136px;padding:8px;background:#fff;border-radius:4px}.el-qr svg{width:100%;height:100%}
.el-verified{font-size:1.5rem}.el-small{font-size:.75rem;color:rgba(20,17,17,.6);line-height:1.6;margin:.25rem 0 0;max-width:22rem;overflow-wrap:anywhere}
.el-actions{display:flex;gap:.75rem;justify-content:center;margin-top:1.5rem}
@media(max-width:560px){.el-cert-foot{flex-direction:column;text-align:center}.el-grid{grid-template-columns:1fr 1fr}.el-cert-body{padding:1.75rem 1.25rem}}
@media print{.no-print,.el-top{display:none!important}body,.el-dark{background:#fff}.el-cert{box-shadow:none;border:1px solid #ddd;max-width:100%}.el-certwrap{padding:0}@page{margin:12mm}}
/* admin */
.el-admin{background:#f5f3f0;color:#1c1917}.el-admin-top{background:var(--charcoal);color:var(--cream);padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}
.el-admin-top a{color:var(--cream);text-decoration:none;font-size:.85rem;margin-left:1rem}.el-admin main{max-width:72rem;margin:0 auto;padding:1.5rem;width:100%}
.el-card{background:#fff;border:1px solid #e7e2dc;border-radius:.75rem;padding:1.5rem;margin-bottom:1.5rem}
.el-table{width:100%;border-collapse:collapse;font-size:.85rem}.el-table th,.el-table td{text-align:left;padding:.55rem .5rem;border-bottom:1px solid #eee;vertical-align:middle}
.el-table th{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#78716c}.el-table img{width:44px;height:44px;object-fit:cover;border-radius:4px}
.el-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.el-form .full{grid-column:1/-1}
.el-form label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#78716c;margin-bottom:.3rem}
.el-form input,.el-form select,.el-form textarea,.el-search input{width:100%;padding:.6rem .7rem;border:1px solid #d6d3d1;border-radius:.4rem;font:inherit;background:#fff}
.el-abtn{padding:.6rem 1.2rem;border-radius:.4rem;border:1px solid #1c1917;background:#1c1917;color:#fff;font:500 .85rem var(--sans);cursor:pointer;text-decoration:none;display:inline-block}
.el-abtn.alt{background:#fff;color:#1c1917}.el-abtn.danger{background:#fff;color:#b91c1c;border-color:#b91c1c}
.el-flash{padding:.75rem 1rem;border-radius:.5rem;background:#ecfdf5;color:#065f46;margin-bottom:1rem}.el-flash.err{background:#fef2f2;color:#991b1b}
.el-search{display:flex;gap:.5rem;margin-bottom:1rem}.el-badge{font-size:11px;padding:.1rem .45rem;border-radius:999px;background:#f5f5f4;color:#57534e}
@media(max-width:700px){.el-form{grid-template-columns:1fr}.el-table .hide-sm{display:none}}

/* EL print certificate (A4) 2026-10-11 */
.el-pc{display:none}
@media print{
@page{size:A4;margin:0}
html,body{background:#fff!important;margin:0!important}
body>*:not(main),.el-certwrap>*:not(.el-pc),.el-sell,footer,header{display:none!important}
.el-certwrap{padding:0!important;margin:0!important;max-width:none!important}
.el-pc{display:block!important;position:relative;width:210mm;height:296mm;overflow:hidden;color:#1f2a44;font-family:"Cormorant Garamond",Georgia,serif;-webkit-print-color-adjust:exact;print-color-adjust:exact;page-break-after:avoid;background:#fffdf8}
.el-pc-frame{position:absolute;inset:0;width:100%;height:100%}
.el-pc-in{position:absolute;inset:24mm 24mm 22mm;display:flex;flex-direction:column;align-items:center;text-align:center}
.el-pc-mark{font:600 13pt/1 Inter,Arial,sans-serif;letter-spacing:.55em;margin:2mm 0 1.5mm;padding-left:.55em}
.el-pc-tag{font-style:italic;font-size:11pt;color:#b08d57;margin:0}
.el-pc-title{font-weight:500;font-size:31pt;margin:7mm 0 2mm;letter-spacing:.02em}
.el-pc-title:after{content:"";display:block;width:46mm;height:.4mm;margin:3mm auto 0;background:linear-gradient(90deg,transparent,#b08d57,transparent)}
.el-pc-lede{font-size:12pt;font-style:italic;margin:0 0 7mm;max-width:130mm}
.el-pc-mid{display:flex;gap:8mm;align-items:center;width:100%;text-align:left}
.el-pc-img{flex:0 0 58mm;height:58mm;border:.3mm solid #b08d57;padding:1.5mm;background:#fff}
.el-pc-img img{width:100%;height:100%;object-fit:cover;display:block}
.el-pc-table{flex:1;border-collapse:collapse;font-size:11.5pt}
.el-pc-table th{font:600 7pt Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#8a6a2f;text-align:left;padding:2mm 3mm 2mm 0;white-space:nowrap;vertical-align:top;border-bottom:.2mm solid #e4d6b8}
.el-pc-table td{padding:1.6mm 0;border-bottom:.2mm solid #e4d6b8}
.el-pc-no{margin:8mm 0 0;display:flex;flex-direction:column;gap:1mm}
.el-pc-no span{font:600 7pt Inter,Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#8a6a2f}
.el-pc-no b{font-weight:600;font-size:22pt;letter-spacing:.12em}
.el-pc-foot{margin-top:auto;width:100%;display:flex;align-items:flex-end;justify-content:space-between}
.el-pc-qrw p,.el-pc-sig p{font:500 7pt Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;margin:1.5mm 0 0}
.el-pc-qr{width:26mm;height:26mm}.el-pc-qr svg{width:100%;height:100%}
.el-pc-sig{flex:0 0 62mm}.el-pc-line{border-bottom:.3mm solid #1f2a44;height:12mm}
.el-pc-seal{width:34mm;height:34mm;filter:drop-shadow(.4mm .6mm .5mm rgba(80,60,20,.45))}
.el-pc-note{font:400 7.5pt/1.4 Inter,Arial,sans-serif;color:#5b6170;margin:5mm 0 0}.el-pc-note span{color:#1f2a44;font-weight:600}
}

@font-face{font-family:"EL Signature";src:url(/_el/fonts/great-vibes-sig.woff2) format("woff2");font-display:block}
@media print{.el-pc-sig{flex:0 0 66mm;text-align:center}.el-pc-script{font-family:"EL Signature",cursive;font-size:27pt;line-height:1;color:#1f2a44;margin-bottom:1.2mm;padding-bottom:.5mm;transform:rotate(-2deg)}.el-pc-line{height:0!important}
.el-pc-sig p.el-pc-name{font:600 10.5pt "Cormorant Garamond",Georgia,serif;letter-spacing:.04em;text-transform:none;margin:2.2mm 0 0}.el-pc-sig p.el-pc-role{margin:.6mm 0 0}.el-pc-sig p.el-pc-team{font-size:6pt;color:#8a6a2f;margin:.6mm 0 0}}

/* signature image 2026-10-11 */
.el-cert-sign{margin:2rem auto 0;max-width:260px;text-align:center}
.el-cert-sigimg{display:block;width:240px;max-width:100%;height:auto;margin:0 auto -.4rem}
.el-cert-sigline{border-top:1px solid currentColor;opacity:.35;margin:0 auto .5rem}
.el-cert-signame{font-family:var(--serif,"Cormorant Garamond",Georgia,serif);font-size:1.15rem;margin:0}
.el-cert-sign .el-label{margin:.15rem 0 0}
@media(max-width:480px){.el-cert-sign{max-width:220px}.el-cert-sigimg{width:200px}}
@media print{.el-pc-sigimg{display:block;width:60mm;height:auto;margin:0 auto -1mm}}

/* company certification 2026-10-17 (no individual signatory) */
.el-cert-sign-co{max-width:300px}
.el-cert-coemb{font-family:var(--serif,"Cormorant Garamond",Georgia,serif);font-size:1.5rem;letter-spacing:.18em;color:#b08d57;margin:0 0 .55rem;line-height:1}
.el-cert-sign-co .el-cert-sigline{width:200px;opacity:.3}
.el-cert-sign-co .el-cert-signame{font-size:1.2rem;letter-spacing:.02em}
.el-pc-coemb{display:none}
@media print{.el-pc-sig-co .el-pc-coemb{display:block;font:500 15pt "Cormorant Garamond",Georgia,serif!important;letter-spacing:.2em!important;color:#b08d57;margin:0 0 1.5mm!important;text-transform:none!important}
.el-pc-sig-co .el-pc-line{border-bottom:.3mm solid #b08d57!important;width:46mm;margin:0 auto}}
/* el-scan 2026-10-29: in-browser QR scanner */
.el-scan-btn{width:100%;justify-content:center;margin-top:.75rem;height:3rem;border-radius:.5rem;border-color:hsl(37 27% 52%/.55);color:var(--bronze);background:hsl(37 27% 52%/.08);letter-spacing:.06em}
.el-scan-btn:hover,.el-scan-btn:focus-visible{border-color:var(--bronze);background:hsl(37 27% 52%/.16);color:#e9d7b1;outline:none}
.el-scan-btn svg{width:1.15rem;height:1.15rem;flex:none}
.el-scan-alt{margin-top:.85rem;font-size:.75rem;color:rgba(255,255,255,.45)}
.el-scan-alt label{color:var(--bronze);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.el-scan-alt input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.el-scan-msg{margin:1rem auto 0;max-width:26rem;font-size:.82rem;line-height:1.55;color:rgba(247,242,237,.75)}
.el-scan-msg.is-err,.el-scan-status.is-err{color:#f1b9a8}.el-scan-msg.is-ok,.el-scan-status.is-ok{color:#cfe8c4}
html.el-scan-open,html.el-scan-open body{overflow:hidden}
.el-scan-ov{position:fixed;inset:0;z-index:1000;background:var(--charcoal);color:var(--cream);display:flex;flex-direction:column;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom))}
.el-scan-ov[hidden]{display:none}
.el-scan-top{display:flex;justify-content:space-between;align-items:center;max-width:32rem;width:100%;margin:0 auto}
.el-scan-x{background:none;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:999px;width:2.5rem;height:2.5rem;font-size:1rem;cursor:pointer}
.el-scan-stage{position:relative;flex:1;max-width:32rem;width:100%;margin:1rem auto;border-radius:1rem;overflow:hidden;background:#000;border:1px solid hsl(37 27% 52%/.35);min-height:0}
.el-scan-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.el-scan-frame{position:absolute;left:50%;top:50%;width:min(68vw,15rem);aspect-ratio:1;transform:translate(-50%,-50%);box-shadow:0 0 0 100vmax rgba(10,8,7,.45);border-radius:.75rem}
.el-scan-frame i{position:absolute;width:2rem;height:2rem;border:3px solid var(--bronze)}
.el-scan-frame i:nth-child(1){top:-2px;left:-2px;border-right:0;border-bottom:0;border-top-left-radius:.75rem}
.el-scan-frame i:nth-child(2){top:-2px;right:-2px;border-left:0;border-bottom:0;border-top-right-radius:.75rem}
.el-scan-frame i:nth-child(3){bottom:-2px;left:-2px;border-right:0;border-top:0;border-bottom-left-radius:.75rem}
.el-scan-frame i:nth-child(4){bottom:-2px;right:-2px;border-left:0;border-top:0;border-bottom-right-radius:.75rem}
.el-scan-frame b{position:absolute;left:8%;right:8%;height:2px;top:50%;background:linear-gradient(90deg,transparent,var(--bronze),transparent);animation:elscan 2.2s ease-in-out infinite}
@keyframes elscan{0%,100%{top:12%}50%{top:88%}}
@media (prefers-reduced-motion:reduce){.el-scan-frame b{animation:none}}
.el-scan-status{text-align:center;font-size:.9rem;line-height:1.5;min-height:1.5em;max-width:32rem;margin:0 auto;color:rgba(247,242,237,.8)}
.el-scan-actions{display:flex;justify-content:center;margin-top:.75rem}
