@font-face{font-family:Alegreya;src:url('../fonts/alegreya-latin.woff2') format('woff2');font-weight:400 900;font-style:normal;font-display:swap}@font-face{font-family:'Alegreya Sans';src:url('../fonts/alegreya-sans-regular-latin.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'Alegreya Sans';src:url('../fonts/alegreya-sans-bold-latin.woff2') format('woff2');font-weight:700 800;font-style:normal;font-display:swap}
:root{--page:#f6f7f3;--surface:#fff;--text:#202522;--muted:#606863;--accent:#365f4b;--accent-hover:#294b3b;--secondary:#a65e42;--border:#d8ddd8;--soft:#ebefea;--error:#a33a32;--success:#317047;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--r1:4px;--r2:6px;--r3:8px;--container:1200px;--reading:720px;--font-display:Alegreya,Georgia,serif;--font-ui:'Alegreya Sans',system-ui,sans-serif;--small:.8125rem;--secondary-size:.9375rem;--body:1rem;--large:1.125rem;--h-small:1.25rem;--h-section:clamp(1.5rem,2vw,2rem);--h-page:clamp(2rem,4vw,3.5rem);--h-display:clamp(2.75rem,6vw,5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--page);color:var(--text);font:400 var(--body)/1.55 var(--font-ui);text-rendering:optimizeLegibility}img{max-width:100%;height:auto}a{color:var(--accent);text-underline-offset:.18em}a:hover{color:var(--accent-hover)}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{font-family:var(--font-display);line-height:1.05;margin:0 0 var(--s4)}h1{font-size:var(--h-page);letter-spacing:-.02em}h2{font-size:var(--h-section)}h3{font-size:var(--h-small)}p{margin:0 0 var(--s4)}.container{width:min(calc(100% - 2 * var(--s5)),var(--container));margin-inline:auto}.reading-width{max-width:var(--reading);margin-inline:auto}.page-section{padding-block:var(--s8)}.page-header{margin-bottom:var(--s7);max-width:850px}.lede{font-size:var(--large);color:var(--muted);max-width:70ch}.meta{font-size:var(--small);color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;left:var(--s4);top:var(--s4);background:var(--text);color:#fff;padding:var(--s3) var(--s4);transform:translateY(-150%)}.skip-link:focus{transform:none}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;vertical-align:middle}
.site-header{position:relative;z-index:20;background:var(--page);border-bottom:1px solid var(--border)}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:var(--s5)}.site-brand{text-decoration:none;color:var(--text)}.brand-type{font:700 1.5rem/1 var(--font-display)}.site-logo{display:block;width:auto;height:42px;object-fit:contain;object-position:left center}.primary-nav{display:flex;align-items:center;gap:var(--s5)}.primary-nav ul{display:flex;align-items:center;gap:var(--s3);list-style:none;margin:0;padding:0}.primary-nav .menu>li>a{position:relative;display:flex;align-items:center;min-height:44px;padding-inline:var(--s2);color:var(--text);font-size:var(--secondary-size);font-weight:700;text-decoration:none}.primary-nav .menu>li>a:after{content:"";position:absolute;right:var(--s2);bottom:4px;left:var(--s2);height:2px;background:var(--accent);transform:scaleX(0);transform-origin:center;transition:transform .18s ease}.primary-nav .menu>li>a:hover,.primary-nav .menu>li>a:focus-visible,.primary-nav .current-menu-item>a,.primary-nav .current-menu-ancestor>a{color:var(--accent)}.primary-nav .menu>li>a:hover:after,.primary-nav .current-menu-item>a:after,.primary-nav .current-menu-ancestor>a:after{transform:scaleX(1)}.nav-toggle{display:none;width:44px;height:44px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2)}.header-search{display:grid;grid-template-columns:minmax(0,1fr) 36px;width:230px;min-height:44px;margin:0;padding:3px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);transition:border-color .15s ease}.header-search:focus-within{border-color:var(--accent);outline:3px solid #c47555;outline-offset:2px}.header-search input:not([type=range]){min-width:0;height:36px;min-height:36px;padding-inline:var(--s3);background:transparent;border:0;border-radius:var(--r1)}.header-search input:focus-visible{outline:0}.header-search button{display:grid;width:36px;height:36px;padding:0;place-items:center;background:var(--accent);border:0;border-radius:var(--r1);color:#fff;cursor:pointer}.header-search button:hover{background:var(--accent-hover)}.header-search button:focus-visible{outline:2px solid var(--surface);outline-offset:-4px}.header-search .icon{width:17px;height:17px}
.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);padding:0 var(--s5);border:1px solid transparent;border-radius:var(--r1);font-weight:700;text-decoration:none;cursor:pointer}.button--primary{background:var(--accent);color:#fff}.button--primary:hover{background:var(--accent-hover);color:#fff}.button--secondary{border-color:var(--accent);background:transparent;color:var(--accent)}.button--secondary:hover{background:var(--soft)}.button--large{min-height:48px;padding-inline:var(--s6)}.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[contenteditable]:focus-visible{outline:3px solid #c47555;outline-offset:3px}.button:disabled{opacity:.55;cursor:not-allowed}.text-link{display:inline-flex;align-items:center;gap:var(--s2);font-weight:700}
label{display:block;font-size:var(--secondary-size);font-weight:700;margin-bottom:var(--s2)}input:not([type=range]),select,textarea{width:100%;min-height:44px;border:1px solid #87908b;background:var(--surface);border-radius:var(--r1);padding:0 var(--s3)}textarea{padding-block:var(--s3)}input[type=range]{accent-color:var(--accent);width:100%}.field--wide{grid-column:span 2}
.hero{padding:0;background:var(--surface);border-bottom:1px solid var(--border)}.hero .hero-layout{width:min(calc(100% - 2 * var(--s5)),1600px)}.hero-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);min-height:560px}.hero-content{display:flex;flex-direction:column;justify-content:center;padding:var(--s8) var(--s8) var(--s8) 0}.hero-title{font-size:clamp(3rem,4.4vw,5rem);margin-bottom:var(--s5);letter-spacing:-.035em}.hero-title span{display:block;white-space:nowrap}.hero-title span:first-child{color:var(--text);font-family:var(--font-display);font-style:normal;font-weight:650}.hero-title span:last-child{color:var(--accent);font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.045em}.hero-description{max-width:680px;margin-bottom:var(--s6);font-size:var(--large);color:var(--muted)}.hero-search{max-width:760px}.hero-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto}.hero-search-row input:not([type=range]){min-height:60px;border-color:var(--border);border-right:0;border-radius:var(--r3) 0 0 var(--r3);padding-inline:var(--s5);font-size:var(--large)}.hero-search-row .button{min-width:150px;min-height:60px;border-radius:0 var(--r3) var(--r3) 0;padding-inline:var(--s6)}.popular-links{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2) var(--s3);margin-top:var(--s5);font-size:var(--secondary-size)}.popular-links>span{font-weight:700;color:var(--text)}.popular-links a{display:inline-flex;align-items:center;min-height:40px;padding-inline:var(--s4);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);text-decoration:none}.popular-links a:hover{color:var(--accent);border-color:var(--accent);background:var(--soft)}.hero-visual{position:relative;min-height:100%;margin-right:calc((100vw - min(calc(100vw - 2 * var(--s5)),1600px))/-2);background:var(--soft);background-position:center;background-size:cover;border-left:1px solid var(--border);overflow:hidden}.hero-visual__fallback{position:absolute;inset:0;display:grid;place-items:center;color:var(--accent);font:italic 700 clamp(8rem,18vw,16rem)/1 Georgia,serif;opacity:.16}.hero-visual.has-image .hero-visual__fallback{display:none}.section-head{display:flex;align-items:end;justify-content:space-between;gap:var(--s5);margin-bottom:var(--s6)}.soft-section{background:var(--soft);border-block:1px solid var(--border)}
.font-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}.font-card{position:relative;display:flex;min-height:280px;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);padding:var(--s5)}.font-card:hover{border-color:#aeb7b1}.font-card__meta,.font-card__footer{display:flex;justify-content:space-between;gap:var(--s3);font-size:var(--small);color:var(--muted)}.font-card h3{font-size:1.5rem;margin-top:var(--s5)}.font-card h3 a{text-decoration:none;color:var(--text)}.font-card h3 a:after{content:"";position:absolute;inset:0}.font-card__meta a,.font-card__footer a{position:relative;z-index:1}.font-card__specimen{font:400 1.65rem/1.25 var(--font-display);overflow-wrap:anywhere}.font-card__footer{align-items:center;margin-top:auto}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-right:0;border-bottom:0}.category-link{position:relative;display:flex;flex-direction:column;min-height:140px;padding:var(--s5);border-right:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--text);text-decoration:none}.category-link:hover{background:var(--surface)}.category-link span{font:600 1.35rem var(--font-display)}.category-link small{color:var(--muted)}.category-link .icon{position:absolute;bottom:var(--s5);right:var(--s5)}.trust-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--s9)}.trust-grid dl{margin:0}.trust-grid dl div,.metadata div{padding:var(--s4) 0;border-top:1px solid var(--border)}.trust-grid dt,.metadata dt{font-size:var(--small);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.trust-grid dd,.metadata dd{margin:var(--s1) 0 0}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}.post-card{border-top:2px solid var(--text);padding-top:var(--s4)}.post-card h2 a,.post-card h3 a{color:var(--text);text-decoration:none}.post-list{display:grid;gap:var(--s7)}
.filter-panel{display:grid;grid-template-columns:2fr repeat(5,1fr);gap:var(--s3);align-items:end;background:var(--soft);border:1px solid var(--border);padding:var(--s5);margin-bottom:var(--s5)}.result-head{display:flex;align-items:end;justify-content:space-between;gap:var(--s5);margin-bottom:var(--s5)}.result-head p{font-weight:700}.result-head label{display:inline-block;margin-right:var(--s2)}.result-head input{display:inline-block;width:340px}.empty-state{grid-column:1/-1;border:1px solid var(--border);background:var(--surface);padding:var(--s7);text-align:center}.pagination .nav-links{display:flex;gap:var(--s2);justify-content:center;margin-top:var(--s7)}.page-numbers{display:grid;place-items:center;min-width:44px;height:44px;border:1px solid var(--border);text-decoration:none}.page-numbers.current{background:var(--text);color:#fff}
.font-hero{background:var(--soft);border-bottom:1px solid var(--border);padding-block:var(--s4) var(--s7)}.breadcrumbs{display:flex;gap:var(--s2);margin-bottom:var(--s5);font-size:var(--small)}.font-title{margin-bottom:var(--s5)}.font-title h1{margin-bottom:var(--s2)}.font-title .lede{margin:0}.specimen-panel{overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2)}.preview-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--s5);padding:var(--s4);border-bottom:1px solid var(--border)}.preview-text-field label,.preview-size-control>span{display:block;margin-bottom:var(--s2);font-size:var(--small);font-weight:700;color:var(--muted)}.preview-text-field input{min-height:48px;background:var(--page);border-color:var(--border);font-size:var(--large)}.preview-size-control>div{display:grid;grid-template-columns:44px 74px 44px;align-items:center}.preview-size-control button{display:grid;width:44px;height:48px;padding:0;place-items:center;background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:1.25rem;font-weight:700;cursor:pointer}.preview-size-control button:first-child{border-radius:var(--r1) 0 0 var(--r1)}.preview-size-control button:last-child{border-radius:0 var(--r1) var(--r1) 0}.preview-size-control button:hover{background:var(--soft);color:var(--accent)}.preview-size-control button:focus-visible,.preview-advanced summary:focus-visible{outline:3px solid #c47555;outline-offset:3px}.preview-size-control output{display:grid;height:48px;place-items:center;background:var(--page);border-block:1px solid var(--border);font-size:var(--secondary-size);font-weight:700}.font-specimen{display:flex;min-height:220px;margin:0;padding:var(--s7);align-items:center;background:var(--surface);font:400 64px/1.1 var(--font-display);overflow-wrap:anywhere}.preview-advanced{border-top:1px solid var(--border)}.preview-advanced summary{display:flex;min-height:48px;padding-inline:var(--s4);align-items:center;color:var(--accent);font-size:var(--secondary-size);font-weight:700;cursor:pointer}.preview-advanced summary:hover{background:var(--soft)}.axis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5);padding:0 var(--s4) var(--s5)}.axis-control label{display:flex;justify-content:space-between;gap:var(--s3)}.axis-control output{color:var(--muted);font-variant-numeric:tabular-nums}.axis-control input[type=range]{height:24px;background:transparent;appearance:none}.axis-control input[type=range]::-webkit-slider-runnable-track{height:4px;background:var(--border);border-radius:999px}.axis-control input[type=range]::-webkit-slider-thumb{width:18px;height:18px;margin-top:-7px;background:var(--accent);border:3px solid var(--surface);border-radius:50%;box-shadow:0 0 0 1px var(--accent);appearance:none}.axis-control input[type=range]::-moz-range-track{height:4px;background:var(--border);border:0;border-radius:999px}.axis-control input[type=range]::-moz-range-thumb{width:14px;height:14px;background:var(--accent);border:3px solid var(--surface);border-radius:50%;box-shadow:0 0 0 1px var(--accent)}.download-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);padding:var(--s4);background:var(--page);border-top:1px solid var(--border);color:var(--text)}.download-summary strong,.download-summary span{display:block}.download-summary strong{font-size:var(--body)}.download-summary span{margin-top:var(--s1);color:var(--muted);font-size:var(--small)}.download-bar form{margin:0}.font-details{padding-block:var(--s7) var(--s8)}.tab-list{display:flex;overflow-x:auto;margin-bottom:var(--s6);border-bottom:1px solid var(--border);scrollbar-width:none}.tab-list::-webkit-scrollbar{display:none}.tab-list a{position:relative;display:flex;min-height:52px;padding-inline:var(--s5);align-items:center;flex:0 0 auto;color:var(--muted);font-weight:700;text-decoration:none}.tab-list a:after{content:"";position:absolute;right:var(--s5);bottom:-1px;left:var(--s5);height:3px;background:var(--accent);transform:scaleX(0)}.tab-list a:hover,.tab-list a[aria-selected=true]{color:var(--accent)}.tab-list a[aria-selected=true]:after{transform:scaleX(1)}.detail-content{width:100%;max-width:none;margin:0}.detail-section{scroll-margin-top:var(--s5)}.detail-section>.prose{max-width:72ch}.detail-section>h2:first-child{margin-bottom:var(--s5)}.tabs-enhanced .detail-section[hidden]{display:none}.tabs-enhanced .detail-section{min-height:360px}.metadata{display:grid;grid-template-columns:1fr 1fr;column-gap:var(--s6);margin-block:var(--s6)}.notice{border-left:3px solid var(--secondary);background:var(--soft);padding:var(--s4)}.code-copy{position:relative;background:#252a27;color:#eef1ee;border-radius:var(--r1);padding:var(--s5)}.code-copy pre{white-space:pre-wrap;margin:0;padding-right:100px}.code-copy .button{position:absolute;right:var(--s3);top:var(--s3);border-color:#9aa29d;color:#fff}.break-all{word-break:break-all}.character-map{display:grid;grid-template-columns:repeat(8,1fr);gap:var(--s2);margin-block:var(--s5)}.glyph{min-height:70px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--border);font-size:1.5rem}.glyph small{display:block;font:var(--small) var(--font-ui);color:var(--muted)}
.prose>*+*{margin-top:var(--s5)}.prose h2{margin-top:var(--s7)}.prose blockquote{border-left:3px solid var(--secondary);margin-inline:0;padding-left:var(--s5);font:italic var(--large) var(--font-display)}.site-footer{background:var(--text);color:#cbd2cd;padding-block:var(--s8) var(--s5);border-top:4px solid var(--accent)}.site-footer a{color:#eef2ef;text-decoration:none}.footer-grid{display:grid;grid-template-columns:minmax(300px,1.7fr) minmax(140px,.65fr) minmax(180px,.8fr);column-gap:var(--s9);row-gap:var(--s7)}.footer-brand{max-width:440px}.site-brand--footer{display:inline-flex;margin-bottom:var(--s5)}.site-brand--footer .site-logo{max-width:220px;height:46px;object-position:left center}.footer-brand p{max-width:38ch;margin:0;color:#aeb8b2;font-size:var(--secondary-size);line-height:1.65}.site-footer nav h2{margin-bottom:var(--s4);color:#fff;font:700 1rem/1.2 var(--font-ui);letter-spacing:.01em}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li+li{margin-top:var(--s1)}.site-footer nav a{display:inline-flex;align-items:center;min-height:34px;color:#cbd2cd;font-size:var(--secondary-size);font-weight:600;text-decoration:none;transition:color .15s ease}.site-footer nav a:hover,.site-footer nav a:focus-visible{color:#fff;text-decoration:none}.footer-note{grid-column:1/-1;margin:0;padding-top:var(--s5);border-top:1px solid #444c47;color:#8f9993;font-size:var(--small)}
.contact-form{display:grid;gap:var(--s5);margin-top:var(--s6)}

/* Fluent Forms contact form: intentionally follows the theme's native controls. */
.fluentform_wrapper{margin-top:var(--s6)}.fluentform_wrapper .ff-el-group{margin-bottom:var(--s5)}.fluentform_wrapper .ff-el-input--label{margin-bottom:var(--s2)}.fluentform_wrapper .ff-el-input--label label{margin:0;font-family:var(--font-ui);font-size:var(--secondary-size);font-weight:700;color:var(--text)}.fluentform_wrapper .ff-el-help-message{display:block;margin-top:var(--s2);font-size:var(--small);line-height:1.45;color:var(--muted)}.fluentform_wrapper .ff-el-form-control{width:100%;min-height:44px;border:1px solid #87908b;background:var(--surface);border-radius:var(--r1);padding:0 var(--s3);box-shadow:none;color:var(--text)}.fluentform_wrapper textarea.ff-el-form-control{min-height:150px;padding-block:var(--s3);resize:vertical}.fluentform_wrapper .ff-el-form-control:focus{border-color:var(--accent);outline:3px solid #c47555;outline-offset:3px;box-shadow:none}.fluentform_wrapper .ff-el-is-error .ff-el-form-control{border-color:var(--error)}.fluentform_wrapper .error.text-danger,.fluentform_wrapper .ff-el-is-error .text-danger{display:block;margin-top:var(--s2);font-size:var(--small);color:var(--error)}.fluentform_wrapper .ff_t_c{font-size:var(--secondary-size);line-height:1.5;color:var(--muted)}.fluentform_wrapper .ff-el-form-check-label{display:flex;align-items:flex-start;gap:var(--s3);font-weight:400}.fluentform_wrapper .ff-el-form-check-input{flex:0 0 auto;width:20px;height:20px;margin-top:2px;accent-color:var(--accent)}.fluentform_wrapper .ff-btn-submit{min-height:44px;border:1px solid transparent;border-radius:var(--r1);padding:0 var(--s5);background:var(--accent)!important;color:#fff!important;font-family:var(--font-ui);font-weight:700;box-shadow:none;cursor:pointer}.fluentform_wrapper .ff-btn-submit:hover{background:var(--accent-hover)!important}.fluentform_wrapper .ff-btn-submit:focus-visible{outline:3px solid #c47555;outline-offset:3px}.fluentform_wrapper .ff-message-success{padding:var(--s5);border:1px solid var(--success);background:var(--soft);color:var(--text)}
.category-page-header{margin-bottom:var(--s6)}.category-groups{display:grid;gap:var(--s5)}.category-group{display:grid;grid-template-columns:260px 1fr;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);overflow:hidden}.category-group>header{padding:var(--s5);background:var(--soft);border-right:1px solid var(--border)}.category-group>header p{font-size:var(--secondary-size);color:var(--muted);margin:0}.category-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.category-directory__item{display:flex;align-items:center;justify-content:space-between;min-height:110px;padding:var(--s5);border-right:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--text);text-decoration:none}.category-directory__item:hover{background:var(--page)}.category-directory__item strong,.category-directory__item small{display:block}.category-directory__item strong{font:600 1.3rem var(--font-display)}.category-directory__item small{color:var(--muted)}.collection-summary{display:block;margin-top:var(--s3);font-size:var(--secondary-size);color:var(--muted);line-height:1.45}
@media(max-width:1050px){.primary-nav{gap:var(--s3)}.primary-nav ul{gap:var(--s2)}.header-search{width:190px}.footer-grid{column-gap:var(--s7)}}
@media(max-width:900px){.hero-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);min-height:540px}.hero-content{padding-right:var(--s6)}.hero-title{font-size:clamp(2.75rem,6vw,4.25rem)}.font-grid{grid-template-columns:repeat(2,1fr)}.category-grid{grid-template-columns:repeat(2,1fr)}.filter-panel{grid-template-columns:repeat(2,1fr)}.filter-panel .button{grid-column:span 2}.trust-grid{gap:var(--s7)}.category-group{grid-template-columns:1fr}.category-group>header{border-right:0;border-bottom:1px solid var(--border)}}
@media(max-width:680px){.container{width:min(calc(100% - 2 * var(--s4)),var(--container))}.page-section{padding-block:var(--s7)}.hero-layout{grid-template-columns:1fr;min-height:0}.hero-content{padding:var(--s7) 0}.hero-title{font-size:clamp(2.75rem,14vw,4rem)}.hero-description{margin-bottom:var(--s5)}.hero-search-row .button{padding-inline:var(--s5)}.popular-links{align-items:flex-start}.hero-visual{min-height:320px;margin-right:0;border-top:1px solid var(--border);border-left:0}.section-head{align-items:flex-start;flex-direction:column;gap:var(--s3)}.trust-grid,.footer-grid{grid-template-columns:1fr;gap:var(--s5)}.primary-nav{display:none;position:absolute;left:0;right:0;top:76px;z-index:10;background:var(--page);padding:var(--s4);border-bottom:1px solid var(--border);align-items:stretch}.primary-nav.is-open{display:grid}.primary-nav ul{display:grid;gap:0}.primary-nav .menu>li+li{border-top:1px solid var(--border)}.primary-nav .menu>li>a{min-height:48px;padding-inline:var(--s2);font-size:1rem}.primary-nav .menu>li>a:after{right:auto;bottom:0;left:var(--s2);width:32px}.primary-nav .header-search{grid-template-columns:minmax(0,1fr) 36px;width:100%;margin-top:var(--s4)}.nav-toggle{display:grid;place-items:center}.font-grid,.post-grid,.metadata,.category-directory{grid-template-columns:1fr}.category-grid{grid-template-columns:1fr 1fr}.category-link{min-height:120px}.filter-panel{grid-template-columns:1fr}.filter-panel .button,.field--wide{grid-column:auto}.result-head,.download-bar{align-items:stretch;flex-direction:column}.result-head input{width:100%}.preview-toolbar{grid-template-columns:1fr}.preview-size-control>div{width:max-content}.font-specimen{min-height:170px;padding:var(--s5);font-size:42px}.axis-grid{grid-template-columns:1fr}.download-bar .button{width:100%}.tab-list{margin-inline:calc(var(--s4) * -1);padding-inline:var(--s4)}.tab-list a{padding-inline:var(--s4)}.character-map{grid-template-columns:repeat(4,1fr)}}
@media(max-width:680px){.hero .hero-layout{width:min(calc(100% - 2 * var(--s4)),var(--container))}.hero-title span{white-space:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.hero{position:relative;z-index:2;overflow:visible;background-color:var(--soft);background-position:center;background-repeat:no-repeat;background-size:cover}.hero.has-hero-image{background-image:var(--hero-image)}.hero .hero-layout{width:min(calc(100% - 2 * var(--s5)),var(--container))}.hero-content{position:relative;z-index:2;background:transparent}.hero-visual{margin:0;border:0;background:transparent}.hero.has-hero-image .hero-visual__fallback{display:none}.hero-search-row .button .icon{display:none}@media(max-width:680px){.hero{width:auto;min-height:560px;margin:var(--s4);background-image:none;border:1px solid var(--border);border-radius:var(--r3);background-position:center;background-size:cover}.hero.has-hero-image{background-image:none}.hero.has-mobile-hero-image{background-image:var(--hero-mobile-image)}.hero .hero-layout{display:block;width:100%;min-height:558px}.hero-content{min-height:558px;padding:var(--s6) var(--s4) var(--s5)}.hero-title{max-width:62%;margin-bottom:var(--s4);font-size:clamp(2rem,9vw,2.5rem);line-height:1}.hero-description{max-width:62%;margin:0;font-size:var(--secondary-size);line-height:1.45}.hero-search{width:100%;max-width:none;margin-top:auto}.hero-search-row{grid-template-columns:minmax(0,1fr) 54px}.hero-search-row input:not([type=range]){min-height:54px;padding-inline:var(--s4);font-size:1rem}.hero-search-row .button{width:54px;min-width:54px;min-height:54px;padding:0}.hero-search-row .button .icon{display:block;width:20px;height:20px}.hero-search-row .button span{display:none}.popular-links{gap:var(--s2);margin-top:var(--s4)}.popular-links>span{display:none}.popular-links a{min-height:36px;padding-inline:var(--s3);font-size:var(--small)}.popular-links a:nth-of-type(n+5){display:none}.hero-visual{display:none}}
.hero-title--mobile{display:none}.hero{position:relative;z-index:2;overflow:visible;background-color:var(--soft);background-position:center;background-repeat:no-repeat;background-size:cover}.hero.has-hero-image{background-image:var(--hero-image)}.hero .hero-layout{width:min(calc(100% - 2 * var(--s5)),var(--container))}.hero-content{position:relative;z-index:2;background:transparent}.hero-visual{margin:0;border:0;background:transparent}.hero.has-hero-image .hero-visual__fallback{display:none}.hero-search-row .button .icon{display:none}@media(max-width:680px){.hero{background-image:none;background-position:center;background-size:cover}.hero.has-hero-image{background-image:none}.hero.has-mobile-hero-image{background-image:var(--hero-mobile-image)}.hero .hero-layout{display:block}.hero-content{padding:var(--s6) 0 var(--s5)}.hero-title{margin-bottom:var(--s4);line-height:1}.hero-description{margin:0;line-height:1.45}.hero-search{width:100%;max-width:none}.hero-search-row{grid-template-columns:minmax(0,1fr) 54px}.hero-search-row input:not([type=range]){min-height:54px;padding-inline:var(--s4);font-size:1rem}.hero-search-row .button{width:54px;min-width:54px;min-height:54px;padding:0}.hero-search-row .button .icon{display:block;width:20px;height:20px}.hero-search-row .button span{display:none}.hero-visual{display:none}}
.font-card__specimen--unavailable,.specimen-unavailable{color:var(--muted);font:var(--large)/1.4 var(--font-ui)}.postid-0 .glyph{font-family:var(--font-display)}
/* Mobile hero spans the viewport; its inner content retains the standard page gutter. */
@media(max-width:680px){.hero{width:100%;min-height:400px;margin:0;border:0;border-radius:0}.hero .hero-layout{width:min(calc(100% - 2 * var(--s4)),var(--container));min-height:400px}.hero-content{justify-content:flex-start;min-height:400px;padding:var(--s5) 0 var(--s4)}.hero-title--desktop{display:none}.hero-title--mobile{display:block;max-width:70%;margin-bottom:var(--s5);color:var(--text);font-family:var(--font-display);font-size:clamp(2.05rem,8.8vw,2.5rem);font-style:normal;font-weight:650;line-height:1.12}.hero-description{max-width:70%;font-size:1.125rem}.hero-search{margin-top:var(--s5)}.popular-links{display:none}}
/* On phones, featured families form a swipeable rail with the next card peeking in. */
@media(max-width:680px){.home .hero+.page-section>.font-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;gap:var(--s4);overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:var(--s2);scroll-snap-type:inline mandatory;scrollbar-width:none}.home .hero+.page-section>.font-grid::-webkit-scrollbar{display:none}.home .hero+.page-section>.font-grid>.font-card{scroll-snap-align:start}}
/* Homepage category cards are separate, image-ready components. */
.category-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s4);border:0}
.category-link{isolation:isolate;min-height:188px;overflow:hidden;background-color:var(--surface);background-position:center;background-size:cover;border:1px solid var(--border);border-radius:var(--r2);transition:border-color .15s ease}
.category-link span{font-size:1.5rem}
.category-link small{display:block;font-size:1rem;font-weight:600}
.category-link:hover{background-color:var(--surface);border-color:#aeb7b1}
.category-link.has-background-image{color:var(--text);border-color:transparent;text-shadow:none}
.category-link.has-background-image:before{display:none}
.category-link.has-background-image small{color:var(--muted)}
.category-link.has-background-image,.category-link.has-background-image:hover,.category-link.has-background-image:focus,.category-link.has-background-image:focus-visible,.category-link.has-background-image:active{border:1px solid transparent!important;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;border-left-color:transparent!important;box-shadow:none!important;background-clip:padding-box}
.category-link.has-background-image:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.category-link .icon{left:var(--s5);right:auto;bottom:var(--s5);display:grid;place-items:center;width:36px;height:36px;padding:9px;background:var(--soft);border-radius:50%;color:var(--text)}
.flt-category-image-preview img{display:block;max-width:240px;height:auto;margin:8px 0}
@media(max-width:900px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.category-grid{grid-template-columns:1fr}.category-link{min-height:175px}}
/* Homepage collection tiles retain the image-led category-card language. */
.collection-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);border:0}
.collection-link{position:relative;display:flex;flex-direction:column;justify-content:flex-start;min-height:280px;padding:var(--s5);padding-bottom:calc(var(--s5) + 48px);overflow:hidden;background:var(--surface);background-position:center;background-size:cover;border:1px solid var(--border);border-radius:var(--r2);color:var(--text);text-decoration:none;transition:border-color .15s ease}
.collection-link:hover{background-color:var(--surface);border-color:#aeb7b1}
.collection-link strong{display:block;font:600 1.5rem var(--font-display)}
.collection-link small{display:block;color:var(--muted);font-size:1rem;font-weight:600}
.collection-link .collection-summary{max-width:50%}
.collection-link.has-background-image,.collection-link.has-background-image:hover,.collection-link.has-background-image:focus,.collection-link.has-background-image:focus-visible,.collection-link.has-background-image:active{color:var(--text);border:1px solid transparent!important;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;border-left-color:transparent!important;box-shadow:none!important;background-clip:padding-box;text-shadow:none}
.collection-link.has-background-image:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.collection-link.has-background-image small,.collection-link.has-background-image .collection-summary{color:var(--muted)}
.collection-link .icon{position:absolute;left:var(--s5);right:auto;bottom:var(--s5);display:grid;place-items:center;width:36px;height:36px;padding:9px;background:var(--soft);border-radius:50%;color:var(--text)}
@media(max-width:900px){.collection-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.collection-directory{grid-template-columns:1fr}.collection-link{min-height:240px}.collection-link .collection-summary{max-width:70%}}
/* One shared card component for the homepage, catalog, collections, and related fonts. */
.font-card{min-height:0;padding:0;overflow:hidden;background:#ecefea}
.font-card__cover{position:absolute;inset:0;z-index:1}
.font-card__visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:220px;padding:var(--s6)}
.font-card__category{position:absolute;top:var(--s5);left:var(--s5);z-index:2;padding:6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--text);font:600 var(--small)/1 var(--font-ui);text-decoration:none}
.font-card__category:hover{color:var(--accent);border-color:var(--accent)}
.font-card .font-card__specimen{width:100%;margin:0;text-align:center;font-size:clamp(2rem,4vw,3.5rem);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:clip}
.font-card__details{position:relative;z-index:2;padding:var(--s5);background:var(--surface)}
.font-card h3{margin:0 0 var(--s3);font-size:1.5rem}
.font-card .font-card__footer{display:grid;grid-template-columns:minmax(0,1fr) auto;font-size:var(--small)}
.font-card .font-card__footer>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.font-card .font-card__footer .text-link{white-space:nowrap}
@media(max-width:680px){.font-card__visual{min-height:190px}.font-card .font-card__specimen{font-size:clamp(1.8rem,9vw,2.75rem)}}
/* Image zoom is the only hover treatment on category and collection cards. */
.category-link,.collection-link{transition:none}
.category-link:hover,.collection-link:hover{background-color:var(--surface);border-color:var(--border)}
.category-link.has-background-image,.collection-link.has-background-image{isolation:isolate;background-image:none!important}
.category-link.has-background-image:before,.collection-link.has-background-image:before{content:"";display:block;position:absolute;inset:0;z-index:-1;background-image:var(--card-image);background-position:center;background-repeat:no-repeat;background-size:cover;transform:scale(1);transition:transform .25s ease}
.category-link.has-background-image:hover:before,.collection-link.has-background-image:hover:before{transform:scale(1.04)}
@media(prefers-reduced-motion:reduce){.category-link.has-background-image:before,.collection-link.has-background-image:before{transition:none}.category-link.has-background-image:hover:before,.collection-link.has-background-image:hover:before{transform:none}}
/* Match hero controls to the fully rounded font-category pill. */
.hero-search-row input:not([type=range]){border-radius:999px 0 0 999px}
.hero-search-row .button{border-radius:0 999px 999px 0}
.popular-links a{border-radius:999px}
/* Styled, accessible font-name autocomplete. */
.font-autocomplete{position:relative;min-width:0}.font-autocomplete input{display:block}.font-autocomplete__menu{position:absolute;top:calc(100% + var(--s2));left:0;z-index:50;width:100%;max-height:320px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);color:var(--text);scrollbar-width:thin;scrollbar-color:var(--accent) var(--soft)}.font-autocomplete__menu::-webkit-scrollbar{width:10px}.font-autocomplete__menu::-webkit-scrollbar-track{background:var(--soft);border-radius:0 var(--r2) var(--r2) 0}.font-autocomplete__menu::-webkit-scrollbar-thumb{background:var(--accent);border:2px solid var(--soft);border-radius:999px}.font-autocomplete__menu::-webkit-scrollbar-thumb:hover{background:var(--accent-hover)}.font-autocomplete__option{display:flex;align-items:center;min-height:44px;padding:var(--s3) var(--s4);border-bottom:1px solid var(--border);font-size:var(--body);font-weight:600;line-height:1.25;cursor:pointer}.font-autocomplete__option:last-child{border-bottom:0}.font-autocomplete__option:hover,.font-autocomplete__option[aria-selected=true]{background:var(--soft);color:var(--accent)}.hero-search-row .font-autocomplete input:not([type=range]){border-radius:999px 0 0 999px}.filter-panel .font-autocomplete__menu{top:calc(100% + var(--s1))}
/* Blog archive and homepage article cards. */
.blog-header{max-width:760px;margin-bottom:var(--s7)}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5)}
.blog-card{position:relative;display:flex;min-width:0;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2)}
.blog-card__media{display:block;aspect-ratio:16/10;overflow:hidden;background:#ecefea;text-decoration:none}
.blog-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.blog-card__media:hover img{transform:scale(1.03)}
.blog-card__placeholder{display:grid;width:100%;height:100%;place-items:center;color:var(--accent);font:600 clamp(3rem,6vw,5rem)/1 var(--font-display)}
.blog-card__body{display:flex;flex:1;flex-direction:column;padding:var(--s5)}
.blog-card__meta{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s3);color:var(--muted);font-size:var(--small)}
.blog-card__meta a{color:var(--accent);font-weight:700;text-decoration:none}
.blog-card__meta time{white-space:nowrap}
.blog-card h2,.blog-card h3{margin:0 0 var(--s3);font-size:1.5rem;line-height:1.15}
.blog-card h2 a,.blog-card h3 a{color:var(--text);text-decoration:none}
.blog-card__body>p{display:-webkit-box;margin:0 0 var(--s5);overflow:hidden;color:var(--muted);font-size:var(--secondary-size);line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.blog-card__read{align-self:flex-start;margin-top:auto}
.blog-card__body>.collection-card__count{display:block;margin:0 0 var(--s3);color:var(--accent);font-size:var(--small);font-weight:700;line-height:1.3}
.blog-card__body>.collection-card__description{margin-bottom:var(--s5)}
@media(max-width:900px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr}.blog-card__media{aspect-ratio:16/9}}
@media(prefers-reduced-motion:reduce){.blog-card__media img{transition:none}.blog-card__media:hover img{transform:none}}
/* Single article layout. */
.article-hero{position:relative;display:flex;min-height:320px;overflow:hidden;background:var(--soft)}
.article-hero.has-featured-image{min-height:410px;background:var(--text);color:#fff}
.article-hero.has-featured-image:before{content:"";position:absolute;inset:0;background-image:var(--article-image);background-position:center;background-repeat:no-repeat;background-size:cover}
.article-hero.has-featured-image:after{content:"";position:absolute;inset:0;background:rgba(25,31,27,.56)}
.article-hero__inner{position:relative;z-index:1;display:flex;flex-direction:column;padding-block:var(--s5) var(--s7)}
.article-hero .breadcrumbs{margin-bottom:auto}
.article-hero.has-featured-image .breadcrumbs,.article-hero.has-featured-image .breadcrumbs a{color:#fff}
.article-hero__content{width:100%;max-width:780px;padding-top:var(--s6)}
.article-hero__meta{display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s4);color:var(--muted);font-size:var(--secondary-size);font-weight:700}
.article-hero__meta a{color:var(--accent);text-decoration:none}
.article-hero.has-featured-image .article-hero__meta,.article-hero.has-featured-image .article-hero__meta a{color:#fff}
.article-hero h1{max-width:none;margin:0;font-size:clamp(2.25rem,4vw,3.75rem);line-height:1.05;letter-spacing:-.03em}
.share-links{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s6)}
.share-links>span:first-child{display:none}
.share-links>span{margin-right:var(--s1);font-size:var(--secondary-size);font-weight:700}
.share-links a,.share-links button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--text);font:600 var(--small)/1 var(--font-ui);text-decoration:none;cursor:pointer}
.share-links .icon{width:20px;height:20px}
.share-links a:hover,.share-links button:hover{border-color:var(--accent);color:var(--accent)}
.article-hero.has-featured-image .share-links a,.article-hero.has-featured-image .share-links button{border-color:#fff;background:#fff;color:var(--text)}
.share-links .share-links__status{margin:0;color:var(--success);font-size:var(--small);font-weight:700}
.article-hero.has-featured-image .share-links .share-links__status{color:#fff}
.article-layout{display:grid;grid-template-columns:230px minmax(0,780px);justify-content:start;gap:var(--s8);padding-block:var(--s8)}
.article-layout--without-toc{grid-template-columns:minmax(0,780px);justify-content:center}
.article-layout aside{position:relative}
.article-toc{position:sticky;top:var(--s5);display:grid;max-height:calc(100vh - 2 * var(--s5));overflow:auto;border-left:1px solid var(--border)}
.article-toc h2{padding:0 var(--s4) var(--s3);font:700 var(--secondary-size)/1.2 var(--font-ui);text-transform:uppercase;letter-spacing:.04em}
.article-toc a{padding:var(--s3) var(--s4);color:var(--muted);font-size:var(--secondary-size);line-height:1.35;text-decoration:none}
.article-toc a:hover,.article-toc a:focus-visible{margin-left:-2px;border-left:3px solid var(--accent);color:var(--accent)}
.article-content{min-width:0;font-size:var(--large);line-height:1.75}
.article-content h2{scroll-margin-top:var(--s5);font-size:var(--h-section);line-height:1.15}
.article-content h3{scroll-margin-top:var(--s5);font-size:var(--h-small);line-height:1.25}
.article-content img{max-width:100%;height:auto;border-radius:var(--r2)}
.article-content figure{margin-inline:0}
.article-content figcaption{margin-top:var(--s2);color:var(--muted);font-size:var(--small)}
@media(max-width:900px){.article-layout{grid-template-columns:1fr;gap:var(--s6)}.article-toc{position:static;grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;border:1px solid var(--border);border-radius:var(--r2);padding:var(--s3)}.article-toc h2{grid-column:1/-1;padding:var(--s2)}.article-toc a:hover,.article-toc a:focus-visible{margin-left:0;border-left:0;background:var(--soft)}}
@media(max-width:600px){.article-hero,.article-hero.has-featured-image{min-height:300px}.article-hero__inner{justify-content:center;padding-block:var(--s5)}.article-hero .breadcrumbs{display:none}.article-hero__content{padding-top:0}.article-hero h1{font-size:clamp(2.15rem,10vw,3rem)}.share-links{gap:var(--s3);margin-top:var(--s4)}.share-links a,.share-links button{position:relative;width:36px;height:36px}.share-links a:after,.share-links button:after{content:"";position:absolute;inset:-4px}.share-links .icon{width:14px;height:14px}.article-toc{grid-template-columns:1fr}.article-content{font-size:1rem}}
/* Compact catalog filters: one desktop row and a native mobile disclosure. */
.filter-disclosure{margin-bottom:var(--s5)}
.filter-disclosure>summary{display:none}
.filter-disclosure:not([open])>.filter-panel{display:grid}
.filter-panel{grid-template-columns:minmax(150px,1.6fr) repeat(5,minmax(90px,1fr)) auto;margin-bottom:0}
.filter-panel .field{min-width:0}
.filter-panel .button{grid-column:auto;white-space:nowrap}
@media(max-width:900px){.filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-panel .button{grid-column:span 2}}
@media(max-width:680px){.filter-disclosure>summary{display:flex;align-items:center;gap:var(--s3);min-height:48px;padding:0 var(--s4);background:var(--soft);border:1px solid var(--border);border-radius:var(--r2);color:var(--text);font-weight:700;cursor:pointer;list-style:none}.filter-disclosure>summary::-webkit-details-marker{display:none}.filter-disclosure>summary .icon{width:18px;height:18px}.filter-disclosure>summary small{margin-left:auto;color:var(--muted);font-weight:600}.filter-disclosure:not([open])>.filter-panel{display:none}.filter-disclosure[open]>summary{border-color:var(--accent)}.filter-panel{grid-template-columns:1fr;margin-top:var(--s2);padding:var(--s4)}.filter-panel .button{grid-column:auto;width:100%}}
/* Homepage category and collection cards use the same mobile swipe pattern. */
@media(max-width:680px){.home .category-grid,.home .collection-directory{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;gap:var(--s4);overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:var(--s2);scroll-snap-type:inline mandatory;scrollbar-width:none}.home .category-grid::-webkit-scrollbar,.home .collection-directory::-webkit-scrollbar{display:none}.home .category-grid>.category-link,.home .collection-directory>.collection-link{scroll-snap-align:start}}
/* Hero search uses a circular icon action inset within the rounded field. */
.hero-search-row{position:relative;display:block}
.hero-search-row input:not([type=range]),.hero-search-row .font-autocomplete input:not([type=range]){border:1px solid var(--border);border-radius:999px}
.hero-search-row .font-autocomplete input:not([type=range]){width:100%;padding-right:76px}
.hero-search-row .button{position:absolute;top:6px;right:6px;z-index:2;display:grid;width:48px;min-width:48px;min-height:48px;padding:0;place-items:center;border-radius:50%}
.hero-search-row .button .icon{display:block;width:20px;height:20px}
.hero-search-row .button span{display:none}
@media(max-width:680px){.hero-search-row .font-autocomplete input:not([type=range]){padding-right:66px}.hero-search-row .button{top:5px;right:5px;width:44px;min-width:44px;min-height:44px;border-radius:50%}}
.code-copy__status{display:block;min-height:1.3em;margin-top:var(--s4);padding-right:100px;color:#c9e8d4;font-size:var(--small)}
@media(max-width:520px){.code-copy__status{padding-right:0}}
/* Homepage blog cards continue the same mobile swipe pattern as other discovery rails. */
@media(max-width:680px){.home .blog-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;gap:var(--s4);overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:var(--s2);scroll-snap-type:inline mandatory;scrollbar-width:none}.home .blog-grid::-webkit-scrollbar{display:none}.home .blog-grid>.blog-card{scroll-snap-align:start}}
