.panel { border: 2px solid var(--navy); margin: 1.2rem 0; }
.panel > h2 { color: #fff; background: var(--blue); padding: .45rem .7rem; margin: 0; font-size: 1.05rem; }
.panel-body { padding: .8rem; }
.panel-body > :last-child { margin-bottom: 0; }
.panel-body > :first-child { margin-top: 0; }
.panel-yellow { background: #fffbd2; }
.panel-yellow > h2 { background: var(--yellow); color: #14286c; border-bottom: 2px solid var(--navy); }
.panel-red > h2 { background: #c51320; }
.panel-cyan { background: #e6fbff; }
.panel-cyan > h2 { background: #00747c; }
.two-col > .panel { margin: 0; }
.retro-button, a.retro-button:visited { display: inline-block; background: #ddd; color: #10266a; border: 3px outset #eee; padding: .4rem .8rem; font: bold .85rem/1.4 Arial, sans-serif; text-decoration: none; text-align: center; }
.retro-button:hover { background: #fff5a3; color: #8c0000; }
.retro-button:active { border-style: inset; }
.button-blue, a.button-blue:visited { background: var(--blue); color: #fff; border-color: #7498f5; }
.button-blue:hover { background: #002b94; color: #fff; }
.button-red, a.button-red:visited { background: #d41721; color: #fff; border-color: #ff8080; }
.button-red:hover { background: #a90000; color: #fff; }
.button-row { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin: .8rem 0 .2rem; }
.product-ad { position: relative; border: 3px double #c41720; background: #fffbdc; margin: 1rem 0; }
.ad-heading { text-align: center; background: var(--yellow); color: #be111b; border-bottom: 2px solid #c41720; font: bold clamp(1.15rem, 2.5vw, 1.75rem)/1.2 Arial, sans-serif; padding: .55rem .3rem; }
.product-ad-body { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: center; gap: .7rem; padding: 1rem; }
.brick-figure { margin: 0; }
.brick-figure img { width: 100%; }
.brick-figure figcaption { font: .66rem/1.4 'Courier New', monospace; color: #6b4b39; text-align: center; margin: .15rem 0; }
.price-copy { text-align: center; }
.price-copy h2 { font: bold 1.4rem/1.15 'Times New Roman', serif; color: var(--navy); margin-bottom: .15rem; }
.price { font: bold clamp(3rem, 6vw, 5rem)/1 Arial, sans-serif; color: #ce0915; letter-spacing: -.07em; margin: .25rem 0; }
.price .currency { font-size: .27em; vertical-align: top; position: relative; top: .25em; letter-spacing: 0; }
.price-copy p { font-size: .8rem; margin: .5rem 0; }
.ad-bottom { text-align: center; border-top: 1px dashed #d19b45; padding: .4rem .6rem; font-size: .76rem; background: #fff2b3; }
.star { color: #e0151c; }
.new-label { display: inline-block; padding: .1rem .35rem; background: var(--yellow); color: #9b0000; font: bold italic .7rem/1.3 Arial, sans-serif; border: 1px solid #9b0000; vertical-align: middle; }
.blink { animation: label-blink 1.4s step-end 3; }
@keyframes label-blink { 50% { color: #003bbf; background: #fff; } }
.ai-banner { border: 3px ridge #9bafff; padding: 1rem; background: #071b74; color: #fff; margin: 1.2rem 0; }
.ai-banner h2 { font: bold 1.6rem/1.2 'Times New Roman', serif; color: #fff366; }
.ai-banner p { font-size: .9rem; }
.ai-banner a:not(.retro-button) { color: #fff768; }
.ai-banner .eyebrow { color: #8cffff; }
.activation { display: block; padding: .7rem; border: 2px inset #a0afd7; background: #fff; color: #072371; font: bold clamp(.9rem, 2vw, 1.2rem)/1.5 'Courier New', monospace; text-align: center; overflow-wrap: anywhere; }
.feature-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .4rem; margin: .8rem 0; padding: 0; list-style: none; }
.feature-list li { margin: 0; text-align: center; border: 1px solid #7499e5; padding: .45rem .2rem; font: bold .78rem/1.4 'Courier New', monospace; background: #172d88; }
.feature-list span { display: block; color: #ffe936; font-size: 1.1rem; }
.news-list { list-style: none; padding: 0; margin: 0; }
.news-list li { border-bottom: 1px dotted #999; padding: .65rem 0; margin: 0; font-size: .85rem; }
.news-list li:first-child { padding-top: 0; }
.news-list time { font: bold .75rem/1.5 'Courier New', monospace; display: block; color: #9d1010; }
.news-list p { margin: .25rem 0 0; }
.company-facts { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .45rem .7rem; font-size: .85rem; margin: 0; }
.company-facts dt { font-weight: bold; }
.company-facts dd { margin: 0; }
.missing-asset { display: flex; align-items: center; gap: .65rem; padding: .65rem; border: 1px dashed #999; background: #f1f1f1; font: .75rem/1.5 Arial, sans-serif; color: #555; margin: 1rem 0; }
.missing-icon { border: 1px solid #888; padding: .25rem; font: 1.2rem/1 'Courier New', monospace; color: #777; flex-shrink: 0; }
.missing-asset code { overflow-wrap: anywhere; }
.archive-message { color: #414951; background: #eef0f2; border: 1px solid #afb8c2; border-left: 4px solid #7c8999; padding: .8rem; font: .82rem/1.5 Arial, sans-serif; margin: 1rem 0; }
.archive-message strong { display: block; }
.steps { list-style: none; padding: 0; counter-reset: step; }
.steps li { counter-increment: step; padding: .8rem 0 .8rem 3rem; position: relative; border-bottom: 1px dotted #aaa; }
.steps li::before { content: counter(step); position: absolute; left: 0; top: .9rem; display: grid; place-items: center; width: 2rem; height: 2rem; background: var(--blue); color: #fff; border: 2px outset #7a9fff; font: bold 1.2rem/1 'Times New Roman', serif; }
.steps h3 { margin-top: 0; }
.steps p { margin-bottom: 0; }
.faq-item { border: 1px solid #9babc4; border-bottom: 2px solid #61738e; margin: .65rem 0; background: #f1f5fa; }
.faq-group { margin-top: 1.5rem; }
.faq-group > h2 { color: var(--navy); font-family: 'Times New Roman', serif; font-size: 1.5rem; }
.faq-item summary { cursor: pointer; padding: .65rem .8rem; font-size: .9rem; font-weight: bold; color: #002479; }
.faq-item[open] summary { background: #e2ebff; border-bottom: 1px solid #9babc4; }
.faq-item > div { padding: .2rem .8rem; background: #fff; font-size: .9rem; }
.jump-links { display: flex; flex-wrap: wrap; gap: .5rem 1rem; padding: .7rem; border: 1px solid #9aabc4; background: #eef3ff; font-size: .8rem; }
.timeline { border-left: 4px double #1648b1; margin-left: .4rem; padding-left: 1.2rem; }
.timeline section { margin: 1.5rem 0; }
.timeline h2 { font-family: 'Times New Roman', serif; color: var(--navy); }
.timeline .year { display: inline-block; background: #fff028; border: 1px solid #bca100; font: bold .85rem/1.3 'Courier New', monospace; padding: .2rem .4rem; margin-bottom: .5rem; }
.news-post { border-bottom: 2px groove #ddd; padding: .8rem 0 1.3rem; scroll-margin-top: 1rem; }
.news-post time { font: bold .8rem/1.5 'Courier New', monospace; color: #b00000; }
.news-post h2 { color: var(--navy); font-family: 'Times New Roman', serif; font-size: 1.5rem; margin: .35rem 0; }
.shop-product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem; }
.shop-price { font: bold 2.5rem/1 Arial, sans-serif; color: #bf0716; margin: .7rem 0; }
.shop-product h2 { font-family: 'Times New Roman', serif; color: var(--navy); font-size: 1.55rem; }
.quantity-row { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; }
input[type='number'] { width: 6rem; padding: .35rem; background: #fff; border: 2px inset #ccc; color: #111; }
.field-note { font-size: .75rem; color: #555; }
.cart-line { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .7rem; padding: .8rem 0; border-bottom: 1px dotted #888; }
.cart-line p { margin: 0; }
.cart-total { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 0; font-weight: bold; color: var(--navy); }
.status { font-size: .85rem; color: #123c19; min-height: 1.5em; }
.status.error { color: #ae0015; }
.data-table { width: 100%; border-collapse: collapse; font-size: .87rem; }
.data-table th, .data-table td { text-align: left; padding: .6rem; border: 1px solid #8a9ab4; vertical-align: top; overflow-wrap: anywhere; }
.data-table th { background: var(--navy); color: #fff; }
.data-table tr:nth-child(even) { background: #f0f4fb; }
.contact-entry { padding: .5rem 0 1rem; border-bottom: 1px dotted #888; }
.contact-entry h2 { color: var(--navy); font-family: 'Times New Roman', serif; }
.contact-entry code { overflow-wrap: anywhere; }
.bottom-promo { border: 3px double #b20000; text-align: center; padding: .8rem; background: #fff326; margin-top: 1.3rem; }
.bottom-promo h2 { color: #b20000; font-family: 'Times New Roman', serif; font-size: 1.5rem; }
.bottom-promo p { margin-bottom: .6rem; font-size: .85rem; }
@media (max-width: 52rem) {
  .product-ad-body, .shop-product { grid-template-columns: 1fr; }
  .brick-figure { max-width: 28rem; margin-inline: auto; }
  .price { font-size: 4rem; }
}
@media (max-width: 25rem) {
  .feature-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .company-facts { grid-template-columns: 1fr; gap: .1rem; }
  .company-facts dd { margin-bottom: .5rem; }
  .data-table th, .data-table td { padding: .35rem; font-size: .8rem; }
}
