/* Indexable product pages, using the accepted Contour design. */
.seo-page { font-size:18px; }
.seo-page .header-inner { min-height:88px; }
.seo-home-link { color:var(--purple); min-height:44px; display:inline-flex; align-items:center; font-size:17px; font-weight:700; }
.seo-home-link:hover { text-decoration:underline; text-underline-offset:5px; }
.seo-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:10px; color:var(--muted); font-size:17px; padding-block:26px 8px; }
.seo-breadcrumb a:hover { color:var(--purple); text-decoration:underline; text-underline-offset:4px; }
.seo-hero { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); align-items:center; gap:70px; padding-block:35px 56px; }
.seo-copy { min-width:0; }
.seo-copy .overline { font-size:14px; }
.seo-copy h1 { margin-top:20px; color:var(--purple); font-size:clamp(36px,4.2vw,62px); line-height:1.12; letter-spacing:-.035em; font-weight:800; overflow-wrap:break-word; }
.seo-intro { margin-top:25px; max-width:680px; color:var(--muted); font-size:20px; line-height:1.65; }
.seo-copy .button { margin-top:28px; text-align:center; }
.seo-visual { margin:0; display:flex; flex-direction:column; align-items:center; gap:64px; padding:28px 22px; background:white; border:1px solid var(--line); border-radius:26px; min-width:0; }
.seo-page .product-phone { width:min(100%,264px); }
.seo-page .product-phone img { width:100%; height:auto; }
.seo-visual figcaption { color:var(--muted); font-size:17px; line-height:1.6; text-align:center; max-width:300px; }
.seo-details { padding-block:38px 62px; border-top:1px solid var(--line); }
.seo-details > h2,.seo-related > h2 { font-size:clamp(28px,3.2vw,42px); line-height:1.2; letter-spacing:-.025em; }
.seo-details-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:30px; }
.seo-detail { min-width:0; padding:27px; background:white; border:1px solid var(--line); border-radius:22px; }
.seo-detail-icon { display:inline-flex; color:var(--cyan); }
.seo-detail-icon svg { width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.seo-detail h3 { color:var(--purple); font-size:24px; line-height:1.3; margin-block:16px 12px; }
.seo-detail p { color:var(--muted); font-size:18px; line-height:1.65; }
.seo-related { padding-bottom:56px; }
.seo-related-links { display:flex; flex-wrap:wrap; gap:14px 24px; margin-top:22px; }
.seo-related-links a { display:inline-flex; align-items:center; min-height:44px; color:var(--purple); font-size:18px; font-weight:700; text-decoration:underline; text-decoration-color:#d4c5e8; text-underline-offset:5px; }
.seo-related-links a:hover { text-decoration-color:var(--cyan); }
.seo-cta { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:32px 36px; border:1px solid var(--line); border-radius:24px; background:white; margin-bottom:58px; }
.seo-cta-copy { min-width:0; }
.seo-cta h2 { font-size:clamp(27px,3vw,36px); }
.seo-cta p { color:var(--muted); font-size:18px; margin-top:12px; max-width:680px; }
.seo-cta .button { flex:none; max-width:100%; text-align:center; }
.seo-page .footer-inner { min-height:100px; }
.seo-page .footer-inner p { font-size:17px; }
.seo-page .footer-inner > a:last-child { font-size:17px; }
@media(max-width:1000px) {
  .seo-hero { gap:36px; grid-template-columns:minmax(0,1fr) minmax(0,.65fr); }
  .seo-detail { padding:22px; }
  .seo-detail h3 { font-size:22px; }
  .seo-cta { flex-direction:column; align-items:flex-start; }
}
@media(max-width:850px) {
  .seo-hero { gap:28px; }
  .seo-details-grid { grid-template-columns:1fr; gap:18px; }
  .seo-detail { display:grid; grid-template-columns:30px minmax(0,1fr); gap:0 18px; }
  .seo-detail-icon { grid-row:1/3; margin-top:3px; }
  .seo-detail h3 { margin-block:0 10px; }
  .seo-detail p { grid-column:2; }
}
@media(max-width:650px) {
  .seo-page .header-inner { min-height:78px; gap:16px; }
  .seo-home-link { font-size:17px; }
  .seo-breadcrumb { font-size:17px; padding-top:20px; }
  .seo-hero { grid-template-columns:1fr; padding-block:25px 38px; gap:34px; }
  .seo-copy h1 { font-size:clamp(34px,8.5vw,48px); }
  .seo-intro { font-size:18px; margin-top:20px; }
  .seo-copy .button { margin-top:24px; font-size:17px; }
  .seo-visual { padding:24px 16px; }
  .seo-page .product-phone { width:min(100%,260px); }
  .seo-details { padding-block:30px 42px; }
  .seo-details-grid { margin-top:24px; }
  .seo-detail { padding:22px 18px; gap:0 14px; }
  .seo-detail p { font-size:17px; }
  .seo-related { padding-bottom:38px; }
  .seo-related-links a { font-size:17px; }
  .seo-cta { padding:25px 22px; gap:22px; margin-bottom:38px; }
  .seo-cta p { font-size:17px; }
  .seo-cta .button { width:100%; font-size:17px; padding-inline:16px; }
  .seo-page .footer-inner { align-items:flex-start; gap:12px; }
  .seo-page .footer-inner p { font-size:17px; margin-left:0; }
}
