/* APPV1_FRONTEND_GLOBAL_VISUAL_RESPONSIVE_R6K_20260905
   Global public/CMS visual consistency and six-screen responsive authority.
   Non-negotiable screen classes:
   TV/very large, desktop, laptop, tablet, mobile, landscape/short-height.
*/

:root{
  --gt-r6k-navy:#0e2743;
  --gt-r6k-navy-2:#173b63;
  --gt-r6k-ivory:#fffdf8;
  --gt-r6k-champagne:#d7bd8d;
  --gt-r6k-line:#e7dcc9;
  --gt-r6k-muted:#756c61;
  --gt-r6k-shell:1280px;
  --gt-r6k-section-y:64px;
}

/* Global public/CMS normal flow and luxury rhythm */
body.gt-public-body,
body.gt-public-body.gt-site-shell,
body.gt-public-body.gt-homepage,
body.gt-public-body.gt-site-cms-r1,
body.gt-public-body.gt-site-cms-r1-r2{
  width:100%!important;
  max-width:100%!important;
  min-height:100vh!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  background:var(--gt-r6k-ivory)!important;
}

body.gt-public-body .gt-shell,
body.gt-public-body .gt-content-shell,
body.gt-public-body .gt-cms-shell,
body.gt-public-body .gt-page-shell{
  width:min(var(--gt-r6k-shell),calc(100% - 40px))!important;
  max-width:var(--gt-r6k-shell)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

body.gt-public-body .gt-home-section,
body.gt-public-body .gt-cms-section,
body.gt-public-body .gt-content-section{
  padding-top:var(--gt-r6k-section-y)!important;
  padding-bottom:var(--gt-r6k-section-y)!important;
}

/* CMS/home banners: preserve complete uploaded image, remove blur/filler/dead background. */
body.gt-public-body .gt-home-hero,
body.gt-public-body .gt-page-hero,
body.gt-public-body .gt-cms-hero,
body.gt-public-body .gt-banner,
body.gt-public-body .gt-responsive-banner-media{
  background:transparent!important;
  filter:none!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}

body.gt-public-body .gt-responsive-banner-media{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}

body.gt-public-body .gt-banner-media-element{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  filter:none!important;
  backdrop-filter:none!important;
  transform:none!important;
  margin:0!important;
}

body.gt-public-body .gt-hero-track,
body.gt-public-body .gt-hero-slide.is-active{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
}

body.gt-public-body .gt-hero-slide.is-active{
  position:relative!important;
  inset:auto!important;
  overflow:hidden!important;
}

/* Remove only synthetic visual filler; keep readable overlay shading. */
body.gt-public-body .gt-hero-shade{
  filter:none!important;
  backdrop-filter:none!important;
}

/* Consistent CMS copy */
body.gt-public-body .gt-section-heading,
body.gt-public-body .gt-cms-heading{
  max-width:760px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
body.gt-public-body .gt-section-heading h1,
body.gt-public-body .gt-section-heading h2,
body.gt-public-body .gt-cms-heading h1,
body.gt-public-body .gt-cms-heading h2{
  color:var(--gt-r6k-navy-2)!important;
  line-height:1.02!important;
}
body.gt-public-body p{
  text-wrap:pretty;
}

/* Global public header icon treatment */
.gt-mobile-menu-button{
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--gt-r6k-navy-2)!important;
  box-shadow:none!important;
  outline-offset:2px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:0!important;
}
.gt-mobile-menu-button:hover,
.gt-mobile-menu-button:focus-visible{
  background:#f8f1e6!important;
}
.gt-r6k-menu-icon,
.gt-r6k-account-icon,
.gt-r6k-appointment-icon,
.gt-r6k-cart-icon{
  width:22px!important;
  height:22px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.gt-r6k-menu-icon svg,
.gt-r6k-account-icon svg,
.gt-r6k-appointment-icon svg,
.gt-r6k-cart-icon svg{
  width:100%!important;
  height:100%!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.7!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.gt-header-account{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:4px!important;
}
.gt-header-account>a{
  width:42px!important;
  min-width:42px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--gt-r6k-navy-2)!important;
  font-size:0!important;
  line-height:1!important;
  text-decoration:none!important;
}
.gt-header-account>a:hover,
.gt-header-account>a:focus-visible{
  background:#f8f1e6!important;
}
.gt-r6k-hidden-label{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* TV / very large screens */
@media(min-width:1920px){
  :root{
    --gt-r6k-shell:1560px;
    --gt-r6k-section-y:82px;
  }
  body.gt-public-body{font-size:18px!important}
  body.gt-public-body .gt-section-heading h2,
  body.gt-public-body .gt-cms-heading h1{font-size:58px!important}
  .gt-brand-row{min-height:76px!important}
  .gt-brand-logo img{max-height:42px!important}
  .gt-header-account>a{width:48px!important;height:48px!important}
}

/* Desktop */
@media(min-width:1280px) and (max-width:1919px){
  :root{
    --gt-r6k-shell:1320px;
    --gt-r6k-section-y:68px;
  }
  .gt-brand-row{min-height:68px!important}
  .gt-header-account>a{width:44px!important;height:44px!important}
}

/* Laptop */
@media(min-width:1024px) and (max-width:1279px){
  :root{
    --gt-r6k-shell:1120px;
    --gt-r6k-section-y:56px;
  }
  body.gt-public-body .gt-shell,
  body.gt-public-body .gt-content-shell,
  body.gt-public-body .gt-cms-shell,
  body.gt-public-body .gt-page-shell{
    width:calc(100% - 32px)!important;
  }
  .gt-brand-row{min-height:64px!important;padding-inline:18px!important}
  .gt-brand-logo img{max-height:34px!important}
  .gt-header-account>a{width:40px!important}
}

/* Tablet */
@media(min-width:768px) and (max-width:1023px){
  :root{
    --gt-r6k-section-y:46px;
  }
  body.gt-public-body .gt-shell,
  body.gt-public-body .gt-content-shell,
  body.gt-public-body .gt-cms-shell,
  body.gt-public-body .gt-page-shell{
    width:calc(100% - 28px)!important;
  }
  .gt-brand-row{
    min-height:62px!important;
    padding:6px 12px!important;
  }
  .gt-brand-logo img{max-height:32px!important}
  .gt-header-account{gap:2px!important}
  .gt-header-account>a{width:40px!important}
  body.gt-public-body .gt-section-heading h2{font-size:42px!important}
}

/* Mobile */
@media(max-width:767px){
  :root{
    --gt-r6k-section-y:38px;
  }
  body.gt-public-body .gt-shell,
  body.gt-public-body .gt-content-shell,
  body.gt-public-body .gt-cms-shell,
  body.gt-public-body .gt-page-shell{
    width:calc(100% - 24px)!important;
  }
  .gt-brand-row{
    display:grid!important;
    grid-template-columns:44px minmax(90px,1fr) auto!important;
    align-items:center!important;
    gap:4px!important;
    min-height:58px!important;
    padding:5px 8px!important;
    box-sizing:border-box!important;
  }
  .gt-mobile-menu-button{
    grid-column:1!important;
    width:44px!important;
    height:44px!important;
  }
  .gt-brand-logo{
    grid-column:2!important;
    justify-self:center!important;
    margin:0!important;
  }
  .gt-brand-logo img{
    max-width:116px!important;
    max-height:30px!important;
  }
  .gt-header-account{
    grid-column:3!important;
    gap:0!important;
  }
  .gt-header-account>a{
    width:36px!important;
    min-width:36px!important;
    height:42px!important;
    min-height:42px!important;
  }
  .gt-r6k-menu-icon,
  .gt-r6k-account-icon,
  .gt-r6k-appointment-icon,
  .gt-r6k-cart-icon{
    width:20px!important;
    height:20px!important;
  }
  body.gt-public-body .gt-section-heading h2,
  body.gt-public-body .gt-cms-heading h1{
    font-size:36px!important;
  }
  body.gt-public-body .gt-section-heading p,
  body.gt-public-body .gt-cms-heading p{
    font-size:15px!important;
    line-height:1.45!important;
  }
}

/* Landscape / short-height screens: never let bars/headers swallow content. */
@media(max-height:700px), (orientation:landscape) and (max-height:820px){
  :root{
    --gt-r6k-section-y:28px;
  }
  .gt-brand-row{
    min-height:52px!important;
    padding-top:3px!important;
    padding-bottom:3px!important;
  }
  .gt-mobile-menu-button,
  .gt-header-account>a{
    min-height:40px!important;
    height:40px!important;
  }
  body.gt-public-body .gt-home-section,
  body.gt-public-body .gt-cms-section,
  body.gt-public-body .gt-content-section{
    padding-top:28px!important;
    padding-bottom:28px!important;
  }
  body.gt-public-body .gt-hero-content,
  body.gt-public-body .gt-cms-hero-content{
    max-height:none!important;
    overflow:visible!important;
  }
}
