/* ===== Homepage hero (transparent nav over full-screen photo) ===== */
.hh{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;color:#fff;
  background:#0B1424 url(/images/hero-fairfield-home.jpg) center 42%/cover no-repeat;isolation:isolate}
@media (max-width:820px){.hh{background-image:url(/images/hero-fairfield-home-800.jpg);background-position:58% center}}
.hh::before{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(ellipse 58% 42% at 50% 55%,rgba(5,10,20,.62),rgba(5,10,20,.2) 70%,rgba(5,10,20,0) 100%),
             linear-gradient(180deg,rgba(5,10,20,.55) 0%,rgba(5,10,20,.25) 22%,rgba(5,10,20,.3) 60%,rgba(5,10,20,.6) 100%)}

/* nav */
.hh-nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:24px;
  padding:16px clamp(16px,3vw,44px);padding-top:calc(16px + env(safe-area-inset-top,0px));transition:background .3s,box-shadow .3s,padding .3s}
.hh-nav.is-solid{background:rgba(11,20,36,.94);box-shadow:0 4px 18px rgba(0,0,0,.35);padding-top:calc(8px + env(safe-area-inset-top,0px));padding-bottom:8px}
.hh-logo{flex-shrink:0;display:block}
.hh-logo img{height:clamp(64px,7.5vw,104px);width:auto;display:block;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45));transition:height .3s}
.hh-nav.is-solid .hh-logo img{height:58px}
.hh-menu{margin-left:auto;display:flex;align-items:center;gap:clamp(14px,1.8vw,30px)}
.hh-menu a{color:#fff;text-decoration:none;font-family:Kanit,Inter,sans-serif;font-style:italic;font-weight:600;font-size:17px;
  letter-spacing:.01em;text-shadow:0 2px 8px rgba(0,0,0,.6);padding:8px 0;position:relative;white-space:nowrap}
.hh-menu a:not(.hh-menu-cta)::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:#5FD08A;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.hh-menu a:not(.hh-menu-cta):hover::after,.hh-menu a:not(.hh-menu-cta):focus-visible::after{transform:scaleX(1)}
.hh-menu-cta{display:none}
.hh-toggle{display:none}

/* hero content */
.hh-hero{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:140px 20px 90px}
.hh-content{max-width:1100px;display:flex;flex-direction:column;align-items:center}
.hh-title{margin:0;font-family:Kanit,Inter,sans-serif;font-style:italic;font-weight:800;text-transform:uppercase;
  font-size:clamp(54px,8.2vw,136px);line-height:.88;letter-spacing:-.01em;color:#fff;
  text-shadow:0 4px 18px rgba(0,0,0,.55),0 2px 3px rgba(0,0,0,.4)}
.hh-title span{display:block;white-space:nowrap}
.hh-sub{margin:22px 0 0;font-family:Kanit,Inter,sans-serif;font-style:italic;font-weight:500;font-size:clamp(18px,2.1vw,30px);
  line-height:1.25;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.7);max-width:1100px}
.hh-sub strong{font-weight:800}
.hh-ctas{margin-top:34px;display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.hh-btn{display:inline-flex;align-items:center;justify-content:center;min-width:270px;padding:18px 28px;font-family:Kanit,Inter,sans-serif;
  font-style:italic;font-weight:600;font-size:clamp(18px,1.6vw,23px);text-decoration:none;border-radius:2px;
  transition:transform .2s,box-shadow .2s,background .2s}
.hh-btn-red{background:#E10A0A;color:#fff;box-shadow:0 6px 18px rgba(225,10,10,.35)}
.hh-btn-red:hover{background:#C40808;color:#fff;transform:translateY(-2px)}
.hh-btn-white{background:#fff;color:#E10A0A;border:2px solid #fff;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.hh-btn-white:hover{color:#B30707;transform:translateY(-2px)}
.hh-btn:focus-visible{outline:3px solid #5FD08A;outline-offset:3px}

/* entrance animations */
@keyframes hhUp{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
@keyframes hhDown{from{opacity:0}to{opacity:1}}
@keyframes hhZoom{from{background-size:auto 112%}to{background-size:cover}}
.hh-nav{animation:hhDown .7s ease-out both}
.hh-title span{animation:hhUp .9s cubic-bezier(.2,.7,.2,1) both}
.hh-title span:nth-child(1){animation-delay:.15s}.hh-title span:nth-child(2){animation-delay:.3s}
.hh-sub{animation:hhUp .9s cubic-bezier(.2,.7,.2,1) .5s both}
.hh-ctas{animation:hhUp .9s cubic-bezier(.2,.7,.2,1) .7s both}
@media (prefers-reduced-motion:reduce){.hh-nav,.hh-title span,.hh-sub,.hh-ctas{animation:none}.hh-btn{transition:none}}

/* tablet / mobile */
@media (max-width:1100px){
  .hh-toggle{display:inline-flex;align-items:center;gap:10px;margin-left:auto;background:rgba(11,20,36,.55);color:#fff;border:2px solid rgba(255,255,255,.85);
    border-radius:6px;padding:10px 16px;font-family:Kanit,Inter,sans-serif;font-style:italic;font-weight:600;font-size:17px;cursor:pointer}
  .hh-bars,.hh-bars::before,.hh-bars::after{display:block;width:20px;height:2px;background:#fff;position:relative;transition:transform .25s}
  .hh-bars::before,.hh-bars::after{content:"";position:absolute;left:0}
  .hh-bars::before{top:-6px}.hh-bars::after{top:6px}
  .hh-toggle[aria-expanded="true"] .hh-bars{background:transparent}
  .hh-toggle[aria-expanded="true"] .hh-bars::before{transform:translateY(6px) rotate(45deg)}
  .hh-toggle[aria-expanded="true"] .hh-bars::after{transform:translateY(-6px) rotate(-45deg)}
  .hh-menu{position:fixed;inset:0;z-index:-1;flex-direction:column;justify-content:center;gap:6px;margin:0;
    background:rgba(11,20,36,.97);padding:100px 24px calc(40px + env(safe-area-inset-bottom,0px));
    opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
  .hh-menu.is-open{opacity:1;visibility:visible}
  .hh-menu a{font-size:24px;padding:10px 0}
  .hh-menu-cta{display:inline-flex;justify-content:center;min-width:260px;margin-top:10px;padding:14px 22px !important;background:#E10A0A;border-radius:2px;text-shadow:none}
  .hh-menu-phone{background:#fff;color:#E10A0A !important;margin-top:6px}
}
@media (max-width:640px){
  .hh-logo img{height:58px}
  .hh-hero{padding:120px 18px 70px}
  .hh-title{font-size:clamp(36px,10.6vw,64px)}
  .hh-ctas{flex-direction:column;width:100%;max-width:340px}
  .hh-btn{min-width:0;width:100%}
}
body.hh-lock{overflow:hidden}
