.longform-main{background:var(--light)}
.longform-main article{max-width:1320px;margin:0 auto}
.longform-hero{display:grid;grid-template-columns:minmax(360px,1fr) minmax(460px,.9fr);align-items:stretch;background:var(--paper)}
.longform-heading{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,6vw,84px) clamp(28px,6vw,80px)}
.longform-heading h1{margin:14px 0 0;font-size:clamp(42px,4.8vw,68px);line-height:1.02}
.code-article .longform-heading h1{font-size:clamp(38px,3.9vw,56px);line-height:1.06}
.longform-subtitle{max-width:620px;margin:24px 0 0;color:#5b4d45;font-size:clamp(18px,1.55vw,22px);line-height:1.45}
.longform-author{margin:26px 0 0;color:#7c5b31;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.longform-hero figure{min-height:510px;margin:0;overflow:hidden;background:var(--deep)}
.longform-hero img{width:100%;height:100%;object-fit:cover;object-position:center}
.longform-body{max-width:730px;margin:0 auto;padding:clamp(58px,7vw,92px) 28px}
.longform-body>p{margin:0 0 15px;color:#443a35;font-size:17px;line-height:1.7}
.longform-body>p:first-child{font-size:19px;line-height:1.65;color:var(--deep)}
.longform-body h2{margin:54px 0 20px;color:#6e4c2b;font-size:clamp(29px,3vw,40px);line-height:1.16;letter-spacing:-.025em}
.longform-body h2:first-of-type{margin-top:46px}
.longform-body .longform-conclusion{margin-top:68px;padding-top:34px;border-top:1px solid rgba(164,128,78,.58)}
.longform-body ul{margin:8px 0 24px;padding:14px 18px 14px 42px;border-left:2px solid var(--gold);background:#f7f2eb}
.longform-body li{padding:4px 0 4px 2px;color:#4f433d;font-size:16.5px;line-height:1.55}
.longform-body strong{font-weight:500;color:#241d1a}
.longform-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:28px;padding:52px 28px 76px;background:#f1e7dc}
.homepage-feature-article{display:grid;grid-template-columns:1.12fr .88fr;min-height:560px;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.homepage-feature-article figure{margin:0;min-height:560px;overflow:hidden;background:var(--deep)}
.homepage-feature-article img{width:100%;height:100%;object-fit:cover}
.homepage-feature-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,7vw,104px)}
.homepage-feature-copy h2{margin:14px 0 0;font-size:clamp(42px,5vw,72px);line-height:1.02}
.homepage-feature-copy>p:not(.eyebrow){margin:28px 0;color:#5b4d45;font-size:18px;line-height:1.65}
.library-feature{display:grid;grid-template-columns:.86fr 1.14fr;max-width:1240px;margin:0 auto 44px;border:1px solid var(--gold);background:var(--paper)}
.library-feature img{display:block;width:100%;height:100%;min-height:390px;object-fit:cover}
.library-feature-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,5vw,72px)}
.library-feature h2{font-size:clamp(34px,3.5vw,48px);line-height:1.07}
.library-feature p:not(.eyebrow){margin:24px 0;color:#5b4d45;font-size:17px;line-height:1.6}
.library-secondary{display:grid;grid-template-columns:280px 1fr;max-width:980px;margin:0 auto 72px;border-bottom:1px solid var(--line);background:var(--light)}
.library-secondary img{display:block;width:100%;height:100%;min-height:220px;object-fit:cover}
.library-secondary-copy{padding:24px 32px}
.library-secondary h2{font-size:clamp(28px,3vw,40px);line-height:1.08}
.library-secondary p:not(.eyebrow){margin:15px 0;color:#5b4d45;font-size:16px;line-height:1.55}
.topic-library-heading{max-width:1240px;margin:0 auto 34px;padding-top:64px;border-top:1px solid var(--line)}
.topic-library-heading h2{font-size:clamp(38px,4vw,58px);line-height:1.05}
@media(max-width:900px){.longform-hero,.homepage-feature-article,.library-feature{grid-template-columns:1fr}.longform-hero figure{min-height:0;aspect-ratio:3/2}.homepage-feature-article figure{min-height:0;aspect-ratio:3/2}.library-feature img{min-height:0;aspect-ratio:3/2}}
@media(max-width:700px){.library-secondary{grid-template-columns:1fr;margin:0 22px 52px}.library-secondary img{min-height:0;aspect-ratio:3/2}.topic-library-heading{margin:0 22px 28px;padding-top:46px}}
@media(max-width:620px){.longform-heading{padding:52px 22px}.longform-heading h1,.code-article .longform-heading h1{font-size:36px}.longform-subtitle{font-size:18px}.longform-body{padding:52px 22px}.longform-body>p,.longform-body li{font-size:16.5px}.longform-body>p:first-child{font-size:18px}.longform-body h2{margin-top:44px;font-size:29px}.longform-body ul{padding:12px 14px 12px 34px}.homepage-feature-copy{padding:54px 22px}.library-feature{margin:0 22px 36px}.library-feature-copy{padding:34px 24px}.library-secondary-copy{padding:26px 0}}
