* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 1rem/1.7 var(--sans); }
a { color: inherit; text-underline-offset: .22em; }
a:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
.skip { position: absolute; top: -5rem; left: 1rem; z-index: 5; padding: .5rem 1rem; background: white; }
.skip:focus { top: 1rem; }
.guide-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.35rem var(--gutter); background: var(--warm); }
.guide-header img { display: block; width: clamp(112px, 12vw, 160px); height: auto; }
.guide-header-link { font-size: .875rem; font-weight: 600; text-decoration: none; }
.guide-header-link span { margin-left: .3rem; }
.guide-header-link:hover { text-decoration: underline; }
.guide-hero { background: linear-gradient(135deg, #f5f2ed 0%, #edf2f3 100%); border-bottom: 1px solid var(--line); }
.guide-hero-inner { max-width: 1220px; margin: auto; padding: clamp(4rem, 9vw, 8rem) var(--gutter) clamp(4rem, 8vw, 7rem); }
.guide-eyebrow, .guide-step { display: block; margin: 0 0 1.1rem; color: var(--accent); font-size: .79rem; font-weight: 600; letter-spacing: .08em; }
.guide-hero h1 { max-width: 950px; margin: 0; font: 400 clamp(3.15rem, 7vw, 6.8rem)/1.07 var(--serif); letter-spacing: -.045em; }
.guide-deck { max-width: 720px; margin: 2rem 0 0; color: var(--muted); font-size: clamp(1.12rem, 1.5vw, 1.45rem); line-height: 1.5; }
.guide-body { display: grid; grid-template-columns: 205px minmax(0, 720px); justify-content: center; gap: clamp(2rem, 7vw, 7rem); max-width: 1220px; margin: auto; padding: clamp(3.5rem, 7vw, 7rem) var(--gutter); }
.guide-contents { align-self: start; position: sticky; top: 2rem; display: grid; gap: .8rem; font-size: .86rem; line-height: 1.4; }
.guide-contents span { margin-bottom: .3rem; color: var(--muted); font-weight: 600; }
.guide-contents a { text-decoration: none; }
.guide-contents a:hover { text-decoration: underline; }
.guide-article { min-width: 0; }
.guide-lead { margin: 0 0 4.5rem; font: 400 clamp(1.55rem, 2.4vw, 2.2rem)/1.43 var(--serif); letter-spacing: -.018em; }
.guide-article section { padding: 0 0 3rem; margin: 0 0 3rem; border-bottom: 1px solid var(--line); scroll-margin-top: 2rem; }
.guide-article h2, .guide-product h2 { margin: 0 0 1.2rem; font: 400 clamp(2.1rem, 3.2vw, 3.3rem)/1.15 var(--serif); letter-spacing: -.035em; }
.guide-article p { max-width: 65ch; margin: 0 0 1.2rem; color: #354952; font-size: 1.06rem; }
.guide-note { display: grid; gap: .25rem; padding: 1.3rem 1.5rem; margin-top: 1.8rem; background: var(--surface-cool); border-left: 3px solid var(--accent); }
.guide-note span { color: var(--muted); }
.guide-sources { padding-top: 1rem; }
.guide-sources h2 { font: 600 1.1rem/1.4 var(--sans); letter-spacing: 0; }
.guide-sources ul { padding-left: 1.2rem; color: var(--muted); font-size: .94rem; }
.guide-sources li { padding-bottom: .7rem; }
.guide-product { display: grid; grid-template-columns: 1fr 1fr; align-items: center; background: var(--surface-cool); }
.guide-product-image { align-self: stretch; min-height: 440px; }
.guide-product-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.guide-product-copy { max-width: 620px; padding: clamp(2.5rem, 5vw, 5rem); }
.guide-product-copy p:not(.guide-eyebrow) { color: var(--muted); }
.guide-button { display: inline-flex; align-items: center; gap: 1.2rem; min-height: 50px; margin-top: 1.25rem; padding: .8rem 1.4rem; background: var(--ink); border-radius: var(--radius-pill); color: white; font-weight: 600; text-decoration: none; }
.guide-button:hover { background: var(--dark); }
.guide-price { font-size: .82rem; }
.guide-footer { display: flex; justify-content: space-between; gap: 1rem; padding: 2rem var(--gutter); font-size: .88rem; }
.guide-footer a:first-child { letter-spacing: .2em; text-decoration: none; }
@media (max-width: 700px) { .guide-body { display: block; } .guide-contents { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem 1rem; padding-bottom: 2.5rem; margin-bottom: 2.5rem; border-bottom: 1px solid var(--line); } .guide-contents span { grid-column: 1/-1; } .guide-lead { margin-bottom: 3rem; } .guide-product { grid-template-columns: minmax(0,1fr); } .guide-product-image { min-width: 0; min-height: 0; height: clamp(240px,70vw,400px); } .guide-product-copy { min-width: 0; padding: 2.5rem var(--gutter) 3.5rem; } .guide-footer { flex-wrap: wrap; } }
@media (max-width: 420px) { .guide-header-link { font-size: .8rem; } .guide-contents { grid-template-columns: 1fr; } .guide-hero h1 { font-size: 2.8rem; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
