:root{
  --bg:#f5f3e9;
  --surface:#ffffff;
  --text:#1f2937;
  --muted:#5f6b76;
  --line:#dfe5ea;
  --primary:#1f4d42;
  --radius:24px;
  --container:1180px;
}
html,body{margin:0;padding:0;max-width:100%;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.65;overflow-wrap:anywhere}
a{color:inherit}
.site-header,.site-footer{width:min(calc(100% - 1rem), var(--container));margin:0 auto;max-width:100%}
.site-header{position:sticky;top:0;z-index:60;padding:.55rem 0;background:linear-gradient(180deg,rgba(252,250,245,.96),rgba(252,250,245,.9));backdrop-filter:blur(18px);border-bottom:1px solid rgba(18,63,53,.08)}
.site-header::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(200,134,49,.35),transparent)}
.site-header .header-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.35rem 0;border-radius:0;border:0;background:transparent;box-shadow:none}
.site-branding{display:flex;flex-direction:column;justify-content:center;gap:.2rem;min-width:0}
.site-branding a{text-decoration:none}
.site-title,.site-title-text{margin:0;font-family:Georgia,serif;font-size:1.4rem;color:#13202b;letter-spacing:-.03em}
.site-tagline{margin:.15rem 0 0;color:var(--muted);font-size:.68rem;letter-spacing:.28em;text-transform:uppercase}
.nav-toggle{display:none;appearance:none;border:1px solid rgba(18,63,53,.1);background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(245,239,229,.98));padding:.65rem;width:48px;height:48px;border-radius:16px;box-shadow:0 10px 24px rgba(18,24,39,.08);cursor:pointer}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--text);margin:4px auto;border-radius:999px;transition:transform .2s ease,opacity .2s ease}
body.nav-open .nav-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
body.nav-open .nav-toggle span:nth-child(2){opacity:0}
body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.site-navigation{display:flex;align-items:center;justify-content:flex-end;flex:1 1 auto;min-width:0}
.primary-menu,.footer-list{list-style:none;display:flex;gap:.45rem;padding:0;margin:0;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.primary-menu a,.footer-list a{text-decoration:none;color:var(--muted);font-weight:700;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;display:inline-flex;align-items:center;min-height:42px;padding:.72rem .95rem;border-radius:999px;transition:color .2s ease,background-color .2s ease,transform .2s ease,box-shadow .2s ease}
.primary-menu a:hover,.primary-menu .current-menu-item>a,.primary-menu .current_page_item>a,.footer-list a:hover{color:var(--text);background:rgba(18,63,53,.06);box-shadow:inset 0 0 0 1px rgba(18,63,53,.08);text-decoration:none;transform:translateY(-1px)}
.header-search{display:none!important}
.container{width:min(calc(100% - 1rem), var(--container));margin:0 auto;max-width:100%}
.narrow{width:min(calc(100% - 1rem), 820px);margin:0 auto;max-width:100%}
.article-hero{width:min(calc(100% - 1rem), var(--container));margin:1rem auto 1rem;background:transparent;overflow:visible;max-width:100%}
.article-hero-media img{display:block;width:100%;height:auto;border-radius:28px}
.article-hero-content{padding:.75rem 0 0}
.article-hero-content h1{margin:0;font-family:Georgia,serif;font-size:clamp(2.1rem,4vw,4rem);line-height:1.02;color:#13202b}

.recent-posts-showcase{width:min(calc(100% - 1rem), var(--container));margin:1rem auto 0;max-width:100%}
.section-heading{margin-bottom:1.15rem}
.section-kicker{display:inline-flex;align-items:center;padding:.45rem .8rem;border-radius:999px;background:rgba(18,63,53,.08);color:var(--primary);font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.section-heading h2{margin:.7rem 0 .35rem;font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.05;color:#13202b}
.section-heading p{margin:0;color:var(--muted);max-width:44rem}

.post-grid--recent{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;align-items:stretch}
.post-grid--recent > *{min-width:0;max-width:100%}
.card-post{min-width:0;max-width:100%;background:var(--surface);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 16px 40px rgba(16,24,40,.06)}
.card-link{display:block;height:100%;color:inherit;text-decoration:none}
.card-media{overflow:hidden;background:#eef2f4}
.card-media img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain}
.card-content{padding:1rem .95rem 1.1rem;min-width:0}
.card-content h3{margin:.75rem 0 .55rem;font-family:Georgia,serif;font-size:clamp(1.2rem,3.8vw,1.5rem);line-height:1.08;color:#13202b;overflow-wrap:anywhere}
.card-content p{margin:0;color:var(--muted);overflow-wrap:anywhere}
.card-category{display:inline-flex;align-items:center;padding:.36rem .7rem;border-radius:999px;background:rgba(18,63,53,.08);color:var(--primary);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.meta-row{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.8rem;color:var(--muted);font-size:.82rem}

.brf-tool-section{padding:0 0 1.5rem;max-width:100%}
.brf-tool-shell{width:min(calc(100% - 1rem), var(--container));margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:28px;box-shadow:0 20px 50px rgba(16,24,40,.06);padding:1rem;overflow:visible;max-width:100%}
.brf-prose-shell{width:min(calc(100% - 1rem), 900px);margin:0 auto 1rem;max-width:100%}
.brf-prose-content{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:1.25rem 1.1rem;box-shadow:0 20px 50px rgba(16,24,40,.05);max-width:100%}
.brf-prose-content>*{max-width:100%}
.brf-prose-content p,.brf-prose-content li,.brf-prose-content blockquote,.brf-prose-content td,.brf-prose-content th,.brf-prose-content figcaption{overflow-wrap:anywhere}
#brf-container,#brf-search-panel,#brf-results{width:100%!important;max-width:none!important;overflow:visible!important}
#brf-container,#brf-container *{min-width:0}
#brf-container button,#brf-container select,#brf-container input,#brf-container textarea{max-width:100%}
#brf-map,.leaflet-container{width:100%!important;min-height:520px!important;height:520px!important;max-width:none!important}
#brf-map{display:block;position:relative;isolation:isolate}
.leaflet-container{display:block;position:relative;z-index:1;background:#d9d9d9}
.leaflet-container img,.leaflet-pane img,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer{max-width:none!important;max-height:none!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.leaflet-tile-pane,.leaflet-overlay-pane,.leaflet-shadow-pane,.leaflet-marker-pane,.leaflet-tooltip-pane,.leaflet-popup-pane{will-change:transform}
.brf-tool-shell img:not(.leaflet-tile):not(.leaflet-marker-icon):not(.leaflet-marker-shadow){max-width:100%;height:auto}
.site-footer{padding:1.5rem 0 2rem;border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(245,240,231,.72),#eee6d7)}
.footer-bottom{display:flex;justify-content:center;align-items:center;text-align:center;color:var(--muted);font-size:.98rem}
.footer-bottom p{margin:0}
.footer-bottom a{color:var(--text);font-weight:700;text-decoration:none}
.footer-bottom a:hover{text-decoration:underline}
@media (max-width:782px){
  .site-header,.site-footer,.container,.narrow,.article-hero,.brf-prose-shell,.brf-tool-shell{width:min(calc(100% - .5rem), var(--container))}
  .site-header .header-inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.85rem;padding:.8rem .95rem;border-radius:20px}
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center}
  .site-navigation{grid-column:1/-1;width:100%;display:none;justify-content:stretch;padding-top:.25rem}
  .site-navigation.is-open{display:block}
  .primary-menu{display:grid;grid-template-columns:1fr;gap:.35rem;width:100%;justify-content:stretch}
  .primary-menu a{width:100%;justify-content:flex-start;min-height:48px;padding:.95rem 1rem;border-radius:16px;background:rgba(18,63,53,.04);box-shadow:inset 0 0 0 1px rgba(18,63,53,.06)}
  .article-hero-content h1{font-size:clamp(1.85rem,9vw,3rem)}
  .post-grid--recent{grid-template-columns:1fr}
  .brf-tool-shell{padding:.65rem;border-radius:20px}
  .brf-prose-content{padding:.95rem .8rem;border-radius:20px}
  #brf-container,#brf-search-panel,#brf-results{overflow-x:hidden!important}
  #brf-container .brf-btn-row,#brf-container .brf-btn-row-secondary{display:grid!important;grid-template-columns:1fr!important;gap:.75rem!important}
  #brf-container .brf-field,#brf-container .brf-stops-ui,#brf-container .brf-small-note,#brf-container .brf-results,#brf-container .brf-route-summary{width:100%!important;max-width:100%!important}
  #brf-container button,#brf-container select,#brf-container input,#brf-container textarea{width:100%!important;min-width:0!important}
  .recent-posts-showcase,.post-grid--recent,.card-post,.card-link,.card-media,.card-content{max-width:100%!important;min-width:0!important}
  .card-media img{width:100%!important;max-width:100%!important;height:auto!important}
  #brf-container table,#brf-container pre,#brf-container code{max-width:100%!important}
  #brf-container .leaflet-control-container,#brf-container .leaflet-top,#brf-container .leaflet-bottom{max-width:calc(100% - 12px)}
  #brf-map,.leaflet-container{min-height:380px!important;height:380px!important}
}
