@font-face{font-family:Neuton;src:url('/brand/neuton-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('/brand/poppins-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('/brand/poppins-semibold.woff2') format('woff2');font-style:normal;font-weight:600 900;font-display:swap}
@font-face{font-family:Poppins;src:url('/brand/poppins-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
:root{--kef-lime:#84bf41;--kef-heading:Neuton,Georgia,serif;--kef-body:Poppins,'Segoe UI',sans-serif}
body,input,select,textarea,button{font-family:var(--kef-body)}
h1,h2,.auth-inner h2,.brand,.stat strong,.product-card h3,.wiki-card h2,.catalog-top .discount-number,.online-invitation-note>strong{font-family:var(--kef-heading);font-weight:400}
.modal-header h2,.delivery-trip-card>strong,.delivery-origin h2,.delivery-stop-heading h3,.delivery-empty h3{font-family:var(--kef-heading)}
body:has(dialog[open]){overflow:hidden}
dialog:not(.order-dialog)[open]{display:flex;flex-direction:column;overflow:hidden;max-height:calc(100dvh - 32px)}
dialog:not(.order-dialog) .modal-header,dialog:not(.order-dialog) .modal-footer{flex-shrink:0}
dialog:not(.order-dialog) .modal-header h2{min-width:0;overflow-wrap:anywhere}
dialog:not(.order-dialog) .modal-header .icon-button{flex-shrink:0}
dialog:not(.order-dialog) .modal-body{overflow-y:auto;min-height:0;overscroll-behavior:contain}
.auth-story h1,.page-heading h1{letter-spacing:-.015em}.auth-story h1 em{color:#c3d68c}
.brand.kef-brand{display:flex;flex-direction:column;align-items:flex-start;gap:12px;max-width:100%}
.brand.kef-brand img{box-sizing:content-box;width:180px;max-width:calc(100% - 28px);height:auto;aspect-ratio:480/110;object-fit:contain;padding:12px 14px;background:#fffef8;border-radius:5px}
.brand.kef-brand>span{font-family:var(--kef-body);font-size:.78rem;line-height:1.5;font-weight:400}
.brand.kef-brand small{font-family:var(--kef-body);font-size:.6rem;letter-spacing:.13em;margin-top:3px}
.auth-story>.kef-brand{padding-bottom:22px}.auth-story h1{margin-top:45px}
.kef-auth-link{font-size:.76rem;margin-top:15px}.kef-tabs{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:24px}.kef-tabs .button{font-size:.79rem;min-height:44px}
.kef-family{display:flex;align-items:center;gap:12px;font-size:.8rem;flex-wrap:wrap}.kef-family select{width:auto;min-width:220px;max-width:100%}
.kef-reference-card{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.kef-reference-card>p{margin:0}.kef-reference-card>.link-button{margin-top:auto}
.kef-facts{display:grid;gap:13px;margin-top:15px}.kef-facts dt{font-weight:600;font-size:.72rem;color:var(--muted)}.kef-facts dd{margin:3px 0 0;font-size:.83rem;overflow-wrap:anywhere}
.kef-about{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.kef-about h2{font-size:1.8rem;line-height:1.15;margin:10px 0 16px}.kef-about p{font-size:.86rem;line-height:1.8;margin:14px 0}.kef-about a{overflow-wrap:anywhere}.kef-story{grid-column:1/-1}.kef-resource-links{padding-left:18px;display:grid;gap:12px;font-size:.85rem}#modal .kef-about{grid-template-columns:1fr}.kef-about .panel{min-width:0}
.kef-library-note{margin:0 0 20px;font-size:.83rem;color:var(--muted);max-width:850px}.kef-library-note a{white-space:nowrap}
@media(max-width:720px){.brand.kef-brand{gap:8px}.brand.kef-brand img{width:148px;padding:9px 11px}.sidebar .brand.kef-brand{gap:7px}.sidebar .brand.kef-brand img{width:132px}.sidebar .brand.kef-brand>span{font-size:.68rem}.sidebar .brand.kef-brand small{display:none}.auth-story h1{margin-top:24px}.kef-about{grid-template-columns:1fr}.kef-tabs{gap:7px}.kef-tabs .button{padding:10px;font-size:.72rem}.filters .kef-family{width:100%}.kef-family select{flex:1;min-width:0}.kef-about h2{font-size:1.6rem}}

/* Quantity-first ordering, including the customer price list. */
.order-quantity{display:grid;gap:8px}.order-quantity>small{max-width:230px}.order-quantity .quantity button{min-width:46px;font-size:.8rem}.order-quantity .quantity input{width:70px}.selected-line-price{font-weight:600;color:var(--ink)}.product-actions>div:first-child>small{display:block}.product-actions{min-width:0}
@media(max-width:600px){.product-card .product-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}.order-quantity .button{min-height:44px}.order-quantity .quantity button{min-height:44px}.product-card .meta{line-height:1.6}.product-card{min-width:0}}

@media(max-width:980px){.catalog-layout{grid-template-columns:minmax(0,1fr)}.catalog-layout>section{min-width:0}}

/* Local cheese-library photographs and long-form articles. */
.kef-card-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#fff;border-radius:12px;margin-bottom:6px}.kef-local-article{max-width:800px;margin:auto}.kef-article-photo{display:block;max-width:100%;width:420px;height:auto;aspect-ratio:1;object-fit:contain;background:#fff;border-radius:14px;margin:0 auto 22px}.kef-article-copy{white-space:pre-wrap;line-height:1.9;font-size:.94rem;overflow-wrap:anywhere}.kef-article-source{font-size:.8rem;color:var(--muted)}.kef-article-source summary{cursor:pointer;min-height:44px;display:flex;align-items:center}#kef-library-form textarea{min-height:300px;line-height:1.6}
@media(max-width:600px){.kef-article-photo{width:100%;max-height:320px}.kef-article-copy{font-size:.9rem;line-height:1.75}.kef-card-photo{aspect-ratio:1}}

/* Matched to abrahamkef.nl font declarations, checked 21 September 2026.
   Serif for editorial headings; Poppins for controls and working lists. */
.page-heading h1,.ledger-heading h1,.auth-inner h2,.dashboard-start h1,.calendar-storefront-heading h2,.calendar-editorial-copy h3,.calendar-edition-intro h3{font-family:var(--kef-heading);font-weight:400;letter-spacing:-.012em;line-height:1.12}
.panel-header h2,.panel-body>h2{font-family:var(--kef-heading);font-weight:400;letter-spacing:-.012em;font-size:1.55rem;line-height:1.2}
.product-card h3,.wiki-card h2,.stat strong{font-family:var(--kef-heading);font-weight:400}
.side-nav button,.button,.field,.search input{letter-spacing:0}
.eyebrow{font-family:var(--kef-body);font-weight:600;letter-spacing:.105em}
.modal-body p,.panel-body>p{line-height:1.75}
