@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--ink:#191916;--paper:#f1efe9;--muted:#77766f;--line:rgba(25,25,22,.18);--accent:#a88b68}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}.grain{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E")}.header{height:88px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:30;top:0;width:100%;color:#fff;border-bottom:1px solid #ffffff30}.wordmark{font-size:15px;letter-spacing:.15em;font-weight:600;text-decoration:none;color:inherit;line-height:1.2}.wordmark i{font-family:'Playfair Display',serif;font-weight:500}.wordmark small{display:block;font-size:8px;letter-spacing:.3em;margin-top:7px;opacity:.65}.nav{display:flex;align-items:center;gap:38px}.nav a,.footer a{font-size:11px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:inherit}.nav a:hover,.footer a:hover{color:var(--accent)}.nav-cta{border:1px solid #ffffff80;padding:13px 18px}.nav-cta b{margin-left:15px}.menu-toggle{display:none}.hero{height:min(850px,100svh);min-height:650px;position:relative;color:white;display:flex;align-items:center;background:#252520;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('img/hero.jpg') center 46%/cover;transform:scale(1.04);animation:heroZoom 14s ease-out forwards}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,9,.66),rgba(10,10,9,.12) 75%),linear-gradient(0deg,rgba(0,0,0,.3),transparent 45%)}.hero-content{position:relative;margin-left:12vw;margin-top:65px}.eyebrow{font-size:9px;letter-spacing:.24em;color:var(--accent);font-weight:600}.eyebrow.light{color:#d7c4a9}.hero h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.045em}.hero h1{font-size:clamp(58px,8.6vw,125px);line-height:.98;margin:35px 0 25px}.hero h1 em,h2 em{font-weight:500;color:var(--accent)}.hero h1 em{color:#d7c4a9}.hero-sub{font-size:13px;letter-spacing:.08em;color:#eee}.round-link{display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffff80;border-radius:50%;color:white;text-decoration:none;margin-top:55px;transition:.3s}.round-link:hover{background:white;color:#111;transform:translateY(5px)}.hero-index{position:absolute;bottom:40px;right:6vw;font-size:10px;letter-spacing:.2em}.hero-index span{margin-left:25px;color:#ffffff9c}.section{padding:110px 10vw}.section-kicker{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px;font-size:9px;letter-spacing:.18em;color:var(--muted)}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;padding:90px 0 30px}.intro h2,.feature-heading h2,.jewel h2,.art h2,.contact h2{font-size:clamp(43px,6vw,80px);line-height:1.06;margin:0}.intro-copy{max-width:480px;padding-top:10px}.intro-copy p,.jewel-intro>p,.art-copy p{font-size:14px;line-height:1.95;color:#55544f;margin:0 0 18px}.text-link{display:inline-block;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--accent);padding:12px 0;margin-top:15px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.text-link span{margin-left:22px;color:var(--accent)}.portrait{background:#e8e5dd}.feature-heading{display:flex;justify-content:space-between;align-items:end;padding:85px 0 50px}.feature-heading>p{font-family:'Playfair Display',serif;font-style:italic;color:var(--muted);font-size:18px}.portrait-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.photo{margin:0;overflow:hidden;position:relative;background:#d5d0c6}.photo img{width:100%;height:100%;display:block;object-fit:contain;transition:filter .5s;cursor:default}.photo:hover img{filter:brightness(.96)}.portrait-grid .photo{height:390px}.portrait-grid .tall{height:560px;grid-row:span 2}.portrait-grid .wide{grid-column:span 2}.photo figcaption{font-size:9px;letter-spacing:.13em;text-transform:uppercase;padding:12px 2px;color:#6f6c65}.service-note{display:grid;grid-template-columns:1fr 2fr;gap:30px;border-top:1px solid var(--line);margin-top:65px;padding-top:25px}.service-note span,.contact-details small{font-size:9px;letter-spacing:.2em;color:var(--accent)}.service-note p{font-size:14px;line-height:1.8;max-width:650px;color:#555}.service-note strong{color:var(--ink)}.jewel{background:#1c1c19;color:#f1efe9}.jewel .section-kicker{border-color:#ffffff35;color:#aaa79e}.jewel-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:10%;align-items:end;padding:90px 0 70px}.jewel h2 em{color:#c2a784}.jewel-intro>p{color:#b9b6ad;max-width:440px}.jewel .eyebrow{margin-bottom:24px}.jewel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 16px}.jewel-grid .photo{height:360px;background:#333}.jewel-grid .photo.offset{margin-top:55px}.jewel-grid .photo figcaption{color:#aaa79e}.credit{font-size:10px;color:#aaa79e;margin-top:35px;letter-spacing:.04em}.art{background:#dcd8cf}.art-intro{display:grid;grid-template-columns:.8fr 1.2fr;column-gap:8%;padding:90px 0 70px}.art-intro>.eyebrow{grid-column:1/-1;margin:0 0 30px}.art-intro h2{grid-column:1;grid-row:2}.art-copy{grid-column:2;grid-row:2;max-width:570px}.art-copy p{color:#57564f}.art-gallery{display:grid;grid-template-columns:1fr 1fr;gap:55px 22px}.art-work{margin:0}.art-work img{width:100%;height:clamp(280px,42vw,570px);object-fit:contain;display:block;transition:filter .5s;background:#d2cec5;cursor:default}.art-work:nth-child(even){margin-top:100px}.art-work figcaption{display:flex;justify-content:space-between;align-items:start;padding-top:17px;border-top:1px solid var(--line);margin-top:14px}.art-work figcaption b{font-family:'Playfair Display',serif;font-size:22px;font-weight:500}.art-work figcaption span{font-size:10px;line-height:1.7;color:#6c6962;text-align:right}.contact{background:#1b1b18;color:#f1efe9}.contact .section-kicker{border-color:#ffffff35;color:#aaa79e}.contact-inner{padding:100px 0 25px}.contact h2{font-size:clamp(48px,7vw,90px);margin:28px 0 45px}.contact h2 em{color:#c2a784}.contact-button{display:inline-flex;gap:70px;align-items:center;border:1px solid #ffffff70;padding:18px 22px;text-decoration:none;color:white;font-size:11px;letter-spacing:.12em;text-transform:uppercase;transition:.3s}.contact-button:hover{background:#f1efe9;color:#1b1b18}.contact-button span{color:#c2a784}.contact-details{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff35;margin-top:100px;padding-top:25px}.contact-details p{font-size:13px;line-height:1.8;color:#d1cec5}.contact-details a{color:inherit;text-decoration:none}.footer{background:#11110f;color:#d4d1c9;padding:35px 6vw;display:flex;justify-content:space-between;align-items:center;gap:20px}.footer>span{font-size:9px;letter-spacing:.18em;color:#85837b}.footer div{display:flex;gap:24px}.footer a{font-size:9px}.to-top{color:#aaa!important}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}.legal-page{background:var(--paper)}.legal-head{padding:35px 7vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.legal-head .wordmark{color:var(--ink)}.back-link{font-size:11px;color:var(--ink);text-decoration:none}.legal-content{max-width:850px;margin:80px auto;padding:0 25px;min-height:65vh}.legal-content h1{font:500 clamp(42px,6vw,68px) 'Playfair Display',serif;margin:20px 0 45px}.legal-content h2{font:500 26px 'Playfair Display',serif;margin:35px 0 12px}.legal-content p,.legal-content li{font-size:14px;line-height:1.8;color:#555;margin:0 0 14px}.legal-content a{color:inherit}.legal-page .footer{margin-top:60px}
@keyframes heroZoom{to{transform:scale(1)}}@media(max-width:760px){.header{height:75px;padding:0 6vw}.menu-toggle{display:flex;flex-direction:column;gap:6px;background:none;border:0;padding:10px}.menu-toggle span{width:25px;height:1px;background:white}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:#191916;padding:25px 7vw 35px;flex-direction:column;align-items:flex-start;gap:25px}.nav.open{display:flex}.hero{min-height:670px;height:90svh}.hero-content{margin-left:8vw}.hero h1{font-size:clamp(56px,14vw,90px)}.hero-index{left:8vw;right:auto}.hero-index span{display:none}.section{padding:75px 7vw}.section-kicker{font-size:8px;gap:15px}.intro-grid,.jewel-intro,.art-intro{grid-template-columns:1fr;gap:30px;padding:60px 0 15px}.intro h2,.feature-heading h2,.jewel h2,.art h2{font-size:54px}.feature-heading{display:block;padding:60px 0 35px}.feature-heading>p{margin-top:20px}.portrait-grid{grid-template-columns:1fr 1fr;gap:10px}.portrait-grid .photo,.portrait-grid .tall{height:300px;grid-row:auto}.portrait-grid .wide{grid-column:span 2}.service-note{grid-template-columns:1fr;gap:10px;margin-top:40px}.jewel-grid{grid-template-columns:1fr 1fr;gap:20px 10px}.jewel-grid .photo{height:250px}.jewel-grid .photo.offset{margin-top:25px}.art-intro>.eyebrow,.art-intro h2,.art-copy{grid-column:1;grid-row:auto}.art-gallery{gap:35px 12px}.art-work img{height:260px}.art-work:nth-child(even){margin-top:55px}.art-work figcaption{display:block}.art-work figcaption span{display:block;text-align:left;margin-top:8px}.contact-inner{padding-top:65px}.contact-details{grid-template-columns:1fr;gap:20px;margin-top:65px}.footer{flex-wrap:wrap;padding:30px 7vw}.footer>span{display:none}.footer div{gap:15px}.legal-head{padding:25px 6vw}.legal-content{margin:55px auto}.legal-head .wordmark{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}


/* Galerie-Feinschliff: natürliche Bildformate, keine künstlichen Bildflächen */
.photo,
.art-work,
.jewel-grid .photo,
.portrait-grid .photo {
  background: transparent !important;
}
.portrait-grid,
.jewel-grid {
  display: block;
  columns: 3;
  column-gap: 18px;
}
.portrait-grid .photo,
.jewel-grid .photo {
  display: inline-block;
  width: 100%;
  height: auto !important;
  margin: 0 0 24px !important;
  break-inside: avoid;
  vertical-align: top;
}
.portrait-grid .photo img,
.jewel-grid .photo img {
  display: block;
  width: 100%;
  height: auto !important;
  max-height: none;
  object-fit: contain !important;
  object-position: center;
}
.portrait-grid .wide {
  grid-column: auto !important;
}
.portrait-grid .tall {
  grid-row: auto !important;
}
.art-gallery {
  align-items: start;
}
.art-work {
  align-self: start;
  min-width: 0;
}
.art-work img {
  display: block;
  width: 100%;
  height: auto !important;
  max-height: none;
  object-fit: contain !important;
  background: transparent !important;
}
@media (max-width: 760px) {
  .portrait-grid,
  .jewel-grid {
    columns: 2;
    column-gap: 12px;
  }
  .portrait-grid .photo,
  .jewel-grid .photo {
    margin-bottom: 16px !important;
  }
  .art-work img {
    height: auto !important;
  }
}
@media (max-width: 420px) {
  .portrait-grid,
  .jewel-grid {
    columns: 1;
  }
}


/* PORTRAIT-GALERIE: echtes Masonry ohne künstliche Leerflächen */
.portrait-grid{
  display:block;
  columns:3;
  column-gap:14px;
}
.portrait-grid .photo,
.portrait-grid .photo.tall,
.portrait-grid .photo.wide{
  display:inline-block;
  width:100%;
  height:auto;
  margin:0 0 22px;
  break-inside:avoid;
  grid-row:auto;
  grid-column:auto;
  background:transparent;
  vertical-align:top;
}
.portrait-grid .photo img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
}
.portrait-grid .photo figcaption{
  padding:10px 2px 0;
  margin:0;
}
@media(max-width:900px){
  .portrait-grid{columns:2;column-gap:12px}
  .portrait-grid .photo,
  .portrait-grid .photo.tall,
  .portrait-grid .photo.wide{margin-bottom:18px}
}
@media(max-width:520px){
  .portrait-grid{columns:1}
  .portrait-grid .photo,
  .portrait-grid .photo.tall,
  .portrait-grid .photo.wide{margin-bottom:20px}
}


/* Finaler Portrait-Masonry-Fix: Karten werden in ein dichtes Grid gepackt */
.portrait-grid{
  display:grid !important;
  columns:unset !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:6px;
  grid-auto-flow:dense;
  gap:16px;
  align-items:start;
}
.portrait-grid .photo,
.portrait-grid .photo.tall,
.portrait-grid .photo.wide{
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  grid-column:auto !important;
  grid-row-end:span 10;
  break-inside:initial;
  background:transparent !important;
  min-width:0;
}
.portrait-grid .photo img{
  display:block;
  width:100%;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  background:transparent !important;
}
.portrait-grid .photo figcaption{
  padding:9px 2px 0;
  margin:0;
  line-height:1.4;
}
@media(max-width:900px){
  .portrait-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
}
@media(max-width:520px){
  .portrait-grid{grid-template-columns:minmax(0,1fr);gap:18px}
}
