/* Brisbane Beacon | 2026 editorial design system
   Single global polish layer — preserves existing articles and directories. */
:root{
 --bb-ink:#142b39;--bb-ink-2:#253f4e;--bb-teal:#146d80;
 --bb-gold:#b47b3f;--bb-canvas:#f7f8f6;--bb-line:#dce5e6;
 --bb-calm:#eaf1ef;--bb-card:#fff;--bb-radius:16px;
 --bb-shadow:0 16px 42px rgba(16,44,60,.07);
}
html{scroll-padding-top:136px}
body{background:var(--bb-canvas);color:var(--bb-ink);font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased}
:where(h1,h2,h3,h4,h5,h6){text-wrap:balance;color:var(--bb-ink)}
:where(p,li){overflow-wrap:break-word}
:where(a,button,input,textarea,select):focus-visible{outline:3px solid #bc8539!important;outline-offset:3px}
:where(img){max-width:100%;height:auto}
:where(button,input,select,textarea){font:inherit}
:where(.eyebrow,.bb-eyebrow){font-size:.73rem!important;font-weight:800!important;letter-spacing:.14em!important;text-transform:uppercase}
.site-header{position:sticky;z-index:20;top:0;background:rgba(250,251,249,.97);border-bottom:1px solid var(--bb-line);box-shadow:0 5px 28px rgba(18,49,60,.055);backdrop-filter:blur(22px)}
.masthead{max-width:1260px;margin:0 auto;padding:.65rem clamp(1rem,2.6vw,2.5rem);min-height:85px}
.brand{max-width:100%}
.brand-logo{width:min(278px,62vw)!important;height:auto!important;max-height:66px;object-fit:contain}
.bb-pro-nav.site-nav{max-width:1260px;margin:auto;display:flex;align-items:center;gap:.12rem;padding:.15rem clamp(1rem,2.6vw,2.5rem) .85rem;overflow-x:auto;scrollbar-width:none}
.bb-pro-nav.site-nav::-webkit-scrollbar{display:none}
.bb-pro-nav.site-nav a{border:1px solid transparent;border-radius:9px;padding:.46rem .73rem;line-height:1.35;color:#405a65;font-weight:740;font-size:.86rem;letter-spacing:0;white-space:nowrap}
.bb-pro-nav.site-nav a:hover,.bb-pro-nav.site-nav a[aria-current="page"]{color:#0c4c5c;background:#eaf2f1;border-color:#d6e6e7}
.bb-pro-nav.site-nav a.bb-advertise-link{margin-left:auto;background:var(--bb-ink);color:white;padding:.5rem .9rem;border-color:var(--bb-ink)}
.bb-pro-nav.site-nav a.bb-advertise-link:hover,.bb-pro-nav.site-nav a.bb-advertise-link[aria-current="page"]{background:#28647b;color:white;border-color:#28647b}
main{background:var(--bb-canvas)}
:where(.hero,.section,.page-hero,.article,.category-band,.newsletter-block){max-width:1260px}
.section{padding-top:clamp(2.3rem,5vw,4.25rem);padding-bottom:clamp(2.3rem,5vw,4.25rem)}
.hero{min-height:auto;gap:clamp(1.4rem,3.4vw,3.1rem);padding-top:clamp(2.2rem,5vw,4.3rem);padding-bottom:clamp(2.3rem,4vw,3.4rem)}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.3rem,7.1vw,6.35rem);letter-spacing:-.057em;line-height:.98;margin:.4rem 0 1rem}
.hero--section h1{font-size:clamp(2.25rem,4.5vw,4.1rem);line-height:1.06;max-width:22ch}
.hero-deck,.page-hero p{color:#506573;line-height:1.68;max-width:53rem}
.hero-deck{font-size:clamp(1.03rem,1.4vw,1.22rem)}
.page-hero{min-height:220px;border-bottom:1px solid #e2e9e8;background:linear-gradient(135deg,#f9faf7 12%,#eaf2ee 100%);padding-top:3.1rem;padding-bottom:3.1rem}
.page-hero.purple{background:linear-gradient(120deg,#f6f8fa,#f0ecf7)}
.page-hero.sand{background:linear-gradient(120deg,#f8f7f1,#f6eee3)}
.page-hero.coral{background:linear-gradient(120deg,#faf8f3,#f8efea)}
.page-hero h1{font-size:clamp(2.3rem,4.3vw,4.2rem);letter-spacing:-.046em}
.hero-feature{border-radius:var(--bb-radius);overflow:hidden;border:1px solid var(--bb-line);box-shadow:var(--bb-shadow);background:#fff}
.hero-feature > .story-art{min-height:260px}
.hero-feature > div:last-child{padding:clamp(1.1rem,2.4vw,1.8rem)}
.hero-feature h2{font-size:clamp(1.45rem,2.3vw,2.35rem);line-height:1.18;letter-spacing:-.024em}
.story-grid{gap:1.15rem}
.story-card,.directory-item,.category-card,.jobs-industry-card,.bb-feature,.news-card,.job-card{border:1px solid var(--bb-line);border-radius:var(--bb-radius);background:var(--bb-card);box-shadow:0 5px 22px rgba(18,43,56,.035);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.story-card:hover,.directory-item:hover,.category-card:hover,.jobs-industry-card:hover,.bb-feature:hover,.news-card:hover,.job-card:hover{transform:translateY(-3px);border-color:#b5cbd1;box-shadow:0 18px 35px rgba(18,43,56,.10)}
.story-card h3,.directory-item h3,.bb-feature h3,.news-card h3,.job-card h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2;letter-spacing:-.025em}
.story-art{background-position:center;background-size:cover}
.story-art:before{background:linear-gradient(180deg,rgba(13,40,53,.04),rgba(13,40,53,.66))}
.directory-item{min-height:175px;padding:1.4rem}
.directory-item h3{font-size:clamp(1.25rem,1.8vw,1.65rem);line-height:1.2}
.directory-item p,.bb-feature p{color:#516674;line-height:1.6}
.directory-grid,.bb-grid{gap:1.1rem}
.bb-feature{padding:1.4rem;min-height:190px}
.bb-feature a{color:#10647b;font-weight:800}
.bb-section-nav{gap:.55rem}
.bb-pill{border-radius:999px;border-color:#cddddd;background:#fff;color:#244858;padding:.56rem .85rem;font-weight:700}
.bb-pill:hover{color:#064d61;border-color:#a1c0c8;background:#edf6f5}
.bb-intro{max-width:1260px;padding:0 clamp(1rem,2.6vw,2.5rem);margin:clamp(2rem,4vw,3.2rem) auto}
.bb-intro h2{font-size:clamp(1.85rem,3.5vw,3.2rem);letter-spacing:-.045em}
.bb-intro>p{color:#516977;max-width:880px}
.bb-tools{background:#edf4f3;border-color:#d7e5e4;border-radius:13px;padding:1.1rem}
.bb-tools input,.bb-tools select,.bb-archive-toolbar input{border-color:#c3d4d7;border-radius:9px;background:#fff;min-height:46px}
.bb-sponsor{max-width:1190px;padding:clamp(1.4rem,3vw,2.1rem);margin:2.5rem auto;border-radius:18px;background:linear-gradient(108deg,#112e42,#185064)}
.bb-sponsor strong{font-size:clamp(1.3rem,2.2vw,1.85rem)}
.bb-sponsor a{border-radius:10px;min-height:45px;padding:.8rem 1.1rem}
.news-card-grid,.job-card-grid{gap:1.15rem}
.bb-news-card .news-card-link{min-width:0}
.bb-news-thumb{border-radius:0;width:100%;height:210px;object-fit:cover;background:#deeae7}
.bb-news-card .news-card-body{padding:1.25rem}
.news-card h3{font-size:1.19rem;line-height:1.28}
.news-card-meta{flex-wrap:wrap;gap:.5rem}
.job-card{padding:0}
.job-card-link{display:flex;flex-direction:column;height:100%;padding:1.25rem}
.job-card h3{font-size:1.2rem}
.job-card-company,.job-card-tags{font-size:.85rem}
.jobs-industry-grid{gap:1rem}
.jobs-industry-card{padding:1.3rem}
.jobs-industry-card a{display:inline-block;color:#07627b;font-weight:800}
.news-jobs-band{max-width:1260px;gap:2rem}
.news-col,.jobs-col{min-width:0}
.section-heading{margin-bottom:1.3rem}
.section-heading h2{font-size:clamp(1.7rem,3vw,2.65rem);letter-spacing:-.03em}
.section-heading p,.section-intro,.prose-block p{color:#536975}
.suburb-link-grid{gap:.8rem}
.suburb-link-grid a{border-radius:13px;min-height:86px}
.bb-archive-grid a{border-radius:12px}
.bb-archive-layout{max-width:1260px}
.site-footer{background:#eef3f2;border-top:1px solid #d8e1e2}
.site-footer .footer-inner-compact{max-width:1260px;margin:auto;padding:2.4rem clamp(1rem,2.6vw,2.5rem)}
.footer-nav-compact{display:flex;flex-wrap:wrap;gap:.5rem 1rem}
.footer-nav-compact a{color:#355563;font-weight:720}
.footer-bottom{padding-top:1rem;border-top:1px solid #dae4e4;margin-top:1.25rem}
.contact-form{border:1px solid #d8e4e4;border-radius:var(--bb-radius);background:white;box-shadow:0 8px 27px rgba(19,48,61,.06)}
.contact-form :is(input,select,textarea){max-width:100%;border-radius:9px!important;border:1px solid #bdcfd2}
.contact-form button{min-height:48px;border-radius:9px;background:#155b74}
.contact-form button:hover{background:#0d4359}
:where(.sponsor-banner){border-radius:18px;overflow:hidden}
:where(.news-page-section,.jobs-page-section){padding-top:1.1rem}
:where(.bb-archive-layout,.article,.prose-block){overflow-wrap:anywhere}
@media(max-width:860px){
 html{scroll-padding-top:88px}
 .masthead{min-height:72px;padding:.45rem 1rem}
 .brand-logo{width:min(246px,60vw)!important;max-height:56px}
 .nav-toggle{display:inline-flex;min-height:44px;border-radius:10px;padding:.62rem .85rem}
 .bb-pro-nav.site-nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:40;flex-direction:column;align-items:stretch;gap:.35rem;padding:1rem;max-height:min(76svh,670px);overflow-y:auto;background:#f9fbfa;border-top:1px solid var(--bb-line);box-shadow:0 20px 30px rgba(18,44,56,.11)}
 .bb-pro-nav.site-nav.open{display:flex}
 .bb-pro-nav.site-nav a{font-size:1rem;padding:.75rem 1rem;border-color:#e2ebeb;background:white}
 .bb-pro-nav.site-nav a.bb-advertise-link{margin-left:0;text-align:center}
 .hero{grid-template-columns:1fr;padding-top:2rem}
 .hero h1{font-size:clamp(2.75rem,9vw,4.5rem)}
 .hero-feature > .story-art{min-height:250px}
 .directory-grid,.story-grid.two,.story-grid.three,.bb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .bb-sponsor{margin:1.5rem 1rem}
 .news-jobs-band{grid-template-columns:1fr}
}
@media(max-width:600px){
 .hero,.section,.page-hero,.article,.category-band,.newsletter-block{padding-left:1rem;padding-right:1rem}
 .hero h1{font-size:clamp(2.85rem,12vw,4rem)}
 .page-hero{min-height:unset;padding-top:2.5rem;padding-bottom:2.5rem}
 .page-hero h1{font-size:clamp(2.2rem,10vw,3.1rem)}
 .hero-deck{font-size:1.04rem}
 .story-grid.two,.story-grid.three,.directory-grid,.bb-grid,.category-grid,.suburb-link-grid{grid-template-columns:1fr}
 .news-card-grid,.job-card-grid,.bb-archive-grid{grid-template-columns:1fr}
 .bb-intro{margin:1.65rem auto}
 .bb-news-thumb{height:190px}
 .bb-sponsor{padding:1.3rem}
 .footer-nav-compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .bb-tools{flex-direction:column;align-items:stretch}
 .bb-tools input,.bb-tools select{width:100%;min-width:0}
}
@media(prefers-reduced-motion:reduce){.story-card,.directory-item,.category-card,.jobs-industry-card,.bb-feature,.news-card,.job-card{transition:none;transform:none!important}}


/* Pictured editorial category banners: all assets below exist in our own image library. */
a.category-card[href*="living-in-brisbane"]{background-image:linear-gradient(180deg,rgba(10,31,45,.12),rgba(10,31,45,.84)),url("/assets/img/locations/new-farm.webp");}
a.category-card[href*="/events/"],a.category-card[href^="events/"]{background-image:linear-gradient(180deg,rgba(10,31,45,.10),rgba(10,31,45,.85)),url("/assets/img/locations/riverfire.webp");}
a.category-card[href*="things-to-do"]{background-image:linear-gradient(180deg,rgba(10,31,45,.08),rgba(10,31,45,.83)),url("/assets/img/locations/south-bank.webp");}
a.category-card[href*="food-drink"],a.category-card[href*="restaurants"]{background-image:linear-gradient(180deg,rgba(10,31,45,.12),rgba(10,31,45,.81)),url("/assets/img/locations/queen-street-mall.webp");}
a.category-card[href*="/hotels/"],a.category-card[href^="hotels/"]{background-image:linear-gradient(180deg,rgba(10,31,45,.12),rgba(10,31,45,.82)),url("/assets/img/locations/queens-wharf.webp");}
a.category-card[href*="brisbane-2032"]{background-image:linear-gradient(180deg,rgba(10,31,45,.12),rgba(10,31,45,.87)),url("/assets/img/locations/brisbane-skyline.webp");}
a.category-card[href*="/suburbs/"],a.category-card[href^="suburbs/"]{background-image:linear-gradient(180deg,rgba(10,31,45,.10),rgba(10,31,45,.85)),url("/assets/img/locations/redcliffe.webp");}
a.category-card[href*="/jobs/"],a.category-card[href^="jobs/"]{background-image:linear-gradient(180deg,rgba(10,31,45,.11),rgba(10,31,45,.85)),url("/assets/img/locations/story-bridge.webp");}
a.category-card{background-size:cover;background-position:center;background-repeat:no-repeat;color:#fff;isolation:isolate;}
a.category-card::before{z-index:-1;}
a.category-card span,a.category-card strong,a.category-card p{position:relative;color:#fff!important;text-shadow:0 1px 6px rgba(0,0,0,.35);}
a.category-card:hover{background-size:cover;filter:saturate(1.12);}

/* Editorial homepage directory: one distinct image per category, no repeats. */
.category-grid a.category-card.cat-things-to-do{background-image:linear-gradient(180deg,rgba(10,30,41,.14),rgba(10,30,41,.80)),url("/assets/img/locations/brisbane-river.webp");}
.category-grid a.category-card.cat-food-drink{background-image:linear-gradient(180deg,rgba(10,30,41,.14),rgba(10,30,41,.80)),url("/assets/img/locations/queen-street-mall.webp");}
.category-grid a.category-card.cat-restaurants{background-image:linear-gradient(180deg,rgba(10,30,41,.14),rgba(10,30,41,.80)),url("/assets/img/locations/queens-wharf.webp");}
.category-grid a.category-card.cat-brisbane-2032{background-image:linear-gradient(180deg,rgba(10,30,41,.14),rgba(10,30,41,.80)),url("/assets/img/editorial/brisbane-future.svg");}
.category-grid a.category-card.cat-events{background-image:linear-gradient(180deg,rgba(10,30,41,.14),rgba(10,30,41,.80)),url("/assets/img/locations/riverfire.webp");}
.category-grid a.category-card.cat-suburbs{background-image:linear-gradient(180deg,rgba(10,30,41,.14),rgba(10,30,41,.80)),url("/assets/img/locations/redcliffe.webp");}
.category-grid a.category-card.cat-weekend-guides{background-image:linear-gradient(180deg,rgba(10,30,41,.14),rgba(10,30,41,.80)),url("/assets/img/locations/south-bank.webp");}
.category-grid a.category-card.cat-living-in-brisbane{background-image:linear-gradient(180deg,rgba(10,30,41,.14),rgba(10,30,41,.80)),url("/assets/img/locations/new-farm.webp");}
.category-grid a.category-card.cat-hotels{background-image:linear-gradient(180deg,rgba(10,30,41,.14),rgba(10,30,41,.80)),url("/assets/img/locations/brisbane-skyline.webp");}
.category-grid a.category-card.cat-attractions{background-image:linear-gradient(180deg,rgba(10,30,41,.14),rgba(10,30,41,.80)),url("/assets/img/locations/story-bridge.webp");}

/* Dated archive, reverse chronological from verified January 2025 history. */
.bb-archive-layout{max-width:1260px;margin:auto;padding:clamp(1.5rem,3vw,3rem)}
.bb-archive-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;padding:1rem;background:#edf4f3;border:1px solid #d5e6e6;border-radius:13px}
.bb-archive-year{min-width:128px;padding:.65rem .8rem;min-height:44px;border:1px solid #c6d9dc;border-radius:8px;color:#153348;background:white}
#archive-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;list-style:none;padding:0;margin:1.5rem 0}
#archive-list .bb-archive-month{grid-column:1/-1;background:transparent!important;border:0!important;box-shadow:none!important;min-height:0;padding:1.4rem 0 .35rem;margin:0;list-style:none}
#archive-list .bb-archive-month h2{font-family:Georgia,serif;font-size:clamp(1.35rem,2.4vw,1.95rem);color:#193b4b;margin:0;border-bottom:2px solid #c9d8da;padding-bottom:.55rem}
#archive-list .bb-archive-entry{display:flex;flex-direction:column;gap:.45rem;border:1px solid #e0e8e9;border-radius:12px;padding:1.1rem 1.25rem;background:#fff;min-height:105px;list-style:none;box-shadow:0 3px 14px rgba(18,44,56,.025)}
#archive-list .bb-archive-entry time,#archive-list .bb-date-unknown{font-size:.73rem;color:#607985;letter-spacing:.04em;font-weight:750;text-transform:uppercase}
#archive-list .bb-archive-entry a{color:#16384b;font-family:Georgia,serif;font-size:1.03rem;line-height:1.32;font-weight:700;text-decoration:none}
#archive-list .bb-archive-entry a:hover{color:#086a80;text-decoration:underline}
#archive-list .bb-archive-entry small{font-size:.73rem;color:#6c7d84}
.bb-archive-status{font-size:.8rem;color:#65747c}
@media(max-width:680px){#archive-list{grid-template-columns:1fr}.bb-archive-toolbar{flex-direction:column;align-items:stretch}.bb-archive-year{width:100%}}

/* Current jobs stay on Brisbane Beacon: summary and verified published contact. */
.job-card .bb-job-summary{font-size:.94rem;line-height:1.62;color:#344d59;margin:1rem 0 .8rem;overflow-wrap:anywhere}
.job-card .bb-job-type{font-size:.81rem;margin:.2rem 0;color:#476170}
.job-card .bb-job-contact{background:#eef6f5;border-left:3px solid #0d6f8f;padding:.85rem 1rem;margin-top:1rem;border-radius:0 7px 7px 0;overflow-wrap:anywhere}
.job-card .bb-job-contact strong{font-weight:800;font-size:.88rem;color:#173e4e}
.job-card .bb-job-contact p{margin:.25rem 0;color:#1f4050;font-size:.85rem}
.job-card .bb-job-note{display:block;color:#607782;line-height:1.5;margin-top:.6rem;font-size:.74rem}
.job-card .bb-jobs-empty{margin:1rem;padding:1rem;line-height:1.5}


/* Unified sponsor-ready masthead: balanced logo and navigation, responsive from 320px. */
@media (min-width: 1101px) {
  .site-header {
    display: grid;
    grid-template-columns: minmax(0, 245px) minmax(0, 1fr);
    gap: clamp(.65rem, 1.6vw, 1.4rem);
    align-items: center;
    padding: 0 max(1rem, calc((100vw - 1260px) / 2 + 1rem));
    min-height: 84px;
  }
  .site-header > .masthead {
    width: 100%;
    max-width: none;
    min-height: 0;
    margin: 0;
    padding: .4rem 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  .site-header .brand {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
    width: 100%;
  }
  .site-header .brand-logo {
    width: min(238px, 100%) !important;
    height: auto !important;
    max-height: 66px;
    display: block;
    object-fit: contain;
    object-position: left center;
    transform: translateY(2px);
  }
  .site-header > .site-nav,
  .site-header > .bb-pro-nav.site-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    min-width: 0;
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 0;
    gap: .14rem;
    overflow-x: auto;
    overflow-y: hidden;
    box-shadow: none;
  }
  .site-header > .site-nav a {
    flex: 0 0 auto;
    padding-top: .62rem;
    padding-bottom: .62rem;
  }
  .site-header > .site-nav a.bb-advertise-link {
    margin-left: .45rem;
  }
}
@media (min-width: 1101px) and (max-width: 1210px) {
  .site-header { grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: .65rem; }
  .site-header .brand-logo { width: min(216px, 100%) !important; }
  .site-header > .site-nav a { font-size: .8rem; padding: .55rem .54rem; }
}
@media (max-width: 1100px) {
  .site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0;
    min-height: 70px;
    padding: 0 max(1rem, env(safe-area-inset-left)) 0 max(1rem, env(safe-area-inset-right));
  }
  .site-header > .masthead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: none;
    min-height: 70px;
    margin: 0;
    padding: .4rem 0;
    gap: .75rem;
  }
  .site-header .brand {
    display: flex;
    align-items: center;
    flex: 0 1 auto;
    min-width: 0;
    max-width: calc(100% - 104px);
  }
  .site-header .brand-logo {
    width: min(230px, 48vw) !important;
    max-width: 100%;
    height: auto !important;
    max-height: 57px;
    display: block;
    object-fit: contain;
    object-position: left center;
    transform: translateY(2px);
  }
  .site-header .nav-toggle {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-width: 92px;
    min-height: 44px;
    margin: 0;
    padding: .55rem .85rem;
    background: #fff;
    color: #163d50;
    border: 1px solid #c8d9dd;
    border-radius: 11px;
    box-shadow: 0 2px 7px rgba(18,44,56,.04);
    cursor: pointer;
    font-weight: 800;
  }
  .site-header .nav-toggle::before {
    content: "";
    display: block;
    width: 18px;
    height: 14px;
    background:
      linear-gradient(currentColor, currentColor) left top / 100% 2px no-repeat,
      linear-gradient(currentColor, currentColor) left center / 100% 2px no-repeat,
      linear-gradient(currentColor, currentColor) left bottom / 100% 2px no-repeat;
  }
  .site-header .nav-toggle[aria-expanded="true"] {
    background: #163d50;
    color: #fff;
    border-color: #163d50;
  }
  .site-header > .site-nav,
  .site-header > .bb-pro-nav.site-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 45;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: .85rem max(1rem, env(safe-area-inset-left)) 1.2rem max(1rem, env(safe-area-inset-right));
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: .32rem;
    max-height: min(calc(100dvh - 72px), 680px);
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    background: #f8faf9;
    border-top: 1px solid #dce5e6;
    box-shadow: 0 15px 28px rgba(14,39,53,.12);
  }
  .site-header > .site-nav.open,
  .site-header > .bb-pro-nav.site-nav.open { display: flex; }
  .site-header > .site-nav a {
    display: block;
    flex: 0 0 auto;
    width: 100%;
    min-height: 44px;
    padding: .72rem .95rem;
    color: #244657;
    background: #fff;
    border: 1px solid #dde6e8;
    border-radius: 9px;
    line-height: 1.4;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .site-header > .site-nav .bb-advertise-link {
    margin: .35rem 0 0;
    text-align: center;
  }
  html { scroll-padding-top: 80px; }
}
@media (max-width: 380px) {
  .site-header .brand-logo { width: min(176px, 47vw) !important; }
  .site-header .nav-toggle { min-width: 88px; padding-inline: .7rem; }
}

