/* Stilerei – neues Erscheinungsbild (2026). Schriften lokal, siehe fonts.css */
@import url(fonts.css);
:root{
    --paper:#F6F1E9; --paper-2:#EFE7DA; --ink:#1B2130; --muted:#6A6356;
    --rust:#B0461E; --gold:#C9A961; --rust-dark:#8E3716; --line:#DCD2C2; --navy:#1E2A44;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  body{background:var(--paper);color:var(--ink);font:400 17px/1.6 Inter,system-ui,sans-serif;min-height:100vh;display:flex;flex-direction:column}
  main{flex:1 0 auto}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:1200px;margin:0 auto;padding:0 40px}
  .serif{font-family:"Cormorant Garamond",Georgia,serif}
  .eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--rust);font-weight:600}

  /* Kopf */
  header{border-bottom:1px solid var(--line);background:var(--paper)}
  header .wrap{display:flex;align-items:center;justify-content:space-between;height:84px}
  .brand{display:flex;align-items:center;gap:14px}
  .brand img{height:56px}
  .wm{display:flex;flex-direction:column;gap:4px}
  .wm b{font:600 24px/1 "Cormorant SC",serif;letter-spacing:.28em;color:var(--ink);padding-bottom:6px;border-bottom:1px solid var(--rust)}
  .wm small{font:500 9px/1 Inter,sans-serif;letter-spacing:.32em;color:var(--rust)}
  footer .wm b{color:var(--gold);border-color:var(--gold);font-size:26px}
  footer .wm small{color:#C9C1B3}
  .fbrand{display:flex;align-items:center;gap:16px}
  .fbrand img{height:64px}
  .fcontact{margin-top:14px}
  .mainnav{display:flex;gap:32px;font-size:15px;font-weight:500}
  .mainnav a{padding:6px 0;border-bottom:1px solid transparent}
  .mainnav a:hover,.mainnav a.on{border-color:var(--rust)}
  .btn{display:inline-block;padding:13px 24px;border-radius:2px;font-weight:600;font-size:15px}
  .btn-primary{background:var(--rust);color:#fff}
  .btn-ghost{border:1px solid var(--ink)}
  .btn-sm{padding:10px 18px;font-size:14px}

  /* Hero */
  .hero{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;max-width:1200px;margin:48px auto 0;padding:0 40px;min-height:540px}
  .hero-text{padding:24px 0;display:flex;flex-direction:column;justify-content:center}
  .hero h1{font-size:68px;line-height:1.02;font-weight:500;margin:18px 0 22px}
  .hero h1 em{color:var(--rust)}
  .hero p{font-size:19px;color:var(--muted);max-width:30em;margin-bottom:34px}
  .hero .actions{display:flex;gap:14px}
  .hero-img{position:relative;overflow:hidden;background:var(--navy)}
  .slide{position:absolute;inset:0;background:center/cover no-repeat;opacity:0;transition:opacity 1.2s ease}
  .slide.on{opacity:1}
  .sl-nav{position:absolute;left:0;right:0;bottom:22px;display:flex;justify-content:center;align-items:center;gap:10px;z-index:2}
  .sl-dot{width:9px;height:9px;border-radius:50%;border:1px solid #fff;background:transparent;cursor:pointer;padding:0}
  .sl-dot.on{background:#fff}
  .sl-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border:0;background:rgba(30,42,68,.55);color:#fff;font-size:20px;cursor:pointer}
  .sl-arrow:hover{background:var(--navy)}
  .sl-prev{left:0}.sl-next{right:0}
  @media (prefers-reduced-motion:reduce){.slide{transition:none}}

  /* Leistungen */
  section{padding:96px 0}
  .head{display:flex;justify-content:space-between;align-items:end;margin-bottom:44px}
  .head h2{font-size:44px;font-weight:500;line-height:1.1;margin-top:10px}
  .head a{font-weight:600;font-size:15px;color:var(--rust)}
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
  .card{background:#fff;border:1px solid var(--line);padding:36px 32px 32px}
  .card .num{font-family:"Cormorant Garamond",serif;font-size:22px;color:var(--rust)}
  .card h3{font-family:"Cormorant Garamond",serif;font-size:31px;font-weight:600;margin:8px 0 12px}
  .card p{color:var(--muted);font-size:16px;margin-bottom:20px}
  .card ul{list-style:none;border-top:1px solid var(--line)}
  .card li{padding:11px 0;border-bottom:1px solid var(--line);font-size:15px;display:flex;justify-content:space-between}
  .card li span{color:var(--rust)}

  /* Parallax-Band */
  .para{position:relative;background:linear-gradient(rgba(30,42,68,.28),rgba(30,42,68,.28)),url(../../pics/Startseite.png) 25% center/cover fixed;background-color:#1E2A44;padding:110px 0}
  .para .wrap{display:flex;justify-content:flex-end}
  .para .bg{display:none}
  .para .panel{position:relative;background:var(--navy);color:#F2ECE1;max-width:560px;padding:56px 56px 52px}
  .para blockquote{font-family:"Cormorant Garamond",serif;font-size:42px;line-height:1.12;font-style:italic;margin:14px 0 20px;color:var(--gold)}
  .para p{color:#C9C1B3;margin-bottom:28px}
  .para .eyebrow{color:var(--gold)}
  .para .panel{border-top:2px solid var(--gold)}
  /* Adress-Kacheln */
  .tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
  .tile .img{aspect-ratio:3/4;background:#fff center/cover no-repeat;margin-bottom:16px}
  .tile b{display:block;font-family:"Cormorant Garamond",serif;font-size:26px;font-weight:600;line-height:1.1}
  .tile small{color:var(--muted);font-size:14px}
  /* Blog-Liste rotiert */
  .post-side{transition:opacity .6s ease}
  .post-side.fade{opacity:0}
  .rot-nav{display:flex;gap:10px;margin-top:28px;justify-content:flex-end}
  .rot-nav button{width:26px;height:3px;border:0;background:var(--line);cursor:pointer;padding:0}
  .rot-nav button.on{background:var(--rust)}
  /* Adress-Karussell */
  .car{position:relative;overflow:hidden}
  .car-track{display:flex;gap:24px;transition:transform .8s ease}
  .car .tile{flex:0 0 calc((100% - 72px)/4)}
  .car-arrow{position:absolute;top:41%;transform:translateY(-50%);width:44px;height:44px;border:0;background:rgba(30,42,68,.7);color:#fff;font-size:20px;cursor:pointer;z-index:2}
  .car-prev{left:0}.car-next{right:0}
  @media (prefers-reduced-motion:reduce){.car-track,.post-side{transition:none}}

  /* Blog */
  .blog{display:grid;grid-template-columns:1.4fr 1fr;gap:36px}
  .post-main .img{height:340px;background:#e9e2d6 center 30%/cover;margin-bottom:22px}
  .meta{font-size:13px;color:var(--muted);letter-spacing:.04em}
  .post-main h3{font-family:"Cormorant Garamond",serif;font-size:36px;font-weight:600;line-height:1.1;margin:6px 0 10px}
  .post-main p{color:var(--muted)}
  .post-side{display:flex;flex-direction:column;gap:28px}
  .post-s[hidden],.car-arrow[hidden]{display:none}
  .post-s{display:grid;grid-template-columns:150px 1fr;gap:20px;padding-bottom:28px;border-bottom:1px solid var(--line)}
  .post-s .img{position:relative;height:110px;background-size:cover;background-position:center}
  .post-s .play-s{position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;background:rgba(30,42,68,.85)}
  .post-s .play-s:after{content:"";position:absolute;left:16px;top:12px;border-left:12px solid var(--gold);border-top:8px solid transparent;border-bottom:8px solid transparent}
  .post-s h4{font-family:"Cormorant Garamond",serif;font-size:24px;font-weight:600;line-height:1.15;margin:4px 0}


  /* Personen */
  .people{display:grid;grid-template-columns:1fr 1fr;gap:28px}
  .person{display:grid;grid-template-columns:170px 1fr;gap:26px;align-items:start;background:#fff;border:1px solid var(--line);padding:24px}
  .person .img{height:265px;background-size:cover;background-position:center top}
  .person h4{font-family:"Cormorant Garamond",serif;font-size:28px;font-weight:600;line-height:1.15;margin-bottom:6px}
  .person .role{font-size:13px;color:var(--rust);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}
  .person p{color:var(--muted);font-size:15px}

  /* Kontakt */
  .cta{text-align:center;padding:96px 0;border-top:1px solid var(--line)}
  .cta h2{font-size:52px;font-weight:500;line-height:1.08;margin:12px 0 16px}
  .cta p{color:var(--muted);max-width:34em;margin:0 auto 32px}

  footer{background:var(--ink);color:#B9B2A5;font-size:14px;padding:44px 0}
  footer .wrap{display:flex;justify-content:space-between;align-items:flex-end}
  footer .links{display:flex;gap:26px;align-items:center}
  footer .links a{padding-bottom:3px;border-bottom:1px solid transparent}
  footer .links a:hover{color:#F2ECE1}
  footer .links a.on{color:var(--gold);border-color:var(--gold)}
  footer .links a.yt{border:0}
  .yt{display:inline-flex;align-items:center;gap:8px;color:#F2ECE1;font-weight:600}
  .yt svg{width:22px;height:16px}

  /* Mobil */
  @media (max-width:760px){
    .wrap{padding:0 20px}
    header .wrap{height:68px}
    .brand img{height:42px}
    .wm b{font-size:19px}
    .wm small{font-size:7.5px}
    .mainnav{display:none}
    .hero{grid-template-columns:1fr;gap:0;margin:0;padding:0;min-height:0}
    .hero-img{order:-1;height:260px}
    .hero-text{padding:36px 20px 48px}
    .hero h1{font-size:44px}
    .hero p{font-size:17px}
    .hero .actions{flex-direction:column}
    .hero .btn{text-align:center}
    section{padding:60px 0}
    .head{display:block}
    .head h2{font-size:34px}
    .head a{display:inline-block;margin-top:10px}
    .cards,.blog,.people{grid-template-columns:1fr}
    .tiles{grid-template-columns:1fr 1fr;gap:18px}
    .car-track{gap:18px}
    .car .tile{flex:0 0 calc((100% - 18px)/2)}
    .car-arrow{top:38%}
    .rot-nav{justify-content:flex-start}
    .tile b{font-size:21px}
    .para{background:none;padding:0}
    .para .bg{display:block;position:sticky;top:0;height:60vh;background:linear-gradient(rgba(30,42,68,.28),rgba(30,42,68,.28)),url(../../pics/Startseite.png) 30% center/cover}
    .para .panel{margin-top:-28vh;max-width:none;padding:40px 20px 48px}
    .para .wrap{padding:0}
    .para blockquote{font-size:31px}
    .post-main .img{height:220px}
    .post-s{grid-template-columns:110px 1fr}
    .person{grid-template-columns:110px 1fr}
    .person .img{height:170px}
    .cta h2{font-size:36px}
    footer .wrap{flex-direction:column;gap:16px}
    footer .links{flex-wrap:wrap;gap:14px 22px}
  }
  /* Menue-Knopf (Handy) */
  .menu-btn{display:none;font:600 14px Inter,sans-serif;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:8px 14px;cursor:pointer}
  @media (max-width:1000px){
    .mainnav{display:none}
    .menu-btn{display:block} .head-cta{display:none}
    header{position:relative}
    header.open .mainnav{display:flex;flex-direction:column;gap:0;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);padding:8px 20px 20px;z-index:20}
    header.open .mainnav a{padding:14px 0;border-bottom:1px solid var(--line);font-size:17px}
    header.open .mainnav .m-cta{display:block;margin-top:16px;text-align:center;border:0}
  }
  .mainnav .m-cta{display:none}
  /* Tablet */
  @media (max-width:1000px) and (min-width:761px){
    .hero{grid-template-columns:1fr 1fr;gap:36px;padding:0 32px;min-height:460px}
    .hero h1{font-size:50px}
    .cards{grid-template-columns:1fr}
    .blog{grid-template-columns:1fr}
    .car .tile{flex:0 0 calc((100% - 48px)/3)}
    .people{grid-template-columns:1fr}
    .para .panel{max-width:520px}
  }
  /* Monogramm, wenn eine Adresse kein Foto hat */
  .mono{background:var(--navy)!important;position:relative;display:flex;align-items:center;justify-content:center}
  .mono:before{content:"";position:absolute;inset:14px;border:1px solid rgba(201,169,97,.45)}
  .mono span{font:500 56px/1 "Cormorant SC","Cormorant Garamond",serif;letter-spacing:.08em;color:var(--gold)}
  .tile .img.contain{background-size:contain;background-origin:content-box;padding:16px;border:1px solid var(--line)}
  a:focus-visible,button:focus-visible{outline:2px solid var(--rust);outline-offset:3px}

  /* Grossansicht und Video-Overlay (seitenuebergreifend) */
  .lb,.pv{position:fixed;inset:0;background:rgba(20,26,40,.96);display:none;align-items:center;justify-content:center;z-index:50;padding:20px}
  .lb.on,.pv.on{display:flex}
  .lb figure{margin:0;text-align:center}
  .lb img{max-width:88vw;max-height:82vh;object-fit:contain;display:block;margin:0 auto}
  .lb figcaption{color:#C9C1B3;font-size:14px;margin-top:14px}
  .lb figcaption b{color:var(--gold);font-weight:500;margin-right:10px}
  .lb button,.pv .x{position:absolute;border:0;background:transparent;color:#F2ECE1;font-size:40px;cursor:pointer;padding:10px 18px}
  .lb .lb-x,.pv .x{top:14px;right:18px;font-size:34px}
  .lb .lb-p{left:10px;top:50%;transform:translateY(-50%)}
  .lb .lb-n{right:10px;top:50%;transform:translateY(-50%)}
  .lb [hidden]{display:none}
  .pv .box{width:min(1100px,100%)}
  .pv .fr{aspect-ratio:16/9;background:#000}
  .pv iframe{width:100%;height:100%;border:0;display:block}
  .pv .t{font:500 26px "Cormorant Garamond",serif;color:#F2ECE1;margin-top:14px}
  .pv small{color:#9FA6B5;font-size:12px}

  /* Bildband (seitenuebergreifend) */
  /* Bildband: feste Hoehe, jedes Bild behaelt sein Format */
  .strip{position:relative;max-width:1200px;margin:16px auto 48px;padding:0 40px}
  .strip-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:4px}
  .strip-track::-webkit-scrollbar{display:none}
  .strip figure{flex:0 0 auto;margin:0;scroll-snap-align:start}
  .strip img{display:block;height:440px;width:auto;cursor:zoom-in;background:#fff}
  .strip figcaption{font-size:13px;color:var(--muted);margin-top:8px;max-width:100%}
  .strip-arrow{position:absolute;top:220px;transform:translateY(-50%);width:44px;height:44px;border:0;background:rgba(30,42,68,.75);color:#fff;font-size:20px;cursor:pointer;z-index:2}
  .strip-prev{left:40px}.strip-next{right:40px}
  .strip-arrow[disabled]{opacity:0;pointer-events:none}
  .strip-count{font-size:13px;color:var(--muted);margin-top:14px;text-align:right}
    .strip{padding:0 0 0 20px}
    .strip img{height:300px}
    .strip-arrow{display:none}
    .strip-count{padding-right:20px}
  @media (max-width:760px){
    .strip{padding:0 0 0 20px}
    .strip img{height:300px}
    .strip-arrow{display:none}
    .strip-count{padding-right:20px}
  }

  /* Pfeile rechts unten */
  .scrollnav{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:6px;z-index:40}
  .scrollnav[hidden]{display:none}
  .scrollnav button{width:44px;height:44px;border:1px solid rgba(201,169,97,.5);background:var(--navy);color:var(--gold);font-size:20px;line-height:1;cursor:pointer;transition:opacity .25s,background .2s}
  .scrollnav button:hover{background:#2A3A5E}
  .scrollnav button:disabled{opacity:0;pointer-events:none}
  @media (max-width:760px){ .scrollnav{right:12px;bottom:12px} .scrollnav button{width:40px;height:40px;font-size:18px} }
  @media print{ .scrollnav{display:none} }
