.spec-library-page{--spec-ink:#071522;--spec-gold:#c9a35b;--spec-line:#d9e0e5;--spec-soft:#f3f6f8;color:#17232d;background:#fff}
.spec-library-hero{min-height:520px;padding:clamp(64px,9vw,120px) max(24px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:56px;align-items:center;background:radial-gradient(circle at 83% 22%,rgba(201,163,91,.18),transparent 27%),linear-gradient(135deg,#071522,#0e273a);color:#fff}
.spec-library-kicker,.spec-library-details-head span,.spec-library-standard-note span{display:block;margin-bottom:18px;color:var(--spec-gold);font-size:12px;font-weight:900;letter-spacing:.16em}
.spec-library-hero h1{max-width:850px;margin:0 0 22px;font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.045em;color:#fff}
.spec-library-hero-copy>p{max-width:780px;margin:0;color:#d9e3e9;font-size:clamp(18px,2vw,23px);line-height:1.55}
.spec-library-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.spec-library-hero-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border:1px solid var(--spec-gold);border-radius:999px;background:var(--spec-gold);color:#071522;font-weight:900;text-decoration:none}
.spec-library-hero-actions a.secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.spec-library-summary{display:grid;grid-template-columns:auto 1fr;gap:15px 18px;padding:34px;border:1px solid rgba(255,255,255,.16);border-radius:24px;background:rgba(255,255,255,.07);box-shadow:0 30px 70px rgba(0,0,0,.24);backdrop-filter:blur(16px)}
.spec-library-summary strong{font-size:32px;color:var(--spec-gold);line-height:1}
.spec-library-summary span{align-self:center;color:#e7edf1;font-weight:700}
.spec-library-intro,.spec-library-details,.spec-library-standard-note,.spec-library-faq{max-width:1240px;margin:0 auto;padding:90px 24px}
.spec-library-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.spec-library-intro span{color:#8c6f38;font-size:12px;font-weight:900;letter-spacing:.15em}
.spec-library-intro h2,.spec-library-details h2,.spec-library-standard-note h2,.spec-library-faq h2{margin:13px 0 0;color:var(--spec-ink);font-size:clamp(30px,4vw,50px);line-height:1.08;letter-spacing:-.035em}
.spec-library-intro p,.spec-library-standard-note p{margin:0;color:#52616c;font-size:17px;line-height:1.8}
.spec-library-grid{max-width:1240px;margin:0 auto;padding:0 24px 100px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.spec-library-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:24px;padding:30px;border:1px solid var(--spec-line);border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(7,21,34,.07);overflow:hidden}
.spec-library-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--spec-gold)}
.spec-library-card-no{display:flex;width:52px;height:52px;align-items:center;justify-content:center;border-radius:16px;background:var(--spec-ink);color:var(--spec-gold);font-size:18px;font-weight:900}
.spec-library-card-body span{color:#8c6f38;font-size:11px;font-weight:900;letter-spacing:.12em}
.spec-library-card h2{margin:10px 0 13px;color:var(--spec-ink);font-size:23px;line-height:1.18}
.spec-library-card p{margin:0;color:#586773;line-height:1.65}
.spec-library-card small{display:block;margin-top:14px;color:#82909a}
.spec-library-card-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:10px;margin-top:5px}
.spec-library-card-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:999px;font-weight:900;text-decoration:none}
.spec-library-card-actions .download{gap:12px;background:var(--spec-ink);color:#fff}
.spec-library-card-actions .download span{color:var(--spec-gold);font-size:18px}
.spec-library-card-actions .preview{border:1px solid var(--spec-line);color:var(--spec-ink)}
.spec-library-details{max-width:none;background:var(--spec-soft)}
.spec-library-details>*{max-width:1192px;margin-left:auto;margin-right:auto}
.spec-library-details-head{margin-bottom:38px}
.spec-library-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.spec-library-detail-grid article{padding:26px;border:1px solid #dbe2e7;border-radius:20px;background:#fff}
.spec-library-detail-grid b{display:block;margin-bottom:11px;color:var(--spec-ink);font-size:18px}
.spec-library-detail-grid p{margin:0;color:#596873;line-height:1.65}
.spec-library-standard-note{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.spec-library-faq{padding-top:30px}
.spec-library-faq-list{display:grid;gap:10px}
.spec-library-faq details{border:1px solid var(--spec-line);border-radius:17px;background:#fff;padding:0 22px}
.spec-library-faq summary{cursor:pointer;padding:21px 35px 21px 0;color:var(--spec-ink);font-size:17px;font-weight:900;list-style:none;position:relative}
.spec-library-faq summary::-webkit-details-marker{display:none}
.spec-library-faq summary:after{content:"+";position:absolute;right:0;top:17px;color:var(--spec-gold);font-size:26px}
.spec-library-faq details[open] summary:after{content:"−"}
.spec-library-faq p{margin:0;padding:0 0 22px;color:#586773;line-height:1.7}
@media(max-width:900px){.spec-library-hero,.spec-library-intro,.spec-library-standard-note{grid-template-columns:1fr}.spec-library-hero{min-height:auto;gap:34px;padding-top:74px;padding-bottom:74px}.spec-library-grid{grid-template-columns:1fr}.spec-library-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spec-library-intro,.spec-library-standard-note{gap:28px}.spec-library-card{padding:24px}}
@media(max-width:560px){.spec-library-hero h1{font-size:42px}.spec-library-summary{padding:25px}.spec-library-card{grid-template-columns:1fr;gap:16px}.spec-library-card-actions{grid-column:1}.spec-library-detail-grid{grid-template-columns:1fr}.spec-library-card-actions a{flex:1 1 100%}.spec-library-intro,.spec-library-details,.spec-library-standard-note,.spec-library-faq{padding:64px 18px}.spec-library-grid{padding-left:18px;padding-right:18px}.spec-library-summary strong{font-size:27px}}
