/* First paint for /camp/* summer lager pages — heavy CSS loads async after this */
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;max-width:100%}
body{margin:0;font-family:IBMPlexSans,system-ui,sans-serif;color:#303337;background:#fff}
img{max-width:100%;height:auto}
/* Footer / brand icons must keep intrinsic size — max-width:100% inside col-md-1 shrinks them */
.footer .socialLinks img,
.navbar-brand img,
.sbi-social-img{max-width:none;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;outline:none}

.container{width:100%;max-width:1140px;margin:0 auto;padding:0 15px}
/* Scope flex row to hero only — global .row breaks deferred Slick sections */
.firstSection-cao-hero .row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}
.col-12,.col-10,.col-md-6{position:relative;width:100%;padding-right:15px;padding-left:15px}
.col-10{flex:0 0 83.333333%;max-width:83.333333%}
.offset-1{margin-left:8.333333%}
@media(min-width:768px){
  .col-md-6{flex:0 0 50%;max-width:50%}
  .d-md-block{display:block!important}
  .d-md-none{display:none!important}
  .d-none.d-md-block{display:block!important}
}
@media(max-width:767.98px){
  .d-none{display:none!important}
  .d-sm-block{display:block!important}
}

/* Padding/clearance comes from camp-cao.css — do not invent a second offset here */
.topPartsGray{
  background:#f7f7f9;
  border-bottom-right-radius:2000px 200px;
  border-bottom-left-radius:2000px 200px
}

.firstSection{margin-top:0;padding-bottom:25px}
@media(min-width:768px){
  .firstSection-cao-hero{margin-top:0!important;padding-bottom:48px!important}
  .topPartsGray{padding-top:0}
  .bread{padding-top:150px}
}

.h1-title{
  font-family:IBMPlexSans-Bold,IBMPlexSans,sans-serif;font-weight:700;
  font-size:56px;line-height:1.14;letter-spacing:.4px;color:#303337;margin:0 0 16px
}
.h1-title-mob{
  font-family:IBMPlexSans-Bold,IBMPlexSans,sans-serif;font-weight:700;
  font-size:38px;line-height:1.14;letter-spacing:.4px;color:#303337;margin:5px 0
}
.firstSectionDescription .h4{font-family:IBMPlexSans,sans-serif;font-size:18px;line-height:1.43;color:#303337}
@media(min-width:768px){.firstSectionDescription .h4{font-size:20px}}
.firstSectionDescription button{
  width:100%;max-width:320px;height:56px;border-radius:8px;border:1px solid #fec311;
  background:#fec311;margin-top:10px;font-family:IBMPlexSans-Medium,IBMPlexSans,sans-serif;
  font-size:18px;font-weight:500;cursor:pointer;color:#303337
}
@media(min-width:768px){.firstSectionDescription button{margin-top:35px}}

.text-center{text-align:center!important}
.mb-4{margin-bottom:1.5rem!important}
.position-absolute{position:absolute!important}
.camp-hero-poster{width:100%;height:auto;border-radius:8px;display:block;aspect-ratio:16/9}
/* Reserve hero column so async sheets cannot shift LCP */
.firstSection-cao-hero .col-10{min-height:175px}
@media(min-width:768px){.firstSection-cao-hero .col-md-6{min-height:280px}}

/* Minimal navbar shell — do NOT give header document-flow height (navbar is fixed) */
header.header-transparent.sticky-fixed{position:relative;z-index:1030;height:0;overflow:visible}
.navbar.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}
.navbar{padding:.75rem 0}
.navbar-brand{position:relative;display:block;width:83px;height:65px;padding:0;margin-right:1rem}
.navbar-brand img,
.navbar-brand .sbi-navbar-brand-sticky,
.navbar-brand .sbi-navbar-brand-transparent{
  position:absolute;top:50%;left:0;width:83px;height:auto;transform:translateY(-50%)
}
.navbar-brand .sbi-navbar-brand-sticky{opacity:0}
.navbar-toggler{border:0;background:0 0;padding:.25rem .5rem}
.sbi-container{width:100%;max-width:1140px;margin:0 auto;padding:0 15px}

/* Keep deferred Slick sections readable before init */
.mobile-advantage-slider:not(.slick-initialized)>div:not(:first-child),
.JSofferSliderNew2:not(.slick-initialized)>.offerSlider__item:not(:first-child){
  display:none!important
}
