/*
Theme Name: Lumea Soul 15
Description: Helles Theme in Creme, Salbei und Gold mit Hero-Bild und sanften Palmenschatten.
Version: 3.0
Text Domain: lumea-soul-15
*/

:root{--bg:#F6F1EA;--paper:#FFFFFF;--sand:#E9DFD2;--sage:#A8B8A5;--sagel:#E1E8DD;--ink:#3B362F;--mute:#6B655B;--gold:#A0803A;--serif:"Playfair Display",Georgia,serif;--sans:"Poppins","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:300 1.02rem/1.85 var(--sans);-webkit-font-smoothing:antialiased;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.18;margin:0 0 .6em}
h1{font-size:clamp(2.4rem,6vw,4.4rem)}h2{font-size:clamp(1.8rem,3.6vw,2.7rem)}h3{font-size:1.55rem}
p{margin:0 0 1.2em}a{color:inherit}.wrap{max-width:1080px;margin:0 auto;padding:0 1.5rem}.narrow{max-width:700px}.c{text-align:center}
header{position:sticky;top:0;z-index:20;background:#fff}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:82px;max-width:1240px}
.logo{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--gold);font:400 1.3rem/1 var(--serif);letter-spacing:.22em;white-space:nowrap}.logo i{font:italic 400 1.35rem var(--serif);letter-spacing:0;margin-left:-.3em}
nav{display:flex;align-items:center;gap:2rem;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase}nav a{text-decoration:none;color:var(--ink);padding:.3rem 0;transition:.25s}nav a:hover,nav a.on{color:var(--gold)}
nav a.cta{background:var(--gold);color:#fff;padding:.85rem 1.7rem;border-radius:3px}nav a.cta:hover{color:#fff;filter:brightness(1.08)}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;color:var(--ink)}.burger b{display:block;height:1.5px;background:currentColor;margin:6px 10px}
.btn{display:inline-block;background:var(--gold);color:#fff;text-decoration:none;padding:1rem 2.1rem;border-radius:3px;font:400 .8rem var(--sans);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--gold);transition:.25s;cursor:pointer}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px -14px rgba(120,90,30,.6)}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--sage)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.hero{position:relative;overflow:hidden;text-align:center;padding:5rem 1.5rem 3.5rem;display:grid;place-items:center}
.hero.s .in{position:relative;z-index:2;max-width:760px}.hero p.lead{font-size:1.15rem;color:var(--mute);max-width:560px;margin:1rem auto 0}
.hero.h{min-height:calc(100svh - 82px);padding:0;text-align:left;place-items:center start;background:linear-gradient(100deg,#FBF8F3,var(--bg) 55%,#EFE5D6)}
.hero.h .wrap{position:relative;z-index:2;width:100%;max-width:1240px}.hero.h .txt{max-width:540px;padding:3rem 0}
.hero.h h1{margin-bottom:.5em;animation:rise 1.5s cubic-bezier(.2,.7,.2,1) both}.hero.h p,.hero.h .btn{animation:rise 1.5s .3s cubic-bezier(.2,.7,.2,1) both}.hero.h p{color:var(--mute);font-size:1.08rem;margin-bottom:2rem}
@keyframes rise{from{opacity:0;transform:translateY(16px)}}
.himg{position:absolute;top:0;right:0;bottom:0;width:64%;background:url(hero.jpg) 60% center/cover;-webkit-mask-image:linear-gradient(to right,transparent,#000 45%);mask-image:linear-gradient(to right,transparent,#000 45%)}
.palm{position:absolute;top:-4%;bottom:-4%;right:-4%;width:min(56vw,540px);background:url(palm.jpg) center/cover;mix-blend-mode:multiply;opacity:.8;transform-origin:50% 100%;pointer-events:none;animation:sw 12s ease-in-out infinite;-webkit-mask-image:linear-gradient(to left,#000 30%,transparent);mask-image:linear-gradient(to left,#000 30%,transparent)}
@keyframes sw{0%,100%{transform:rotate(-1.3deg)}50%{transform:rotate(1.7deg) translateX(-14px)}}
section{padding:5.5rem 0}.sage{background:var(--sagel);text-align:center}.sage h2{font-style:italic;max-width:780px;margin:0 auto}.paper{background:#fff}
.split{display:grid;grid-template-columns:1fr 1.4fr;gap:4rem;align-items:start}.offers{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.offer{padding:2.6rem;background:#fff;border:1px solid var(--sand);border-radius:4px;display:flex;flex-direction:column}.offer.f{background:var(--sagel);border-color:var(--gold)}
.price{font:400 3rem/1 var(--serif);margin:.3rem 0 1.4rem;color:var(--gold)}.price small{font:300 .8rem var(--sans);color:var(--mute);margin-left:.6rem}
.offer ul{list-style:none;padding:0;margin:0 0 1.6rem;flex:1}.offer li{padding:.55rem 0 .55rem 1.6rem;position:relative;border-top:1px solid var(--sand)}.offer li:before{content:"";position:absolute;left:0;top:1.15rem;width:8px;height:8px;border-radius:0 80% 0 80%;background:var(--sage)}
.note{background:#fff;padding:1.5rem 2rem;border-left:3px solid var(--gold);margin:0 0 3rem;border-radius:0 4px 4px 0}
details{border-top:1px solid var(--sand)}details:last-of-type{border-bottom:1px solid var(--sand)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:1.4rem 0;font:400 1.6rem var(--serif)}summary::-webkit-details-marker{display:none}
summary:after{content:"";width:11px;height:11px;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(45deg);transition:.35s}details[open] summary:after{transform:rotate(-135deg)}
details p{max-width:640px;color:var(--mute);animation:rise .6s both}.ph{border:1px dashed var(--sage);padding:1.5rem 2rem;border-radius:4px;color:var(--mute);font-style:italic}
form.contact{display:grid;gap:1.2rem}label{display:grid;gap:.4rem;font-size:.9rem;color:var(--mute)}label.ck{display:flex;gap:.7rem;align-items:flex-start}
input,textarea{font:inherit;color:var(--ink);background:#fff;border:1px solid var(--sand);border-radius:3px;padding:.9rem 1rem}input[type=checkbox]{margin-top:.45rem}input:focus,textarea:focus{border-color:var(--gold);outline:0}.ok{background:var(--sagel);padding:1rem 1.4rem;border-radius:4px}
.legal h2{font-size:1.4rem;margin:2.2rem 0 .5rem}.legal mark{background:#F3E7C4;padding:0 .3em;border-radius:2px}.legal p{color:var(--mute)}
footer{background:var(--sand);padding:3.5rem 0 2.5rem;text-align:center}footer .logo{justify-content:center;margin-bottom:1.4rem}
footer nav{justify-content:center;flex-wrap:wrap;gap:1.6rem;margin-bottom:1.4rem}footer small{color:var(--mute)}
@media(max-width:900px){.burger{display:block}header nav{position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:flex-start;padding:.5rem 1.5rem 1.5rem;gap:.6rem;display:none}header nav.open{display:flex}
.split,.offers{grid-template-columns:1fr;gap:2rem}section{padding:4rem 0}.palm{width:80vw;opacity:.55}.offer{padding:2rem}
.hero.h{display:flex;flex-direction:column;text-align:left;min-height:0}.hero.h h1{font-size:clamp(2.6rem,9vw,3.4rem)}.himg{order:2;position:relative;width:100%;height:330px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 35%);mask-image:linear-gradient(to bottom,transparent,#000 35%)}.hero.h .txt{padding:2.2rem 0 .5rem;margin:0}}
header .wrap{min-height:96px}.logo{padding:.4rem 0}.lg{height:76px;width:auto;display:block;mix-blend-mode:multiply}footer .lg{height:130px}
.hero.ang{padding:6.5rem 1.5rem 11rem;background:linear-gradient(180deg,#E1E9DD 0%,#EEF2E9 55%,var(--bg))}
.hero.ang .mt{position:absolute;left:-5%;bottom:-1px;width:110%;height:clamp(150px,22vw,260px)}
.hero.ang .m1{fill:#D3DECE;animation:dr 28s ease-in-out infinite alternate}.hero.ang .m2{fill:#BFD0BA;animation:dr 36s ease-in-out infinite alternate-reverse}.hero.ang .m3{fill:var(--bg)}.hero.ang .sun{fill:#E7D3A0;opacity:.45}
@keyframes dr{from{transform:translateX(-18px)}to{transform:translateX(18px)}}
@media(max-width:900px){.hero.ang{padding:4.5rem 1.5rem 8rem}}
header .wrap{max-width:none;padding-left:max(1.5rem,4vw);padding-right:max(1.5rem,4vw)}
.angw{position:relative;overflow:hidden;background:linear-gradient(180deg,#DAE4D6,#C6D4C0)}
.angw>section{position:relative;z-index:2}.angw .hero.s,.angw .sage,.angw .paper{background:none}
.angw .offer{background:#FBF9F4;border-color:transparent}.angw .offer.f{background:#fff;border-color:var(--gold)}
.angw .palm{position:absolute;mix-blend-mode:multiply;opacity:.55;width:min(52vw,560px);pointer-events:none;-webkit-mask-image:linear-gradient(to right,#000 35%,transparent),linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,#000 35%,transparent),linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent);mask-composite:intersect}
.angw .pa{right:-4%;left:auto;top:-6%;bottom:auto;height:68%;animation:swA 13s ease-in-out infinite}
.angw .pb{left:-4%;right:auto;bottom:-6%;top:auto;height:68%;animation:swB 15s ease-in-out infinite}
@keyframes swA{0%,100%{transform:rotate(178.6deg)}50%{transform:rotate(182deg) translateX(14px)}}
@keyframes swB{0%,100%{transform:rotate(1.4deg)}50%{transform:rotate(-1.8deg) translateY(-10px)}}
@media(max-width:900px){.angw .palm{width:78vw;opacity:.4}}
.angw .pc,.angw .pd{transform-origin:50% 50%;height:460px;width:min(44vw,460px);opacity:.6}
.angw .pc{left:-3%;right:auto;top:-4%;bottom:auto;animation:swC 14s ease-in-out infinite}
.angw .pd{right:-8%;left:auto;top:-8%;bottom:auto;width:min(34vw,360px);height:400px;animation:swA 17s ease-in-out infinite reverse}
@keyframes swC{0%,100%{transform:scaleY(-1) rotate(-1.4deg)}50%{transform:scaleY(-1) rotate(1.8deg) translateX(-12px)}}
@media(max-width:900px){.angw .pc,.angw .pd{width:62vw;height:300px}}
.angw .pc{left:-4%;right:auto;top:-20px;bottom:auto;height:520px;width:min(40vw,440px);animation:swB 15s ease-in-out infinite}.angw section .palm{z-index:0}.angw section .wrap{position:relative;z-index:1}
@media(max-width:900px){.angw .pc{width:62vw;height:340px}}
.hero.s{overflow:visible}.hero.s>.palm{bottom:auto;height:calc(100% + 340px);-webkit-mask-image:linear-gradient(to left,#000 30%,transparent),linear-gradient(to bottom,#000 40%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to left,#000 30%,transparent),linear-gradient(to bottom,#000 40%,transparent);mask-composite:intersect}.page{overflow-x:clip}
.card{background:#fff;border:1px solid var(--sand);border-radius:4px;padding:3rem}.narrow.card{max-width:780px}.card .note{background:var(--sagel)}.page>section{position:relative;z-index:1}
@media(max-width:900px){.card{padding:1.8rem}}
.wrap{max-width:1240px}.narrow{max-width:700px}
@media(max-width:900px){.offers{grid-template-columns:1fr 1fr;gap:1.2rem}}@media(max-width:640px){.offers{grid-template-columns:1fr}}
select{font:inherit;color:var(--ink);background:#fff;border:1px solid var(--sand);border-radius:3px;padding:.9rem 1rem}select:focus{border-color:var(--gold);outline:0}
.lm-main{width:100%}.hero{grid-template-columns:minmax(0,1fr)}.hero.h{width:100%;max-width:none;justify-items:stretch}.hero.h>.wrap{width:100%;max-width:1240px}
@media(max-width:900px){.hero.h{display:grid!important;grid-template-columns:minmax(0,1fr)!important;justify-items:stretch!important;align-items:start!important;align-content:start!important;min-height:0!important;padding:0!important}
.hero.h>.wrap{order:1;position:relative;width:100%!important;max-width:none!important;margin:0!important;padding:0 1.5rem}
.hero.h>.himg{order:2;position:relative!important;inset:auto!important;width:100%!important;max-width:none!important;margin:0!important;height:330px}
.hero.h .txt{max-width:560px;margin:0;padding:2.2rem 0 .5rem}}
@media(min-width:901px){.hero.h>.wrap{margin:0;max-width:none;padding-left:max(1.5rem,4vw)}.hero.h .txt{max-width:min(540px,44%)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
