:root{--n:#071d34;--n2:#0c355c;--g:#f7b718;--ink:#142033;--soft:#f4f5f6;--line:#d9dee5}*{box-sizing:border-box}body{margin:0;font:16px/1.55 'Segoe UI',Arial,sans-serif;color:var(--ink)}a{color:inherit}.wrap{width:min(1160px,calc(100% - 36px));margin:auto}.top{background:var(--n);color:#fff;position:sticky;top:0;z-index:5}.nav{min-height:74px;display:flex;align-items:center;gap:24px}.brand{margin-right:auto;text-decoration:none;font-size:25px;font-weight:800}.brand small{display:block;color:var(--g);font-size:10px;letter-spacing:2px}.nav nav{display:flex;gap:18px}.nav nav a{text-decoration:none;font-size:14px}.nav nav a:hover{color:var(--g)}.gp{width:82px;background:#fff}.hero{min-height:555px;display:grid;align-items:center;color:#fff;background:linear-gradient(90deg,#031222ed,#031222aa 44%,#03122210 76%),url('assets/aussen.jpeg') center/cover}.hero h1{font-size:clamp(54px,8vw,88px);line-height:.9;margin:10px 0 18px;font-style:italic}.hero h1 span{display:block;color:var(--g)}.hero p{font-size:20px;max-width:610px}.eyebrow{letter-spacing:4px;text-transform:uppercase;font-size:13px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.btn{padding:13px 19px;border-radius:6px;text-decoration:none;font-weight:800;border:1px solid #fff8}.primary{background:var(--g);color:#111;border-color:var(--g)}.secondary{background:var(--n);color:#fff}.features{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.feature{padding:25px;border-right:1px solid var(--line)}.feature:last-child{border:0}.feature b{display:block;color:var(--n)}.feature span{font-size:14px;color:#596675}.section{padding:68px 0}.alt{background:var(--soft)}h2{font-size:38px;line-height:1.1;color:var(--n);margin:0 0 12px}.lead{font-size:18px;max-width:780px;color:#4b5968}.gallery,.equipment{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.card,.equip{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.card img{width:100%;height:275px;object-fit:cover}.card div,.equip{padding:18px}.card h3,.equip h3{margin:0 0 6px;color:var(--n)}.pagehead{background:linear-gradient(120deg,var(--n),var(--n2));color:#fff;padding:65px 0}.pagehead h1{font-size:48px;margin:0}.notice{background:#fff4d1;border-left:5px solid var(--g);padding:18px 20px;margin:24px 0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:35px}.info{background:var(--n);color:#fff;padding:28px;border-radius:8px}.footer{background:var(--n);color:#dfe7ef;padding:35px 0 18px}.foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:25px}.footer h3{color:#fff}.footer a{color:#dfe7ef}.legal{border-top:1px solid #ffffff22;margin-top:25px;padding-top:15px;font-size:13px}.prose{max-width:880px}.prose h2{margin-top:34px}@media(max-width:820px){.nav nav{display:none}.features,.gallery,.equipment,.contact,.foot{grid-template-columns:1fr}.feature{border-right:0;border-bottom:1px solid var(--line)}.gp{width:68px}}

/* Original logo files are shown through proportional windows, without redrawing. */
.brand{display:block;flex-shrink:0;line-height:1}
.heidis-logo{display:block;position:relative;overflow:hidden;width:132px;aspect-ratio:1320 / 683}
.heidis-logo img{position:absolute;display:block;width:155.151515%;height:auto;max-width:none;left:-27.80303%;top:0}
.gp{display:block;position:relative;overflow:hidden;flex-shrink:0;width:92px;aspect-ratio:650 / 480;background:transparent}
.gp img{position:absolute;display:block;width:315.076923%;height:auto;max-width:none;left:-202.461538%;top:-23.75%}
.construction-notice{background:var(--g);color:var(--n);font-size:14px;line-height:1.45;padding:8px 0;border-bottom:1px solid #071d341a}
@media(max-width:820px){.nav{gap:16px}.gp{width:78px}.construction-notice{font-size:13px}}
@media(max-width:380px){.pagehead h1{overflow-wrap:anywhere}}
@media(max-width:380px){.hero h1{font-size:clamp(40px,14.4vw,54px)}.contact>*{min-width:0}.info{overflow-wrap:anywhere}}

.prose{overflow-wrap:anywhere}

.hero .hero-brand{width:min(480px,100%);margin:16px 0 18px;line-height:1}.hero-brand .heidis-logo{width:100%}

.footer-logo{display:flex;justify-content:flex-end;margin-top:18px}.footer-logo img{display:block;width:min(340px,100%);height:auto}

.opening-hours{margin:24px 0}.opening-hours h3{margin:0 0 10px}.opening-hours dl{margin:0}.opening-hours dl>div{display:grid;grid-template-columns:1fr 1.25fr;gap:12px;padding:6px 0;border-bottom:1px solid #ffffff22}.opening-hours dt{font-weight:600}.opening-hours dd{margin:0}@media(max-width:420px){.opening-hours dl>div{grid-template-columns:1fr;gap:0}}
