/* Public information and fixed specimens only. No stamp editor on the HP. */
.stamp-page { --stamp-ink:#b83239; --stamp-blue:#0877b8; --stamp-line:#d8e7ef; color:#123247; }
.stamp-page *, .stamp-discovery * { box-sizing:border-box; }
.stamp-shell { width:min(1240px,calc(100% - 48px)); margin-inline:auto; }
.stamp-page h1,.stamp-page h2,.stamp-page h3 { color:#123247; letter-spacing:-.025em; }
.stamp-page h1 { font-size:clamp(30px,3.25vw,48px); line-height:1.4; margin:10px 0 16px; }
.stamp-page h2 { font-size:clamp(25px,2.5vw,34px); line-height:1.45; margin:8px 0 12px; }
.stamp-page h3 { font-size:20px; line-height:1.5; margin:0 0 8px; }
.stamp-page p,.stamp-page li { font-size:15px; line-height:1.9; color:#4b6475; }
.stamp-page p { margin:8px 0 12px; }
.stamp-page main a,.stamp-local-nav a,.stamp-gate a { color:#086b9b; text-underline-offset:3px; }
.stamp-page main a:not(.stamp-actions a) { text-decoration:underline; }
.stamp-page a:focus-visible,.stamp-page button:focus-visible,.stamp-page summary:focus-visible { outline:3px solid #e69b16; outline-offset:4px; }
.stamp-kicker { color:#0877b8; font-size:12px; line-height:1.6; font-weight:800; letter-spacing:.14em; }
.stamp-local-nav { border-bottom:1px solid var(--stamp-line); background:#fff; }
.stamp-local-nav .stamp-shell { display:flex; flex-wrap:wrap; gap:4px 22px; padding-block:12px; }
.stamp-local-nav a { font-size:14px; font-weight:700; padding:5px 0; text-decoration:none; }
.stamp-local-nav a[aria-current="page"] { border-bottom:2px solid var(--stamp-blue); }
.stamp-section { padding-block:42px; scroll-margin-top:155px; }
.stamp-section:nth-child(even) { background:#f5fafc; }
.stamp-section-head { margin-bottom:20px; max-width:1000px; }
.stamp-section-head>p { max-width:850px; }
.stamp-hero { background:linear-gradient(120deg,#f4fbff,#fff 70%); padding-block:34px; }
.stamp-hero-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:36px; align-items:center; }
.stamp-hero h1 strong { color:#0877b8; font-weight:800; }
.stamp-member-badge { display:inline-flex; flex-wrap:wrap; align-items:center; gap:12px; border:1px solid #b5d9ed; border-radius:9px; padding:8px 13px; background:#fff; font-size:14px; font-weight:700; }
.stamp-member-badge strong { color:#076b9f; font-size:24px; }
.stamp-note { border:1px solid #e6d29c; border-left:4px solid #bd8108; border-radius:10px; padding:14px 17px; background:#fffaf0; color:#67511c; font-size:14px; line-height:1.8; margin:14px 0; }
.stamp-note p { color:#67511c; }
.stamp-note h3 { font-size:18px; }
.stamp-note[data-stamp-state] { margin:14px 0; }
.stamp-info { font-size:13px!important; color:#536b7d; }
.stamp-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:17px 0 10px; }
.stamp-actions button,.stamp-actions a,.stamp-gate a { display:inline-flex; justify-content:center; align-items:center; gap:6px; border:1px solid #aacaDC; border-radius:8px; background:#fff; color:#075d8a; font-family:inherit; font-size:14px; font-weight:700; line-height:1.6; text-align:center; padding:12px 17px; text-decoration:none; cursor:pointer; max-width:100%; overflow-wrap:anywhere; }
.stamp-actions button[data-stamp-action="register"] { background:#0877b8; border-color:#0877b8; color:#fff; }
.stamp-actions button:hover,.stamp-actions a:hover { box-shadow:0 3px 10px #12324718; }
.stamp-sample-board { background:#fff; border:1px solid #cde0ec; border-radius:18px; padding:22px; box-shadow:0 14px 35px #1232470b; margin:0; }
.stamp-board-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.stamp-board-grid figure { margin:0; padding:12px; border:1px solid #e2e9ef; background:#f9fbfc; border-radius:10px; text-align:center; }
.stamp-board-grid img { display:block; width:100%; max-width:145px; height:145px; object-fit:contain; margin:auto; }
.stamp-board-grid figcaption { font-weight:700; font-size:13px; margin-top:5px; }
.stamp-sample-board>figcaption { font-size:12px; line-height:1.7; color:#566c7b; margin-top:14px; }
.stamp-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:16px; }
.stamp-card { min-width:0; margin:0; padding:22px; border:1px solid var(--stamp-line); border-radius:13px; background:#fff; }
.stamp-card>img { display:block; max-width:100%; width:auto; height:auto; object-fit:contain; margin:0 auto 16px; }
.stamp-card>img[width="160"] { width:128px; height:128px; }
.stamp-card>img[width="640"] { width:100%; max-width:640px; }
.stamp-card figcaption { font-size:13px; line-height:1.8; color:#536b7d; }
.stamp-card ol,.stamp-card ul { padding-left:22px; margin:8px 0; }
.stamp-card li+li { margin-top:7px; }
.stamp-type-card { display:flex; flex-direction:column; }
.stamp-type-card .stamp-actions { margin-top:auto; }
.stamp-type-card .stamp-actions button { padding:10px 13px; font-size:13px; }
.stamp-type-code { color:#b83239; background:#fff4f3; padding:4px 9px; border-radius:5px; font-size:12px; font-weight:700; }
.stamp-steps { list-style:none; padding:0; counter-reset:stamp-step; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:15px; margin:18px 0; }
.stamp-steps>li { counter-increment:stamp-step; border:1px solid var(--stamp-line); background:#fff; border-radius:12px; padding:20px; }
.stamp-steps>li:before { content:counter(stamp-step,decimal-leading-zero); display:block; color:#0877b8; font-size:14px; font-weight:800; margin-bottom:8px; }
.stamp-steps b { color:#123247; }
.stamp-article .stamp-steps { grid-template-columns:repeat(5,minmax(0,1fr)); }
@media(max-width:1050px) { .stamp-article .stamp-steps { grid-template-columns:repeat(2,minmax(0,1fr)); } .stamp-article .stamp-steps>li:last-child { grid-column:1/-1; } }
@media(max-width:600px) { .stamp-article .stamp-steps { grid-template-columns:1fr; } }
.stamp-faq { display:grid; gap:10px; }
.stamp-faq details { border:1px solid var(--stamp-line); border-radius:10px; background:#fff; padding:0 18px; }
.stamp-faq summary { cursor:pointer; font-size:16px; line-height:1.75; font-weight:700; padding:15px 0; color:#123247; }
.stamp-faq details p { margin:0 0 17px; }
.stamp-contact { background:#f0f8fd!important; }
.stamp-gate { width:min(540px,calc(100% - 28px)); max-height:calc(100dvh - 32px); overflow:auto; padding:27px; border:1px solid #c9dae5; border-radius:15px; background:#fff; color:#123247; box-shadow:0 18px 80px #12324730; }
.stamp-gate::backdrop { background:#102a3d99; }
.stamp-gate h2 { font-size:24px; margin:12px 0; }
.stamp-gate p { font-size:14px; line-height:1.9; color:#4b6475; }
.stamp-gate-close { float:right; min-width:42px; min-height:42px; border:1px solid #ccdce6; border-radius:7px; background:#fff; font:inherit; cursor:pointer; color:#123247; }
.stamp-gate-links { display:grid; gap:9px; margin:18px 0; }
.stamp-gate .stamp-note { clear:both; }
@media(max-width:900px) { .stamp-hero-grid { grid-template-columns:1fr; gap:23px; } .stamp-sample-board { max-width:620px; width:100%; } }
@media(max-width:600px) { .stamp-shell { width:calc(100% - 32px); } .stamp-section { padding-block:30px; } .stamp-hero { padding-block:27px; } .stamp-hero h1 br { display:none; } .stamp-card { padding:18px; } .stamp-sample-board { padding:15px; } .stamp-board-grid img { height:112px; max-width:112px; } .stamp-actions button,.stamp-actions a { flex-grow:1; padding:11px 13px; } .stamp-local-nav .stamp-shell { gap:5px 15px; } .stamp-gate { padding:20px; } }
@media(prefers-reduced-motion:reduce) { .stamp-page { scroll-behavior:auto; } }
