/* Actual sample photography and a quiet, shared product language. */
body.magnetic-lightbox-page .magnetic-hero.fh-hero { padding-block-end:64px; }
body.magnetic-lightbox-page .magnetic-hero .fh-hero-copy { max-width:920px; }
body.magnetic-lightbox-page .magnetic-hero h1 { font-size:clamp(44px,6.5vw,86px); letter-spacing:-.045em; }
body.magnetic-lightbox-page .magnetic-hero .fh-hero-visual { max-width:1120px; margin-block-start:44px; }
body.magnetic-lightbox-page .magnetic-hero .fh-hero-visual img { width:100%; height:auto; max-height:580px; object-fit:contain!important; }
.magnetic-section-nav { display:flex; justify-content:center; flex-wrap:wrap; gap:14px 32px; padding:23px var(--fh-gutter); border-block-end:1px solid var(--fh-line); background:#fff; }
.magnetic-section-nav a { font-size:14px; font-weight:600; color:var(--fh-muted); text-decoration:none; }
.magnetic-section-nav a:hover { color:var(--fh-accent); }
.magnetic-section { scroll-margin-top:6rem; padding-block:clamp(64px,7vw,104px); }
.magnetic-section h2,.magnetic-video h2 { font-size:clamp(32px,4vw,54px); line-height:1.08; letter-spacing:-.035em; }
.magnetic-section .eyebrow,.magnetic-video .eyebrow { color:var(--fh-accent); }
.magnetic-access { background:var(--fh-surface); }
.magnetic-access-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(36px,7vw,100px); align-items:center; max-width:1120px; margin-inline:auto; }
.magnetic-illuminated { margin:0; text-align:center; }
.magnetic-illuminated img { display:block; width:100%; height:auto; max-height:580px; object-fit:contain; }
.magnetic-illuminated figcaption { margin-block-start:14px; font-size:13px; color:var(--fh-muted); }
.magnetic-access-copy { max-width:480px; }
.magnetic-access-copy h2 { margin-block:14px 24px; }
.magnetic-access-copy>p:not(.eyebrow) { margin-block:0 18px; color:var(--fh-muted); font-size:17px; }
.magnetic-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; max-width:1120px; margin:72px auto 0; padding:0; list-style:none; }
.magnetic-steps li { border-block-start:1px solid var(--fh-line); padding-block-start:24px; }
.magnetic-step-number { color:var(--fh-muted); font-size:14px; font-weight:600; }
.magnetic-steps h3 { margin:16px 0 10px; font-size:22px; line-height:1.25; letter-spacing:-.02em; }
.magnetic-steps p { margin:0; color:var(--fh-muted); font-size:15px; }
.magnetic-sample { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:clamp(32px,6vw,80px); align-items:start; }
.magnetic-sample-intro h2 { margin-block:14px 24px; }
.magnetic-sample-intro>p:last-child { max-width:430px; color:var(--fh-muted); }
.magnetic-sample-data { min-width:0; }
.magnetic-sample-data table { min-width:0; width:100%; }
.magnetic-sample-data caption { padding:0 0 16px; color:var(--fh-ink); font-size:16px; font-weight:600; text-align:start; }
.magnetic-sample-data :is(th,td) { width:50%; padding-block:20px; vertical-align:top; }
.magnetic-sample-data th { font-weight:500; }
.magnetic-sample-data bdi { font-size:clamp(17px,1.6vw,23px); font-weight:600; white-space:nowrap; }
.magnetic-note { margin-block:18px 0; color:var(--fh-muted); font-size:14px; }
.magnetic-details { border-block-start:1px solid var(--fh-line); }
.magnetic-details .section-heading { max-width:1120px; margin-inline:auto; margin-block-end:36px; }
.magnetic-details .section-heading h2 { margin-block:14px 18px; }
.magnetic-details .section-heading>p:last-child { color:var(--fh-muted); }
.magnetic-detail-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:24px; max-width:1120px; margin-inline:auto; }
.magnetic-detail-grid figure { margin:0; min-width:0; }
.magnetic-detail-image { display:flex; align-items:center; justify-content:center; height:320px; padding:12px; background:var(--fh-surface); }
.magnetic-detail-image img { display:block; width:100%; height:100%; object-fit:contain; }
.magnetic-detail-grid figcaption { display:flex; flex-direction:column; gap:8px; padding-block-start:20px; }
.magnetic-detail-grid figcaption strong { font-size:18px; font-weight:600; }
.magnetic-detail-grid figcaption span { font-size:14px; color:var(--fh-muted); }
body.magnetic-lightbox-page .magnetic-video { padding-block:clamp(64px,7vw,104px); }
body.magnetic-lightbox-page .magnetic-video .product-video-layout { max-width:1040px; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(36px,7vw,100px); }
body.magnetic-lightbox-page .magnetic-video .product-video-player { width:100%; max-width:340px; margin-inline:auto; }
body.magnetic-lightbox-page .magnetic-video video { width:100%; height:auto; aspect-ratio:9/16; object-fit:contain; border-radius:0; }
body.magnetic-lightbox-page .magnetic-video .product-video-copy h2 { font-size:clamp(30px,3.6vw,46px); }
.magnetic-quote { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:clamp(36px,8vw,120px); background:var(--fh-dark); color:#fff; }
.magnetic-quote .eyebrow { color:#b9c4d3; }
.magnetic-quote h2 { margin-block:14px 24px; color:#fff; }
.magnetic-quote p:not(.eyebrow) { max-width:640px; margin-block:0 28px; color:#c8d0dc; }
body.magnetic-lightbox-page .magnetic-quote .button { background:#fff; border-color:#fff; color:var(--fh-ink); }
.magnetic-quote aside { align-self:end; padding-block-start:24px; border-block-start:1px solid #47515f; }
.magnetic-quote aside h3 { font-size:18px; margin:0 0 20px; color:#fff; }
.magnetic-quote aside a { display:block; margin-block:14px; color:#dce6fb; text-decoration:none; }
.magnetic-quote aside a:hover { text-decoration:underline; }
@media(max-width:800px) {
  body.magnetic-lightbox-page .magnetic-hero.fh-hero { padding-block-end:40px; }
  .magnetic-section-nav { justify-content:flex-start; gap:12px 24px; }
  .magnetic-access-layout,.magnetic-sample,.magnetic-quote,body.magnetic-lightbox-page .magnetic-video .product-video-layout { grid-template-columns:minmax(0,1fr); }
  .magnetic-access-copy { max-width:none; }
  .magnetic-illuminated img { max-height:460px; }
  .magnetic-steps { margin-block-start:48px; gap:24px; }
  .magnetic-steps h3 { font-size:19px; }
  .magnetic-detail-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .magnetic-detail-grid figure:first-child { grid-column:1/-1; }
  .magnetic-detail-image { height:300px; }
  body.magnetic-lightbox-page .magnetic-video .product-video-player { max-width:300px; }
}
@media(max-width:520px) {
  .magnetic-steps,.magnetic-detail-grid { grid-template-columns:minmax(0,1fr); }
  .magnetic-steps { gap:28px; }
  .magnetic-steps h3 { margin-block-start:10px; }
  .magnetic-sample-data :is(th,td) { padding:16px 8px; }
  .magnetic-sample-data bdi { white-space:normal; }
  .magnetic-detail-image { height:340px; }
}
@media print {
  .magnetic-section-nav,.magnetic-video,.magnetic-quote { display:none; }
  .magnetic-section { padding-block:24px; }
  .magnetic-steps,.magnetic-detail-grid { break-inside:avoid; }
}
