:root { --gold:#f9b913; --ink:#171814; --cream:#f8f3e8; --red:#e31b14; }
@font-face { font-family:"Stubalm Sans"; src:url("../fonts/stubalm-sans-regular.ttf") format("truetype"); font-style:normal; font-weight:400; font-display:swap; }
@font-face { font-family:"Stubalm Sans"; src:url("../fonts/stubalm-sans-bold.ttf") format("truetype"); font-style:normal; font-weight:700; font-display:swap; }
@font-face { font-family:"Stubalm Serif"; src:url("../fonts/stubalm-serif-bold.ttf") format("truetype"); font-style:normal; font-weight:700; font-display:swap; }
* { box-sizing:border-box; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
html { background:var(--ink); scroll-behavior:smooth; }
body { margin:0; color:#fff; font-family:"Stubalm Sans",Arial,Helvetica,sans-serif; text-rendering:optimizeLegibility; }
a { color:inherit; }
.gateway { position:relative; min-height:100svh; overflow:hidden; }
.gateway__choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); min-height:calc(100svh - 68px); }
.choice { position:relative; isolation:isolate; display:grid; place-items:center; min-width:0; padding:7.5rem 2rem 6.5rem; overflow:hidden; text-align:center; text-decoration:none; }
.choice::before { position:absolute; inset:0; z-index:-2; content:""; background-image:repeating-linear-gradient(135deg,transparent 0 18px,rgba(255,255,255,.02) 18px 19px); }
.choice::after { position:absolute; inset:0; z-index:-1; content:""; opacity:0; transition:opacity .45s ease; }
.choice:hover::after,.choice:focus-visible::after { opacity:1; }
.choice--brewery { color:#fff; background:radial-gradient(circle at 50% 38%,#292a25 0,var(--ink) 63%); border-right:1px solid rgba(249,185,19,.42); }
.choice--brewery::after { background:rgba(249,185,19,.045); }
.choice--turm { color:#202018; background:radial-gradient(circle at 50% 38%,#fffdf6 0,var(--cream) 68%); }
.choice--turm::before { background-image:repeating-linear-gradient(135deg,transparent 0 18px,rgba(170,87,29,.035) 18px 19px); }
.choice--turm::after { background:rgba(227,27,20,.04); }
.choice__glow { position:absolute; top:9%; left:50%; z-index:-1; width:min(62vw,520px); aspect-ratio:1; border-radius:50%; transform:translateX(-50%); filter:blur(2px); opacity:.65; }
.choice--brewery .choice__glow { background:radial-gradient(circle,rgba(249,185,19,.11),transparent 66%); }
.choice--turm .choice__glow { background:radial-gradient(circle,rgba(227,27,20,.07),transparent 66%); }
.choice__content { display:flex; align-items:center; flex-direction:column; width:min(100%,580px); }
.choice__logo { display:block; width:clamp(190px,20vw,280px); height:auto; margin:0 auto 1.75rem; transition:transform .45s cubic-bezier(.2,.7,.2,1); }
.choice:hover .choice__logo { transform:translateY(-5px) scale(1.018); }
.choice__logo img { display:block; width:100%; max-width:100%; height:auto; object-fit:contain; }
.choice__logo--turm { width:clamp(210px,22vw,300px); padding:.6rem 0; }
.choice__eyebrow { margin:0 0 .8rem; color:var(--gold); font-size:.73rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase; }
.choice--turm .choice__eyebrow { color:#b91410; }
.choice__title { display:block; margin:0; font-family:"Stubalm Serif",Georgia,serif; font-size:clamp(2rem,3.7vw,4.15rem); font-weight:700; line-height:1.03; letter-spacing:-.045em; }
.choice__copy { display:flex; flex-direction:column; gap:.42rem; margin:1.3rem 0 1.8rem; color:rgba(255,255,255,.72); font-family:"Stubalm Sans",Arial,sans-serif; font-size:clamp(.98rem,1.25vw,1.12rem); line-height:1.55; }
.choice--turm .choice__copy { color:rgba(32,32,24,.69); }
.choice__copy strong { color:inherit; font-weight:700; }
.choice__button { display:inline-flex; align-items:center; gap:.85rem; min-height:50px; padding:.85rem 1.45rem; border:1px solid var(--gold); color:var(--gold); font-size:.76rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; transition:color .25s ease,background .25s ease,transform .25s ease; }
.choice--turm .choice__button { border-color:var(--red); color:#b91410; }
.choice:hover .choice__button,.choice:focus-visible .choice__button { color:var(--ink); background:var(--gold); transform:translateY(-2px); }
.choice--turm:hover .choice__button,.choice--turm:focus-visible .choice__button { color:#fff; background:var(--red); }
.choice__button svg { width:18px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; }
.gateway__header,.gateway__footer { position:absolute; left:0; z-index:4; display:flex; align-items:center; width:100%; pointer-events:none; }
.gateway__header { top:0; justify-content:center; gap:1rem; padding:1.6rem 1.25rem; color:rgba(255,255,255,.62); font-size:.66rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.gateway__header p { margin:0; }
.gateway__header p:last-child { color:rgba(32,32,24,.62); }
.gateway__header span { width:28px; height:1px; background:linear-gradient(90deg,var(--gold),var(--red)); }
.gateway__footer { position:static; min-height:68px; justify-content:space-between; padding:.75rem 1.5rem; color:rgba(255,255,255,.65); background:#11120f; font-size:.7rem; letter-spacing:.04em; }
.gateway__footer nav { display:flex; gap:.35rem; }
.gateway__footer a { display:inline-flex; align-items:center; min-height:44px; padding:0 .65rem; pointer-events:auto; color:rgba(255,255,255,.86); text-decoration:none; }
.gateway__footer a:hover { text-decoration:underline; text-underline-offset:4px; }
.choice:focus-visible { outline:3px solid #fff; outline-offset:-6px; }
.scroll-cue { display:none; }
@media (max-width:760px) {
  .gateway { overflow:visible; }
  .gateway__choices { grid-template-columns:1fr; }
  .choice { min-height:clamp(590px,76svh,720px); padding:5.4rem 1.25rem 3.25rem; }
  .choice--brewery { border-right:0; border-bottom:1px solid rgba(249,185,19,.45); }
  .choice__logo { width:clamp(150px,44vw,210px); margin-bottom:1rem; }
  .choice__logo--turm { width:clamp(175px,51vw,235px); }
  .choice__title { font-size:clamp(2.1rem,9.5vw,3.4rem); }
  .choice__copy { margin-top:1rem; }
  .gateway__header { color:rgba(255,255,255,.64); font-size:.59rem; letter-spacing:.13em; }
  .gateway__header p:last-child,.gateway__header span { display:none; }
  .gateway__footer { position:static; flex-direction:column; gap:.35rem; padding:1rem; color:rgba(255,255,255,.6); background:#11120f; text-align:center; }
  .gateway__footer a { color:rgba(255,255,255,.78); }
  .scroll-cue { position:fixed; top:68svh; right:1rem; bottom:auto; z-index:8; display:flex; align-items:center; gap:.55rem; min-height:48px; padding:.7rem .9rem; color:#171814; background:var(--gold); border:2px solid rgba(255,255,255,.8); border-radius:999px; box-shadow:0 10px 28px rgba(0,0,0,.32); font-size:.68rem; font-weight:800; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; opacity:0; transform:translateY(16px); transition:opacity .3s ease,transform .3s ease; }
  .scroll-cue.is-visible { opacity:1; transform:none; }
  .scroll-cue.is-hidden { opacity:0; pointer-events:none; }
  .scroll-cue b { font-size:1rem; animation:scrollCue 1.45s ease-in-out infinite; }
}
@keyframes scrollCue { 0%,100% { transform:translateY(-2px); } 50% { transform:translateY(4px); } }
@media (max-height:760px) and (min-width:761px) {
  .choice { padding-top:5rem; padding-bottom:4rem; }
  .choice__logo { width:190px; margin-bottom:1rem; }
  .choice__logo--turm { width:210px; }
  .choice__copy { margin:.9rem 0 1.2rem; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation:none!important; } }
