@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url('/assets/montserrat-latin-300-normal-BgP24wlQ.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url('/assets/montserrat-latin-ext-300-normal-DiDe5dVi.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url('/assets/montserrat-latin-400-normal-BLhwKU8k.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url('/assets/montserrat-latin-ext-400-normal-B8bwfy6Y.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url('/assets/montserrat-latin-500-normal-DRFEGfly.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url('/assets/montserrat-latin-ext-500-normal-BKtbrd6n.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url('/assets/montserrat-latin-600-normal-UVxSCcoG.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url('/assets/montserrat-latin-ext-600-normal-DSkTqI9L.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
:root { font-family: Montserrat, sans-serif; color: #414141; background: #fff; font-synthesis: none; --line: #d7d7d7; --red: #c72420; }
* { box-sizing: border-box; }
body { margin: 0; }
::selection { background: #c72420; color: #fff; }
a { color: inherit; text-underline-offset: .22em; text-decoration-thickness: 1px; }
a:hover { color: var(--red); }
a:focus-visible { outline: 2px solid var(--red); outline-offset: 5px; }
svg { flex: none; }
.skip { position: absolute; top: 10px; left: 20px; padding: 12px; background: #fff; transform: translateY(-200%); z-index: 2; }
.skip:focus { transform: none; }
.read-header { margin: 0 6.944vw; min-height: 110px; display: flex; align-items: center; justify-content: space-between; gap: 36px; border-bottom: 1px solid var(--line); }
.read-brand { display: block; flex: 0 0 234px; }
.read-brand img { display: block; width: 100%; height: auto; }
.read-header nav { display: flex; gap: 28px; align-items: center; font-size: 14px; font-weight: 500; }
.read-header nav a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.read-header nav a[aria-current] { text-decoration: underline; text-decoration-color: var(--red); }
.read-main { margin: 0 auto; max-width: 1240px; padding: 40px 0 110px; width: calc(100% - 13.888vw); }
.breadcrumbs { display: flex; align-items: center; gap: 13px; font-size: 13px; color: #666; }
.breadcrumbs a { padding: 7px 0; }
.read-title { padding: 48px 0 58px; max-width: 900px; }
h1 { font-size: 46px; font-weight: 400; line-height: 1.16; margin: 0 0 26px; text-wrap: balance; }
.read-title > p { margin: 0; max-width: 770px; font-size: 22px; line-height: 1.65; }
.reading-layout { display: grid; grid-template-columns: 230px minmax(0, 720px); gap: 70px; border-top: 1px solid var(--line); padding-top: 48px; }
.contents { position: sticky; top: 28px; font-size: 14px; }
.contents > p { margin: 0 0 16px; font-weight: 600; }
.contents a { display: block; padding: 12px 0; line-height: 1.5; text-decoration: none; border-bottom: 1px solid var(--line); }
.reading-body { min-width: 0; font-size: 17px; line-height: 1.8; }
.reading-body section { margin-bottom: 50px; scroll-margin-top: 25px; }
h2 { font-size: 27px; line-height: 1.35; font-weight: 500; margin: 0 0 20px; text-wrap: balance; }
p { margin: 0 0 20px; }
ul { padding-left: 24px; margin: 0 0 24px; }
li { padding-left: 4px; margin-bottom: 14px; }
strong { font-weight: 600; }
.read-action { display: flex; justify-content: space-between; align-items: center; gap: 20px; width: fit-content; max-width: 100%; min-width: 245px; padding: 17px 0 11px; margin-top: 25px; border-top: 2px solid var(--red); font-size: 15px; line-height: 1.6; text-decoration: none; overflow-wrap: anywhere; }
.read-action:hover span { text-decoration: underline; }
.product-figure { margin: 36px 0 52px; }
.product-figure img { display: block; width: 100%; height: auto; }
figcaption, .small, .source-note { color: #666; font-size: 13px; line-height: 1.7; }
figcaption { padding-top: 10px; }
.small { margin-top: 10px; }
.source-note { margin-top: 24px; }
.comparison { margin: 25px 0; }
.comparison > div { padding: 20px 0; border-top: 1px solid var(--line); }
.comparison dt { font-weight: 600; margin-bottom: 6px; }
.comparison dd { margin: 0; }
blockquote { margin: 24px 0; padding: 30px; background: #f4f4f4; font-size: 16px; }
blockquote p:last-child { margin-bottom: 0; }
.contact-block { border-top: 1px solid var(--line); padding-top: 36px; }
.reading-body .contact-block { margin-bottom: 0; }
.blog-index .reading-layout { display: block; }
.blog-index .reading-body { max-width: 780px; }
.article-entry h2 { max-width: 680px; font-size: 32px; }
.article-entry h2 a { text-decoration: none; }
.related-section { border-top: 1px solid var(--line); padding-top: 40px; }
.read-footer { padding: 48px 6.944vw 35px; background: #eeeeee; }
.read-footer > a { font-size: 22px; font-weight: 500; text-decoration: none; }
.read-footer > p { overflow-wrap: anywhere; line-height: 1.8; font-size: 14px; margin: 12px 0 24px; }
.read-footer nav { display: flex; flex-wrap: wrap; gap: 26px; font-size: 14px; }
.read-footer nav a { display: inline-flex; align-items: center; min-height: 44px; }
.read-footer small { display: block; margin-top: 35px; font-size: 12px; line-height: 1.7; }
@media (max-width: 1100px) { .read-header { gap: 25px; } .read-header nav { gap: 18px; font-size: 13px; } .read-brand { flex-basis: 200px; } .reading-layout { grid-template-columns: 185px minmax(0,1fr); gap: 40px; } }
@media (max-width: 780px) { .read-header { margin: 0 30px; padding: 22px 0 16px; display: block; } .read-brand { width: 200px; margin-bottom: 14px; } .read-header nav { flex-wrap: wrap; column-gap: 22px; row-gap: 0; } .read-main { width: auto; padding: 26px 30px 70px; } .read-title { padding: 34px 0 38px; } h1 { font-size: 34px; line-height: 1.2; margin-bottom: 22px; } .read-title > p { font-size: 18px; line-height: 1.7; } .reading-layout { display: block; padding-top: 28px; } .contents { position: static; margin-bottom: 36px; } .contents > p { margin-bottom: 8px; } .contents a { padding: 11px 0; } .reading-body { font-size: 16px; line-height: 1.8; } h2 { font-size: 25px; margin-bottom: 18px; } .reading-body section { margin-bottom: 38px; } .product-figure { margin: 28px 0 38px; } .read-action { min-width: 0; width: 100%; font-size: 14px; } blockquote { padding: 22px; font-size: 15px; } .article-entry h2 { font-size: 28px; } .read-footer { padding: 36px 30px 28px; } }
/* W29 reading surfaces retain the established brand and native navigation. */
.read-header { gap: 30px; }
.read-header .read-nav { gap: 24px; }
.nav-group { position: relative; }
.nav-group summary { display: flex; align-items: center; gap: 9px; min-height: 44px; cursor: pointer; list-style: none; }
.nav-group summary::-webkit-details-marker { display: none; }
.nav-group summary::after { content: ''; width: 6px; height: 6px; border-right: 1px solid; border-bottom: 1px solid; transform: translateY(-2px) rotate(45deg); }
.nav-group[open] summary::after { transform: translateY(2px) rotate(225deg); }
.nav-group summary:focus-visible, .table-scroll:focus-visible { outline: 2px solid var(--red); outline-offset: 5px; }
.nav-group > div { position: absolute; z-index: 3; top: 100%; left: -18px; width: 270px; padding: 10px 18px; background: #fff; border: 1px solid var(--line); }
.read-header .nav-group a { display: flex; line-height: 1.6; padding: 8px 0; border-bottom: 1px solid var(--line); }
.read-header .nav-group a:last-child { border: 0; }
.title-region { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 190px; gap: 40px; align-items: center; }
.read-title { max-width: 900px; }
.read-watermark { display: block; width: 190px; height: auto; opacity: .065; pointer-events: none; user-select: none; }
.table-scroll { max-width: 100%; overflow-x: auto; margin: 28px 0; scrollbar-color: #999 #eee; }
table { width: 100%; min-width: 510px; border-collapse: collapse; text-align: left; font-size: 15px; line-height: 1.7; font-variant-numeric: tabular-nums; }
caption { text-align: left; font-size: 13px; color: #666; padding-bottom: 15px; }
th, td { padding: 17px 16px; vertical-align: top; border-bottom: 1px solid var(--line); }
thead th { background: #f4f4f4; font-weight: 600; }
tbody th { font-weight: 500; width: 25%; }
.blog-index .reading-layout { border: 0; padding-top: 0; }
.blog-index .reading-body { max-width: none; }
.blog-index .read-title { padding-bottom: 50px; }
.blog-index h1 { font-size: 62px; font-weight: 300; }
.blog-index h2 a { text-decoration: none; }
.blog-index h2 a:hover { text-decoration: underline; text-underline-offset: .15em; }
.featured-guide { display: grid; grid-template-columns: 1.15fr 1fr; background: #f4f4f4; align-items: center; }
.feature-photo { position: relative; height: 100%; min-height: 410px; }
.feature-photo img { display: block; width: 100%; height: 100%; min-height: 410px; object-fit: cover; }
.image-credit { position: absolute; bottom: 0; left: 0; margin: 0; background: #fff; padding: 6px 12px; font-size: 11px; line-height: 1.5; }
.feature-copy { padding: 44px; }
.feature-copy h2 { font-size: 34px; font-weight: 400; }
.feature-copy p { font-size: 17px; }
.feature-copy .read-action { min-width: 0; width: 100%; }
.blog-index .comparison-stories { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; margin: 80px 0; }
.comparison-stories figure { margin: 0 0 26px; }
.comparison-stories figure img { display: block; width: 100%; height: 250px; object-fit: cover; }
.comparison-stories h2 { font-size: 30px; font-weight: 400; }
.comparison-stories p { max-width: 48ch; }
.cutting-story { border-top: 1px solid var(--line); padding-top: 35px; }
.process-types { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 28px; margin-bottom: 40px; color: #666; font-size: 14px; }
.process-types span:first-child { grid-column: 1; grid-row: 1; }
.process-types span:nth-of-type(2) { grid-column: 2; grid-row: 1; }
.process-types svg { width: 100%; height: auto; color: #c72420; }
.product-discovery { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; margin-top: 34px; }
.product-discovery > a { display: block; text-decoration: none; font-size: 16px; line-height: 1.5; }
.product-discovery img { display: block; width: 100%; height: auto; aspect-ratio: 1.5; object-fit: cover; margin-bottom: 17px; }
.product-discovery span { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.product-discovery span svg { margin-top: 2px; }
.section-intro { display: flex; gap: 55px; justify-content: space-between; align-items: start; }
.section-intro h2 { max-width: 450px; }
.section-intro p { max-width: 400px; margin: 0; }
.blog-index .blog-closing { border-top: 1px solid var(--line); padding-top: 45px; margin: 65px 0 0; }
.closing-links { display: flex; gap: 60px; }
@media (max-width: 1150px) { .read-header { flex-wrap: wrap; padding: 23px 0 14px; gap: 10px 30px; } .read-header .read-nav { flex-wrap: wrap; gap: 0 24px; } .title-region { grid-template-columns: minmax(0,1fr) 130px; gap: 25px; } .read-watermark { width: 130px; } .feature-copy { padding: 30px; } .feature-copy h2 { font-size: 30px; } .blog-index .comparison-stories { gap: 45px; } }
@media (max-width: 780px) { .read-header { display: block; } .read-header .read-nav { display: flex; column-gap: 23px; row-gap: 0; } .nav-group > div { left: -10px; width: min(270px,calc(100vw - 60px)); } .title-region { display: block; } .read-watermark { position: absolute; width: 86px; right: 0; top: 27px; opacity: .05; } .read-title h1 { padding-right: 50px; } .read-title > p { position: relative; background: #fff; } .blog-index h1 { font-size: 48px; } .blog-index .read-title { padding-bottom: 36px; } .featured-guide { display: block; } .feature-photo, .feature-photo img { min-height: 0; height: auto; } .feature-photo img { aspect-ratio: 1.4; object-fit: cover; } .feature-copy { padding: 26px 24px 30px; } .feature-copy h2 { font-size: 29px; } .feature-copy p { font-size: 16px; } .blog-index .comparison-stories { display: block; margin: 45px 0; } .rolling-story { margin-bottom: 45px; } .comparison-stories figure img { height: auto; aspect-ratio: 1.6; } .comparison-stories h2 { font-size: 27px; } .process-types { margin-bottom: 28px; } .product-discovery { grid-template-columns: 1fr 1fr; gap: 30px 18px; } .product-discovery > a { font-size: 14px; } .product-discovery span { gap: 6px; } .section-intro { display: block; } .section-intro p { max-width: none; } .closing-links { display: block; } .blog-index .blog-closing { margin-top: 45px; } }
@media (max-width: 360px) { .read-header .read-nav { column-gap: 17px; font-size: 12px; } .nav-group > div { width: 230px; left: -7px; } .nav-group:nth-of-type(2) > div { left: auto; right: -15px; } .feature-copy { padding: 24px 20px; } .feature-copy h2 { font-size: 26px; } }
@media (max-width: 780px) { .read-nav { position: relative; } .nav-group { position: static; } .read-header .nav-group > div, .read-header .nav-group:nth-of-type(2) > div { top: 100%; left: 0; right: 0; width: 100%; } }

.table-hint { display: none; font-size: 13px; color: #666; }
@media (max-width: 780px) { .table-hint { display: block; margin-bottom: 12px; } .table-hint + .table-scroll { margin-top: 12px; } }
