/* =========================================================
   Bra Size (brasize.xyz) — shared header, mobile drawer & footer
   Loaded on every page. All selectors are prefixed "bs-" so they
   never collide with page-level styles.
========================================================= */
.bs-util, .bs-header, .bs-drawer, .bs-footer{
  --bs-paper:#F7F5EF;
  --bs-paper-dim:#EFEAE0;
  --bs-ink:#1B2A4A;
  --bs-ink-soft:#5C6478;
  --bs-red:#C1442D;
  --bs-red-dark:#9A3421;
  --bs-sage:#4B6E5D;
  --bs-sage-dark:#33503F;
  --bs-line:#DDD6C6;
  --bs-shadow:0 18px 40px -18px rgba(27,42,74,0.35);
  --bs-display:'Bitter', Georgia, serif;
  --bs-body:'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --bs-mono:'Space Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-family:var(--bs-body);
  -webkit-font-smoothing:antialiased;
}
.bs-header *, .bs-drawer *, .bs-footer *{box-sizing:border-box;}
.bs-header a, .bs-drawer a, .bs-footer a{text-decoration:none;}
.bs-wrap{max-width:1180px; margin:0 auto; padding:0 24px;}
.bs-skip{position:absolute; left:-9999px; top:8px; background:#1B2A4A; color:#fff; padding:10px 16px; border-radius:8px; z-index:200; font:600 0.9rem 'IBM Plex Sans',sans-serif;}
.bs-skip:focus{left:12px;}

/* ---------- Utility bar ---------- */
.bs-util{background:var(--bs-ink); color:#C9D0DE; font-size:0.76rem;}
.bs-util .bs-wrap{display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:34px;}
.bs-util-points{display:flex; gap:18px; flex-wrap:wrap; font-family:var(--bs-mono); letter-spacing:0.04em;}
.bs-util-points span{display:inline-flex; align-items:center; gap:6px;}
.bs-util-points i{width:6px; height:6px; border-radius:50%; background:#E07A5F; display:inline-block;}
.bs-util-links{display:flex; gap:18px;}
.bs-util-links a{color:#E6EAF2;}
.bs-util-links a:hover{color:#fff; text-decoration:underline;}
@media(max-width:760px){ .bs-util-links{display:none;} .bs-util-points span:nth-child(n+3){display:none;} }

/* ---------- Main bar ---------- */
.bs-header{position:sticky; top:0; z-index:90; background:rgba(247,245,239,0.94); backdrop-filter:saturate(1.4) blur(10px); -webkit-backdrop-filter:saturate(1.4) blur(10px); border-bottom:1px solid var(--bs-line);}
.bs-header.is-scrolled{box-shadow:0 10px 24px -20px rgba(27,42,74,0.6);}
.bs-bar{display:flex; align-items:center; gap:22px; min-height:68px;}
.bs-brand{display:flex; align-items:center; gap:11px; color:var(--bs-ink); flex-shrink:0;}
.bs-brand svg{width:38px; height:38px; flex-shrink:0;}
.bs-brand-text{display:flex; flex-direction:column; line-height:1.05;}
.bs-brand-name{font-family:var(--bs-display); font-weight:700; font-size:1.32rem; letter-spacing:-0.01em;}
.bs-brand-sub{font-family:var(--bs-mono); font-size:0.6rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--bs-ink-soft); margin-top:4px;}

.bs-nav{display:flex; align-items:center; gap:2px; margin-left:auto;}
.bs-nav > a, .bs-nav-btn{
  display:inline-flex; align-items:center; gap:5px; padding:10px 12px; border-radius:8px;
  font-family:var(--bs-body); font-size:0.9rem; font-weight:500; color:var(--bs-ink); background:none; border:0; cursor:pointer; line-height:1;
}
.bs-nav > a:hover, .bs-nav-btn:hover, .bs-nav-item.is-open > .bs-nav-btn{background:var(--bs-paper-dim);}
.bs-nav > a[aria-current="page"]{color:var(--bs-red);}
.bs-nav-btn svg{transition:transform .2s ease;}
.bs-nav-item.is-open > .bs-nav-btn svg{transform:rotate(180deg);}
.bs-nav-item{position:relative;}

.bs-cta{display:inline-flex; align-items:center; gap:8px; background:var(--bs-red); color:#fff !important; font-weight:700; font-size:0.88rem; padding:11px 18px; border-radius:999px; margin-left:8px; white-space:nowrap; box-shadow:0 8px 18px -10px rgba(193,68,45,0.8);}
.bs-cta:hover{background:var(--bs-red-dark);}

/* Mega panel */
.bs-panel{
  position:absolute; top:calc(100% + 10px); left:50%; transform:translateX(-50%) translateY(6px);
  background:#fff; border:1px solid var(--bs-line); border-radius:16px; box-shadow:var(--bs-shadow);
  padding:22px; display:grid; gap:22px; opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .16s ease, transform .16s ease, visibility .16s; z-index:95;
}
.bs-nav-item.is-open .bs-panel{opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0);}
.bs-panel.cols-3{grid-template-columns:repeat(3, 220px);}
.bs-panel.cols-2{grid-template-columns:repeat(2, 230px);}
.bs-panel.cols-1{grid-template-columns:250px;}
.bs-panel-title{font-family:var(--bs-mono); font-size:0.64rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--bs-red); font-weight:700; margin:0 0 10px; padding:0 10px;}
.bs-panel a{display:block; padding:7px 10px; border-radius:8px; color:var(--bs-ink); font-size:0.86rem;}
.bs-panel a small{display:block; color:var(--bs-ink-soft); font-size:0.74rem; margin-top:1px;}
.bs-panel a:hover{background:var(--bs-paper-dim);}
.bs-panel a.bs-feature{background:var(--bs-paper); border:1px solid var(--bs-line); margin-bottom:8px; padding:12px;}
.bs-panel a.bs-feature strong{font-family:var(--bs-display); font-size:0.98rem;}
.bs-panel a.bs-feature:hover{border-color:var(--bs-red);}
.bs-panel-foot{grid-column:1 / -1; border-top:1px dashed var(--bs-line); padding-top:12px; display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:0.8rem; color:var(--bs-ink-soft);}
.bs-panel-foot a{display:inline; padding:0; color:var(--bs-red); font-weight:700;}
.bs-panel-foot a:hover{background:none; text-decoration:underline;}

.bs-burger{display:none; margin-left:auto; width:44px; height:44px; border-radius:10px; border:1px solid var(--bs-line); background:#fff; align-items:center; justify-content:center; cursor:pointer; color:var(--bs-ink);}
.bs-burger svg{width:22px; height:22px;}

@media(max-width:1080px){
  .bs-nav, .bs-cta-desk{display:none;}
  .bs-burger{display:inline-flex;}
  .bs-bar{min-height:62px;}
}

/* ---------- Mobile drawer ---------- */
.bs-drawer{position:fixed; inset:0; z-index:120; visibility:hidden; pointer-events:none;}
.bs-drawer.is-open{visibility:visible; pointer-events:auto;}
.bs-drawer-scrim{position:absolute; inset:0; background:rgba(27,42,74,0.45); opacity:0; transition:opacity .2s ease;}
.bs-drawer.is-open .bs-drawer-scrim{opacity:1;}
.bs-drawer-panel{position:absolute; top:0; right:0; bottom:0; width:min(400px, 92vw); background:var(--bs-paper); box-shadow:-20px 0 40px -20px rgba(0,0,0,0.4); transform:translateX(100%); transition:transform .24s ease; display:flex; flex-direction:column;}
.bs-drawer.is-open .bs-drawer-panel{transform:none;}
.bs-drawer-head{display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid var(--bs-line);}
.bs-drawer-close{width:42px; height:42px; border-radius:10px; border:1px solid var(--bs-line); background:#fff; cursor:pointer; color:var(--bs-ink); display:inline-flex; align-items:center; justify-content:center;}
.bs-drawer-body{overflow-y:auto; padding:10px 18px 24px; flex:1;}
.bs-drawer-body > a{display:block; padding:14px 4px; border-bottom:1px solid var(--bs-line); color:var(--bs-ink); font-weight:600;}
.bs-acc{border-bottom:1px solid var(--bs-line);}
.bs-acc > button{width:100%; display:flex; justify-content:space-between; align-items:center; padding:14px 4px; background:none; border:0; font:600 1rem var(--bs-body); color:var(--bs-ink); cursor:pointer;}
.bs-acc > button svg{transition:transform .2s ease;}
.bs-acc.is-open > button svg{transform:rotate(180deg);}
.bs-acc-body{display:none; padding:0 0 12px;}
.bs-acc.is-open .bs-acc-body{display:block;}
.bs-acc-body p{font-family:var(--bs-mono); font-size:0.62rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--bs-red); margin:10px 4px 4px; font-weight:700;}
.bs-acc-body a{display:block; padding:8px 4px; color:var(--bs-ink-soft); font-size:0.92rem;}
.bs-drawer-cta{margin:18px 0 6px; display:flex; justify-content:center; width:100%; background:var(--bs-red); color:#fff; padding:14px; border-radius:12px; font-weight:700;}
.bs-drawer-note{font-size:0.78rem; color:var(--bs-ink-soft); text-align:center; margin:8px 0 0;}
body.bs-lock{overflow:hidden;}

/* ---------- Footer ---------- */
.bs-footer{background:var(--bs-ink); color:#C3CADA; font-size:0.88rem; margin-top:0;}
.bs-footer a{color:#DCE1EC;}
.bs-footer a:hover{color:#fff; text-decoration:underline;}

.bs-f-cta{border-bottom:1px solid rgba(255,255,255,0.1);}
.bs-f-cta .bs-wrap{display:grid; grid-template-columns:1.3fr 1fr; gap:32px; align-items:center; padding-top:44px; padding-bottom:40px;}
.bs-f-cta h2{font-family:var(--bs-display); color:#fff; font-size:clamp(1.4rem,2.6vw,1.9rem); margin:0 0 8px; line-height:1.2;}
.bs-f-cta p{margin:0; color:#AEB6C8; max-width:56ch;}
.bs-f-cta-actions{display:flex; gap:10px; justify-content:flex-end; flex-wrap:wrap;}
.bs-f-btn{display:inline-flex; align-items:center; gap:8px; padding:13px 20px; border-radius:999px; font-weight:700; font-size:0.9rem;}
.bs-footer a.bs-f-btn-primary{background:var(--bs-red); color:#fff;}
.bs-footer a.bs-f-btn-primary:hover{background:#D45A42; text-decoration:none;}
.bs-footer a.bs-f-btn-ghost{border:1px solid rgba(255,255,255,0.3); color:#fff;}
.bs-footer a.bs-f-btn-ghost:hover{background:rgba(255,255,255,0.08); text-decoration:none;}
@media(max-width:820px){ .bs-f-cta .bs-wrap{grid-template-columns:1fr;} .bs-f-cta-actions{justify-content:flex-start;} }

.bs-f-main{display:grid; grid-template-columns:1.35fr repeat(5, 1fr); gap:28px; padding:44px 24px 34px;}
.bs-f-brand{display:flex; align-items:center; gap:10px; color:#fff; font-family:var(--bs-display); font-weight:700; font-size:1.3rem; margin-bottom:12px;}
.bs-f-brand svg{width:34px; height:34px;}
.bs-f-about p{margin:0 0 14px; line-height:1.65; color:#AEB6C8; font-size:0.86rem;}
.bs-f-promise{display:grid; gap:8px; margin:16px 0 0; padding:0; list-style:none;}
.bs-f-promise li{display:flex; gap:9px; align-items:flex-start; font-size:0.82rem; color:#C3CADA;}
.bs-f-promise svg{flex-shrink:0; margin-top:3px; color:#8FB5A2;}
.bs-f-col h3{font-family:var(--bs-mono); font-size:0.66rem; letter-spacing:0.12em; text-transform:uppercase; color:#E9957F; margin:0 0 14px; font-weight:700;}
.bs-f-col a{display:block; padding:5px 0; font-size:0.84rem; color:#C3CADA;}
@media(max-width:1080px){ .bs-f-main{grid-template-columns:repeat(3,1fr);} .bs-f-about{grid-column:1 / -1;} }
@media(max-width:600px){ .bs-f-main{grid-template-columns:repeat(2,1fr); gap:22px 18px;} }

.bs-f-strip{border-top:1px solid rgba(255,255,255,0.1); padding:22px 24px;}
.bs-f-strip h3{font-family:var(--bs-mono); font-size:0.64rem; letter-spacing:0.12em; text-transform:uppercase; color:#8E97AB; margin:0 0 10px; font-weight:700;}
.bs-f-tags{display:flex; flex-wrap:wrap; gap:8px;}
.bs-f-tags a{border:1px solid rgba(255,255,255,0.16); border-radius:999px; padding:6px 12px; font-size:0.78rem; color:#C3CADA;}
.bs-f-tags a:hover{border-color:#E9957F; color:#fff; text-decoration:none;}
.bs-f-tags a span{color:#8E97AB; margin-left:4px;}

.bs-f-notes{border-top:1px solid rgba(255,255,255,0.1); padding:22px 24px 6px;}
.bs-f-notes p{margin:0 0 12px; font-size:0.8rem; line-height:1.65; color:#9AA3B7; max-width:900px;}
.bs-f-notes b{color:#E6EAF2;}
.bs-f-notes a{color:#E9957F;}

.bs-f-bottom{border-top:1px solid rgba(255,255,255,0.1);}
.bs-f-bottom .bs-wrap{display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; padding-top:18px; padding-bottom:22px; font-size:0.78rem; color:#9AA3B7;}
.bs-f-bottom .bs-legal{display:flex; gap:16px; flex-wrap:wrap;}
.bs-f-bottom .bs-legal a{color:#C3CADA;}
.bs-f-credit a{color:#E9957F;}
@media(max-width:700px){ .bs-f-bottom .bs-wrap{flex-direction:column; align-items:flex-start;} }

@media print{ .bs-util, .bs-header, .bs-drawer, .bs-footer{display:none !important;} }
@media (prefers-reduced-motion: reduce){ .bs-panel, .bs-drawer-panel, .bs-drawer-scrim{transition:none;} }
.bs-drawer-body > a.bs-drawer-cta{color:#fff; border-bottom:0; text-align:center; justify-content:center;}
@media(max-width:480px){ .bs-util-points span:nth-child(n+2){display:none;} .bs-util-points{flex-wrap:nowrap;} }
