@charset "UTF-8";
/* Sloth Society mobile hardening layer. Desktop is intentionally untouched. */
@media (max-width: 767px) {
  html, body { width:100%; max-width:100%; overflow-x:hidden; }
  html.js:not(.page-ready){overflow-x:hidden;overflow-y:auto;}
  body{font-size:16px;-webkit-text-size-adjust:100%;}
  main, section, header, footer, .container, .container-fluid, .row, [class*="col-"]{max-width:100%;}
  .container,.container-fluid{padding-left:18px!important;padding-right:18px!important;}
  .row{--bs-gutter-x:1.5rem;margin-left:calc(-.5 * var(--bs-gutter-x));margin-right:calc(-.5 * var(--bs-gutter-x));}
  img,video,svg,iframe{max-width:100%;}
  h1,h2,h3,.hd,.pt-title,.pt-tag{overflow-wrap:anywhere;word-break:normal;}
  .btn-ss{max-width:100%;white-space:normal;text-align:center;}

  /* Shared inner-page title and CTA */
  section.page-hero-01{padding-top:9rem;}
  .heading-block{display:block!important;width:100%!important;max-width:100%;}
  .pt-title{display:block;margin:.3em 0 .2em;font-size:clamp(2.7rem,15vw,4.4rem);line-height:.88;}
  .pt-tag{font-size:clamp(1.55rem,8vw,2.1rem);line-height:1.05;padding:0 .25rem;}
  .pt-rules{width:100%;}
  .cta-frame{min-height:auto;background-attachment:scroll!important;border-width:4px;border-radius:22px;}
  .cta-inner{padding:7.5rem .75rem 2rem;}
  .cta-card{padding:1.8rem 1rem;border-width:4px;border-radius:22px;}
  .cta-card h2{font-size:clamp(2.7rem,14vw,4.5rem)!important;}
  .cta-card .sub{font-size:clamp(1.5rem,8vw,2rem);}

  /* Fixed backgrounds are unreliable/janky in iOS Safari. */
  section.home-sec-05, section.os-sec-03, .ct-frame{background-attachment:scroll!important;}

  /* HOME: the hero asset is 16:9. On a portrait phone, cover necessarily
     chops off both sides, so show the whole composition instead. */
  section.home-sec-01{height:auto;aspect-ratio:16/9;min-height:0;background:#60d4e8;}
  section.home-sec-01 video,.hero-media{position:absolute;inset:0;width:100%;height:100%;transform:none;object-fit:contain;object-position:center center;}
  .mq-wrap{padding:1rem 0;}
  .mq-item{padding:0 .8rem;}
  .mq-item img{width:38px;height:38px;}

  .sec03-inner{min-height:0;padding:4rem 0 2.5rem;}
  .sec03-sloth{width:28vw;top:-28px;left:-8px;}
  .sec03-headline,.sec06-headline,.sec07-headline{font-size:clamp(2.4rem,12vw,3.6rem);line-height:.95;}
  .sec03-right{padding-top:1.25rem;}
  .sec03-badge{position:static;margin:1.25rem 0 0 auto;}
  .sec03-photos{height:auto;display:grid;grid-template-columns:1fr 1fr;}
  .sec03-photo{aspect-ratio:1/1;}

  section.home-sec-05{padding:4.5rem 0;}
  .sec05-inner{width:100%;max-width:100%;padding:0 18px;}
  .rooms-tabs .nav-tabs{gap:.35rem;}
  .rooms-tabs .nav-tabs .nav-link{padding:.75rem .8rem;font-size:.9rem;}
  .room-card{padding:2rem 1.4rem;min-height:360px;}
  .room-card h3{font-size:2.5rem;}
  .room-mascot{max-width:48%;}

  section.home-sec-06{padding:5rem 0 3.5rem;}
  section.home-sec-07{padding:3.5rem 0;}
  .deli-collage{margin-top:2rem;width:100%;}
  .deli-collage > img{width:100%;height:auto;object-fit:contain;}
  .ev-cluster{height:auto!important;min-height:0!important;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:1.5rem;}
  .ep{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;aspect-ratio:4/3;transform:none!important;margin:0!important;}
  .ep3{grid-column:1/-1;aspect-ratio:16/10;}
  .sloth-peeking-side{display:none;}

  section.home-sec-09{padding:4rem 0 5rem;}
  section.home-sec-09 .tickets-wrapper{height:210px;top:0;margin-bottom:1.5rem;overflow:visible;}
  section.home-sec-09 .tickets-wrapper .ticket{width:125px;}
  section.home-sec-09 .tickets-wrapper .ticket:not(.t-pin){touch-action:pan-y;}
  .curve-elastic{height:130px;}

  /* OUR STORY */
  .os01-art{margin-top:2.5rem;padding:0;}
  section.os-sec-02,section.os-sec-04{padding:3.5rem 0;}
  .os02-headline,.os04-headline{font-size:clamp(2.4rem,12vw,3.5rem);}
  section.os-sec-03{padding:4rem 0;}
  .os03-card{padding:2.25rem 1rem;border-width:4px;border-radius:22px;}
  .os03-logo{width:min(250px,72vw);}

  /* THE SPACE */
  section.ts-sec-02{padding-top:4rem;}
  .sp-heading{font-size:clamp(2.5rem,12vw,3.6rem);}
  .sp-list li{gap:.8rem;padding:1rem 0;}
  .ts-mosaic{width:100%;}

  /* CONTACT */
  section.ct-sec-02{padding:3rem 0;}
  section.ct-sec-02>.container-fluid{padding-left:12px!important;padding-right:12px!important;}
  .ct-frame{width:100%;padding:1rem .75rem;border-width:4px;border-radius:22px;gap:1rem;}
  .ct-info,.ct-formcard{width:100%;max-width:100%;min-width:0;}
  .ct-info{padding:1.5rem 1.15rem;}
  .ct-formcard{padding:1.5rem 1rem;}
  .ct-input,.ct-select,.ct-textarea{min-width:0;padding-left:1rem;padding-right:1rem;}
  .formaloo--root-container, .formaloo--root-container iframe{width:100%!important;max-width:100%!important;}

  /* BECOME A SLOTH */
  section.bs-sec-02{padding:3rem 0 4rem;}
  .plans{width:100%;max-width:100%;gap:2rem;}
  .plan,.plan--rev{width:100%;min-width:0;grid-template-columns:minmax(0,1fr);}
  .plan__panel,.plan--rev .plan__panel{padding:2.5rem 1.35rem 2rem;}
  .plan__title{font-size:clamp(2.3rem,12vw,3.3rem);}
  .badge{width:105px;max-width:28vw;}
}

@media (max-width: 400px) {
  .container,.container-fluid{padding-left:14px!important;padding-right:14px!important;}
  header{max-width:calc(100vw - 24px);}
  .hdr-icon{max-width:210px;}
  .sec05-inner{padding:0 14px;}
}
