/* Focused hero layout; the original image is served without filters or edits. */
#hdr{--nav-height:84px}
#hdr:not(.hdr-solid){background:transparent}
#hdr::before{background:linear-gradient(180deg,rgba(18,17,15,.48),rgba(18,17,15,.18) 65%,transparent);inset:0 0 -24px}
#hdr nav{height:var(--nav-height);gap:24px}
#hdr .brand{font-size:1.25rem}
#hdr .brand small{font-size:.56rem;letter-spacing:.19em}
#hdr .nl{gap:clamp(14px,1.4vw,22px)}
#hdr .nl a:not(.btn){font-size:.81rem}
#hdr .nl .btn{min-height:44px;padding:10px 18px;line-height:1.4}

section.hero{min-height:max(640px,100svh);padding:0;background:#2c241b}
.hero .hero-bg{inset:0;background:none;filter:none;transform:none;transition:none}
.hero .hero-photo{width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 40%}
.hero::before{display:none}
.hero::after{pointer-events:none;background:linear-gradient(90deg,transparent 36%,rgba(30,24,18,.16) 51%,rgba(30,24,18,.65) 72%,rgba(30,24,18,.78) 100%),linear-gradient(0deg,rgba(30,24,18,.4),transparent 20%)}
.hero .wrap{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,44%);gap:clamp(28px,4vw,64px);align-items:center;padding-top:106px;padding-bottom:126px}
.hero .herotxt{grid-column:2;width:100%;max-width:none;margin:0;text-align:center}
.hero h1{font-size:clamp(1.7rem,3vw,2.7rem);line-height:1.14;margin:0 0 25px;text-shadow:0 2px 22px rgba(0,0,0,.25)}
.hero h1 .l{overflow:hidden}
.hero p{max-width:43ch;margin:0 auto 28px;font-size:clamp(.98rem,1.2vw,1.1rem);line-height:1.65;color:rgba(246,241,231,.95)}
.hero .hbtns{gap:12px;align-items:center;justify-content:center}
.hero .hbtns .btn{justify-content:center;min-height:46px;padding:11px 20px;font-size:.85rem;line-height:1.5}
.hero .kick{left:clamp(28px,3vw,64px);bottom:30px;max-width:31ch;font-size:.88rem;line-height:1.6;color:rgba(246,241,231,.9)}
.hero .cue{bottom:28px;left:50%;gap:9px;font-size:.61rem;animation:none;opacity:1}
.hero .cue::after{height:28px}

@media(max-width:1080px){
  #hdr{--nav-height:74px}
  #hdr nav{gap:16px;padding:0 24px}
  #hdr .mt{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0}
  #hdr .nl{position:fixed;inset:var(--nav-height) 0 auto;max-height:calc(100dvh - var(--nav-height));overflow-y:auto;display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:18px 24px 24px;background:rgba(33,31,28,.98);border-top:1px solid rgba(246,241,231,.12);transform:translateY(-12px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s}
  #hdr .nl.open{transform:none;opacity:1;visibility:visible;pointer-events:auto}
  #hdr .nl a:not(.btn){display:flex;align-items:center;min-height:44px;padding:8px 0;font-size:.95rem}
  #hdr .nl .btn{align-self:flex-start;margin-top:8px;padding:12px 20px}
  .nav-backdrop{display:block}
}
@media(min-width:1081px){#hdr .nl{visibility:visible}#hdr .mt{display:none}}

@media(max-width:900px){
  section.hero{--portrait-space:420px;display:block;min-height:0;padding-top:var(--portrait-space)}
  .hero .hero-bg{position:absolute;inset:0;height:100%;overflow:hidden}
  .hero .hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,20,14,.03) 0%,rgba(25,20,14,.06) 35%,rgba(25,20,14,.52) 48%,rgba(25,20,14,.78) 62%,rgba(25,20,14,.86) 100%);pointer-events:none}
  .hero .hero-photo{object-position:43% 0}
  .hero::after{display:none;background:none!important}
  .hero .wrap{position:relative;inset:auto;display:block;max-width:650px;padding:26px 28px 28px}
  .hero .herotxt{max-width:none;margin:0}
  .hero h1{font-size:clamp(1.65rem,4.3vw,2.35rem);line-height:1.17;margin:0 auto 22px}
  .hero p{font-size:1rem;max-width:43ch;margin:0 auto 25px;line-height:1.65}
  .hero .hbtns{gap:12px}
  .hero .kick{display:block;position:relative;left:auto;bottom:auto;max-width:34ch;margin:0 28px 0 max(28px,calc((100vw - 650px)/2 + 28px));padding-bottom:28px;font-size:.82rem;line-height:1.6}
  .hero .cue{display:none}
}
@media(min-width:601px) and (max-width:900px) and (orientation:portrait){
  section.hero{--portrait-space:clamp(480px,65vw,560px)}
}
@media(max-width:480px){
  #hdr nav{padding:0 20px;gap:12px}
  #hdr .brand{font-size:1.18rem}
  #hdr .brand small{font-size:.49rem;letter-spacing:.17em}
  .hero .wrap{padding:22px 22px 26px}
  .hero h1{font-size:clamp(1.55rem,6.5vw,1.8rem);line-height:1.2}
  .hero p{font-size:.96rem;max-width:34ch}
  .hero .hbtns{flex-direction:column;gap:10px}
  .hero .hbtns .btn{width:min(100%,245px);min-height:46px}
  .hero .kick{margin-left:22px;margin-right:22px;max-width:34ch}
}
@media(max-width:360px){section.hero{--portrait-space:470px}}
@media(min-width:1081px){
  section.hero{min-height:100svh}
  #hdr{--nav-height:120px}
  #hdr::before{background:linear-gradient(180deg,rgba(18,17,15,.62),rgba(18,17,15,.42) 65%,transparent)}
  #hdr nav{max-width:1800px;padding:0 clamp(32px,6.2vw,104px);gap:24px}
  #hdr .brand{font-size:clamp(1.35rem,2vw,2rem)}
  #hdr .brand small{margin-top:8px;font-size:clamp(.6rem,.85vw,.875rem);letter-spacing:.22em}
  #hdr .nl{gap:clamp(14px,1.6vw,27px)}
  #hdr .nl a:not(.btn){font-size:clamp(.82rem,1.03vw,1.05rem)}
  #hdr .nl .btn{min-height:58px;padding:14px 27px;font-size:clamp(.86rem,1.15vw,1.2rem)}
  .hero .hero-photo{object-position:50% 45%;transform:none}
  .hero .wrap{max-width:1800px;grid-template-columns:minmax(0,1fr) minmax(0,42%);gap:clamp(28px,3vw,64px);padding:150px 44px 100px}
  .hero h1{font-size:clamp(2rem,3.6vw,3.75rem);line-height:1.1;margin-bottom:26px}
  .hero p{max-width:43ch;font-size:clamp(1.05rem,1.6vw,1.65rem);line-height:1.55;margin-bottom:38px}
  .hero .hbtns{gap:18px}
  .hero .hbtns .btn{min-height:60px;padding:15px 27px;font-size:clamp(.9rem,1.2vw,1.25rem);line-height:1.4}
  .hero .kick{left:clamp(28px,2.7vw,64px);bottom:60px;max-width:440px;font-size:clamp(1rem,1.4vw,1.35rem);line-height:1.55;text-shadow:0 1px 4px rgba(0,0,0,.8)}
  .hero .cue{bottom:34px;gap:12px;font-size:.875rem}
}
@media(min-width:1081px) and (max-height:700px){
  #hdr{--nav-height:90px}
  #hdr nav{min-height:90px}
  #hdr .brand{font-size:clamp(1.35rem,2vw,1.75rem)}
  #hdr .brand small{margin-top:5px;font-size:.65rem;letter-spacing:.19em}
  #hdr .nl .btn{min-height:44px;padding:10px 18px;font-size:.86rem}
  .hero .wrap{padding-top:96px;padding-bottom:92px}
  .hero h1{font-size:clamp(1.7rem,min(3.6vw,7svh),2.65rem);margin-bottom:20px}
  .hero p{font-size:clamp(.98rem,2.9svh,1.1rem);margin-bottom:24px}
  .hero .hbtns{gap:12px}
  .hero .hbtns .btn{min-height:46px;padding:11px 20px;font-size:.85rem}
  .hero .kick{bottom:26px;max-width:32ch;font-size:1rem}
  .hero .cue{bottom:18px;font-size:.65rem;gap:9px}
  .hero .cue::after{height:24px}
}
@media(prefers-reduced-motion:reduce){#hdr .nl{transition:none}}
