@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Karla';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/karla-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Karla';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/karla-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Karla';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/karla-latin-700-normal.woff2) format('woff2')}


body{margin:0;background:#F4EFE8;color:#2E2A26;font-family:'Karla',sans-serif;font-size:17px;line-height:1.6}
a{color:inherit}
h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:500;margin:0}
.wrap{max-width:1160px;margin:0 auto;padding:0 40px}
.ph{background:#DCCFC2;color:#5E554D;display:flex;align-items:flex-end;padding:20px;box-sizing:border-box;font-size:14px;letter-spacing:.04em;text-transform:uppercase}
.btn{display:inline-block;padding:16px 30px;border-radius:999px;text-decoration:none;font-weight:700;font-size:15px;letter-spacing:.04em}
header.site{color:#2E2A26;transition:background-color .45s ease,border-color .45s ease,color .45s ease}
header.site a,header.site svg,header.site label{transition:none}
header.site .sub{transition:color .45s ease}
header.site.top{background:transparent !important;border-bottom-color:transparent !important;color:#FFFFFF}
header.site.top .sub{color:#FFFFFF !important}
header.site.top nav a:not([href="#kontakt"]):hover{color:#FFFFFF;opacity:.8}
header.site .drw-panel{color:#2E2A26}
a{transition:color .2s ease,opacity .2s ease}
a:hover{opacity:.82}
.btn{transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(46,42,38,.16);filter:brightness(.94)}
.btn:active{transform:translateY(0);box-shadow:none}
a.btn[style*="border:1.5px solid"]:hover{background:#2E2A26 !important;color:#F4EFE8 !important;border-color:#2E2A26 !important;box-shadow:none;filter:none}
header a:hover,nav a:hover{opacity:1;color:#934F36}
.mnu-panel a:hover{background:#F4EFE8;opacity:1}
a:focus-visible,label:focus-visible{outline:2px solid #934F36;outline-offset:3px;border-radius:6px}
.pl{transition:border-color .2s ease,background-color .2s ease,color .2s ease}
.pl:hover{border-color:#934F36}
img{transition:filter .3s ease}
a[style*="flex-direction:column"]:hover img{filter:brightness(.97)}
@media (prefers-reduced-motion: reduce){*{transition:none !important}}
footer a{text-decoration:none}footer a:hover{text-decoration:underline;text-underline-offset:4px}
.pl{display:inline-block;padding:9px 18px;border-radius:999px;border:1.5px solid #2E2A26;font-size:14px;cursor:pointer;user-select:none}
.g{border-radius:10px;width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
@media (prefers-reduced-motion: reduce){*{transition:none!important}}
.item{position:relative;display:block;overflow:hidden;border-radius:10px;cursor:zoom-in;margin:0;padding:8px;box-sizing:border-box;height:300px}
.item.tall{height:600px}
.pl .cnt{opacity:.6;margin-left:4px;font-weight:400}
.stage{overflow-x:auto;overflow-y:hidden;margin:0 -8px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#B8A99A transparent;padding-bottom:14px;-webkit-overflow-scrolling:touch}
.stage .grid{display:grid;grid-template-rows:repeat(2,300px);grid-auto-flow:column dense;grid-auto-columns:calc(100% / 3);gap:0}
.stage .grid{justify-content:safe center}
.stage .item{scroll-snap-align:start}
.g{transition:transform .5s ease}
.item:hover .g{transform:scale(1.02)}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
/* about section */
.about-fig{position:sticky;top:120px;align-self:start}
.about-fig .a1{width:100%;object-fit:cover;display:block;border-radius:12px;height:auto;aspect-ratio:4/5}
.about-fig .a2{position:absolute;top:auto;height:auto;right:-36px;bottom:-40px;width:38%;aspect-ratio:3/4;object-fit:cover;border-radius:12px;border:6px solid #EDE4D6;box-shadow:0 14px 34px rgba(46,42,38,.2);object-position:60% 18%}
.about-lead{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:28px;line-height:1.3;margin:22px 0 0;color:#2E2A26}
.about-quote{margin:30px 0;padding:2px 0 2px 22px;border-left:3px solid var(--accent);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:30px;line-height:1.25;color:var(--accent)}
.about-traits{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 26px;font-size:14px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:#2E2A26}
.about-traits li{display:flex;align-items:center;gap:10px}
.about-traits li:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}
.about-sign{margin-top:30px}
.about-from{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:24px;color:#5E554D;margin-bottom:4px}
@media (max-width:860px){.about-fig{position:relative;top:auto}.about-fig .a1{aspect-ratio:4/5;object-position:50% 10%}.about-fig .a2{right:-6px;bottom:-30px;width:34%}.about-txt,.about-lead{margin-top:0}.about-lead{font-size:24px}.about-quote{font-size:26px}}
/* vmg:css:start – gallery (filters, layout, lightbox); used with gallery.js */
.vmg-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
.vmg-filters:empty{min-height:39px}
.vmg-filters[hidden]{display:none}
.vmg-filters .pl{background:transparent;color:inherit;font:inherit;font-size:14px;line-height:1.3}
.pl[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#FFFFFF;font-weight:700}
.pl:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.item{color:inherit;text-decoration:none}
.item[hidden]{display:none !important}
.item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.item.tall{grid-row:span 2}
.stage[data-rows="1"] .grid{grid-template-rows:auto}
.stage[data-rows="1"] .item.tall{grid-row:auto}
html.vmg-open{overflow:hidden}
.vmg-lb{position:fixed;inset:0;z-index:60;background:rgba(46,42,38,.94);display:flex;align-items:center;justify-content:center;padding:64px 88px;box-sizing:border-box;animation:vmgFade .3s ease}
.vmg-lb[hidden]{display:none}
.vmg-fig{margin:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:zoom-out}
.vmg-img{max-width:100%;max-height:calc(100% - 40px);object-fit:contain;border-radius:10px;display:block;cursor:default;transition:opacity .2s ease;animation:vmgZoom .3s ease}
.vmg-img.is-loading{opacity:.35}
.vmg-cap{margin-top:14px;color:#F4EFE8;font-size:13px;letter-spacing:.2em;text-transform:uppercase;text-align:center;min-height:1em}
.vmg-btn{position:absolute;width:48px;height:48px;border:0;border-radius:999px;background:rgba(255,255,255,.12);color:#FFFFFF;font:400 30px/1 'Cormorant Garamond',serif;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0 0 3px}
.vmg-btn:hover{background:rgba(255,255,255,.26)}
.vmg-btn:focus-visible{outline:2px solid #FFFFFF;outline-offset:2px}
.vmg-x{top:16px;right:16px}
.vmg-prev{left:20px;top:50%;margin-top:-24px}
.vmg-next{right:20px;top:50%;margin-top:-24px}
.vmg-lb[data-single] .vmg-prev,.vmg-lb[data-single] .vmg-next{display:none}
.vmg-count{position:absolute;top:28px;left:24px;color:#F4EFE8;font-size:13px;letter-spacing:.12em;font-variant-numeric:lining-nums tabular-nums}
@keyframes vmgFade{from{opacity:0}to{opacity:1}}
@keyframes vmgZoom{from{transform:scale(.97)}to{transform:none}}
@media (prefers-reduced-motion: reduce){.vmg-lb,.vmg-img{animation:none;transition:none}}
@media (max-width:700px){
 .vmg-filters{gap:8px}
 .vmg-filters .pl{font-size:13px}
 .vmg-lb{padding:64px 10px 84px}
 .vmg-prev,.vmg-next{top:auto;bottom:18px;margin-top:0}
 .vmg-prev{left:calc(50% - 60px)}
 .vmg-next{right:calc(50% - 60px)}
}
/* vmg:css:end */
/* cf:css:start – contact form */
.cf{max-width:720px;margin:40px auto 0;background:#FBF7F1;color:#2E2A26;border-radius:16px;padding:36px;text-align:left;box-shadow:0 18px 40px rgba(46,42,38,.18);position:relative}
.cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.cf-wide{grid-column:1 / -1}
.cf-field label{display:block;font-size:14px;font-weight:700;margin-bottom:6px}
.cf-field label span{font-weight:400;opacity:.7}
.cf-field input,.cf-field select,.cf-field textarea{width:100%;box-sizing:border-box;font:inherit;font-size:16px;line-height:1.4;color:#2E2A26;background:#FFFFFF;border:1.5px solid #D9CDBD;border-radius:10px;padding:12px 14px}
.cf-field textarea{resize:vertical;min-height:130px}
.cf-field input:focus,.cf-field select:focus,.cf-field textarea:focus{outline:2px solid #934F36;outline-offset:1px;border-color:#934F36}
.cf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cf-check{display:flex;gap:12px;align-items:flex-start;margin-top:22px;font-size:14px;line-height:1.5}
.cf-check input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:#934F36}
.cf-check a{color:#934F36}
.cf .frc-captcha{margin-top:20px}
.cf-submit{margin-top:22px;background:#934F36;color:#FFFFFF;border:0;cursor:pointer;font-family:inherit}
.cf-submit:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.cf-status{margin:16px 0 0;font-size:15px;line-height:1.5}
.cf-status.is-error{color:#B3261E;font-weight:700}
.cf-done{text-align:center;padding:12px 0;outline:none}
.cf-done h3{font-size:32px;margin:0}
.cf-done p{margin:12px 0 0;font-size:17px}
.cf-nojs{margin-top:16px;font-size:14px}
@media (max-width:700px){.cf{padding:24px 18px;margin-top:28px}.cf-grid{grid-template-columns:1fr}}
/* cf:css:end */

h1,h2,h3{line-height:1.1}
html{-webkit-text-size-adjust:100%}
img{max-width:100%}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 14px;z-index:99;border-radius:8px}
.hamb{display:none}
.drw-toggle{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.drw-overlay{position:fixed;inset:0;background:rgba(46,42,38,.35);opacity:0;pointer-events:none;transition:opacity .35s ease;cursor:pointer;z-index:30}
.drw-panel{position:fixed;top:0;right:0;width:300px;max-width:86vw;height:100%;background:#FFFFFF;box-sizing:border-box;padding:28px 24px 24px;display:none;flex-direction:column;gap:6px;box-shadow:-8px 0 24px rgba(46,42,38,.12);transform:translateX(100%);visibility:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),visibility .35s;z-index:31;overflow-y:auto;color:#2E2A26}
#mnu:checked ~ .drw-overlay{opacity:1;pointer-events:auto}
#mnu:checked ~ .drw-panel{transform:translateX(0);visibility:visible}
.drw-panel a{text-decoration:none;padding:12px 0;font-size:17px;font-weight:700}
.hero-lead-m{display:none}
.hero-cta{display:flex;gap:16px;justify-content:center;margin-top:28px}
.btn-ghost{border:1.5px solid #FFFFFF;color:#FFFFFF;background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
@media (max-width:860px){
 .wrap{padding-left:16px !important;padding-right:16px !important}
 header.site{margin-bottom:-83px !important}
 header.site .wrap{padding-top:16px !important;padding-bottom:16px !important}
 header.site .dnav{display:none !important}
 header.site .hamb{display:flex}
 .drw-panel{display:flex}
 header.site [style*="width:200px"]{width:170px !important}
 header.site svg[width="200"]{width:170px;height:50px}
 header.site .sub{font-size:10px !important}
 .hero{height:auto !important;aspect-ratio:390/668;min-height:560px}
 .hero .hero-in{padding-top:104px !important;padding-bottom:22px !important;justify-content:space-between !important}
 .hero h1{font-size:44px !important;margin-top:12px !important}
 .hero .hero-lead{display:none}
 .hero-lead-m{display:block;padding-top:28px}
 .hero-cta{gap:10px;margin-top:0;width:100%}
 .hero-cta .btn{flex:1;text-align:center;padding:16px 8px}
 h2[style*="font-size:56px"]{font-size:40px !important}
 h3[style*="font-size:40px"]{font-size:32px !important}
 [style*="grid-template-columns:repeat(3,1fr)"],[style*="grid-template-columns:1fr 1fr"],[style*="grid-template-columns:.9fr 1fr"]{grid-template-columns:1fr !important;gap:32px !important}
 section[style*="padding:96px 0"]{padding:64px 0 56px !important}
 section[style*="padding:100px 0"]{padding:72px 0 !important}
 .wrap[style*="padding-top:110px"]{padding-top:64px !important;padding-bottom:56px !important;gap:32px !important}
 img[style*="height:480px"]{height:auto !important;aspect-ratio:5/4;border-radius:200px 200px 14px 14px !important}
 [style*="margin-top:88px"]{margin-top:48px !important;padding-top:44px !important}
 footer{flex-direction:column !important;align-items:flex-start !important;gap:14px;padding:28px 16px 36px !important}
 [style*="grid-template-columns:260px 1fr"]{grid-template-columns:1fr !important;gap:6px !important}
 .legal h1{font-size:38px !important;overflow-wrap:anywhere}
}
@media (max-width:700px){
 .stage{margin-left:-5px;margin-right:-5px;scrollbar-width:none}
 .stage::-webkit-scrollbar{display:none}
 .stage .grid{--cw:calc((100vw - 22px) / 2 * .86);grid-template-rows:repeat(2,auto);grid-auto-columns:var(--cw)}
 .stage .item{height:calc(var(--cw) * 1.0326);padding:5px}
 .stage .item.tall{height:calc(var(--cw) * 2.0652)}
 .stage[data-rows="1"] .grid{grid-template-rows:auto}
 #leistungen img{aspect-ratio:1/1 !important;object-position:50% 50% !important}
 #leistungen img[alt^="Babybauch"]{object-position:50% 0% !important}
 #leistungen img[alt^="Familienfotografie"]{object-position:50% 70% !important}
 #leistungen h3{font-size:26px !important}
 #leistungen [style*="padding:30px;border:1px"]{padding:18px !important}
 #leistungen [style*="font-size:44px"]{font-size:32px !important}
}
