*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px Arial,sans-serif;color:#17191d;line-height:1.5}img{max-width:100%;display:block}.w{max-width:1100px;margin:auto;padding:0 18px}header{position:sticky;top:0;background:#fffffff2;border-bottom:1px solid #ddd;z-index:10}.nav{height:76px;display:flex;align-items:center;justify-content:space-between}.logo{width:190px;max-height:68px;object-fit:contain}.links{display:flex;gap:18px;align-items:center}.links a{text-decoration:none;color:#17191d;font-weight:700}.btn{display:inline-block;border:0;border-radius:13px;padding:13px 18px;background:#17191d;color:#fff!important;font-weight:800;text-decoration:none;cursor:pointer}.hero,.sec{padding:62px 0}.grid,.two,.booking{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.k{color:#14898c;font-size:12px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}h1{font-size:clamp(3rem,7vw,5.8rem);line-height:.9;letter-spacing:-.05em;margin:.2em 0}h2{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1;margin:.2em 0}.lead{font-size:1.08rem;color:#68707a}.heroPic{height:460px;width:100%;object-fit:contain;object-position:center;background:#f4f7f7;border-radius:24px;padding:10px;box-sizing:border-box}.soft{background:#f3f6f6}.dark{background:#15181d;color:#fff}.dark .lead{color:#b9c0c8}.cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:25px}.card{background:#fff;border:1px solid #dfe3e5;border-radius:22px;padding:24px}.price{font-size:3rem;font-weight:900}.check{list-style:none;padding:0}.check li{margin:9px 0}.check li:before{content:'✓';color:#14898c;font-weight:900;margin-right:8px}.photo{border:1px solid #ddd;border-radius:22px;overflow:hidden;background:#fff}.photo img{height:360px;width:100%;object-fit:cover}.photo.contain img{object-fit:contain}.cap{padding:14px;font-weight:800}.prints{display:grid;grid-template-columns:1fr 1fr;gap:18px}.prints img{height:390px;width:100%;object-fit:contain;border:1px solid #ddd;border-radius:20px}.bgs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px}.bg{border:2px solid transparent;border-radius:14px;overflow:hidden;background:#fff;padding:0}.bg img{aspect-ratio:4/3;width:100%;object-fit:cover}.bg.sel{border-color:#14898c}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.step{border:1px solid #333942;border-radius:17px;padding:18px}.faq button{width:100%;padding:15px;text-align:left;border:1px solid #ddd;background:#fff;border-radius:13px;font-weight:800;margin-top:8px}.ans{display:none;padding:10px 15px;color:#68707a}.open .ans{display:block}.form{background:#fff;color:#17191d;padding:23px;border-radius:22px}.f{margin-bottom:13px}.f label{display:block;font-weight:800;margin-bottom:5px}.f input,.f select,.f textarea{width:100%;padding:12px;border:1px solid #cbd1d5;border-radius:11px;font-size:16px}.ok{display:none;background:#dff3e9;color:#155d3f;padding:13px;border-radius:10px;margin-top:12px}.ok.show{display:block}.wa{position:fixed;right:16px;bottom:16px;background:#25D366;color:#082a12;border:0;border-radius:99px;padding:13px 17px;font-weight:900}.modal{display:none;position:fixed;inset:0;background:#0009;z-index:20;align-items:center;justify-content:center;padding:18px}.modal.show{display:flex}.modal>div{background:white;border-radius:20px;padding:22px;max-width:480px;width:100%}footer{padding:30px 0;border-top:1px solid #ddd;color:#68707a}@media(max-width:760px){.links a:not(.btn){display:none}.grid,.two,.booking,.cards,.prints{grid-template-columns:1fr}.bgs,.steps{grid-template-columns:1fr 1fr}.heroPic{height:310px}.photo img,.prints img{height:300px}}

.mobileMenuBtn{display:none;background:white;border:1px solid #ddd;border-radius:11px;padding:10px 12px;font-weight:800}
.mobileMenu{display:none;position:absolute;top:76px;left:0;right:0;background:white;border-bottom:1px solid #ddd;padding:12px 18px;box-shadow:0 10px 25px #0001}
.mobileMenu.open{display:grid;gap:5px}.mobileMenu a{padding:11px 8px;color:#17191d;text-decoration:none;font-weight:800}
.mobileActions{display:none}
@media(max-width:760px){.mobileMenuBtn{display:block}.nav>nav{display:none}.mobileActions{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:10px;right:10px;bottom:10px;z-index:15;border-radius:15px;overflow:hidden;box-shadow:0 8px 28px #0004}.mobileActions a,.mobileActions button{min-height:50px;border:0;font-weight:900;text-decoration:none;display:flex;align-items:center;justify-content:center}.mobileActions a{background:#17191d;color:#fff}.mobileActions button{background:#25D366;color:#082a12}.wa{display:none}body{padding-bottom:68px}}

button,.btn,.bg,a{transition:transform .12s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,opacity .18s ease}
button:active,.btn:active{transform:scale(.97)}
button:focus-visible,.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #14898c;outline-offset:3px}
@media(hover:hover){.btn:hover{transform:translateY(-1px);box-shadow:0 7px 18px #0002}.bg:hover{border-color:#78bfc1}}
.bg.sel{position:relative;box-shadow:0 0 0 3px #d9f0f0}
.bg.sel:after{content:"Ausgewählt";position:absolute;right:7px;top:7px;background:#14898c;color:white;border-radius:8px;padding:4px 7px;font-size:11px;font-weight:900}
.pack.chosen{background:#14898c!important;color:white!important;box-shadow:0 0 0 3px #cfecec}
.feedback{position:fixed;left:50%;bottom:82px;transform:translate(-50%,18px);background:#17191d;color:white;border-radius:12px;padding:11px 15px;z-index:40;opacity:0;pointer-events:none;transition:.22s;box-shadow:0 8px 28px #0004;font-weight:800;font-size:14px;max-width:calc(100% - 30px);text-align:center}
.feedback.show{opacity:1;transform:translate(-50%,0)}
.submitState{position:relative}.submitState.busy{opacity:.72;pointer-events:none}.submitState.done{background:#16875c!important}
.fieldSelected{border-color:#14898c!important;box-shadow:0 0 0 2px #d9f0f0}

.legalLinks{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px}.legalLinks button{border:0;background:none;padding:0;color:#4f5963;text-decoration:underline;cursor:pointer}
.legalModal{display:none;position:fixed;inset:0;background:#000a;z-index:90;padding:18px;align-items:center;justify-content:center}.legalModal.show{display:flex}.legalBox{background:#fff;color:#17191d;width:min(760px,100%);max-height:85vh;overflow:auto;border-radius:20px;padding:24px}.legalBox h2{font-size:2rem}.legalBox h3{margin-top:22px}.legalBox .closeLegal{float:right;border:1px solid #ddd;background:#fff;border-radius:10px;padding:9px 12px;font-weight:800}
.cookieBanner{display:none;position:fixed;left:14px;right:14px;bottom:14px;z-index:80;background:#fff;color:#17191d;border:1px solid #dfe3e5;border-radius:18px;padding:18px;box-shadow:0 12px 35px #0004;max-width:720px;margin:auto}.cookieBanner.show{display:block}.cookieActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.cookieActions button{border-radius:11px;padding:11px 14px;font-weight:850;cursor:pointer}.cookiePrimary{background:#17191d;color:#fff;border:1px solid #17191d}.cookieSecondary{background:#fff;color:#17191d;border:1px solid #cdd2d7}.cookieSettings{display:none;margin-top:14px;border-top:1px solid #e3e6e8;padding-top:13px}.cookieSettings.show{display:block}.cookieRow{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:10px 0}.cookieRow input{width:20px;height:20px}.privacyHint{font-size:12px;color:#68707a;margin-top:6px}
@media(max-width:760px){.cookieBanner{bottom:74px}.legalBox{max-height:78vh}}

.siteFooter{background:#f5f7f7;border-top:1px solid #dfe3e5;padding:34px 0 24px;color:#17191d}.footerMain{display:grid;grid-template-columns:1.3fr .9fr .9fr;gap:28px}.footerBrand img{width:170px;max-height:60px;object-fit:contain;margin-bottom:10px}.footerBrand p{margin:4px 0;color:#68707a;font-size:14px}.footerCol strong{display:block;margin-bottom:8px}.footerCol a,.footerCol button{display:block;border:0;background:none;padding:4px 0;color:#4f5963;text-decoration:none;text-align:left;cursor:pointer;font-size:14px}.footerCol a:hover,.footerCol button:hover{text-decoration:underline}.footerBottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:24px;padding-top:17px;border-top:1px solid #dfe3e5;color:#7a8189;font-size:12px}@media(max-width:760px){.footerMain{grid-template-columns:1fr 1fr}.footerBrand{grid-column:1/-1}.siteFooter{padding-bottom:82px}}

.galleryLink{border:1px solid #cfd6da;border-radius:11px;padding:9px 12px!important;background:#f7f9f9}
.galleryLink:before{content:"Kundenbereich · ";font-size:11px;color:#14898c;text-transform:uppercase;letter-spacing:.05em}
@media(max-width:760px){.galleryLink:before{content:""}}

.mobileGalleryLink{border:1px solid #b9dfe0!important;background:#edf8f8!important;border-radius:12px!important;padding:12px!important;margin:5px 0 8px!important}
.mobileGalleryLink strong{display:block;color:#17191d}.mobileGalleryLink small{display:block;color:#68707a;font-weight:500;margin-top:2px}

/* V11 – modernere Bildinszenierung */
.visualSection{position:relative;overflow:hidden}
.visualSection:before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:rgba(20,137,140,.08);right:-90px;top:35px;pointer-events:none}
.visualSection:after{content:"";position:absolute;width:110px;height:110px;border-radius:28px;background:rgba(243,181,72,.10);left:-45px;bottom:45px;transform:rotate(18deg);pointer-events:none}
.productShowcase{position:relative;background:linear-gradient(145deg,#f7fbfb,#eaf4f4);border:1px solid #d9e8e8;border-radius:28px;padding:24px;overflow:hidden;box-shadow:0 16px 40px rgba(24,40,44,.08)}
.productShowcase:before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:rgba(20,137,140,.09);right:-45px;top:-45px}
.productShowcase img{position:relative;height:330px!important;width:100%;object-fit:contain!important;background:transparent!important;filter:drop-shadow(0 15px 16px rgba(0,0,0,.12))}
.productShowcase .cap{position:relative;background:rgba(255,255,255,.82);backdrop-filter:blur(8px);border-radius:14px;margin-top:8px;padding:12px 14px}
.storyCollage{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:center;position:relative}
.storyMain,.storySide{position:relative;border-radius:26px;overflow:hidden;box-shadow:0 18px 45px rgba(20,30,35,.14)}
.storyMain img{height:440px!important;width:100%;object-fit:cover!important}
.storySide{transform:translateX(-34px) rotate(1.2deg);border:7px solid white}
.storySide img{height:300px!important;width:100%;object-fit:cover!important}
.storyLabel{position:absolute;left:16px;bottom:16px;background:rgba(20,24,29,.88);color:white;padding:10px 13px;border-radius:12px;font-weight:800;font-size:14px;backdrop-filter:blur(8px)}
.printStage{position:relative;background:linear-gradient(135deg,#eef6f6,#fafafa);border-radius:28px;padding:34px 26px;overflow:hidden}
.printStage:before{content:"";position:absolute;inset:auto -40px -80px auto;width:190px;height:190px;border:24px solid rgba(20,137,140,.08);border-radius:50%}
.prints.polaroid{gap:34px;align-items:center;position:relative}
.prints.polaroid img{background:white!important;padding:13px 13px 34px;border:0!important;border-radius:7px!important;box-shadow:0 18px 35px rgba(20,30,35,.18);height:390px!important}
.prints.polaroid img:first-child{transform:rotate(-1.5deg)}
.prints.polaroid img:last-child{transform:rotate(1.7deg)}
.bg{box-shadow:0 5px 16px rgba(20,30,35,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
@media(hover:hover){.bg:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(20,30,35,.12)}}
@media(max-width:760px){.productShowcase{padding:16px}.productShowcase img{height:270px!important}.storyCollage{grid-template-columns:1fr;gap:14px}.storyMain img{height:320px!important}.storySide{transform:none;border-width:5px}.storySide img{height:240px!important}.printStage{padding:24px 15px}.prints.polaroid{gap:18px}.prints.polaroid img{height:310px!important;transform:none!important}.visualSection:before{width:160px;height:160px}}

/* V12 – stärkere, aber weiterhin ruhige Tiefenwirkung */
.visualSection:before{width:330px!important;height:330px!important;background:rgba(20,137,140,.13)!important;right:-115px!important;top:10px!important}
.visualSection:after{width:155px!important;height:155px!important;background:rgba(243,181,72,.14)!important;left:-55px!important;bottom:25px!important;transform:rotate(24deg)!important}
.productShowcase{background:linear-gradient(145deg,#ffffff 0%,#e8f5f5 56%,#d8eeee 100%)!important;border:1px solid #c8e2e3!important;box-shadow:0 22px 55px rgba(20,65,70,.15)!important;transform:translateY(0);transition:transform .22s ease,box-shadow .22s ease}
.productShowcase:nth-child(1){transform:rotate(-.65deg)}.productShowcase:nth-child(2){transform:rotate(.65deg)}
.productShowcase:before{width:205px!important;height:205px!important;background:rgba(20,137,140,.14)!important;right:-55px!important;top:-65px!important}
.productShowcase:after{content:"";position:absolute;width:90px;height:90px;border:16px solid rgba(243,181,72,.18);border-radius:50%;left:-30px;bottom:-25px}
.productShowcase img{filter:drop-shadow(0 24px 22px rgba(0,0,0,.20))!important;transform:scale(1.035)}
@media(hover:hover){.productShowcase:hover{transform:translateY(-7px) rotate(0)!important;box-shadow:0 30px 65px rgba(20,65,70,.22)!important}}
.storyCollage{gap:8px!important;padding:18px 0 22px}
.storyMain{box-shadow:0 25px 55px rgba(20,30,35,.20)!important;transform:rotate(-.5deg)}
.storySide{transform:translateX(-58px) translateY(30px) rotate(2.7deg)!important;border:10px solid white!important;box-shadow:0 28px 50px rgba(20,30,35,.25)!important}
.storyMain:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.22));pointer-events:none}
.storyLabel{z-index:2!important;box-shadow:0 7px 20px rgba(0,0,0,.20)}
.printStage{background:linear-gradient(135deg,#e6f4f4 0%,#fff 52%,#f4f7f7 100%)!important;padding:46px 36px!important;box-shadow:inset 0 0 0 1px #dceaea,0 18px 45px rgba(20,65,70,.08)!important}
.printStage:after{content:"";position:absolute;width:120px;height:120px;left:-35px;top:-35px;border-radius:28px;background:rgba(20,137,140,.10);transform:rotate(24deg)}
.prints.polaroid img{padding:16px 16px 48px!important;box-shadow:0 27px 48px rgba(20,30,35,.27)!important}
.prints.polaroid img:first-child{transform:rotate(-3deg) translateY(8px)!important}.prints.polaroid img:last-child{transform:rotate(3.2deg) translateY(-5px)!important}
@media(hover:hover){.prints.polaroid img{transition:transform .22s ease,box-shadow .22s ease}.prints.polaroid img:first-child:hover,.prints.polaroid img:last-child:hover{transform:rotate(0) translateY(-8px) scale(1.025)!important;box-shadow:0 34px 60px rgba(20,30,35,.32)!important}}
.bg{border-radius:18px!important;box-shadow:0 10px 24px rgba(20,30,35,.10)!important}.bg.sel{transform:translateY(-5px) scale(1.025);box-shadow:0 18px 34px rgba(20,90,95,.20)!important;border-color:#14898c!important}.bg.sel:after{box-shadow:0 5px 12px rgba(0,0,0,.22)}
@media(hover:hover){.bg:hover{transform:translateY(-6px) scale(1.018)!important;box-shadow:0 18px 35px rgba(20,30,35,.18)!important}}
@media(max-width:760px){.productShowcase:nth-child(1),.productShowcase:nth-child(2){transform:none}.productShowcase img{transform:scale(1.02)}.storySide{transform:none!important;border-width:7px!important}.storyMain{transform:none}.printStage{padding:30px 18px!important}.prints.polaroid img:first-child{transform:rotate(-1.2deg)!important}.prints.polaroid img:last-child{transform:rotate(1.2deg)!important}.bg.sel{transform:translateY(-3px) scale(1.015)}}

/* V22 – dezente Marken-/Eventakzente */
:root{--fosl-teal:#14898c;--fosl-teal-soft:#e7f5f5;--fosl-warm:#efb84f;--fosl-ink:#17191d}
.k{position:relative;display:inline-flex;align-items:center;gap:9px}.k:before{content:"";width:25px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--fosl-teal),#63bfc1)}
.sectionAccent{position:relative}.sectionAccent:before{content:"";position:absolute;right:4%;top:38px;width:72px;height:72px;background-image:radial-gradient(circle,var(--fosl-teal) 2px,transparent 2.5px);background-size:14px 14px;opacity:.20;pointer-events:none}
.cards .card{position:relative;overflow:hidden;box-shadow:0 12px 30px rgba(20,40,45,.06);transition:transform .2s ease,box-shadow .2s ease}.cards .card:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--fosl-teal)}.cards .card:nth-child(2):before{background:linear-gradient(90deg,var(--fosl-teal),var(--fosl-warm))}.cards .card:nth-child(2){box-shadow:0 16px 38px rgba(20,90,95,.11)}
@media(hover:hover){.cards .card:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(20,40,45,.13)}}
.check strong{background:var(--fosl-teal-soft);padding:2px 6px;border-radius:7px}.sec h2:after{content:"";display:block;width:46px;height:4px;border-radius:99px;background:var(--fosl-teal);margin-top:13px}.dark h2:after{background:#68c3c5}
.heroGrid>div:first-child{position:relative}.heroGrid>div:first-child:after{content:"";position:absolute;width:74px;height:74px;border:14px solid rgba(20,137,140,.10);border-radius:50%;right:2%;bottom:-25px;pointer-events:none}
.steps .step{position:relative;overflow:hidden}.steps .step:before{content:"";position:absolute;width:44px;height:44px;border:8px solid rgba(100,195,197,.11);border-radius:50%;right:-12px;top:-12px}
.faq>div{border-radius:14px;transition:background .18s ease}.faq>div.open{background:#f4fafa}.faq>div.open button{border-color:#a8d4d5}
.btn{position:relative;overflow:hidden}.btn:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.16) 48%,transparent 70%);transform:translateX(-130%);transition:transform .45s ease;pointer-events:none}@media(hover:hover){.btn:hover:after{transform:translateX(130%)}}
.siteFooter{position:relative}.siteFooter:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--fosl-teal),#67c5c7 68%,var(--fosl-warm))}
@media(max-width:760px){.sectionAccent:before{width:48px;height:48px;background-size:12px 12px;opacity:.14}.heroGrid>div:first-child:after{width:52px;height:52px;border-width:10px}}

/* V25 – Smartphone-/Touch-Bedienung */
button,.btn,.nav a,.mobileMenu a,.footerCol a,.footerCol button{min-height:44px}
button,.btn{touch-action:manipulation;-webkit-tap-highlight-color:rgba(20,137,140,.16)}
input,select,textarea{min-height:46px}
input[type="checkbox"]{min-width:22px;min-height:22px}
@media(max-width:760px){
  .w{padding-left:16px;padding-right:16px}
  .mobileMenu a{display:flex;align-items:center;padding:13px 12px;border-radius:10px}
  .mobileMenu{gap:4px;padding-bottom:15px}
  .mobileActions{left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom))}
  .mobileActions a,.mobileActions button{min-height:54px;font-size:15px}
  .btn{padding:13px 16px}
  .bg{min-height:110px}
  .bg span{padding:10px;font-size:14px}
  .faq button{min-height:54px;padding:16px}
  .field{margin-bottom:16px}
  .field input,.field select,.field textarea{padding:13px;font-size:16px}
  .cookieActions button{flex:1 1 150px;min-height:48px}
  .footerCol a,.footerCol button{padding:7px 0;min-height:44px}
}

.bg{cursor:default!important}.bg.sel{transform:none!important;border-color:transparent!important;box-shadow:0 10px 24px rgba(20,30,35,.10)!important}.bg.sel:after{display:none!important}
@media(hover:hover){.bg:hover{transform:translateY(-3px)!important;box-shadow:0 14px 28px rgba(20,30,35,.13)!important;border-color:transparent!important}}

.layoutShowcase{display:grid;grid-template-columns:1fr 1fr;gap:22px}.layoutCard{background:#fff;border:1px solid #e0e5e6;border-radius:18px;padding:12px;box-shadow:0 15px 34px rgba(20,35,40,.10);transition:transform .2s ease,box-shadow .2s ease}.layoutCard img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:11px;display:block}.layoutCard b{display:block;margin:12px 4px 3px;font-size:17px}.layoutCard span{display:block;margin:0 4px 7px;color:#68707a;font-size:14px}.layoutCard:nth-child(1){transform:rotate(-.5deg)}.layoutCard:nth-child(2){transform:rotate(.45deg)}.layoutCard:nth-child(3){transform:rotate(.35deg)}.layoutCard:nth-child(4){transform:rotate(-.4deg)}@media(hover:hover){.layoutCard:hover{transform:translateY(-5px) rotate(0);box-shadow:0 22px 42px rgba(20,35,40,.16)}}
.momentSection{background:linear-gradient(135deg,#eef7f7 0%,#fff 58%);overflow:hidden}.momentGrid{display:grid;grid-template-columns:1.35fr .65fr;gap:32px;align-items:center}.momentPhoto{position:relative}.momentPhoto:before{content:"";position:absolute;width:110px;height:110px;border-radius:28px;background:rgba(239,184,79,.16);left:-24px;bottom:-20px;transform:rotate(18deg)}.momentPhoto img{position:relative;width:100%;display:block;border-radius:24px;box-shadow:0 24px 55px rgba(20,35,40,.18)}.momentText{position:relative}.momentText:after{content:"";position:absolute;right:0;top:-45px;width:65px;height:65px;background-image:radial-gradient(circle,#14898c 2px,transparent 2.5px);background-size:13px 13px;opacity:.20}
@media(max-width:760px){.layoutShowcase{grid-template-columns:1fr;gap:15px}.layoutCard{transform:none!important}.momentGrid{grid-template-columns:1fr;gap:22px}.momentPhoto img{border-radius:18px}.momentText:after{display:none}}

/* V30 – emotionalere, hochwertigere Seitenführung */
.hero{position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(20,137,140,.14),transparent 68%);right:-120px;top:-150px;pointer-events:none}.hero:after{content:"";position:absolute;width:170px;height:170px;border:24px solid rgba(239,184,79,.10);border-radius:50%;left:-80px;bottom:-90px;pointer-events:none}
.hero h1{letter-spacing:-.035em;line-height:1.02}.hero .lead{max-width:650px}.heroEyebrow{display:inline-block;padding:7px 11px;border-radius:999px;background:#e6f4f4;color:#0e696c;font-weight:900;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
.price{font-size:clamp(34px,5vw,52px)!important;letter-spacing:-.04em}.cards .card:nth-child(2){background:linear-gradient(150deg,#fff 0%,#f4fbfb 72%,#e7f5f5 100%)}
.sectionStatement{padding:34px 0;background:#17191d;color:#fff;overflow:hidden}.statementInner{display:flex;align-items:center;justify-content:space-between;gap:28px}.statementInner strong{font-size:clamp(25px,4vw,42px);line-height:1.05;letter-spacing:-.03em}.statementInner span{max-width:500px;color:#d9dfe2;line-height:1.6}
.processV30{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:steps}.processV30 .pstep{position:relative;background:#fff;border:1px solid #dfe5e6;border-radius:18px;padding:22px 17px 18px;box-shadow:0 12px 28px rgba(20,35,40,.06);counter-increment:steps}.processV30 .pstep:before{content:counter(steps,decimal-leading-zero);display:block;font-size:12px;font-weight:900;color:#14898c;letter-spacing:.08em;margin-bottom:18px}.processV30 .pstep:after{content:"";position:absolute;left:17px;top:43px;width:34px;height:3px;border-radius:99px;background:#efb84f}.processV30 b{display:block;font-size:17px;margin-bottom:6px}.processV30 span{color:#68707a;font-size:14px;line-height:1.5}
.sec.soft{background:linear-gradient(180deg,#f6fafa 0%,#eef7f7 100%)}.momentSection{padding-top:84px!important;padding-bottom:84px!important}.momentText h2{font-size:clamp(32px,4vw,50px);letter-spacing:-.035em}
.layoutShowcase{gap:26px!important}.layoutCard{padding:14px!important;border-radius:21px!important}.layoutCard img{border-radius:14px!important}.layoutCard b{font-size:18px!important}
.finalCta{position:relative;background:linear-gradient(135deg,#0e6669,#14898c);color:#fff;padding:62px 0;overflow:hidden}.finalCta:before{content:"";position:absolute;right:-40px;top:-70px;width:230px;height:230px;border:35px solid rgba(255,255,255,.08);border-radius:50%}.finalCta h2{font-size:clamp(32px,5vw,52px);margin:0 0 10px;letter-spacing:-.04em}.finalCta p{color:#e5f3f3;max-width:650px}.finalCta .btn{background:#fff;color:#123638}
@media(max-width:850px){.processV30{grid-template-columns:1fr 1fr}.statementInner{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.hero:before{width:250px;height:250px}.processV30{grid-template-columns:1fr}.sectionStatement{padding:28px 0}.momentSection{padding-top:58px!important;padding-bottom:58px!important}.finalCta{padding:46px 0}.finalCta .btn{width:100%;text-align:center;display:flex;justify-content:center;align-items:center}}

.previewBg{cursor:default!important}.previewBg:after{display:none!important}.previewBg:hover{border-color:transparent!important}

#bgs{grid-template-columns:repeat(3,1fr);gap:18px}
#bgs .previewBg{min-height:0;aspect-ratio:3/2;padding:0;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 13px 30px rgba(20,35,40,.10)}
#bgs .previewBg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
@media(hover:hover){#bgs .previewBg:hover img{transform:scale(1.025)}}
@media(max-width:760px){#bgs{grid-template-columns:1fr;gap:14px}#bgs .previewBg{border-radius:15px}}

.packagePromise{min-height:76px;color:#4f5961;line-height:1.5;margin:6px 0 14px}.packagePromise strong{color:#17191d;font-size:17px}
.servicePromise{background:#fff;padding:22px 0;border-top:1px solid #edf0f1;border-bottom:1px solid #e4e9ea}.servicePromise .w{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.servicePromise .w>div{padding:10px 16px;border-left:3px solid #14898c}.servicePromise strong{display:block;font-size:15px;margin-bottom:4px}.servicePromise span{display:block;color:#68707a;font-size:13px;line-height:1.45}
@media(max-width:720px){.servicePromise .w{grid-template-columns:1fr;gap:5px}.servicePromise .w>div{padding:9px 13px}.packagePromise{min-height:0}}

/* V36 – mobile Typografie / saubere Textumbrüche */
h1,h2,h3,.statementInner strong,.price{overflow-wrap:normal;word-break:normal;text-wrap:balance}
p,.lead,.packagePromise,.check li,.processV30 span,.servicePromise span{overflow-wrap:break-word;word-break:normal}
@media(max-width:760px){
  body{overflow-x:hidden}
  h1{font-size:clamp(34px,10vw,48px)!important;line-height:1.04!important;max-width:100%}
  h2{font-size:clamp(27px,8vw,38px)!important;line-height:1.1!important}
  h3{line-height:1.18}
  .lead{font-size:17px;line-height:1.58}
  .statementInner strong{font-size:clamp(27px,8.5vw,38px);line-height:1.08}
  .statementInner span{font-size:15px}
  .packagePromise{font-size:15px;line-height:1.55}
  .cards .card{min-width:0}
  .check li{line-height:1.45}
  .price{white-space:nowrap}
  .layoutCard span,.processV30 span{font-size:14px;line-height:1.5}
  .finalCta h2{font-size:clamp(29px,8.5vw,40px)!important}
  .finalCta p{font-size:16px;line-height:1.55}
  .footerGrid>*{min-width:0}
}
@media(max-width:380px){
  h1{font-size:32px!important}
  h2{font-size:27px!important}
  .heroEyebrow{font-size:11px;letter-spacing:.055em}
  .btn{white-space:normal;text-align:center;line-height:1.25}
}

.directContact a{width:100%;box-sizing:border-box}

.whatsappContact{padding-top:8px;padding-bottom:22px}.whatsappBtn{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px;padding:12px 18px!important;border-radius:12px!important;text-decoration:none!important;box-shadow:0 10px 24px rgba(20,35,40,.10);transition:transform .18s ease,box-shadow .18s ease}.whatsappBtn:before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor;margin-right:9px;opacity:.75}@media(hover:hover){.whatsappBtn:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(20,35,40,.15)}}@media(max-width:600px){.whatsappBtn{width:100%;box-sizing:border-box}}

/* V47 – kompaktere Layoutvorschau */
.compactLayouts{max-width:920px;margin:26px auto 0;grid-template-columns:repeat(4,1fr)!important;gap:14px!important}
.compactLayouts .layoutCard{padding:8px!important;border-radius:15px!important;transform:none!important}
.compactLayouts .layoutCard img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:10px!important}
@media(max-width:850px){.compactLayouts{grid-template-columns:repeat(2,1fr)!important;max-width:650px}}
@media(max-width:430px){.compactLayouts{gap:10px!important}.compactLayouts .layoutCard{padding:6px!important}}

#faq .faqA[hidden]{display:none!important}#faq .faqQ{cursor:pointer}#faq .faqQ:after{content:"+";float:right;font-size:22px;font-weight:700}#faq .faqQ[aria-expanded="true"]:after{content:"−"}#faq .faqItem.open .faqA{display:block}

/* V51 – Layoutvorschauen wie Hintergrundvorschau */
.compactLayouts{
  max-width:none!important;
  margin:28px auto 0!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
.compactLayouts .layoutCard{
  min-height:0!important;
  aspect-ratio:3/2;
  padding:0!important;
  overflow:hidden;
  border-radius:18px!important;
  background:#fff;
  box-shadow:0 13px 30px rgba(20,35,40,.10);
  transform:none!important;
  transition:transform .24s ease,box-shadow .24s ease!important;
}
.compactLayouts .layoutCard img{
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  display:block;
  border-radius:18px!important;
  transition:transform .28s ease!important;
}
@media(hover:hover){
  .compactLayouts .layoutCard:hover{
    transform:translateY(-4px) scale(1.025)!important;
    box-shadow:0 20px 38px rgba(20,35,40,.16);
    z-index:2;
  }
  .compactLayouts .layoutCard:hover img{transform:scale(1.055)!important}
}
@media(max-width:760px){
  .compactLayouts{grid-template-columns:1fr!important;gap:14px!important}
  .compactLayouts .layoutCard{border-radius:15px!important}
  .compactLayouts .layoutCard img{border-radius:15px!important}
}
@media(hover:none){
  .compactLayouts .layoutCard:active{transform:scale(.985)!important}
}

/* V52 – auffälliger, aber zum Design passender WhatsApp-Kontakt */
.whatsappContact{padding:18px 20px 30px!important}
.whatsappCard{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 24px;border-radius:20px;background:linear-gradient(135deg,rgba(20,137,140,.10),rgba(255,255,255,.96));border:1px solid rgba(20,137,140,.22);box-shadow:0 16px 36px rgba(20,35,40,.10)}
.whatsappCopy{display:flex;flex-direction:column;gap:3px}.whatsappEyebrow{font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:900;color:#14898c}.whatsappCopy strong{font-size:20px;line-height:1.15}.whatsappCopy>span:last-child{font-size:14px;color:#657078}
.whatsappBtn{flex:0 0 auto;display:inline-flex!important;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:13px 20px!important;border-radius:14px!important;background:#14898c!important;color:#fff!important;border:0!important;box-shadow:0 12px 26px rgba(20,137,140,.25)!important;font-weight:900!important;text-decoration:none!important;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important}
.whatsappBtn:before{display:none!important}.waIcon{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.17);font-size:17px}
@media(hover:hover){.whatsappBtn:hover{transform:translateY(-3px) scale(1.025)!important;box-shadow:0 17px 34px rgba(20,137,140,.34)!important;filter:brightness(1.04)}}
.whatsappBtn:focus-visible{outline:3px solid rgba(20,137,140,.28);outline-offset:4px}
@media(max-width:680px){.whatsappContact{padding:14px 14px 24px!important}.whatsappCard{flex-direction:column;align-items:stretch;padding:18px;border-radius:17px}.whatsappCopy{text-align:center}.whatsappBtn{width:100%;box-sizing:border-box;min-height:54px}}

/* V54 – mobile Header/CTA */
.brandWordmark{display:inline-flex;align-items:baseline;gap:3px;text-decoration:none;color:#17191d;font-size:22px;font-weight:800;letter-spacing:.015em;white-space:nowrap}.brandWordmark strong{color:#14898c;font-weight:950}.footerWordmark{font-weight:800;letter-spacing:.015em}.footerWordmark strong{color:#14898c}
@media(max-width:760px){.brandWordmark{font-size:20px}.mobileActions{display:none!important}}

/* V55 – lokales FotoboxOSL Logo */
.brandLogo{display:inline-flex;align-items:center;text-decoration:none;flex:0 0 auto}.brandLogo img{display:block;width:auto;height:58px;max-width:210px;object-fit:contain}.footerLogo{display:block;width:auto;height:72px;max-width:240px;object-fit:contain}
@media(max-width:760px){.brandLogo img{height:44px;max-width:158px}.footerLogo{height:58px;max-width:200px}}
@media(max-width:380px){.brandLogo img{height:39px;max-width:145px}}

/* V57 – mobile Logo sauber begrenzt */
@media(max-width:760px){
  header .nav{min-height:64px;align-items:center;gap:12px}
  .brandLogo{max-width:128px;min-width:0;overflow:hidden}
  .brandLogo img{width:124px!important;max-width:124px!important;height:auto!important;max-height:50px!important;object-fit:contain!important}
  .mobileMenuBtn{flex:0 0 auto;margin-left:auto}
}
@media(max-width:380px){
  .brandLogo{max-width:112px}
  .brandLogo img{width:108px!important;max-width:108px!important;height:auto!important}
}

/* V58 – Logo mobil sichtbar, ohne Header zu dominieren */
@media(max-width:760px){
  header .nav{min-height:72px!important}
  .brandLogo{max-width:154px!important;overflow:visible!important}
  .brandLogo img{width:150px!important;max-width:150px!important;height:auto!important;max-height:58px!important;object-fit:contain!important}
}
@media(max-width:390px){
  .brandLogo{max-width:140px!important}
  .brandLogo img{width:136px!important;max-width:136px!important;height:auto!important;max-height:54px!important}
}

/* V108 – Hero vollständig sichtbar + kompakte FAQ */
#faq .faqGroups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;align-items:start;margin-top:22px}
#faq .faqGroup{min-width:0}
#faq .faqGroup>h3{font-size:1rem;margin:0 0 6px}
#faq .faqQ{padding:11px 13px!important;margin-top:6px!important;border-radius:10px!important;font-size:.91rem;line-height:1.3}
#faq .faqQ:after{font-size:18px!important;line-height:1}
#faq .faqA{padding:9px 13px 11px;font-size:.9rem;line-height:1.5;color:#68707a}
@media(max-width:760px){
 #faq .faqGroups{grid-template-columns:1fr;gap:18px}
 #faq .faqQ{min-height:46px;padding:11px 12px!important}
 .heroPic{height:auto;max-height:430px;object-fit:contain;padding:8px}
}

/* V110 – kompakte FAQ-Vorschau auf Startseite */
.faqPreview .faqPreviewList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;margin-top:20px}
.faqPreview .faqMore{margin-top:20px}
@media(max-width:760px){.faqPreview .faqPreviewList{grid-template-columns:1fr}.faqPreview .faqMore{width:100%;box-sizing:border-box;text-align:center}}

/* V111 – Mobile Header & Hero bereinigt */
@media(max-width:760px){
 header .nav{height:68px!important;padding:0 16px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
 header .logo{width:142px!important;max-width:48vw!important;max-height:58px!important;object-fit:contain!important;object-position:left center!important}
 .mobileMenuBtn{min-width:82px!important;min-height:46px!important;padding:10px 14px!important;border-radius:12px!important;margin-left:auto!important}
 .mobileMenu{padding:10px 16px 16px!important}
 .mobileMenu .mobileCta{display:none!important}
 .hero{padding-top:34px!important}
 .hero .grid{gap:24px!important}
 .heroEyebrow{display:none!important}
 .hero h1{font-size:clamp(3.2rem,15vw,4.6rem)!important;line-height:.92!important;margin:0 0 22px!important}
 .hero .lead{font-size:1.08rem!important;line-height:1.6!important;margin-bottom:20px!important}
 .hero .btn{width:auto!important;min-height:48px!important;padding:12px 20px!important}
 .heroTrust{margin-top:18px!important}
}
@media(max-width:430px){
 header .logo{width:132px!important}
 .hero .btn{width:100%!important;box-sizing:border-box!important}
}

/* V169 – restrained motion and stronger interaction feedback. */
:root{--fx-ease:cubic-bezier(.2,.75,.25,1);--fx-shadow:0 16px 34px rgba(20,35,40,.11);--fx-shadow-soft:0 10px 24px rgba(20,35,40,.08)}

/* Elements are only hidden after JS has opted them into reveal behavior. */
.fx-reveal{opacity:0;transform:translateY(20px);transition:opacity .55s var(--fx-ease),transform .55s var(--fx-ease);transition-delay:var(--fx-delay,0ms);will-change:opacity,transform}
.fx-reveal.fx-visible{opacity:1;transform:none;will-change:auto}
.fx-reveal.fx-from-left{transform:translateX(-18px)}.fx-reveal.fx-from-right{transform:translateX(18px)}
.fx-reveal.fx-visible.fx-from-left,.fx-reveal.fx-visible.fx-from-right{transform:none}

/* The public site keeps the calm base but makes clickable surfaces obvious on pointer devices. */
.cards .card,.photo,.compactLayouts .layoutCard,.whyPoints>div,.regionCard,.faqItem,.customerVoice,.includedGrid>div,.servicePromise>.w>div,.bg,.whatsappCard{
 transition:transform .22s var(--fx-ease),box-shadow .22s ease,border-color .22s ease,background-color .22s ease;
}
.photo img,.heroPic,.regionCard,.cards .card{transition:transform .28s var(--fx-ease),box-shadow .22s ease,border-color .22s ease}
.links a:not(.btn){position:relative;transition:color .18s ease}.links a:not(.btn):after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:#14898c;transition:right .2s ease}

@media(hover:hover) and (pointer:fine){
 .cards .card:not(.recommendedPackage):hover,.whyPoints>div:hover,.regionCard:hover,.customerVoice:hover,.includedGrid>div:hover,.servicePromise>.w>div:hover{transform:translateY(-4px);box-shadow:var(--fx-shadow);border-color:#bfd8d6}
 .cards .recommendedPackage:hover{transform:translateY(-7px);box-shadow:0 22px 46px rgba(20,137,140,.18)}
 .photo:hover{transform:translateY(-3px);box-shadow:var(--fx-shadow);border-color:#bfd8d6}.photo:hover img{transform:scale(1.025)}
 .compactLayouts .layoutCard:hover{box-shadow:var(--fx-shadow)!important}
 .whyPoints>div:hover{background:#fbfefd}
 .faqItem:hover{transform:translateY(-2px);box-shadow:var(--fx-shadow-soft)}
 .faqItem:hover .faqQ{border-color:#a9cecc;background:#fbfefe}
 .bg:hover{transform:translateY(-3px);box-shadow:var(--fx-shadow-soft);border-color:#78bfc1}
 .heroPic:hover{transform:translateY(-3px) scale(1.012);box-shadow:0 18px 44px rgba(20,35,40,.10)}
 .links a:not(.btn):hover{color:#14898c}.links a:not(.btn):hover:after{right:0}
 .footerCol a:hover,.footerCol button:hover{color:#14898c;text-decoration:none}
}

/* Press feedback for touch/keyboard users without requiring vibration. */
@media(hover:none){
 .cards .card:active,.whyPoints>div:active,.regionCard:active,.faqItem:active,.bg:active{transform:scale(.985)}
}

/* Scroll motion never blocks content when a browser lacks IntersectionObserver. */
@media(prefers-reduced-motion:reduce){
 .fx-reveal,.fx-reveal.fx-from-left,.fx-reveal.fx-from-right{opacity:1!important;transform:none!important;transition:none!important}
 .cards .card,.photo,.compactLayouts .layoutCard,.whyPoints>div,.regionCard,.faqItem,.customerVoice,.includedGrid>div,.servicePromise>.w>div,.bg,.whatsappCard,.photo img,.heroPic,.links a:after{transition:none!important;transform:none!important}
}

/* Small phones use the dedicated mobile menu; the desktop CTA row must not compete for width. */
@media(max-width:760px){header .nav>.links{display:none!important}}


/* V170 – emotionaler, visueller und trotzdem ruhiger FotoboxOSL-Auftritt */
:root{
 --brand:#14898c;
 --brand-deep:#0e6669;
 --accent-blue:#315f93;
 --accent-gold:#c58f2b;
 --accent-green:#3c7c5b;
 --warm:#fbf6ee;
 --teal-soft:#eef8f6;
 --blue-soft:#f1f5fa;
 --gold-soft:#fff8e9;
 --green-soft:#eff8f2;
}

/* Hero: Erlebnis zuerst, Produktdetails später. */
.hero{background:linear-gradient(145deg,#fff 0%,#f6fbfa 55%,#edf7f5 100%)}
.hero .grid{grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:48px}
.heroVisual{position:relative;min-width:0}
.heroVisual:before{content:"";position:absolute;inset:7% -4% -5% 8%;border-radius:30px;background:linear-gradient(135deg,rgba(20,137,140,.15),rgba(197,143,43,.10));transform:rotate(2deg)}
.heroVisual .heroPic{position:relative;height:500px;object-fit:cover;object-position:center;border-radius:28px;padding:0;background:#e9f2f1;box-shadow:0 28px 65px rgba(20,35,40,.18)}
.heroVisualBadge{position:absolute;left:22px;bottom:20px;max-width:300px;padding:13px 15px;border:1px solid rgba(255,255,255,.68);border-radius:14px;background:rgba(255,255,255,.92);box-shadow:0 14px 34px rgba(20,35,40,.18);backdrop-filter:blur(8px)}
.heroVisualBadge strong,.heroVisualBadge span{display:block}.heroVisualBadge strong{font-size:15px}.heroVisualBadge span{margin-top:3px;color:#5b686e;font-size:12px;line-height:1.45}
.heroProof{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.heroProof span{padding:7px 10px;border:1px solid #d9e7e5;border-radius:999px;background:#fff;color:#41545a;font-size:12px;font-weight:800}
@media(hover:hover) and (pointer:fine){.heroVisual:hover .heroPic{transform:translateY(-4px) scale(1.008);box-shadow:0 34px 75px rgba(20,35,40,.22)}}
@media(max-width:900px){.hero .grid{grid-template-columns:1fr;gap:30px}.heroVisual .heroPic{height:min(62vw,480px)}}
@media(max-width:600px){.heroVisual .heroPic{height:340px;border-radius:20px}.heroVisual:before{inset:8% -2% -4% 5%;border-radius:22px}.heroVisualBadge{left:12px;right:12px;bottom:12px;max-width:none}.heroProof{gap:6px}.heroProof span{font-size:11px}}

/* Trust cards: same restrained accent language that works well in the admin dashboard. */
.servicePromise{padding:26px 0;background:#fff;border:0}
.servicePromise .w{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.servicePromise .w>div{min-height:112px;padding:16px 17px;border:1px solid #e1e8e8;border-left:4px solid var(--brand);border-radius:14px;background:#f8fbfb;box-shadow:0 8px 20px rgba(20,35,40,.035)}
.servicePromise .trust-teal{background:var(--teal-soft);border-color:#cbe4df;border-left-color:var(--brand)}
.servicePromise .trust-blue{background:var(--blue-soft);border-color:#d6e0ed;border-left-color:var(--accent-blue)}
.servicePromise .trust-gold{background:var(--gold-soft);border-color:#eee0bd;border-left-color:var(--accent-gold)}
.servicePromise .trust-green{background:var(--green-soft);border-color:#d0e4d7;border-left-color:var(--accent-green)}
.servicePromise strong{font-size:15px;line-height:1.35}.servicePromise span{margin-top:5px;font-size:13px;line-height:1.5}
@media(max-width:900px){.servicePromise .w{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.servicePromise .w{grid-template-columns:1fr}.servicePromise .w>div{min-height:0}}

/* Clearer visual rhythm between long sections. */
#pakete{background:linear-gradient(180deg,#f6fafa 0%,#eef7f7 100%)}
.momentSection{background:linear-gradient(135deg,#fffaf2 0%,#fff 58%,#eff8f6 100%)}
#layout{background:#fff}
#boxen{background:linear-gradient(180deg,#eff8f6 0%,#f7fbfb 100%)}
#boxen .photo{box-shadow:0 14px 32px rgba(20,35,40,.08)}
.whySection{background:linear-gradient(135deg,#fbf7ef 0%,#f7fbfa 100%)}
.regionSection{background:linear-gradient(135deg,#edf7f5,#f9fcfc)}
.faqPreview{background:#f7f9fb}
.sectionLead{margin:4px 0 26px;color:#687579;font-size:1.05rem}

/* Emotional detail collage instead of repeating the same hero image. */
.momentGrid{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:46px}
.momentVisualStory{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:1fr 1fr;gap:12px;min-width:0}
.momentPhotoMain{grid-row:1/3;min-height:440px}
.momentPhotoMain img{width:100%;height:100%;object-fit:cover}
.momentMini{position:relative;min-height:0;overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 14px 34px rgba(20,35,40,.10)}
.momentMini img{width:100%;height:100%;min-height:210px;object-fit:cover;transition:transform .3s ease}
.momentMini span{position:absolute;left:10px;right:10px;bottom:10px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.9);font-size:11px;font-weight:800;line-height:1.35;box-shadow:0 6px 18px rgba(20,35,40,.1)}
@media(hover:hover) and (pointer:fine){.momentMini:hover img{transform:scale(1.035)}}
@media(max-width:850px){.momentGrid{grid-template-columns:1fr}.momentVisualStory{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.momentPhotoMain{grid-column:1/-1;grid-row:auto;min-height:360px}.momentMini img{min-height:180px}}
@media(max-width:520px){.momentVisualStory{grid-template-columns:1fr}.momentPhotoMain{min-height:300px}.momentMini img{min-height:190px}}

/* Package cards: richer focus, but no extra complexity. */
.cards .card{position:relative;overflow:hidden}
.cards .card:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:#d5e5e4}
.cards .recommendedPackage:before{background:linear-gradient(90deg,var(--brand),#58b4ad)}
.cards .card .price{margin-top:8px}
@media(hover:hover) and (pointer:fine){.cards .card:hover{transform:translateY(-5px);box-shadow:0 24px 50px rgba(20,35,40,.14)}}

/* Process is allowed to feel a little more interactive. */
.steps .step{position:relative;overflow:hidden;background:rgba(255,255,255,.035);transition:transform .2s var(--fx-ease),border-color .2s ease,background .2s ease}
.steps .step:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:rgba(20,137,140,.9);opacity:.65}
@media(hover:hover) and (pointer:fine){.steps .step:hover{transform:translateY(-4px);border-color:#50606c;background:rgba(255,255,255,.065)}}

/* Stronger but still subtle hover language across real clickable/evaluative surfaces. */
@media(hover:hover) and (pointer:fine){
 .servicePromise .w>div:hover,.whyPoints>div:hover,.regionCard:hover,.customerVoice:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(20,35,40,.12)}
 .compactLayouts .layoutCard:hover,#bgs .previewBg:hover{transform:translateY(-4px) scale(1.015)!important;box-shadow:0 20px 42px rgba(20,35,40,.15)!important}
 .faqItem:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(20,35,40,.08)}
}

/* Conversion CTA: compact emotional bridge, not another long section. */
.experienceCta{padding:34px 0;background:linear-gradient(135deg,#0e6669,#14898c);color:#fff}
.experienceCtaInner{display:flex;align-items:center;justify-content:space-between;gap:28px}
.experienceCta .k{color:#bfe9e5}.experienceCta h2{margin:5px 0 7px;font-size:clamp(28px,4vw,42px);line-height:1.05}.experienceCta p{margin:0;color:#dcefee}
.experienceCta .btn{flex:0 0 auto;background:#fff!important;color:#174347!important;box-shadow:0 12px 28px rgba(0,0,0,.12)}
@media(hover:hover) and (pointer:fine){.experienceCta .btn:hover{transform:translateY(-3px);box-shadow:0 17px 34px rgba(0,0,0,.18)}}
@media(max-width:760px){.experienceCta{padding:30px 0}.experienceCtaInner{align-items:stretch;flex-direction:column}.experienceCta .btn{width:100%;text-align:center}}

/* Slightly more present buttons, while preserving the restrained design. */
.btn{transition:transform .18s var(--fx-ease),box-shadow .18s ease,background-color .18s ease,filter .18s ease}
@media(hover:hover) and (pointer:fine){.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,35,40,.16);filter:brightness(1.025)}}

/* Reveal motion stays modest and is disabled for reduced-motion users. */
.fx-reveal{transform:translateY(24px);transition-duration:.62s}
.fx-reveal.fx-from-left{transform:translateX(-22px)}.fx-reveal.fx-from-right{transform:translateX(22px)}
@media(prefers-reduced-motion:reduce){
 .heroVisual .heroPic,.momentMini img,.steps .step,.experienceCta .btn,.servicePromise .w>div{transition:none!important;transform:none!important}
}

header{transition:box-shadow .2s ease,background-color .2s ease,border-color .2s ease}
header.siteScrolled{background:rgba(255,255,255,.97);box-shadow:0 8px 28px rgba(20,35,40,.08);border-bottom-color:#dfe8e7}
@media(prefers-reduced-motion:reduce){header{transition:none!important}}


/* V171 – mehr Eventgefühl, mehr Tiefe und klarere visuelle Begehrlichkeit */
:root{
 --v171-shadow:0 20px 50px rgba(20,35,40,.13);
 --v171-shadow-hover:0 28px 62px rgba(20,35,40,.19);
 --v171-radius:22px;
}

/* HERO: Event + echte Ausdrucke statt nur einer rechteckigen Bildfläche */
.hero{position:relative;overflow:hidden}
.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;pointer-events:none;filter:blur(2px)}
.hero:before{width:420px;height:420px;right:-190px;top:-180px;background:radial-gradient(circle,rgba(20,137,140,.14),rgba(20,137,140,0) 70%)}
.hero:after{width:340px;height:340px;left:-190px;bottom:-190px;background:radial-gradient(circle,rgba(197,143,43,.12),rgba(197,143,43,0) 70%)}
.hero .w{position:relative;z-index:1}
.heroCopy{min-width:0}
.heroActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 0}
.heroActions .btn{min-width:168px;text-align:center}
.heroSecondary{background:#fff!important;color:#26363b!important;border:1px solid #cad9d7!important;box-shadow:none!important}
.heroSecondary:hover{border-color:#8ebbb7!important;background:#f8fbfa!important}
.heroVisual{position:relative;min-height:520px;display:flex;align-items:center}
.heroScene{position:relative;width:100%;z-index:1}
.heroScene .heroPic{width:100%;height:500px;border-radius:30px;object-fit:cover;box-shadow:var(--v171-shadow);transition:transform .35s ease,box-shadow .35s ease}
.heroPrintStack{position:absolute;right:-22px;bottom:-18px;width:235px;height:190px;z-index:4;pointer-events:none}
.heroPrint{position:absolute;margin:0;padding:8px 8px 28px;background:#fff;border-radius:5px;box-shadow:0 18px 38px rgba(20,35,40,.22)}
.heroPrint img{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px}
.heroPrintOne{width:148px;height:176px;right:72px;bottom:4px;transform:rotate(-8deg)}
.heroPrintTwo{width:138px;height:166px;right:2px;bottom:12px;transform:rotate(8deg)}
.heroPrint:after{content:"FotoboxOSL";position:absolute;left:0;right:0;bottom:7px;text-align:center;font-size:9px;font-weight:800;letter-spacing:.08em;color:#6c777b}
.heroVisualBadge{left:18px;bottom:18px;z-index:5}
@media(hover:hover) and (pointer:fine){
 .heroVisual:hover .heroScene .heroPic{transform:translateY(-5px) scale(1.009);box-shadow:var(--v171-shadow-hover)}
 .heroVisual:hover .heroPrintOne{transform:translate(-4px,-5px) rotate(-10deg)}
 .heroVisual:hover .heroPrintTwo{transform:translate(4px,-3px) rotate(10deg)}
 .heroPrint{transition:transform .3s ease}
}
@media(max-width:980px){
 .heroVisual{min-height:0;padding:0 22px 35px 0}
 .heroPrintStack{right:0;bottom:0;transform:scale(.82);transform-origin:right bottom}
}
@media(max-width:600px){
 .heroActions{display:grid;grid-template-columns:1fr 1fr}
 .heroActions .btn{min-width:0;width:100%;padding-left:10px!important;padding-right:10px!important}
 .heroVisual{padding:0 0 30px}
 .heroScene .heroPic{height:360px;border-radius:22px}
 .heroPrintStack{width:170px;height:135px;right:-4px;bottom:0;transform:scale(.72);transform-origin:right bottom}
 .heroVisualBadge{left:10px;right:72px;bottom:18px}
}
@media(max-width:410px){
 .heroActions{grid-template-columns:1fr}
 .heroVisualBadge{right:54px}
}

/* Pakete: Produkt greifbar machen statt nur Textkarten */
.packageCard{display:flex;flex-direction:column;min-width:0}
.packageVisual{position:relative;height:180px;margin:-6px -6px 18px;border-radius:17px;overflow:hidden;background:linear-gradient(145deg,#f5f9f8,#edf5f4);border:1px solid #e1e9e8}
.packageVisual img{width:100%;height:100%;object-fit:contain;padding:10px;transition:transform .35s ease}
.packageVisual>span{position:absolute;left:10px;right:10px;bottom:10px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.91);box-shadow:0 6px 18px rgba(20,35,40,.08);font-size:11px;line-height:1.35;font-weight:800}
.packageVisualPrint{background:linear-gradient(145deg,#fff9ef,#f5eee2)}
.packageVisualPrint img{object-fit:cover;padding:0}
.packageCard .pack{margin-top:auto}
@media(hover:hover) and (pointer:fine){
 .packageCard:hover .packageVisual img{transform:scale(1.035)}
 .packageCard:hover{transform:translateY(-7px)!important;box-shadow:0 28px 60px rgba(20,35,40,.16)!important}
}

/* Horizontale Erlebnisgalerie */
.momentRailSection{padding:58px 0 66px;background:#11171c;color:#fff;overflow:hidden}
.momentRailHead{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);align-items:end;gap:28px;margin-bottom:24px}
.momentRailHead h2{margin:.18em 0 0;color:#fff;font-size:clamp(32px,4.5vw,54px);max-width:720px}
.momentRailHead>p{margin:0;color:#bfc8ce;font-size:15px;line-height:1.6}
.momentRail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.momentRailCard{position:relative;min-height:330px;overflow:hidden;border-radius:18px;background:#20282e;border:1px solid #303b43;box-shadow:0 14px 32px rgba(0,0,0,.2)}
.momentRailCard img{width:100%;height:100%;min-height:330px;object-fit:cover;transition:transform .38s ease,filter .38s ease}
.momentRailCard:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(8,13,17,.9))}
.momentRailCard>span{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;display:flex;flex-direction:column;gap:4px}
.momentRailCard b{font-size:15px;line-height:1.3}
.momentRailCard small{color:#d4dade;font-size:12px;line-height:1.45}
@media(hover:hover) and (pointer:fine){
 .momentRailCard{transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
 .momentRailCard:hover{transform:translateY(-7px);border-color:#56807e;box-shadow:0 25px 52px rgba(0,0,0,.34)}
 .momentRailCard:hover img{transform:scale(1.055);filter:saturate(1.08)}
}
@media(max-width:1000px){
 .momentRail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,38vw);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 18px 18px 0;scrollbar-width:thin}
 .momentRailCard{scroll-snap-align:start}
}
@media(max-width:700px){
 .momentRailSection{padding:44px 0 50px}
 .momentRailHead{grid-template-columns:1fr;gap:10px}
 .momentRail{grid-auto-columns:minmax(245px,82vw)}
 .momentRailCard,.momentRailCard img{min-height:315px}
}

/* Anlasskarten – visuelle Selbstzuordnung + direkter Weg ins Formular */
.occasionSection{background:linear-gradient(160deg,#fff 0%,#fbf6ee 48%,#f0f8f6 100%)}
.occasionIntro{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);gap:26px;align-items:end;margin-bottom:26px}
.occasionIntro h2{margin:.15em 0 0}.occasionIntro>p{margin:0;color:#687579}
.occasionGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.occasionCard{appearance:none;position:relative;min-height:360px;padding:0;border:1px solid #dde6e5;border-radius:20px;overflow:hidden;background:#fff;color:#172025;text-align:left;cursor:pointer;box-shadow:0 12px 28px rgba(20,35,40,.07)}
.occasionCard img{width:100%;height:100%;min-height:360px;object-fit:cover;transition:transform .38s ease,filter .38s ease}
.occasionCard:after{content:"";position:absolute;inset:32% 0 0;background:linear-gradient(transparent,rgba(255,255,255,.98) 58%)}
.occasionCard>span{position:absolute;left:15px;right:15px;bottom:15px;z-index:2;display:flex;flex-direction:column;gap:5px}
.occasionCard b{font-size:20px;line-height:1.1}.occasionCard small{color:#59676c;font-size:12px;line-height:1.45}.occasionCard em{margin-top:3px;color:#14898c;font-size:12px;font-style:normal;font-weight:900}
@media(hover:hover) and (pointer:fine){
 .occasionCard{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
 .occasionCard:hover{transform:translateY(-8px);border-color:#9bc5c1;box-shadow:0 26px 54px rgba(20,35,40,.15)}
 .occasionCard:hover img{transform:scale(1.055);filter:saturate(1.05)}
 .occasionCard:hover em{color:#0e6669}
}
@media(max-width:900px){.occasionGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .occasionIntro{grid-template-columns:1fr;gap:8px}
 .occasionGrid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(248px,82vw);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 14px 18px 0}
 .occasionCard{scroll-snap-align:start;min-height:330px}.occasionCard img{min-height:330px}
}

/* Echte Momente: noch stärker wie ein Editorial-/Eventblock */
.momentSection{position:relative;overflow:hidden}
.momentSection:before{content:"";position:absolute;width:380px;height:380px;right:-170px;bottom:-180px;border-radius:50%;background:radial-gradient(circle,rgba(197,143,43,.12),transparent 68%)}
.momentSection .w{position:relative;z-index:1}
.momentVisualStory{transform:rotate(-.4deg)}
.momentPhotoMain,.momentMini{border:7px solid #fff;box-shadow:0 18px 40px rgba(20,35,40,.12)}

/* Ablauf: kleine Fortschrittslinie, wenn der Bereich ins Sichtfeld kommt */
.steps{position:relative}
.steps:before,.steps:after{content:"";position:absolute;left:4%;right:4%;top:-13px;height:3px;border-radius:99px}
.steps:before{background:#343e46}
.steps:after{right:auto;width:0;background:linear-gradient(90deg,#14898c,#75c2bb);transition:width .9s ease}
.steps.stepsVisible:after{width:92%}
.step{position:relative;z-index:1}
@media(max-width:760px){
 .steps:before,.steps:after{display:none}
}

/* Warum FotoboxOSL: echter visueller Serviceblock */
.whyExperience{grid-template-columns:minmax(330px,.9fr) minmax(0,1.1fr);gap:42px;align-items:center}
.whyVisual{position:relative;min-height:520px;border-radius:24px;overflow:hidden;box-shadow:var(--v171-shadow)}
.whyVisual img{width:100%;height:100%;min-height:520px;object-fit:cover;transition:transform .38s ease}
.whyVisualNote{position:absolute;left:16px;right:16px;bottom:16px;padding:14px 15px;border-radius:13px;background:rgba(255,255,255,.92);box-shadow:0 10px 26px rgba(20,35,40,.13)}
.whyVisualNote strong,.whyVisualNote span{display:block}.whyVisualNote strong{font-size:17px}.whyVisualNote span{margin-top:3px;color:#5f6b70;font-size:13px}
.whyContent h2{margin-top:0}.whyContent>.btn{margin-top:18px}
.whyContent .whyPoints{margin-top:20px}
.whyContent .whyPoints>div{border-left:4px solid #14898c}
.whyContent .whyPoints>div:nth-child(2){border-left-color:#c58f2b}.whyContent .whyPoints>div:nth-child(3){border-left-color:#315f93}
@media(hover:hover) and (pointer:fine){.whyVisual:hover img{transform:scale(1.025)}}
@media(max-width:850px){.whyExperience{grid-template-columns:1fr}.whyVisual,.whyVisual img{min-height:390px}}
@media(max-width:520px){.whyVisual,.whyVisual img{min-height:310px}.whyExperience{gap:24px}}

/* Kundenstimmen – falls vorhanden, deutlich wertiger */
.customerVoices{background:linear-gradient(180deg,#f8fbfb,#fff)}
.customerVoice{position:relative;padding-top:48px!important;box-shadow:0 10px 28px rgba(20,35,40,.06)}
.customerVoice:before{content:"“";position:absolute;left:17px;top:4px;color:#14898c;font:700 52px/1 Georgia,serif;opacity:.35}

/* Mobile Conversion CTA: sichtbar, aber nicht über dem eigentlichen Formular */
.mobileStickyCta{display:none}
@media(max-width:760px){
 body{padding-bottom:84px}
 .mobileStickyCta{position:fixed;display:flex;align-items:center;justify-content:space-between;gap:12px;left:10px;right:10px;bottom:10px;z-index:70;padding:10px 13px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(18,29,33,.94);color:#fff;text-decoration:none;box-shadow:0 14px 34px rgba(0,0,0,.26);backdrop-filter:blur(10px);transition:transform .22s ease,opacity .22s ease}
 .mobileStickyCta span{font-size:11px;color:#bdc7cb}.mobileStickyCta strong{font-size:13px;color:#fff;text-align:right}
 .mobileStickyCta:active{transform:scale(.985)}
 .mobileStickyCta.isHidden{opacity:0;transform:translateY(85px);pointer-events:none}
 .cookieBanner{bottom:96px!important}
}

/* Mehr Tiefe bei bestehenden visuellen Karten */
.photo,.layoutCard,.bg,.regionCard,.whyPoints>div,.servicePromise .w>div{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
@media(hover:hover) and (pointer:fine){
 .photo:hover,.regionCard:hover,.whyPoints>div:hover,.servicePromise .w>div:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(20,35,40,.12)}
}

/* Accessibility / reduzierte Bewegung */
@media(prefers-reduced-motion:reduce){
 .heroScene .heroPic,.heroPrint,.packageVisual img,.momentRailCard,.momentRailCard img,.occasionCard,.occasionCard img,.whyVisual img,.steps:after,.mobileStickyCta{transition:none!important;transform:none!important}
 .steps:after{width:92%!important}
}

.momentRail:focus-visible{outline:3px solid rgba(117,194,187,.65);outline-offset:5px;border-radius:16px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

/* V172 – klare Rückmeldungen und Fehlerzustände auf der öffentlichen Website */
.formFeedback{display:grid;gap:4px;margin:0 0 16px;padding:14px 15px;border:1px solid #d8e2e4;border-left:5px solid #6a7f88;border-radius:12px;background:#f7f9fa;color:#27383f;line-height:1.45}
.formFeedback[hidden]{display:none!important}.formFeedback strong{font-size:15px}.formFeedback span{font-size:14px}.formFeedback small{font-size:12px;color:#607078}
.formFeedback.error{border-color:#e5c4c4;border-left-color:#b33d3d;background:#fff3f2;color:#7f2e2e}.formFeedback.info{border-color:#c9dce8;border-left-color:#3c6d92;background:#f2f7fb;color:#2f566f}.formFeedback.success{border-color:#b9d8c8;border-left-color:#287653;background:#edf8f2;color:#215d44}
.form .fieldError,.form input.fieldError,.form select.fieldError,.form textarea.fieldError{border-color:#b84747!important;box-shadow:0 0 0 3px rgba(184,71,71,.11)!important;background:#fffafa!important}
.form .fieldHasError>label,.form label.fieldHasError{color:#923b3b}.fieldErrorMessage{display:block;margin:6px 0 2px;color:#9b3838;font-size:12px;line-height:1.4;font-weight:700}
.privacyChoice{display:flex!important;align-items:flex-start;gap:9px;padding:10px 11px;border:1px solid transparent;border-radius:10px;line-height:1.45}.privacyChoice input{flex:0 0 18px;width:18px!important;height:18px;margin-top:2px}.privacyChoice.fieldHasError{border-color:#e2b9b9;background:#fff5f5}
.submitState[aria-busy="true"]{cursor:wait;opacity:.78}
.feedback.success{background:#17643f}.feedback.error{background:#9d3030}.feedback.info{background:#17191d}
body.legalOpen{overflow:hidden}.legalModal[aria-hidden="true"]{display:none}.legalModal.show[aria-hidden="false"]{display:flex}
.cookieSettings.show{display:block}.cookieActions button[aria-expanded="true"]{border-color:#14898c;color:#0f7073}
@media(max-width:760px){.formFeedback{padding:13px}.fieldErrorMessage{font-size:13px}.privacyChoice{padding:11px}.form .fieldError{scroll-margin-top:100px}}


/* V173 – neue Stimmungsbilder + klarer Ablaufbereich */
.momentRailCard.momentRailWide{grid-column:span 1}

/* Die alte runde/ovale Dekoration der Prozesskarten wird vollständig neutralisiert. */
.steps .step:before{
 content:none!important;
 display:none!important;
 border:0!important;
 border-radius:0!important;
 width:0!important;
 height:0!important;
}
.steps{
 gap:14px;
 align-items:stretch;
}
.steps .step{
 position:relative;
 display:flex;
 flex-direction:column;
 align-items:flex-start;
 min-height:176px;
 padding:20px 18px 18px;
 border:1px solid #34414a;
 border-top:3px solid #14898c;
 border-radius:14px;
 background:linear-gradient(150deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
 overflow:visible;
}
.steps .step:nth-child(2){border-top-color:#4c86aa}
.steps .step:nth-child(3){border-top-color:#c49443}
.steps .step:nth-child(4){border-top-color:#4a8b66}
.stepNumber{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-width:38px;
 height:32px;
 margin:0 0 15px;
 padding:0 9px;
 border:1px solid rgba(255,255,255,.15);
 border-radius:7px;
 background:#20282e;
 color:#73c8c2;
 font-size:12px;
 font-weight:900;
 letter-spacing:.08em;
}
.steps .step:nth-child(2) .stepNumber{color:#86b8d8}
.steps .step:nth-child(3) .stepNumber{color:#e0b96c}
.steps .step:nth-child(4) .stepNumber{color:#81c09a}
.steps .step>b{font-size:17px;line-height:1.25}
.steps .step>p{margin:9px 0 0;color:#c6cfd4;font-size:14px;line-height:1.55}
@media(hover:hover) and (pointer:fine){
 .steps .step:hover{
  transform:translateY(-6px);
  border-color:#4d606b;
  border-top-color:#62bbb5;
  background:linear-gradient(150deg,rgba(255,255,255,.085),rgba(255,255,255,.028));
  box-shadow:0 18px 36px rgba(0,0,0,.22);
 }
}

/* Stimmungsbilder erhalten eine etwas filmischere, hochwertige Darstellung. */
.heroScene .heroPic,
.momentRailCard img,
.occasionCard img,
.whyVisual img{
 filter:saturate(1.02) contrast(1.015);
}
.momentRailCard,
.occasionCard,
.whyVisual{
 box-shadow:0 18px 44px rgba(20,35,40,.12);
}

@media(max-width:760px){
 .steps{grid-template-columns:1fr!important}
 .steps .step{min-height:0;padding:17px}
 .stepNumber{margin-bottom:11px}
}

/* V174 – Paketbilder exakt gleich groß und gleichwertig dargestellt */
.packageCard .packageVisual{
 width:100%;
 height:auto!important;
 aspect-ratio:16 / 9;
 margin:-6px -6px 18px;
 overflow:hidden;
 border-radius:17px;
}
.packageCard .packageVisual img,
.packageCard .packageVisualPrint img{
 width:100%!important;
 height:100%!important;
 object-fit:cover!important;
 object-position:center!important;
 padding:0!important;
 display:block;
}
.packageCard .packageVisual>span{
 left:10px;
 right:10px;
 bottom:10px;
 min-height:38px;
 display:flex;
 align-items:center;
}

/* V175 – durchwischbare, selbst pflegbare Hintergrundauswahl */
.backgroundsSection{overflow:hidden}
.backgroundSectionHead{display:flex;justify-content:space-between;gap:24px;align-items:flex-end}
.backgroundSectionHead>div:first-child{max-width:760px}
.backgroundSliderControls{display:flex;gap:8px;flex:0 0 auto;padding-bottom:4px}
.backgroundSliderControls button{width:46px;height:46px;border-radius:50%;border:1px solid #cfd9da;background:#fff;color:#243135;font-size:28px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 18px rgba(25,45,50,.06)}
.backgroundSliderControls button:hover:not(:disabled){border-color:#14898c;color:#14898c}
.backgroundSliderControls button:focus-visible{outline:3px solid rgba(20,137,140,.2);outline-offset:2px}
.backgroundSliderControls button:disabled{opacity:.32;cursor:default}
.backgroundViewport{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-inline:contain;padding:2px 1px 9px;touch-action:pan-x pan-y}
.backgroundViewport::-webkit-scrollbar{display:none}
.bgs{display:flex!important;grid-template-columns:none!important;gap:14px!important;margin-top:22px!important;width:max-content;min-width:100%}
.bgs>.bg{flex:0 0 clamp(220px,29vw,315px);scroll-snap-align:start;border:2px solid transparent;border-radius:16px;overflow:hidden;background:#fff;padding:0;cursor:zoom-in;box-shadow:0 10px 26px rgba(24,44,49,.07);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.bgs>.bg:hover{transform:translateY(-2px);border-color:#b9dada;box-shadow:0 13px 30px rgba(24,44,49,.11)}
.bgs>.bg:focus-visible{outline:3px solid rgba(20,137,140,.22);outline-offset:3px}
.bgs>.bg img{aspect-ratio:4/3;width:100%;height:auto;object-fit:cover;display:block}
.backgroundSwipeHint{margin:8px 0 0;color:#788488;font-size:.82rem}
.backgroundLightbox[hidden]{display:none!important}
.backgroundLightbox{position:fixed;inset:0;z-index:600;background:rgba(9,13,15,.86);display:flex;align-items:center;justify-content:center;padding:24px}
.backgroundLightboxDialog{position:relative;width:min(1100px,100%);max-height:92vh;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}
.backgroundLightboxFigure{margin:0;min-width:0;display:grid;gap:9px;justify-items:center}
.backgroundLightboxFigure img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.backgroundLightboxFigure figcaption{color:#fff;font-size:.9rem;text-align:center}
.backgroundLightboxClose{position:absolute;right:0;top:-54px;min-width:96px;height:42px;padding:0 14px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-weight:800;cursor:pointer}
.backgroundLightboxPrev,.backgroundLightboxNext{width:48px;height:48px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:30px;display:grid;place-items:center;cursor:pointer}
.backgroundLightbox button:focus-visible{outline:3px solid rgba(255,255,255,.65);outline-offset:3px}
body.backgroundLightboxOpen{overflow:hidden}
@media(max-width:760px){
 .backgroundSectionHead{display:block}
 .backgroundSliderControls{display:none}
 .bgs>.bg{flex-basis:min(78vw,300px)}
 .backgroundSwipeHint{display:block}
 .backgroundLightbox{padding:16px}
 .backgroundLightboxDialog{grid-template-columns:1fr;gap:10px}
 .backgroundLightboxPrev,.backgroundLightboxNext{position:absolute;bottom:-58px}
 .backgroundLightboxPrev{left:calc(50% - 58px)}
 .backgroundLightboxNext{right:calc(50% - 58px)}
 .backgroundLightboxClose{top:-52px;right:0}
 .backgroundLightboxFigure img{max-height:74vh}
}
@media(min-width:761px){.backgroundSwipeHint{display:none}}
@media(prefers-reduced-motion:reduce){.bgs>.bg{transition:none}}
/* V175 slider overrides earlier static background-card rules. */
.bgs>.bg{cursor:zoom-in!important}
@media(hover:hover){.bgs>.bg:hover{border-color:#b9dada!important;transform:translateY(-2px)!important;box-shadow:0 13px 30px rgba(24,44,49,.11)!important}}


/* V176 – „Eure Bilder. Euer Design.“ als horizontaler Layout-Slider */
.layoutSection{overflow:hidden}
.layoutSectionHead{display:flex;justify-content:space-between;gap:24px;align-items:flex-end}
.layoutSectionHead>div:first-child{max-width:760px}
.layoutSliderControls{display:flex;gap:8px;flex:0 0 auto;padding-bottom:4px}
.layoutSliderControls button{width:46px;height:46px;border-radius:50%;border:1px solid #cfd9da;background:#fff;color:#243135;font-size:28px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 18px rgba(25,45,50,.06)}
.layoutSliderControls button:hover:not(:disabled){border-color:#14898c;color:#14898c}
.layoutSliderControls button:focus-visible{outline:3px solid rgba(20,137,140,.2);outline-offset:2px}
.layoutSliderControls button:disabled{opacity:.32;cursor:default}
.layoutViewport{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-inline:contain;padding:2px 1px 9px;touch-action:pan-x pan-y}
.layoutViewport::-webkit-scrollbar{display:none}
.layoutShowcase.compactLayouts{display:flex!important;grid-template-columns:none!important;gap:14px!important;margin:22px 0 0!important;width:max-content;min-width:100%;max-width:none!important}
.layoutShowcase.compactLayouts>.layoutCard{appearance:none;border:2px solid transparent;flex:0 0 clamp(230px,31vw,340px);scroll-snap-align:start;min-height:0!important;aspect-ratio:3/2;padding:0!important;overflow:hidden;border-radius:16px!important;background:#fff;cursor:zoom-in;box-shadow:0 10px 26px rgba(24,44,49,.07);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease!important}
.layoutShowcase.compactLayouts>.layoutCard img{width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important;display:block;border-radius:14px!important;transition:none!important}
.layoutShowcase.compactLayouts>.layoutCard:hover{transform:translateY(-2px)!important;border-color:#b9dada!important;box-shadow:0 13px 30px rgba(24,44,49,.11)!important}
.layoutShowcase.compactLayouts>.layoutCard:focus-visible{outline:3px solid rgba(20,137,140,.22);outline-offset:3px}
.layoutSwipeHint{margin:8px 0 0;color:#788488;font-size:.82rem}
.layoutLightbox[hidden]{display:none!important}
.layoutLightbox{position:fixed;inset:0;z-index:610;background:rgba(9,13,15,.86);display:flex;align-items:center;justify-content:center;padding:24px}
.layoutLightboxDialog{position:relative;width:min(1100px,100%);max-height:92vh;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}
.layoutLightboxFigure{margin:0;min-width:0;display:grid;gap:9px;justify-items:center}
.layoutLightboxFigure img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.layoutLightboxFigure figcaption{color:#fff;font-size:.9rem;text-align:center}
.layoutLightboxClose{position:absolute;right:0;top:-54px;min-width:96px;height:42px;padding:0 14px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-weight:800;cursor:pointer}
.layoutLightboxPrev,.layoutLightboxNext{width:48px;height:48px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:30px;display:grid;place-items:center;cursor:pointer}
.layoutLightbox button:focus-visible{outline:3px solid rgba(255,255,255,.65);outline-offset:3px}
body.layoutLightboxOpen{overflow:hidden}
@media(max-width:760px){
 .layoutSectionHead{display:block}
 .layoutSliderControls{display:none}
 .layoutShowcase.compactLayouts>.layoutCard{flex-basis:min(82vw,320px)}
 .layoutSwipeHint{display:block}
 .layoutLightbox{padding:16px}
 .layoutLightboxDialog{grid-template-columns:1fr;gap:10px}
 .layoutLightboxPrev,.layoutLightboxNext{position:absolute;bottom:-58px}
 .layoutLightboxPrev{left:calc(50% - 58px)}
 .layoutLightboxNext{right:calc(50% - 58px)}
 .layoutLightboxClose{top:-52px;right:0}
 .layoutLightboxFigure img{max-height:74vh}
}
@media(min-width:761px){.layoutSwipeHint{display:none}}
@media(prefers-reduced-motion:reduce){.layoutShowcase.compactLayouts>.layoutCard{transition:none!important}}

/* V184: Anfahrt + Über-mich-Bereich */
.regionGrid{grid-template-columns:minmax(0,1fr)!important;max-width:980px}
.travelCard{scroll-margin-top:110px;margin:28px 0 24px;padding:22px;border:1px solid #d8e5e3;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(20,35,40,.055)}
.travelHead{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:10px}.travelHead h3{margin:0;font-size:clamp(24px,3vw,31px)}.travelHead .k{margin:0}
.travelTable{border:1px solid #dfe7e7;border-radius:13px;overflow:hidden}.travelRow{display:grid;grid-template-columns:minmax(0,1fr) minmax(105px,.32fr);gap:14px;align-items:center;padding:11px 14px;border-top:1px solid #e6ecec}.travelRow:first-child{border-top:0}.travelRow strong{text-align:right;color:#263236}.travelHeader{background:#f2f7f6;font-size:.85rem;font-weight:900;color:#546368}.travelHeader span:last-child{text-align:right}.travelHeader small{font-weight:600}.travelNote{margin:10px 2px 0;color:#6a777b;font-size:.82rem}
.aboutVisual{background:linear-gradient(135deg,#e8f3f1,#f8fbfb);display:grid;place-items:center}.aboutVisual img{position:absolute;inset:0;width:100%;height:100%;min-height:0!important;object-fit:cover;opacity:0}.aboutVisual.has-photo img{opacity:1}.aboutPhotoPlaceholder{position:relative;z-index:1;text-align:center;color:#607074;padding:24px}.aboutPhotoPlaceholder strong,.aboutPhotoPlaceholder span{display:block}.aboutPhotoPlaceholder strong{font-size:1.3rem;color:#2b3a3e}.aboutPhotoPlaceholder span{margin-top:6px;font-size:.82rem}.aboutVisual.has-photo .aboutPhotoPlaceholder{display:none}.aboutName{color:#14898c}
.privacyChoice a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media(max-width:600px){.travelCard{padding:16px;margin:22px 0}.travelHead{display:block}.travelHead .k{margin-bottom:5px}.travelRow{grid-template-columns:minmax(0,1fr) auto;padding:10px 11px;gap:10px}.travelHeader{font-size:.78rem}.travelHeader span:first-child{max-width:190px}.travelRow strong{white-space:nowrap}.aboutVisual{min-height:310px}}

/* V189: compact portrait, with full square image visible. */
.whyExperience{grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:center}
.whyExperience .aboutVisual{width:100%;max-width:300px;min-height:0;height:auto;aspect-ratio:1;justify-self:center}
@media(max-width:850px){.whyExperience{grid-template-columns:1fr}.whyExperience .aboutVisual{max-width:250px}}
