/* FS500 follows the O'Pro / Atlantic product-page spacing and white-gold palette. */
.imc-page { --imc-ink:#35413f; --imc-gold:#80633e; --imc-muted:#58636a; --imc-line:#d8d0c2; --imc-paper:#faf8f4; color:var(--imc-ink); background:white; }
.imc-page *, .imc-page *::before, .imc-page *::after { box-sizing:border-box; }
.imc-page :where(section,article,figure,div) { min-width:0; }
.imc-page :where(figure,p,h1,h2,h3,dl,dd) { margin:0; }
.imc-page img { display:block; max-width:100%; height:auto; }
.imc-page section[id] { scroll-margin-top:150px; }
.imc-page p, .imc-page dd, .imc-page li { font-size:1rem; line-height:1.95; }
.imc-page h2 { font-size:clamp(1.625rem,2.4vw,2.1875rem); line-height:1.5; letter-spacing:.015em; font-weight:550; }
.imc-page h3 { font-size:clamp(1.125rem,1.8vw,1.5rem); line-height:1.65; font-weight:550; }
.imc-page .imc-kicker { font-size:.875rem; letter-spacing:.07em; color:var(--imc-gold); line-height:1.8; }
.imc-page a:focus-visible { outline:2px solid var(--imc-gold); outline-offset:5px; }
.imc-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; padding-block:22px; font-size:.875rem; line-height:1.8; color:var(--imc-muted); }
.imc-cover { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:clamp(32px,5vw,72px); padding-block:24px 44px; }
.imc-brand { display:block; width:174px; max-width:70%; margin-bottom:18px; }
.imc-brand img { width:100%; height:54px; object-fit:contain; object-position:left center; }
.imc-page h1 { font-size:clamp(1.875rem,3vw,2.6875rem); line-height:1.45; letter-spacing:.015em; font-weight:550; margin-top:12px; }
.imc-page h1 span { display:block; font-family:Georgia,"Times New Roman",serif; font-size:.85em; letter-spacing:.02em; margin-bottom:6px; }
.imc-page .imc-french { font-family:Georgia,"Times New Roman",serif; font-style:italic; font-size:clamp(1.5rem,2.1vw,1.875rem); line-height:1.3; color:var(--imc-gold); margin-block:16px 18px; }
.imc-page .imc-lead { font-size:1.0625rem; line-height:1.85; margin-bottom:14px; }
.imc-cover-copy > p:not([class]) { color:var(--imc-muted); }
.imc-product { width:100%; max-width:424px; justify-self:center; background:var(--imc-paper); }
.imc-product img { width:100%; object-fit:contain; }
.imc-page figcaption { font-size:.8125rem; line-height:1.8; color:#677179; margin-top:12px; }
.imc-product figcaption { font-size:.8125rem; line-height:1.8; padding:12px 18px; margin-top:0; }
.imc-actions { display:flex; flex-wrap:wrap; gap:12px 24px; align-items:center; margin-top:20px; }
.imc-link, .imc-back { display:inline-flex; align-items:center; min-height:46px; padding-block:12px; border-bottom:1px solid #8b9293; font-size:.9375rem; line-height:1.7; }
.imc-link:hover, .imc-back:hover { color:var(--imc-gold); border-color:var(--imc-gold); }
.imc-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 22px; background:#35413f; color:white; font-size:1rem; line-height:1.7; }
.imc-button:hover { background:var(--imc-gold); }
.imc-stats dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding-block:24px; border-top:1px solid var(--imc-line); }
.imc-stats dl > div { padding:0 24px; border-right:1px solid var(--imc-line); }
.imc-stats dl > div:first-child { padding-left:0; }
.imc-stats dl > div:last-child { border:0; }
.imc-stats dt { font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.25rem,2vw,1.625rem); line-height:1.5; color:var(--imc-gold); }
.imc-stats dt span { font-size:.7em; margin-left:5px; }
.imc-stats dd { color:var(--imc-muted); font-size:.875rem; margin-top:5px; }
.imc-chapters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 24px; padding-block:18px; border-block:1px solid var(--imc-line); }
.imc-chapters a { display:flex; align-items:center; min-height:44px; font-size:.875rem; line-height:1.7; font-weight:600; color:#4f5758; }
.imc-chapters a:hover { color:var(--imc-gold); }
.imc-scene { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:44px; align-items:center; padding-block:56px; }
.imc-scene img, .imc-dishwashing img { width:100%; height:auto; }
.imc-copy h2, .imc-copy h3 { margin-block:14px 22px; }
.imc-copy > p + p { margin-top:16px; }
.imc-copy > p:not(.imc-kicker), .imc-material-grid article > p { color:var(--imc-muted); }
.imc-uses { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 18px; margin:22px 0 0; padding:18px 0 0; border-top:1px solid var(--imc-line); list-style:none; }
.imc-uses li { font-size:.9375rem; }
.imc-warmth { padding-block:0 56px; }
.imc-warmth-heading, .imc-warmth > div:last-child { width:min(100%,860px); margin-inline:auto; }
.imc-warmth-heading { border-top:1px solid var(--imc-line); padding-top:28px; }
.imc-warmth h2 { margin-block:14px 22px; }
.imc-warmth h2 br { display:none; }
.imc-warmth > div > p + p { margin-top:16px; }
.imc-warmth > div:last-child { color:var(--imc-muted); }
.imc-dishwashing { padding-block:56px; background:var(--imc-paper); }
.imc-dish-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:44px; align-items:center; }
.imc-page .imc-dish-closing { margin-top:22px; padding-left:18px; border-left:2px solid var(--imc-gold); font-size:1.0625rem; color:var(--imc-gold); }
.imc-materials { padding-block:56px; }
.imc-section-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:30px; }
.imc-section-heading h2 { margin-top:12px; }
.imc-section-heading > p { color:var(--imc-muted); }
.imc-material-grid { border-top:1px solid var(--imc-line); }
.imc-material-grid article { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:24px; padding-block:22px; border-bottom:1px solid var(--imc-line); }
.imc-material-heading h3 { margin-top:8px; font-size:1.125rem; }
.imc-material-heading h3 br { display:none; }
.imc-inside { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:44px; align-items:center; margin-top:36px; }
.imc-inside figure { text-align:center; }
.imc-cutaway { width:min(100%,180px); height:auto; margin-inline:auto; mask-image:url('/editorial/floor-electric/immensio-fs500-cutaway-mask.png'); mask-size:100% 100%; mask-mode:luminance; mask-repeat:no-repeat; }
.imc-detail-list { margin-top:24px !important; }
.imc-detail-list > div { border-top:1px solid var(--imc-line); padding-block:16px; }
.imc-detail-list dt { font-size:1rem; font-weight:550; line-height:1.7; margin-bottom:7px; }
.imc-detail-list dd { color:var(--imc-muted); }
.imc-page .imc-specs { width:100%; padding:56px max(40px,calc((100% - 1320px)/2)); background:var(--imc-paper); }
.imc-spec-grid { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:44px; align-items:center; }
.imc-spec-grid figure { text-align:center; }
.imc-spec-grid img { width:100%; max-width:420px; max-height:420px; margin-inline:auto; object-fit:contain; }
.imc-spec-table-wrap { width:100%; background:white; }
.imc-spec-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:.9375rem; line-height:1.85; }
.imc-spec-table th, .imc-spec-table td { padding:12px 20px; text-align:left; vertical-align:top; border-bottom:1px solid var(--imc-line); overflow-wrap:anywhere; }
.imc-spec-table th:first-child { width:32%; }
.imc-spec-table thead th { background:#303b42; color:white; font-weight:550; }
.imc-spec-table tbody th { font-weight:400; color:var(--imc-muted); }
.imc-spec-table tbody tr:last-child td { font-weight:550; color:var(--imc-gold); }
.imc-page .imc-spec-note { margin-top:14px; color:var(--imc-muted); font-size:.875rem; }
.imc-page .imc-spec-note + .imc-spec-note { margin-top:5px; }
.imc-planning { padding-block:44px; background:#f0eae0; }
.imc-planning-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:44px; margin-top:18px; }
.imc-planning h2 { margin-bottom:22px; }
.imc-planning p { color:#4e5958; }
.imc-planning ol { margin:0; padding-left:24px; }
.imc-planning li { padding:0 0 18px 12px; margin-bottom:18px; border-bottom:1px solid #c6bcae; }
.imc-planning li strong, .imc-planning li span { display:block; }
.imc-planning li span { color:var(--imc-muted); margin-top:6px; }
.imc-back { margin-top:24px; }
@media (max-width:1180px) {
  .imc-page .imc-specs { padding-inline:28px; }
}
@media (max-width:900px) {
  .imc-cover, .imc-scene, .imc-dish-grid, .imc-inside, .imc-spec-grid, .imc-planning-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
  .imc-cover { padding-top:12px; }
  .imc-cover-copy { width:100%; }
  .imc-product { max-width:424px; }
  .imc-scene figure, .imc-dish-grid figure { width:100%; max-width:620px; margin-inline:auto; }
  .imc-dish-grid figure { grid-row:1; }
  .imc-section-heading { align-items:start; flex-direction:column; gap:18px; }
  .imc-chapters { grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 20px; }
  .imc-material-grid article { grid-template-columns:minmax(0,1fr); gap:12px; }
  .imc-spec-grid figure { width:100%; max-width:380px; margin-inline:auto; }
}
@media (max-width:680px) {
  .imc-page section[id] { scroll-margin-top:115px; }
  .imc-breadcrumb { padding-block:18px; }
  .imc-cover { padding-bottom:32px; }
  .imc-brand { width:160px; }
  .imc-stats dl { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 0; }
  .imc-stats dl > div { padding:0 14px; }
  .imc-stats dl > div:nth-child(odd) { padding-left:0; }
  .imc-stats dl > div:nth-child(even) { border:0; }
  .imc-scene, .imc-dishwashing, .imc-materials, .imc-page .imc-specs { padding-block:40px; }
  .imc-warmth { padding-bottom:40px; }
  .imc-planning { padding-block:36px; }
  .imc-inside { margin-top:28px; }
  .imc-spec-table th, .imc-spec-table td { padding:12px; }
}
@media (max-width:580px) {
  .imc-page .imc-specs { padding-inline:18px; }
}
