:root{
  --plaster:#E7DECD; --plaster-2:#DCD1BC; --bone:#F5F0E6; --ink:#241B12;
  --walnut:#7A5535; --wood:#C49A6A; --orange:#CF4A22; --teal:#2F5E5B;
  --line:rgba(36,27,18,.16); --shadow:0 18px 50px -18px rgba(36,27,18,.45);
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--plaster);color:var(--ink);
  font-family:'Hanken Grotesk',system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}
.wrap{max-width:1200px;margin:0 auto;padding:22px 20px 72px}
a{color:inherit}

header{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.mark{font-family:'Bricolage Grotesque';font-weight:800;font-size:20px;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}
.mark .d{width:11px;height:11px;border-radius:50%;background:var(--orange);display:inline-block}
.mark small{font-family:'Space Mono';font-weight:400;font-size:11px;letter-spacing:.18em;text-transform:uppercase;opacity:.55}
.rooms{display:flex;gap:6px;flex-wrap:wrap}
.rooms button{font-family:'Space Mono';font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid var(--line);background:transparent;color:var(--ink);padding:8px 13px;border-radius:999px;cursor:pointer;transition:.18s}
.rooms button.active{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.rooms button[disabled]{opacity:.4;cursor:not-allowed}

.lead{font-family:'Bricolage Grotesque';font-weight:600;font-size:clamp(22px,3.6vw,34px);line-height:1.12;letter-spacing:-.015em;max-width:18ch;margin:6px 0 4px}
.lead em{font-style:normal;color:var(--orange)}
.sub{font-size:14px;opacity:.7;max-width:48ch;margin-bottom:18px}

.stage-shell{position:relative;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(36,27,18,.1)}
.stage{position:relative;width:100%;aspect-ratio:1600/1066;display:block}
.stage svg{position:absolute;inset:0;width:100%;height:100%}
.stage-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

.hs{position:absolute;transform:translate(-50%,-50%);border:none;background:none;cursor:pointer;padding:0;z-index:3}
.hs .pin{display:block;border-radius:50%;background:var(--bone);border:2px solid var(--ink);box-shadow:0 4px 12px rgba(36,27,18,.35);transition:transform .18s}
.hs[data-tier="A"] .pin{width:15px;height:15px}
.hs[data-tier="B"] .pin{width:21px;height:21px}
.hs[data-tier="C"] .pin{width:28px;height:28px;background:var(--orange);border-color:var(--bone)}
.hs::after{content:"";position:absolute;left:50%;top:50%;width:100%;height:100%;border-radius:50%;border:1.5px solid var(--orange);transform:translate(-50%,-50%);animation:ring 2.4s ease-out infinite;opacity:0}
.hs[data-tier="C"]::after{border-color:var(--bone)}
@keyframes ring{0%{width:14px;height:14px;opacity:.7}100%{width:54px;height:54px;opacity:0}}
.hs:hover .pin,.hs:focus-visible .pin{transform:scale(1.25)}
.hs:focus-visible{outline:none}
.hs:focus-visible .pin{box-shadow:0 0 0 4px rgba(207,74,34,.45)}
.hs .tip{position:absolute;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%);white-space:nowrap;
  font-family:'Space Mono';font-size:10px;letter-spacing:.1em;text-transform:uppercase;background:var(--ink);color:var(--bone);
  padding:5px 9px;border-radius:6px;opacity:0;pointer-events:none;transition:.16s}
.hs:hover .tip,.hs:focus-visible .tip{opacity:1}

.legend{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-top:16px;font-family:'Space Mono';font-size:11px;letter-spacing:.04em;opacity:.78}
.legend span{display:inline-flex;align-items:center;gap:8px}
.legend i{display:inline-block;border-radius:50%;background:var(--bone);border:2px solid var(--ink)}
.legend .a{width:11px;height:11px}.legend .b{width:16px;height:16px}.legend .c{width:21px;height:21px;background:var(--orange);border-color:var(--ink)}

/* catalog */
.cat-head{margin:54px 0 18px;display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:26px}
.cat-head h2{font-family:'Bricolage Grotesque';font-weight:700;font-size:24px;letter-spacing:-.02em;margin:0}
.cat-head p{margin:0;font-size:13px;opacity:.6}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.card{background:var(--bone);border-radius:14px;overflow:hidden;border:1px solid rgba(36,27,18,.1);cursor:pointer;transition:transform .18s,box-shadow .18s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card-img{aspect-ratio:4/3;overflow:hidden;background:var(--plaster-2)}
.card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.card:hover .card-img img{transform:scale(1.05)}
.card-b{padding:14px 15px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.card-cat{font-family:'Space Mono';font-size:10px;letter-spacing:.1em;text-transform:uppercase;opacity:.55}
.card-name{font-family:'Bricolage Grotesque';font-weight:600;font-size:16px;line-height:1.15;letter-spacing:-.01em}
.card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px}
.card-price{font-family:'Space Mono';font-weight:700;font-size:14px}
.tag{font-family:'Space Mono';font-size:9px;letter-spacing:.12em;text-transform:uppercase;padding:3px 7px;border-radius:999px;border:1px solid var(--line)}
.tag.A{background:var(--teal);color:var(--bone);border-color:var(--teal)}
.tag.B{background:var(--plaster-2)}
.tag.C{background:var(--orange);color:var(--bone);border-color:var(--orange)}

/* panel */
.scrim{position:fixed;inset:0;background:rgba(36,27,18,.42);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:.25s;z-index:40}
.scrim.open{opacity:1;pointer-events:auto}
.panel{position:fixed;top:0;right:0;height:100%;width:min(430px,92vw);background:var(--bone);
  box-shadow:-24px 0 60px -20px rgba(36,27,18,.5);transform:translateX(105%);transition:transform .32s cubic-bezier(.4,0,.1,1);z-index:50;display:flex;flex-direction:column}
.panel.open{transform:translateX(0)}
@media(prefers-reduced-motion:reduce){.panel{transition:none}.hs::after{animation:none}.card,.card-img img{transition:none}}
.panel-media{position:relative;aspect-ratio:4/3;background:var(--plaster-2);overflow:hidden;flex:none}
.panel-media img{width:100%;height:100%;object-fit:cover;display:block}
.panel .close{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:none;background:rgba(245,240,230,.92);color:var(--ink);font-size:18px;cursor:pointer;z-index:2;box-shadow:0 4px 12px rgba(0,0,0,.18)}
.panel-body{padding:24px 26px 26px;overflow:auto}
.badge{font-family:'Space Mono';font-size:10px;letter-spacing:.16em;text-transform:uppercase;display:inline-block;padding:5px 10px;border-radius:999px;border:1px solid var(--line);margin-bottom:14px}
.badge.A{background:var(--teal);color:var(--bone);border-color:var(--teal)}
.badge.B{background:var(--plaster-2)}
.badge.C{background:var(--orange);color:var(--bone);border-color:var(--orange)}
.eyebrow{font-family:'Space Mono';font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.55;margin:0 0 4px}
.pname{font-family:'Bricolage Grotesque';font-weight:700;font-size:27px;line-height:1.08;letter-spacing:-.02em;margin:0 0 16px}
.spec{border-top:1px solid var(--line);padding:9px 0;display:flex;justify-content:space-between;gap:14px;font-size:13.5px}
.spec dt{font-family:'Space Mono';font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;opacity:.55}
.spec dd{margin:0;text-align:right;font-weight:500}
.story{font-size:14px;line-height:1.6;margin:16px 0 18px;opacity:.85}
.price{font-family:'Space Mono';font-weight:700;font-size:25px;margin:2px 0}
.price small{font-family:'Hanken Grotesk';font-weight:400;font-size:12px;opacity:.55;letter-spacing:0}
.cta{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.cta a,.cta button{flex:1;min-width:130px;text-align:center;text-decoration:none;font-family:'Hanken Grotesk';font-weight:600;font-size:14px;padding:13px 16px;border-radius:10px;cursor:pointer;border:1px solid var(--ink);transition:.16s}
.cta .primary{background:var(--ink);color:var(--bone)}
.cta .primary:hover{background:var(--orange);border-color:var(--orange)}
.cta .ghost{background:transparent;color:var(--ink)}
.cta .ghost:hover{background:var(--plaster-2)}
.note{font-size:11px;opacity:.5;margin-top:14px;font-family:'Space Mono';letter-spacing:.02em}

footer{margin-top:40px;border-top:1px solid var(--line);padding-top:18px;font-size:12px;opacity:.55}

/* ---- header tabs (Showroom / Antiekmarkt) ---- */
.head-left{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.tabs{display:flex;gap:4px}
.tab{font-family:'Space Mono';font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  border:none;background:transparent;color:var(--ink);opacity:.55;padding:8px 12px;border-radius:999px;cursor:pointer;transition:.18s;position:relative}
.tab:hover{opacity:.9}
.tab.active{opacity:1;background:var(--ink);color:var(--bone)}

/* ---- antiekmarkt (inspiration) ---- */
.eyebrow-big{font-family:'Space Mono';font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin:6px 0 2px}
.sub.wide{max-width:60ch}
.insp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:26px 0 8px}
.insp{background:var(--bone);border:1px solid rgba(36,27,18,.1);border-radius:14px;padding:22px 22px 24px;position:relative}
.insp-no{font-family:'Space Mono';font-size:12px;letter-spacing:.1em;color:var(--orange);opacity:.85}
.insp h3{font-family:'Bricolage Grotesque';font-weight:700;font-size:19px;letter-spacing:-.01em;margin:10px 0 8px;line-height:1.1}
.insp p{font-size:14px;line-height:1.6;opacity:.85;margin:0}
.insp-foot{margin-top:26px;font-size:15px}
.link-btn{font:inherit;color:var(--orange);background:none;border:none;cursor:pointer;padding:0;font-weight:600}
.link-btn:hover{text-decoration:underline}
