.button.outline-light {
  color: #fff;
  border-color: #65809a;
}

.contact-actions {
  display: flex;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 1.4rem;
}

.footer-contact {
  display: flex;
  gap: .6rem;
  flex-wrap: wrap;
}

.footer-contact a {
  color: var(--navy);
  font-weight: 750;
  text-decoration: none;
}

.footer-contact a:hover {
  text-decoration: underline;
}

.footer-skyline {
  grid-column: 1 / -1;
  width: 100%;
  overflow: hidden;
  margin-top: .5rem;
  line-height: 0;
  background: #061e35;
}

.footer-skyline img {
  display: block;
  width: 100%;
  height: auto;
}

.product-gallery {
  display: grid;
  grid-template-rows: 1fr 1fr;
  min-height: 630px;
}

.product-gallery .product-image {
  min-height: 0;
}

@media (max-width: 520px) {
  .brand img { width: 205px; }
  .contact-actions { align-items: stretch; }
  .contact-actions .button { width: 100%; }
  .matrix-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .matrix-card { padding: 1.15rem .95rem; }
  .matrix-card h3 { font-size: 1.55rem; margin: .55rem 0 .2rem; }
  .matrix-card p { margin: 0; }
  .matrix-card span { display: block; font-size: .72rem; line-height: 1.35; }
  .footer-skyline { margin-top: 0; }
  .footer-skyline img { height: auto; }
  .product-gallery { min-height: auto; }
  .product-gallery .product-image { min-height: 280px; }
}

.guardian-holdings{position:relative}
.guardian-guaranteed-header-link{color:#0e5e9c!important;font-size:.74rem!important;font-weight:800!important;white-space:nowrap}
.guardian-holdings>summary{cursor:pointer;list-style:none;font-weight:700;white-space:nowrap}
.guardian-holdings>summary::-webkit-details-marker{display:none}
.guardian-holdings>summary::after{content:" +";color:#3178c6}
.guardian-holdings[open]>summary::after{content:" −"}
.guardian-holdings-menu{position:absolute;z-index:30;top:calc(100% + 14px);right:0;min-width:260px;padding:10px;background:#fff;border:1px solid #d8e0e8;box-shadow:0 18px 42px rgba(4,24,43,.18)}
.guardian-holdings-menu a{display:block;padding:10px 12px;color:#07182b;text-decoration:none;font-size:.88rem;line-height:1.2}
.guardian-holdings-menu a:hover,.guardian-holdings-menu a:focus-visible{background:#edf4fb;color:#0e5e9c}
@media(max-width:900px){.guardian-holdings{position:static}.guardian-holdings-menu{position:static;min-width:220px;margin-top:8px;box-shadow:none}.guardian-holdings-menu a{white-space:normal}}

/* Keep grid children and product artwork within narrow viewports. */
.site-header > *, .hero > *, .product > *, .product-gallery > *, footer > * { min-width: 0; }
img { max-width: 100%; }
.product { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); }
.product-gallery { grid-template-rows: auto auto; align-content: center; gap: 1px; background: var(--navy); }
.product-gallery .product-image { min-height: 0; }
.product-image img { height: auto; object-fit: contain; }
.product-image span { max-width: calc(100% - 2rem); left: 1rem; bottom: 1rem; padding: .35rem .55rem; background: rgba(6,24,42,.8); }
.product-copy, .contact-actions a { overflow-wrap: anywhere; }
.language button { min-height: 44px; min-width: 44px; }
@media (max-width: 900px) {
  .product { grid-template-columns: minmax(0, 1fr); }
  .site-header nav { overflow: visible; flex-wrap: wrap; gap: 1rem; }
  .guardian-holdings-menu { min-width: 0; max-width: 100%; }
  .product-image, .product-gallery { min-height: 0; }
  .hero-visual { min-height: 0; }
  .hero-visual img { display: block; height: auto; }
}
@media (max-width: 520px) {
  .manifesto, .products, .matrix { padding-top: 3rem; padding-bottom: 3rem; }
  .section-head { margin-bottom: 2rem; }
  .product-gallery .product-image, .product-image { min-height: 0; }
  .hero h1 { font-size: clamp(2.5rem, 12vw, 3.5rem); }
  .product-copy h3 { font-size: clamp(2rem, 10vw, 2.6rem); }
  .brand img { width: min(205px, 100%); }
}

/* Product discovery and readable application information. */
.detail-link { display: inline-block; color: #155cad; font-weight: 750; margin: 1rem 0; text-underline-offset: .2em; }
.application-section, .product-detail { max-width: var(--max); margin: auto; padding: 4rem 24px; }
.application-section h2, .product-detail h1 { font-size: clamp(2.1rem, 4.5vw, 4.4rem); line-height: 1.05; letter-spacing: -.04em; max-width: 950px; }
.application-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; margin-top: 2rem; }
.application-grid article { padding: 2rem; background: var(--soft); min-width: 0; }
.application-grid h2, .application-grid h3 { font-size: 1.3rem; line-height: 1.2; letter-spacing: -.02em; margin-top: 0; }
.application-grid p { color: #43505c; }
.release-note { border-left: 4px solid var(--blue); padding: 1rem 1.5rem; margin-top: 2rem; background: #f3f6f8; }
.release-note h3 { margin-top: 0; }
.product-detail .back-link { display: inline-block; color: #155cad; margin-bottom: 2rem; }
.product-detail h1 { margin: .8rem 0 1.4rem; }
.product-detail .intro { font-size: 1.15rem; max-width: 850px; }
.status-pill { display: inline-block; padding: .6rem 1rem; background: #e8f0fa; color: #163d65; font-weight: 700; font-size: .82rem; }
.detail-hero-image { display: block; width: 100%; height: auto; max-height: 680px; object-fit: contain; margin: 2rem 0; background: var(--soft); }
.detail-cards { grid-template-columns: repeat(3,minmax(0,1fr)); }
.manufacturer-context, .product-faq { margin-top: 4rem; }
.manufacturer-context h2, .product-faq h2, .detail-contact h2 { font-size: clamp(1.8rem,3vw,2.6rem); line-height: 1.15; letter-spacing: -.03em; }
.reference-list { padding-left: 1.3rem; }
.reference-list a { display: inline-block; padding: .4rem 0; color: #155cad; text-underline-offset: .2em; }
.reference-note { font-size: .85rem; color: var(--muted); }
.product-faq details { border-top: 1px solid var(--line); padding: 1.2rem 0; }
.product-faq summary { cursor: pointer; font-weight: 700; }
.product-faq details p { max-width: 850px; }
.detail-contact { margin-top: 3rem; padding: 2rem; background: var(--navy); color: #fff; }
.detail-contact .contact-actions { justify-content: flex-start; }
.detail-contact a { overflow-wrap: anywhere; }
.site-header nav { flex-wrap: wrap; gap: 1.2rem; }
@media(max-width:1100px) { .site-header { height: auto; grid-template-columns: minmax(0,1fr) auto; gap: 1rem; } .site-header nav { grid-row: 2; grid-column: 1/-1; justify-content: flex-start; } }
@media(max-width:700px) { .application-grid, .detail-cards { grid-template-columns: minmax(0,1fr); gap: 1rem; } .application-section, .product-detail { padding: 3rem 18px; } .application-grid article { padding: 1.5rem; } .detail-contact { padding: 1.5rem; } .detail-contact .button { width: 100%; padding: .7rem; } }

.product-quick-contact { margin: 1rem 0 2rem; }
.product-quick-contact a { display: inline-flex; align-items: center; min-height: 48px; padding: .75rem 1.2rem; background: var(--navy); color: #fff; font-weight: 750; text-decoration: none; }
.product-quick-contact a:hover { background: #17476f; }
.product-quick-contact a:focus-visible { outline: 3px solid #1769da; outline-offset: 4px; }
#application-contact { scroll-margin-top: 1rem; }

/* Keep intrinsic dimensions as aspect-ratio hints, not fixed rendered heights. */
img { height: auto; }

.related-products { margin-top: 3rem; padding: 1.5rem; background: var(--soft); border: 1px solid var(--line); }
.related-products .eyebrow { margin-bottom: .5rem; }
.related-products a { display: inline-flex; gap: .75rem; align-items: center; min-height: 48px; color: #155cad; font-size: 1.25rem; font-weight: 750; text-underline-offset: .2em; }
.related-products a:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.related-products > p:last-child { margin: .4rem 0 0; color: #43505c; }

/* Small text contrast correction on existing light and dark surfaces. */
.eyebrow { color: #3e678f; }
.principles b, footer small { color: var(--muted); }
.product-red .product-index { color: #bf2030; }
.matrix-card p { color: #586b7d; }
.matrix-card.feature p { color: #aec5d8; }
/* Guardian intellectual-property notice: intentionally restrained and readable. */
.guardian-ip-notice{background:#020f1c;color:#b8c4d0;padding:1rem clamp(1.25rem,5vw,4rem);text-align:center}
.guardian-ip-notice p{font-size:.72rem;letter-spacing:.025em;line-height:1.65;margin:0 auto;max-width:72rem}
