/* CMS fixes: centered paging, compact navigation and five-line article previews. */
.cms-pagination{display:flex;justify-content:center;text-align:center;width:100%}
.cms-pagination nav,.cms-pagination ul,.cms-pagination .pagination{justify-content:center;margin-inline:auto;margin-block:0;padding:0;max-width:100%}
.cms-pagination li{list-style:none}
body .site-footer .brand,body .site-footer .logo{min-width:0;max-width:100%;white-space:normal}
body .site-footer .brand>span,body .site-footer .logo>span{min-width:0;white-space:normal;overflow-wrap:anywhere}
body .cms-footer-inner>div{min-width:0}
.cms-pagination>nav{flex-wrap:wrap}
@media(max-width:768px){
.cms-content-panel.is-collapsible:not(.is-expanded) .cms-article-content{max-height:var(--article-preview-height,8.5em);overflow:hidden;position:relative}
.cms-content-panel.is-collapsible:not(.is-expanded) .cms-article-content>:first-child{margin-top:0}
.cms-content-panel.is-collapsible:not(.is-expanded) .cms-article-content:after{content:"";position:absolute;inset:auto 0 0;height:1.2em;background:linear-gradient(transparent,var(--paper,#f5f1e8));pointer-events:none}
}
body .site-header .cms-menu-toggle{display:none}
@media(max-width:760px){
 body,body.cms-auto{padding-top:55px}
 body .site-header{position:fixed;inset:0 0 auto;height:55px;min-height:55px;background:var(--paper,#fff);transform:none;backface-visibility:visible;backdrop-filter:none;transition:none;z-index:100}
 body .site-header .header-row,body .site-header .header-inner{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px;height:54px;min-height:54px;padding-block:0;border:0;position:static}
 body .site-header .logo,body .site-header .brand{display:flex;align-items:center;flex:0 1 auto;min-width:0;max-width:calc(100% - 56px);margin:0;font:700 16px/1.15 var(--sans,'Segoe UI',Arial,sans-serif);gap:6px;white-space:nowrap}
 body .site-header .logo>span,body .site-header .brand>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
 body .site-header .logo svg,body .site-header .brand svg,body .site-header .brand>img:not(.cms-logo){width:25px;height:25px;flex:none}
 body .site-header .cms-logo{max-width:90px;max-height:28px;width:auto;height:auto;flex:none}
 body .site-header nav.mobile-quick-nav{display:none}
 body .site-header .cms-menu-toggle{display:grid;place-items:center;flex:none;width:42px;height:42px;min-height:42px;margin:0 0 0 auto;padding:9px;border:1px solid var(--line,#ddd);border-radius:var(--cms-ui-radius,3px);background:transparent;color:var(--ink,#24382f);cursor:pointer}
 body .site-header .cms-menu-toggle svg{display:block;width:22px;height:22px;margin:0;flex:none}
 body .site-header .cms-menu-toggle .cms-menu-close-icon{display:none}
 body .site-header .cms-menu-toggle[aria-expanded=true] .cms-menu-open-icon{display:none}
 body .site-header .cms-menu-toggle[aria-expanded=true] .cms-menu-close-icon{display:block}
 body .site-header #main-nav,body .site-header #main-nav.open{display:flex;position:absolute;inset:100% 0 auto;flex:none;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;min-width:0;width:100%;height:auto;max-height:calc(100svh - 90px);margin:0;padding:10px 14px 14px;border:0;border-bottom:1px solid var(--line,#ddd);gap:0;background:var(--paper,#fff);color:var(--ink,#24382f);font:600 14px/1.4 var(--sans,'Segoe UI',Arial,sans-serif);white-space:normal;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;box-shadow:0 12px 20px #00000014;scroll-behavior:auto}
 html.js body .site-header #main-nav{display:none}
 html.js body .site-header #main-nav.open{display:flex}
 body .site-header #main-nav>a,body .site-header #main-nav #userInfo{flex:none;white-space:normal;min-width:0}
 body .site-header #main-nav a,body .site-header #main-nav #logoutBtn{display:flex;align-items:center;min-height:44px;padding:10px 12px;border:0;border-radius:var(--cms-ui-radius,3px);background:transparent;text-align:left;text-decoration:none;font:inherit;color:inherit;overflow-wrap:anywhere}
 body .site-header #main-nav a:hover,body .site-header #main-nav a[aria-current=page]{background:color-mix(in srgb,var(--primary,#284936) 8%,var(--paper,#fff));color:var(--primary,#284936)}
 body .site-header #main-nav .nav-saved{border:0;padding:10px 12px}
 body .site-header #main-nav .cms-member-links{display:contents}
 body .site-header #main-nav #userInfo{display:flex;flex-direction:column;align-items:stretch;gap:0}
 html:not(.js) body .site-header{height:auto}
 html:not(.js) body .site-header .header-row,html:not(.js) body .site-header .header-inner{height:auto;flex-wrap:wrap;padding-top:6px}
 html:not(.js) body .site-header .cms-menu-toggle{display:none}
 html:not(.js) body .site-header #main-nav{position:static;max-height:none;flex-basis:100%;box-shadow:none}
 body .category-buttons{display:flex;flex-wrap:nowrap;align-items:center;max-width:100%;gap:8px;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;scrollbar-width:thin}
 body .category-buttons a{display:block;flex:none;max-width:80vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal}
}
@media print{.cms-content-panel .cms-article-content{max-height:none!important;overflow:visible!important}.cms-article-content:after,.cms-content-toggle{display:none!important}}

/* Search stays in the top navigation row on desktop and mobile. */
body .site-header .header-row,body .site-header .header-inner{display:flex;flex-wrap:nowrap;align-items:center;gap:18px}
body .site-header .logo,body .site-header .brand{order:1;flex:0 1 auto;min-width:0;max-width:32%;width:auto;margin:0;align-self:center}
body .site-header .logo>span,body .site-header .brand>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body .site-header #main-nav{order:2;flex:1 1 0;min-width:0;gap:16px;flex-wrap:nowrap;white-space:nowrap;overflow:visible}
body .site-header #main-nav>a,body .site-header #main-nav .cms-member-links{flex:none}
body .site-header .cms-header-search{order:3;display:flex;align-items:center;position:relative;flex:0 1 210px;width:210px;min-width:140px;height:36px;box-sizing:border-box;margin:0;padding:0;border:1px solid var(--line,#bbb);border-radius:var(--cms-ui-radius,3px);background:var(--paper,#fff);color:var(--ink,#24382f)}
body .site-header .cms-header-search:focus-within{outline:2px solid var(--cms-ui-primary,#284936);outline-offset:2px}
.cms-search-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
body .site-header .cms-header-search input[type=search]{display:block;box-sizing:border-box;flex:1 1 0;width:100%;min-width:0;height:34px;min-height:0;margin:0;padding:6px 9px;border:0;border-radius:inherit;background:transparent;color:inherit;font:16px/1.3 var(--sans,'Segoe UI',Arial,sans-serif);outline:none;box-shadow:none}
body .site-header .cms-header-search input::placeholder{color:var(--muted,#596157);opacity:1}
body .site-header .cms-header-search button{display:grid;place-items:center;box-sizing:border-box;flex:0 0 36px;width:36px;height:34px;min-height:0;margin:0;padding:7px;border:0;border-radius:inherit;background:transparent;color:inherit;cursor:pointer}
body .site-header .cms-header-search button svg{display:block;width:18px;height:18px;flex:none}
body .site-header .cms-search-error{position:absolute;z-index:120;top:calc(100% + 8px);right:0;width:max-content;max-width:min(240px,80vw);padding:8px 10px;border:1px solid var(--line,#bbb);border-radius:var(--cms-ui-radius,3px);background:var(--paper,#fff);color:var(--ink,#24382f);box-shadow:0 4px 16px #0002;font:13px/1.45 var(--sans,'Segoe UI',Arial,sans-serif);white-space:normal}
@media(max-width:760px){
 body .site-header .header-row,body .site-header .header-inner{gap:8px}
 body .site-header .logo,body .site-header .brand{flex:1 1 0;max-width:none}
 body .site-header .cms-logo{max-width:60px;max-height:26px}
 body .site-header .cms-header-search{order:2;flex:0 1 160px;width:42vw;min-width:110px}
 body .site-header .cms-menu-toggle{order:3;margin:0;flex:none}
 body .site-header #main-nav,body .site-header #main-nav.open{order:4;flex:none;gap:0;white-space:normal;overflow-x:hidden;overflow-y:auto}
 html:not(.js) body .site-header #main-nav{flex-basis:100%}
}
@media print{body .site-header .cms-header-search{display:none}}

/* Stable mobile header and compact page rhythm. */
@media(max-width:760px){
 html{--header-height:55px;scroll-padding-top:67px}
 body,body.cms-auto{padding-top:55px}
 html body[class] .site-header{position:fixed;inset:0 0 auto;width:100%;height:55px;min-height:55px;box-sizing:border-box;transform:translateZ(0);backface-visibility:hidden;will-change:transform;isolation:isolate;contain:layout style;animation:none}
 html body[class] .site-header .header-row,html body[class] .site-header .header-inner{height:54px;min-height:54px;margin-block:0;padding-block:0}
 html:not(.js) body{padding-top:0}
 html:not(.js) body[class] .site-header{position:static;height:auto;transform:none;contain:none;will-change:auto}
 html:not(.js) body[class] .site-header .header-row,html:not(.js) body[class] .site-header .header-inner{height:auto;flex-wrap:wrap;padding-top:6px}
 html body[class] main>.cms-shell,html body[class] main>.wrap{padding-top:0}
 html body[class]>.utility{display:none}
 html body[class] .index-hero{padding-block:10px 6px;margin:0}
 html body[class] .index-hero h1,html body[class] .index-hero-content :is(h1,h2){font-size:22px;line-height:1.25;letter-spacing:-.4px;margin:0 0 6px;overflow-wrap:anywhere}
 html body[class] .index-hero-content{margin-top:6px}
 html body[class] .index-hero-content:empty{display:none}
 html body[class] .hero,html body[class] .cms-home-feature,body.theme-studio .cms-home-feature,html body[class] .hero.cms-home-feature{padding-block:14px;min-height:0;margin-block:0;gap:14px}
 html body[class] .cms-home-feature .hero-copy,html body[class] .cms-home-feature .hero-text{padding-block:0;margin-block:0}
 html body[class] .cms-home-feature :is(h1,.cms-page-title),html body[class] .page-head :is(h1,.cms-page-title),html body[class] .article-head h1{font-size:24px;line-height:1.25;letter-spacing:-.45px;margin-block:6px 8px}
 html body[class] .cms-category-head :is(h1,h2,.cms-page-title){font-size:22px;line-height:1.25;letter-spacing:-.35px;margin-block:4px 6px}
 html body[class] .page-head,html body[class] .cms-home-empty,html body[class] .cms-category-head{padding-block:12px;margin-block:0}
 html body[class] .page-head>p:empty,html body[class] .prose>p:empty{display:none}
 html body[class] .page-head p,html body[class] .cms-home-feature .hero-copy>p{font-size:13px;line-height:1.55;margin-block:0 8px}
 html body[class] .hero-actions,html body[class] .hero-links{margin-top:10px;gap:8px}
 html body[class] .section,html body[class] .library-section,html body[class] .article-layout,html body[class] .cms-article-layout{padding-block:16px;gap:16px}
 html body[class] .section-heading{gap:10px;margin-bottom:12px}
 html body[class] .section-heading h2{font-size:21px;line-height:1.25}
 html body[class] .section-heading p{margin-top:4px;margin-bottom:0}
 html body[class] .category-buttons{margin-block:4px 8px;padding-block:0 4px;gap:6px}
 html body[class] .cms-category-head{padding-bottom:6px}
 html body[class] .cms-category-head .eyebrow{margin-block:0 4px}
 html body[class] .cms-category-head+.library-section{padding-top:8px}
 html body[class] .index-hero-content p{margin-block:0 8px}
 html body[class] .index-hero-content>:last-child{margin-bottom:0}
 html body[class] .cms-policy-updated{margin-block:4px 8px;font-size:12px;line-height:1.5}
 html body[class] .site-header #main-nav,html body[class] .site-header #main-nav.open{top:55px}
 html:not(.js) body[class] .site-header #main-nav{top:auto}
 html body[class] .result-count{margin-block:6px 10px}
 html body[class] .filters{gap:8px;margin-bottom:10px}
 html body[class] .project-grid,html body[class] .guide-grid,html body[class] .card-grid,html body[class] .cms-feed-grid{gap:16px 12px}
 html body[class] .guide-card .card-body,html body[class] .article-card .card-body,html body[class] .project-card .card-body{padding:14px}
 html body[class] .project-card h3,html body[class] .guide-card h3,html body[class] .article-card h3{font-size:18px;line-height:1.3;margin-bottom:6px}
 html body[class] .policy-layout{gap:14px;padding-block:12px;margin-block:0}
 html body[class] .policy-label{font-size:12px;line-height:1.5}
 html body[class] .prose{font-size:14px;line-height:1.65;padding-block:0}
 html body[class] .prose h2{font-size:20px;line-height:1.3;margin-block:18px 8px}
 html body[class] .prose h3{font-size:17px;line-height:1.35;margin-block:14px 6px}
 html body[class] .prose p,html body[class] .prose ul,html body[class] .prose ol{margin-bottom:12px}
 html body[class] .prose>:first-child{margin-top:0}
 html body[class] .cms-ad-slot{margin-block:10px}
 html body[class] main>.cms-shell>.cms-ad-slot:first-child,html body[class] main>.wrap>.cms-ad-slot:first-child{margin-top:10px}
 html body[class] .cms-pagination{margin-block:16px}
 html body[class] .site-footer{padding-block:22px 16px;margin-top:16px}
}

/* Keep save actions short and on one line in narrow cards. */
@media(max-width:760px){
 html body[class] [data-save]{white-space:nowrap;flex-shrink:0}
 html body[class] [data-save] .cms-save-detail{display:none}
}

/* Keep desktop navigation in one row, including account controls. */
@media(min-width:761px){
 body .site-header #main-nav{display:flex;flex-direction:row;flex-wrap:nowrap;width:auto;margin:0;padding:0;border:0;align-items:center}
 body .site-header #main-nav a,body .site-header #main-nav button,body .site-header #userInfo{flex-shrink:0;white-space:nowrap}
 body .site-header #userInfo{display:inline-flex;align-items:center;gap:12px}
}
/* The frame owns its size even when its image is missing or fails to load. */
body .cms-home-feature .cms-feature-image{display:block;width:100%;min-width:0;position:relative;overflow:hidden;aspect-ratio:1.35;max-height:560px}
body .cms-home-feature .cms-feature-image>img{position:absolute;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;margin:0}
body .cms-home-feature .cms-feature-image>.cms-image-placeholder{position:absolute;inset:0;display:grid;place-items:center;width:100%;height:100%;min-height:0;margin:0;padding:24px;box-sizing:border-box;overflow:hidden;text-align:center;overflow-wrap:anywhere}
body .cms-home-feature .cms-feature-image>.cms-image-placeholder[hidden]{display:none!important}
body.theme-boutique .cms-home-feature .cms-feature-image{aspect-ratio:2.4}
body.studio .cms-home-feature .cms-feature-image{aspect-ratio:3.1}
body.diagnostic .cms-home-feature .cms-feature-image{aspect-ratio:4.4}
body.theme-patisserie .cms-home-feature .cms-feature-image{aspect-ratio:2.78}
body.workshop .cms-home-feature .cms-feature-image{height:100%;max-height:none;aspect-ratio:auto}
body.workshop .cms-home-feature .cms-feature-image>.cms-image-placeholder{place-items:end center;padding-bottom:24px;font-size:20px}
@media(min-width:761px){
 body.theme-ferment .cms-home-feature .cms-feature-image{height:100%;max-height:none;aspect-ratio:auto}
 body.theme-ferment .cms-home-feature .cms-feature-image>.cms-image-placeholder{padding-left:calc(56% + 24px);font-size:clamp(20px,2vw,32px)}
}
@media(max-width:760px){
 body .cms-home-feature .cms-feature-image{aspect-ratio:1.55}
 body.workshop .cms-home-feature .cms-feature-image{height:auto;max-height:560px;aspect-ratio:1.55}
 body.diagnostic .cms-home-feature .cms-feature-image{aspect-ratio:2}
}
/* Only offer settings after the desktop cookie manager has actually loaded. */
html:not(.cms-cookie-ready) [data-cookie-action="settings"]{display:none!important}

/* Desktop overflow links are available from a More disclosure. */
body .site-header #main-nav .cms-nav-more[hidden],body .site-header #main-nav .cms-nav-more-links[hidden]{display:none!important}
@media(min-width:761px){
 body .site-header #main-nav{position:relative;overflow:visible;min-width:72px}
 body .site-header #main-nav .cms-nav-links{display:flex;align-items:center;flex:1 1 0;gap:16px;min-width:0;overflow:hidden;white-space:nowrap}
 body .site-header #main-nav .cms-nav-links>*{flex:none}
 body .site-header #main-nav .cms-nav-more{position:relative;flex:none}
 body .site-header #main-nav .cms-nav-more-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;margin:0;padding:7px 10px;border:1px solid var(--line,#d7d0c3);border-radius:var(--cms-ui-radius,3px);background:transparent;color:inherit;font:inherit;line-height:1.4;white-space:nowrap;cursor:pointer}
 body .site-header #main-nav .cms-nav-more-toggle:hover,body .site-header #main-nav .cms-nav-more-toggle[aria-expanded=true]{background:color-mix(in srgb,var(--ink,#24382f) 6%,var(--paper,#fff))}
 body .site-header #main-nav .cms-nav-more-toggle svg{display:block;width:14px;height:14px;flex:none}
 body .site-header #main-nav .cms-nav-more-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
 body .site-header #main-nav .cms-nav-more-links{display:flex;position:absolute;z-index:130;inset:calc(100% + 10px) 0 auto auto;flex-direction:column;align-items:stretch;gap:0;width:min(320px,calc(100vw - 32px));max-height:min(480px,calc(100dvh - var(--header-height,88px) - 32px));padding:6px;border:1px solid var(--line,#d7d0c3);border-radius:var(--cms-ui-radius,3px);background:var(--paper,#fff);color:var(--ink,#24382f);box-shadow:0 12px 32px #0002;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;white-space:normal}
 body .site-header #main-nav .cms-nav-more-links a,body .site-header #main-nav .cms-nav-more-links #logoutBtn{display:flex;align-items:center;min-width:0;max-width:none;min-height:40px;width:100%;height:auto;margin:0;padding:10px 12px;border:0;border-radius:var(--cms-ui-radius,3px);background:transparent;color:inherit;font:inherit;line-height:1.45;white-space:normal;overflow-wrap:anywhere;text-align:left;text-decoration:none;-webkit-line-clamp:unset}
 body .site-header #main-nav .cms-nav-more-links a:hover,body .site-header #main-nav .cms-nav-more-links a[aria-current=page],body .site-header #main-nav .cms-nav-more-links #logoutBtn:hover{background:color-mix(in srgb,var(--ink,#24382f) 7%,var(--paper,#fff))}
 body .site-header #main-nav .cms-nav-more-links #userInfo{display:flex;flex-direction:column;align-items:stretch;gap:0}
 html:not(.js) body .site-header #main-nav{flex-wrap:wrap}
}
@media(max-width:760px){
 body .site-header #main-nav .cms-nav-links{display:contents}
 body .site-header #main-nav .cms-nav-more{display:none!important}
}
