/* IFEIA — inner pages, registry, verify, forms */

/* ---------- page hero + layout ---------- */
.page-hero{position:relative;background:radial-gradient(90% 140% at 100% 0%,rgba(107,26,43,.85),transparent 60%),var(--ox-deep);color:var(--stone);padding:calc(var(--hdr) + clamp(44px,7vw,92px)) 0 clamp(40px,5vw,72px);overflow:hidden}
.page-hero::after{content:"";position:absolute;right:-60px;bottom:-90px;width:380px;height:380px;border:1px solid rgba(201,138,151,.22);border-radius:50%;box-shadow:0 0 0 46px rgba(201,138,151,.05),0 0 0 92px rgba(201,138,151,.03)}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;list-style:none;font-size:.82rem;color:rgba(239,233,225,.7);margin-bottom:18px}
.crumbs li+li::before{content:"/";margin-right:8px;opacity:.5}
.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}
.page-hero h1{font-size:clamp(2.2rem,5.6vw,4.4rem);letter-spacing:-.04em;max-width:18ch;margin-bottom:.35em;position:relative;z-index:1}
.page-hero .lead-p{max-width:62ch;font-size:clamp(1.05rem,1.5vw,1.25rem);color:rgba(239,233,225,.86);margin:0;position:relative;z-index:1}
.page-hero .eyebrow{color:var(--rose-soft);margin-bottom:14px;display:flex;align-items:center;gap:12px}
.page-hero .eyebrow::before{content:"";width:34px;height:1.5px;background:var(--rose)}
.page-body{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(28px,5vw,72px);padding-block:clamp(44px,6vw,92px)}
.page-body.has-side{grid-template-columns:240px minmax(0,1fr)}
.side{position:sticky;top:calc(var(--hdr) + 28px);align-self:start}
.side h2{font:700 .72rem/1 var(--head);letter-spacing:.2em;text-transform:uppercase;color:var(--wine);margin-bottom:14px}
.side ul{list-style:none;border-left:1.5px solid var(--line)}
.side a{display:block;padding:.55em 0 .55em 16px;margin-left:-1.5px;border-left:1.5px solid transparent;text-decoration:none;font-size:.93rem;color:var(--muted);transition:color .2s,border-color .2s}
.side a:hover{color:var(--ox)}
.side a[aria-current=page]{color:var(--ox);border-left-color:var(--wine);font-weight:600}
@media(max-width:980px){.page-body.has-side{grid-template-columns:minmax(0,1fr)}.side{position:static}.side ul{display:flex;flex-wrap:wrap;gap:6px;border:0}.side a{border:1px solid var(--line);border-radius:999px;padding:.4em .9em;margin:0}.side a[aria-current=page]{background:var(--ox);color:var(--stone);border-color:var(--ox)}}

/* ---------- prose ---------- */
.prose{max-width:74ch}
.prose.wide{max-width:none}
.prose h2{font-size:clamp(1.5rem,2.6vw,2.1rem);margin:2.1em 0 .6em;letter-spacing:-.03em}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.2rem;margin:1.7em 0 .5em}
.prose p,.prose li{color:#3a2a2e}
.prose ul,.prose ol{padding-left:1.25em;margin:0 0 1.2em}
.prose li{margin-bottom:.45em}
.prose li::marker{color:var(--wine)}
.prose a{color:var(--wine);text-underline-offset:3px}
.prose strong{color:var(--ink)}
.callout{border-left:3px solid var(--wine);background:var(--stone-2);padding:20px 24px;border-radius:0 8px 8px 0;margin:1.8em 0}
.callout p:last-child{margin:0}.callout b{font-family:var(--head);color:var(--ox)}
.callout.dark{background:var(--ox);color:var(--stone);border-color:var(--rose)}
.callout.dark p,.callout.dark b{color:var(--stone)}
.btnrow{display:flex;flex-wrap:wrap;gap:12px;margin:1.6em 0}
.btn-ghost-dark{border-color:var(--ox);color:var(--ox)}
.btn-ghost-dark:hover{background:var(--ox);color:var(--stone)}

/* cards, tables, facts */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin:1.6em 0;list-style:none;padding:0}
.card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--ox);border-radius:4px 4px 8px 8px;padding:22px 22px 24px;text-decoration:none;color:inherit;display:block;transition:transform .35s var(--ease),box-shadow .35s}
.card:hover{transform:translateY(-5px);box-shadow:0 24px 36px -26px rgba(74,14,28,.6)}
.card .n{font:800 1.9rem/1 var(--head);color:transparent;-webkit-text-stroke:1.2px var(--wine);display:block;margin-bottom:.5em}
.card h3{font-size:1.1rem;margin:0 0 .4em}
.card p{margin:0;color:var(--muted);font-size:.93rem}
.card .more{display:inline-block;margin-top:.9em;font:600 .82rem var(--head);color:var(--wine)}
.tbl-wrap{overflow-x:auto;margin:1.6em 0;border:1px solid var(--line);border-radius:8px}
.tbl{width:100%;border-collapse:collapse;font-size:.94rem;min-width:520px}
.tbl th{background:var(--ox);color:var(--stone);font:600 .74rem/1.3 var(--head);letter-spacing:.12em;text-transform:uppercase;text-align:left;padding:14px 16px}
.tbl td{padding:14px 16px;border-top:1px solid var(--line);vertical-align:top;color:#3a2a2e}
.tbl tr:nth-child(even) td{background:rgba(229,221,209,.45)}
.tbl td:first-child{font-weight:600;color:var(--ink)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0;margin:1.6em 0;border-top:2px solid var(--ox)}
.facts div{padding:16px 16px 16px 0;border-bottom:1px solid var(--line)}
.facts dt{font:600 .68rem/1 var(--head);letter-spacing:.18em;text-transform:uppercase;color:var(--wine);margin-bottom:8px}
.facts dd{margin:0;font-weight:600;color:var(--ink)}
.status{display:inline-flex;align-items:center;gap:7px;font:600 .74rem/1 var(--head);letter-spacing:.06em;padding:.55em 1em;border-radius:999px;white-space:nowrap}
.status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.status.active{background:#e6efe3;color:#27502a}
.status.effective{background:var(--rose-soft);color:var(--wine)}
.status.suspended,.status.withdrawn,.status.expired{background:#eadbdb;color:#7a1f1f}
.tag{display:inline-block;font:600 .72rem/1 var(--head);letter-spacing:.08em;padding:.5em .85em;border:1px solid var(--line);border-radius:999px;color:var(--muted);margin:0 6px 6px 0}
.steps-v{list-style:none;padding:0;margin:1.8em 0;counter-reset:s}
.steps-v li{counter-increment:s;position:relative;padding:0 0 28px 70px;border-left:0}
.steps-v li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:-4px;font:800 1.9rem/1 var(--head);color:transparent;-webkit-text-stroke:1.2px var(--wine)}
.steps-v li::after{content:"";position:absolute;left:24px;top:36px;bottom:6px;width:1px;background:var(--line)}
.steps-v li:last-child::after{display:none}
.steps-v h3{margin:0 0 .3em!important;font-size:1.15rem}.steps-v p{margin:0}

/* faq + glossary */
.faq details{border-top:1px solid var(--line);padding:0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font:600 1.08rem/1.4 var(--head);position:relative;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font:400 1.6rem var(--head);color:var(--wine);transition:transform .3s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq .ans{padding:0 0 22px;max-width:66ch}
.gloss dl{margin:0}.gloss dt{font:700 1.1rem var(--head);color:var(--ox);padding-top:1.3em;border-top:1px solid var(--line);margin-top:1.3em}
.gloss dt:first-child{border:0;margin:0;padding:0}.gloss dd{margin:.3em 0 0;color:#3a2a2e;max-width:66ch}

/* ---------- registry directory ---------- */
.dir-tools{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:12px;margin-bottom:22px;padding:18px;background:var(--stone-2);border-radius:10px}
.field label{display:block;font:600 .68rem/1 var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--wine);margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:.95rem;padding:.8em 1em;border:1.5px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--wine);box-shadow:0 0 0 3px rgba(201,138,151,.35)}
.dir-count{font-size:.92rem;color:var(--muted);margin:0 0 10px}
.dir-list{list-style:none;padding:0;border-top:2px solid var(--ox)}
.dir-item a{display:grid;grid-template-columns:56px minmax(0,1.7fr) minmax(0,1fr) minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px 8px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;transition:background .25s,padding .3s var(--ease)}
.dir-item a:hover{background:#fff;padding-inline:18px}
.dir-item img{width:48px;height:48px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:8px;padding:5px}
.dir-name{font:600 1.08rem/1.25 var(--head);letter-spacing:-.01em}
.dir-name small{display:block;font:500 .8rem var(--body);color:var(--muted);letter-spacing:0;margin-top:3px}
.dir-meta{font-size:.9rem;color:#3a2a2e}.dir-meta small{display:block;color:var(--muted);font-size:.78rem}
.dir-item[hidden]{display:none}
.dir-empty{padding:30px;text-align:center;color:var(--muted)}
@media(max-width:900px){.dir-tools{grid-template-columns:1fr 1fr}.dir-tools .field:first-child{grid-column:1/-1}
  .dir-item a{grid-template-columns:48px 1fr;gap:6px 14px}.dir-item a>:nth-child(3),.dir-item a>:nth-child(4){grid-column:2}.dir-item a>:nth-child(5){grid-column:2}}

/* ---------- record page ---------- */
.rec-head{display:flex;gap:22px;align-items:center;margin-bottom:26px}
.rec-logo{width:96px;height:96px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;flex:none}
.rec-head h2{margin:0 0 .25em!important;font-size:clamp(1.5rem,2.8vw,2.2rem)}
.rec-head p{margin:0;color:var(--muted)}
.cert-box{margin:2em 0;background:var(--stone-2);border-radius:12px;padding:clamp(14px,2.4vw,28px);display:grid;grid-template-columns:minmax(0,340px) 1fr;gap:clamp(18px,3vw,40px);align-items:center}
.cert-box img{width:100%;height:auto;border-radius:3px;box-shadow:0 26px 40px -22px rgba(35,9,15,.55)}
.cert-box h3{margin:0 0 .4em!important}
.cert-box p{color:var(--muted)}
.qr-line{display:flex;align-items:center;gap:14px;margin-top:1em;font-size:.88rem;color:var(--muted)}
.qr-line .qr{width:84px;height:84px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:8px}
@media(max-width:700px){.cert-box{grid-template-columns:1fr}.cert-box img{max-width:320px}}

/* ---------- verify ---------- */
.verify-box{background:var(--ox);color:var(--stone);border-radius:14px;padding:clamp(22px,3.4vw,40px);margin-bottom:28px;background-image:radial-gradient(80% 120% at 100% 0%,rgba(201,138,151,.28),transparent 60%)}
.verify-box label{display:block;font:600 .74rem/1 var(--head);letter-spacing:.18em;text-transform:uppercase;color:var(--rose-soft);margin-bottom:10px}
.verify-row{display:flex;gap:10px;flex-wrap:wrap}
.verify-row input{flex:1 1 280px;font:inherit;font-size:1.05rem;padding:1em 1.1em;border:0;border-radius:6px;background:var(--stone);color:var(--ink)}
.verify-row .btn{background:var(--rose);color:var(--ox);border:0}
.verify-row .btn:hover{background:var(--rose-soft)}
.verify-hint{margin:12px 0 0;font-size:.88rem;color:rgba(239,233,225,.75)}
.v-results{list-style:none;padding:0}
.v-card{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:20px;overflow:hidden}
.v-top{display:grid;grid-template-columns:64px 1fr auto;gap:18px;align-items:center;padding:20px 22px}
.v-top img{width:60px;height:60px;object-fit:contain;border:1px solid var(--line);border-radius:10px;padding:5px;background:#fff}
.v-top h3{margin:0;font-size:1.2rem}.v-top p{margin:2px 0 0;color:var(--muted);font-size:.9rem}
.v-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px 18px;padding:18px 22px;border-top:1px solid var(--line);background:rgba(229,221,209,.35)}
.v-facts dt{font:600 .66rem/1 var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--wine);margin-bottom:6px}
.v-facts dd{margin:0;font-weight:600;font-size:.94rem}
.v-cert{padding:18px 22px 22px;border-top:1px solid var(--line)}
.v-cert[hidden]{display:none}
.v-cert img{max-width:420px;width:100%;border-radius:3px;box-shadow:0 20px 34px -20px rgba(35,9,15,.5);margin-top:14px}
.v-actions{display:flex;flex-wrap:wrap;gap:10px;padding:0 22px 20px}
.v-none{background:#fff;border:1px dashed var(--line);border-radius:12px;padding:28px;text-align:center;color:var(--muted)}
@media(max-width:600px){.v-top{grid-template-columns:52px 1fr}.v-top .status{grid-column:1/-1;justify-self:start}}

/* ---------- forms ---------- */
.form{display:grid;gap:18px;max-width:720px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:620px){.form .row{grid-template-columns:1fr}}
.form textarea{min-height:140px;resize:vertical}
.form .hint{font-size:.85rem;color:var(--muted);margin:0}
.form-done{display:none;margin-top:18px}
.form.is-sent+.form-done,.form-done.show{display:block}
.wizard-steps{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 26px;counter-reset:w}
.wizard-steps li{flex:1;counter-increment:w;font:600 .72rem/1.2 var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-top:3px solid var(--line);padding-top:10px;transition:color .3s,border-color .3s}
.wizard-steps li::before{content:counter(w) ". "}
.wizard-steps li.on{color:var(--ox);border-color:var(--wine)}
.wstep[hidden]{display:none}
.wnav{display:flex;gap:10px;margin-top:6px}
.checks{display:grid;gap:10px}
.checks label{display:flex;gap:10px;align-items:flex-start;font-size:.95rem}
.checks input{margin-top:.3em;accent-color:var(--wine)}
.review-list{background:var(--stone-2);border-radius:10px;padding:18px 22px}
.review-list dt{font:600 .66rem/1 var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--wine);margin-top:12px}
.review-list dd{margin:4px 0 0;font-weight:600}

/* ---------- articles + docs ---------- */
.article-meta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:.85rem;color:var(--muted);margin-bottom:1.6em}
.doc-list{list-style:none;padding:0;border-top:2px solid var(--ox);margin:1.6em 0}
.doc-list li{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:18px 4px;border-bottom:1px solid var(--line)}
.doc-list h3{margin:0 0 .2em!important;font-size:1.08rem}.doc-list p{margin:0;font-size:.9rem;color:var(--muted)}
.doc-list a.dl{font:600 .84rem var(--head);color:var(--wine);text-decoration:none;white-space:nowrap}
.doc-list a.dl:hover{text-decoration:underline}
.badge-demo{display:flex;flex-wrap:wrap;gap:24px;margin:1.6em 0}
.badge-demo figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px;text-align:center}
.badge-demo figure.dk{background:var(--ox)}
.badge-demo img{height:84px;width:auto;margin:0 auto 12px}
.badge-demo figcaption{font-size:.82rem;color:var(--muted)}.badge-demo .dk figcaption{color:var(--rose-soft)}
.home-link{display:inline-flex;align-items:center;gap:8px;font:600 .88rem var(--head);text-decoration:none;color:var(--wine);margin-top:1.2em}
.rec-head>div{min-width:0;flex:1 1 200px}.rec-head .status{white-space:normal;line-height:1.3;max-width:100%}
.prose a.btn{text-decoration:none}.prose a.btn-solid{color:var(--stone)}.prose a.btn-solid:hover{color:var(--stone)}.prose a.btn-ghost-dark{color:var(--ox)}.prose a.btn-ghost-dark:hover{color:var(--stone)}.rec-head .rec-acr{font:700 1.5rem/1.1 var(--head);letter-spacing:.06em;color:var(--ox);margin:0 0 .2em}
.prose .verify-hint{color:rgba(239,233,225,.82)}.prose.wide>p,.prose.wide>ul,.prose.wide>ol,.prose.wide>h2,.prose.wide>h3{max-width:74ch}.prose.wide>.callout{max-width:74ch}
