/* ============================================================
   EAST-SIDE-MALLORCA — Designsystem
   Eine Marke der Tier-1-capital GmbH · eastsidemallorca.com
   Dark-Luxury: Gold #C4A96A auf #100E0C · Cormorant Garamond + Jost
   ============================================================ */

/* ---------- Fonts (selbst gehostet, DSGVO-konform) ---------- */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 500;font-display:swap;src:url(/assets/fonts/cormorant-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 500;font-display:swap;src:url(/assets/fonts/cormorant-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113;}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300 400;font-display:swap;src:url(/assets/fonts/cormorant-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD;}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300 400;font-display:swap;src:url(/assets/fonts/cormorant-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113;}
@font-face{font-family:'Jost';font-style:normal;font-weight:200 400;font-display:swap;src:url(/assets/fonts/jost-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD;}
@font-face{font-family:'Jost';font-style:normal;font-weight:200 400;font-display:swap;src:url(/assets/fonts/jost-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113;}

/* ---------- Basis ---------- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
:root{
  --gold:#C4A96A;--gold-dim:#9E8650;--gold-pale:rgba(196,169,106,.15);
  --ivory:#F0EBE1;--ivory-dim:rgba(240,235,225,.74);
  --dark:#100E0C;--dark1:#181410;--dark2:#201C17;--dark3:#28231D;
  --muted:#A39C8E;--border:rgba(196,169,106,.18);
  --px:clamp(20px,5vw,80px);
}
body{font-family:'Jost',sans-serif;font-weight:300;background:var(--dark);color:var(--ivory);overflow-x:hidden;width:100%;}
::selection{background:var(--gold);color:var(--dark);}
img{display:block;}
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:8000;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");opacity:.025;mix-blend-mode:overlay;}

/* Eigener Cursor nur auf Geräten mit feinem Zeiger */
#cur,#curl{display:none;}
@media (hover:hover) and (pointer:fine){
  body{cursor:none;}
  body a,body button,body input,body textarea,body select,body label{cursor:none;}
  #cur{display:block;position:fixed;width:7px;height:7px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);}
  #curl{display:block;position:fixed;width:34px;height:34px;border:1px solid rgba(196,169,106,.4);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:left .32s cubic-bezier(.23,1,.32,1),top .32s cubic-bezier(.23,1,.32,1);}
}

/* Scroll-Fortschritt */
#progress{position:fixed;top:0;left:0;height:2px;width:0;background:linear-gradient(to right,var(--gold-dim),var(--gold));z-index:7000;}

/* ---------- Navigation ---------- */
nav{position:fixed;top:0;left:0;width:100%;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:26px var(--px);}
nav::before{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(16,14,12,.95) 0%,transparent 100%);backdrop-filter:blur(10px);z-index:-1;}
.logo{display:flex;align-items:center;gap:14px;text-decoration:none;flex-shrink:0;}
.logo-signet{width:40px;height:40px;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;}
.logo-signet::before{content:'';position:absolute;inset:5px;border:1px solid rgba(196,169,106,.28);}
.logo-signet svg{width:17px;height:17px;position:relative;z-index:1;}
.logo-wordmark{line-height:1.15;}
.logo-name{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:300;letter-spacing:.48em;text-transform:uppercase;color:var(--ivory);display:block;white-space:nowrap;}
.logo-sub{font-size:12px;font-weight:300;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);opacity:.85;display:block;margin-top:2px;}
.nav-right{display:flex;align-items:center;gap:28px;}
.lang-row{display:flex;gap:10px;}
.lang-btn{background:none;border:none;font-family:'Jost',sans-serif;font-size:15px;font-weight:300;letter-spacing:.18em;color:var(--ivory);opacity:.3;transition:opacity .3s;line-height:1;padding:4px 2px;}
.lang-btn.active,.lang-btn:hover{opacity:1;}
.lang-btn.active{color:var(--gold);border-bottom:1px solid var(--gold-dim);}
.burger{width:38px;height:38px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:7px;background:none;border:none;padding:2px;}
.burger span{display:block;height:1px;background:var(--ivory);transition:all .4s cubic-bezier(.23,1,.32,1);}
.burger span:nth-child(1){width:28px;}
.burger span:nth-child(2){width:18px;}
.burger span:nth-child(3){width:23px;}
.burger:hover span,.burger.open span{background:var(--gold);}
.burger.open span:nth-child(1){width:26px;transform:translateY(8px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;width:0;}
.burger.open span:nth-child(3){width:26px;transform:translateY(-8px) rotate(-45deg);}

/* ---------- Menü-Overlay ---------- */
.menu-ov{position:fixed;inset:0;z-index:400;display:grid;grid-template-columns:1fr 1fr;clip-path:inset(0 0 100% 0);transition:clip-path .7s cubic-bezier(.77,0,.18,1);pointer-events:none;background:var(--dark1);}
.menu-ov.open{clip-path:inset(0 0 0% 0);pointer-events:all;}
.menu-left{padding:110px var(--px) 72px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--border);overflow-y:auto;}
.menu-lbl-sm{font-size:13.5px;letter-spacing:.44em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:38px;}
.menu-links{list-style:none;display:flex;flex-direction:column;gap:4px;}
.menu-links li{overflow:hidden;}
.ml{font-family:'Cormorant Garamond',serif;font-size:clamp(38.4px,5.5vw,69.6px);font-weight:300;color:var(--ivory);text-decoration:none;display:block;line-height:1.16;opacity:0;transform:translateY(36px);transition:opacity .45s ease,transform .45s ease,color .3s,padding-left .35s;}
.menu-ov.open .ml{opacity:1;transform:translateY(0);}
.menu-ov.open li:nth-child(1) .ml{transition-delay:.16s;}
.menu-ov.open li:nth-child(2) .ml{transition-delay:.24s;}
.menu-ov.open li:nth-child(3) .ml{transition-delay:.32s;}
.menu-ov.open li:nth-child(4) .ml{transition-delay:.40s;}
.menu-ov.open li:nth-child(5) .ml{transition-delay:.48s;}
.menu-ov.open li:nth-child(6) .ml{transition-delay:.56s;}
.menu-ov.open li:nth-child(7) .ml{transition-delay:.64s;}
.ml:hover{color:var(--gold);padding-left:14px;}
.ml em{font-style:italic;color:var(--gold);}
.menu-right{padding:110px var(--px) 72px;display:flex;flex-direction:column;justify-content:space-between;gap:28px;}
.menu-img-wrap{position:relative;overflow:hidden;width:100%;aspect-ratio:16/10;}
.menu-img-wrap img{width:100%;height:100%;object-fit:cover;filter:brightness(1.0) saturate(.95);transition:transform 8s ease;}
.menu-ov.open .menu-img-wrap img{transform:scale(1.05);}
.menu-img-wrap::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(16,14,12,.82) 0%,transparent 60%);}
.menu-img-cap{position:absolute;bottom:22px;left:24px;z-index:2;}
.menu-img-tag{font-size:13.5px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:5px;}
.menu-img-name{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:300;color:var(--ivory);}
.menu-contact-block{padding-top:28px;border-top:1px solid var(--border);}
.menu-c-lbl{font-size:13.5px;letter-spacing:.38em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:8px;}
.menu-c-val{font-family:'Cormorant Garamond',serif;font-size:25.5px;font-weight:300;color:var(--ivory);}
.menu-c-val a{color:var(--ivory);text-decoration:none;}
.menu-c-val a:hover{color:var(--gold);}
@media(max-width:860px){.menu-ov{grid-template-columns:1fr;}.menu-right{display:none;}.menu-left{border-right:none;}}

/* ---------- Hero (Startseite) ---------- */
.hero{width:100%;height:100vh;min-height:640px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:0 var(--px) 68px;}
.hero-slides{position:absolute;inset:0;}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.8s ease;}
.hero-slide.active{opacity:1;}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:brightness(.88) saturate(.95);}
.hero-slides::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(16,14,12,.82) 0%,rgba(16,14,12,.18) 42%,transparent 68%),linear-gradient(to right,rgba(16,14,12,.28) 0%,transparent 55%);}
.hero-wm{position:absolute;z-index:2;right:-1%;top:50%;transform:translateY(-50%);font-family:'Cormorant Garamond',serif;font-size:clamp(108px,16.8vw,240px);font-weight:300;letter-spacing:.07em;text-transform:uppercase;color:rgba(196,169,106,.048);white-space:nowrap;pointer-events:none;line-height:1;user-select:none;}
.hero::before{content:'';position:absolute;left:var(--px);top:18%;bottom:18%;width:1px;background:linear-gradient(to bottom,transparent,var(--gold),transparent);opacity:.28;z-index:3;}
.hero-content{position:relative;z-index:4;}
.hero-eye{font-size:13.5px;font-weight:300;letter-spacing:.48em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;display:flex;align-items:center;gap:18px;}
.hero-eye::before{content:'';width:42px;height:1px;background:var(--gold);flex-shrink:0;}
.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(43.2px,6.6vw,91.2px);font-weight:300;line-height:.98;}
.hero-title em{font-style:italic;color:var(--gold);}
.hero-foot{display:flex;justify-content:space-between;align-items:flex-end;margin-top:46px;flex-wrap:wrap;gap:28px;}
.hero-claim{max-width:480px;font-family:'Cormorant Garamond',serif;font-size:clamp(27px,3vw,39px);font-weight:300;line-height:1.65;color:var(--ivory);letter-spacing:.02em;font-style:italic;}
.hero-stats{display:flex;gap:44px;flex-shrink:0;}
.hs-n{font-family:'Cormorant Garamond',serif;font-size:59.4px;font-weight:300;color:var(--ivory);line-height:1;}
.hs-l{font-size:13.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-dim);margin-top:4px;}
.hero-dots{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:4;display:flex;gap:13px;align-items:center;}
.hdot{height:1px;background:rgba(240,235,225,.2);transition:background .4s,width .4s;width:18px;}
.hdot.active{background:var(--gold);width:36px;}

/* ---------- Sektionen ---------- */
.sec{width:100%;padding:108px var(--px);}
.sec-lbl{font-size:12.8px;font-weight:300;letter-spacing:.46em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:15px;margin-bottom:10px;}
.sec-lbl::before{content:'';width:30px;height:1px;background:var(--gold);flex-shrink:0;}
.sec-h{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4.8vw,62.4px);font-weight:300;line-height:1.1;}
.sec-h em{font-style:italic;color:var(--gold);}
.row-between{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;}
.lg{font-size:13.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(196,169,106,.26);padding-bottom:3px;transition:border-color .3s;white-space:nowrap;}
.lg:hover{border-color:var(--gold);}
.gold-top{border-top:1px solid rgba(196,169,106,.12);}

/* ---------- Vision ---------- */
.vision{background:var(--dark1);position:relative;overflow:hidden;}
.vis-wm{position:absolute;right:-1%;top:50%;transform:translateY(-50%);font-family:'Cormorant Garamond',serif;font-size:17vw;font-weight:300;color:rgba(196,169,106,.032);white-space:nowrap;pointer-events:none;letter-spacing:.06em;line-height:1;user-select:none;}
.vis-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;margin-top:56px;}
@media(max-width:760px){.vis-grid{grid-template-columns:1fr;gap:36px;}}
.vis-body{font-size:20.2px;line-height:2;color:var(--ivory-dim);padding-top:6px;}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-top:1px solid var(--border);}
@media(max-width:680px){.pillars{grid-template-columns:1fr;}}
.pillar{padding:38px 28px;border-right:1px solid var(--border);}
.pillar:last-child{border-right:none;}
@media(max-width:680px){.pillar{border-right:none;border-bottom:1px solid var(--border);}}
.p-num{font-family:'Cormorant Garamond',serif;font-size:16.5px;letter-spacing:.2em;color:var(--gold);margin-bottom:18px;}
.p-rule{width:20px;height:1px;background:var(--gold);margin-bottom:18px;}
.p-title{font-size:13.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ivory);margin-bottom:10px;font-weight:300;}
.p-body{font-size:19.5px;line-height:1.9;color:rgba(240,235,225,.7);}

/* ---------- Über uns ---------- */
.about{background:var(--dark2);position:relative;overflow:hidden;}
.about-wm{position:absolute;left:-1%;top:50%;transform:translateY(-50%);font-family:'Cormorant Garamond',serif;font-size:16vw;font-weight:300;color:rgba(196,169,106,.028);white-space:nowrap;pointer-events:none;letter-spacing:.06em;line-height:1;user-select:none;}
.about-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;align-items:start;margin-top:56px;}
@media(max-width:780px){.about-grid{grid-template-columns:1fr;gap:40px;}}
.about-sticky{position:sticky;top:120px;}
.about-locs{display:flex;flex-direction:column;gap:10px;margin-top:32px;}
.about-loc{display:flex;align-items:center;gap:14px;font-size:13.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);}
.about-loc::before{content:'';width:20px;height:1px;background:var(--gold);flex-shrink:0;}
.about-loc.active{color:var(--ivory);}
.about-body{display:flex;flex-direction:column;}
.about-block{padding:32px 0;border-bottom:1px solid var(--border);}
.about-block:first-child{padding-top:0;}
.about-block-lbl{font-size:13.5px;letter-spacing:.42em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:flex;align-items:center;gap:11px;}
.about-block-lbl::before{content:'';width:18px;height:1px;background:var(--gold);}
.about-block-text{font-size:20.2px;line-height:2;color:var(--ivory-dim);}
.about-block-text strong{color:var(--ivory);font-weight:300;}
.about-mag{background:var(--dark3);border:1px solid var(--border);padding:32px;position:relative;overflow:hidden;margin-top:32px;}
.about-mag::before{content:'';position:absolute;top:0;left:0;width:2px;height:100%;background:linear-gradient(to bottom,var(--gold),transparent);}
.about-mag-tag{font-size:13.5px;letter-spacing:.44em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.about-mag-title{font-family:'Cormorant Garamond',serif;font-size:33px;font-weight:300;color:var(--ivory);line-height:1.3;margin-bottom:12px;}
.about-mag-body{font-size:18.8px;line-height:1.9;color:var(--ivory-dim);}
.about-mag-freq{display:inline-flex;align-items:center;gap:10px;margin-top:18px;font-size:13.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);}
.about-mag-freq::before{content:'';width:24px;height:1px;background:var(--gold);}

/* ---------- Portfolio (Startseite) ---------- */
.properties{background:var(--dark);}
.prop-feat{position:relative;overflow:hidden;width:100%;height:78vh;min-height:500px;margin-bottom:3px;display:block;text-decoration:none;}
.prop-feat img{width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:brightness(.90) saturate(.95);transition:transform 1.3s cubic-bezier(.23,1,.32,1);}
.prop-feat:hover img{transform:scale(1.03);}
.prop-feat::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(16,14,12,.72) 0%,rgba(16,14,12,.08) 45%,transparent 100%);}
.prop-feat::before{content:'';position:absolute;z-index:3;bottom:48px;right:var(--px);width:65px;height:65px;border-right:1px solid rgba(196,169,106,.32);border-bottom:1px solid rgba(196,169,106,.32);}
.prop-info{position:absolute;bottom:0;left:0;right:0;padding:44px var(--px);z-index:4;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;}
.prop-tag{font-size:13.5px;letter-spacing:.42em;text-transform:uppercase;color:var(--gold);margin-bottom:9px;}
.prop-tag .badge-done{color:var(--dark);background:var(--gold);padding:3px 9px;letter-spacing:.3em;margin-left:8px;}
.prop-name{font-family:'Cormorant Garamond',serif;font-size:clamp(31.2px,4.8vw,62.4px);font-weight:300;color:var(--ivory);line-height:1;margin-bottom:5px;}
.prop-loc{font-size:17.2px;font-weight:300;letter-spacing:.1em;color:rgba(240,235,225,.66);}
.prop-specs{display:flex;flex-direction:column;gap:8px;align-items:flex-end;opacity:0;transform:translateY(10px);transition:opacity .5s,transform .5s;}
.prop-feat:hover .prop-specs,.prop-card:hover .prop-specs{opacity:1;transform:translateY(0);}
.prop-spec{font-size:13.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(240,235,225,.65);display:flex;align-items:center;gap:9px;}
.prop-spec::before{content:'';width:12px;height:1px;background:var(--gold);flex-shrink:0;}
.prop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;}
@media(max-width:900px){.prop-grid{grid-template-columns:1fr;}}
.prop-card{position:relative;overflow:hidden;aspect-ratio:3/3.6;display:block;text-decoration:none;}
.prop-card img{width:100%;height:100%;object-fit:cover;filter:brightness(.88) saturate(.95);transition:transform 1.2s cubic-bezier(.23,1,.32,1);}
.prop-card:hover img{transform:scale(1.04);}
.prop-card .prop-info{padding:30px 26px;}
.prop-card .prop-name{font-size:clamp(29.7px,3vw,40.5px);}

/* ---------- Unterseiten: Seitenkopf ---------- */
.ph{position:relative;width:100%;height:72vh;min-height:480px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:0 var(--px) 60px;}
.ph.ph-low{height:54vh;min-height:380px;}
.ph img.ph-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:brightness(.82) saturate(.95);}
.ph::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(16,14,12,.92) 0%,rgba(16,14,12,.25) 45%,rgba(16,14,12,.15) 100%);}
.ph-content{position:relative;z-index:4;}
.ph-eye{font-size:13.5px;font-weight:300;letter-spacing:.48em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;display:flex;align-items:center;gap:18px;}
.ph-eye::before{content:'';width:42px;height:1px;background:var(--gold);flex-shrink:0;}
.ph-title{font-family:'Cormorant Garamond',serif;font-size:clamp(40.8px,6vw,81.6px);font-weight:300;line-height:1.02;}
.ph-title em{font-style:italic;color:var(--gold);}
.ph-sub{margin-top:16px;font-size:16.5px;letter-spacing:.14em;color:rgba(240,235,225,.5);max-width:560px;line-height:1.9;}
.crumbs{position:absolute;top:96px;left:var(--px);z-index:5;font-size:13.5px;letter-spacing:.3em;text-transform:uppercase;color:rgba(240,235,225,.45);}
.crumbs a{color:rgba(240,235,225,.45);text-decoration:none;transition:color .3s;}
.crumbs a:hover{color:var(--gold);}
.crumbs span{color:var(--gold-dim);margin:0 8px;}

/* ---------- Fakten-Leiste (Projektseiten) ---------- */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--dark1);}
.fact{padding:30px 24px;border-right:1px solid var(--border);}
.fact:last-child{border-right:none;}
.fact-l{font-size:13.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:8px;}
.fact-v{font-family:'Cormorant Garamond',serif;font-size:31.5px;font-weight:300;color:var(--ivory);}
.fact-v small{font-size:18px;color:var(--ivory-dim);}

/* ---------- Projekt: Erzähltext ---------- */
.narrative{max-width:860px;}
.narrative p{font-size:21.8px;line-height:2;color:var(--ivory-dim);margin-bottom:22px;}
.narrative p strong{color:var(--ivory);font-weight:300;}
.narrative .lead{font-family:'Cormorant Garamond',serif;font-size:clamp(28.5px,3.3vw,37.5px);line-height:1.7;color:var(--ivory);font-style:italic;margin-bottom:30px;}

/* ---------- Galerie ---------- */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:52px;}
@media(max-width:860px){.gal{grid-template-columns:repeat(2,1fr);}}
@media(max-width:540px){.gal{grid-template-columns:1fr;}}
.gal-item{position:relative;overflow:hidden;aspect-ratio:4/3;border:none;padding:0;background:var(--dark2);}
.gal-item.tall{grid-row:span 2;aspect-ratio:auto;}
.gal-item.wide{grid-column:span 2;aspect-ratio:auto;}
@media(max-width:540px){.gal-item.wide{grid-column:span 1;}}
.gal-item img{width:100%;height:100%;object-fit:cover;filter:brightness(.9) saturate(.96);transition:transform 1.1s cubic-bezier(.23,1,.32,1),filter .4s;}
.gal-item:hover img{transform:scale(1.045);filter:brightness(1) saturate(1);}
.gal-item::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(16,14,12,.35),transparent 45%);opacity:0;transition:opacity .4s;}
.gal-item:hover::after{opacity:1;}
.gal-cap{position:absolute;left:18px;bottom:14px;z-index:2;font-size:13.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--ivory);opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s;}
.gal-item:hover .gal-cap{opacity:1;transform:translateY(0);}

/* ---------- Bautagebuch-Timeline ---------- */
.bt{position:relative;margin-top:64px;padding-left:34px;}
.bt::before{content:'';position:absolute;left:0;top:6px;bottom:6px;width:1px;background:linear-gradient(to bottom,var(--gold),rgba(196,169,106,.08));}
.bt-entry{position:relative;padding:0 0 64px 34px;}
.bt-entry:last-child{padding-bottom:0;}
.bt-entry::before{content:'';position:absolute;left:-37px;top:5px;width:7px;height:7px;background:var(--dark);border:1px solid var(--gold);transform:rotate(45deg);}
.bt-entry.current::before{background:var(--gold);}
.bt-date{font-size:12.8px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
.bt-h{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,3.6vw,42px);font-weight:300;color:var(--ivory);margin-bottom:12px;line-height:1.25;}
.bt-text{font-size:19.5px;line-height:1.95;color:var(--ivory-dim);max-width:640px;margin-bottom:20px;}
.bt-imgs{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;max-width:860px;}
@media(max-width:640px){.bt-imgs{grid-template-columns:repeat(2,1fr);}}
.bt-imgs .gal-item{aspect-ratio:4/3;}
.bt-next{margin-top:14px;display:inline-flex;align-items:center;gap:10px;font-size:12.8px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-dim);}
.bt-next::before{content:'';width:18px;height:1px;background:var(--gold-dim);}

/* ---------- Status-Band (im Bau etc.) ---------- */
.status-band{display:flex;align-items:center;gap:26px;flex-wrap:wrap;background:var(--dark2);border:1px solid var(--border);padding:26px 30px;margin-top:48px;}
.status-dot{width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 rgba(196,169,106,.5);animation:pulse 2.4s infinite;flex-shrink:0;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(196,169,106,.45);}70%{box-shadow:0 0 0 12px rgba(196,169,106,0);}100%{box-shadow:0 0 0 0 rgba(196,169,106,0);}}
.status-text{font-size:16.5px;letter-spacing:.16em;color:var(--ivory);text-transform:uppercase;}
.status-text small{display:block;font-size:13.5px;color:var(--ivory-dim);letter-spacing:.1em;text-transform:none;margin-top:4px;}

/* ---------- Mikrosite-CTA (Porto Colom) ---------- */
.micro-cta{position:relative;overflow:hidden;margin-top:64px;border:1px solid var(--border);}
.micro-cta img{width:100%;height:340px;object-fit:cover;filter:brightness(.55) saturate(.9);transition:transform 6s ease,filter .6s;}
.micro-cta:hover img{transform:scale(1.04);filter:brightness(.65);}
.micro-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 24px;}
.micro-tag{font-size:13.5px;letter-spacing:.44em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.micro-h{font-family:'Cormorant Garamond',serif;font-size:clamp(32.4px,4.6vw,54px);font-weight:300;color:var(--ivory);margin-bottom:26px;}
.micro-h em{font-style:italic;color:var(--gold);}

/* ---------- Region / Karte ---------- */
.region{background:var(--dark1);position:relative;overflow:hidden;}
.region-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;margin-top:56px;}
@media(max-width:860px){.region-grid{grid-template-columns:1fr;gap:44px;}}
.region-body{font-size:20.2px;line-height:2.05;color:var(--ivory-dim);}
.region-body strong{color:var(--ivory);font-weight:300;}
.map-wrap{position:relative;}
.map-wrap svg{width:100%;height:auto;display:block;}
.map-pt{cursor:pointer;}
.map-lbl{font-family:'Jost',sans-serif;font-size:9.6px;letter-spacing:.18em;text-transform:uppercase;fill:rgba(240,235,225,.78);}
.map-lbl.dim{fill:rgba(240,235,225,.32);}
.map-note{margin-top:18px;font-size:12.8px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-dim);display:flex;align-items:center;gap:12px;}
.map-note::before{content:'';width:22px;height:1px;background:var(--gold-dim);}

/* ---------- Magazin: Karten ---------- */
.editorial{background:var(--dark);}
.mag-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;margin-top:52px;}
@media(max-width:760px){.mag-grid{grid-template-columns:1fr;}}
.mag-card{position:relative;overflow:hidden;aspect-ratio:16/10;display:block;text-decoration:none;}
.mag-card.mag-wide{grid-column:span 2;aspect-ratio:21/9;}
@media(max-width:760px){.mag-card.mag-wide{grid-column:span 1;aspect-ratio:16/10;}}
.mag-card img{width:100%;height:100%;object-fit:cover;filter:brightness(.72) saturate(.92);transition:transform 1.4s cubic-bezier(.23,1,.32,1),filter .5s;}
.mag-card:hover img{transform:scale(1.045);filter:brightness(.85) saturate(1);}
.mag-card::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(16,14,12,.86) 0%,rgba(16,14,12,.12) 55%,transparent 100%);}
.mag-body{position:absolute;left:0;right:0;bottom:0;padding:30px 32px;z-index:3;}
.mag-cat{font-size:13.5px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
.mag-title{font-family:'Cormorant Garamond',serif;font-size:clamp(27px,3.2vw,43.2px);font-weight:300;color:var(--ivory);line-height:1.22;max-width:640px;}
.mag-card.mag-wide .mag-title{font-size:clamp(32.4px,4.3vw,56.7px);}
.mag-meta{margin-top:10px;font-size:14.2px;letter-spacing:.2em;text-transform:uppercase;color:rgba(240,235,225,.62);}

/* ---------- Artikel-Layout ---------- */
.art{max-width:780px;margin:0 auto;padding:88px var(--px) 40px;}
.art-head{text-align:center;margin-bottom:56px;}
.art-cat{font-size:13.5px;letter-spacing:.46em;text-transform:uppercase;color:var(--gold);margin-bottom:22px;}
.art-title{font-family:'Cormorant Garamond',serif;font-size:clamp(38.4px,6vw,69.6px);font-weight:300;line-height:1.08;}
.art-title em{font-style:italic;color:var(--gold);}
.art-meta{margin-top:22px;font-size:13.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);}
.art-rule{width:1px;height:54px;background:linear-gradient(to bottom,var(--gold),transparent);margin:36px auto 0;opacity:.5;}
.art p{font-size:24px;line-height:1.95;color:rgba(240,235,225,.86);margin-bottom:26px;}
.art p strong{color:var(--ivory);font-weight:300;}
.art p.lead{font-family:'Cormorant Garamond',serif;font-size:clamp(28.5px,3.4vw,36px);line-height:1.75;color:var(--ivory);font-style:italic;}
.art p.drop::first-letter{font-family:'Cormorant Garamond',serif;font-size:76.8px;line-height:.8;color:var(--gold);float:left;padding:8px 12px 0 0;font-style:normal;}
.art h2{font-family:'Cormorant Garamond',serif;font-size:clamp(31.1px,3.8vw,43.2px);font-weight:300;line-height:1.25;color:var(--ivory);margin:52px 0 20px;}
.art h2 em{font-style:italic;color:var(--gold);}
.art h2 .h2-num{font-size:19.5px;letter-spacing:.22em;color:var(--gold);display:block;margin-bottom:8px;}
.pull{border-left:1px solid var(--gold);padding:8px 0 8px 30px;margin:44px 0;font-family:'Cormorant Garamond',serif;font-size:clamp(30px,3.6vw,39px);font-style:italic;line-height:1.6;color:var(--ivory);}
.art-img{margin:46px calc(-1 * clamp(0px,6vw,110px)) 46px;}
.art-img img{width:100%;height:auto;filter:brightness(.92);}
.art-img figcaption{margin-top:12px;font-size:12.8px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);text-align:center;}
.art-sources{margin-top:56px;padding-top:26px;border-top:1px solid var(--border);}
.art-sources .s-lbl{font-size:13.5px;letter-spacing:.36em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:12px;}
.art-sources p{font-size:17.2px;line-height:1.95;color:var(--muted);margin-bottom:4px;word-break:break-all;}
.art-sources a{color:var(--muted);}
.art-next{display:grid;grid-template-columns:1fr 1fr;gap:3px;max-width:1100px;margin:30px auto 0;padding:0 var(--px) 100px;}
@media(max-width:680px){.art-next{grid-template-columns:1fr;}}

/* ---------- Grundstück verkaufen ---------- */
.sell-steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:60px;border-top:1px solid var(--border);}
@media(max-width:900px){.sell-steps{grid-template-columns:repeat(2,1fr);}}
@media(max-width:540px){.sell-steps{grid-template-columns:1fr;}}
.sell-step{padding:36px 26px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);}
.sell-step:last-child{border-right:none;}
.sell-num{font-family:'Cormorant Garamond',serif;font-size:40.5px;font-weight:300;color:var(--gold);margin-bottom:16px;}
.sell-t{font-size:14.2px;letter-spacing:.24em;text-transform:uppercase;color:var(--ivory);margin-bottom:10px;font-weight:300;}
.sell-b{font-size:19.5px;line-height:1.92;color:rgba(240,235,225,.7);}
.sell-want{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:56px;align-items:start;}
@media(max-width:780px){.sell-want{grid-template-columns:1fr;gap:36px;}}
.want-list{list-style:none;display:flex;flex-direction:column;}
.want-list li{padding:20px 0;border-bottom:1px solid var(--border);display:flex;gap:18px;align-items:baseline;font-size:19.5px;line-height:1.8;color:var(--ivory-dim);}
.want-list li::before{content:'—';color:var(--gold);flex-shrink:0;}
.want-list li strong{color:var(--ivory);font-weight:300;}

/* ---------- Kontakt & Formular ---------- */
.contact{background:var(--dark1);text-align:center;position:relative;overflow:hidden;padding:130px var(--px);}
.contact::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,rgba(196,169,106,.052) 0%,transparent 64%);}
.contact .sec-lbl{justify-content:center;position:relative;z-index:1;}
.contact-h{font-family:'Cormorant Garamond',serif;font-size:clamp(48px,7.8vw,103.2px);font-weight:300;line-height:1.06;margin:18px 0 50px;position:relative;z-index:1;}
.contact-h em{font-style:italic;color:var(--gold);}
.btn-g{display:inline-flex;align-items:center;gap:16px;padding:19px 54px;border:1px solid var(--gold);font-size:13.5px;letter-spacing:.4em;text-transform:uppercase;color:var(--ivory);text-decoration:none;position:relative;z-index:1;overflow:hidden;transition:color .48s;background:none;font-family:'Jost',sans-serif;}
.btn-g::before{content:'';position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .48s cubic-bezier(.23,1,.32,1);z-index:-1;}
.btn-g:hover::before{transform:scaleX(1);}
.btn-g:hover{color:var(--dark);}
.ct-div{width:1px;height:52px;background:linear-gradient(to bottom,transparent,var(--gold),transparent);margin:68px auto 0;opacity:.26;}
.ct-row{display:flex;justify-content:center;gap:72px;padding-top:48px;flex-wrap:wrap;position:relative;z-index:1;}
.ct-lbl{font-size:13.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:7px;}
.ct-val{font-family:'Cormorant Garamond',serif;font-size:27px;font-weight:300;color:var(--ivory);}
.ct-val a{color:var(--ivory);text-decoration:none;transition:color .3s;}
.ct-val a:hover{color:var(--gold);}

/* ---------- Newsletter-Band ---------- */
.nl{background:var(--dark2);border-top:1px solid var(--border);padding:84px var(--px);display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;}
@media(max-width:780px){.nl{grid-template-columns:1fr;gap:34px;}}
.nl-h{font-family:'Cormorant Garamond',serif;font-size:clamp(35.1px,4.6vw,56.7px);font-weight:300;line-height:1.15;}
.nl-h em{font-style:italic;color:var(--gold);}
.nl-b{margin-top:16px;font-size:18.8px;line-height:1.95;color:var(--ivory-dim);max-width:520px;}
.nl-side{display:flex;flex-direction:column;gap:18px;align-items:flex-start;}
.nl-note{font-size:14.2px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);line-height:1.95;}

/* ---------- Marquee ---------- */
.marquee{overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:22px 0;background:var(--dark);}
.marquee-track{display:flex;gap:64px;width:max-content;animation:mq 38s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
.mq-item{font-family:'Cormorant Garamond',serif;font-size:22.5px;font-weight:300;letter-spacing:.34em;text-transform:uppercase;color:rgba(240,235,225,.34);white-space:nowrap;display:flex;align-items:center;gap:64px;}
.mq-item::after{content:'◆';font-size:10.5px;color:var(--gold-dim);}
@keyframes mq{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- Footer ---------- */
footer{background:var(--dark);border-top:1px solid var(--border);padding:64px var(--px) 36px;}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;padding-bottom:44px;border-bottom:1px solid var(--border);}
@media(max-width:860px){.f-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:540px){.f-grid{grid-template-columns:1fr;}}
.f-logo{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:300;letter-spacing:.5em;text-transform:uppercase;color:var(--ivory);display:flex;align-items:center;gap:11px;text-decoration:none;}
.f-mark{width:21px;height:21px;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.f-mark svg{width:9px;height:9px;}
.f-brand-sub{margin-top:14px;font-size:16.5px;line-height:1.85;color:var(--muted);letter-spacing:.04em;max-width:300px;}
.f-col-h{font-size:13.5px;letter-spacing:.38em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:18px;}
.f-col a{display:block;font-size:17.2px;letter-spacing:.08em;color:rgba(240,235,225,.72);text-decoration:none;padding:5px 0;transition:color .3s,padding-left .3s;}
.f-col a:hover{color:var(--gold);padding-left:6px;}
.f-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px;flex-wrap:wrap;gap:14px;}
.f-copy{font-size:15px;font-weight:300;letter-spacing:.07em;color:var(--muted);}
.f-legal{display:flex;gap:26px;}
.f-legal a{font-size:13.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .3s;}
.f-legal a:hover{color:var(--gold);}

/* ---------- Rechtsseiten ---------- */
.legal{max-width:760px;margin:0 auto;padding:170px var(--px) 110px;}
.legal h1{font-family:'Cormorant Garamond',serif;font-size:clamp(40.5px,5.4vw,62.1px);font-weight:300;margin-bottom:40px;}
.legal h2{font-family:'Cormorant Garamond',serif;font-size:31.5px;font-weight:300;color:var(--ivory);margin:40px 0 14px;}
.legal p,.legal li{font-size:18.8px;line-height:2;color:var(--ivory-dim);margin-bottom:12px;}
.legal ul{padding-left:18px;}
.legal a{color:var(--gold);text-decoration:none;}

/* ---------- Lightbox ---------- */
.lb{position:fixed;inset:0;z-index:9000;background:rgba(10,8,6,.97);display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .45s ease;}
.lb.open{opacity:1;pointer-events:all;}
.lb-head{display:flex;justify-content:space-between;align-items:center;padding:22px var(--px);border-bottom:1px solid var(--border);flex-shrink:0;}
.lb-title{font-family:'Cormorant Garamond',serif;font-size:27px;font-weight:300;letter-spacing:.18em;color:var(--ivory);}
.lb-sub{font-size:13.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-dim);margin-top:3px;}
.lb-close{width:44px;height:44px;border:1px solid var(--border);background:none;display:flex;align-items:center;justify-content:center;transition:border-color .3s,background .3s;}
.lb-close:hover{border-color:var(--gold);background:var(--gold-pale);}
.lb-close svg{width:14px;height:14px;stroke:var(--ivory);}
.lb-stage{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;min-height:0;padding:14px;}
.lb-img{max-width:100%;max-height:100%;object-fit:contain;transition:opacity .35s ease,transform .35s ease;}
.lb-img.fade{opacity:0;transform:scale(.97);}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:1px solid var(--border);background:rgba(16,14,12,.6);display:flex;align-items:center;justify-content:center;transition:border-color .3s,background .3s;backdrop-filter:blur(6px);}
.lb-nav:hover{border-color:var(--gold);background:rgba(196,169,106,.12);}
.lb-nav svg{width:14px;height:14px;stroke:var(--ivory);}
.lb-prev{left:var(--px);}
.lb-next{right:var(--px);}
.lb-foot{flex-shrink:0;padding:14px var(--px) 18px;border-top:1px solid var(--border);}
.lb-counter{font-size:13.5px;letter-spacing:.32em;color:var(--gold-dim);text-align:center;margin-bottom:10px;}
.lb-cap{font-size:13.5px;letter-spacing:.22em;text-transform:uppercase;color:rgba(240,235,225,.55);text-align:center;}

/* ---------- Animationen ---------- */
@keyframes fadeUp{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:translateY(0);}}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .85s ease,transform .85s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.rd1{transition-delay:.1s;}.rd2{transition-delay:.22s;}.rd3{transition-delay:.34s;}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
  .reveal{opacity:1;transform:none;}
  html{scroll-behavior:auto;}
}

/* ---------- Responsive Feinheiten ---------- */
@media(max-width:680px){
  /* Logo + Navleiste kompakt halten, damit auf schmalen Screens nichts überläuft.
     Sprachwahl (nur auf der Startseite funktional) wird mobil ausgeblendet,
     damit Logo und Menü-Button sicher Platz haben. */
  nav{padding-top:20px;padding-bottom:20px;}
  .logo{gap:10px;}
  .logo-signet{width:34px;height:34px;}
  .logo-signet svg{width:15px;height:15px;}
  .logo-name{font-size:15px;letter-spacing:.22em;}
  .logo-sub{font-size:9px;letter-spacing:.22em;}
  .lang-row{display:none;}
}
@media(max-width:380px){
  .logo-name{font-size:13.5px;letter-spacing:.16em;}
}
@media(max-width:640px){
  .hero{padding-bottom:84px;}
  .hero-stats{gap:28px;}
  .ct-row{gap:38px;}
  .sec{padding:78px var(--px);}
  .crumbs{top:88px;}
}
