/* ==========================================================================
   BowNow Global — marketing site stylesheet
   ========================================================================== */

:root{
  --red: #BF0B29;
  --red-dark: #970921;
  --red-light: #E8283F;
  --pink-tint: #FDF7F7;
  --pink-box: #FAE4E5;
  --pink-box-2: #F7DCDF;
  --ink: #0A0A0A;
  --gray-700: #4B4B4B;
  --gray-600: #6B6B6B;
  --gray-500: #8A8A8A;
  --gray-300: #D8D8D8;
  --gray-100: #F3F1F1;
  --border: #ECE7E7;
  --white: #FFFFFF;
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --shadow-card: 0 2px 4px rgba(20,10,10,.04), 0 12px 28px -14px rgba(20,10,10,.14);
  --max: 1120px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body.bownow{
  margin:0;
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
}
.bownow *{ box-sizing:border-box; }
.bownow h1,.bownow h2,.bownow h3,.bownow h4{
  font-family:"Plus Jakarta Sans","Inter",sans-serif;
  font-weight:800;
  line-height:1.18;
  margin:0;
  letter-spacing:-.01em;
  text-wrap:balance;
}
.bownow p{ margin:0; }
.bownow img{ max-width:100%; display:block; }
:where(.bownow) a{ color:inherit; text-decoration:none; }
.bownow ul{ margin:0; padding:0; list-style:none; }

.bn-wrap{ max-width:var(--max); margin:0 auto; padding:0 24px; }
@media (max-width:640px){ .bn-wrap{ padding:0 28px; } }
.bn-section{ padding:88px 0; }
.bn-section--tight{ padding:64px 0; }
.bn-section--tint{ background:var(--pink-tint); }
.bn-section--red{ background:var(--red); color:var(--white); }

.bn-eyebrow{
  display:inline-block;
  font-size:12.5px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--red);
  margin-bottom:14px;
}
.bn-h1{ font-size:clamp(34px,4.4vw,50px); }
.bn-h2{ font-size:clamp(26px,3.2vw,36px); }
.bn-lede{ color:var(--gray-600); font-size:17px; max-width:56ch; }

/* Buttons -------------------------------------------------------------- */
.bn-btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:"Plus Jakarta Sans",sans-serif;
  font-weight:700; font-size:15px;
  padding:14px 26px; border-radius:999px;
  border:1.5px solid transparent;
  cursor:pointer; white-space:nowrap;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
}
.bn-btn:hover{ transform:translateY(-1px); }
/* NOTE: chained with .bn-btn (a.bn-btn.bn-btn--x) so these beat the ".bownow a{color:inherit}"
   reset above (class+element specificity) — a single-class selector here would silently lose
   and every button would render in its ambient inherited text color instead of its own. */
.bn-btn.bn-btn--primary{ background:var(--red); color:var(--white); box-shadow:0 10px 24px -10px rgba(191,11,41,.55); }
.bn-btn.bn-btn--primary:hover{ background:var(--red-dark); }
.bn-btn.bn-btn--outline{ background:transparent; color:var(--red); border-color:var(--red); }
.bn-btn.bn-btn--outline:hover{ background:var(--pink-box); }
.bn-btn.bn-btn--white{ background:var(--white); color:var(--red); }
.bn-btn.bn-btn--white:hover{ background:var(--pink-box); }
.bn-btn.bn-btn--ghost-white{ background:transparent; color:var(--white); border-color:rgba(255,255,255,.6); }
.bn-btn.bn-btn--ghost-white:hover{ background:rgba(255,255,255,.12); }
.bn-btn-row{ display:flex; gap:14px; flex-wrap:wrap; }
.bn-btn svg{ width:15px; height:15px; }

/* Header ----------------------------------------------------------------- */
.bn-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);
}
.bn-header__row{ display:flex; align-items:center; justify-content:space-between; height:76px; gap:24px; }
.bn-logo{ display:flex; align-items:center; gap:9px; font-family:"Plus Jakarta Sans",sans-serif; font-weight:800; font-size:19px; flex:none; }
.bn-logo__mark{ width:30px; height:30px; border-radius:50%; background:var(--red); display:flex; align-items:center; justify-content:center; }
.bn-logo__mark svg{ width:17px; height:17px; }
.bn-logo__img{ height:34px; width:auto; display:block; }
.bn-nav{ display:flex; align-items:center; gap:30px; flex:1; justify-content:center; }
.bn-nav a{ font-size:14.5px; font-weight:600; color:var(--ink); padding:8px 2px; border-bottom:2px solid transparent; }
.bn-nav a:hover{ color:var(--red); }
.bn-nav a.is-active{ color:var(--red); border-color:var(--red); }
.bn-header__actions{ display:flex; align-items:center; gap:10px; flex:none; }
.bn-lang-switch{ display:flex; align-items:center; gap:2px; font-size:13px; font-weight:700; margin-right:6px; flex:none; }
.bn-lang-switch a{ padding:5px 9px; border-radius:999px; color:var(--gray-500); }
.bn-lang-switch a.is-active{ background:var(--gray-100); color:var(--ink); }
.bn-lang-switch span{ color:var(--gray-300); }
@media (max-width:900px){ .bn-lang-switch{ display:none; } }
.bn-navtoggle{
  display:none;
  align-items:center; justify-content:center;
  width:40px; height:40px; flex:none;
  background:none; border:none; border-radius:8px;
  padding:0; margin-left:2px; cursor:pointer;
  color:var(--ink);
}
.bn-navtoggle:hover{ background:var(--pink-tint); }
.bn-navtoggle svg{ width:22px; height:22px; }
.bn-navtoggle .bn-navtoggle__close{ display:none; }
.bn-navtoggle[aria-expanded="true"] .bn-navtoggle__open{ display:none; }
.bn-navtoggle[aria-expanded="true"] .bn-navtoggle__close{ display:block; }

.bn-mobile-nav{
  display:none;
  position:fixed; top:76px; left:0; right:0; bottom:0;
  background:var(--white);
  z-index:49;
  overflow-y:auto;
  padding:8px 0 40px;
}
.bn-mobile-nav.is-open{ display:block; }
.bn-mobile-nav a{
  display:block;
  font-family:"Plus Jakarta Sans",sans-serif;
  font-weight:700; font-size:17px;
  padding:16px 28px;
  border-bottom:1px solid var(--border);
}
.bn-mobile-nav a.is-active{ color:var(--red); }
.bn-mobile-nav__actions{ display:flex; flex-direction:column; gap:12px; padding:22px 28px 0; }
.bn-mobile-nav__actions .bn-btn{ justify-content:center; width:100%; }
.bn-mobile-nav__lang{ display:flex; gap:8px; padding:22px 28px 0; }
.bn-mobile-nav__lang a{ display:inline-block; padding:8px 16px; border:1px solid var(--border); border-radius:999px; font-size:14px; font-weight:700; }
.bn-mobile-nav__lang a.is-active{ background:var(--ink); color:var(--white); border-color:var(--ink); }

body.bn-menu-open{ overflow:hidden; }

@media (max-width: 900px){
  .bn-nav{ display:none; }
  .bn-header__actions .bn-btn--outline{ display:none; }
  .bn-navtoggle{ display:flex; }
}
@media (min-width: 901px){
  .bn-mobile-nav{ display:none !important; }
}

/* Footer ------------------------------------------------------------------ */
.bn-footer{ background:var(--gray-100); padding:64px 0 28px; }
.bn-footer__grid{ display:grid; grid-template-columns:1.6fr repeat(4,1fr); gap:32px; }
.bn-footer__brand p{ color:var(--gray-600); font-size:14px; margin-top:14px; max-width:34ch; }
.bn-footer h5{ font-family:"Plus Jakarta Sans",sans-serif; font-weight:800; font-size:14px; margin-bottom:14px; }
.bn-footer li{ margin-bottom:10px; }
.bn-footer a{ font-size:14px; color:var(--gray-700); }
.bn-footer a:hover{ color:var(--red); }
.bn-footer__bottom{ border-top:1px solid var(--border); margin-top:44px; padding-top:22px; font-size:13px; color:var(--gray-500); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.bn-social{ display:flex; gap:10px; }
.bn-social a{ width:32px; height:32px; border-radius:50%; background:var(--white); display:flex; align-items:center; justify-content:center; border:1px solid var(--border); }
@media (max-width:820px){ .bn-footer__grid{ grid-template-columns:1fr 1fr; } }

/* Hero --------------------------------------------------------------------*/
/* NOTE: padding-top/-bottom only (never the shorthand) — this element also
carries .bn-wrap, which sets horizontal padding at the same specificity;
a shorthand `padding:` here would win by source order and silently zero
out the left/right padding, leaving text flush against the screen edge
on narrow viewports (invisible on wide desktops where max-width already
centers the content with room to spare). */
.bn-hero{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; padding-top:76px; padding-bottom:90px; }
.bn-hero__copy p.bn-lede{ margin:18px 0 30px; }
.bn-hero__media img{ width:100%; }
@media (max-width:900px){ .bn-hero{ grid-template-columns:1fr; padding-top:48px; padding-bottom:56px; } }

/* Two column feature block ------------------------------------------------*/
.bn-split{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.bn-split--rev .bn-split__media{ order:2; }
@media (max-width:900px){ .bn-split{ grid-template-columns:1fr; } .bn-split--rev .bn-split__media{ order:0; } }

.bn-feature-list{ display:flex; flex-direction:column; gap:22px; margin-top:28px; }
.bn-feature{ display:flex; gap:16px; }
.bn-feature__icon{
  flex:none; width:46px; height:46px; border-radius:12px;
  background:var(--pink-box); display:flex; align-items:center; justify-content:center;
}
.bn-feature__icon svg{ width:22px; height:22px; color:var(--red); }
.bn-feature__icon--round{ border-radius:50%; }
.bn-feature h4{ font-size:16px; margin-bottom:4px; }
.bn-feature p{ font-size:14.5px; color:var(--gray-600); }

/* Mini feature row (Pricing "Why Choose" section) ---------------------------*/
.bn-mini-features{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:30px; }
.bn-mini-feature__icon{ width:46px; height:46px; border-radius:50%; background:var(--pink-box); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.bn-mini-feature__icon svg{ width:22px; height:22px; color:var(--red); }
.bn-mini-feature h4{ font-size:15px; margin-bottom:5px; }
.bn-mini-feature p{ font-size:13.5px; color:var(--gray-600); }
@media (max-width:700px){ .bn-mini-features{ grid-template-columns:1fr; } }

/* Trusted by ---------------------------------------------------------------*/
.bn-trustedby{ text-align:center; }
.bn-trustedby img{ margin:26px auto 0; opacity:.85; filter:grayscale(15%); max-width:100%; }

/* Benefit grid --------------------------------------------------------------*/
.bn-benefits{ text-align:center; }
.bn-benefits__head{ margin-bottom:44px; }
.bn-benefit-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:32px; }
.bn-benefit{ text-align:center; }
.bn-benefit__icon{ width:70px; height:70px; border-radius:50%; background:var(--pink-box); display:flex; align-items:center; justify-content:center; margin:0 auto 18px; }
.bn-benefit__icon svg{ width:30px; height:30px; color:var(--red); }
.bn-benefit h4{ font-size:15.5px; margin-bottom:6px; }
.bn-benefit p{ font-size:13.5px; color:var(--gray-600); }
@media (max-width:820px){ .bn-benefit-grid{ grid-template-columns:1fr 1fr; } }

/* CTA banner -----------------------------------------------------------------*/
.bn-cta{ background:var(--red); border-radius:var(--radius-lg); padding:56px 48px; text-align:center; color:var(--white); }
.bn-cta h2{ font-size:clamp(22px,3vw,30px); color:var(--white); }
.bn-cta p{ color:rgba(255,255,255,.9); margin:12px 0 26px; }
.bn-cta .bn-btn-row{ justify-content:center; }

/* Steps tabs (How it works) --------------------------------------------------*/
.bn-steps-nav{ display:flex; align-items:center; justify-content:center; gap:18px; margin:34px 0 10px; flex-wrap:wrap; }
.bn-steps-nav .step{ font-weight:800; font-family:"Plus Jakarta Sans",sans-serif; color:var(--gray-500); font-size:15px; padding-bottom:8px; border-bottom:3px solid transparent; }
.bn-steps-nav .step.is-active{ color:var(--red); border-color:var(--red); }
.bn-steps-nav .arrow{ color:var(--gray-300); }

/* padding-top/-bottom only — same reason as .bn-hero above (this element also carries .bn-wrap). */
.bn-step-block{ display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:center; padding-top:70px; padding-bottom:70px; }
.bn-step-block--rev{ grid-template-columns:1.1fr 1fr; }
.bn-step-block--rev .bn-step-block__media{ order:-1; }
.bn-step-block--wide{ grid-template-columns:0.85fr 1.3fr; }
.bn-step-tag{ display:inline-block; background:var(--red); color:#fff; font-weight:800; font-size:12px; letter-spacing:.05em; padding:5px 13px; border-radius:999px; margin-bottom:18px; }
.bn-step3-media{ display:flex; gap:18px; align-items:flex-start; }
.bn-step3-media img{ width:auto; max-height:378px; }
.bn-step3-media img:first-child{ flex:1.35; }
.bn-step3-media img:last-child{ flex:1; }
@media (max-width:900px){ .bn-step-block, .bn-step-block--rev, .bn-step-block--wide{ grid-template-columns:1fr; } .bn-step-block--rev .bn-step-block__media{ order:0; } .bn-step3-media{ flex-direction:column; } }

.bn-flow{ display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; margin:44px 0 22px; }
.bn-flow__item{ text-align:center; font-size:13px; font-weight:700; color:var(--gray-700); }
.bn-flow__icon{ width:54px; height:54px; border-radius:50%; background:var(--pink-box); display:flex; align-items:center; justify-content:center; margin:0 auto 8px; }
.bn-flow__icon svg{ width:24px; height:24px; color:var(--red); }
.bn-flow__arrow{ color:var(--gray-300); }

/* Pricing ---------------------------------------------------------------------*/
.bn-price-toggle{ display:inline-flex; background:var(--pink-box); border-radius:999px; padding:5px; margin:0 auto; }
.bn-price-toggle button{ border:none; background:transparent; font-family:"Plus Jakarta Sans",sans-serif; font-weight:700; font-size:14px; padding:11px 22px; border-radius:999px; cursor:pointer; color:var(--gray-700); }
.bn-price-toggle button.is-active{ background:var(--red); color:#fff; }

.bn-plans{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:44px; align-items:stretch; }
.bn-plan{ border:1px solid var(--border); border-radius:var(--radius-md); padding:34px 28px; text-align:center; background:var(--white); display:flex; flex-direction:column; }
.bn-plan--popular{ border-color:var(--red); box-shadow:var(--shadow-card); position:relative; }
.bn-plan__tag{ position:absolute; top:0; left:0; right:0; transform:translateY(-50%); background:var(--red); color:#fff; font-size:11.5px; font-weight:800; letter-spacing:.06em; padding:6px; border-radius:999px; margin:0 auto; width:150px; }
.bn-plan h3{ font-size:21px; margin-top:6px; }
.bn-plan__desc{ color:var(--gray-600); font-size:13.5px; margin-top:6px; }
.bn-plan__price{ font-family:"Plus Jakarta Sans",sans-serif; font-weight:800; font-size:38px; margin:20px 0 4px; }
.bn-plan__price span{ font-size:14px; font-weight:600; color:var(--gray-600); }
.bn-plan .bn-btn{ margin:16px 0 6px; width:100%; justify-content:center; }
.bn-plan__cta{ margin-top:auto; }
.bn-plan__features{ text-align:left; margin-top:24px; display:flex; flex-direction:column; gap:12px; }
.bn-plan__features li{ display:flex; gap:9px; font-size:14px; color:var(--gray-700); align-items:flex-start; }
.bn-plan__features svg{ width:16px; height:16px; color:var(--red); flex:none; margin-top:3px; }
@media (max-width:900px){ .bn-plans{ grid-template-columns:1fr; } }

/* Case studies -----------------------------------------------------------------*/
.bn-cs-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:40px; }
.bn-cs-card{ border:1px solid var(--border); border-radius:var(--radius-md); padding:28px; background:var(--white); box-shadow:var(--shadow-card); }
.bn-cs-card__head{ display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.bn-cs-card__logo{ width:44px; height:44px; border-radius:10px; display:flex; align-items:center; justify-content:center; color:#fff; }
.bn-cs-card__logo svg{ width:22px; height:22px; }
.bn-cs-card h4{ font-size:15.5px; }
.bn-cs-card .meta{ font-size:12.5px; color:var(--gray-500); }
.bn-cs-card h3{ font-size:19px; margin:14px 0 8px; }
.bn-cs-card p{ font-size:13.5px; color:var(--gray-600); }
.bn-cs-card__stats{ display:flex; gap:22px; margin:20px 0 6px; }
.bn-cs-card__stats div span{ display:block; }
.bn-cs-card__stats .label{ font-size:12px; color:var(--gray-500); }
.bn-cs-card__stats .value{ font-family:"Plus Jakarta Sans",sans-serif; font-weight:800; font-size:22px; color:var(--red); }
.bn-cs-card__link{ display:inline-flex; align-items:center; gap:5px; font-weight:700; font-size:13.5px; color:var(--red); margin-top:18px; white-space:nowrap; }
.bn-cs-card__link svg{ width:15px; height:15px; flex:none; }
@media (max-width:900px){ .bn-cs-grid{ grid-template-columns:1fr; } }

.bn-stat-strip{ background:var(--pink-tint); border-radius:var(--radius-lg); padding:44px 20px; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center; }
.bn-stat-strip__icon{ width:52px; height:52px; border-radius:50%; background:var(--white); display:flex; align-items:center; justify-content:center; margin:0 auto 14px; }
.bn-stat-strip__icon svg{ width:24px; height:24px; color:var(--red); }
.bn-stat-strip .value{ font-family:"Plus Jakarta Sans",sans-serif; font-weight:800; font-size:32px; color:var(--red); }
.bn-stat-strip .label{ font-size:13px; color:var(--gray-600); margin-top:4px; }
@media (max-width:820px){ .bn-stat-strip{ grid-template-columns:1fr 1fr; } }

.bn-quote{ display:flex; align-items:center; gap:40px; padding:70px 0; }
.bn-quote__mark{ font-family:Georgia,serif; font-size:70px; color:var(--pink-box-2); line-height:.6; flex:none; }
.bn-quote blockquote{ font-family:"Plus Jakarta Sans",sans-serif; font-weight:700; font-size:22px; line-height:1.45; margin:0 0 14px; }
.bn-quote cite{ font-style:normal; color:var(--gray-600); font-size:14px; }
.bn-quote__person{ display:flex; align-items:center; gap:16px; flex:none; }
.bn-quote__person img{ width:64px; height:64px; border-radius:50%; }
@media (max-width:820px){ .bn-quote{ flex-direction:column; text-align:center; } }

.bn-cs-more{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:30px; }
.bn-cs-mini{ border:1px solid var(--border); border-radius:var(--radius-md); padding:22px; }
.bn-cs-mini .meta{ font-size:12px; color:var(--gray-500); margin-top:2px; }
.bn-cs-mini h4{ font-size:15px; margin:12px 0 10px; }
.bn-cs-mini a{ display:inline-flex; align-items:center; gap:5px; font-size:13px; font-weight:700; color:var(--red); white-space:nowrap; }
.bn-cs-mini a svg{ width:14px; height:14px; flex:none; }
@media (max-width:900px){ .bn-cs-more{ grid-template-columns:1fr; } }

.bn-logo-row{ display:flex; flex-wrap:wrap; gap:26px; align-items:center; justify-content:center; margin-top:20px; color:var(--gray-600); font-weight:700; font-size:14px; }
.bn-logo-row__item{ display:inline-flex; align-items:center; gap:8px; }
.bn-logo-row__item span{ width:24px; height:24px; border-radius:6px; display:flex; align-items:center; justify-content:center; flex:none; }
.bn-logo-row__item svg{ width:14px; height:14px; color:#fff; }

/* Blog ---------------------------------------------------------------------------*/
.bn-blog-head{ text-align:left; }
.bn-blog-layout{ display:grid; grid-template-columns:1fr 300px; gap:44px; margin-top:40px; align-items:start; }
.bn-blog-filters{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:30px; }
.bn-chip{ font-size:13px; font-weight:700; padding:9px 16px; border-radius:999px; border:1px solid var(--border); color:var(--gray-700); }
.bn-chip.is-active{ background:var(--red); border-color:var(--red); color:#fff; }
.bn-post-row{ display:grid; grid-template-columns:270px 1fr; gap:22px; padding:22px 0; border-bottom:1px solid var(--border); }
.bn-post-row img{ border-radius:var(--radius-sm); width:100%; aspect-ratio:277/166; object-fit:cover; }
.bn-post-cat{ font-size:11.5px; font-weight:800; letter-spacing:.05em; color:var(--red); text-transform:uppercase; }
.bn-post-row h3{ font-size:19px; margin:8px 0; }
.bn-post-row p{ font-size:14px; color:var(--gray-600); }
.bn-post-meta{ display:flex; gap:14px; font-size:12.5px; color:var(--gray-500); margin-top:12px; }
@media (max-width:700px){ .bn-post-row{ grid-template-columns:1fr; } }

.bn-search{ display:flex; border:1px solid var(--border); border-radius:999px; overflow:hidden; }
.bn-search input{ border:none; outline:none; padding:12px 16px; flex:1; font-size:14px; font-family:inherit; }
.bn-search button{ border:none; background:var(--red); color:#fff; width:44px; display:flex; align-items:center; justify-content:center; cursor:pointer; }

.bn-widget{ border:1px solid var(--border); border-radius:var(--radius-md); padding:24px; margin-bottom:22px; }
.bn-widget--soft{ background:var(--pink-tint); border-color:transparent; }
.bn-widget--gray{ background:var(--gray-100); border-color:transparent; }
.bn-widget h4{ font-size:16px; margin-bottom:14px; }
.bn-cat-list li{ display:flex; justify-content:space-between; font-size:14px; padding:7px 0; color:var(--gray-700); }
.bn-cat-list li.is-active{ color:var(--red); font-weight:700; }
.bn-widget p{ font-size:13.5px; color:var(--gray-600); margin-bottom:16px; }

.bn-pagination{ display:flex; gap:8px; justify-content:center; margin-top:36px; }
.bn-pagination a,.bn-pagination span{ width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13.5px; font-weight:700; border:1px solid var(--border); color:var(--gray-700); }
.bn-pagination .is-current{ background:var(--red); border-color:var(--red); color:#fff; }

.bn-subscribe{ background:var(--pink-tint); border-radius:var(--radius-lg); padding:36px 40px; display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; margin-top:60px; }
.bn-subscribe__icon{ width:52px; height:52px; border-radius:50%; background:var(--pink-box); display:flex; align-items:center; justify-content:center; flex:none; }
.bn-subscribe__icon svg{ width:24px; height:24px; color:var(--red); }
.bn-subscribe__text{ display:flex; gap:16px; align-items:center; flex:1; min-width:240px; }
.bn-subscribe h4{ font-size:17px; }
.bn-subscribe p{ font-size:13.5px; color:var(--gray-600); margin-top:4px; }
.bn-subscribe form{ display:flex; gap:10px; flex-wrap:wrap; }
.bn-subscribe input{ border:1px solid var(--border); border-radius:999px; padding:12px 18px; font-size:14px; min-width:240px; font-family:inherit; }

.bn-single-post{ max-width:760px; margin:0 auto; padding:70px 24px; }
.bn-single-post .bn-post-cat{ margin-bottom:12px; display:block; }
.bn-single-post h1{ font-size:clamp(28px,4vw,40px); margin-bottom:16px; }
.bn-single-post .bn-post-meta{ margin-bottom:34px; }
.bn-single-post .entry-content{ font-size:16.5px; color:var(--gray-700); }
.bn-single-post .entry-content p{ margin-bottom:20px; }
.bn-single-post .entry-content h2{ font-size:24px; margin:36px 0 14px; }
.bn-single-post .entry-content img{ border-radius:var(--radius-md); margin:24px 0; }
