:root{
  --bg:#FAF7F5; --grege:#B0AFA6; --grege-soft:#DCDAD3;
  --ink:#2E2C2A; --ink-soft:#5F5B56; --muted:#8B857E;
  --taupe:#A18261; --taupe-dark:#8F7050;
  --rose:#C98F7E;
  --line:#E9E3DD; --card:#FFFFFF;
  --sans:'Inter',system-ui,sans-serif;
  --maxw:1180px;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:84px;}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.72;font-size:16.5px;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3,h4{font-family:var(--sans);line-height:1.22;margin:0;text-wrap:balance;}
h1{font-size:clamp(1.9rem,4.2vw,2.5rem);font-weight:600;color:var(--ink);letter-spacing:-.015em;line-height:1.14;}
h2{font-size:1.625rem;font-weight:600;color:var(--rose);letter-spacing:-.01em;}
h3{font-size:1.25rem;font-weight:600;color:var(--rose);}
p{margin:0 0 1em;color:var(--ink-soft);}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 30px;}
::selection{background:var(--taupe);color:#fff;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--taupe-dark);outline-offset:3px;border-radius:5px;}

.grain{position:fixed;inset:0;z-index:9000;pointer-events:none;opacity:.03;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.progress{position:fixed;top:0;left:0;height:3px;width:100%;background:var(--taupe);z-index:9100;transform:scaleX(0);transform-origin:left;transition:transform .1s linear;}

/* buttons — Inter Medium/Semibold 14-15px, nur Taupe */
.btn{position:relative;display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border-radius:100px;font-family:var(--sans);font-weight:500;font-size:.9rem;cursor:pointer;border:none;transition:background .3s,color .3s;}
.btn svg{width:15px;height:15px;flex-shrink:0;transition:transform .3s;}
.btn:hover svg{transform:translateX(4px);}
.btn-p{background:var(--taupe);color:#fff;}
.btn-p:hover{background:var(--taupe-dark);color:#fff;}
.btn-o{background:transparent;color:var(--ink);border:1px solid var(--grege-soft);}
.btn-o:hover{background:#F1EDE9;color:var(--ink);}
.ul{position:relative;display:inline;background-image:linear-gradient(var(--taupe),var(--taupe));background-size:0% 1.5px;background-repeat:no-repeat;background-position:left 100%;transition:background-size .35s ease;padding-bottom:2px;}
.ul:hover{background-size:100% 1.5px;}

/* ── NAV ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(250,247,245,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--maxw);margin:0 auto;padding:12px 30px;gap:18px;}
.brand{display:flex;align-items:center;cursor:pointer;flex-shrink:0;}
.brand img{height:46px;width:auto;display:block;}
.nav-links{display:flex;gap:2px;list-style:none;margin:0;padding:0;align-items:center;}
.nav-links>li>a{padding:9px 12px;border-radius:100px;font-size:.82rem;font-weight:500;color:var(--ink);display:flex;white-space:nowrap;transition:opacity .2s,color .2s;opacity:.78;}
.nav-links>li>a:hover{opacity:1;}
.nav-links>li>a.active{opacity:1;color:var(--taupe-dark);}
.nav-cta{padding:10px 18px;background:var(--taupe);color:#fff !important;border-radius:100px;font-size:.8rem;font-weight:500;display:inline-flex;align-items:center;gap:8px;flex-shrink:0;transition:background .3s;}
.nav-cta:hover{background:var(--taupe-dark);}
.nav-cta svg{width:13px;height:13px;}
.menu-btn{display:none;background:none;border:none;cursor:pointer;padding:8px;color:var(--ink);}
.menu-btn span{display:block;width:24px;height:2px;background:currentColor;margin:5px 0;transition:.3s;}
@media(max-width:1120px){
  .nav-links,.nav-cta{display:none;}
  .menu-btn{display:block;}
  .nav.open .nav-links{display:flex;flex-direction:column;gap:2px;position:absolute;top:100%;left:0;right:0;background:var(--bg);padding:16px 24px 24px;border-bottom:1px solid var(--line);}
  .nav.open .nav-links>li>a{width:100%;font-size:1rem;padding:12px 14px;opacity:1;}
}

/* ── HERO (Split: Text + weiches Detailbild) ── */
.hero{position:relative;min-height:86vh;display:flex;align-items:center;color:#fff;overflow:hidden;}
.hero::before{content:"";position:absolute;inset:-24px;z-index:0;background:linear-gradient(100deg,rgba(20,17,15,.74) 0%,rgba(20,17,15,.5) 48%,rgba(20,17,15,.3) 100%),url("mts-hero-candles.jpg") center 42%/cover no-repeat;filter:blur(10px);transform:scale(1.05);}
.hero .wrap{position:relative;z-index:2;padding:150px 30px clamp(56px,7vw,90px);}
.hero-inner{max-width:600px;}
.hero h1{color:#fff;font-size:clamp(2rem,4.4vw,2.6rem);}
.hero-sub{font-size:1.06rem;color:rgba(250,247,245,.86);max-width:480px;margin:22px 0 32px;}
@media(max-width:860px){
  .hero{min-height:70vh;}
  .hero .wrap{padding-top:120px;}
}

/* ── KURZEINSTIEG: normaler Fließtext ── */
.intro{padding:clamp(40px,5vw,64px) 0;}
.intro p{max-width:680px;margin:0 auto;text-align:center;font-size:1.03rem;color:var(--ink-soft);}

/* ── SECTION HEAD ── */
.shead{margin-bottom:40px;}
.shead.center{text-align:center;max-width:640px;margin-left:auto;margin-right:auto;}
.shead p{color:var(--muted);font-size:.95rem;margin:12px 0 0;}

/* ── BEREICHE (grege-Sektion, helle Karten) ── */
.areas{background:var(--grege);padding:clamp(72px,9vw,116px) 0;}
.areas .shead h2{color:var(--ink);}
.areas .shead p{color:#4A4842;}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;}
.card{position:relative;overflow:hidden;background:var(--bg);border:1px solid rgba(255,255,255,.5);border-radius:16px;padding:30px 26px;cursor:pointer;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s;display:flex;flex-direction:column;min-height:230px;}
.card:hover{transform:translateY(-6px);box-shadow:0 24px 44px -24px rgba(46,44,42,.35);}
.card-sym{position:absolute;top:-16px;right:-16px;width:132px;height:132px;color:var(--rose);opacity:0;transform:scale(.6) rotate(-10deg);transform-origin:top right;transition:opacity .45s ease,transform .55s cubic-bezier(.2,.8,.2,1);pointer-events:none;}
.card-sym svg{width:100%;height:100%;stroke-width:1.4;}
.card:hover .card-sym{opacity:.4;transform:scale(1) rotate(0);}
.card-ico{position:relative;z-index:1;width:46px;height:46px;border-radius:11px;background:#F3EBE4;display:grid;place-items:center;color:var(--taupe-dark);margin-bottom:18px;transition:background .35s,color .35s;}
.card:hover .card-ico{background:var(--taupe);color:#fff;}
.card-ico svg{width:22px;height:22px;}
.card h3{position:relative;z-index:1;margin-bottom:9px;}
.card p{position:relative;z-index:1;font-size:.88rem;color:var(--ink-soft);line-height:1.62;margin:0;flex:1;}
.card-more{position:relative;z-index:1;margin-top:16px;font-size:.78rem;font-weight:500;color:var(--taupe-dark);display:inline-flex;align-items:center;gap:6px;opacity:0;transform:translateY(4px);transition:opacity .35s ease,transform .35s cubic-bezier(.2,.8,.2,1);}
.card:hover .card-more{opacity:1;transform:translateX(4px);}
@media(hover:none){.card-more{opacity:1;transform:none;}}

/* ── ANGEHÖRIGE ── */
.family{padding:clamp(64px,8vw,104px) 0;}
.family-box{max-width:780px;margin:0 auto;text-align:center;}
.family-box p{font-size:1.03rem;color:var(--ink-soft);}
.family-box strong{color:var(--ink);font-weight:600;}

/* ── ABLAUF ── */
.steps-sec{background:#F2EFEB;padding:clamp(64px,8vw,104px) 0;}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.step{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:30px 28px;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s;}
.step:hover{transform:translateY(-4px);box-shadow:0 20px 38px -24px rgba(46,44,42,.3);}
.step-num{width:36px;height:36px;border-radius:50%;background:var(--taupe);color:#fff;display:grid;place-items:center;font-weight:600;font-size:.95rem;margin-bottom:16px;}
.step h3{margin-bottom:9px;}
.step p{font-size:.92rem;color:var(--ink-soft);margin:0;line-height:1.65;}
@media(max-width:820px){.steps{grid-template-columns:1fr;}}

/* ── ÜBER-MICH-TEASER: 20px Semibold Aussage ── */
.teaser{padding:clamp(64px,8vw,104px) 0;}
.teaser-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(36px,5vw,70px);align-items:center;}
.teaser-photo{border-radius:18px;overflow:hidden;aspect-ratio:4/5;max-width:440px;}
.teaser-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.teaser-copy{text-align:left;}
.teaser .txt{font-size:1.25rem;font-weight:600;line-height:1.55;color:var(--ink);margin:0 0 26px;text-wrap:balance;}
@media(max-width:860px){
  .teaser-grid{grid-template-columns:1fr;gap:36px;}
  .teaser-photo{max-width:380px;aspect-ratio:4/4.4;}
  .teaser-copy{text-align:center;}
}

/* ── ABSCHLUSS-CTA: dunkler Block ── */
.cta-band{background:var(--ink);text-align:center;padding:clamp(64px,8vw,104px) 0;}
.cta-band .h{font-size:1.25rem;font-weight:600;color:var(--bg);margin:0 auto 26px;max-width:600px;}

/* ── INNER PAGE HERO ── */
.page-hero{background:#F2EFEB;border-bottom:1px solid var(--line);padding:140px 0 54px;}
.page-hero h1{margin:0;}
.page-hero .lead{color:var(--ink-soft);max-width:640px;font-size:1.03rem;margin:18px 0 0;}
.page-hero.has-bg{position:relative;background-size:cover;background-position:center;border-bottom:none;color:#fff;padding:170px 0 70px;}
.page-hero.has-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(20,17,15,.72) 0%,rgba(20,17,15,.5) 55%,rgba(20,17,15,.26) 100%);}
.page-hero.has-bg .wrap{position:relative;z-index:2;}
.page-hero.has-bg h1{color:#fff;}
.page-hero.has-bg .lead{color:rgba(250,247,245,.86);}

/* ── CONTENT ── */
.sec{padding:clamp(52px,7vw,92px) 0;}
.sec-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start;}
.sec p{color:var(--ink-soft);font-size:1.02rem;}
.sec h2{margin:0 0 18px;}
.sec-img{border-radius:18px;overflow:hidden;aspect-ratio:4/5;position:sticky;top:104px;}
.sec-img img{width:100%;height:100%;object-fit:cover;}
@media(max-width:860px){.sec-grid{grid-template-columns:1fr;gap:38px;}.sec-img{position:relative;top:0;max-width:400px;aspect-ratio:4/3;}}

/* Bausteine */
.bausteine{display:grid;gap:14px;margin-top:6px;}
.baustein{background:#F2EFEB;border:1px solid var(--line);border-radius:14px;padding:22px 24px;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;}
.baustein:hover{transform:translateX(6px);box-shadow:0 14px 28px -20px rgba(46,44,42,.3);}
.baustein h3{margin:0 0 6px;}
.baustein p{font-size:.92rem;color:var(--ink-soft);margin:0;line-height:1.65;}
.hint{font-size:.86rem;color:var(--muted);font-style:italic;margin-top:18px;}

/* Angebotsliste */
.offer-intro{max-width:720px;}
.offer-list{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:2px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--line);}
.offer-list li{background:var(--bg);padding:20px 24px;display:flex;gap:16px;align-items:baseline;transition:background .3s,transform .35s cubic-bezier(.2,.8,.2,1);}
.offer-list li:hover{background:#F2EFEB;transform:translateX(10px);}
.offer-list .o-name{font-size:1.05rem;font-weight:600;color:var(--rose);white-space:nowrap;}
.offer-list .o-desc{font-size:.9rem;color:var(--ink-soft);}
@media(max-width:640px){.offer-list li{flex-direction:column;gap:4px;}.offer-list .o-name{white-space:normal;}}

/* Angehörige ausführlich */
.fam-quote{background:#F2EFEB;border-radius:16px;padding:28px 30px;margin:26px 0;}
.fam-quote p{margin-bottom:1em;}
.fam-quote p:last-child{margin-bottom:0;}

/* ── ÜBER MICH ── */
.ueber-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start;}
.ueber-photo{position:relative;}
.ueber-photo .ph{border-radius:18px;overflow:hidden;aspect-ratio:4/5;}
.ueber-photo .ph img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.ueber-card{position:absolute;bottom:-22px;left:-22px;background:var(--bg);border:1px solid var(--line);padding:18px 22px;border-radius:14px;max-width:250px;box-shadow:0 24px 50px -30px rgba(46,44,42,.35);}
.ueber-card .nm{font-size:1.1rem;font-weight:600;color:var(--ink);line-height:1.2;}
.ueber-card .rl{font-size:.74rem;color:var(--taupe-dark);margin-top:6px;line-height:1.5;font-weight:500;}
.sig{font-size:1.05rem;font-weight:600;color:var(--rose);margin-top:20px;}
@media(max-width:860px){.ueber-grid{grid-template-columns:1fr;gap:50px;}.ueber-photo{max-width:360px;}}

/* ── FAQ ── */
.faq-group{margin:44px 0 6px;}
.faq-group:first-of-type{margin-top:0;}
.faq-list{max-width:840px;margin:0 auto;}
.faq-item{border-top:1px solid var(--line);}
.faq-item:last-child{border-bottom:1px solid var(--line);}
.faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:22px 4px;font-family:var(--sans);font-size:1.25rem;font-weight:600;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:22px;transition:color .25s;}
.faq-q:hover{color:var(--taupe-dark);}
.faq-q .qt{transition:transform .35s cubic-bezier(.2,.8,.2,1);}
.faq-q:hover .qt{transform:translateX(9px);}
.faq-q .ic{flex-shrink:0;width:32px;height:32px;border-radius:50%;border:1px solid var(--grege-soft);color:var(--taupe-dark);display:grid;place-items:center;font-size:1.2rem;font-weight:400;transition:transform .3s,background .3s,color .3s,border-color .3s;}
.faq-item.open .faq-q .ic{transform:rotate(45deg);background:var(--taupe);color:#fff;border-color:var(--taupe);}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease;}
.faq-a-inner{overflow:hidden;min-height:0;}
.faq-a-inner>div{padding:0 4px 24px;max-width:700px;color:var(--ink-soft);font-size:.98rem;line-height:1.72;}
.faq-item.open .faq-a{grid-template-rows:1fr;}

/* ── KONTAKT ── */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:52px;align-items:start;}
.crow{display:flex;gap:18px;align-items:flex-start;padding:19px 0;border-bottom:1px solid var(--line);}
.crow:first-of-type{border-top:1px solid var(--line);}
.cico{flex-shrink:0;width:44px;height:44px;border-radius:12px;background:#F2EFEB;display:grid;place-items:center;color:var(--taupe-dark);}
.cico svg{width:18px;height:18px;}
.crow .k{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-weight:500;}
.crow .vv{font-size:1rem;color:var(--ink);font-weight:500;}
.ccard{background:#F2EFEB;border:1px solid var(--line);border-radius:18px;padding:36px;}
.ccard h2{margin-bottom:6px;}
.ccard>p{color:var(--muted);font-size:.92rem;margin-bottom:22px;}
.cform{display:grid;gap:12px;}
.cform label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:-6px;}
.cform input,.cform textarea,.cform select{width:100%;padding:13px 15px;border:1px solid var(--grege-soft);border-radius:11px;font-family:var(--sans);font-size:.93rem;color:var(--ink);background:var(--bg);transition:border .25s;appearance:none;-webkit-appearance:none;}
.cform select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238F7050' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;padding-right:40px;cursor:pointer;}
.cform input:focus,.cform textarea:focus,.cform select:focus{outline:none;border-color:var(--taupe);}
.cform textarea{resize:vertical;min-height:110px;}
.cform .btn{justify-content:center;margin-top:6px;}
.cnote{text-align:center;font-size:1rem;font-weight:500;color:var(--rose);margin-top:16px;}
.map-wrap{margin-top:36px;border-radius:18px;overflow:hidden;border:1px solid var(--line);line-height:0;}
.map-wrap iframe{width:100%;height:380px;border:0;filter:grayscale(.35) sepia(.05);}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr;gap:38px;}.ccard{padding:28px 22px;}}

/* ── IMPRESSUM ── */
.legal{max-width:800px;}
.legal h2{margin:34px 0 10px;font-size:1.25rem;}
.legal h2:first-of-type{margin-top:0;}
.legal h3{font-size:1rem;color:var(--ink);margin:22px 0 6px;}
.legal p{font-size:.94rem;color:var(--ink-soft);}

/* ── FOOTER ── */
footer{background:var(--ink);color:rgba(250,247,245,.65);padding:64px 0 30px;}
.foot-top{display:grid;grid-template-columns:1.5fr 1fr 1.2fr;gap:48px;padding-bottom:42px;border-bottom:1px solid rgba(250,247,245,.12);}
.foot-logo{width:220px;height:auto;display:block;margin-bottom:18px;}
.foot-top p{max-width:330px;font-size:.92rem;}
footer h4{color:var(--bg);font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;margin:0 0 16px;font-weight:600;}
footer ul{list-style:none;padding:0;margin:0;columns:2;column-gap:28px;}
footer ul.single{columns:1;}
footer ul li{margin-bottom:10px;line-height:1.5;break-inside:avoid;}
footer ul a,footer ul button{color:rgba(250,247,245,.65);background:none;border:none;cursor:pointer;font-size:.9rem;padding:0;font-family:var(--sans);text-align:left;transition:color .2s;}
footer ul a:hover,footer ul button:hover{color:var(--rose);}
.foot-bottom{padding-top:26px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:.78rem;color:rgba(250,247,245,.4);}
.foot-bottom a,.foot-bottom button{color:rgba(250,247,245,.5);background:none;border:none;cursor:pointer;font-size:.78rem;padding:0;font-family:var(--sans);}
.foot-bottom a:hover,.foot-bottom button:hover{color:var(--rose);}
@media(max-width:820px){.foot-top{grid-template-columns:1fr;gap:34px;}}

/* ── FLOAT CALL ── */
.float-call{display:none;position:fixed;bottom:20px;right:20px;background:var(--taupe);color:#fff;padding:13px 21px;border-radius:100px;font-weight:500;z-index:900;align-items:center;gap:9px;font-size:.86rem;box-shadow:0 16px 30px -12px rgba(161,130,97,.7);}
.float-call svg{width:16px;height:16px;}
@media(max-width:760px){.float-call{display:inline-flex;}}

/* ── REVEAL ── */
html.js .rv{opacity:0;transform:translateY(26px);transition:opacity .85s cubic-bezier(.2,.8,.2,1),transform .85s cubic-bezier(.2,.8,.2,1);}
html.js .rv.v{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){html.js .rv{opacity:1;transform:none;transition:none;}}
