/* ═══════════════════════════════════════════════════════════════
   360° DACHARBEITEN – main.css  v1.0.0
   Lokal gehostete Schriften · Black #080808 · Gold #C9A84C
═══════════════════════════════════════════════════════════════ */

/* ── LOKALE SCHRIFTEN ──────────────────────────────────────── */
@font-face { font-family:'Playfair Display'; src:url('../fonts/playfair/playfair-800.woff2') format('woff2'); font-weight:800; font-style:normal; font-display:swap; }
@font-face { font-family:'Playfair Display'; src:url('../fonts/playfair/playfair-900.woff2') format('woff2'); font-weight:900; font-style:normal; font-display:swap; }
@font-face { font-family:'Playfair Display'; src:url('../fonts/playfair/playfair-800-italic.woff2') format('woff2'); font-weight:800; font-style:italic; font-display:swap; }
@font-face { font-family:'DM Sans'; src:url('../fonts/dm-sans/dm-sans-300.woff2') format('woff2'); font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:'DM Sans'; src:url('../fonts/dm-sans/dm-sans-400.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'DM Sans'; src:url('../fonts/dm-sans/dm-sans-500.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'DM Sans'; src:url('../fonts/dm-sans/dm-sans-600.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'DM Mono'; src:url('../fonts/dm-mono/dm-mono-400.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'DM Mono'; src:url('../fonts/dm-mono/dm-mono-500.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }

/* ── CRITICAL: Prevent invisible page ─────────────────────── */
html, body { background: #080808; }
.grad-hero { background-color: var(--black-s); } /* dark fallback */

/* ── VARIABLES ─────────────────────────────────────────────── */
:root {
  --black:#080808; --black-s:#111; --black-m:#1a1a1a; --black-l:#252525;
  --gray:#555; --gray-l:#999; --border:rgba(255,255,255,.07);
  --off:#F6F5F1; --white:#fff; --gold:#C9A84C; --gold-l:#E2C97E; --gold-pale:#faf4e4;
  --serif:'Playfair Display',Georgia,serif;
  --sans:'DM Sans',system-ui,sans-serif;
  --mono:'DM Mono',monospace;
  --ease:cubic-bezier(.25,.46,.45,.94);
  --r:6px; --hdr-h:68px;
}

/* ── RESET ─────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--white);color:var(--black);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
button{font-family:var(--sans)}
::selection{background:rgba(201,168,76,.2)}
ul,ol{list-style:none}

/* ── UTILS ─────────────────────────────────────────────────── */
.container{max-width:1400px;margin:0 auto;padding:0 clamp(20px,4vw,60px)}
.container-full{width:100%}
.tag{display:inline-flex;align-items:center;gap:8px;font:500 11px/1 var(--mono);letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);padding:6px 12px;border:1px solid rgba(201,168,76,.3);border-radius:2px;margin-bottom:20px}
.tag::before{content:'';width:20px;height:1px;background:var(--gold)}
.grad-eyebrow{display:block;font:500 10px/1 var(--mono);letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:static;width:auto;height:auto}

/* ── BUTTONS ───────────────────────────────────────────────── */
.btn-primary,.wp-block-button.grad-btn-primary .wp-block-button__link{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:var(--black);font:600 13px/1 var(--sans);letter-spacing:1px;text-transform:uppercase;padding:16px 32px;border-radius:var(--r);border:none;cursor:pointer;transition:all .22s var(--ease);white-space:nowrap}
.btn-primary:hover{background:var(--gold-l);transform:translateY(-2px);box-shadow:0 12px 32px rgba(201,168,76,.35)}
.btn-primary.btn-lg{padding:20px 44px;font-size:14px}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;background:transparent;color:rgba(255,255,255,.75);font:500 13px/1 var(--sans);letter-spacing:1px;text-transform:uppercase;padding:16px 28px;border-radius:var(--r);border:1px solid rgba(255,255,255,.25);cursor:pointer;transition:all .22s var(--ease)}
.btn-ghost:hover,.btn-ghost-light:hover{border-color:var(--gold);color:var(--gold)}
.btn-ghost-light{color:rgba(255,255,255,.6);border-color:rgba(255,255,255,.2)}

/* ── HEADER ────────────────────────────────────────────────── */
.hdr{position:fixed;inset:0 0 auto 0;z-index:900;height:var(--hdr-h);background:rgba(8,8,8,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);transition:transform .35s var(--ease),border-color .3s}
.hdr.scrolled{border-bottom-color:rgba(201,168,76,.18)}
.hdr-inner{max-width:1400px;margin:0 auto;padding:0 clamp(16px,4vw,48px);height:var(--hdr-h);display:flex;align-items:center;gap:16px}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-right:auto}
.brand-deg{font:900 22px/1 var(--serif);color:var(--gold);border:1px solid rgba(201,168,76,.35);border-radius:4px;padding:4px 8px}
.brand-text{font:600 12px/1.3 var(--sans);color:rgba(255,255,255,.8);letter-spacing:.5px;text-transform:uppercase}
.nav,.nav .nav-list{display:flex;align-items:center;gap:2px;list-style:none}
.nl{font:400 13px/1 var(--sans);color:rgba(255,255,255,.5);padding:8px 14px;border-radius:4px;transition:color .2s;display:block}
.nl:hover,.current-menu-item>.nl,.current_page_item>.nl{color:var(--white)}
.nav-list li{position:relative}
.sub-menu{display:none;position:absolute;top:100%;left:0;background:var(--black-m);border:1px solid var(--border);border-radius:var(--r);min-width:200px;list-style:none;padding:8px 0;z-index:910}
.nav-list li:hover>.sub-menu{display:block}
.sub-menu .nl{padding:10px 16px;border-radius:0}
.hdr-tel{display:flex;align-items:center;gap:8px;font:400 13px/1 var(--sans);color:rgba(255,255,255,.4);transition:color .2s;flex-shrink:0}
.hdr-tel svg{color:var(--gold);flex-shrink:0}
.hdr-tel:hover{color:var(--white)}
.hdr-tel-text{display:none}
@media(min-width:1100px){.hdr-tel-text{display:block}}
.hdr-actions{display:flex;align-items:center;gap:12px}
.btn-cta-hdr{background:var(--gold);color:var(--black);font:600 12px/1 var(--sans);letter-spacing:1px;text-transform:uppercase;padding:10px 22px;border-radius:var(--r);transition:all .2s;flex-shrink:0}
.btn-cta-hdr:hover{background:var(--gold-l)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;flex-shrink:0}
.burger span{display:block;width:22px;height:1.5px;background:var(--white);transition:all .3s}
.burger.open span:nth-child(1){transform:rotate(45deg) translate(4.5px,4.5px)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px)}

/* ── HERO ──────────────────────────────────────────────────── */
.grad-hero{position:relative;height:100svh;min-height:580px;max-height:1080px;padding-top:var(--hdr-h);display:flex;align-items:center;background:var(--black-s) center/cover no-repeat;overflow:hidden;padding-bottom:0}
.grad-hero__img-overlay{position:absolute;inset:0;z-index:0;background:linear-gradient(105deg,rgba(8,8,8,.88) 0%,rgba(8,8,8,.6) 45%,rgba(8,8,8,.15) 100%),linear-gradient(0deg,rgba(8,8,8,.5) 0%,transparent 35%)}
.grad-hero__accent-line{position:absolute;left:0;top:0;bottom:0;width:3px;z-index:3;background:linear-gradient(180deg,transparent 5%,var(--gold) 30%,var(--gold) 70%,transparent 95%)}
.grad-hero__content{position:relative;z-index:2;padding:0 clamp(20px,5vw,80px);max-width:min(680px,60vw);width:100%}
/* data-anim: visible by default, JS adds .visible for smooth entrance */
[data-anim]{opacity:1;transform:none}
.js-loaded [data-anim]{opacity:0;transform:translateY(22px)}
.js-loaded [data-anim].visible{opacity:1;transform:none;transition:opacity .65s var(--ease),transform .65s var(--ease)}
.js-loaded [data-anim="1"].visible{transition-delay:.12s}
.js-loaded [data-anim="2"].visible{transition-delay:.25s}
.js-loaded [data-anim="3"].visible{transition-delay:.38s}
.js-loaded [data-anim="4"].visible{transition-delay:.5s}
.grad-hero__title{font:900 clamp(52px,8vw,100px)/1 var(--serif);color:var(--white);letter-spacing:-2px;margin-bottom:20px}
.grad-hero__title em{font-style:italic;color:var(--gold-l)}
.grad-hero__subtitle{font:300 clamp(15px,1.5vw,18px)/1.65 var(--sans);color:rgba(255,255,255,.6);margin-bottom:36px;max-width:40ch}
.grad-hero__btns{display:flex;gap:12px;flex-wrap:wrap}
.grad-hero__stats{
  /* Desktop: float to the right side, vertically centered-ish */
  position:absolute;
  right:clamp(28px,5vw,72px);
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  display:flex;
  flex-direction:column;
  gap:16px;
  align-items:flex-end;
}
.hs-item{text-align:right}
.hs-n{display:block;font:800 clamp(24px,2.8vw,36px)/1 var(--serif);color:var(--white)}
.hs-l{display:block;font:400 9px/1 var(--mono);letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-top:4px}
.hs-div{width:100%;height:1px;background:rgba(201,168,76,.2)}
.grad-hero__scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:3}
.grad-hero__scroll span{display:block;width:1.5px;height:40px;background:linear-gradient(180deg,rgba(201,168,76,0) 0%,var(--gold) 100%);animation:scrollpulse 1.8s ease infinite}
@keyframes scrollpulse{0%,100%{opacity:.2;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}

/* ── SERVICE GRID ──────────────────────────────────────────── */
.svc-overview{background:var(--black-s)}
.svc-header{padding:clamp(60px,8vw,100px) 0 clamp(36px,4vw,52px)}
.svc-header h2{font:900 clamp(36px,5vw,64px)/1 var(--serif);color:var(--white);letter-spacing:-1px}
.svc-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:320px 320px;gap:3px}
.svc-grid .sc:nth-child(1){grid-column:1;grid-row:1/3}
.svc-grid .sc:nth-child(2){grid-column:2;grid-row:1}
.svc-grid .sc:nth-child(3){grid-column:3;grid-row:1}
.svc-grid .sc:nth-child(4){grid-column:2;grid-row:2}
.svc-grid .sc:nth-child(5){grid-column:3;grid-row:2}

/* Service Card base */
.sc{position:relative;overflow:hidden;display:block;cursor:pointer;background:var(--black-m)}
.sc__bg{position:absolute;inset:0;overflow:hidden}
.sc__bg img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .4s;filter:brightness(.55) saturate(.9)}
.sc__bg--placeholder{width:100%;height:100%;background:var(--black-l)}
.sc:hover .sc__bg img{transform:scale(1.08);filter:brightness(.4) saturate(.8)}
.sc::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(201,168,76,.12) 0%,transparent 60%);opacity:0;transition:opacity .4s;pointer-events:none}
.sc:hover::after{opacity:1}
.sc__body{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(20px,3vw,36px);background:linear-gradient(to top,rgba(8,8,8,.85) 0%,rgba(8,8,8,.3) 50%,transparent 100%);transition:background .3s}
.sc:hover .sc__body{background:linear-gradient(to top,rgba(8,8,8,.95) 0%,rgba(8,8,8,.6) 60%,rgba(8,8,8,.1) 100%)}
.sc__num{font:500 10px/1 var(--mono);letter-spacing:3px;color:var(--gold);margin-bottom:10px;display:block}
.sc__body h3{font:700 clamp(16px,1.8vw,22px)/1.2 var(--serif);color:var(--white);margin-bottom:8px}
.sc__body p{font:300 13px/1.5 var(--sans);color:rgba(255,255,255,.55);margin-bottom:14px;max-width:28ch;max-height:0;overflow:hidden;opacity:0;transition:max-height .35s var(--ease),opacity .35s}
.sc:hover .sc__body p{max-height:60px;opacity:1}
.sc__arrow{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(201,168,76,.4);border-radius:50%;color:var(--gold);transform:translateX(-8px);opacity:0;transition:transform .3s var(--ease),opacity .3s}
.sc__arrow svg{width:16px;height:16px}
.sc:hover .sc__arrow,.sc--touch .sc__arrow{transform:translateX(0);opacity:1}
.sc--touch .sc__body p{max-height:60px;opacity:1}

/* Card styles */
.sc--card-featured{border:2px solid rgba(201,168,76,.3)}
.sc--card-featured .sc__body{background:linear-gradient(to top,rgba(8,8,8,.95) 0%,rgba(8,8,8,.5) 60%,transparent 100%)}
.sc--card-compact{min-height:200px}

/* Service Detail blocks (Leistungen page) */
.sc-detail{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);align-items:center;padding:clamp(60px,8vw,100px) clamp(20px,4vw,60px);max-width:1400px;margin:0 auto}
.sc-detail--flip{direction:rtl}
.sc-detail--flip>*{direction:ltr}
.sc-detail__img{border-radius:var(--r);overflow:hidden;height:clamp(280px,35vw,460px);position:relative}
.sc-detail__img img{width:100%;height:100%;object-fit:cover}
.sc-detail__img-placeholder{width:100%;height:100%;background:var(--off)}
.sc-detail__title{font:700 clamp(24px,3vw,40px)/1.1 var(--serif);margin-bottom:16px}
.sc-detail__desc{font:300 15px/1.8 var(--sans);color:var(--gray);margin-bottom:22px}
.sc-divider{border:none;border-top:1px solid rgba(0,0,0,.07);margin:0 clamp(20px,4vw,60px)}
.sc-features{list-style:none;border-top:1px solid rgba(0,0,0,.08);margin-bottom:32px}
.sc-features li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.07);font:300 14px/1 var(--sans);color:var(--black-l)}
.sc-features li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--gold);flex-shrink:0}
.lst-section{padding:clamp(60px,8vw,100px) 0}
.lst-section:nth-child(even){background:var(--off)}

/* ── PROOF STRIP ───────────────────────────────────────────── */
.proof-strip{background:var(--black);border-top:1px solid rgba(201,168,76,.1);border-bottom:1px solid rgba(201,168,76,.1)}
.proof-strip-inner{max-width:1400px;margin:0 auto;padding:0 clamp(20px,4vw,60px);display:flex;align-items:center;flex-wrap:wrap}
.ps-item{display:flex;align-items:center;gap:10px;padding:22px clamp(16px,2.5vw,36px);font:500 13px/1 var(--sans);color:rgba(255,255,255,.55);transition:color .2s;flex-shrink:0}
.ps-item:hover{color:var(--white)}
.ps-icon{width:18px;height:18px;flex-shrink:0;color:var(--gold)}
.ps-dot{width:4px;height:4px;border-radius:50%;background:rgba(201,168,76,.25);flex-shrink:0}

/* ── BA SPLIT ──────────────────────────────────────────────── */
.ba-section{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:480px}
.ba-section--flip .ba-img{order:2}
.ba-section--flip .ba-text{order:1}
.ba-img{position:relative;overflow:hidden}
.ba-img img{display:block;width:100%;height:100%;min-height:440px;object-fit:cover}
.ba-img__placeholder{width:100%;height:100%;background:var(--black-l)}
.ba-label{position:absolute;bottom:28px;left:28px;font:500 10px/1 var(--mono);letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);background:rgba(8,8,8,.7);padding:8px 14px;border-radius:3px;border:1px solid rgba(201,168,76,.2)}
.ba-text{background:var(--off);padding:clamp(48px,6vw,100px) clamp(32px,5vw,80px);display:flex;flex-direction:column;justify-content:center}
.ba-text h2{font:800 clamp(32px,4vw,52px)/1.05 var(--serif);color:var(--black);margin-bottom:32px;letter-spacing:-.5px}
.ba-list{list-style:none;margin-bottom:40px;border-top:1px solid rgba(0,0,0,.08)}
.ba-list li{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid rgba(0,0,0,.07);font:400 14px/1.5 var(--sans);color:var(--black-l)}
.ba-list li svg{width:16px;height:16px;flex-shrink:0}

/* ── GALLERY ───────────────────────────────────────────────── */
.galerie{background:var(--black-s);padding:clamp(60px,8vw,100px) 0 0}
.gal-header{padding-bottom:clamp(32px,4vw,48px)}
.gal-header h2{font:900 clamp(36px,5vw,64px)/1 var(--serif);color:var(--white);letter-spacing:-1px}
.gal-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;grid-template-rows:360px 280px;gap:4px}
.gi{position:relative;overflow:hidden;background:var(--black-m);cursor:pointer;display:block}
.gi img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .4s;filter:brightness(.8)}
.gi:hover img{transform:scale(1.05);filter:brightness(.7)}
.gi-cap{position:absolute;bottom:0;left:0;right:0;padding:40px 20px 18px;background:linear-gradient(to top,rgba(8,8,8,.75),transparent);font:500 11px/1 var(--mono);letter-spacing:2px;text-transform:uppercase;color:var(--gold);opacity:0;transition:opacity .3s}
.gi:hover .gi-cap{opacity:1}
.gal-grid .gi-hero{grid-column:1/3;grid-row:1}
.gal-grid .gi-tall{grid-column:3;grid-row:1/3}
.gal-cta{padding:clamp(32px,4vw,52px) 0;display:flex;align-items:center;gap:16px;flex-wrap:wrap}

/* ── STATS ─────────────────────────────────────────────────── */
.grad-stats{background:var(--black-s);border-top:1px solid rgba(201,168,76,.08);border-bottom:1px solid rgba(201,168,76,.08)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(201,168,76,.08)}
.stat-item{background:var(--black-s);padding:clamp(36px,5vw,60px) clamp(20px,3vw,40px);text-align:center}
.stat-num{display:block;font:900 clamp(40px,5vw,64px)/1 var(--serif);color:var(--white);margin-bottom:12px}
.stat-label{display:block;font:300 13px/1.5 var(--sans);color:rgba(255,255,255,.4);max-width:24ch;margin:0 auto}

/* ── TESTIMONIALS ──────────────────────────────────────────── */
.reviews{background:var(--black);padding:clamp(60px,8vw,100px) 0}
.rev-header{max-width:1400px;margin:0 auto clamp(36px,4vw,48px);padding:0 clamp(20px,4vw,60px)}
.rev-header h2{font:800 clamp(28px,4vw,52px)/1.1 var(--serif);color:var(--white);letter-spacing:-.5px}
.rev-grid{max-width:1400px;margin:0 auto;padding:0 clamp(20px,4vw,60px);display:grid;grid-template-columns:repeat(3,1fr);gap:1px}
.rc{background:var(--black);padding:clamp(28px,3vw,44px);display:flex;flex-direction:column;gap:16px;transition:background .2s}
.rc:hover{background:var(--black-m)}
.rc-stars{color:var(--gold);font-size:14px;letter-spacing:3px}
.rc p{font:300 15px/1.75 var(--sans);color:rgba(255,255,255,.5);font-style:italic;flex:1}
.rc strong{font:600 12px/1 var(--mono);letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.3)}
.rc-loc{font-weight:300}

/* ── FINAL CTA ─────────────────────────────────────────────── */
.final-cta{background:var(--black-s);border-top:1px solid rgba(201,168,76,.12);padding:clamp(80px,10vw,140px) clamp(20px,4vw,60px);text-align:center;position:relative;overflow:hidden}
.final-cta::before{content:'360°';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:900 clamp(200px,30vw,400px)/1 var(--serif);color:rgba(201,168,76,.03);pointer-events:none;letter-spacing:-10px}
.fct-inner{position:relative;z-index:1;max-width:640px;margin:0 auto}
.fct-inner h2{font:800 clamp(38px,6vw,72px)/1.05 var(--serif);color:var(--white);letter-spacing:-1px;margin-bottom:16px}
.fct-inner>p{font:300 16px/1.65 var(--sans);color:rgba(255,255,255,.45);margin-bottom:40px}
.fct-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}
.fct-note{font:400 11px/1 var(--mono);letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.2)}

/* ── PAGE HERO ─────────────────────────────────────────────── */
.page-hero{background:var(--black-s);position:relative;overflow:hidden;padding:clamp(120px,14vw,180px) 0 clamp(60px,7vw,100px)}
.page-hero__bg-img{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;overflow:hidden}
.page-hero__overlay{position:absolute;inset:0;z-index:1;background:rgba(8,8,8,.75)}
.page-hero__overlay--strong{background:rgba(8,8,8,.85)}
.page-hero__inner{position:relative;z-index:3}
.page-hero h1{font:800 clamp(36px,5.5vw,70px)/1.05 var(--serif);color:var(--white);letter-spacing:-.5px;margin-bottom:14px}
.page-hero__subtitle{font:300 16px/1.7 var(--sans);color:rgba(255,255,255,.48);max-width:520px}
.page-hero--light{background:var(--off)}
.page-hero--light h1{color:var(--black)}
.page-hero--gold{background:var(--black);border-bottom:3px solid var(--gold)}
.page-hero--minimal{background:var(--black);padding:clamp(100px,12vw,140px) 0 clamp(40px,5vw,60px)}
.page-hero--minimal h1{font-size:clamp(28px,4vw,52px)}
.breadcrumb{font:500 10px/1 var(--mono);letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.22);margin-bottom:20px;display:flex;gap:8px;align-items:center}
.breadcrumb a{color:var(--gold)}
.breadcrumb a:hover{opacity:.7}
.page-hero--light .breadcrumb{color:rgba(0,0,0,.3)}

/* ── CONTACT ───────────────────────────────────────────────── */
.grad-contact-block{padding:clamp(60px,8vw,100px) clamp(20px,4vw,60px);max-width:1400px;margin:0 auto}
.kontakt-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(36px,5vw,80px);align-items:start}
.form-card{background:var(--white);border:1px solid rgba(0,0,0,.09);border-radius:var(--r);padding:clamp(24px,4vw,48px)}
.form-card h2{font:700 28px/1 var(--serif);margin-bottom:6px}
.form-sub{font:300 14px/1 var(--sans);color:var(--gray);margin-bottom:28px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-group{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.form-group label{font:500 10px/1 var(--mono);letter-spacing:2px;text-transform:uppercase;color:var(--gray)}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:11px 14px;border:1px solid rgba(0,0,0,.1);border-radius:var(--r);font:300 14px/1 var(--sans);color:var(--black);background:var(--off);outline:none;transition:border-color .2s,background .2s;appearance:none}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold);background:var(--white)}
.form-group textarea{resize:vertical;min-height:110px}
.form-consent{display:flex;gap:10px;align-items:flex-start;margin-bottom:22px}
.form-consent input[type="checkbox"]{width:15px;height:15px;flex-shrink:0;margin-top:2px;accent-color:var(--gold)}
.form-consent label{font:300 12px/1.5 var(--sans);color:var(--gray-l)}
.form-consent a{color:var(--gold)}
.grad-form__message{margin-bottom:14px;font:400 13px/1.5 var(--sans);border-radius:var(--r);padding:10px 14px;display:none}
.grad-form__message.error{display:block;background:#fee;color:#c00;border:1px solid #fcc}
.grad-form__message.success{display:block;background:#e6f4ea;color:#1e7e34;border:1px solid #b7dfbb}
.form-success{padding:28px;border:1px solid var(--gold);border-radius:var(--r);text-align:center}
.form-success h3{font:700 22px/1 var(--serif);color:var(--black);margin-bottom:8px}
.form-success p{font:300 14px/1.5 var(--sans);color:var(--gray)}
.cw-stack{display:flex;flex-direction:column;gap:12px}
.cw-card{border-radius:var(--r);overflow:hidden}
.cw-head{background:var(--black);padding:18px 22px}
.cw-head h3{font:700 18px/1 var(--serif);color:var(--white)}
.cw-body{background:var(--black-s);padding:8px 0}
.cm{display:flex;align-items:center;gap:12px;padding:13px 22px;transition:background .2s}
.cm:hover{background:rgba(201,168,76,.04)}
.cm-ico{width:34px;height:34px;flex-shrink:0;border:1px solid rgba(201,168,76,.18);border-radius:var(--r);display:flex;align-items:center;justify-content:center}
.cm-ico svg{width:14px;height:14px;color:var(--gold)}
.cm-lbl{font:500 9.5px/1 var(--mono);letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.3);display:block;margin-bottom:3px}
.cm-val{font:400 14px/1 var(--sans);color:var(--white)}
.cm-val a{color:var(--white);transition:color .2s}
.cm-val a:hover{color:var(--gold)}
.cm-div{height:1px;margin:0 22px;background:rgba(255,255,255,.05)}
.oh-card{background:var(--off);border:1px solid rgba(0,0,0,.08);border-radius:var(--r);padding:22px}
.oh-card h4{font:500 10px/1 var(--mono);letter-spacing:2.5px;text-transform:uppercase;color:var(--gray);margin-bottom:14px}
.oh-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.oh-row:last-of-type{border:none}
.oh-day{font:300 14px/1 var(--sans);color:var(--gray)}
.oh-time{font:500 13px/1 var(--mono);color:var(--black)}
.oh-closed{color:#9B2020}
.oh-note{margin-top:12px;padding:9px 12px;border:1px solid rgba(201,168,76,.18);border-radius:var(--r);font:400 11px/1.4 var(--sans);color:var(--gold)}
.wa-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:#25D366;color:var(--white);border-radius:var(--r);padding:15px 22px;font:500 14px/1 var(--sans);transition:all .2s}
.wa-btn svg{width:20px;height:20px;flex-shrink:0}
.wa-btn:hover{background:#1da851;transform:translateY(-1px)}

/* ── FOOTER ────────────────────────────────────────────────── */
.footer{background:var(--black);border-top:1px solid var(--border)}
.footer-inner{max-width:1400px;margin:0 auto;padding:clamp(48px,6vw,80px) clamp(20px,4vw,60px) clamp(40px,5vw,64px);display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:clamp(32px,4vw,64px)}
.footer-brand .brand{margin-bottom:16px}
.footer-desc{font:300 13px/1.7 var(--sans);color:rgba(255,255,255,.3);max-width:260px;margin-bottom:20px}
.footer-contact-pills{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.footer-contact-pill{display:inline-flex;align-items:center;gap:8px;font:400 13px/1 var(--sans);color:rgba(255,255,255,.4);padding:8px 12px;border:1px solid rgba(201,168,76,.15);border-radius:var(--r);transition:all .2s}
.footer-contact-pill svg{color:var(--gold);flex-shrink:0}
.footer-contact-pill:hover{border-color:var(--gold);color:var(--white)}
.footer-col{display:flex;flex-direction:column}
.footer-col h4{font:500 10px/1 var(--mono);letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.22);margin-bottom:18px}
.footer-nav{list-style:none;display:flex;flex-direction:column}
.footer-nav li a,.footer-col a{font:300 13px/1 var(--sans);color:rgba(255,255,255,.4);padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04);transition:color .2s;display:block}
.footer-nav li:last-child a,.footer-col a:last-child{border:none}
.footer-nav li a:hover,.footer-col a:hover{color:var(--gold)}
.footer-bottom{max-width:1400px;margin:0 auto;padding:18px clamp(20px,4vw,60px);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.footer-bottom p{font:400 11px/1 var(--mono);letter-spacing:.5px;color:rgba(255,255,255,.18)}
.footer-legal-links{display:flex;gap:20px;list-style:none}
.footer-legal-links li a{font:400 11px/1 var(--mono);color:rgba(255,255,255,.18);transition:color .2s}
.footer-legal-links li a:hover{color:var(--gold)}
.social-links{display:flex;gap:10px;margin-top:12px}
.social-link{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(201,168,76,.2);border-radius:4px;color:rgba(255,255,255,.4);transition:all .2s}
.social-link svg{width:15px;height:15px}
.social-link:hover{border-color:var(--gold);color:var(--gold)}

/* ── LAYOUT ────────────────────────────────────────────────── */
.front-page-content,.entry-content{min-width:0}
.entry-content{padding:clamp(40px,5vw,80px) clamp(20px,4vw,60px);max-width:1400px;margin:0 auto}
.entry-content--full{padding:0;max-width:none}
.content-layout-sidebar{display:grid;grid-template-columns:1fr 320px;gap:48px}
.widget-area{display:flex;flex-direction:column;gap:24px}
.widget{background:var(--off);border-radius:var(--r);padding:24px}
.widget-title{font:700 18px/1 var(--serif);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid rgba(0,0,0,.08)}

/* ── POSTS GRID ────────────────────────────────────────────── */
.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px;margin:40px 0}
.post-card{border:1px solid rgba(0,0,0,.08);border-radius:var(--r);overflow:hidden;transition:box-shadow .2s}
.post-card:hover{box-shadow:0 8px 32px rgba(0,0,0,.1)}
.post-card-img{display:block;height:220px;overflow:hidden}
.post-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.post-card:hover .post-card-img img{transform:scale(1.04)}
.post-card-body{padding:24px}
.post-card-meta{font:400 11px/1 var(--mono);color:var(--gray-l);margin-bottom:10px}
.post-card-title{font:700 20px/1.2 var(--serif);margin-bottom:12px}
.post-card-title a{color:var(--black)}
.post-card-title a:hover{color:var(--gold)}
.post-card-excerpt{font:300 14px/1.65 var(--sans);color:var(--gray);margin-bottom:16px}
.post-card-link{font:500 12px/1 var(--mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--gold)}

/* ── LEGAL ─────────────────────────────────────────────────── */
.legal-content{max-width:760px;padding:clamp(40px,5vw,80px) clamp(20px,4vw,60px)}
.legal-content h2{font:700 22px/1 var(--serif);margin:36px 0 12px}
.legal-content h2:first-child{margin-top:0}
.legal-content h3{font:600 16px/1 var(--sans);margin:24px 0 10px;color:var(--black-l)}
.legal-content p,.legal-content li{font:300 14px/1.85 var(--sans);color:var(--gray);margin-bottom:10px}
.legal-content ul{margin-left:20px;margin-bottom:14px;list-style:disc}
.legal-content a{color:var(--gold);border-bottom:1px solid rgba(201,168,76,.3)}
.legal-note{margin-top:44px;padding:18px 22px;border-left:2px solid var(--gold);background:var(--gold-pale);font:300 13px/1.6 var(--sans);color:var(--gray);border-radius:0 var(--r) var(--r) 0}

/* ── WP BLOCKS ─────────────────────────────────────────────── */
.wp-block-image img{border-radius:var(--r)}
.grad-empty-block{border:2px dashed rgba(201,168,76,.3);border-radius:var(--r)}

/* ═══════════════ RESPONSIVE ═══════════════════════════════ */
@media(max-width:1024px){
  /* Hero stats: move below content on tablet */
  .grad-hero__stats{
    position:static;
    transform:none;
    flex-direction:row;
    justify-content:flex-start;
    align-items:center;
    gap:0;
    margin-top:28px;
    padding-top:20px;
    border-top:1px solid rgba(201,168,76,.2);
    width:100%;
  }
  .hs-item{text-align:center;flex:1}
  .hs-div{width:1px;height:36px;flex-shrink:0}
  .grad-hero__content{max-width:100%;padding:0 clamp(20px,5vw,60px)}
  .svc-grid{grid-template-columns:1fr 1fr;grid-template-rows:280px 280px 280px}
  .svc-grid .sc:nth-child(1){grid-column:1;grid-row:1/3}
  .svc-grid .sc:nth-child(2){grid-column:2;grid-row:1}
  .svc-grid .sc:nth-child(3){grid-column:2;grid-row:2}
  .svc-grid .sc:nth-child(4){grid-column:1;grid-row:3}
  .svc-grid .sc:nth-child(5){grid-column:2;grid-row:3}
  .ba-section{grid-template-columns:1fr;max-height:none}
  .ba-img{min-height:280px;order:1}
  .ba-text{order:2}
  .gal-grid{grid-template-columns:1fr 1fr;grid-template-rows:260px 220px 220px}
  .gal-grid .gi-hero{grid-column:1/3;grid-row:1}
  .gal-grid .gi-tall{grid-column:2;grid-row:2/4}
  .rev-grid{grid-template-columns:1fr 1fr}
  .rc:last-child{grid-column:1/3}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .kontakt-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1.4fr 1fr 1fr}
  .sc-detail{grid-template-columns:1fr;direction:ltr}
  .sc-detail--flip{direction:ltr}
  .content-layout-sidebar{grid-template-columns:1fr}
}
@media(max-width:768px){
  .nav{display:none}
  .btn-cta-hdr{display:none}
  /* Burger: larger touch target for mobile */
  .burger{display:flex;padding:10px;margin:-10px;touch-action:manipulation}
  /* Open nav: full-screen overlay below header */
  .nav.open{
    display:block;
    position:fixed;
    top:var(--hdr-h);
    left:0;
    right:0;
    bottom:0;
    background:var(--black);
    z-index:999;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    border-top:1px solid rgba(201,168,76,.1);
    pointer-events:all;
  }
  .nav.open .nav-list{flex-direction:column;gap:0;padding:20px;list-style:none}
  .nav.open .nl{
    display:block;
    font-size:20px;
    padding:18px 0;
    border-bottom:1px solid rgba(255,255,255,.06);
    border-radius:0;
    color:rgba(255,255,255,.75);
    touch-action:manipulation;
  }
  .nav.open .nl:hover,.nav.open .nl:active{color:var(--gold)}
  .grad-hero__title{font-size:clamp(42px,11vw,64px);letter-spacing:-1.5px}
  /* Mobile: stats move to inline row below buttons */
  .grad-hero__stats{
    position:static;
    transform:none;
    flex-direction:row;
    justify-content:flex-start;
    align-items:center;
    gap:0;
    margin-top:32px;
    padding-top:24px;
    border-top:1px solid rgba(201,168,76,.2);
    width:100%;
  }
  .hs-item{text-align:center;flex:1}
  .hs-n{font-size:clamp(22px,6vw,32px)}
  .hs-div{width:1px;height:40px;background:rgba(201,168,76,.2)}
  .grad-hero__btns{flex-direction:column;align-items:flex-start}
  .svc-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px 220px}
  .svc-grid .sc:nth-child(1){grid-column:1/3;grid-row:1}
  .svc-grid .sc:nth-child(2){grid-column:1;grid-row:2}
  .svc-grid .sc:nth-child(3){grid-column:2;grid-row:2}
  .svc-grid .sc:nth-child(4){grid-column:1;grid-row:3}
  .svc-grid .sc:nth-child(5){grid-column:2;grid-row:3}
  .sc__body p{max-height:60px;opacity:1}
  .sc__arrow{transform:translateX(0);opacity:1}
  .ps-dot{display:none}
  .ps-item{flex:1 1 50%;padding:14px 12px;font-size:12px}
  .rev-grid{grid-template-columns:1fr}
  .rc:last-child{grid-column:auto}
  .fct-btns{flex-direction:column;align-items:center}
  .footer-inner{grid-template-columns:1fr;gap:28px}
  .footer-bottom{flex-direction:column;text-align:center}
  .footer-legal-links{justify-content:center}
  .form-row{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr 1fr}
  .gal-grid .gi-cap{opacity:1}
}
@media(max-width:480px){
  .brand-text{font-size:10px}
  .svc-grid{grid-template-columns:1fr;grid-template-rows:repeat(5,200px)}
  .svc-grid .sc{grid-column:1 !important;grid-row:auto !important}
  .gal-grid{grid-template-columns:1fr;grid-template-rows:repeat(5,200px)}
  .gal-grid .gi{grid-column:1 !important;grid-row:auto !important}
  .stats-grid{grid-template-columns:1fr 1fr}
}
@media(min-width:1600px){
  .svc-grid{grid-template-rows:380px 380px}
  .gal-grid{grid-template-rows:420px 320px}
}

/* ── SITE WRAPPER ─────────────────────────────────────────── */
/* Normal pages: push content below fixed header */
.site-wrapper { padding-top: var(--hdr-h); min-height: calc(100vh - var(--hdr-h)); }
/* Front page: hero is fullscreen and handles its own padding */
.site-wrapper--front { padding-top: 0; }

/* ── FRONT PAGE ────────────────────────────────────────────── */
.front-page-main { padding-top: 0; }
.site-wrapper--front .grad-hero { height: 100svh; min-height: 580px; }
.site-main { padding-top: 0; }
/* Single posts with thumbnail */
.entry-hero { height: 480px; overflow: hidden; margin-bottom: 40px; }
.entry-hero-img { width: 100%; height: 100%; object-fit: cover; }
.entry-header { max-width: 1400px; margin: 0 auto; padding: 32px clamp(20px,4vw,60px) 24px; }
.entry-title { font: 700 clamp(28px,4vw,48px)/1.1 var(--serif); letter-spacing: -.5px; margin-bottom: 12px; }
.entry-meta { font: 400 12px/1 var(--mono); color: var(--gray-l); letter-spacing: .5px; display: flex; gap: 16px; flex-wrap: wrap; }
.entry-meta a { color: var(--gold); }
.entry-footer { max-width: 1400px; margin: 40px auto 0; padding: 0 clamp(20px,4vw,60px); border-top: 1px solid rgba(0,0,0,.08); padding-top: 20px; }
.entry-tags { font: 400 12px/2 var(--mono); color: var(--gray); }
.entry-tags a { color: var(--gold); margin-right: 8px; }
.nav-links { max-width: 1400px; margin: 0 auto; padding: 24px clamp(20px,4vw,60px); display: flex; justify-content: space-between; }
.nav-links a { font: 500 13px/1 var(--mono); color: var(--gold); letter-spacing: .5px; }

/* Pagination */
.pagination { text-align: center; padding: 40px 0; }
.pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin: 0 3px; border: 1px solid rgba(0,0,0,.1); border-radius: 4px; font: 400 14px/1 var(--sans); color: var(--black); transition: all .2s; }
.pagination .page-numbers.current { background: var(--gold); color: var(--black); border-color: var(--gold); font-weight: 700; }
.pagination .page-numbers:hover { border-color: var(--gold); color: var(--gold); }

/* Search form */
.search-form { display: flex; gap: 0; max-width: 480px; margin: 20px 0; }
.search-form .search-field { flex: 1; padding: 12px 16px; border: 1px solid rgba(0,0,0,.12); border-right: none; border-radius: 4px 0 0 4px; font: 300 14px var(--sans); outline: none; }
.search-form .search-field:focus { border-color: var(--gold); }
.search-form .search-submit { background: var(--gold); color: var(--black); border: none; padding: 12px 20px; border-radius: 0 4px 4px 0; font: 600 13px var(--sans); cursor: pointer; transition: background .2s; }
.search-form .search-submit:hover { background: var(--gold-l); }

/* Comments */
.comments-area { max-width: 1400px; margin: 48px auto 0; padding: 0 clamp(20px,4vw,60px) 48px; }
.comments-title { font: 700 24px/1 var(--serif); margin-bottom: 28px; padding-bottom: 16px; border-bottom: 1px solid rgba(0,0,0,.08); }
.comment-list { list-style: none; }
.comment-body { padding: 20px 0; border-bottom: 1px solid rgba(0,0,0,.06); }
.comment-author { font: 600 14px var(--sans); color: var(--black); }
.comment-metadata { font: 400 11px var(--mono); color: var(--gray-l); margin-bottom: 10px; }
.comment-content p { font: 300 14px/1.75 var(--sans); color: var(--gray); }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form textarea { width: 100%; padding: 10px 14px; border: 1px solid rgba(0,0,0,.1); border-radius: 4px; font: 300 14px var(--sans); margin-bottom: 14px; outline: none; transition: border-color .2s; }
.comment-form input[type="text"]:focus,
.comment-form input[type="email"]:focus,
.comment-form textarea:focus { border-color: var(--gold); }
.comment-form .submit { background: var(--gold); color: var(--black); border: none; padding: 12px 28px; border-radius: 4px; font: 600 13px var(--sans); cursor: pointer; transition: background .2s; }
.comment-form .submit:hover { background: var(--gold-l); }

/* ── CRITICAL: Prevent hero background from bleeding into page content ─── */
body { background: var(--white); }
.site-main { background: var(--white); position: relative; z-index: 1; }
.front-page-main { background: var(--black-s); }
.entry-content, .legal-content { background: var(--white); }

/* Impressum + Datenschutz: force white background for content area */
.page-hero--minimal + .site-main,
.page-hero--light + .site-main { background: var(--white); }

/* Hero sections must never overflow */
.page-hero { overflow: hidden !important; }

/* Legal content white bg guaranteed */
.legal-content { background: var(--white) !important; color: var(--black); max-width: 760px; padding: clamp(40px,5vw,80px) clamp(20px,4vw,60px); }
.legal-content h2 { color: var(--black); }
.legal-content h3 { color: var(--black-l); }
.legal-content p, .legal-content li { color: var(--gray); }


/* ── Front page blocks area (below PHP hero) ─────────────── */
.front-page-blocks {
  display: block;
  width: 100%;
}
.front-page-blocks > * {
  display: block;
}

@media(min-width:1025px){
  /* Reserve space on right for stats column */
  .grad-hero__content{
    max-width: calc(100% - clamp(160px, 18vw, 260px));
    padding-right: clamp(20px, 4vw, 60px);
  }
  .grad-hero__stats{
    /* Vertically center stats in the hero */
    top: 50%;
    transform: translateY(-50%);
    margin-top: 0;
  }
}

/* ── Mobile nav overlay (appended to body, escapes header stacking context) ── */
#nav-overlay {
  display: none;
  position: fixed;
  top: var(--hdr-h);
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--black);
  z-index: 9999;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  border-top: 1px solid rgba(201,168,76,.12);
}
#nav-overlay.open {
  display: block;
}
#nav-overlay .nav-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0;
  padding: 12px 0;
  list-style: none;
  margin: 0;
}
#nav-overlay .nl {
  display: block;
  font: 500 19px/1 var(--sans);
  color: rgba(255,255,255,.8);
  padding: 18px 28px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  text-decoration: none;
  letter-spacing: .3px;
  touch-action: manipulation;
}
#nav-overlay .nl:hover,
#nav-overlay .nl:active { color: var(--gold); }
#nav-overlay .nl.active { color: var(--gold); }
/* Body lock when nav open */
body.nav-is-open { overflow: hidden; }

/* ══ Service List Section (homepage) ════════════════════════ */
.svc-list-section {
  background: var(--black-s);
  padding: clamp(60px,8vw,120px) clamp(20px,5vw,80px);
}
.svc-list-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: clamp(40px,5vw,72px);
  flex-wrap: wrap;
}
.svc-list-header h2 {
  font: 800 clamp(36px,5vw,60px)/1 var(--serif);
  color: var(--white);
  letter-spacing: -1px;
  margin: 12px 0 8px;
}
.svc-list-header p {
  font: 300 15px/1.7 var(--sans);
  color: rgba(255,255,255,.45);
  max-width: 40ch;
  margin: 0;
}
.svc-list-cta {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 600 12px/1 var(--sans);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,.5);
  border: 1px solid rgba(255,255,255,.18);
  padding: 13px 22px;
  border-radius: var(--r);
  text-decoration: none;
  transition: color .2s, border-color .2s;
}
.svc-list-cta:hover { color: var(--gold); border-color: rgba(201,168,76,.4); }

/* Service rows */
.svc-list {
  display: flex;
  flex-direction: column;
  border-top: 1px solid rgba(255,255,255,.07);
}
.svc-row-item {
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 24px 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
  text-decoration: none;
  transition: background .2s;
  cursor: pointer;
  color: inherit;
}
.svc-row-item:hover { background: rgba(201,168,76,.04); }
.svc-row-item:hover .sri-title { color: var(--gold); }
.svc-row-item:hover .sri-arrow { color: var(--gold); transform: translateX(4px); }

.sri-num {
  font: 400 11px/1 var(--mono);
  letter-spacing: 2px;
  color: var(--gold);
  flex-shrink: 0;
  width: 28px;
}
.sri-body {
  flex: 1;
  display: flex;
  align-items: baseline;
  gap: 16px;
  flex-wrap: wrap;
}
.sri-title {
  font: 600 clamp(16px,2vw,20px)/1.2 var(--sans);
  color: var(--white);
  transition: color .2s;
  flex-shrink: 0;
}
.sri-desc {
  font: 300 14px/1.5 var(--sans);
  color: rgba(255,255,255,.38);
}
.sri-arrow {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(201,168,76,.25);
  color: rgba(255,255,255,.35);
  transition: color .2s, transform .2s, border-color .2s;
}
.sri-arrow svg { width: 16px; height: 16px; }

@media(max-width: 640px) {
  .svc-list-header { align-items: flex-start; flex-direction: column; gap: 20px; }
  .svc-row-item { gap: 16px; }
  .sri-body { flex-direction: column; gap: 4px; }
  .sri-desc { display: none; }   /* hide desc on very small screens */
}

/* ══ Home Two-Column Split (services + gallery) ══════════════ */
.home-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  min-height: 560px;
}

/* Left: service list */
.home-split__services {
  /* inherits .svc-list-section styles */
}
.home-split__services .svc-list-section {
  height: 100%;
  padding: clamp(48px,6vw,80px) clamp(28px,4vw,60px);
}
.home-split__services .svc-list-header {
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 32px;
}
.home-split__services .svc-list-cta {
  margin-top: 8px;
}

/* Right: gallery */
.home-split__gallery {
  position: relative;
  background: var(--black);
  overflow: hidden;
}
.home-split__gallery .galerie,
.home-split__gallery .galerie--managed {
  height: 100%;
  padding: 0;
}
.home-split__gallery .gal-grid {
  height: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 3px;
}
.home-split__gallery .gal-grid .gi {
  min-height: 200px;
}
.home-split__gallery .gal-grid .gi:first-child {
  grid-column: 1 / 3;  /* first image spans full width */
}
.home-split__gallery .gal-header { display: none; }
.home-split__gallery .gal-cta { display: none; }

/* Placeholder when gallery plugin has no images yet */
.gal-placeholder {
  height: 100%;
  min-height: 360px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(40px,5vw,72px) clamp(28px,4vw,60px);
  background: var(--black);
  border-left: 1px solid rgba(255,255,255,.06);
}
.gal-placeholder h3 {
  font: 700 clamp(22px,2.5vw,30px)/1.2 var(--serif);
  color: var(--white);
  margin: 14px 0 12px;
}
.gal-placeholder p {
  font: 300 14px/1.75 var(--sans);
  color: rgba(255,255,255,.4);
  margin-bottom: 8px;
}
.gal-placeholder code {
  font: 400 12px/1 var(--mono);
  color: var(--gold);
  background: rgba(201,168,76,.08);
  padding: 4px 8px;
  border-radius: 3px;
}

/* Tablet: stack vertically */
@media(max-width: 900px) {
  .home-split {
    grid-template-columns: 1fr;
  }
  .home-split__gallery .gal-grid {
    grid-template-rows: 220px 220px;
  }
  .home-split__services .svc-list-section {
    height: auto;
  }
}

/* Mobile: even simpler */
@media(max-width: 640px) {
  .home-split__gallery .gal-grid .gi:first-child {
    grid-column: 1 / 2;
  }
  .home-split__gallery .gal-grid {
    grid-template-rows: 180px 180px;
  }
}

/* ── Home gallery column ─────────────────────────────────── */
.home-gal-wrap {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--black);
}
.home-gal-header {
  padding: clamp(28px,3vw,48px) clamp(24px,3vw,40px) 20px;
  flex-shrink: 0;
}
.home-gal-header h2 {
  font: 800 clamp(28px,3.5vw,42px)/1.1 var(--serif);
  color: var(--white);
  letter-spacing: -0.5px;
  margin: 10px 0 0;
}
.gal-grid--home {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: 180px;
  gap: 3px;
  flex: 1;
}
/* First image spans full width (hero image) */
.gal-grid--home .gi:first-child {
  grid-column: 1 / 3;
  height: 240px;
}
.gal-grid--home .gi {
  height: 180px;
}
.home-gal-cta {
  padding: 20px clamp(24px,3vw,40px) clamp(24px,3vw,40px);
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  flex-shrink: 0;
}
.home-gal-note {
  font: 300 12px/1.5 var(--sans);
  color: rgba(255,255,255,.3);
  margin: 0;
}
.home-gal-note strong { color: var(--gold); font-weight: 500; }

/* ── Two-column split overrides ──────────────────────────── */
.home-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-top: 1px solid rgba(255,255,255,.07);
}
.home-split__services .svc-list-section {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.home-split__gallery {
  border-left: 1px solid rgba(255,255,255,.07);
}

@media(max-width:900px) {
  .home-split { grid-template-columns: 1fr; }
  .home-split__gallery { border-left: none; border-top: 1px solid rgba(255,255,255,.07); }
  .gal-grid--home { grid-auto-rows: 160px; }
  .gal-grid--home .gi { height: 160px; }
  .gal-grid--home .gi:first-child { grid-column: 1 / 3; height: 200px; }
}

/* ════════════════════════════════════════════════════════════
   HOME PAGE – CLEAN SECTION STYLES (override all previous)
════════════════════════════════════════════════════════════ */

/* Proof strip */
.proof-strip {
  background: var(--black-s);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.proof-strip-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 clamp(20px,4vw,60px);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  justify-content: center;
}
.ps-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 20px 28px;
  font: 400 13px/1 var(--sans);
  color: rgba(255,255,255,.55);
  white-space: nowrap;
}
.ps-icon {
  width: 18px;
  height: 18px;
  color: var(--gold);
  flex-shrink: 0;
}
.ps-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(201,168,76,.3);
  flex-shrink: 0;
}

/* Two-column split */
.home-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 580px;
  border-top: 1px solid rgba(255,255,255,.06);
}
.home-split__services {
  background: var(--black-s);
  padding: clamp(40px,5vw,72px) clamp(24px,4vw,60px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.home-split__gallery {
  background: var(--black);
  border-left: 1px solid rgba(255,255,255,.06);
  display: flex;
  flex-direction: column;
}

/* Service list in split */
.home-split__services .svc-list-section {
  height: auto;
  padding: 0;
  background: transparent;
}
.home-split__services .svc-list-header {
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 28px;
  gap: 10px;
}
.home-split__services .svc-list-header h2 {
  font: 800 clamp(28px,3.5vw,44px)/1 var(--serif);
  color: var(--white);
  letter-spacing: -0.5px;
  margin: 0;
}
.home-split__services .svc-list-header p {
  color: rgba(255,255,255,.4);
  font: 300 14px/1.6 var(--sans);
  margin: 0;
}
.home-split__services .svc-list-cta {
  align-self: flex-start;
  font: 500 11px/1 var(--mono);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
  border: 1px solid rgba(255,255,255,.15);
  padding: 11px 18px;
  border-radius: 4px;
  text-decoration: none;
  transition: color .2s, border-color .2s;
}
.home-split__services .svc-list-cta:hover {
  color: var(--gold);
  border-color: rgba(201,168,76,.4);
}

/* Gallery in split */
.home-gal-wrap {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 420px;
}
.home-gal-header {
  padding: clamp(24px,3vw,40px) clamp(24px,3vw,40px) 16px;
  flex-shrink: 0;
}
.home-gal-header .tag {
  margin-bottom: 10px;
}
.home-gal-header h2 {
  font: 800 clamp(24px,3vw,36px)/1.1 var(--serif);
  color: var(--white);
  letter-spacing: -0.3px;
  margin: 0;
}
.gal-grid--home {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: 160px;
  gap: 3px;
  min-height: 200px;
}
.gal-grid--home .gi {
  height: 160px;
  min-height: unset;
}
.gal-grid--home .gi:first-child {
  grid-column: 1 / 3;
  height: 220px;
}
.home-gal-cta {
  padding: 16px clamp(24px,3vw,40px) clamp(20px,3vw,36px);
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  flex-shrink: 0;
}
.home-gal-note {
  font: 300 12px/1.5 var(--sans);
  color: rgba(255,255,255,.3);
  margin: 0;
}
.home-gal-note strong { color: var(--gold); }

/* Gallery placeholder */
.gal-placeholder {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(32px,4vw,60px) clamp(24px,3vw,40px);
}
.gal-placeholder h3 {
  font: 700 clamp(20px,2.5vw,28px)/1.2 var(--serif);
  color: var(--white);
  margin: 12px 0 10px;
}
.gal-placeholder p {
  font: 300 13px/1.75 var(--sans);
  color: rgba(255,255,255,.38);
  margin-bottom: 8px;
}
.gal-placeholder code {
  font: 400 12px/1 var(--mono);
  color: var(--gold);
  background: rgba(201,168,76,.08);
  padding: 4px 8px;
  border-radius: 3px;
}

/* BA section */
.ba-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  min-height: 480px;
}
.ba-section--flip .ba-img { order: 2; }
.ba-section--flip .ba-text { order: 1; }
.ba-img {
  position: relative;
  overflow: hidden;
  min-height: 400px;
}
.ba-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 400px;
}
.ba-label {
  position: absolute;
  bottom: 24px;
  left: 24px;
  font: 500 10px/1 var(--mono);
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--gold);
  background: rgba(8,8,8,.75);
  padding: 8px 14px;
  border-radius: 3px;
  border: 1px solid rgba(201,168,76,.2);
}
.ba-text {
  background: var(--off);
  padding: clamp(40px,6vw,88px) clamp(28px,5vw,72px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ba-text h2 {
  font: 800 clamp(28px,4vw,48px)/1.05 var(--serif);
  color: var(--black);
  margin-bottom: 28px;
  letter-spacing: -0.5px;
}

/* Stats */
.grad-stats {
  background: var(--black-s);
  border-top: 1px solid rgba(201,168,76,.08);
  border-bottom: 1px solid rgba(201,168,76,.08);
}
.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(201,168,76,.08);
  max-width: 100%;
}
.stat-item {
  background: var(--black-s);
  padding: clamp(36px,4vw,60px) clamp(20px,3vw,40px);
  text-align: center;
}
.stat-num {
  display: block;
  font: 900 clamp(40px,5vw,64px)/1 var(--serif);
  color: var(--white);
  margin-bottom: 10px;
}
.stat-label {
  display: block;
  font: 300 13px/1.4 var(--sans);
  color: rgba(255,255,255,.4);
  max-width: 18ch;
  margin: 0 auto;
}

/* Reviews */
.reviews {
  background: var(--black);
  padding: clamp(60px,8vw,100px) 0;
}
.rev-header {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 clamp(20px,4vw,60px);
  margin-bottom: clamp(32px,4vw,56px);
}
.rev-header h2 {
  font: 800 clamp(32px,4vw,52px)/1.1 var(--serif);
  color: var(--white);
  letter-spacing: -0.5px;
  margin: 12px 0 0;
}
.rev-grid {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 clamp(20px,4vw,60px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(255,255,255,.06);
}
.rc {
  background: var(--black);
  padding: clamp(28px,3vw,44px);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.rc-stars {
  color: var(--gold);
  font-size: 14px;
  letter-spacing: 3px;
}
.rc p {
  font: 300 15px/1.75 var(--sans);
  color: rgba(255,255,255,.5);
  font-style: italic;
  flex: 1;
}
.rc strong {
  font: 500 11px/1 var(--mono);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,.3);
}
.rc-loc {
  color: rgba(255,255,255,.2);
}

/* Final CTA */
.final-cta {
  background: var(--black-s);
  border-top: 1px solid rgba(201,168,76,.12);
  padding: clamp(72px,10vw,120px) clamp(20px,4vw,60px);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.final-cta::before {
  content: '360°';
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font: 900 clamp(200px,25vw,360px)/1 var(--serif);
  color: rgba(201,168,76,.03);
  pointer-events: none;
  letter-spacing: -10px;
}
.fct-inner {
  position: relative;
  z-index: 1;
  max-width: 600px;
  margin: 0 auto;
}
.fct-inner h2 {
  font: 800 clamp(36px,5vw,66px)/1.05 var(--serif);
  color: var(--white);
  letter-spacing: -1px;
  margin: 16px 0 12px;
}
.fct-inner p {
  font: 300 16px/1.7 var(--sans);
  color: rgba(255,255,255,.45);
  margin-bottom: 32px;
}
.fct-btns {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}
.btn-lg {
  padding: 18px 40px !important;
  font-size: 14px !important;
}
.btn-ghost-light {
  display: inline-flex;
  align-items: center;
  color: rgba(255,255,255,.55);
  font: 500 13px/1 var(--sans);
  padding: 18px 28px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--r);
  text-decoration: none;
  letter-spacing: 0.5px;
  transition: color .2s, border-color .2s;
}
.btn-ghost-light:hover { color: var(--gold); border-color: rgba(201,168,76,.4); }
.fct-note {
  font: 400 11px/1 var(--mono);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,.2);
}

/* ── Responsive ───────────────────────────────────────────── */
@media(max-width:1024px) {
  .home-split { grid-template-columns: 1fr; min-height: auto; }
  .home-split__gallery { border-left: none; border-top: 1px solid rgba(255,255,255,.06); }
  .gal-grid--home .gi:first-child { grid-column: 1/3; }
  .stats-grid { grid-template-columns: repeat(2,1fr); }
  .rev-grid { grid-template-columns: 1fr; }
  .ba-section { grid-template-columns: 1fr; min-height: auto; }
  .ba-img { min-height: 300px; order: 1 !important; }
  .ba-img img { min-height: 300px; }
  .ba-text { order: 2 !important; }
  .fct-btns { flex-direction: column; align-items: center; }
}
@media(max-width:640px) {
  .ps-item { padding: 14px 16px; font-size: 12px; }
  .ps-dot { display: none; }
  .gal-grid--home .gi:first-child { grid-column: 1/2; height: 160px; }
  .gal-grid--home .gi { height: 150px; }
  .stat-num { font-size: clamp(32px,8vw,48px); }
  .stats-grid { grid-template-columns: repeat(2,1fr); }
}
