:root{
  --or:#D9722C; --or-soft:#E07B39; --or-deep:#B85E22;
  --ink:#2E2A26; --ink-soft:#6a6058; --sage:#7E8C6E;
  --ivory:#FCFAF6; --cream:#FAF4EC; --peach1:#FCF3E8; --peach2:#F7E6D2; --peach3:#F2D8BE;
  --line:#ECE4D8;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;color:var(--ink);background:#fff;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:600;color:var(--ink);letter-spacing:-.02em;line-height:1.06}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.serif-it{font-family:'Playfair Display',serif;font-style:italic;font-weight:500}
.script{font-family:'Caveat',cursive;color:var(--or);font-weight:700}
.or{color:var(--or)}
.lead{font-size:18px;line-height:1.8;color:var(--ink-soft);font-weight:400}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:11.5px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--or)}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--or);opacity:.6}
.eyebrow.c::after{content:"";width:26px;height:1px;background:var(--or);opacity:.6}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--or);color:#fff;font-weight:600;font-size:14.5px;letter-spacing:.01em;padding:15px 32px;border-radius:40px;border:none;cursor:pointer;transition:.3s cubic-bezier(.2,.7,.2,1);box-shadow:0 8px 22px rgba(217,114,44,.22)}
.btn:hover{background:var(--or-deep);transform:translateY(-2px);box-shadow:0 12px 28px rgba(217,114,44,.30)}
.btn.ghost{background:transparent;color:var(--or);border:1.5px solid #E6C6A6;box-shadow:none}
.btn.ghost:hover{background:#FBF2E8;border-color:var(--or);transform:translateY(-2px)}
.btn .arr{transition:.3s}.btn:hover .arr{transform:translateX(4px)}
.wrap{max-width:1160px;margin:0 auto;padding:0 44px}
section{padding:112px 0}
.reveal{opacity:0;transform:translateY(28px);filter:blur(6px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1),filter .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none;filter:none}
/* Sicherung: lange Rechts-/Textseiten nie unsichtbar lassen (kein reveal-Gate) */
.legal,.legal.reveal{opacity:1!important;transform:none!important;filter:none!important}
.reveal.r-left:not(.in){transform:translateX(-46px);filter:none}
.reveal.r-right:not(.in){transform:translateX(46px);filter:none}
.reveal.r-scale:not(.in){transform:scale(.9);filter:none}
.reveal.r-rot:not(.in){transform:rotate(-4deg) translateY(30px);filter:none}

.pricegrid.reveal,.quotes.reveal,.twocol.reveal,.steps.reveal,.row.reveal{opacity:1;transform:none;filter:none}
.quotes.reveal>*,.twocol.reveal>*,.steps.reveal>li{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.pricegrid.reveal>*{opacity:0;transform:translateY(34px) rotate(-2.5deg);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1)}
.quotes.reveal.in>*,.twocol.reveal.in>*,.steps.reveal.in>li,.pricegrid.reveal.in>*{opacity:1;transform:none}
.pricegrid.reveal.in>*:nth-child(2),.quotes.reveal.in>*:nth-child(2),.twocol.reveal.in>*:nth-child(2),.steps.reveal.in>li:nth-child(2){transition-delay:.12s}
.pricegrid.reveal.in>*:nth-child(3),.quotes.reveal.in>*:nth-child(3),.steps.reveal.in>li:nth-child(3){transition-delay:.24s}
.steps.reveal.in>li:nth-child(4),.steps.reveal.in>li:nth-child(5){transition-delay:.36s}

.row.reveal .imgcol{opacity:0;transform:translateX(-46px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}
.row.reveal .rtext{opacity:0;transform:translateX(46px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}
.row.rev.reveal .imgcol{transform:translateX(46px)}
.row.rev.reveal .rtext{transform:translateX(-46px)}
.row.reveal.in .imgcol,.row.reveal.in .rtext{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
  .reveal,.reveal>*,.row.reveal .imgcol,.row.reveal .rtext,.steps.reveal>li{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
}

header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.announce{font-size:12.5px;letter-spacing:.04em;color:#9a5a26;text-align:center;padding:10px 14px;background:#FBF2E8}
.announce a{color:var(--or);font-weight:600}
.nav{display:flex;align-items:center;justify-content:space-between;padding:18px 44px;max-width:1340px;margin:0 auto}
.logo{font-family:'Playfair Display',serif;font-weight:600;font-size:28px;letter-spacing:.2em;color:var(--ink)}
.logo small{display:block;font-family:'Inter',sans-serif;font-size:10px;letter-spacing:.42em;color:#b0a596;font-weight:500;text-align:center;margin-top:4px}
.menu{display:flex;gap:30px;font-size:14px;color:#5a5249;font-weight:500}
.menu a{position:relative;padding:4px 0;transition:.2s}
.menu a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1.5px;background:var(--or);transition:.3s}
.menu a:hover,.menu a.active{color:var(--or)}.menu a:hover::after,.menu a.active::after{width:100%}

.hero{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;background:linear-gradient(118deg,var(--peach1) 0%,var(--peach2) 58%,var(--peach3) 100%)}
.hero .htext{padding:90px 24px 90px 60px;align-self:center}
.hero h1{font-size:60px;line-height:1.04;margin:22px 0 24px;font-weight:600}
.hero .imgwrap{padding:46px 52px 46px 10px;display:flex;align-items:center;justify-content:center}
.hero img{width:100%;height:540px;object-fit:cover;object-position:center 30%;border-radius:28px;box-shadow:0 36px 66px rgba(120,80,40,.22)}
.hero .cta{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap}

.pagehero{--ph1:var(--peach1);--ph2:var(--peach2);--ph3:var(--peach3);--phg1:rgba(217,114,44,.16);--phg2:rgba(217,114,44,.09);position:relative;overflow:hidden;background:linear-gradient(118deg,var(--ph1),var(--ph2) 64%,var(--ph3));text-align:center;padding:94px 0 82px}
.pagehero::before{content:"";position:absolute;width:540px;height:540px;border-radius:50%;background:radial-gradient(circle,var(--phg1),transparent 70%);top:-200px;right:-130px;z-index:0;pointer-events:none}
.pagehero::after{content:"";position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,var(--phg2),transparent 70%);bottom:-170px;left:-110px;z-index:0;pointer-events:none}
.pagehero .wrap{position:relative;z-index:2}
.pagehero.t-eltern{--ph1:#F1F3E8;--ph2:#E5EBD8;--ph3:#D7E2C6;--phg1:rgba(126,140,110,.24);--phg2:rgba(217,114,44,.08)}
.pagehero.t-reit{--ph1:#FBF2E0;--ph2:#F4E3C3;--ph3:#EBD2A2;--phg1:rgba(196,142,40,.24);--phg2:rgba(217,114,44,.10)}
.pagehero.t-alma{--ph1:#F2EEF8;--ph2:#E7E0F1;--ph3:#DAD0EA;--phg1:rgba(138,112,196,.22);--phg2:rgba(217,114,44,.08)}
.pagehero.t-kontakt{--ph1:#FBEFE9;--ph2:#F4DDD1;--ph3:#EECBBB;--phg1:rgba(200,104,80,.22);--phg2:rgba(217,114,44,.10)}
.pagehero .crumb{font-size:12px;letter-spacing:.1em;color:#a8896a;margin-bottom:20px}
.pagehero .crumb a:hover{color:var(--or)}
.pagehero h1{font-size:56px;font-weight:600;margin:14px 0 18px}
.pagehero p{max-width:600px;margin:0 auto;font-size:18px;color:var(--ink-soft);line-height:1.7}
.subnav{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:30px}
.subnav a{background:#fff;border:1px solid var(--line);color:#7a6a55;font-size:13px;font-weight:500;padding:9px 18px;border-radius:30px;transition:.2s}
.subnav a:hover{border-color:var(--or);color:var(--or)}

.intro{max-width:800px;margin:-72px auto 0;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 34px 80px rgba(120,80,40,.09);padding:62px 64px;text-align:center;position:relative;z-index:5}
.intro h2{font-size:38px;margin:14px 0 20px;font-weight:500}

.trustline{text-align:center;padding:80px 0 0;color:#b0a596;font-size:12px;letter-spacing:.26em;text-transform:uppercase;font-weight:600}
.stats{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;padding:30px 0 0}
.stats div{text-align:center;padding:0 56px;position:relative}
.stats div+div::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:1px;background:var(--line)}
.stats b{font-family:'Playfair Display',serif;font-size:42px;color:var(--or);font-weight:500;display:block;line-height:1}
.stats span{font-size:12.5px;color:#8a7f73;letter-spacing:.04em;margin-top:6px;display:block}

.secthead{text-align:center;margin-bottom:74px}
.secthead h2{font-size:46px;margin-top:18px;font-weight:600}
.secthead p.sub{max-width:560px;margin:18px auto 0}

.row{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;margin-bottom:96px}
.row:last-child{margin-bottom:0}
.row.rev .rtext{order:2}
.row .imgcol{position:relative}
.row .num{position:absolute;top:-26px;left:-10px;font-family:'Playfair Display',serif;font-style:italic;font-size:80px;color:#F0E2D2;font-weight:500;z-index:0;line-height:1}
.row img{width:100%;height:440px;object-fit:cover;object-position:center;border-radius:22px;position:relative;z-index:1;box-shadow:0 22px 50px rgba(120,80,40,.13)}
.label{display:inline-flex;align-items:center;gap:10px;font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--or);margin-bottom:16px}
.label::before{content:"";width:22px;height:1px;background:var(--or);opacity:.6}
.row h3{font-size:34px;margin-bottom:18px;font-weight:600}
.row p{font-size:16.5px;line-height:1.8;color:var(--ink-soft);margin-bottom:22px}
.more{display:inline-flex;gap:7px;color:var(--or);font-weight:600;font-size:14.5px;letter-spacing:.02em}
.more .arr{transition:.3s}.more:hover .arr{transform:translateX(4px)}

.alma{background:var(--cream);overflow:hidden}
.almawrap{display:grid;grid-template-columns:1.02fr 1fr;gap:60px;align-items:center}
.alma h2{font-size:50px;margin:16px 0 22px;font-weight:600}
.feat{list-style:none;margin:26px 0 34px}
.feat li{padding:11px 0 11px 34px;position:relative;color:var(--ink-soft);font-size:16.5px}
.feat li:before{content:"";position:absolute;left:0;top:16px;width:8px;height:8px;border-radius:50%;background:var(--or)}
.almahead{display:flex;align-items:center;gap:16px;margin-bottom:4px}
.almahead img{width:66px;height:66px;object-fit:contain;filter:drop-shadow(0 6px 14px rgba(217,114,44,.25))}
.screens{position:relative;display:flex;justify-content:center;align-items:flex-end;padding:30px 0}
.screens::before{content:"";position:absolute;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(224,123,57,.20),transparent 68%);z-index:0}
.screens .scr{border-radius:34px;box-shadow:0 36px 72px rgba(80,50,20,.26);background:#fff;position:relative}
.screens .front{width:308px;z-index:2}
.screens .back{width:256px;z-index:1;margin-right:-78px;margin-bottom:46px;opacity:.97}
.screens.trio{align-items:center}
.screens.trio .main{width:300px;z-index:3}
.screens.trio .side{width:234px;opacity:.97;margin-top:30px}
.screens.trio .left{z-index:1;margin-right:-70px}
.screens.trio .right{z-index:2;margin-left:-70px}

.book{background:linear-gradient(118deg,var(--peach1),var(--peach2))}
.bookwrap{display:grid;grid-template-columns:.5fr 1fr;gap:64px;align-items:center}
.book img{max-width:260px;border-radius:6px;box-shadow:0 30px 56px rgba(120,80,40,.26);margin:0 auto;transform:rotate(-2deg);transition:.4s}
.book img:hover{transform:rotate(0)}
.book h2{font-size:44px;margin:12px 0 8px;font-weight:600}

.aboutwrap{display:grid;grid-template-columns:.82fr 1fr;gap:66px;align-items:center}
.about img{width:100%;height:520px;object-fit:cover;object-position:center 20%;border-radius:22px;box-shadow:0 22px 50px rgba(120,80,40,.13)}
.about h2{font-size:42px;margin:14px 0 8px;font-weight:600}
.creds{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.creds span{background:#fff;border:1px solid var(--line);color:#a86a30;font-size:12.5px;padding:8px 16px;border-radius:30px;font-weight:500}

/* Hashtags (ersetzen die runden Felder ohne Link) */
.tags{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:24px}
.tags.c{justify-content:center}
.tags span{color:var(--or);font-weight:600;font-size:14.5px;letter-spacing:.005em;transition:.2s}
.tags span:hover{color:var(--or-deep)}

.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.q{text-align:center;padding:0 8px}
.q .mark{font-family:'Playfair Display',serif;font-size:56px;color:#EAD6BE;line-height:.4;display:block;margin-bottom:18px}
.q p{font-family:'Playfair Display',serif;font-size:18px;font-style:italic;line-height:1.6;color:#43392f;margin-bottom:16px;font-weight:400}
.q span{font-family:'Inter',sans-serif;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--sage);font-weight:600}
.divider{width:50px;height:1.5px;background:var(--or);opacity:.5;margin:20px auto 0;border-radius:2px}

.prose{max-width:760px;margin:0 auto}
.prose p{font-size:17px;line-height:1.85;color:var(--ink-soft);margin-bottom:22px}
.prose h3{font-size:28px;margin:14px 0 16px;font-weight:600}
.checks{list-style:none;margin:8px 0 0}
.checks li{position:relative;padding:12px 0 12px 38px;border-bottom:1px solid var(--line);font-size:16px;color:#4a423a}
.checks li:last-child{border-bottom:none}
.checks li::before{content:"";position:absolute;left:6px;top:19px;width:10px;height:10px;border-radius:50%;border:2px solid var(--or)}
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:50px}
.panel{background:var(--cream);border-radius:20px;padding:40px 42px}
.panel h3{font-size:24px;margin-bottom:16px}

.steps{counter-reset:s;list-style:none;max-width:760px;margin:0 auto}
.steps li{counter-increment:s;position:relative;padding:0 0 30px 70px;margin-bottom:8px}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:-4px;font-family:'Playfair Display',serif;font-style:italic;font-size:30px;color:var(--or)}
.steps li:not(:last-child)::after{content:"";position:absolute;left:16px;top:30px;bottom:0;width:1px;background:var(--line)}
.steps h4{font-size:19px;font-weight:600;margin-bottom:6px;font-family:'Inter',sans-serif}
.steps p{color:var(--ink-soft);font-size:15.5px;line-height:1.7}

.pricegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:980px;margin:0 auto}
.price{background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px 30px;text-align:center;transition:.3s}
.price:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(120,80,40,.12);border-color:#E6C6A6}
.price .nm{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);font-weight:600;margin-bottom:14px}
.price .amt{font-family:'Playfair Display',serif;font-size:40px;color:var(--or);font-weight:600}
.price .amt small{font-size:15px;color:#a8896a}
.price p{font-size:14.5px;color:var(--ink-soft);margin-top:12px;line-height:1.6}

.ctaband{background:linear-gradient(118deg,var(--peach2),var(--peach3));text-align:center}
.ctaband h2{font-size:40px;font-weight:600;margin-bottom:16px}
.ctaband p{max-width:520px;margin:0 auto 28px;color:var(--ink-soft);font-size:17px}

.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gallery img{width:100%;height:300px;object-fit:cover;border-radius:18px;box-shadow:0 16px 38px rgba(120,80,40,.12)}

/* Foto-Rahmen: weißes Passepartout + feine Linie + weicher Schatten */
.hero img,img.about,.row img,.gallery img{border:6px solid #fff;box-shadow:0 0 0 1px var(--line),0 26px 56px rgba(120,80,40,.18)}
img.about{width:100%;height:560px;object-fit:cover;object-position:center 22%;border-radius:22px}
.row img{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.row .imgcol:hover img{transform:translateY(-4px);box-shadow:0 0 0 1px var(--line),0 34px 64px rgba(120,80,40,.24)}

.news{background:var(--cream);text-align:center}
.news .form{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:8px}
.news input{padding:16px 22px;border:1px solid #E6D6C2;border-radius:40px;font-size:15px;width:320px;max-width:80vw;font-family:'Inter',sans-serif}
.news input:focus{outline:none;border-color:var(--or)}

.contact{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:1000px;margin:0 auto;align-items:start}
.field{margin-bottom:18px}
.field label{display:block;font-size:13px;font-weight:600;color:#7a6a55;margin-bottom:7px;letter-spacing:.04em}
.field input,.field textarea{width:100%;padding:14px 16px;border:1px solid #E6D6C2;border-radius:12px;font-size:15px;font-family:'Inter',sans-serif}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--or)}
.cinfo p{margin-bottom:16px;color:var(--ink-soft);font-size:16px;line-height:1.7}
.cinfo .big{font-family:'Playfair Display',serif;font-size:22px;color:var(--ink);font-style:italic}

footer{background:#2A2521;color:#bcae9f;padding:64px 0 0}
.footwrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:34px;font-size:14px;max-width:1160px;margin:0 auto;padding:0 44px}
footer a{color:#E5D8C6;transition:.2s}footer a:hover{color:#fff}
.foot-links{display:flex;flex-direction:column;gap:11px}
.soc a{width:40px;height:40px;border:1px solid #574a3d;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-right:9px;transition:.25s}
.soc a:hover{background:var(--or);border-color:var(--or);transform:translateY(-2px)}
.soc svg{width:18px;height:18px;fill:#E5D8C6}
.copyright{max-width:1160px;margin:44px auto 0;padding:22px 44px 40px;border-top:1px solid #3a342d;color:#8a7f72;font-size:12.5px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

.fields{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:900px;margin:0 auto}
.fcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 32px}
.fcard .n{font-family:'Playfair Display',serif;font-style:italic;color:var(--or);font-size:28px;line-height:1}
.fcard h4{font-size:18px;margin:10px 0 8px;font-family:'Inter',sans-serif;font-weight:600}
.fcard p{color:var(--ink-soft);font-size:15px;line-height:1.7}
.situations{display:flex;flex-wrap:wrap;gap:11px;justify-content:center;max-width:780px;margin:0 auto}
.situations span{background:#fff;border:1px solid var(--line);border-radius:30px;padding:11px 22px;font-size:14.5px;color:#6a5a45;transition:.2s}
.situations span:hover{border-color:var(--or);color:var(--or)}
.appgallery{display:flex;justify-content:center;align-items:flex-end;gap:22px;flex-wrap:wrap;position:relative}
.appgallery::before{content:"";position:absolute;width:520px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(224,123,57,.18),transparent 68%);z-index:0}
.appgallery img{width:238px;border-radius:32px;box-shadow:0 30px 62px rgba(80,50,20,.24);position:relative;z-index:1}
.appgallery img.lift{margin-bottom:30px}

@media(max-width:880px){
  section{padding:64px 0}.wrap{padding:0 24px}
  .hero .imgwrap{padding:0 24px 8px}.hero img{height:300px}
  .fields{grid-template-columns:1fr}.appgallery img{width:200px}
  .nav{padding:14px 24px}.menu{display:none}
  .hero{grid-template-columns:1fr}.hero .htext{padding:50px 26px 66px;order:2}.hero h1{font-size:40px}.hero .imgwrap{order:1}.hero img{min-height:330px;height:330px}.hero .imgwrap::after{display:none}
  .pagehero{padding:54px 0 50px}.pagehero h1{font-size:38px}
  .intro{margin:-52px 20px 0;padding:44px 28px}.intro h2{font-size:30px}
  .stats div{padding:0 22px}.stats b{font-size:34px}
  .secthead{margin-bottom:48px}.secthead h2{font-size:34px}
  .row,.almawrap,.bookwrap,.aboutwrap,.twocol,.contact{grid-template-columns:1fr;gap:34px}
  .row.rev .rtext{order:0}.row img{height:300px}.about img{height:340px}.row{margin-bottom:60px}
  .alma h2,.book h2,.about h2{font-size:32px}
  .screens .front{width:240px}.screens .back{width:190px;margin-right:-50px}.screens::before{width:300px;height:300px}
  .screens.trio .main{width:190px}.screens.trio .side{width:132px;margin-top:20px}.screens.trio .left{margin-right:-44px}.screens.trio .right{margin-left:-44px}
  .quotes,.pricegrid,.gallery{grid-template-columns:1fr;gap:30px}
  .gallery img{height:240px}
}
