/* Linnenhof: midnight restraint with a warm, brass-like hospitality accent.
   It is a layout family rather than a tenant name baked into content. */
.site.family-linnenhof{--font-heading:"Playfair Display",Georgia,serif;background:#050505;color:#f4f4f4;font-synthesis:none;-webkit-font-smoothing:antialiased}
.family-linnenhof .site-nav{height:88px;padding:17px clamp(23px,5.5vw,90px);border-bottom:1px solid rgb(244 244 244 / 13%);box-shadow:0 10px 30px rgb(0 0 0 / 28%)}
.family-linnenhof .site-brand{font:500 1.65rem/1 var(--font-heading);letter-spacing:-.025em}.family-linnenhof .site-brand-stack small{margin-top:6px;font-size:.52rem;letter-spacing:.22em;color:var(--site-primary)}
.family-linnenhof .site-desktop-nav{margin-left:auto;gap:30px}.family-linnenhof .site-desktop-nav a{font:500 .65rem "Space Grotesk",sans-serif;letter-spacing:.14em;text-transform:uppercase;padding:9px 0}.family-linnenhof .site-nav-cta{border-color:rgb(193 149 50 / 70%);color:#f4f4f4;padding:13px 18px;font-size:.63rem;letter-spacing:.14em}.family-linnenhof .site-nav-cta:hover{background:var(--site-primary);color:#050505}
.family-linnenhof .site-section{padding:clamp(82px,10.5vw,155px) clamp(23px,6vw,96px);overflow:clip}.family-linnenhof .spacing-compact{padding-block:58px}.family-linnenhof .spacing-generous{padding-block:clamp(112px,14vw,205px)}.family-linnenhof .section-inner{max-width:1240px}
.family-linnenhof .section-copy{font-size:clamp(3rem,5.35vw,5.8rem);max-width:680px}.family-linnenhof .section-heading{font-weight:400;line-height:.93;letter-spacing:-.048em;max-width:11ch;margin-bottom:26px;text-wrap:balance}.family-linnenhof .section-eyebrow{font:500 .6rem "Space Grotesk",sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--site-primary);margin-bottom:25px}.family-linnenhof .section-eyebrow:before{width:24px;background:currentColor;margin-right:14px}.family-linnenhof .section-body{max-width:460px;font:400 .9rem/1.85 "Space Grotesk",sans-serif;letter-spacing:.005em;opacity:.78}
.family-linnenhof .type-hero{min-height:calc(100svh - 88px);padding-top:105px;padding-bottom:130px;align-items:center}.family-linnenhof .type-hero .section-copy{font-size:clamp(4.7rem,9vw,10rem);max-width:900px}.family-linnenhof .type-hero .section-heading{line-height:.84;max-width:9ch;margin-bottom:30px}.family-linnenhof .type-hero .section-body{font-size:.84rem;max-width:380px;opacity:.9}.family-linnenhof .type-hero .section-overlay{background:linear-gradient(90deg,rgb(0 0 0 / var(--overlay)) 0%,rgb(0 0 0 / 20%) 68%,rgb(0 0 0 / 45%)),linear-gradient(0deg,rgb(0 0 0 / 46%),transparent 47%)}
.family-linnenhof .site-button{border:1px solid var(--site-primary);border-radius:0;background:var(--site-primary);color:#050505;padding:16px 23px;font:500 .63rem "Space Grotesk",sans-serif;letter-spacing:.15em;text-transform:uppercase;transition:background .2s,color .2s,border-color .2s}.family-linnenhof .site-button:hover{background:transparent;color:var(--site-primary)}.family-linnenhof .site-button-secondary{font:500 .64rem "Space Grotesk",sans-serif;letter-spacing:.13em;text-transform:uppercase}
.family-linnenhof .section-layout{gap:clamp(55px,9vw,145px);grid-template-columns:.88fr 1.12fr;align-items:center}.family-linnenhof .section-media img{height:650px}.family-linnenhof .variant-editorial .section-copy{background:#050505;color:#f4f4f4;padding:54px 55px 54px 0;margin-right:-92px;z-index:2}.family-linnenhof .variant-editorial .section-media img{height:700px}.family-linnenhof .type-story.theme-paper,.family-linnenhof .type-menu.theme-paper{background:#0e0e0e}.family-linnenhof .type-story.theme-primary,.family-linnenhof .type-menu.theme-primary{background:var(--site-primary);color:#050505}
.family-linnenhof .type-menu .menu-scene{grid-template-columns:.72fr 1.28fr;gap:clamp(58px,10vw,145px)}.family-linnenhof .type-menu .section-copy{position:sticky;top:135px}.family-linnenhof .menu-category{border-top:1px solid rgb(244 244 244 / 24%);padding-top:25px}.family-linnenhof .menu-category h3{font:400 2.25rem var(--font-heading);letter-spacing:-.025em}.family-linnenhof .menu-category li{padding:20px 0}.family-linnenhof .menu-category li strong{font:500 .91rem "Space Grotesk",sans-serif}.family-linnenhof .menu-category li b{font:400 1.1rem var(--font-heading);color:var(--site-primary)}
.family-linnenhof .hours-scene,.family-linnenhof .reservation-scene{grid-template-columns:.85fr 1.15fr;gap:clamp(55px,10vw,130px)}.family-linnenhof .hours-list{border-top-color:rgb(244 244 244 / 22%)}.family-linnenhof .hours-list div{border-bottom-color:rgb(244 244 244 / 16%);padding:17px 0}.family-linnenhof .reservation-card{background:#111;border:1px solid rgb(193 149 50 / 38%);border-radius:0;box-shadow:none;padding:38px}.family-linnenhof .reservation-input{background:transparent;border-color:rgb(244 244 244 / 25%);color:#f4f4f4}.family-linnenhof .reservation-input:focus{border-color:var(--site-primary)}.family-linnenhof .reservation-submit button{width:100%}
.family-linnenhof .type-reservation.variant-editorial .reservation-card{transform:none}.family-linnenhof .type-reservation.variant-editorial .reservation-scene{align-items:start}.family-linnenhof .type-reservation.variant-editorial .reservation-intro{position:sticky;top:135px}.family-linnenhof .type-reservation.variant-editorial .reservation-card{margin:0;max-width:none}
.family-linnenhof .hero-footnote{position:absolute;left:clamp(23px,6vw,96px);right:clamp(23px,6vw,96px);bottom:31px;display:flex;justify-content:space-between;font:500 .55rem "Space Grotesk",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#f4f4f4;opacity:.65}.family-linnenhof .hero-footnote a{color:var(--site-primary)}
.family-linnenhof .site-footer-editorial{display:block;background:#050505;color:#f4f4f4;border-top:1px solid rgb(244 244 244 / 14%);padding:76px clamp(23px,6vw,96px) 26px}.family-linnenhof .footer-main{max-width:1240px;margin:auto;display:grid;grid-template-columns:1.5fr .7fr .85fr;gap:65px;padding-bottom:62px}.family-linnenhof .footer-wordmark{font:400 clamp(3rem,4.6vw,4.7rem)/.9 var(--font-heading);letter-spacing:-.045em}.family-linnenhof .footer-main h2,.family-linnenhof .footer-identity>p{font:500 .58rem "Space Grotesk",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--site-primary)}.family-linnenhof .footer-links,.family-linnenhof .footer-visit{display:flex;flex-direction:column;align-items:flex-start;gap:14px;font:.78rem "Space Grotesk",sans-serif}.family-linnenhof .footer-bottom{max-width:1240px;margin:auto;padding-top:23px;border-top:1px solid rgb(244 244 244 / 13%);display:flex;justify-content:space-between;gap:20px;font:.58rem "Space Grotesk",sans-serif;letter-spacing:.08em;opacity:.58}
@media(max-width:1000px){.family-linnenhof .site-nav{height:78px;padding:16px 23px}.family-linnenhof .site-section{padding:82px 23px}.family-linnenhof .type-hero{min-height:calc(100svh - 78px);padding-top:82px}.family-linnenhof .type-hero .section-copy{font-size:clamp(4.2rem,14vw,7rem)}.family-linnenhof .section-layout,.family-linnenhof .hours-scene,.family-linnenhof .reservation-scene,.family-linnenhof .type-menu .menu-scene{grid-template-columns:1fr;gap:42px}.family-linnenhof .type-menu .section-copy{position:static}.family-linnenhof .section-media img,.family-linnenhof .variant-editorial .section-media img{height:460px}.family-linnenhof .variant-editorial .section-copy{margin:0;padding:0;background:transparent}.family-linnenhof .reservation-card{padding:27px 20px}.family-linnenhof .footer-main{grid-template-columns:1fr 1fr;gap:42px 25px}.family-linnenhof .footer-identity{grid-column:1/-1}.family-linnenhof .footer-bottom{flex-wrap:wrap}}
