:root{
  --ink:#15130f;
  --ink-soft:#3a362e;
  --paper:#faf6f0;
  --paper-2:#efe7d9;
  --paper-3:#e4dac7;
  --gold:#a9803f;
  --gold-dark:#7c5c2c;
  --gold-btn:#ad8442;
  --gold-btn-hover:#8a6733;
  --sage:#9a9a80;
  --sage-dark:#6c6c55;
  --line: rgba(21,19,15,0.12);
  --line-invert: rgba(250,246,240,0.2);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter', sans-serif;
  background:var(--paper);
  color:var(--ink);
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
.voice, h1, h2, .quote, .logo, .founder-name, .num{font-family:'Fraunces', serif;}
.wrap{max-width:1240px; margin:0 auto; padding:0 40px;}
.kicker{
  font-size:12px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--gold-dark); font-weight:600; display:block; margin-bottom:18px;
}
.kicker.on-dark{color:var(--gold);}
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 32px; font-size:13px; letter-spacing:.08em; text-transform:uppercase;
  font-weight:600; border:1px solid var(--ink); border-radius:999px;
  transition:all .25s ease; cursor:pointer; background:none;
}
.btn:hover{background:var(--ink); color:var(--paper);}
.btn.solid{background:var(--gold-btn); border-color:var(--gold-btn); color:var(--ink);}
.btn.solid:hover{background:var(--gold-btn-hover); border-color:var(--gold-btn-hover); color:var(--ink);}
.btn.ghost-light{
  background:transparent; border-color:rgba(250,246,240,.55); color:#faf6f0;
  position:relative; overflow:hidden; z-index:1;
}
.btn.ghost-light::after{
  content:''; position:absolute; top:0; left:-70%; width:48%; height:100%;
  background:linear-gradient(115deg, transparent 8%, rgba(232,200,138,.95) 50%, transparent 92%);
  transform:skewX(-22deg); opacity:0; pointer-events:none;
}
.btn.ghost-light:hover{color:#faf6f0; border-color:var(--gold-btn);}
.btn.ghost-light:hover::after{animation:shimmer 1s ease forwards;}
@keyframes shimmer{
  0%{left:-70%; opacity:1;}
  100%{left:140%; opacity:0;}
}

/* top bar */
.topbar{background:var(--ink); color:var(--paper-2); font-size:12.5px; letter-spacing:.03em;}
.topbar .wrap{display:flex; justify-content:space-between; align-items:center; height:40px;}
.topbar a:hover{color:var(--gold);}

/* header */
header{
  position:sticky; top:0; z-index:50; background:var(--paper);
  border-bottom:1px solid var(--line);
  transition:padding .3s ease, box-shadow .3s ease;
}
header .wrap{display:flex; align-items:center; justify-content:space-between; height:96px; transition:height .3s ease;}
header.condensed .wrap{height:68px;}
header.condensed{box-shadow:0 6px 24px rgba(21,19,15,.06);}
.logo{font-size:26px; font-style:italic; font-weight:500; letter-spacing:.01em;}
.logo-mark{height:46px; width:auto; display:block; transition:height .3s ease;}
header.condensed .logo-mark{height:34px;}
.logo-mark-footer{height:78px; width:auto; display:block;}
nav.main-nav{display:flex; align-items:center; gap:38px;}
nav.main-nav a{font-size:13px; letter-spacing:.06em; text-transform:uppercase; font-weight:500; position:relative;}
nav.main-nav a::after{content:'';position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--gold-dark);transition:width .25s ease;}
nav.main-nav a:hover::after{width:100%;}
.nav-cta{display:flex; align-items:center; gap:22px;}
.whatsapp-link{display:flex; align-items:center; gap:9px; font-size:13px; font-weight:500; color:var(--ink);}
.whatsapp-link:hover{color:#25D366;}
.wa-icon{width:30px; height:30px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.wa-icon svg{width:15px; height:15px; fill:#fff;}
.burger{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none;}
.burger span{width:26px; height:1.5px; background:var(--ink);}

/* hero */
.hero{position:relative; height:92vh; min-height:640px; display:flex; align-items:flex-end; overflow:hidden;}
.hero.short{height:52vh; min-height:400px;}
.hero img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
.hero::after{content:'';position:absolute; inset:0; background:linear-gradient(180deg, rgba(21,19,15,.15) 0%, rgba(21,19,15,.1) 40%, rgba(21,19,15,.75) 100%); z-index:1;}
.hero-content{position:relative; z-index:2; color:#faf6f0; padding-bottom:80px; width:100%;}
.hero-content .wrap{display:flex; justify-content:space-between; align-items:flex-end; gap:40px;}
.hero-head h1{font-size:clamp(48px,7vw,104px); font-weight:500; line-height:.98; letter-spacing:-.01em;}
.hero.short .hero-head h1{font-size:clamp(38px,5vw,68px);}
.hero-head p{margin-top:22px; font-size:17px; max-width:480px; color:rgba(250,246,240,.85);}
.google-badge{display:inline-flex; align-items:center; gap:10px; font-size:13px; color:rgba(250,246,240,.85);}
.google-badge .stars{color:var(--gold-btn); letter-spacing:2px; font-size:14px;}
.google-badge.on-light{color:var(--ink-soft); margin-top:14px;}
.google-badge.on-light .stars{color:var(--gold-dark);}
.hero-head .google-badge{margin-top:16px;}
.hero-actions{display:flex; flex-direction:column; gap:14px; min-width:220px;}
.kicker-badge{
  display:inline-flex; align-items:center; background:var(--paper); color:var(--gold-dark) !important;
  padding:8px 20px; border-radius:999px; font-size:12px; letter-spacing:.16em; margin-bottom:20px;
  box-shadow:0 10px 24px rgba(21,19,15,.18);
}
.hero-head-frame{
  display:inline-block; background:rgba(250,246,240,.22); border:1px solid rgba(250,246,240,.35);
  border-radius:12px; padding:30px 38px; backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
  box-shadow:0 20px 50px rgba(21,19,15,.12);
}
.hero-head-frame h1{color:var(--ink); text-shadow:0 2px 16px rgba(250,246,240,.7);}
.hero-head-frame p{color:#faf6f0; text-shadow:0 1px 8px rgba(21,19,15,.55);}
.btn.gold-outline{border-color:var(--gold-dark); color:var(--gold-dark);}
.btn.gold-outline:hover{background:var(--gold-dark); color:var(--paper); border-color:var(--gold-dark);}
.scroll-cue{position:absolute; right:40px; bottom:36px; z-index:2; color:#faf6f0; display:flex; align-items:center; gap:12px; font-size:11px; letter-spacing:.2em; text-transform:uppercase;}
.scroll-cue .line{width:1px; height:46px; background:rgba(250,246,240,.5); position:relative; overflow:hidden;}
.scroll-cue .line::after{content:'';position:absolute; top:-100%; left:0; width:100%; height:100%; background:#faf6f0; animation:scrollline 1.8s infinite;}
@keyframes scrollline{0%{top:-100%;}100%{top:100%;}}

/* breadcrumb */
.breadcrumb{position:relative; z-index:2; color:rgba(250,246,240,.7); font-size:12px; letter-spacing:.04em; margin-bottom:14px;}
.breadcrumb a{color:rgba(250,246,240,.9);}
.breadcrumb a:hover{color:var(--gold-btn);}

/* marquee */
.marquee{background:var(--ink); color:var(--paper); overflow:hidden; white-space:nowrap; height:58px; display:flex; align-items:center;}
.marquee-track{display:flex; gap:48px; animation:marquee 32s linear infinite;}
.marquee-track span{font-family:'Fraunces', serif; font-style:italic; font-size:17px; color:var(--paper-2); display:flex; align-items:center; gap:48px;}
.marquee-track span i{font-style:normal; color:var(--gold); font-size:12px;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

section{padding:130px 0;}
.section-tight{padding:100px 0;}

/* team hero */
.team-hero{background:var(--paper); text-align:center;}
.team-head{max-width:560px; margin:0 auto 60px;}
.team-head h2{font-size:clamp(30px,3.4vw,46px); font-weight:500; margin-bottom:14px;}
.team-head p{color:var(--ink-soft); font-size:15px;}
.team-row{display:flex; justify-content:center; padding-top:10px;}
.team-member{position:relative; margin-left:-42px; transition:transform .35s ease;}
.team-member:first-child{margin-left:0;}
.team-photo{width:172px; height:172px; border-radius:50%; overflow:hidden; border:5px solid var(--paper); box-shadow:0 12px 26px rgba(21,19,15,.16); cursor:pointer; background:var(--paper-2); transition:box-shadow .3s ease, border-color .3s ease;}
.team-photo img{width:100%; height:100%; object-fit:cover; filter:grayscale(12%);}
.team-initials{width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-style:italic; font-size:44px; color:var(--paper);}
.ph-1{background:linear-gradient(160deg, var(--sage), var(--sage-dark));}
.ph-2{background:linear-gradient(160deg, var(--gold), var(--gold-dark));}
.ph-3{background:linear-gradient(160deg, #8a8672, var(--ink-soft));}
.ph-4{background:linear-gradient(160deg, var(--gold-dark), var(--ink));}
.team-info{
  position:absolute; left:50%; top:calc(100% + 16px); transform:translateX(-50%) translateY(6px);
  opacity:0; pointer-events:none; white-space:nowrap; background:var(--ink); color:var(--paper);
  padding:11px 20px; border-radius:8px; transition:opacity .25s ease, transform .25s ease; z-index:60;
}
.team-info::before{content:'';position:absolute; top:-5px; left:50%; transform:translateX(-50%); border-width:0 6px 6px 6px; border-style:solid; border-color:transparent transparent var(--ink) transparent;}
.team-name{display:block; font-family:'Fraunces',serif; font-style:italic; font-size:16px;}
.team-role{display:block; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); margin-top:3px;}
.team-member:hover{transform:translateY(-12px); z-index:70 !important;}
.team-member:hover .team-photo{box-shadow:0 20px 36px rgba(21,19,15,.3); border-color:var(--gold-dark);}
.team-member:hover .team-info{opacity:1; transform:translateX(-50%) translateY(0); pointer-events:auto;}
.team-lineup{display:flex; gap:14px; max-width:1080px; margin:0 auto; height:340px;}
.team-tile{position:relative; flex:1 1 0%; min-width:0; height:100%; border-radius:10px; overflow:hidden; cursor:pointer; background:linear-gradient(160deg, var(--sage), var(--sage-dark)); transition:flex-grow .55s cubic-bezier(.2,.8,.2,1);}
.team-tile:hover{flex-grow:4.2;}
.team-tile-base-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.04); transition:filter .5s ease, transform .7s ease;}
.team-tile::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(21,19,15,.05) 40%, rgba(21,19,15,.55) 100%); transition:background .4s ease; z-index:1;}
.team-tile:hover::after{background:rgba(21,19,15,.55);}
.team-tile:hover .team-tile-base-img{filter:brightness(.55); transform:scale(1.1);}
.team-tile-name{position:absolute; left:0; right:0; bottom:16px; text-align:center; color:#faf6f0; font-family:'Fraunces',serif; font-style:italic; font-size:15px; z-index:2; transition:opacity .3s ease; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; padding:0 6px;}
.team-tile:hover .team-tile-name{opacity:0;}
.team-tile-pending{position:absolute; top:50%; left:0; right:0; transform:translateY(-50%); text-align:center; z-index:2; font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:#faf6f0; padding:0 10px; transition:opacity .3s ease;}
.team-tile:hover .team-tile-pending{opacity:0;}
.team-tile-reveal{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:16px; z-index:3; opacity:0; pointer-events:none; transition:opacity .35s ease; padding:0 16px;}
.team-tile:hover .team-tile-reveal{opacity:1; pointer-events:auto;}
.team-tile-circle{width:190px; height:190px; flex:0 0 auto; border-radius:50%; overflow:hidden; transform:scale(.4); transition:transform .55s cubic-bezier(.2,.8,.2,1); box-shadow:0 16px 40px rgba(21,19,15,.4); border:3px solid var(--paper); display:flex; align-items:center; justify-content:center; background:linear-gradient(160deg, var(--gold), var(--gold-dark));}
.team-tile:hover .team-tile-circle{transform:scale(1);}
.team-tile-circle img{width:100%; height:100%; object-fit:cover; display:block;}
.team-tile-circle .team-initials{font-family:'Fraunces',serif; font-style:italic; font-size:34px; color:var(--paper);}
.team-tile-textbox{flex:0 0 auto; width:160px; min-height:150px; background:rgba(250,246,240,.14); border:1px solid rgba(250,246,240,.35); border-radius:12px; backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px); padding:16px; opacity:0; transform:translateX(16px); transition:opacity .35s ease .1s, transform .35s ease .1s;}
.team-tile:hover .team-tile-textbox{opacity:1; transform:translateX(0);}
.team-tile-textbox .name{display:block; font-family:'Fraunces',serif; font-style:italic; font-size:17px; color:#faf6f0;}
.team-tile-textbox .role{display:block; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); margin-top:4px;}
.team-tile-textbox .role-sub{display:block; font-size:9.5px; letter-spacing:.06em; color:rgba(250,246,240,.7); margin-top:3px;}
.team-tile-base-img.img-zoom{transform:scale(1.15); object-position:center 30%;}
.team-tile:hover .team-tile-base-img.img-zoom{transform:scale(1.2); object-position:center 30%;}
.team-tile-circle img.img-zoom{transform:scale(1.05); object-position:center 30%;}
.team-tile-base-img.img-zoom.img-zoom-down{object-position:center 40%;}
.team-tile:hover .team-tile-base-img.img-zoom.img-zoom-down{object-position:center 40%;}
.team-tile-circle img.img-zoom.img-zoom-down{object-position:center 40%;}
.team-tile-base-img.img-zoom-sm{transform:scale(1.22);}
.team-tile:hover .team-tile-base-img.img-zoom-sm{transform:scale(1.28);}
.team-tile-circle img.img-zoom-sm{transform:scale(1.15);}
.team-tile.ph-1{background:linear-gradient(160deg, var(--sage), var(--sage-dark));}
.team-tile.ph-2{background:linear-gradient(160deg, var(--gold), var(--gold-dark));}
.team-tile.ph-3{background:linear-gradient(160deg, #8a8672, var(--ink-soft));}
.team-tile.ph-4{background:linear-gradient(160deg, var(--gold-dark), var(--ink));}
.team-accordion{margin:64px auto 0; max-width:560px; border-top:1px solid var(--line);}
.accordion-toggle{width:100%; display:flex; align-items:center; justify-content:center; gap:16px; background:none; border:none; cursor:pointer; padding:28px 0;}
.accordion-toggle .kicker{margin-bottom:0;}
.accordion-icon{width:28px; height:28px; border-radius:50%; border:1px solid var(--ink); display:flex; align-items:center; justify-content:center; font-size:16px; line-height:1; flex-shrink:0; transition:transform .3s ease;}
.accordion-toggle[aria-expanded="true"] .accordion-icon{transform:rotate(45deg);}
.accordion-panel{max-height:0; overflow:hidden; transition:max-height .4s ease;}
.accordion-panel-inner{padding-bottom:48px; text-align:center;}
.accordion-panel-inner h3{font-family:'Fraunces',serif; font-style:italic; font-weight:500; font-size:26px; margin-bottom:12px;}
.accordion-panel-inner p{font-size:14.5px; color:var(--ink-soft); margin-bottom:26px; max-width:460px; margin-left:auto; margin-right:auto;}

/* brand / origin section */
.brand-section{background:var(--paper-2); position:relative; padding-bottom:170px;}
.brand-section::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:110px; background:var(--paper);
  clip-path:polygon(0 100%, 100% 0, 100% 100%);
}
.brand-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:80px; align-items:center;}
.brand-grid h2{font-size:clamp(32px,3.6vw,50px); font-weight:500; line-height:1.12; margin-bottom:26px;}
.brand-grid p{font-size:16px; color:var(--ink-soft); max-width:480px; margin-bottom:16px;}
.brand-link{margin-top:22px; display:inline-flex; align-items:center; gap:10px; font-weight:600; font-size:13px; letter-spacing:.06em; text-transform:uppercase; border-bottom:1px solid var(--ink); padding-bottom:4px;}
.founder-stack{display:flex; align-items:flex-end; gap:24px;}
.founder-card{position:relative; flex:1 1 0; min-width:0; border-radius:4px; overflow:hidden; box-shadow:0 20px 40px rgba(21,19,15,.18); background:var(--paper);}
.founder-card img{height:280px; object-fit:cover; width:100%; filter:grayscale(15%);}
.founder-tag{padding:14px 16px; display:flex; justify-content:space-between; align-items:center;}
.founder-name{font-size:16px; font-style:italic;}
.founder-role{font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--sage-dark);}
.fc-1{margin-bottom:0;}
.fc-3{margin-bottom:56px;}

/* pillars */
.pillars{background:var(--ink); color:var(--paper);}
.pillars .wrap > .kicker{color:var(--gold); text-align:center; margin-bottom:8px;}
.pillars h2{font-family:'Fraunces',serif; text-align:center; font-size:clamp(30px,3.4vw,44px); font-weight:500; margin-bottom:70px; color:var(--paper);}
.pillar-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line-invert);}
.pillar{background:var(--ink); padding:0 34px 0 0;}
.pillar-inner{padding-right:20px;}
.num{font-size:15px; color:var(--gold); display:block; margin-bottom:22px;}
.pillar h3{font-size:20px; font-weight:500; margin-bottom:14px; font-family:'Fraunces',serif;}
.pillar p{font-size:14px; color:rgba(250,246,240,.68);}

/* vision quote */
.vision{text-align:center; background:var(--paper);}
.vision blockquote{font-family:'Fraunces',serif; font-style:italic; font-weight:400; font-size:clamp(26px,3.6vw,46px); line-height:1.3; max-width:900px; margin:0 auto 30px; color:var(--ink);}
.vision cite{font-style:normal; font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-dark); font-weight:600;}

/* kollektionen */
.kollektionen{background:var(--paper);}
.kol-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:56px; gap:40px;}
.kol-head h2{font-size:clamp(32px,3.6vw,48px); font-weight:500; max-width:560px; line-height:1.15;}
.kol-head p{max-width:340px; color:var(--ink-soft); font-size:15px;}
.kol-group{margin-top:56px;}
.kol-group:first-of-type{margin-top:8px;}
.kol-group-head{display:flex; align-items:baseline; gap:16px; margin-bottom:24px;}
.kol-group-head .kicker{margin-bottom:0;}
.kol-group-head h3{font-family:'Fraunces',serif; font-style:italic; font-weight:500; font-size:22px; color:var(--ink);}
.kol-grid{display:grid; gap:20px;}
.kol-grid-2{grid-template-columns:repeat(2, minmax(0,1fr));}
.kol-grid-3{grid-template-columns:repeat(3, minmax(0,1fr));}
.kol-card{background:var(--paper-2); border-radius:6px; overflow:hidden; display:flex; flex-direction:column; padding:20px 20px 22px; transition:box-shadow .3s ease, transform .3s ease;}
a.kol-card-link{display:block;}
a.kol-card-link:hover .kol-card{box-shadow:0 16px 32px rgba(21,19,15,.14); transform:translateY(-4px);}
.kol-card-img{position:relative; border-radius:4px; overflow:hidden; aspect-ratio:4/3; margin-bottom:16px;}
.kol-card-img img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease; display:block;}
a.kol-card-link:hover .kol-card-img img{transform:scale(1.06);}
.kol-card-body h4{font-family:'Fraunces',serif; font-style:italic; font-weight:500; font-size:19px; margin-bottom:8px; color:var(--ink);}
.kol-card-body p{font-size:13px; color:var(--ink-soft); line-height:1.5; margin-bottom:16px;}
.kol-floors{display:grid; gap:10px; margin-bottom:14px;}
.kol-floors.single{grid-template-columns:1fr;}
.kol-floors.double{grid-template-columns:1fr 1fr;}
.kol-floor{position:relative; border-radius:4px; overflow:hidden; aspect-ratio:4/3;}
.kol-floor img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease; display:block;}
.kol-card:hover .kol-floor img{transform:scale(1.06);}
.kol-floor::after{content:'';position:absolute; inset:0; background:linear-gradient(180deg, rgba(21,19,15,0) 50%, rgba(21,19,15,.8) 100%);}
.kol-floor-label{position:absolute; left:10px; right:10px; bottom:8px; z-index:1; color:#faf6f0;}
.kol-floor-label .fno{font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); display:block;}
.kol-floor-label .fname{font-family:'Fraunces',serif; font-style:italic; font-size:12.5px; line-height:1.25; display:block;}
.kol-tags{display:flex; flex-wrap:wrap; gap:6px; margin-top:auto;}
.kol-tags span{font-size:10.5px; letter-spacing:.02em; color:var(--ink-soft); background:var(--paper); border:1px solid var(--line); border-radius:20px; padding:4px 10px;}
.kol-tags span.more{color:var(--sage-dark); border-style:dashed;}
.kol-cta{margin-top:16px; font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:600; color:var(--ink); display:inline-flex; align-items:center; gap:8px;}
.kol-cta i{font-style:normal; transition:transform .25s ease;}
a.kol-card-link:hover .kol-cta i{transform:translateX(4px);}

.kol-teaser-grid{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; margin-bottom:40px;}
.kol-teaser{position:relative; border-radius:6px; overflow:hidden; aspect-ratio:4/5; display:block;}
.kol-teaser img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease; display:block;}
.kol-teaser:hover img{transform:scale(1.06);}
.kol-teaser::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(21,19,15,0) 45%, rgba(21,19,15,.82) 100%);}
.kol-teaser-label{position:absolute; left:24px; right:24px; bottom:22px; color:#faf6f0; z-index:1;}
.kol-teaser-label .kicker{color:var(--gold); margin-bottom:6px;}
.kol-teaser-label h4{font-family:'Fraunces',serif; font-style:italic; font-weight:500; font-size:23px; margin-bottom:8px;}
.kol-teaser-label .kol-teaser-link{font-size:11px; letter-spacing:.1em; text-transform:uppercase; font-weight:600; display:inline-flex; align-items:center; gap:8px; color:#faf6f0;}
.kol-teaser-label .kol-teaser-link i{font-style:normal; transition:transform .25s ease;}
.kol-teaser:hover .kol-teaser-link i{transform:translateX(4px);}
.kol-all-link{text-align:center;}

/* referenzen */
.referenzen{background:var(--paper-2);}
.ref-head{margin-bottom:50px; display:flex; justify-content:space-between; align-items:flex-end; gap:30px;}
.ref-head h2{font-size:clamp(32px,3.6vw,48px); font-weight:500; max-width:600px;}
.ref-head .ref-sub{font-size:15px; color:var(--ink-soft); max-width:460px; margin-top:12px;}
.ref-scroll{display:flex; gap:22px; overflow-x:auto; padding-bottom:20px; scroll-snap-type:x mandatory; -ms-overflow-style:none; scrollbar-width:none;}
.ref-scroll::-webkit-scrollbar{display:none;}
.ref-card{position:relative; min-width:340px; height:440px; border-radius:3px; overflow:hidden; scroll-snap-align:start; flex-shrink:0;}
.ref-card img{width:100%; height:100%; object-fit:cover;}
.ref-card::before{content:'';position:absolute; inset:0; background:linear-gradient(180deg, rgba(21,19,15,0) 55%, rgba(21,19,15,.85) 100%);}
.ref-tag{position:absolute; left:22px; bottom:20px; right:22px; color:#faf6f0;}
.ref-tag .place{font-family:'Fraunces',serif; font-style:italic; font-size:19px;}
.ref-tag .type{font-size:11.5px; letter-spacing:.06em; color:rgba(250,246,240,.75); margin-top:4px;}
.quote-card{min-width:340px; height:440px; background:var(--ink); color:var(--paper); border-radius:3px; padding:40px 34px; display:flex; flex-direction:column; justify-content:space-between; flex-shrink:0; scroll-snap-align:start;}
.quote-card p{font-family:'Fraunces',serif; font-style:italic; font-size:22px; line-height:1.4;}
.quote-card .who{font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold);}

.review-marquee-wrap{
  margin-top:56px; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.review-track{display:flex; gap:20px; width:max-content; animation:reviewmarquee 600s linear infinite;}
.review-track:hover{animation-play-state:paused;}
@keyframes reviewmarquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.review-card{
  width:300px; flex-shrink:0; background:var(--paper); border:1px solid var(--line); border-radius:8px; padding:26px 24px;
  display:flex; flex-direction:column;
}
.review-card .stars{color:var(--gold-dark); font-size:13px; letter-spacing:2px; margin-bottom:12px;}
.review-card p{font-size:14px; color:var(--ink-soft); line-height:1.55; margin-bottom:16px; min-height:84px;}
.review-card .reviewer{font-family:'Fraunces',serif; font-style:italic; font-size:15px; color:var(--ink);}
.review-card .review-meta{font-size:11px; color:var(--sage-dark); letter-spacing:.04em; margin-top:2px;}

/* Referenzen gallery page */
.ref-masonry{column-count:3; column-gap:16px; max-width:1160px; margin:0 auto;}
.ref-masonry a{display:block; margin-bottom:16px; border-radius:6px; overflow:hidden; break-inside:avoid;}
.ref-masonry img{width:100%; display:block; transition:transform .5s ease;}
.ref-masonry a:hover img{transform:scale(1.05);}
@media (max-width:980px){ .ref-masonry{column-count:2;} }
@media (max-width:640px){ .ref-masonry{column-count:1;} }

/* Dienstleistung page */
.service-block{padding:86px 0;}
.service-block.alt{background:var(--paper-2);}
.service-head{max-width:720px; margin:0 auto 34px;}
.service-head .num{margin-bottom:16px;}
.service-head h2{font-family:'Fraunces',serif; font-weight:500; font-size:clamp(28px,3.2vw,40px); margin-bottom:16px; color:var(--ink);}
.service-head p{font-size:15.5px; color:var(--ink-soft); line-height:1.75; margin-bottom:24px;}
.service-gallery{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px;}
.service-gallery img{width:100%; height:260px; object-fit:cover; border-radius:6px; display:block; transition:transform .5s ease;}
.service-gallery a{display:block; overflow:hidden; border-radius:6px;}
.service-gallery a:hover img{transform:scale(1.06);}
.service-closing{text-align:center; max-width:560px; margin:0 auto;}
.service-closing h2{font-family:'Fraunces',serif; font-weight:500; font-size:clamp(28px,3.2vw,40px); margin-bottom:18px; color:var(--paper);}
.service-closing p{font-size:15px; color:rgba(250,246,240,.75); margin-bottom:30px;}
@media (max-width:980px){
  .service-gallery{grid-template-columns:1fr 1fr;}
  .service-gallery a:nth-child(3){display:none;}
}
@media (max-width:640px){
  .service-gallery{grid-template-columns:1fr;}
  .service-gallery a:nth-child(3){display:block;}
}

/* story / Unsere Geschichte page */
.legal-content{max-width:640px; margin:0 auto; padding:10px 0 40px;}
.legal-content .legal-lead{font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-dark); margin-bottom:34px;}
.legal-content h3{font-size:16px; font-weight:600; color:var(--ink); margin:32px 0 8px;}
.legal-content h3:first-of-type{margin-top:0;}
.legal-content p{font-size:15px; color:var(--ink-soft); line-height:1.7;}
.legal-content a{color:var(--ink); border-bottom:1px solid var(--line);}
.story-intro{max-width:720px; margin:0 auto 76px; text-align:center;}
.story-intro p{font-size:16px; color:var(--ink-soft); margin-bottom:14px;}
.story-timeline{max-width:760px; margin:0 auto 20px; position:relative; padding-left:36px; border-left:2px solid var(--line);}
.timeline-item{position:relative; padding-bottom:46px;}
.timeline-item:last-child{padding-bottom:0;}
.timeline-item::before{content:''; position:absolute; left:-43px; top:5px; width:13px; height:13px; border-radius:50%; background:var(--gold-dark); border:3px solid var(--paper);}
.timeline-year{font-family:'Fraunces',serif; font-style:italic; font-size:20px; color:var(--gold-dark); display:block; margin-bottom:6px;}
.timeline-item h3{font-size:17px; font-weight:600; margin-bottom:8px; color:var(--ink);}
.timeline-item p{font-size:14px; color:var(--ink-soft); line-height:1.6;}
.founder-profiles{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:50px; max-width:780px; margin:0 auto;}
.founder-profile{text-align:center;}
.founder-profile img{width:150px; height:150px; border-radius:50%; object-fit:cover; margin:0 auto 22px; filter:grayscale(12%); box-shadow:0 12px 26px rgba(21,19,15,.14);}
.founder-profile h3{font-family:'Fraunces',serif; font-style:italic; font-weight:500; font-size:22px; margin-bottom:4px; color:var(--ink);}
.founder-profile .role{font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-dark); display:block; margin-bottom:18px;}
.founder-profile blockquote{font-size:14px; color:var(--ink-soft); line-height:1.65; font-style:italic;}
.story-vision{max-width:760px; margin:0 auto;}
.story-vision h2{font-family:'Fraunces',serif; font-weight:500; font-size:clamp(28px,3.2vw,42px); margin-bottom:28px; color:var(--ink);}
.story-vision p{font-size:15.5px; color:var(--ink-soft); line-height:1.75; margin-bottom:20px;}
.story-vision-closing{font-family:'Fraunces',serif; font-style:italic; font-size:19px; color:var(--ink) !important; margin-top:10px;}
.story-cta{text-align:center; max-width:560px; margin:0 auto;}
.story-cta h2{font-family:'Fraunces',serif; font-weight:500; font-size:clamp(28px,3.2vw,40px); margin-bottom:18px; color:var(--ink);}
.story-cta p{font-size:15px; color:var(--ink-soft); margin-bottom:30px;}
.story-section-head{text-align:center; max-width:640px; margin:0 auto 56px;}
.story-section-head h2{font-family:'Fraunces',serif; font-weight:500; font-size:clamp(28px,3.2vw,40px); color:var(--ink);}
.story-section-head.on-dark h2{color:var(--paper);}
.story-section-head .kicker{display:block; text-align:center;}

/* floor / collection detail pages */
.floor-intro{max-width:760px; margin-bottom:54px;}
.floor-intro h1{font-size:clamp(32px,4vw,52px); font-weight:500; margin-bottom:18px;}
.floor-intro p{font-size:16px; color:var(--ink-soft); line-height:1.7;}
.floor-grid{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:26px;}
.floor-card{background:var(--paper-2); border-radius:6px; overflow:hidden; display:flex; flex-direction:column;}
.floor-card-img{aspect-ratio:4/3; overflow:hidden;}
.floor-card-img img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease; display:block;}
.floor-card:hover .floor-card-img img{transform:scale(1.06);}
.floor-card-body{padding:20px 22px 24px; display:flex; flex-direction:column; flex:1;}
.floor-card-body .fno{font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-dark); display:block; margin-bottom:6px;}
.floor-card-body h3{font-family:'Fraunces',serif; font-style:italic; font-weight:500; font-size:19px; margin-bottom:10px;}
.floor-card-body .fspec{font-size:12px; color:var(--sage-dark); margin-bottom:16px; line-height:1.5;}
.floor-dl{display:flex; flex-direction:column; gap:8px; margin-top:auto;}
.floor-dl a{font-size:11.5px; font-weight:600; color:var(--ink); display:inline-flex; align-items:center; gap:6px; border-bottom:1px solid var(--line); padding-bottom:2px; width:fit-content;}
.floor-dl a:hover{color:var(--gold-dark); border-color:var(--gold-dark);}
.floor-back{margin-bottom:40px; display:inline-flex; align-items:center; gap:8px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; font-weight:600; color:var(--ink-soft);}
.floor-back:hover{color:var(--gold-dark);}
.floor-card[data-title]{cursor:pointer;}
.floor-group{margin:0 0 44px;}
.floor-group-head{display:flex; align-items:baseline; gap:14px; margin-bottom:22px;}
.floor-group-head .kicker{margin-bottom:0;}
.floor-group-head h2{font-family:'Fraunces',serif; font-style:italic; font-weight:500; font-size:24px; color:var(--ink);}

/* floor detail modal */
.floor-modal .modal-box{max-width:980px; grid-template-columns:1fr 1.05fr;}
.floor-modal .modal-media{background:var(--paper-2); display:flex; align-items:center; justify-content:center; min-height:320px; position:relative;}
.floor-modal .modal-media img{position:static; width:100%; height:100%; object-fit:contain; padding:26px;}
.floor-modal .modal-body{overflow-y:auto;}
.floor-fno{font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-dark); font-weight:600; display:block; margin-bottom:16px;}
.floor-modal-spec{font-size:13px; color:var(--sage-dark); margin:16px 0 22px; line-height:1.65;}
.floor-modal-dl{display:flex; flex-direction:column; gap:10px; margin-top:6px;}
.floor-modal-dl a{display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:var(--ink); border-bottom:1px solid var(--line); padding-bottom:3px; width:fit-content;}
.floor-modal-dl a:hover{color:var(--gold-dark); border-color:var(--gold-dark);}
@media (max-width:980px){
  .floor-modal .modal-box{grid-template-columns:1fr;}
  .floor-modal .modal-media{min-height:220px;}
}

/* contact cta */
.contact-cta{background:var(--ink); color:var(--paper);}
.cta-grid{display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start;}
.cta-grid h2{font-size:clamp(34px,4vw,54px); font-weight:500; line-height:1.1; margin-bottom:20px; font-family:'Fraunces',serif;}
.cta-grid > div:first-child p{color:rgba(250,246,240,.72); font-size:16px; max-width:420px; margin-bottom:34px;}
.contact-detail{display:flex; align-items:center; gap:16px; padding:18px 0; border-bottom:1px solid var(--line-invert);}
.contact-detail:first-of-type{border-top:1px solid var(--line-invert);}
.contact-detail .label{font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); width:110px; flex-shrink:0;}
.contact-detail .val{font-size:16px;}
.form-field{margin-bottom:18px;}
.form-field label{display:block; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:rgba(250,246,240,.6); margin-bottom:8px;}
.form-field input, .form-field textarea{
  width:100%; background:transparent; border:none; border-bottom:1px solid var(--line-invert);
  color:#faf6f0; font-family:'Inter',sans-serif; font-size:15px; padding:10px 2px; outline:none;
}
.form-field textarea{resize:none; height:70px;}
.form-field input::placeholder, .form-field textarea::placeholder{color:rgba(250,246,240,.35);}

/* footer */
footer{background:var(--paper-2); padding:60px 0 30px;}
.footer-top{display:flex; justify-content:space-between; align-items:flex-start; padding-bottom:44px; border-bottom:1px solid var(--line); gap:40px; flex-wrap:wrap;}
.footer-nav{display:flex; gap:40px; flex-wrap:wrap;}
.footer-col h4{font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--sage-dark); margin-bottom:14px;}
.footer-col a{display:block; font-size:14px; margin-bottom:9px; color:var(--ink-soft);}
.footer-col a:hover{color:var(--gold-dark);}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:26px; font-size:12.5px; color:var(--sage-dark); flex-wrap:wrap; gap:12px;}

.reveal{opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

/* image lightbox */
.lightbox-overlay{position:fixed; inset:0; background:rgba(21,19,15,.92); z-index:300; display:none; align-items:center; justify-content:center; padding:24px;}
.lightbox-overlay.open{display:flex;}
.lightbox-overlay img{max-width:100%; max-height:90vh; border-radius:4px; display:block; box-shadow:0 30px 70px rgba(0,0,0,.4);}
.lightbox-close{position:absolute; top:20px; right:20px; width:42px; height:42px; border-radius:50%; background:rgba(250,246,240,.14); border:1px solid rgba(250,246,240,.35); color:#faf6f0; font-size:22px; line-height:1; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:2;}
.lightbox-close:hover{background:rgba(250,246,240,.28);}

/* consult modal */
.modal-overlay{position:fixed; inset:0; background:rgba(21,19,15,.62); z-index:200; display:none; align-items:center; justify-content:center; padding:24px;}
.modal-overlay.open{display:flex;}
.modal-box{background:var(--paper); border-radius:12px; max-width:960px; width:100%; max-height:90vh; overflow-y:auto; position:relative; display:grid; grid-template-columns:1fr 1.15fr;}
.modal-close{position:absolute; top:16px; right:16px; width:36px; height:36px; border-radius:50%; border:1px solid var(--line); background:var(--paper); display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:2; font-size:20px; line-height:1; color:var(--ink);}
.modal-close:hover{background:var(--ink); color:var(--paper); border-color:var(--ink);}
.modal-media{position:relative; min-height:280px;}
.modal-media img{width:100%; height:100%; object-fit:cover; position:absolute; inset:0;}
.modal-media .modal-standort{position:absolute; left:0; right:0; bottom:0; background:linear-gradient(180deg, rgba(21,19,15,0), rgba(21,19,15,.85)); color:var(--paper); padding:18px 20px; font-size:12.5px; z-index:1;}
.modal-body{padding:52px 44px;}
.modal-body h2{font-size:clamp(24px,2.6vw,30px); font-weight:500; margin-bottom:16px; line-height:1.16;}
.modal-body p{font-size:14.5px; color:var(--ink-soft); margin-bottom:12px;}
.modal-phone{display:block; font-family:'Fraunces',serif; font-style:italic; font-size:30px; color:var(--gold-dark); margin:18px 0 26px;}
.modal-sub{font-size:15px; font-weight:600; margin-bottom:18px; color:var(--ink);}
.mf-field{margin-bottom:16px;}
.mf-field label{display:block; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--sage-dark); margin-bottom:7px;}
.mf-field input, .mf-field textarea{width:100%; border:none; border-bottom:1px solid var(--line); background:transparent; font-family:'Inter',sans-serif; font-size:14.5px; padding:9px 2px; outline:none; color:var(--ink);}
.mf-field input:focus, .mf-field textarea:focus{border-color:var(--gold-dark);}
.mf-field textarea{resize:none; height:64px;}
.mf-row{display:flex; gap:16px;}
.mf-row .mf-field{flex:1;}

@media (max-width:980px){
  .wrap{padding:0 24px;}
  header .wrap{flex-wrap:wrap;}
  header.nav-open .wrap{height:auto; padding-top:20px; padding-bottom:4px;}
  header.nav-open{background:var(--paper); box-shadow:0 16px 30px rgba(21,19,15,.14);}
  .burger{display:flex; order:3; z-index:5;}
  header.nav-open .burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
  header.nav-open .burger span:nth-child(2){opacity:0;}
  header.nav-open .burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
  nav.main-nav{
    display:none; width:100%; order:4; flex-direction:column; align-items:stretch; gap:0;
    padding-top:10px; margin-top:16px; border-top:1px solid var(--line);
  }
  nav.main-nav a{padding:15px 2px; border-bottom:1px solid var(--line); font-size:14.5px;}
  nav.main-nav a::after{display:none;}
  .nav-cta{
    display:none; width:100%; order:5; flex-direction:column; align-items:stretch; gap:12px;
    padding:18px 0 22px;
  }
  .nav-cta .btn{width:100%; justify-content:center;}
  .whatsapp-link{width:100%; justify-content:center; padding:12px 0;}
  header.nav-open nav.main-nav, header.nav-open .nav-cta{display:flex;}
  .hero-content .wrap{flex-direction:column; align-items:flex-start; gap:28px;}
  .hero-actions{min-width:0; width:100%;}
  .hero-actions .btn{width:100%; justify-content:center;}
  .brand-grid{grid-template-columns:1fr; gap:60px;}
  .founder-stack{margin:0 auto; max-width:400px;}
  .fc-3{margin-bottom:0;}
  .pillar-grid{grid-template-columns:1fr 1fr;}
  .kol-grid-2{grid-template-columns:1fr;}
  .kol-grid-3{grid-template-columns:1fr 1fr;}
  .kol-teaser-grid{grid-template-columns:1fr;}
  .floor-grid{grid-template-columns:1fr 1fr;}
  .cta-grid{grid-template-columns:1fr; gap:50px;}
  .kol-head, .ref-head{flex-direction:column; align-items:flex-start;}
  .modal-box{grid-template-columns:1fr; max-height:92vh;}
  .modal-media{min-height:180px;}
  .modal-body{padding:36px 26px;}
  .mf-row{flex-direction:column; gap:0;}
  .team-row{overflow-x:auto; justify-content:flex-start; padding:10px 6px 30px;}
  .team-member{margin-left:-26px;}
  .team-photo{width:112px; height:112px; border-width:3px;}
  .team-initials{font-size:30px;}
  .team-lineup{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); height:auto; max-width:none;}
  .team-tile{flex:none; aspect-ratio:9/16; height:auto;}
  .team-tile:hover{flex-grow:1;}
  .team-tile-reveal{flex-direction:column; gap:8px; padding:0 10px;}
  .team-tile-circle{width:56%; height:auto; aspect-ratio:1/1;}
  .team-tile-circle .team-initials{font-size:22px;}
  .team-tile-textbox{width:92%; min-height:auto; padding:8px 10px;}
}
@media (max-width:640px){
  .floor-grid{grid-template-columns:1fr;}
  .founder-profiles{grid-template-columns:1fr; gap:34px; max-width:240px;}
  .pillar-grid{grid-template-columns:1fr;}
  .pillar{padding:0 0 28px;}
  .kol-grid-3{grid-template-columns:1fr;}
  .team-lineup{grid-template-columns:repeat(2, minmax(0,1fr));}
}
