/* Bota desktop responsive normalization.
   Loaded last on every rendered page. Desktop-only corrections live here so
   the approved tablet/phone system remains authoritative. */

/* Avoid scrollbar-width drift from viewport-width marquee tracks. */
.client-marquee-set{min-width:100% !important}

/* One shared floating Back to Top control across desktop, tablet, and mobile. */
.bota-totop{
  position:fixed;
  right:24px;
  bottom:var(--bota-top-bottom,24px);
  width:48px;
  height:48px;
  border:0;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--oxblood,#9E1622);
  color:var(--cream,#F7F2EA);
  box-shadow:0 10px 26px rgba(158,22,34,.3);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(12px);
  transition:opacity .3s ease,visibility .3s ease,transform .3s ease,background .2s ease,box-shadow .2s ease,bottom .2s ease;
  z-index:200;
}
.bota-totop.show{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.bota-totop:hover{background:var(--oxblood-deep,#7D1019);transform:translateY(-3px);box-shadow:0 14px 30px rgba(158,22,34,.4)}
.bota-totop:active{transform:translateY(-1px)}
.bota-totop:focus-visible{outline:3px solid var(--gold,#B78A2E);outline-offset:3px}
.bota-totop svg{width:22px;height:22px}

/* Safari and Chromium share the same compositing path for translucent UI. */
.hero-frame-tag,
.nav-inner,
.nav.scrolled,
.ct-form,
.rts-card{
  -webkit-backdrop-filter:var(--bota-backdrop,none);
  backdrop-filter:var(--bota-backdrop,none);
}

@media (min-width:769px){
  :root{
    --maxw:1280px;
    --bota-gutter:clamp(24px,2.6vw,40px);
    --bota-section:clamp(88px,8.5vh,108px);
    --bota-section-lg:clamp(108px,10.5vh,132px);
  }

  /* A single content edge across the standard site families. */
  .container{
    max-width:var(--maxw) !important;
    padding-left:var(--bota-gutter) !important;
    padding-right:var(--bota-gutter) !important;
  }
  .pad,
  section.pad{padding-top:var(--bota-section) !important;padding-bottom:var(--bota-section) !important}
  .pad-lg{padding-top:var(--bota-section-lg) !important;padding-bottom:var(--bota-section-lg) !important}

  /* Editorial photo heroes use the same content edge as the page beneath. */
  .editorial-indhero .phero-inner{
    max-width:var(--maxw) !important;
    padding-left:var(--bota-gutter) !important;
    padding-right:var(--bota-gutter) !important;
  }
  .editorial-indhero h1{
    font-size:52px !important;
    line-height:1.07 !important;
  }

  /* Founder page stays editorial, while short laptops retain a next-section cue. */
  body[data-bota-path="/founder"] .fnd-hero-grid{column-gap:clamp(44px,4.5vw,64px)}

  /* Fixed controls and wide grids must be allowed to shrink inside their track. */
  .split>*,.phero-inner>*,.ct-grid>*,.fnd-hero-grid>*,.fnd-video-inner>*,
  .hiw-sec>*,.hiw-acct-grid>*,.calc-grid>*,.lp-hero-grid>*,
  .own-grid>*,.ftr-grid>*,.ftr-cols>*,.ftr-lead>*,.vrts-grid>*,
  .eband-grid>*,.eco-grid>*,.ind-embed-grid>*,.ind-split>*,.ind-scope>*,
  .ind-roles>*,.ind-quotes>*,.ind-faq-grid>*,.ind-read>*,.ind-final-grid>*{min-width:0}
  .nav-sub{max-width:min(420px,calc(100vw - (2 * var(--bota-gutter))))}
}

/* The flagship stays two balanced columns on laptop/desktop widths. The
   tablet and phone composition below 901px remains owned by the page CSS. */
@media (min-width:901px){
  body[data-bota-path="/"] .phero{
    min-height:0 !important;
    height:auto;
  }
  body[data-bota-path="/"] .phero-inner{
    grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) !important;
    gap:clamp(34px,3vw,44px) !important;
  }
  body[data-bota-path="/"] .phero-copy{
    width:100%;
    max-width:640px !important;
  }
  body[data-bota-path="/"] .phero h1{
    max-width:10.25em;
    font-size:clamp(58px,4.2vw,64px) !important;
    line-height:1.04 !important;
    text-wrap:balance;
  }
  body[data-bota-path="/"] .phero h1 .phero-emphasis{white-space:nowrap}
  body[data-bota-path="/"] .phero-sub{max-width:560px}
  body[data-bota-path="/"] .bm-visual{
    width:clamp(520px,43vw,570px);
    max-width:100% !important;
  }
  body[data-bota-path="/"] .bm-proof span{white-space:nowrap}
}

/* Width tiers are content-driven, not operating-system or browser-specific. */
@media (min-width:769px) and (max-width:1365px){
  :root{--bota-gutter:40px}
  .nav .nav-links{gap:clamp(18px,2vw,28px) !important}
  body[data-bota-path="/"] .bm-board{height:510px}
  body[data-bota-path="/"] .bm-map{height:386px}
  body[data-bota-path="/"] .bm-orbit{width:286px;height:258px}
}

/* Short laptop screens: reduce empty vertical chrome, never crop content. */
@media (min-width:901px) and (max-height:820px){
  :root{--bota-section:82px;--bota-section-lg:100px}
  body[data-bota-path="/"] .phero{padding-top:108px !important;padding-bottom:48px !important}
  body[data-bota-path="/"] .phero .phero-loc{margin-bottom:26px}
  body[data-bota-path="/"] .phero-sub{margin-top:24px;margin-bottom:24px;line-height:1.58}
  body[data-bota-path="/"] .bm-board{height:470px;padding-top:24px}
  body[data-bota-path="/"] .bm-map{height:350px}
  body[data-bota-path="/"] .bm-orbit{width:258px;height:230px}
  body[data-bota-path="/"] .bm-center{width:132px;height:132px}
  body[data-bota-path="/"] .bm-logo{width:80px}
  body[data-bota-path="/"] .bm-path{min-height:70px;padding:10px 14px}
  body[data-bota-path="/"] .bm-icon{width:44px;height:44px}
  body[data-bota-path="/"] .bm-proof{min-height:50px;margin-top:14px}

  body[data-bota-path="/founder"] .fnd-hero{padding-top:118px}
  body[data-bota-path="/founder"] .fnd-portrait img{height:540px;aspect-ratio:auto;object-fit:cover}
  body[data-bota-path="/founder"] .fnd-miles{padding-top:38px;padding-bottom:54px}
}

@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto}
  .bota-totop{transition:none}
}