
/* 1.4.0 — Editorial hierarchy, generous type, quiet surfaces */
:root{--background:#f8f6f0;--foreground:#24382f;--primary:#264d40;--border:#cfd3c7;--muted:#eeeae0}body{background:var(--background);color:var(--foreground)}.wrap{max-width:1200px}.site-header{border-top:0;border-bottom:1px solid #cfd3c7}.header-inner{max-width:1280px;padding-top:25px;padding-bottom:25px}.brand-mark{background:transparent;color:#264d40;border:1px solid #264d40;border-radius:50%;width:46px;height:46px}.brand{letter-spacing:.04em}.header-inner nav{font-weight:500;font-size:13px}.header-inner nav a{padding:8px 0}.nfg-disclosure{max-width:1200px;display:flex;gap:8px 20px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px;font-size:14px;line-height:1.8;color:#526257;border-bottom:0}.nfg-disclosure p{margin:0}.intro{display:grid;grid-template-columns:.9fr 1.15fr;gap:0 54px;padding-top:35px;padding-bottom:0;align-items:center}.nfg-cover-kicker{font-size:10px!important;letter-spacing:.17em;margin:14px 0 24px!important}.intro h1{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:clamp(42px,5.4vw,72px);font-weight:500;line-height:1.48;letter-spacing:.06em;margin:0 0 26px}.intro h1 em{font-style:normal;color:#9c4834}.nfg-cover-description{font-size:16px!important;line-height:2.1!important;margin:0!important}.intro-copy .text-link{background:transparent;color:#264d40;border-bottom:1px solid #264d40;padding:12px 0;margin-top:18px;min-width:190px;justify-content:space-between;gap:28px;font-size:15px}.station-photo{align-self:stretch;padding-top:12px;display:flex;flex-direction:column;justify-content:center}.station-photo img{height:480px;aspect-ratio:auto;object-fit:cover;object-position:50% 50%;border-radius:48% 48% 0 0}.station-photo figcaption{font-size:11px;padding-top:12px}.nfg-cover-foot{grid-column:1/-1;display:flex;justify-content:space-between;padding:22px 0;margin-top:34px;border-top:1px solid #9cae9f;font-size:13px;letter-spacing:.09em}.nfg-cover-foot a{text-decoration:underline;text-underline-offset:4px}.nfg-quick-search{background:#eeeae0;border:0;margin-top:12px;margin-bottom:64px;padding:26px 30px;grid-template-columns:.85fr 1.2fr;gap:16px 35px}.nfg-quick-search h2{font-size:23px;font-weight:600}.nfg-quick-search .eyebrow{font-size:11px}.nfg-quick-tags{gap:6px 12px}.nfg-quick-tags a{background:transparent;border:0;border-bottom:1px solid #b5bbaa;border-radius:0;padding:4px 4px;font-size:14px}.nfg-quick-row input{border:0;background:#faf9f4;padding:13px 16px}.nfg-quick-row button{background:#264d40;border-radius:0}.nfg-lead-feature{gap:0;margin-bottom:75px;grid-template-columns:.9fr 1.1fr}.nfg-feature-art{background:#e9ead8;padding:20px}.nfg-feature-art img{max-height:320px;object-fit:contain}.nfg-feature-copy{background:#eae8db;color:#24382f;padding:40px 48px}.nfg-feature-copy .eyebrow{color:#8b4733}.nfg-feature-copy h2{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:36px;line-height:1.65;font-weight:500}.nfg-feature-copy a{color:#264d40;border-color:#869e86;max-width:340px}.nfg-feature-copy p{color:#526257}.nfg-area-entry{padding-top:0;padding-bottom:66px}.nfg-area-entry h2{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:36px;font-weight:500;margin:12px 0 28px}.nfg-area-grid{gap:36px}.nfg-area-grid>a,.nfg-area-grid>a+a{background:transparent;border-top:1px solid #829786;border-bottom:1px solid #cfd3c7;padding:22px 0 26px}.nfg-area-grid>a>span{font-family:Georgia,serif;font-size:15px;letter-spacing:.16em;color:#8b4733}.nfg-area-grid h3{font-size:30px;font-weight:500;letter-spacing:.04em}.nfg-area-grid p{color:#526257;font-size:15px}.nfg-area-grid b{border:1px solid #bcc6b5;width:44px;height:44px;border-radius:50%;text-align:center;line-height:42px;font-size:23px}.column-preview{margin-top:0;margin-bottom:76px}.column-preview-inner{background:#264d40;padding:44px;grid-template-columns:.85fr 1.15fr;gap:48px}.column-intro h2{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:33px;line-height:1.7;font-weight:500}.column-preview .eyebrow{letter-spacing:.08em;font-size:10px}.column-preview .column-list h2{font-size:23px;line-height:1.7}.column-preview .column-list article{padding:0}.nfg-published-guides{padding-bottom:65px}.section-top h2,.nfg-contact-entry h2{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-weight:500;line-height:1.65}.nfg-guide-grid{gap:28px;border:0}.nfg-guide-card h3{font-size:19px;font-weight:600}.nfg-guide-card p{color:#526257;font-size:14px}.nfg-guide-visual{margin-bottom:8px}.nfg-guide-card .nfg-guide-number{font-size:20px;color:#8b4733}.nfg-guide-card .eyebrow{font-size:11px}.nfg-guide-card>span:last-child{font-size:14px}.directory{padding-top:50px}.section-top>p{font-size:13px;color:#526257}.section-top>p strong{font-family:Georgia,serif;font-size:40px;font-weight:400;color:#264d40}.nfg-broad-categories button{border:0;border-bottom:2px solid transparent;background:transparent;border-radius:0;padding:12px 18px}.nfg-broad-categories button[aria-pressed=true]{background:transparent;border-bottom-color:#264d40;color:#264d40}.nfg-category-details summary{font-size:14px}.shop-grid{gap:0 28px}.shop-card,.shop-card:hover{background:transparent;border:0;border-top:1px solid #aebba9;border-radius:0;box-shadow:none;padding:23px 0;margin-bottom:16px}.shop-card h3{font-size:20px}.shop-card .area-tag{background:transparent;padding:0;color:#526257;font-size:12px}.shop-card .shop-category{font-size:12px;color:#8b4733}.shop-card .nfg-access{background:transparent;border-left:2px solid #b8c4af;padding:0 0 0 10px;font-size:13px}.shop-card .summary{font-size:15px;color:#526257}.shop-card .address{font-size:12px}.card-bottom a{font-size:13px}.nfg-shop-photo{margin:0 0 18px}.nf-load-more{border-radius:0;background:transparent;border:1px solid #264d40;color:#264d40;min-width:260px}.nfg-contact-entry{background:transparent;border-top:1px solid #869e86;margin-top:52px;padding-top:32px;padding-bottom:36px}.nfg-contact-entry h2{font-size:29px}.nfg-contact-entry p{font-size:15px}.site-footer{border-top:1px solid #cfd3c7;background:#eeeae0}.article-heading h1{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-weight:500}.article-page{max-width:880px}.column-body h2{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-weight:500}.column-body p{line-height:2.05}.nfg-disclosure,.column-body{overflow-wrap:anywhere}
@media(max-width:900px){.intro{gap:0 28px}.intro h1{font-size:48px}.station-photo img{height:410px}.nfg-feature-copy{padding:28px}.nfg-feature-copy h2{font-size:30px}.column-preview-inner{gap:28px;padding:30px}.header-inner{padding-top:17px;padding-bottom:17px}.nfg-mobile-menu nav{top:80px}.brand-mark{width:36px;height:36px}.nfg-quick-search{margin-left:28px;margin-right:28px}.column-intro h2{font-size:28px}}
@media(max-width:620px){.nfg-disclosure{font-size:14px;gap:0;padding-top:10px;padding-bottom:4px}.intro{grid-template-columns:1fr;position:relative;padding-top:22px;gap:18px}.intro-copy{position:relative;z-index:1}.intro h1{font-size:44px;line-height:1.5;margin-bottom:18px}.intro .eyebrow{font-size:10px}.nfg-cover-kicker{font-size:9px!important;margin:8px 0 17px!important}.nfg-cover-description{font-size:15px!important;line-height:1.9!important}.station-photo{padding-top:0}.station-photo img{height:240px;border-radius:46% 46% 0 0;object-position:center 45%}.station-photo figcaption{font-size:10px}.nfg-cover-foot{margin-top:6px;padding:16px 0;font-size:11px;gap:10px}.nfg-quick-search{margin:12px 20px 40px;padding:22px 18px;display:block}.nfg-quick-search form{margin-top:16px}.nfg-quick-tags{margin-top:14px}.nfg-quick-search h2{font-size:22px}.nfg-quick-search label{font-size:13px}.nfg-lead-feature{grid-template-columns:1fr;margin-bottom:42px}.nfg-feature-art{padding:0}.nfg-feature-art img{height:200px}.nfg-feature-copy{padding:24px}.nfg-feature-copy h2{font-size:29px}.nfg-feature-copy p{font-size:15px}.nfg-area-entry{padding-bottom:40px}.nfg-area-entry h2{font-size:30px;margin-bottom:20px}.nfg-area-grid{gap:18px}.nfg-area-grid h3{font-size:27px}.column-preview{margin-bottom:44px}.column-preview-inner{padding:26px;gap:24px}.column-intro h2{font-size:29px}.column-preview .column-list h2{font-size:21px}.nfg-published-guides{padding-bottom:32px}.nfg-guide-grid{gap:26px}.section-top h2{font-size:27px}.nfg-guide-card{display:grid;grid-template-columns:94px 1fr;gap:5px 16px;padding:0 0 22px;border-bottom:1px solid #cfd3c7}.nfg-guide-visual{grid-column:1;grid-row:1/6;margin:0}.nfg-guide-visual img{aspect-ratio:1/1;object-fit:cover}.nfg-guide-visual figcaption{display:none}.nfg-guide-card .nfg-guide-number{display:none}.nfg-guide-card .eyebrow,.nfg-guide-card h3,.nfg-guide-card p,.nfg-guide-card>span:last-child{grid-column:2}.nfg-guide-card h3{font-size:17px}.nfg-guide-card p{font-size:13px}.nfg-guide-card>span:last-child{padding-top:3px}.directory{padding-top:32px}.nfg-broad-categories{display:flex;gap:4px}.nfg-broad-categories button{padding:10px 9px;font-size:14px}.shop-card .summary{font-size:15px}.nfg-contact-entry{margin-top:28px;padding-top:24px}.nfg-contact-entry h2{font-size:25px}.brand small{font-size:7px}.nfg-mobile-menu nav{top:73px}.nfg-shop-photo{margin:0 0 18px}}

/* 1.4.1: comfortable directory cards */
.directory .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;border:0;align-items:stretch}
.directory .shop-card,.directory .shop-card:hover{padding:28px 30px;margin:0;border:1px solid #d9ddd1;background:#fdfcf8;border-radius:4px;box-shadow:none}
.shop-card .nfg-card-meta{display:flex;align-items:center;gap:12px;margin:0 0 14px;flex-wrap:wrap}
.shop-card .nfg-card-meta .card-top{margin:0}
.shop-card .nfg-card-meta .shop-category{margin:0;padding-left:12px;border-left:1px solid #cfd3c7}
.directory .shop-card h3{min-height:0;margin:0 0 16px;font-size:22px;line-height:1.55;overflow-wrap:anywhere}
.directory .shop-card .nfg-access{margin:0 0 14px;line-height:1.75}
.directory .shop-card .summary{margin:0 0 18px;font-size:15px;line-height:1.9}
.directory .shop-card .address{margin:0 0 20px;font-size:13px;line-height:1.7}
.directory .shop-card .card-bottom{padding-top:12px;gap:16px}
.directory .shop-card .card-bottom a{min-height:44px;font-size:14px}
@media(max-width:700px){.directory .shop-grid{grid-template-columns:1fr;gap:18px}.directory .shop-card,.directory .shop-card:hover{padding:24px}.directory .shop-card h3{font-size:21px}}

@media(max-width:700px){.column-preview-inner{grid-template-columns:1fr}}

/* 1.4.2: local journal masthead */
.site-header .header-inner{gap:40px}
.site-header .brand{flex-shrink:0;gap:15px;font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:25px;font-weight:600;letter-spacing:.065em;line-height:1.45;white-space:nowrap}
.site-header .brand-light{font-weight:500}
.site-header .brand-mark{width:36px;height:36px;flex:0 0 36px;border:1px solid #708678;border-radius:50%;background:transparent;color:#264d40;font-size:20px;font-weight:500;letter-spacing:0}
.site-header .brand small{font-family:Arial,sans-serif;font-size:9px;font-weight:500;letter-spacing:.14em;margin-top:5px;color:#526257}
.site-header .nfg-desktop-nav{gap:20px}
@media(max-width:1100px){.site-header .header-inner{gap:24px}.site-header .brand{font-size:22px}.site-header .nfg-desktop-nav{gap:14px;font-size:12px}}
@media(max-width:900px){.site-header .header-inner{padding-top:20px;padding-bottom:20px;gap:16px}.site-header .brand{font-size:22px;gap:12px}.site-header .brand small{display:none}.site-header .brand-mark{width:32px;height:32px;flex-basis:32px;font-size:18px}.nfg-mobile-menu nav{top:100%}}
@media(max-width:400px){.site-header .brand{font-size:19px;gap:9px;letter-spacing:.035em}.site-header .brand-mark{width:28px;height:28px;flex-basis:28px;font-size:16px}.site-header .header-inner{gap:12px}}

/* 1.4.3: small-screen and keyboard polish */
summary:focus-visible{outline:3px solid #a3422e;outline-offset:4px}
.search-input input{padding-left:18px;width:100%;min-width:0}
.search-row>*{min-width:0}
.nfg-mobile-menu nav{max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:620px){.result-top{align-items:flex-start;flex-direction:column;gap:4px}.nfg-broad-categories{flex-wrap:wrap}.column-body table{display:block;overflow-x:auto}.nfg-quick-row{min-width:0}.nfg-quick-row input{min-width:0}.header-inner{padding-left:20px;padding-right:20px}}
@media(max-width:350px){.site-header .brand{font-size:17px;gap:7px}.site-header .brand-mark{display:none}.nfg-mobile-tools{gap:4px}}
