/* Real workshop photography. Scoped to the four reading pages. */
body.seo-page .seo-main.wrap{max-width:1360px;padding-inline:var(--pad);padding-bottom:48px}
.seo-page ::selection{background:#e3c6b5;color:var(--ink)}
.seo-main a:focus-visible{outline:2px solid var(--copper);outline-offset:5px}
body.seo-page .ftr a.btn:hover{color:var(--paper)}
.seo-main .seo-hero{max-width:none;padding-bottom:52px}
.seo-main .seo-hero-visual{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,5vw,72px);align-items:center}
.seo-hero-visual .seo-hero-copy{min-width:0}
body.seo-page .seo-hero-visual h1{font-size:clamp(42px,4.4vw,68px);line-height:1.04;margin-bottom:24px;text-wrap:balance;letter-spacing:-.025em}
.seo-main p,.seo-main ul,.seo-main ol:not(.seo-breadcrumb ol){max-width:70ch}
.seo-main p,.seo-main li{line-height:1.75}
.seo-main .seo-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;padding:0;margin:26px 0 28px;list-style:none}
.seo-main .seo-facts li{font-size:.875rem;line-height:1.55;margin:0;color:#514b43}
.seo-facts strong{display:block;color:var(--ink);font-size:.9375rem;font-weight:600;margin-bottom:2px}
.seo-actions{display:flex;flex-wrap:wrap;gap:18px 24px;align-items:center}
.seo-actions>a:not(.btn){font-size:.875rem;font-weight:500;padding-block:12px}
.seo-main figure.seo-real-photo{max-width:none;margin:28px 0 0}
.seo-main .seo-real-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:#e4dfd7;border-radius:2px}
.seo-main figcaption{font-size:.8125rem;line-height:1.55;color:#615a52;margin:12px 0 0;max-width:72ch}
.seo-main figure.seo-hero-photo{margin:0}
.seo-main .seo-hero-photo img{aspect-ratio:1/1.08;object-position:center center}
.seo-plating .seo-main .seo-hero-photo img{aspect-ratio:4/3;object-position:70% center}
.seo-main .seo-toc{padding-block:8px 18px;margin-bottom:0;border-top:1px solid var(--stone)}
.seo-main .seo-section{max-width:none;display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,2.8fr);gap:48px;padding:48px 0;border-top:1px solid var(--stone)}
.seo-main .seo-section>h2{font-size:clamp(28px,2.6vw,38px);line-height:1.12;margin:0;text-wrap:balance}
.seo-section-body{min-width:0}
.seo-section-body>:first-child{margin-top:0}
.seo-section-body>:last-child{margin-bottom:0}
.seo-main .seo-section-body h3:first-child{margin-top:0}
.seo-main .seo-wide-section{display:block}
.seo-main .seo-wide-section>h2{max-width:36ch;margin-bottom:20px}
.seo-forming-grid,.seo-plating-grid{display:grid;gap:28px;margin:28px 0 32px}
.seo-forming-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.seo-plating-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
.seo-main .seo-process-item figure{margin:0}
.seo-main .seo-process-item img{aspect-ratio:4/3;object-fit:cover}
.seo-main .seo-process-item h3{margin:20px 0 10px;font-family:var(--serif);font-weight:400;font-size:1.75rem;line-height:1.15}
.seo-main .seo-process-item p{font-size:.9375rem;line-height:1.75;margin-bottom:0}
.seo-plating-grid .seo-process-item:last-child img{object-position:center 57%}
.seo-main .seo-table-wrap{margin:24px 0}
.seo-main .seo-table-wrap:focus-visible{outline:2px solid var(--copper);outline-offset:4px}
.seo-main th{background:#ebe6dd}
.seo-main .seo-closing{background:#eae4da;padding:36px;margin-top:16px;border-top:0;gap:36px}
.seo-main .seo-closing .seo-section-body>p:last-child{font-size:.875rem;line-height:1.8}
body.seo-page.seo-guide .seo-hero>h1{max-width:950px;min-height:0;font-size:clamp(42px,5vw,72px);margin-bottom:24px}
body.seo-page.seo-guide .seo-hero>.seo-byline,body.seo-page.seo-guide .seo-hero>p:last-child{min-height:0}
body.seo-guide .seo-hero>p:last-child{max-width:74ch}
.seo-main .seo-detail-photo{max-width:620px}
.seo-main .seo-detail-photo img{aspect-ratio:4/3;object-position:center 66%}
.seo-main .seo-sources{padding-top:32px}
.seo-main .seo-sources h2{font-size:1.75rem}
.seo-main .seo-byline{color:#615a52}
body.seo-index .seo-hero{max-width:850px;padding-bottom:36px}
body.seo-index .seo-hero h1{font-size:clamp(42px,5vw,72px);max-width:20ch}
.seo-main .seo-featured-guide{max-width:none;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,5vw,64px);align-items:center;padding:0 0 48px}
.seo-main .seo-featured-guide figure{margin:0}
.seo-featured-guide .seo-guide-copy h2{font-size:clamp(32px,3.2vw,46px);margin:0 0 20px}
.seo-featured-guide h2 a{text-decoration:none}
.seo-featured-guide h2 a:hover{text-decoration:underline;text-decoration-thickness:1px}
.seo-further-reading{border-top:1px solid var(--stone);padding-top:36px}
.seo-further-reading>div{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:24px}
.seo-further-reading>div>a{border-block:1px solid var(--stone);display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;padding:18px 0;text-decoration:none;font-weight:500}
.seo-further-reading>div>a:hover{color:var(--copper)}
@media(min-width:901px){.seo-main .seo-section-body>figure:not(.seo-detail-photo) img{max-height:500px;object-fit:cover}}
@media(max-width:1000px){
 .seo-main .seo-hero-visual{gap:32px;grid-template-columns:1fr 1fr;align-items:start}
 body.seo-page .seo-hero-visual h1{font-size:44px}
 .seo-main .seo-hero-photo img{aspect-ratio:3/4}
 .seo-main .seo-section{display:block}
 .seo-main .seo-wide-section{display:block}
 .seo-main .seo-section>h2{font-size:30px;margin-bottom:20px}
}
@media(max-width:700px){
 body.seo-page .seo-main.wrap{padding-top:100px;padding-bottom:32px}
 .seo-main .seo-breadcrumb{margin-bottom:24px;font-size:.8125rem}
 .seo-main .seo-hero-visual{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-bottom:32px}
 .seo-main .seo-hero-copy{display:contents}
 body.seo-page .seo-hero-visual h1{font-size:42px;max-width:16ch;margin-bottom:24px;order:0}
 .seo-main figure.seo-hero-photo{order:1;margin:0 0 24px}
 .seo-hero-copy>p{order:2}
 .seo-hero-copy>.seo-facts{order:3;margin-top:4px}
 .seo-hero-copy>.seo-actions{order:4}
 .seo-main .seo-hero-photo img{aspect-ratio:4/3}
 .seo-manufacturer .seo-hero-photo img{object-position:center 55%}
 .seo-main .seo-facts{gap:16px 20px;margin-block:24px}
 .seo-main .seo-actions{gap:10px 20px}
 .seo-main .seo-section{display:block;padding:32px 0}
 .seo-main .seo-section>h2{font-size:30px;margin-bottom:20px;max-width:24ch}
 .seo-forming-grid,.seo-plating-grid{grid-template-columns:1fr;gap:32px;margin-block:24px}
 .seo-main .seo-section-body p{font-size:.9375rem;line-height:1.8}
 .seo-main .seo-section-body li{font-size:.9375rem;line-height:1.75}
 .seo-main .seo-closing{padding:24px 20px}
 .seo-main figure.seo-real-photo{margin-top:24px}
 .seo-main figure.seo-hero-photo,.seo-main .seo-process-item figure{margin-top:0}
 .seo-main .seo-table-wrap{margin-block:20px}
 .seo-main th,.seo-main td{padding:12px 14px}
 .seo-main .seo-featured-guide{grid-template-columns:1fr;gap:24px;padding-bottom:32px}
 .seo-featured-guide .seo-guide-copy h2{font-size:34px}
 .seo-further-reading>div{grid-template-columns:1fr;gap:0}
 .seo-further-reading>div>a+a{border-top:0}
 body.seo-guide .seo-hero{padding-bottom:28px}
}
@media(prefers-reduced-motion:reduce){.seo-page{scroll-behavior:auto}.seo-page *{scroll-behavior:auto}}

/* IP/PVD only: put the existing actions within reach before the mobile photo. */
@media(max-width:700px){
 body.seo-plating .seo-hero-copy>.seo-actions{order:1;margin-bottom:24px}
 body.seo-plating .seo-main figure.seo-hero-photo{order:2}
 body.seo-plating .seo-hero-copy>p{order:3}
 body.seo-plating .seo-hero-copy>.seo-facts{order:4}
}

/* Manufacturing uses the same mobile action order; reading index leads with the article. */
@media(max-width:700px){
 body.seo-manufacturer .seo-hero-copy>.seo-actions{order:1;margin-bottom:24px}
 body.seo-manufacturer .seo-main figure.seo-hero-photo{order:2}
 body.seo-manufacturer .seo-hero-copy>p{order:3}
 body.seo-manufacturer .seo-hero-copy>.seo-facts{order:4}
 body.seo-index .seo-featured-guide .seo-guide-copy{order:-1}
}

/* Limit prose independently of the grid used by tables and workshop photos. */
@media (min-width: 1001px) {
  .seo-main .seo-section-body :is(p, ul, ol),
  body.seo-guide .seo-hero > p:last-child {
    max-inline-size: 54ch;
  }
  .seo-main .seo-section:not(.seo-closing) {
    padding-block: 36px;
  }
  .seo-manufacturer .seo-main #seo-section-5 {
    text-wrap: wrap;
    font-size: clamp(28px, 2.2vw, 34px);
  }
}

.seo-main .seo-table-wrap tbody th[scope="row"] {
  background: transparent;
}
.seo-main .seo-mobile-cell-label {
  display: none;
}
.seo-main .faq details {
  padding-block: 4px;
}
.seo-main .faq summary {
  min-block-size: 44px;
  padding-block: 11px;
}
.seo-main .faq details[open] > summary {
  margin-block-end: 10px;
}

@media (max-width: 700px) {
  .seo-main .seo-section:not(.seo-closing) {
    padding-block: 26px;
  }
  .seo-main .seo-table-wrap table {
    min-width: 0;
    table-layout: fixed;
    overflow-wrap: anywhere;
  }
  .seo-main .seo-table-wrap :is(th, td) {
    padding: 10px 12px;
  }
  /* Keep column headers in the accessibility tree while laying out each criterion vertically. */
  .seo-main .seo-stacked-comparison {
    display: block;
    position: relative;
  }
  .seo-stacked-comparison thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .seo-stacked-comparison tbody,
  .seo-stacked-comparison tbody tr {
    display: block;
  }
  .seo-main .seo-stacked-comparison tbody th[scope="row"] {
    display: block;
    background: #ebe6dd;
  }
  .seo-main .seo-stacked-comparison tbody td {
    display: block;
    padding-block: 8px;
  }
  .seo-main .seo-stacked-comparison tbody td:last-child {
    margin-block-end: 14px;
  }
  .seo-main .seo-mobile-cell-label {
    display: block;
    font-weight: 600;
    margin-block-end: 2px;
  }
}

@media (max-width: 480px) {
  body.seo-index .seo-main.wrap {
    padding-top: 84px;
  }
  body.seo-index .seo-breadcrumb {
    margin-block-end: 16px;
  }
  body.seo-index .seo-hero {
    padding-block-end: 18px;
  }
  body.seo-index .seo-hero h1 {
    font-size: 36px;
    margin-block-end: 14px;
  }
  body.seo-index .seo-hero > p {
    margin-block-end: 0;
    line-height: 1.55;
  }
  .seo-index .seo-featured-guide .seo-guide-copy h2 {
    font-size: 30px;
    margin-block-end: 12px;
  }
  .seo-index .seo-guide-copy > p {
    margin-block-end: 12px;
    line-height: 1.55;
  }
}

@media (min-width: 1001px) {
  .seo-plating .seo-main .seo-plating-transfer {
    max-inline-size: 46ch;
  }
}

@media (min-width: 1100px) {
  .seo-guide-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(240px, 26vw, 340px);
    align-items: start;
    gap: clamp(32px, 4vw, 60px);
    padding-block-end: 32px;
  }
  .seo-guide-intro .seo-hero {
    padding-block-end: 0;
  }
  .seo-guide-intro .seo-hero > p:last-child {
    margin-block-end: 0;
  }
  .seo-main .seo-guide-intro .seo-toc {
    border-top: 0;
    border-inline-start: 1px solid var(--stone);
    margin: 0;
    padding: 0 0 0 24px;
  }
  .seo-main .seo-guide-intro .seo-toc ul {
    grid-template-columns: minmax(0, 1fr);
    padding-block-end: 0;
  }
  .seo-main .seo-guide-intro .seo-toc a {
    padding-block: 8px;
  }
}

.seo-main :is(figcaption, .seo-byline, .seo-sources p, .seo-sources li) {
  color: #615a52;
  font-size: .875rem;
  line-height: 1.55;
}

.seo-main .seo-chapter-copy > p:last-child {
  margin-block-end: 0;
}

@media (min-width: 1100px) {
  .seo-main .seo-section.seo-photo-chapter {
    display: block;
    border-top: 0;
    padding-block: 44px;
  }
  .seo-main .seo-photo-chapter > h2 {
    max-width: 36ch;
    margin-block-end: 24px;
  }
  .seo-photo-chapter .seo-section-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.16fr);
    gap: clamp(32px, 4vw, 56px);
    align-items: start;
  }
  .seo-photo-chapter-first .seo-section-body {
    grid-template-columns: minmax(0, 1.16fr) minmax(0, 1fr);
  }
  .seo-photo-chapter-first .seo-chapter-copy {
    grid-area: 1 / 2;
  }
  .seo-photo-chapter-first .seo-real-photo {
    grid-area: 1 / 1;
  }
  .seo-main .seo-photo-chapter .seo-section-body > figure {
    margin: 0;
  }
  .seo-main .seo-photo-chapter .seo-real-photo img {
    aspect-ratio: 3093 / 1502;
    max-height: none;
    object-fit: contain;
  }
  .seo-main .seo-photo-chapter-first .seo-real-photo img {
    aspect-ratio: 1772 / 1590;
  }
}
