/* Northmelon reading pages: existing brand fonts, colour tokens, header and footer. */
body.seo-page .seo-main{padding-top:calc(82px + 36px)}
.seo-main .seo-breadcrumb{margin-bottom:32px;font-size:.875rem;line-height:1.6}
.seo-breadcrumb ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.seo-breadcrumb li+li::before{content:"›";margin-right:8px}
.seo-main .seo-hero{padding:0 0 32px;max-width:1100px}
.seo-main h1{font-family:var(--serif);font-size:clamp(2.5rem,5vw,5rem);line-height:1.05;letter-spacing:-.03em;text-wrap:balance;max-width:100%;margin:0 0 32px}
.seo-main h2{font-size:clamp(1.75rem,2.6vw,2.5rem);line-height:1.15;letter-spacing:-.025em;text-wrap:balance;margin:0 0 20px;max-width:30ch}
.seo-main h3{font:600 1.25rem/1.4 var(--sans);letter-spacing:normal;margin:28px 0 10px}
.seo-main p,.seo-main li{font-size:1rem;line-height:1.85;text-wrap:pretty}
.seo-main p{max-width:58ch;margin:0 0 20px}
.seo-main ul,.seo-main ol:not(.seo-breadcrumb ol){max-width:60ch;padding-left:1.4em;margin:0 0 24px}
.seo-main li{margin-bottom:8px}
.seo-main .seo-section{padding:32px 0;max-width:1100px}
.seo-main .seo-section:last-child{padding-bottom:48px}
.seo-main a:not(.btn){text-underline-offset:.22em}
.seo-main .seo-byline{font-size:.875rem;line-height:1.65;max-width:58ch}
.seo-table-wrap{overflow-x:auto;margin:28px 0;max-width:100%;overscroll-behavior-x:contain}
.seo-main table{border-collapse:collapse;width:100%;min-width:560px;text-align:left;font-size:.9375rem;line-height:1.65}
.seo-main th,.seo-main td{padding:16px 18px;vertical-align:top;border-bottom:1px solid var(--stone)}
.seo-main th{font-weight:600;color:var(--ink);background:var(--paper)}
.seo-main figure{margin:36px 0 12px;max-width:1000px}
.seo-main figure img{width:100%;height:auto;display:block}
.seo-main figcaption{font-size:.875rem;line-height:1.65;margin-top:12px;max-width:68ch}
.seo-main .seo-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1100px}
.seo-main .seo-photo-pair figure{margin-top:20px}
.seo-main .seo-photo-pair img{aspect-ratio:4/3;object-fit:cover}
.seo-main .faq{max-width:900px}
.seo-main .faq summary{font-size:1.0625rem;line-height:1.6;padding:20px 30px 20px 0}
.seo-main .faq p{margin:0 0 24px}
.seo-main .source-ref{font-size:.72em;line-height:0}
.seo-main .source-ref a{padding:2px}
.seo-main .seo-guide-entry{padding:16px 0 36px;max-width:780px}
.seo-main .seo-guide-entry h2{font-size:clamp(1.75rem,2.6vw,2.5rem)}
.seo-main .seo-sources{overflow-wrap:anywhere}
.seo-main :target{scroll-margin-top:110px}
@media(max-width:900px){body.seo-page .seo-main{padding-top:118px}.seo-main .seo-breadcrumb{margin-bottom:28px}.seo-main .seo-hero{padding-bottom:24px}.seo-main .seo-section{padding:28px 0}.seo-main .seo-photo-pair{grid-template-columns:1fr}.seo-main .seo-photo-pair img{aspect-ratio:auto}.seo-main h1{font-size:clamp(2.5rem,7.5vw,3.75rem);max-width:100%}.seo-main h2{font-size:2rem}}

/* Reading pages keep the mobile contact action in the page flow, clear of text. */
body.seo-page .seo-main.wrap{max-width:1100px;margin-inline:auto}
body.seo-page .ftr>div:nth-child(2)>a{margin-block:0;min-height:44px;display:flex;align-items:center}
@media(max-width:600px){body.seo-page .seo-main h2{font-size:1.75rem}body.seo-manufacturer .seo-hero h1,body.seo-plating .seo-hero h1{font-size:2rem}body.seo-manufacturer .seo-hero h1{font-size:1.9375rem}}
@media(max-width:900px){
 body.seo-page .whatsapp-float{margin:0 var(--pad,20px) 24px;display:flex}
 body.seo-page .whatsapp{position:static!important;inset:auto!important;width:auto!important;height:auto!important;min-height:44px;padding:12px 16px!important;margin:0!important;display:inline-flex!important;gap:8px;background:var(--ink)!important;color:var(--paper)!important;visibility:visible;pointer-events:auto}
 body.seo-page .whatsapp .wa-label{display:inline;font:500 1rem/1.4 var(--sans)}
 body.seo-page:has(dialog[open]) .whatsapp{visibility:hidden;pointer-events:none}
}

/* Match the local fallback to the existing heading font; no additional font download. */
@font-face{font-family:"Northmelon Guide Serif Fallback";src:local("Georgia");size-adjust:76.0707%;ascent-override:130.142%;descent-override:40.751%;line-gap-override:0%}
@media(min-width:901px){body.seo-page.seo-guide .seo-hero>h1{font-family:"Instrument Serif","Northmelon Guide Serif Fallback",serif;max-width:10.12em;min-height:2.1em}body.seo-page.seo-guide .seo-hero>.seo-byline{min-height:3.7em}body.seo-page.seo-guide .seo-hero>p:last-child{min-height:calc(1.85em * 7)}}

/* Native chapter links work with JavaScript disabled; nothing is pinned over reading text. */
.seo-main .seo-toc{max-width:100%;margin:0 0 12px}
.seo-toc summary{width:fit-content;min-height:44px;padding:10px 0;font:600 1rem/1.5 var(--sans);cursor:pointer}
.seo-main .seo-toc ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;list-style:none;max-width:none;padding:8px 0 16px;margin:0}
.seo-toc li{margin:0;min-width:0}
.seo-toc a{display:flex;align-items:center;min-height:44px;padding:8px 0;font-size:.9375rem;line-height:1.6}
.seo-toc a:hover,.seo-toc summary:hover{color:var(--copper)}
.seo-toc :is(a,summary):focus-visible,.seo-main h2:focus-visible{outline:2px solid var(--copper);outline-offset:4px}
.seo-main .seo-section>:last-child{margin-bottom:0}
.seo-main .seo-sources li,.seo-main .seo-sources>p{font-size:.875rem;line-height:1.7}
.seo-main .seo-sources li{margin-bottom:16px}
body.seo-index .seo-hero{padding-bottom:16px}
body.seo-page .ftr{padding-top:48px;padding-bottom:24px;gap:24px}
@media(max-width:900px){
 .seo-main .seo-toc ul{grid-template-columns:1fr;gap:0}
 .seo-main h2{margin-bottom:18px}
 body.seo-page .ftr{padding-top:32px;padding-bottom:24px}
}

.seo-page th .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
