.catalog-head { margin: 108px 0 34px; padding-top: 35px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 35px; align-items: end; }
.catalog-head .eyebrow { margin-bottom: 18px; }
.catalog-title { margin: 0; font-size: clamp(33px, 3.8vw, 52px); letter-spacing: -.075em; line-height: 1; }
.catalog-title em { color: #7e9300; font-style: normal; }
.catalog-controls { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.catalog-filter { border: 1px solid var(--line); background: transparent; color: var(--muted); padding: 10px 13px; font: 10px var(--mono); transition: background .2s ease, color .2s ease, border-color .2s ease; }
.catalog-filter span { opacity: .5; margin-left: 6px; }
.catalog-filter:hover, .catalog-filter.is-active { color: var(--ink); background: var(--yellow); border-color: var(--yellow); }
.catalog-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.catalog-card { background: #fff; border: 1px solid rgba(11,16,20,.09); min-height: 415px; padding: 17px 17px 18px; position: relative; display: flex; flex-direction: column; transition: opacity .25s ease, transform .25s var(--ease), box-shadow .25s ease; }
.catalog-card:hover { transform: translateY(-5px); box-shadow: 0 18px 35px rgba(11,16,20,.09); }
.catalog-card.is-hidden { display: none; }
.catalog-card-top { display: flex; justify-content: space-between; align-items: center; }
.catalog-tag { font: 9px var(--mono); letter-spacing: .06em; padding: 6px 7px; }
.tag-er { color: #5f7700; background: #eff9c7; }.tag-cr { color: #4d5658; background: #e7e9e5; }
.catalog-signal { color: #a3a7a5; font: 10px var(--mono); }
.catalog-visual { height: 145px; display: flex; justify-content: center; align-items: center; position: relative; margin: 7px 0 5px; }
.catalog-cylinder { width: 62px; height: 111px; border-radius: 10px; color: var(--ink); background: linear-gradient(110deg,#dce2db 0%,#637071 44%,#e8ebe3 64%,#778283 100%); box-shadow: -12px 14px 20px rgba(11,16,20,.17); transform: rotate(16deg); flex-direction: column; font-weight: 800; font-size: 22px; letter-spacing: -.11em; }
.catalog-cylinder:after { content: ""; position: absolute; inset: 6px; border: 1px solid rgba(255,255,255,.55); border-radius: 7px; }
.catalog-cylinder:before { content: ""; position: absolute; top: -8px; width: 38px; height: 9px; border-radius: 3px 3px 1px 1px; background: linear-gradient(90deg,#dce2db,#697778); }
.catalog-cylinder i, .catalog-coin i { position: absolute; font: 16px var(--mono); font-style: normal; right: 10px; bottom: 9px; }
.catalog-cylinder span, .catalog-coin span { z-index: 1; }.cylinder-mid { height: 105px; width: 67px; }.cylinder-large { height: 115px; width: 73px; }.cylinder-xl { height: 123px; width: 79px; }
.catalog-coin { width: 110px; height: 110px; border-radius: 50%; color: var(--ink); background: linear-gradient(140deg,#eef0e8,#899493 36%,#e9ebe4 64%,#596365); box-shadow: -13px 14px 19px rgba(11,16,20,.15); transform: rotate(18deg); font-weight: 800; font-size: 25px; letter-spacing: -.11em; }.catalog-coin:after { content: ""; position: absolute; inset: 8px; border: 1px solid rgba(255,255,255,.62); border-radius: 50%; }.catalog-coin i { right: 20px; bottom: 27px; z-index: 1; }.coin-mid { width: 106px; height: 106px; }.coin-large { width: 119px; height: 119px; }.coin-xl { width: 128px; height: 128px; }
.catalog-card h4 { margin: 9px 0 4px; font-size: 22px; letter-spacing: -.065em; }.catalog-subtitle { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.45; min-height: 29px; }
.spec-list { border-top: 1px solid var(--line); margin: 16px 0 13px; padding: 7px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }.spec-list div { min-width: 0; }.spec-list dt { color: var(--muted); font: 8px var(--mono); text-transform: uppercase; letter-spacing: .04em; margin-bottom: 5px; }.spec-list dd { margin: 0; font-size: 10px; font-weight: 700; white-space: nowrap; }
.catalog-link { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; color: var(--ink); font-size: 10px; font-weight: 700; }.catalog-link span { color: #789000; font-size: 15px; transition: transform .2s var(--ease); }.catalog-link:hover span { transform: translateX(5px); }.catalog-footnote { color: var(--muted); font-size: 10px; line-height: 1.6; max-width: 800px; margin: 22px 0 0; }
@media (max-width: 980px) { .catalog-grid { grid-template-columns: repeat(2, 1fr); }.catalog-card { min-height: 400px; } }
@media (max-width: 640px) { .catalog-head { display: block; margin-top: 72px; }.catalog-controls { margin-top: 24px; }.catalog-grid { gap: 9px; }.catalog-card { padding: 13px 12px 14px; min-height: 380px; }.catalog-card h4 { font-size: 18px; }.catalog-subtitle { font-size: 9px; }.spec-list { gap: 3px; }.spec-list dt { font-size: 7px; }.spec-list dd { font-size: 8px; }.catalog-visual { height: 125px; transform: scale(.88); }.catalog-link { font-size: 8px; }.catalog-link span { font-size: 13px; } }
.catalog-source { display: block; margin-top: 9px; color: #657900; font: 9px var(--mono); letter-spacing: .02em; text-decoration: underline; text-underline-offset: 3px; }
.catalog-source:hover { color: var(--ink); }

.blog-section { background: var(--paper-2); }
.blog-layout { display: grid; grid-template-columns: 1.08fr .92fr; gap: 16px; align-items: stretch; }
.blog-feature-card, .blog-generator-card { min-height: 545px; padding: 28px 31px; position: relative; }
.blog-feature-card { background: var(--ink); color: var(--white); overflow: hidden; }
.blog-feature-card:before { content: "AI"; position: absolute; right: -14px; bottom: -60px; color: rgba(217,255,66,.1); font: 800 240px/1 var(--sans); letter-spacing: -.16em; }
.blog-generator-card { background: var(--yellow); color: var(--ink); }
.blog-card-top, .blog-output-head, .blog-output-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.blog-label, .blog-index, .ai-badge { font: 9px var(--mono); letter-spacing: .1em; }
.blog-label, .blog-index { color: rgba(255,255,255,.45); }
.blog-feature-content { position: relative; z-index: 1; max-width: 590px; margin-top: 122px; }
.blog-kicker { color: var(--yellow); font: 10px var(--mono); letter-spacing: .13em; text-transform: uppercase; margin: 0 0 14px; }
.blog-feature-content h3, .blog-generator-card h3, .blog-output h3 { margin: 0; letter-spacing: -.07em; line-height: 1.02; }
.blog-feature-content h3 { max-width: 510px; font-size: clamp(30px, 3.5vw, 52px); }
.blog-feature-content > p:not(.blog-kicker) { color: rgba(255,255,255,.63); font-size: 13px; line-height: 1.75; max-width: 500px; margin: 21px 0; }
.blog-meta { display: flex; gap: 22px; color: rgba(255,255,255,.42); font: 9px var(--mono); padding: 16px 0; border-top: 1px solid var(--line-light); }
.featured-article-body { max-height: 0; overflow: hidden; opacity: 0; transition: max-height .5s var(--ease), opacity .4s ease; }
.featured-article-body.is-expanded { max-height: 400px; opacity: 1; }
.featured-article-body p { color: rgba(255,255,255,.61); font-size: 11px; line-height: 1.7; margin: 0 0 12px; }
.blog-read-more { color: var(--yellow); background: transparent; border: 0; padding: 0; margin-top: 9px; position: relative; z-index: 2; }
.ai-badge { display: flex; gap: 9px; align-items: center; color: rgba(11,16,20,.7); }
.ai-pulse { width: 7px; height: 7px; border-radius: 50%; background: var(--ink); box-shadow: 0 0 0 5px rgba(11,16,20,.08); }
.blog-generator-card h3 { font-size: clamp(34px, 4vw, 57px); margin-top: 47px; }
.blog-generator-card h3 em { color: #5b6d00; font-style: normal; }
.blog-generator-card > p { max-width: 420px; color: rgba(11,16,20,.69); font-size: 12px; line-height: 1.7; margin: 18px 0 27px; }
.blog-generator-form { position: relative; z-index: 1; }
.blog-generator-form label { display: block; color: rgba(11,16,20,.62); font: 9px var(--mono); letter-spacing: .08em; text-transform: uppercase; margin-bottom: 16px; }
.blog-generator-form input, .blog-generator-form select { display: block; width: 100%; background: transparent; border: 0; border-bottom: 1px solid rgba(11,16,20,.28); padding: 9px 0 10px; color: var(--ink); font: 12px var(--sans); outline: 0; }
.blog-generator-form input:focus, .blog-generator-form select:focus { border-color: var(--ink); }
.blog-generator-form input::placeholder { color: rgba(11,16,20,.45); }
.blog-generator-form .form-row { gap: 19px; }
.blog-generator-form .button { margin-top: 4px; }
.blog-generator-status { min-height: 31px; color: rgba(11,16,20,.65); font: 10px/1.5 var(--mono); margin: 15px 0 0; }
.blog-generator-status[data-state="error"] { color: #8b2b22; }
.blog-generator-status[data-state="success"] { color: #4b6200; }
.blog-output { margin-top: 16px; background: var(--white); border: 1px solid rgba(11,16,20,.12); padding: 31px; }
.blog-output[hidden] { display: none; }
.blog-output h3 { font-size: clamp(28px, 3vw, 44px); max-width: 770px; }
.blog-output .eyebrow { margin-bottom: 14px; }
.copy-button { border: 1px solid var(--line); background: transparent; color: var(--ink); padding: 10px 12px; font: 9px var(--mono); white-space: nowrap; }
.copy-button:hover { border-color: var(--ink); background: var(--yellow); }
.generated-excerpt { color: var(--muted); font-size: 13px; line-height: 1.7; max-width: 760px; margin: 19px 0 25px; }
.generated-body { max-width: 820px; border-top: 1px solid var(--line); padding-top: 20px; color: #2d3437; font-size: 13px; line-height: 1.8; }
.generated-body h3, .generated-body h4 { color: var(--ink); letter-spacing: -.04em; margin: 24px 0 8px; }
.generated-body h3 { font-size: 20px; }.generated-body h4 { font-size: 16px; }.generated-body p { margin: 0 0 15px; }.generated-body ul { padding-left: 20px; margin: 0 0 15px; }
.generated-tags { display: flex; gap: 7px; flex-wrap: wrap; margin: 25px 0 18px; }.generated-tags span { background: var(--paper-2); padding: 7px 9px; color: var(--muted); font: 9px var(--mono); }
.blog-output-footer { border-top: 1px solid var(--line); padding-top: 15px; color: var(--muted); font: 9px var(--mono); }.blog-output-footer .text-link { border: 0; background: transparent; padding: 0; color: var(--ink); }
.blog-disclaimer { color: var(--muted); font: 9px/1.6 var(--mono); max-width: 760px; margin: 21px 0 0; }

@media (max-width: 900px) {
  .blog-layout { grid-template-columns: 1fr; }
  .blog-feature-card, .blog-generator-card { min-height: auto; }
  .blog-feature-content { margin-top: 90px; }
}
@media (max-width: 520px) {
  .blog-feature-card, .blog-generator-card, .blog-output { padding: 22px; }
  .blog-feature-content { margin-top: 72px; }
  .blog-output-head, .blog-output-footer { align-items: flex-start; flex-direction: column; }
  .blog-generator-card h3 { margin-top: 35px; }
}
.cylinder-compact { height: 83px; width: 58px; }
.partner-contact { margin-top: 31px; max-width: 410px; padding-top: 20px; border-top: 1px solid rgba(11,16,20,.25); }
.partner-contact-label { margin: 0 0 8px; color: rgba(11,16,20,.52); font: 9px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.partner-contact h3 { margin: 0 0 5px; font-size: 21px; letter-spacing: -.06em; }
.partner-contact > p:not(.partner-contact-label) { margin: 0 0 9px; color: rgba(11,16,20,.65); font-size: 11px; }
.partner-contact > a { display: block; color: rgba(11,16,20,.7); font-size: 11px; line-height: 1.6; text-decoration: underline; text-underline-offset: 3px; }
.partner-contact > a span { color: #5f7700; margin-left: 5px; }
.partner-contact-links { display: grid; grid-template-columns: 1fr 1fr; gap: 7px 15px; margin-top: 15px; }
.partner-contact-links a { color: var(--ink); font-size: 10px; font-weight: 700; }
.partner-contact-links a span { display: block; color: rgba(11,16,20,.48); font: 8px var(--mono); letter-spacing: .08em; margin-bottom: 4px; text-transform: uppercase; }
.partner-contact-links a:hover { color: #5f7700; }
@media (max-width: 520px) { .partner-contact-links { grid-template-columns: 1fr; } }
