/* FINAL RESPONSIVE DESKTOP/LAPTOP ALIGNMENT FIX
   Keeps header and all main layouts inside screen on 1024px to 4K/TV widths. */
*{box-sizing:border-box;}
img,video,iframe{max-width:100%;}
html,body{max-width:100%;overflow-x:hidden;}

@media (min-width: 921px){
  .home-exact .container,
  .container,
  .book-container{
    width:min(94%,1600px) !important;
    max-width:1600px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .ta-header,
  .ta-navwrap,
  .ta-nav{
    max-width:100vw !important;
  }

  .ta-strip,
  body.book-final-page .ta-strip{
    height:clamp(44px,3.1vw,58px) !important;
    font-size:clamp(16px,1.45vw,23px) !important;
    line-height:1.15 !important;
    text-align:center !important;
    padding:0 18px !important;
    white-space:normal !important;
  }

  .ta-nav,
  .ta-header.scrolled .ta-nav,
  body.book-final-page .ta-nav,
  body.book-final-page .ta-header.scrolled .ta-nav{
    height:clamp(106px,7.5vw,150px) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:clamp(10px,1.3vw,28px) !important;
    padding-left:0 !important;
    padding-right:0 !important;
    min-width:0 !important;
  }

  .ta-brand,
  body.book-final-page .ta-brand{
    flex:0 1 auto !important;
    min-width:clamp(205px,22vw,330px) !important;
    gap:clamp(12px,1.6vw,30px) !important;
  }

  .ta-logo,
  body.book-final-page .ta-logo{
    width:clamp(104px,8.6vw,150px) !important;
    flex:0 0 auto !important;
  }

  .ta-divider,
  body.book-final-page .ta-divider{
    height:clamp(76px,6vw,118px) !important;
    width:2px !important;
    flex:0 0 2px !important;
  }

  .ta-cdc,
  body.book-final-page .ta-cdc{
    width:clamp(58px,5.2vw,92px) !important;
    height:clamp(76px,6.5vw,118px) !important;
    flex:0 0 auto !important;
  }

  .ta-links,
  body.book-final-page .ta-links{
    flex:1 1 auto !important;
    min-width:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:clamp(8px,1.15vw,26px) !important;
    overflow:visible !important;
  }

  .ta-links a,
  body.book-final-page .ta-links a{
    font-size:clamp(13px,1.08vw,18px) !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    padding:7px 0 !important;
  }

  .ta-book,
  body.book-final-page .ta-book{
    flex:0 0 auto !important;
    padding:clamp(10px,1vw,13px) clamp(14px,1.45vw,26px) !important;
    font-size:clamp(13px,1.05vw,17px) !important;
    white-space:nowrap !important;
  }

  .ta-hero,
  body.book-final-page .book-final-hero{
    max-width:100vw !important;
    overflow:hidden !important;
  }

  .ta-hero h1,
  .about-hero h1,
  .career-hero h1,
  .wellness-hero h1,
  .foundation-hero h1,
  .book-hero-copy h1,
  body.book-final-page .book-hero-copy h1{
    font-size:clamp(42px,5.2vw,82px) !important;
    overflow-wrap:normal !important;
  }
}

@media (min-width: 921px) and (max-width: 1366px){
  .home-exact .container,
  .container,
  .book-container{
    width:96% !important;
  }
  .ta-nav,
  .ta-header.scrolled .ta-nav,
  body.book-final-page .ta-nav,
  body.book-final-page .ta-header.scrolled .ta-nav{
    height:108px !important;
    gap:10px !important;
  }
  .ta-brand,
  body.book-final-page .ta-brand{
    min-width:218px !important;
    gap:12px !important;
  }
  .ta-logo,
  body.book-final-page .ta-logo{
    width:104px !important;
  }
  .ta-divider,
  body.book-final-page .ta-divider{
    height:78px !important;
  }
  .ta-cdc,
  body.book-final-page .ta-cdc{
    width:58px !important;
    height:78px !important;
  }
  .ta-links,
  body.book-final-page .ta-links{
    gap:9px !important;
  }
  .ta-links a,
  body.book-final-page .ta-links a{
    font-size:13px !important;
    font-weight:800 !important;
  }
  .ta-book,
  body.book-final-page .ta-book{
    padding:10px 14px !important;
    font-size:13px !important;
    border-radius:8px !important;
  }
  .ta-hero{
    padding-top:150px !important;
  }
}

@media (min-width: 921px) and (max-width: 1180px){
  .home-exact .container,
  .container,
  .book-container{
    width:97% !important;
  }
  .ta-nav,
  .ta-header.scrolled .ta-nav,
  body.book-final-page .ta-nav,
  body.book-final-page .ta-header.scrolled .ta-nav{
    height:96px !important;
    gap:8px !important;
  }
  .ta-brand,
  body.book-final-page .ta-brand{
    min-width:190px !important;
    gap:10px !important;
  }
  .ta-logo,
  body.book-final-page .ta-logo{
    width:92px !important;
  }
  .ta-divider,
  body.book-final-page .ta-divider{
    height:64px !important;
  }
  .ta-cdc,
  body.book-final-page .ta-cdc{
    width:48px !important;
    height:64px !important;
  }
  .ta-links,
  body.book-final-page .ta-links{
    gap:7px !important;
  }
  .ta-links a,
  body.book-final-page .ta-links a{
    font-size:12px !important;
    letter-spacing:0 !important;
  }
  .ta-book,
  body.book-final-page .ta-book{
    padding:9px 12px !important;
    font-size:12px !important;
  }
  .ta-hero{
    padding-top:135px !important;
  }
}

@media (min-width: 1600px){
  .ta-links,
  body.book-final-page .ta-links{
    gap:clamp(18px,1.4vw,32px) !important;
  }
}

/* Mobile menu remains the approved screenshot design */
@media (max-width: 920px){
  .ta-links a.mobile-menu-book,
  .ta-header.scrolled .ta-links a.mobile-menu-book,
  .ta-header.menu-open .ta-links a.mobile-menu-book,
  .ta-links a.mobile-menu-book:link,
  .ta-links a.mobile-menu-book:visited,
  .ta-links a.mobile-menu-book:hover,
  .ta-links a.mobile-menu-book:active,
  .ta-links a.mobile-menu-book.active{
    background:#0797b4 !important;
    color:#fff !important;
    justify-content:center !important;
    text-align:center !important;
  }
}

/* FINAL MEDIUM FONT SIZE FIX - 03 Jul 2026
   Keep headings professional medium size. This override is intentionally last. */
@media (min-width: 921px){
  .ta-hero h1,
  .hero h1,
  .about-hero h1,
  .career-hero h1,
  .wellness-hero h1,
  .foundation-hero h1,
  .experiences-hero h1,
  .consult-hero h1,
  .shop-hero h1,
  .book-hero h1,
  .book-final-hero h1,
  .book-hero-copy h1,
  body.book-final-page .book-hero-copy h1{
    font-size:clamp(36px,3.55vw,56px) !important;
    line-height:1.12 !important;
    letter-spacing:.01em !important;
    max-width:980px !important;
  }

  .ta-hero p,
  .hero p,
  .about-hero p,
  .career-hero p,
  .wellness-hero p,
  .foundation-hero p,
  .experiences-hero p,
  .consult-hero p,
  .shop-hero p,
  .book-hero p,
  .book-final-hero p,
  .book-hero-copy p{
    font-size:clamp(16px,1.25vw,20px) !important;
    line-height:1.65 !important;
  }

  .ta-title h2,
  .title h2,
  .split h2,
  .section-title h2,
  .career-title h2,
  .consult-title h2,
  .experience-title h2,
  .well-title h2,
  .foundation-title h2,
  .mission-copy h2,
  .volunteer-copy h2,
  .about-narrow h2,
  .vision-card h2,
  .about-cta h2,
  .journey-cta h2,
  .foundation-cta h2,
  .reef-content h2,
  .shop-title h2,
  .bf-title h2,
  .book-contact-card h2,
  .book-form-card h2,
  .banner h2{
    font-size:clamp(28px,2.55vw,40px) !important;
    line-height:1.18 !important;
    letter-spacing:-.01em !important;
  }

  .card h3,
  .sig-card h3,
  .world-body h3,
  .pack-body h3,
  .course-card h3,
  .feature-card h3,
  .shop-card h3,
  .book-card h3{
    font-size:clamp(19px,1.35vw,24px) !important;
    line-height:1.25 !important;
  }
}

@media (max-width: 920px){
  .ta-hero h1,
  .hero h1,
  .about-hero h1,
  .career-hero h1,
  .wellness-hero h1,
  .foundation-hero h1,
  .experiences-hero h1,
  .consult-hero h1,
  .shop-hero h1,
  .book-hero h1,
  .book-final-hero h1,
  .book-hero-copy h1,
  body.book-final-page .book-hero-copy h1{
    font-size:clamp(30px,7.6vw,42px) !important;
    line-height:1.16 !important;
    letter-spacing:.01em !important;
  }

  .ta-hero p,
  .hero p,
  .about-hero p,
  .career-hero p,
  .wellness-hero p,
  .foundation-hero p,
  .experiences-hero p,
  .consult-hero p,
  .shop-hero p,
  .book-hero p,
  .book-final-hero p,
  .book-hero-copy p{
    font-size:16px !important;
    line-height:1.6 !important;
  }

  .ta-title h2,
  .title h2,
  .split h2,
  .section-title h2,
  .career-title h2,
  .consult-title h2,
  .experience-title h2,
  .well-title h2,
  .foundation-title h2,
  .mission-copy h2,
  .volunteer-copy h2,
  .about-narrow h2,
  .vision-card h2,
  .about-cta h2,
  .journey-cta h2,
  .foundation-cta h2,
  .reef-content h2,
  .shop-title h2,
  .bf-title h2,
  .book-contact-card h2,
  .book-form-card h2,
  .banner h2{
    font-size:clamp(24px,6.2vw,32px) !important;
    line-height:1.22 !important;
  }
}

/* === FINAL: Center first-section hero headings on every page + keep medium font size === */
.ta-hero,
.about-hero,
.career-hero,
.wellness-hero,
.foundation-hero,
.experiences-hero,
.consult-hero,
.shop-hero,
.book-hero,
.book-final-hero{
  text-align:center !important;
}

.ta-hero-content,
.about-hero-content,
.career-hero-content,
.wellness-hero-content,
.foundation-hero-content,
.experiences-hero-content,
.consult-hero-content,
.book-hero-inner,
.book-hero-copy,
.shop-hero .container,
body.book-final-page .book-hero-copy{
  max-width:980px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

.ta-hero h1,
.about-hero h1,
.career-hero h1,
.wellness-hero h1,
.foundation-hero h1,
.experiences-hero h1,
.consult-hero h1,
.shop-hero h1,
.book-hero h1,
.book-final-hero h1,
.book-hero-copy h1,
body.book-final-page .book-hero-copy h1{
  font-size:clamp(34px,4.15vw,58px) !important;
  line-height:1.12 !important;
  letter-spacing:.025em !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

.ta-hero h2,
.about-hero h2,
.career-hero h2,
.wellness-hero h2,
.foundation-hero h2,
.experiences-hero h2,
.consult-hero h2,
.shop-hero h2,
.book-hero h2,
.book-final-hero h2,
.book-hero-copy h2,
body.book-final-page .book-hero-copy h2{
  font-size:clamp(18px,1.75vw,25px) !important;
  line-height:1.35 !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

.ta-hero p,
.about-hero p,
.career-hero p,
.wellness-hero p,
.foundation-hero p,
.experiences-hero p,
.consult-hero p,
.shop-hero p,
.book-hero p,
.book-final-hero p,
.book-hero-copy p,
body.book-final-page .book-hero-copy p{
  max-width:760px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

.ta-hero-actions,
.hero-actions,
.career-hero-actions,
.consult-hero-actions,
.experience-hero-actions,
.wellness-hero-actions,
.foundation-hero-actions{
  justify-content:center !important;
  align-items:center !important;
}

.book-final-hero .book-container,
.book-hero .container,
.shop-hero .container{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
}

@media (max-width:920px){
  .ta-hero h1,
  .about-hero h1,
  .career-hero h1,
  .wellness-hero h1,
  .foundation-hero h1,
  .experiences-hero h1,
  .consult-hero h1,
  .shop-hero h1,
  .book-hero h1,
  .book-final-hero h1,
  .book-hero-copy h1,
  body.book-final-page .book-hero-copy h1{
    font-size:clamp(31px,8.2vw,42px) !important;
  }
}

@media (max-width:520px){
  .ta-hero h1,
  .about-hero h1,
  .career-hero h1,
  .wellness-hero h1,
  .foundation-hero h1,
  .experiences-hero h1,
  .consult-hero h1,
  .shop-hero h1,
  .book-hero h1,
  .book-final-hero h1,
  .book-hero-copy h1,
  body.book-final-page .book-hero-copy h1{
    font-size:clamp(29px,8.8vw,37px) !important;
  }
}

/* === FINAL FIX: Center all main headings and hero content on every page === */
main section:first-of-type,
.ta-hero,
.wellness-hero,
.career-hero,
.experiences-hero,
.consult-hero,
.shop-hero,
.foundation-hero,
.about-hero,
.book-hero,
.book-final-hero{
  text-align:center !important;
}

.ta-hero-content,
.wellness-hero-content,
.career-hero-content,
.experiences-hero-content,
.consult-hero-content,
.foundation-hero-content,
.about-hero-content,
.book-hero-inner,
.book-hero-copy,
.book-final-hero .book-hero-copy,
.shop-hero > .container{
  width:min(980px,92vw) !important;
  max-width:980px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
}

.ta-hero h1,
.wellness-hero h1,
.career-hero h1,
.experiences-hero h1,
.consult-hero h1,
.shop-hero h1,
.foundation-hero h1,
.about-hero h1,
.book-hero h1,
.book-final-hero h1,
.book-hero-copy h1{
  max-width:980px !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
  font-size:clamp(36px,4vw,58px) !important;
  line-height:1.12 !important;
}

.ta-hero h2,
.wellness-hero h2,
.career-hero h2,
.experiences-hero h2,
.consult-hero h2,
.shop-hero h2,
.foundation-hero h2,
.about-hero h2,
.book-hero h2,
.book-final-hero h2,
.book-hero-copy h2{
  max-width:920px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
  font-size:clamp(18px,1.7vw,25px) !important;
  line-height:1.35 !important;
}

.ta-hero p,
.wellness-hero p,
.career-hero p,
.experiences-hero p,
.consult-hero p,
.shop-hero p,
.foundation-hero p,
.about-hero p,
.book-hero p,
.book-final-hero p,
.book-hero-copy p{
  max-width:800px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

.ta-hero-actions,
.foundation-hero-actions,
.shop-hero-actions,
.book-hero-actions,
.hero-actions,
.cta-actions{
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
}

/* Center important section headings below the first section also */
.section-title,
.ta-section > .container > h2,
.well-section > .container > h2,
.career-section > .container > h2,
.experience-section > .container > h2,
.consult-section > .container > h2,
.foundation-section > .container > h2,
.about-section > .container > h2,
.shop-title,
.shop-filter-head,
.foundation-title,
.about-section h2,
.mission-section h2,
.why-section h2,
.pillars-section h2,
.recognition-section h2,
.journey-cta h2,
.well-cta h2,
.career-cta h2,
.experience-cta h2,
.consult-cta h2,
.foundation-cta h2,
.about-cta h2,
.shop-cta h2{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.section-title p,
.shop-title p,
.foundation-title p,
.ta-section > .container > p,
.well-section > .container > p,
.career-section > .container > p,
.experience-section > .container > p,
.consult-section > .container > p,
.foundation-section > .container > p,
.about-section > .container > p{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media (max-width:768px){
  .ta-hero h1,
  .wellness-hero h1,
  .career-hero h1,
  .experiences-hero h1,
  .consult-hero h1,
  .shop-hero h1,
  .foundation-hero h1,
  .about-hero h1,
  .book-hero h1,
  .book-final-hero h1,
  .book-hero-copy h1{
    font-size:clamp(30px,9vw,44px) !important;
    text-align:center !important;
  }
  .ta-hero h2,
  .wellness-hero h2,
  .career-hero h2,
  .experiences-hero h2,
  .consult-hero h2,
  .shop-hero h2,
  .foundation-hero h2,
  .about-hero h2,
  .book-hero h2,
  .book-final-hero h2,
  .book-hero-copy h2{
    font-size:clamp(17px,5vw,22px) !important;
  }
}

/* === 2026-07-03 FINAL FIX: mobile about page + all page menu visibility === */
@media (max-width: 920px){
  html, body{overflow-x:hidden !important;}

  /* Header size remains fixed and menu always starts below header */
  .ta-strip{
    min-height:42px !important;
    height:auto !important;
    padding:8px 12px !important;
    line-height:1.22 !important;
  }
  .ta-nav,
  .ta-header.scrolled .ta-nav,
  .ta-header.menu-open .ta-nav{
    height:86px !important;
  }
  .ta-header.menu-open{z-index:9999 !important;}
  .ta-header.menu-open .ta-navwrap,
  .ta-header.scrolled .ta-navwrap{
    background:#fff !important;
    box-shadow:0 8px 20px rgba(2,6,23,.12) !important;
  }
  .ta-header.menu-open .ta-logo,
  .ta-header.scrolled .ta-logo{
    filter:brightness(0) saturate(100%) !important;
  }
  .ta-header.menu-open .ta-hamb,
  .ta-header.scrolled .ta-hamb{
    color:#fff !important;
  }

  /* Compact dropdown so Book Now is not cut in mobile browser */
  .ta-links,
  .ta-header .ta-links{
    position:fixed !important;
    top:136px !important;
    left:12px !important;
    right:12px !important;
    width:auto !important;
    max-width:none !important;
    max-height:calc(100dvh - 154px) !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    display:none !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:8px !important;
    padding:10px 10px 18px !important;
    background:rgba(255,255,255,.98) !important;
    border:1px solid rgba(14,165,233,.20) !important;
    border-radius:22px !important;
    box-shadow:0 18px 36px rgba(2,6,23,.16), 7px 7px 0 rgba(7,151,180,.92) !important;
    z-index:9998 !important;
  }
  .ta-links.show{display:flex !important;}
  .ta-links::before{
    content:"MENU" !important;
    flex:0 0 30px !important;
    height:30px !important;
    min-height:30px !important;
    margin:0 0 2px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:16px !important;
    background:#e8fbff !important;
    color:#078da8 !important;
    font-size:12px !important;
    font-weight:950 !important;
    letter-spacing:.24em !important;
  }
  .ta-links a:not(.mobile-menu-book),
  .ta-header.scrolled .ta-links a:not(.mobile-menu-book),
  .ta-header.menu-open .ta-links a:not(.mobile-menu-book),
  .ta-links a:not(.mobile-menu-book):link,
  .ta-links a:not(.mobile-menu-book):visited,
  .ta-links a:not(.mobile-menu-book):hover,
  .ta-links a:not(.mobile-menu-book):active{
    min-height:44px !important;
    height:44px !important;
    padding:0 18px !important;
    border-radius:14px !important;
    font-size:15px !important;
    line-height:1 !important;
    color:#253044 !important;
    background:#fff !important;
    border:1px solid #dff4f8 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    box-shadow:0 6px 14px rgba(15,23,42,.04) !important;
    text-decoration:none !important;
  }
  .ta-links a:not(.mobile-menu-book)::after{
    content:"›" !important;
    position:static !important;
    display:inline-flex !important;
    margin-left:auto !important;
    background:transparent !important;
    color:#078da8 !important;
    font-size:22px !important;
    line-height:1 !important;
  }
  .ta-links a.mobile-menu-book,
  .ta-header.scrolled .ta-links a.mobile-menu-book,
  .ta-header.menu-open .ta-links a.mobile-menu-book,
  .ta-links a.mobile-menu-book:link,
  .ta-links a.mobile-menu-book:visited,
  .ta-links a.mobile-menu-book:hover,
  .ta-links a.mobile-menu-book:active{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    max-width:260px !important;
    min-width:0 !important;
    min-height:50px !important;
    margin:8px auto 0 !important;
    padding:0 28px !important;
    border-radius:12px !important;
    background:#0797b4 !important;
    color:#ffffff !important;
    font-size:17px !important;
    font-weight:950 !important;
    line-height:1 !important;
    text-align:center !important;
    border:0 !important;
    box-shadow:0 14px 28px rgba(7,151,180,.24) !important;
  }
  .ta-links a.mobile-menu-book::before,
  .ta-links a.mobile-menu-book::after{display:none !important;content:"" !important;}

  /* About page: stop logo/title overlap and keep hero readable */
  .about-exact .ta-header:not(.scrolled):not(.menu-open) .ta-navwrap{
    background:transparent !important;
    box-shadow:none !important;
  }
  .about-exact .ta-header.menu-open .ta-navwrap,
  .about-exact .ta-header.scrolled .ta-navwrap{
    background:#fff !important;
    box-shadow:0 8px 20px rgba(2,6,23,.12) !important;
  }
  .about-exact main{padding-top:0 !important;}
  .about-hero{
    min-height:560px !important;
    padding:188px 0 74px !important;
    display:flex !important;
    align-items:center !important;
  }
  .about-hero-content{
    margin-top:22px !important;
    padding:0 16px !important;
  }
  .about-eyebrow{
    display:block !important;
    font-size:12px !important;
    letter-spacing:.28em !important;
    margin-bottom:14px !important;
  }
  .about-hero h1{
    font-size:clamp(38px,10vw,54px) !important;
    line-height:1.08 !important;
    letter-spacing:-.02em !important;
    margin:0 0 18px !important;
    text-align:center !important;
  }
  .about-hero p{
    font-size:clamp(20px,5.4vw,28px) !important;
    line-height:1.45 !important;
    max-width:92vw !important;
    margin:0 auto !important;
  }
  .about-section{padding:64px 0 !important;}
  .about-narrow{width:min(100%,92vw) !important;}
  .about-narrow h2,
  .section-title h2,
  .vision-card h2,
  .about-cta h2{
    font-size:clamp(31px,8vw,40px) !important;
    line-height:1.12 !important;
  }
  .about-narrow p,
  .section-title p,
  .vision-card p{
    font-size:17px !important;
    line-height:1.75 !important;
    max-width:100% !important;
  }
}

@media (max-width: 420px){
  .ta-links,
  .ta-header .ta-links{
    top:134px !important;
    left:10px !important;
    right:10px !important;
    gap:7px !important;
    padding:9px 9px 16px !important;
    max-height:calc(100dvh - 150px) !important;
  }
  .ta-links a:not(.mobile-menu-book),
  .ta-header.scrolled .ta-links a:not(.mobile-menu-book),
  .ta-header.menu-open .ta-links a:not(.mobile-menu-book){
    min-height:42px !important;
    height:42px !important;
    font-size:15px !important;
  }
  .ta-links a.mobile-menu-book{min-height:48px !important;font-size:16px !important;}
  .about-hero{min-height:540px !important;padding-top:184px !important;}
}
