/* Shared product detail layouts for the four V2 subscription services. */
.product-breadcrumb { padding-top:28px; }
.product-breadcrumb nav { display:flex; flex-wrap:wrap; gap:10px; color:var(--muted); font-size:11px; line-height:1.6; }
.product-breadcrumb a { color:var(--blue-dark); }
.product-hero { display:grid; grid-template-columns:1fr 1.12fr; gap:70px; align-items:center; padding-block:42px 65px; }
.product-artwork { position:relative; overflow:hidden; background:var(--ink); border-radius:25px; padding:27px; color:var(--white); min-height:490px; display:flex; flex-direction:column; justify-content:space-between; }
.product-artwork:before,.product-artwork:after { content:''; position:absolute; width:460px; height:460px; border:1px solid #ffffff16; border-radius:50%; left:-240px; top:-150px; pointer-events:none; }
.product-artwork:after { left:auto; right:-270px; top:auto; bottom:-190px; width:600px; height:600px; border-width:50px; border-color:#007cfb0e; }
.artwork-meta { display:flex; justify-content:space-between; gap:15px; font-size:9px; letter-spacing:.08em; z-index:1; }
.artwork-meta > span:last-child { white-space:nowrap; color:var(--line); }
.product-logo-frame { position:relative; align-self:center; width:255px; max-width:100%; aspect-ratio:1; margin:35px 0; padding:10px; background:var(--white); border-radius:25px; box-shadow:0 20px 70px #00000030; z-index:1; }
.product-logo-frame img { width:100%; height:100%; object-fit:contain; border-radius:17px; }
.artwork-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; position:relative; z-index:1; font-size:17px; letter-spacing:-.025em; }
.artwork-arrow { font-size:34px; color:var(--white); }
.product-summary > .eyebrow { color:var(--blue-dark); font-size:10px; }
.product-summary h1 { font-size:clamp(45px,4.6vw,65px); line-height:1.04; margin:18px 0; }
.product-summary h1 > span { color:var(--blue); }
.product-lead { color:var(--muted); font-size:15px; max-width:600px; }
.product-highlights { list-style:none; padding:0; margin:23px 0; display:grid; gap:10px; font-size:12px; line-height:1.6; }
.product-highlights li { padding-left:23px; position:relative; }
.product-highlights li:before { content:'✓'; position:absolute; left:0; color:var(--blue-dark); }
.order-box { padding:23px; border:1px solid var(--line); border-radius:14px; background:var(--white); }
.order-box .eyebrow { font-size:9px; }
.order-box h2 { font-size:23px; letter-spacing:-.04em; margin:9px 0; }
.order-box p { font-size:12px; color:var(--muted); }
.order-box .button { width:100%; padding-block:13px; margin-top:18px; }
.order-destination { display:block; font-size:10px; color:var(--muted); text-align:center; margin-top:10px; }
.product-help { display:inline-block; color:var(--blue-dark); font-size:12px; font-weight:600; margin-top:18px; line-height:1.6; }
.product-stat-band { background:var(--white); border-block:1px solid var(--line); }
.product-stats { display:grid; grid-template-columns:repeat(3,1fr); padding-block:30px; }
.product-stats > div { display:flex; flex-direction:column-reverse; padding-left:40px; border-left:1px solid var(--line); }
.product-stats > div:first-child { padding-left:0; border:0; }
.product-stats dd { margin:0 0 5px; font-size:27px; font-weight:600; letter-spacing:-.05em; }
.product-stats dt { font-size:11px; color:var(--muted); }
.product-section-nav { display:flex; gap:35px; padding-block:24px; border-bottom:1px solid var(--line); font-size:12px; font-weight:600; }
.product-section-nav a:hover { color:var(--blue-dark); }
.product-content .section-heading h2 { max-width:600px; font-size:45px; }
.product-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.product-feature-grid article { padding:30px; background:var(--white); border:1px solid var(--line); border-radius:18px; }
.feature-index { display:inline-block; font-size:12px; color:var(--blue-dark); margin-bottom:28px; }
.product-feature-grid h3 { font-size:23px; margin-bottom:15px; line-height:1.15; }
.product-feature-grid p { font-size:13px; color:var(--muted); }
.device-section { background:var(--white); border-block:1px solid var(--line); }
.product-device-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.product-device-grid article { border-top:2px solid var(--blue); padding-top:24px; }
.product-device-grid h3 { font-size:21px; margin-bottom:22px; }
.product-device-grid ul { list-style:none; margin:0; padding:0; display:grid; gap:12px; font-size:13px; color:var(--muted); }
.product-device-grid li:before { content:'↗'; color:var(--blue-dark); margin-right:11px; }
.device-support { border-top:1px solid var(--line); margin-top:40px; padding-top:25px; display:flex; justify-content:space-between; gap:20px; align-items:center; }
.device-support p { font-size:13px; color:var(--muted); }
.product-spotlight { display:flex; align-items:center; gap:35px; padding:36px; background:var(--ink); color:var(--white); border-radius:20px; margin-block:70px 0; }
.spotlight-mark { font-size:45px; border:1px solid #ffffff40; width:75px; height:75px; flex-shrink:0; border-radius:50%; display:grid; place-items:center; }
.product-spotlight > div { flex:1; }
.product-spotlight h2 { font-size:30px; margin:11px 0 14px; letter-spacing:-.04em; }
.product-spotlight p:not(.eyebrow) { font-size:13px; color:var(--line); max-width:700px; }
.product-spotlight .button { flex-shrink:0; }
.product-related { padding-bottom:70px; }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.related-service { background:var(--white); border:1px solid var(--line); border-radius:14px; padding:22px; display:flex; align-items:center; gap:16px; transition:border-color .2s; }
.related-service:hover { border-color:var(--blue); }
.related-service img { width:64px; height:64px; object-fit:contain; flex-shrink:0; border-radius:10px; }
.related-service > div { flex:1; }
.related-service > div > span { font-size:8px; color:var(--muted); letter-spacing:.05em; }
.related-service h3 { font-size:20px; margin-top:8px; letter-spacing:-.04em; }
.related-service > span { color:var(--blue-dark); }
@media(max-width:1100px) {
  .product-hero { gap:35px; }
  .product-artwork { padding:24px; min-height:450px; }
  .artwork-meta { flex-direction:column; gap:8px; }
  .product-logo-frame { width:220px; }
  .product-feature-grid article { padding:23px; }
  .related-service { flex-wrap:wrap; }
  .related-service > div { min-width:110px; }
  .product-spotlight { gap:25px; }
  .spotlight-mark { display:none; }
}
@media(max-width:760px) {
  .product-hero { grid-template-columns:1fr; padding-block:25px 45px; gap:30px; }
  .product-artwork { min-height:320px; padding:20px; }
  .artwork-meta { flex-direction:row; font-size:8px; }
  .product-logo-frame { width:180px; margin:25px 0; border-radius:18px; }
  .product-logo-frame img { border-radius:10px; }
  .artwork-footer { font-size:14px; }
  .product-summary h1 { font-size:48px; }
  .product-stats { grid-template-columns:1fr; padding-block:22px; gap:20px; }
  .product-stats > div { border-left:0; border-top:1px solid var(--line); padding:16px 0 0; }
  .product-stats > div:first-child { padding:0; }
  .product-stats dd { font-size:25px; }
  .product-section-nav { gap:15px 25px; flex-wrap:wrap; font-size:11px; }
  .product-feature-grid,.product-device-grid,.related-grid { grid-template-columns:1fr; }
  .product-content .section-heading h2 { font-size:35px; }
  .product-device-grid { gap:30px; }
  .device-support { display:block; }
  .device-support .text-link { margin-top:15px; }
  .product-spotlight { display:block; padding:27px; margin-top:45px; }
  .product-spotlight h2 { font-size:29px; }
  .product-spotlight .button { margin-top:23px; }
  .product-related { padding-bottom:50px; }
  .product-related .section-heading > a { margin-top:20px; }
  .related-service { flex-wrap:nowrap; }
}
.device-product-image { background:var(--white); border:1px solid var(--line); border-radius:24px; padding:35px; }
.device-product-image img { width:100%; height:420px; object-fit:contain; }
.device-product-details { border-top:1px solid var(--line); }
.device-product-details > h2 { margin:20px 0 35px; }
.device-description { max-width:850px; }
.device-description h3 { font-size:24px; margin:30px 0 14px; }
.device-description p,.device-description li { font-size:14px; line-height:1.8; color:var(--muted); }
.device-description p { margin-bottom:15px; }
.device-description hr { border:0; border-top:1px solid var(--line); margin:25px 0; }
@media(max-width:760px) { .device-product-image img { height:260px; } }
