@font-face {
  font-family: 'UnifrakturMaguntia';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/unifrakturmaguntia-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/barlow-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/barlow-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/barlow-normal-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/barlow-normal-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:130px;-webkit-text-size-adjust:100%;background:var(--bg)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--fg);font:400 17px/1.6 var(--fb);overflow-x:hidden;padding-bottom:calc(64px + env(safe-area-inset-bottom))}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--focus,var(--a));outline-offset:3px;border-radius:6px}
.tp-skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--fg);color:var(--bg);padding:12px 16px;border-radius:8px}
.tp-skip:focus{top:12px}
.tp-wrap{max-width:1180px;margin:0 auto;padding:0 20px}
svg[viewBox="0 0 24 24"]{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tp-top{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;gap:12px;height:62px;padding:0 14px;transition:background-color .3s}
.tp-top .tp-brand{visibility:hidden}
.tp-top.is-solid{background:var(--topbg);box-shadow:0 1px 0 var(--line)}
.tp-top.is-solid .tp-brand{visibility:visible}
.tp-brand{display:flex;align-items:center;min-height:44px;font:var(--brandf);text-decoration:none;color:var(--brandc,var(--fg))}
.tp-nav,.tp-top-tel{display:none}
.tp-lang{display:flex;margin-left:auto;border:1.5px solid var(--langb,var(--fg));border-radius:var(--rb);padding:2px;background:var(--topbg)}
.tp-lang a{display:grid;place-items:center;min-width:44px;min-height:44px;border-radius:var(--rb);font:700 15px var(--fb);text-decoration:none;color:var(--topfg,var(--fg))}
.tp-lang a[aria-current]{background:var(--a);color:var(--aink)}
.tp-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr)}
.tp-hero-ph{position:relative;height:46svh;min-height:270px;overflow:hidden}
.tp-hero-ph img{width:100%;height:100%;object-fit:cover}
.tp-hero-txt{position:relative;padding:22px 20px 30px}
.tp-kicker{font:700 14px/1.3 var(--fb);letter-spacing:.12em;text-transform:uppercase;color:var(--kick,var(--a))}
.tp-h1{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:10px;font-weight:inherit}
.tp-h1-b{font:700 clamp(20px,5.6vw,25px)/1.28 var(--fb);max-width:26ch}
.tp-status{display:flex;width:max-content;max-width:100%;align-items:center;gap:9px;margin-top:14px;padding:7px 14px;border-radius:99px;background:var(--chip);border:1px solid var(--line);font:700 16px var(--fb)}
.tp-dot{width:10px;height:10px;border-radius:50%;background:var(--mut);flex:none}
[data-state=open] .tp-dot{background:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb,var(--ok) 25%,transparent)}
[data-state=closed] .tp-dot{background:var(--no)}
.tp-sub{margin-top:14px;max-width:48ch;color:var(--mut)}
.tp-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.tp-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:0 22px;border-radius:var(--rb);font:700 16.5px var(--fb);text-decoration:none;text-align:center;transition:background-color .2s,transform .2s}
.tp-btn:active{transform:translateY(1px)}
.tp-btn-a{background:var(--a);color:var(--aink)}
.tp-btn-line{border:2px solid var(--lineb,var(--fg));color:var(--fg)}
.tp-cta .tp-btn{flex:1 1 auto}
.tp-rating{display:flex;align-items:center;gap:8px;margin-top:16px;font:700 15.5px var(--fb);color:var(--mut)}
.tp-rating svg{fill:var(--star,var(--a));stroke:none;width:20px;height:20px}
.tp-facts{display:grid;grid-template-columns:1fr 1fr;background:var(--bg2);border-block:1px solid var(--line)}
.tp-facts li{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;padding:16px;border-bottom:1px solid var(--line)}
.tp-facts li:nth-child(odd){border-right:1px solid var(--line)}
.tp-facts svg{grid-row:span 2;color:var(--icon,var(--a));width:26px;height:26px}
.tp-facts strong{font:700 17px/1.3 var(--fb)}
.tp-facts span{font-size:15px;line-height:1.35;color:var(--mut)}
.tp-head{max-width:720px}
.tp-eyebrow{display:inline-flex;align-items:center;gap:10px;font:700 14px/1 var(--fb);letter-spacing:.14em;text-transform:uppercase;color:var(--kick,var(--a));margin-bottom:12px}
.tp-h2{font:var(--h2f);color:var(--h2c,var(--fg))}
.tp-lead{margin-top:12px;font-size:17.5px;color:var(--mut)}
/* menu */
.tp-menu{padding:60px 0 40px}
.tp-chips{position:sticky;top:62px;z-index:30;margin-top:22px;background:var(--bg);border-block:1px solid var(--line)}
.tp-chips-l{position:relative;display:flex;gap:6px;max-width:1180px;margin:0 auto;padding:8px 20px;overflow-x:auto;scrollbar-width:none}
.tp-chips-l::-webkit-scrollbar{display:none}
.tp-chip{position:relative;z-index:1;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:var(--rb);white-space:nowrap;font:700 16px var(--fb);text-decoration:none;transition:color .2s}
.tp-chip.is-on{color:var(--aink)}
.tp-chips-ind{position:absolute;z-index:0;left:0;top:0;width:var(--w,0);height:var(--h,0);transform:translate(var(--x,0),var(--y,0));border-radius:var(--rb);background:var(--a);transition:transform .35s cubic-bezier(.3,.8,.3,1),width .35s}
.tp-cats{display:grid;gap:40px;padding-top:30px}
.tp-cat{display:grid;gap:18px}
.tp-cat-ph{border-radius:var(--r);overflow:hidden}
.tp-cat-ph img{width:100%;aspect-ratio:1.6;object-fit:cover}
.tp-cat h3{font:var(--h3f);color:var(--h3c,var(--fg))}
.tp-cat-note{margin-top:4px;font-size:15.5px;color:var(--mut)}
.tp-cat ul{margin-top:10px}
.tp-mi{padding:12px 0;border-bottom:1px dashed var(--line)}
.tp-mi-h{display:flex;align-items:baseline;gap:8px}
.tp-mi h4{font:700 17.5px/1.3 var(--fb)}
.tp-mi-dots{flex:1;min-width:12px;border-bottom:2px dotted var(--line)}
.tp-mi b{font:var(--pricef);color:var(--price,var(--a));white-space:nowrap}
.tp-mi p{margin-top:3px;font-size:16px;line-height:1.45;color:var(--mut);max-width:60ch}
.tp-m-src{font-size:15.5px;color:var(--mut)}
/* spec */
.tp-spec{padding:60px 0;background:var(--bg2);border-block:1px solid var(--line)}
.tp-spec-l{display:flex;gap:14px;margin:26px -20px 22px;padding:0 20px 6px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}
.tp-spec-l li{flex:0 0 72%;scroll-snap-align:start}
.tp-spec-l figure{border-radius:var(--r);overflow:hidden}
.tp-spec-l img{width:100%;aspect-ratio:.85;object-fit:cover}
.tp-spec-l h3{margin-top:12px;font:var(--h3f);color:var(--h3c,var(--fg))}
.tp-spec-l p{margin-top:4px;font-size:16px;color:var(--mut)}
.tp-spec-cta{display:grid;gap:10px}
.tp-spec-cta p{font-size:15.5px;color:var(--mut)}
/* gallery, quotes, visit */
.tp-lokal{padding:60px 0}
.tp-gal{display:grid;gap:10px;margin-top:26px}
.tp-gal li{border-radius:var(--r);overflow:hidden}
.tp-gal img{width:100%;aspect-ratio:1.3;object-fit:cover}
.tp-q{padding:60px 0;background:var(--bg2);border-block:1px solid var(--line)}
.tp-quotes{display:grid;gap:12px;margin-top:26px}
.tp-quotes li{padding:22px 20px;border-radius:var(--r);background:var(--card);border:1px solid var(--line)}
.tp-quotes blockquote p{font-size:17.5px;line-height:1.6}
.tp-q-by{margin-top:10px;font-weight:700;color:var(--kick,var(--a))}
.tp-q-src{margin-top:18px;font-size:15.5px;color:var(--mut)}
.tp-visit{padding:60px 0}
.tp-visit-g{display:grid;gap:28px}
.tp-v-ph{margin-top:18px;border-radius:var(--r);overflow:hidden}
.tp-v-ph img{width:100%;aspect-ratio:1.4;object-fit:cover}
.tp-addr{margin:16px 0 4px;font:700 21px/1.4 var(--fb)}
.tp-hours-card{padding:22px 20px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);align-self:start}
.tp-hours-card h3{font:var(--h3f);color:var(--h3c,var(--fg))}
.tp-status-lg{margin:12px 0 10px}
.tp-hours li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:16.5px}
.tp-hours li.is-today{font-weight:700;color:var(--today,var(--a))}
.tp-h-note{margin-top:12px;font-size:15.5px;color:var(--mut)}
.tp-big-l{margin-top:16px;font-weight:700}
.tp-bigtel{display:flex;align-items:center;gap:10px;min-height:44px;font:var(--bigtelf);color:var(--bigc,var(--a));text-decoration:none}
.tp-bigtel svg{width:28px;height:28px}
.tp-foot{padding:42px 0 30px;background:var(--footbg);color:var(--footfg);border-top:1px solid var(--line)}
.tp-foot-row{display:grid;gap:18px}
.tp-foot-word{font:var(--brandf);font-size:34px;color:var(--footw,var(--a))}
.tp-foot-name{font:700 19px var(--fb)}
.tp-foot p{color:var(--footmut,var(--mut))}
.tp-adult{margin-top:6px;font-size:15px}
.tp-foot ul{display:grid;gap:2px}
.tp-foot ul a{display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:none;overflow-wrap:anywhere}
.tp-foot ul svg{color:var(--footw,var(--a))}
.tp-dock{position:fixed;inset:auto 0 0 0;z-index:60;display:grid;grid-template-columns:1fr 1.15fr 1fr;background:var(--dockbg);color:var(--dockfg);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
.tp-dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:62px;text-decoration:none;font:700 15px var(--fb)}
.tp-dock .tp-dock-hot{background:var(--a);color:var(--aink)}
.js .tp-rv{opacity:0;transform:translateY(14px);transition:opacity .6s ease var(--d,0s),transform .6s ease var(--d,0s)}
.js .tp-rv.is-in{opacity:1;transform:none}
@media (min-width:600px){
 .tp-facts{grid-template-columns:repeat(4,1fr)}
 .tp-facts li{border-right:1px solid var(--line)}
 .tp-spec-l{display:grid;grid-template-columns:repeat(2,1fr);overflow:visible;margin:26px 0 22px;padding:0}
 .tp-gal{grid-template-columns:1fr 1fr}
 .tp-quotes{grid-template-columns:repeat(3,1fr)}
 .tp-spec-cta{grid-template-columns:auto 1fr;align-items:center;gap:18px}
}
@media (min-width:960px){
 html{scroll-padding-top:150px}
 body{padding-bottom:0}
 .tp-wrap{padding:0 32px}
 .tp-top{height:74px;padding:0 28px;gap:26px;background:var(--topbg);box-shadow:0 1px 0 var(--line)}
 .tp-top .tp-brand{visibility:visible}
 .tp-nav{display:flex;gap:4px;margin-left:12px}
 .tp-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;text-decoration:none;font-weight:700;font-size:16px;color:var(--topfg,var(--fg))}
 .tp-top-tel{display:inline-flex;align-items:center;gap:8px;margin-left:auto;min-height:46px;padding:0 18px;border-radius:var(--rb);background:var(--a);color:var(--aink);text-decoration:none;font-weight:700}
 .tp-lang{margin-left:0}
 .tp-chips{top:74px}
 .tp-chips-l{padding:8px 32px}
 .tp-hero{grid-template-columns:44% 56%;min-height:min(100vh,860px);padding-top:74px}
 .tp-hero-ph{order:2;height:auto}
 .tp-hero-txt{order:1;margin:0;display:flex;flex-direction:column;justify-content:center;padding:40px 40px 40px max(32px,calc((100vw - 1180px)/2 + 32px))}
 .tp-cta .tp-btn{flex:none}
 .tp-hero-txt .tp-cta{flex-wrap:nowrap}
 .tp-cat{grid-template-columns:340px 1fr;gap:40px;align-items:start}
 .tp-cat-ph{position:sticky;top:150px}
 .tp-cat-ph img{aspect-ratio:1}
 .tp-spec-l{grid-template-columns:repeat(4,1fr);gap:22px}
 .tp-gal{grid-template-columns:1.3fr 1fr;grid-auto-rows:1fr}
 .tp-gal li:first-child{grid-row:span 2}
 .tp-gal li:first-child img{height:100%;aspect-ratio:auto}
 .tp-visit-g{grid-template-columns:1.2fr 1fr;gap:56px}
 .tp-foot-row{grid-template-columns:auto 1fr auto;align-items:center;gap:40px}
 .tp-dock{display:none}
}

:root{--bg:#F4EEDF;--bg2:#E9E0CA;--card:#FFFDF7;--fg:#14181A;--mut:#43494B;--a:#A63A1E;--aink:#FFFFFF;--line:rgba(20,24,26,.15);--chip:#FFFDF7;--ok:#2B7A3D;--no:#A63A1E;
 --topbg:rgba(244,238,223,.96);--topfg:#14181A;--langb:#14181A;--rb:6px;--r:8px;--kick:#8C2F17;--focus:#A63A1E;
 --fh:'UnifrakturMaguntia',serif;--fb:'Barlow','Segoe UI',system-ui,sans-serif;
 --brandf:400 26px/1 var(--fh);--brandc:#14181A;--h2f:600 clamp(30px,8vw,46px)/1.1 var(--fb);--h2c:#102126;--h3f:600 21px/1.2 var(--fb);--h3c:#8C2F17;--pricef:600 16px var(--fb);--price:#A63A1E;--bigtelf:600 30px/1.2 var(--fb);--bigc:#102126;
 --footbg:#102126;--footfg:#F4EEDF;--footmut:#C3CDCD;--footw:#F0C27A;--dockbg:#F4EEDF;--dockfg:#14181A;--today:#8C2F17;--star:#A63A1E}
body{font-size:18px}
.tp-top:not(.is-solid) .tp-lang{background:rgba(244,238,223,.94)}
.tp-word{font:400 clamp(50px,14vw,88px)/.95 var(--fh);color:#102126}
.tp-word::after{content:"";display:block;width:180px;height:14px;margin-top:10px;background:linear-gradient(90deg,#A63A1E 0 46%,transparent 46% 54%,#A63A1E 54%) center/100% 3px no-repeat,radial-gradient(circle,#A63A1E 5px,transparent 6px) center/14px 14px no-repeat}
.tp-h2{text-transform:uppercase;letter-spacing:.02em}
.tp-facts{background:#102126;color:#F4EEDF}
.tp-facts *{color:#F4EEDF!important}
.tp-facts svg{color:#F0C27A!important}
.tp-eyebrow{font-weight:600;letter-spacing:.12em}
.tp-btn-a{background:#A63A1E;color:#fff}
.tp-top-tel{background:#102126!important}
.tp-mi-h b:empty,.tp-mi-dots:has(+b:empty){display:none}
.tp-cat-ph,.tp-gal li,.tp-v-ph{border-radius:8px;box-shadow:0 0 0 2px #14181A,6px 6px 0 #A63A1E}
.tp-quotes li{background:#FFFDF7;border-left:5px solid #A63A1E}
.tp-dock .tp-dock-hot{background:#A63A1E}
/* cod five ways */
.tp-sig{padding:64px 0;background:#102126;color:#F4EEDF}
.tp-sig .tp-h2{color:#fff}.tp-sig .tp-lead,.tp-sig .tp-note{color:#C9D2D2}.tp-sig .tp-eyebrow{color:#F0C27A}
.tp-sig-g{display:grid;gap:28px}
.tp-ways{display:grid;gap:8px;margin-top:18px}
.tp-w{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 14px;border-radius:6px;border:2px solid rgba(240,194,122,.55);background:transparent;color:#F4EEDF;font:600 17px var(--fb);text-align:left;cursor:pointer}
.tp-n{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#F0C27A;color:#102126;font:400 18px var(--fh)}
.tp-w[aria-pressed=true]{background:#F0C27A;color:#102126;border-color:#F0C27A}
.tp-w[aria-pressed=true] .tp-n{background:#102126;color:#F0C27A}
.tp-w:focus-visible{outline:3px solid #fff;outline-offset:2px}
.tp-card{display:grid;grid-template-columns:130px 1fr;gap:14px;align-items:center;margin:20px 0 6px;padding:14px;border:1px dashed rgba(240,194,122,.5);border-radius:8px}
.tp-fish{width:130px;height:auto}
#tp-top{transition:fill .3s}
.tp-out{margin:0;display:grid;gap:4px}
.tp-out b{font:600 19px/1.3 var(--fb);color:#fff}
.tp-out span{font-size:15px;color:#C9D2D2}
.tp-note{font-size:16px;margin:12px 0 18px}
.tp-phs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tp-phs figure{margin:0}
.tp-phs img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;box-shadow:0 0 0 3px #F0C27A}
@media (min-width:960px){
 .tp-word{font-size:92px}
 .tp-sig{padding:96px 0}
 .tp-sig-g{grid-template-columns:1fr 420px;gap:64px;align-items:center}
 .tp-phs{grid-template-columns:1fr;gap:18px}
}
