.site-header{position:relative;background:var(--deep)}
.site-nav [aria-current="page"]{color:var(--teal)}
.library-main{background:var(--paper);min-height:65vh;padding:78px 0 110px}
.library-intro{border-bottom:1px solid var(--line);padding-bottom:56px}
.library-intro .eyebrow{color:var(--teal-dark);margin-bottom:20px}
.library-intro h1{font-size:clamp(2.8rem,5vw,5rem);max-width:850px;margin-bottom:22px}
.library-intro>p:not(.eyebrow):not(#search-status){max-width:650px;color:var(--muted);font-size:1.12rem}
.search-label{display:block;font-weight:700;font-size:.85rem;margin:44px 0 10px}
#article-search{display:block;width:min(100%,650px);border:1px solid #9bb6b9;background:#fff;color:var(--ink);padding:17px 18px;border-radius:0;outline:none}
#article-search:focus{border-color:var(--teal-dark);box-shadow:0 0 0 2px var(--teal-dark)}
#search-status{font-size:.81rem;color:var(--muted);margin:12px 0 0}
.library-sections{padding-top:12px}
.library-section{display:grid;grid-template-columns:minmax(200px,.38fr) 1fr;gap:8%;border-bottom:1px solid var(--line);padding:42px 0}
.library-section[hidden]{display:none}
.section-articles .article-row+.article-row{border-top:1px solid var(--line);margin-top:32px;padding-top:32px}
.section-label>span,.article-type{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700;color:var(--teal-dark)}
.section-label h2{font-size:1.65rem;margin-top:14px}
.article-row a{display:block;padding:4px 0 0}
.article-row h3{font-size:clamp(1.5rem,2.7vw,2.15rem);line-height:1.2;margin:14px 0}
.article-row p{color:var(--muted);margin-bottom:18px}
.article-action{display:inline-flex;align-items:center;gap:9px;font-size:.84rem;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:4px}
.article-row a:hover h3,.article-row a:focus-visible h3{color:var(--teal-dark)}
.no-results{padding:30px 0}
.article-main{background:var(--paper);padding:50px 0 110px}
.breadcrumbs{font-size:.78rem;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;margin-bottom:48px}
.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.article-layout{display:grid;grid-template-columns:minmax(0,720px) minmax(180px,1fr);gap:10%;align-items:start}
.article-layout>article{min-width:0}
.article-header{margin-bottom:42px}
.article-header .article-type{margin-bottom:18px}
.article-header h1{font-size:clamp(2.8rem,5vw,4.6rem);line-height:1.1;margin-bottom:22px}
.article-deck{font-size:1.16rem;color:var(--muted);line-height:1.7}
.article-meta{font-size:.79rem;color:var(--muted)}
.article-body{border-top:1px solid var(--line);padding-top:26px}
.article-body h2{font-size:1.8rem;margin:42px 0 16px}
.article-body h3{font-size:1.3rem;margin:30px 0 12px}
.article-body p,.article-body li{color:#344f5d;line-height:1.8}
.article-body a{color:var(--teal-dark);text-decoration:underline;text-underline-offset:3px}
.article-body li{margin:8px 0}
.article-visual{margin:8px 0 38px;padding:18px;background:#eaf2f2;border-top:2px solid var(--teal-dark)}
.article-visual img{display:block;width:100%;height:auto}
.article-visual figcaption{font-size:.81rem;color:var(--muted);line-height:1.5;margin-top:12px}
.recipe{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:15px;padding-bottom:15px}
.recipe li{padding-left:5px;margin:12px 0}
.article-body ul,.article-body ol{padding-left:24px}
.article-body code{font-size:.9em;background:#e4eeee;padding:2px 4px}
.article-body pre{overflow-x:auto;background:var(--deep);color:#e5f3f0;padding:22px;line-height:1.5}
.article-body pre code{background:none;padding:0;color:inherit}
.article-body blockquote{border-left:3px solid var(--teal-dark);margin:28px 0;padding:10px 20px;background:#e9f1f0}
.article-body blockquote p{margin:0}
.pattern-table{overflow-x:auto;margin:25px 0}
.pattern-table table{border-collapse:collapse;width:100%;min-width:550px;text-align:left;font-size:.87rem}
.pattern-table th,.pattern-table td{border-bottom:1px solid var(--line);padding:12px 14px 12px 0;vertical-align:top}
.pattern-table th{color:var(--ink)}
.article-aside{border-top:2px solid var(--teal-dark);padding-top:18px;position:sticky;top:30px}
.article-aside strong{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}
.article-aside a{display:block;border-bottom:1px solid var(--line);padding:13px 0;font-size:.87rem}
.article-aside a:hover{color:var(--teal-dark)}
.article-next{border-top:1px solid var(--line);margin-top:60px;padding-top:25px;font-weight:700}
.article-next a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:720px){.library-main{padding:55px 0 80px}.library-intro{padding-bottom:38px}.library-section{grid-template-columns:1fr;gap:12px;padding:30px 0}.section-label h2{font-size:1.4rem;margin:10px 0}.article-main{padding:28px 0 80px}.breadcrumbs{margin-bottom:32px}.article-layout{display:flex;flex-direction:column;align-items:stretch;gap:32px}.article-aside{position:static;order:-1;width:100%}.article-aside strong{display:block}.article-aside a{display:inline-block;margin-right:16px}.article-header{margin-bottom:25px}}
@media(max-width:720px){.pattern-reference .article-aside{display:flex;align-items:center;gap:16px;overflow-x:auto;white-space:nowrap;padding-bottom:8px}.pattern-reference .article-aside strong,.pattern-reference .article-aside a{flex:none;margin:0}}