*{box-sizing:border-box}
body{margin:0;font-family:"Segoe UI",sans-serif;background:#f7f3ea;color:#171717;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.nav{position:sticky;top:0;z-index:10;background:#090b10;color:#fff;padding:20px 32px;box-shadow:0 14px 40px #0004;border-bottom:1px solid #d8c08a24}
.brand{letter-spacing:.28em;font-size:20px;margin-bottom:14px;color:#f7f0df}
.back{display:inline-flex;border:1px solid #d8c08aaa;padding:10px 14px;border-radius:999px;font-size:12px;letter-spacing:.1em;color:#f1d79a}
.hero{min-height:72vh;display:grid;place-items:end start;padding:140px 32px 70px;background-position:center;background-size:cover;color:#fff}
.heroInner{max-width:980px;text-shadow:0 16px 44px #000}
h1{font-family:"Segoe UI",sans-serif;font-weight:300;font-size:clamp(46px,8vw,96px);line-height:1;margin:0 0 22px}
.hero p{max-width:700px;font-size:20px;line-height:1.6;color:#f3f4f6}
.section{padding:92px 32px}
.wrap{max-width:1180px;margin:0 auto}
.intro{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:start;margin-bottom:54px}
h2{font-family:"Segoe UI",sans-serif;font-weight:300;font-size:clamp(34px,5vw,58px);margin:0 0 18px}
p{font-size:18px;line-height:1.7;color:#4b5563}
.price{background:#fffdf8;border:1px solid #d8c08a33;border-radius:14px;padding:30px;box-shadow:0 22px 55px #00000012}
.price strong{display:block;font-size:30px;font-weight:300;margin-bottom:8px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.photo{position:relative;min-height:420px;overflow:hidden;border-radius:12px;background:#111827;border:1px solid #d8c08a33;box-shadow:0 24px 64px #0002}
.photo img{width:100%;height:100%;object-fit:cover;display:block}
.photo.tall{grid-row:span 2;min-height:650px}
.caption{position:absolute;left:0;right:0;bottom:0;padding:24px;color:#fffaf0;background:linear-gradient(transparent,#000e)}
.cta{margin-top:64px;background:#090b10;color:white;border-radius:14px;padding:44px;text-align:center;border:1px solid #d8c08a33;box-shadow:0 24px 70px #0003}
.cta p{color:#d1d5db}
.button{display:inline-block;margin-top:16px;background:linear-gradient(135deg,#fffaf0,#d8c08a);color:#111827;padding:14px 22px;border-radius:999px;letter-spacing:.1em;font-size:13px}
@media(max-width:900px){.intro,.gallery{grid-template-columns:1fr}.photo,.photo.tall{min-height:360px}.hero{min-height:65vh;padding-top:110px}}

/* luxury marble overrides */
body{background:#f8f3e9;color:#17130c}
.nav{background:rgba(255,252,245,.9);color:#17130c;border-bottom:1px solid #c7a96855;box-shadow:0 18px 45px #6b5a2a24}
.brand img{filter:invert(1) sepia(.35) saturate(1.2) hue-rotate(350deg) brightness(.5);max-height:62px}
.back{border-color:#b99a55;color:#7b6024;background:#fffaf0cc}
.hero{color:#17130c;background-blend-mode:screen;background-color:#f7edda}.heroInner{text-shadow:0 18px 45px #fff8}.hero p{color:#4a3d2a}
.section{background:linear-gradient(135deg,#fffdf8 0%,#f4ead7 32%,#fffaf0 55%,#eadcbf 100%)}
.price{background:#fffdf8;border-color:#c7a96866;box-shadow:0 22px 55px #8a73301c}.photo{border-color:#c7a96866;box-shadow:0 28px 70px #8a733024}.caption{background:linear-gradient(transparent,#1f160bcc);color:#fffaf0}
.cta{background:#17130c;border-color:#c7a96866}.button{background:linear-gradient(135deg,#fffdf7,#d6b76c);color:#17130c}
/* white marble gold style */
body{background:#f8f6ef;background-image:linear-gradient(rgba(255,255,255,.78),rgba(255,255,255,.78)),url('preview-assets/marble-gold-premium.webp');background-size:760px auto;background-attachment:fixed;color:#1b160f}.nav{background:rgba(255,255,255,.78)!important;color:#1b160f!important;border-bottom:1px solid #c9a64d66!important;box-shadow:0 18px 45px #8a73301c!important;backdrop-filter:blur(16px)!important}.brand img{filter:invert(1) sepia(.4) saturate(1.2) hue-rotate(350deg) brightness(.45)!important}.back{background:rgba(255,255,255,.65)!important;color:#765a1f!important;border-color:#c9a64d99!important}.hero{background-blend-mode:screen,normal!important}.section{background-image:linear-gradient(rgba(255,255,255,.82),rgba(255,255,255,.82)),url('preview-assets/marble-gold-premium.webp')!important;background-size:900px auto!important}.price,.photo{border-color:#c9a64d66!important;box-shadow:0 26px 70px #8a733024!important}.cta{background:#1b160f!important;border-color:#c9a64d66!important}.button{background:linear-gradient(135deg,#fff,#f0dfaa,#c9a64d)!important;color:#1b160f!important}

/* soft continuous marble finish */
html{background:#f8f6ef!important}
body{background-color:#f8f6ef!important;background-image:linear-gradient(rgba(255,255,255,.42),rgba(255,255,255,.42)),url('preview-assets/marble-gold-premium.webp')!important;background-size:cover!important;background-position:center top!important;background-repeat:no-repeat!important;background-attachment:fixed!important}
.section{background-image:linear-gradient(rgba(255,255,255,.34),rgba(255,255,255,.34))!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;position:relative!important;border-top:0!important}
.section:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.12) 42%,rgba(255,255,255,.06));z-index:0}.section>.wrap{position:relative!important;z-index:1!important}
.hero{background-blend-mode:normal!important}
.photo img,.portraitTile img,.heroImage img{filter:none!important;image-rendering:auto;backface-visibility:hidden;transform:translateZ(0)}

/* final continuous visible marble */
html,body{background:#f8f6ef!important}
body{background-image:linear-gradient(rgba(255,255,255,.18),rgba(255,255,255,.18)),url('preview-assets/marble-gold-premium.webp')!important;background-size:cover!important;background-position:center top!important;background-repeat:no-repeat!important;background-attachment:fixed!important}
.section{background:transparent!important}
.section:after{display:none!important}
.section>.wrap{position:relative!important;z-index:1!important}

/* image quality tuning */
.gallery{align-items:start}
.photo{background:#f8f6ef!important}
.photo img{width:100%!important;height:100%!important;object-fit:cover!important;filter:none!important}
.caption{background:linear-gradient(transparent,rgba(31,22,11,.72))!important}

/* NEPO modern features
   1: sanftes Einblenden beim Scrollen
   2: dezente Foto- und Karten-Bewegung
   3: cleaner Button-Schimmer
   4: leichter Navbar-Auftritt
   5: ruhiger Bild-Zoom beim Hover
   6: reduzierte Bewegung respektieren */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .75s ease,transform .75s ease}
[data-reveal].is-visible{opacity:1;transform:none}
.photo,.price,.cta{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.photo:hover,.price:hover,.cta:hover{transform:translateY(-5px);box-shadow:0 32px 78px rgba(138,115,48,.24)!important;border-color:rgba(201,166,77,.76)!important}
.button,.back{position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.button:hover,.back:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(138,115,48,.22)}
.button:after,.back:after{content:"";position:absolute;top:-40%;bottom:-40%;left:-55%;width:42%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);transition:left .75s ease}
.button:hover:after,.back:hover:after{left:115%}
.nav{animation:nepoNavIn .7s ease both}
@keyframes nepoNavIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.photo img{transition:transform .75s ease}
.photo:hover img{transform:scale(1.035)}
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  [data-reveal]{opacity:1!important;transform:none!important}
}

/* redesigned contact panel */
.cta{
  background:linear-gradient(135deg,#2a1d08 0%,#5f4617 48%,#1b1307 100%)!important;
  color:#fff8e6!important;
  border:1px solid rgba(218,184,92,.72)!important;
  border-radius:10px!important;
  padding:52px 44px!important;
  box-shadow:0 30px 80px rgba(54,39,12,.32)!important;
}
.cta h2{
  color:#fff8e6!important;
  font-weight:300!important;
  letter-spacing:.02em!important;
  margin-top:0!important;
}
.cta p{
  color:#eadab4!important;
  max-width:680px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.cta .button{
  background:linear-gradient(135deg,#fff9e8 0%,#dfc06f 48%,#9d7621 100%)!important;
  color:#1b1307!important;
  border:1px solid rgba(255,244,205,.82)!important;
  box-shadow:0 18px 44px rgba(18,11,3,.32)!important;
}




