/* ============================================================
   Donya Studio – Designsystem für statische Unterseiten
   (Angebot, NRW-Seiten, Galerien, Rechtliches, Dankeseiten)
   Spiegelt die Tokens der React-Startseite (src/index.css).
   ============================================================ */
@font-face{font-family:"Geist";src:url("/fonts/geist.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --paper:#f4f1ec;--paper-2:#ebe7e1;--ink:#111111;--ink-2:#1a1a1a;--white:#fff;
  --bg:var(--paper);--bg-2:var(--paper-2);--fg:#111;--fg-2:#6f6b66;--fg-3:#a29e98;--line:rgba(17,17,17,.1);--media:#e6e2db;
  --nav-h:72px;--gutter:clamp(1.25rem,3.5vw,3rem);--gap:clamp(.75rem,1.4vw,1.25rem);--radius:20px;--radius-lg:24px;
  --ease:cubic-bezier(.22,1,.36,1);
}
@media(min-width:1024px){:root{--radius:24px;--radius-lg:32px}}
.dark,[data-theme="ink"],.block-ink{--bg:#111;--bg-2:#1a1a1a;--fg:#f4f1ec;--fg-2:rgba(244,241,236,.62);--fg-3:rgba(244,241,236,.4);--line:rgba(244,241,236,.12);--media:#1e1e1e;color-scheme:dark}

*,*::before,*::after{box-sizing:border-box}
html{background:#f4f1ec;overflow-x:clip;scroll-padding-top:calc(var(--nav-h) + 8px);-webkit-text-size-adjust:100%}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Geist",ui-sans-serif,system-ui,-apple-system,"Helvetica Neue",sans-serif;font-weight:400;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip;line-height:1.5}
img,video{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4,p,ul{margin:0}
ul{padding:0;list-style:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
::selection{background:#111;color:#f4f1ec}
:focus-visible{outline:1.5px solid currentColor;outline-offset:4px;border-radius:4px}
.skip-link{position:absolute;top:-100px;left:1rem;background:#111;color:#f4f1ec;padding:.75rem 1.25rem;border-radius:999px;font-size:.85rem;font-weight:500;text-decoration:none;z-index:10000}
.skip-link:focus{top:1rem}

/* ── Typografie ── */
.t-h1{font-size:clamp(2.1rem,4.2vw,3.6rem);font-weight:500;line-height:1.02;letter-spacing:-.03em}
.t-h2{font-size:clamp(1.9rem,3.4vw,3.2rem);font-weight:500;line-height:1.06;letter-spacing:-.028em}
.t-h3{font-size:clamp(1.35rem,1.9vw,1.75rem);font-weight:500;line-height:1.15;letter-spacing:-.02em}
.t-lead{font-size:clamp(1.25rem,1.9vw,1.7rem);font-weight:400;line-height:1.35;letter-spacing:-.015em}
.t-body{font-size:1.02rem;line-height:1.7;color:var(--fg-2)}
.t-small{font-size:.95rem;line-height:1.65;color:var(--fg-2)}
.t-label{font-size:.78rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--fg-2)}
.t-price{font-size:clamp(1.9rem,2.8vw,2.5rem);font-weight:500;line-height:1;letter-spacing:-.03em}
em{font-style:normal}

/* ── Layout ── */
.wrap{width:100%;max-width:1520px;margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:clamp(3rem,7vw,7rem)}
.section-tight{padding-block:clamp(2rem,4vw,4rem)}
.block{border-radius:var(--radius-lg)}
.block-paper{background:var(--paper-2);color:#111}
.block-ink{background:#111;color:#f4f1ec}
.block-ink .btn-solid{background:#f4f1ec;color:#111;border-color:#f4f1ec}
.block-ink .pkg{background:rgba(255,255,255,.06);color:#f4f1ec}
.block-pad{padding:clamp(1.5rem,4vw,4rem)}
.media{border-radius:var(--radius);overflow:hidden;background:var(--media);position:relative}
.media>img,.media>video{width:100%;height:100%;object-fit:cover}
.hairline{height:1px;background:var(--line)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gap)}
.col-12{grid-column:span 12}
@media(min-width:768px){
  .md\:col-4{grid-column:span 4}.md\:col-5{grid-column:span 5}.md\:col-6{grid-column:span 6}.md\:col-7{grid-column:span 7}.md\:col-8{grid-column:span 8}
  .md\:start-7{grid-column-start:7}.md\:order-2{order:2}
}
@media(min-width:1024px){.lg\:col-3{grid-column:span 3}.lg\:col-4{grid-column:span 4}}
.stack{display:flex;flex-direction:column;gap:var(--gap)}
.row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.between{justify-content:space-between}
.head{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:clamp(2.5rem,5vw,3.5rem)}
@media(min-width:768px){.head{flex-direction:row;align-items:flex-end;justify-content:space-between}.head>p{max-width:42ch}}
.head .t-label{margin-bottom:1rem;display:block}
.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}
.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}
.max-30{max-width:30ch}.max-40{max-width:40ch}.max-48{max-width:48ch}.max-60{max-width:60ch}.max-70{max-width:70ch}
.aspect-16-10{aspect-ratio:16/10}.aspect-4-5{aspect-ratio:4/5}.aspect-3-2{aspect-ratio:3/2}.aspect-21-9{aspect-ratio:21/9}.aspect-9-16{aspect-ratio:9/16}
@media(max-width:767px){.m-aspect-4-5{aspect-ratio:4/5}}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-size:.92rem;font-weight:500;letter-spacing:-.005em;padding:.85rem 1.4rem;border-radius:999px;color:var(--fg);background:transparent;border:1px solid var(--line);text-decoration:none;white-space:nowrap;transition:background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),opacity .35s}
.btn:hover{border-color:var(--fg)}
.btn-solid{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.btn-solid:hover{opacity:.88}
.btn-text{padding:0;border:0;border-radius:0;gap:.5rem}
.btn-text .arrow{transition:transform .4s var(--ease)}
.btn-text:hover .arrow{transform:translateX(4px)}
.btn[aria-disabled="true"]{opacity:.4;pointer-events:none}

/* ── Navigation (identisch zur Startseite) ── */
.nav{position:fixed;inset-inline:0;top:0;z-index:1000;transition:background-color .5s var(--ease),box-shadow .5s var(--ease);color:#111}
.nav.is-light{color:#fff}
.nav.is-solid{background:rgba(244,241,236,.85);box-shadow:0 1px 0 rgba(17,17,17,.06);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);color:#111}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:var(--nav-h)}
.nav-logo{position:relative;display:flex;align-items:center;height:26px;flex-shrink:0;text-decoration:none;user-select:none}
@media(min-width:640px){.nav-logo{height:30px}}
.nav-logo img{display:block;height:26px;width:128px;overflow:visible;overflow-clip-margin:2px;object-fit:contain;object-position:left center;transition:opacity .5s var(--ease)}
@media(min-width:640px){.nav-logo img{height:30px;width:147px}}
.nav-logo .logo-white{position:absolute;left:0;top:0;opacity:0}
.nav.is-light .nav-logo .logo-black{opacity:0}.nav.is-light .nav-logo .logo-white{opacity:1}
.nav-links{display:none;align-items:center;gap:1.75rem}
@media(min-width:1024px){.nav-links{display:flex}}
.nav-links a{font-size:.92rem;text-decoration:none;opacity:.7;transition:opacity .3s}
.nav-links a:hover,.nav-links a[aria-current="page"]{opacity:1}
.nav-right{display:flex;align-items:center;gap:.75rem}
@media(min-width:1024px){.nav-right{gap:1.25rem}}
.nav-cta{display:none;padding-block:.7rem}
@media(min-width:640px){.nav-cta{display:inline-flex}}
.nav.is-light .nav-cta{border-color:rgba(255,255,255,.3);color:#fff}
.nav.is-light .nav-cta:hover{border-color:#fff}
.nav:not(.is-light) .nav-cta{background:#111;color:#f4f1ec;border-color:#111}
.nav:not(.is-light) .nav-cta:hover{opacity:.88}
.lang{display:none;align-items:center;gap:.5rem;font-size:.85rem}
@media(min-width:1024px){.lang{display:flex}}
.lang .sep{width:1px;height:12px;background:currentColor;opacity:.25}
.lang a{text-decoration:none;opacity:.55;transition:opacity .3s}.lang a:hover{opacity:1}.lang .active{font-weight:500}
.nav-toggle{margin-right:-.5rem;display:flex;width:44px;height:44px;align-items:center;justify-content:center}
@media(min-width:1024px){.nav-toggle{display:none}}
.nav-toggle span{position:relative;display:block;width:22px;height:10px}
.nav-toggle i{position:absolute;left:0;display:block;width:100%;height:1.5px;border-radius:2px;background:currentColor;transition:transform .4s var(--ease),top .4s var(--ease)}
.nav-toggle i:first-child{top:0}.nav-toggle i:last-child{top:100%}
.nav.is-open .nav-toggle i:first-child{top:50%;transform:rotate(45deg)}
.nav.is-open .nav-toggle i:last-child{top:50%;transform:rotate(-45deg)}
.nav-panel{display:none;padding-bottom:1rem}
.nav.is-open .nav-panel{display:block}
@media(min-width:1024px){.nav-panel{display:none!important}}
.nav-panel nav{background:rgba(255,255,255,.7);border-radius:var(--radius-lg);padding:.5rem;color:#111;box-shadow:0 20px 60px rgba(17,17,17,.12)}
.nav-panel a.item{display:block;padding:.75rem 1rem;border-radius:16px;font-size:1.05rem;font-weight:500;text-decoration:none;transition:background-color .3s}
.nav-panel a.item:hover{background:rgba(17,17,17,.05)}
.nav-panel .panel-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem .5rem}
.nav-panel .lang{display:flex}
.nav-panel .btn-solid{background:#111;color:#f4f1ec;border-color:#111}
.nav.is-open{background:rgba(244,241,236,.85);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);color:#111}

/* Seiten ohne dunklen Hero: Platz unter der Leiste */
.page-top{padding-top:calc(var(--nav-h) + clamp(2rem,6vw,5rem))}

/* ── Footer (identisch zur Startseite) ── */
.footer{padding-bottom:2.5rem;padding-top:1rem}
.footer-inner{display:flex;flex-direction:column;gap:2.5rem;padding-block:3rem}
@media(min-width:768px){.footer-inner{flex-direction:row;align-items:flex-start;justify-content:space-between;padding-block:3.5rem}}
.footer-logo{display:inline-block;text-decoration:none;user-select:none}
.footer-logo img{display:block;height:34px;width:167px;overflow:visible;overflow-clip-margin:2px;object-fit:contain;object-position:left center}
@media(min-width:768px){.footer-logo img{height:40px;width:196px}}
.footer nav{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;font-size:.9rem}
.footer nav a,.footer nav button{color:rgba(17,17,17,.7);text-decoration:none;transition:color .3s}
.footer nav a:hover,.footer nav button:hover{color:#111}
.footer .copy{font-size:.8rem;color:var(--fg-3)}

/* ── Reveal (dezent) ── */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
.media.hover img{transition:transform 1.2s var(--ease)}
.media.hover:hover img{transform:scale(1.03)}

/* ── Cursor (Ring + Punkt, wie Startseite) ── */
.cursor{position:fixed;inset:0;z-index:9999;pointer-events:none;mix-blend-mode:difference;display:none}
body.has-cursor .cursor{display:block}
@media(hover:hover) and (pointer:fine){body.has-cursor,body.has-cursor a,body.has-cursor button,body.has-cursor label{cursor:none}}
.cursor-ring{position:absolute;left:0;top:0;width:36px;height:36px;margin:-18px 0 0 -18px;border:1px solid #fff;border-radius:50%;opacity:.7;display:flex;align-items:center;justify-content:center;transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),opacity .35s;will-change:transform}
.cursor-ring span{font-size:.66rem;font-weight:500;letter-spacing:.08em;color:#fff;opacity:0}
.cursor.is-hover .cursor-ring{width:52px;height:52px;margin:-26px 0 0 -26px;opacity:.95}
.cursor.is-label .cursor-ring{width:72px;height:72px;margin:-36px 0 0 -36px;opacity:.95}
.cursor.is-label .cursor-ring span{opacity:1}
.cursor-dot{position:absolute;left:0;top:0;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:#fff;will-change:transform}

/* ── Pakete / Preise ── */
.pkg{display:flex;flex-direction:column;background:var(--paper-2);border-radius:var(--radius-lg);padding:clamp(1.5rem,3vw,2.5rem);color:#111;transition:box-shadow .4s var(--ease),background-color .4s var(--ease)}
.pkg .pkg-top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.pkg .pkg-name{font-size:1.4rem;font-weight:500;letter-spacing:-.02em}
.pkg .pkg-tag{font-size:.78rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:#6f6b66}
.pkg .pkg-price{margin-top:1.4rem}
.pkg .pkg-price small{font-size:1rem;font-weight:400;color:#6f6b66;margin-left:.3rem}
.pkg .pkg-meta{margin-top:.5rem;font-size:.95rem;color:#6f6b66}
.pkg ul{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.55rem}
.pkg li{display:flex;gap:.75rem;align-items:flex-start;font-size:.95rem;line-height:1.55;color:#6f6b66}
.pkg li::before{content:"";flex:0 0 auto;width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.6;margin-top:.62rem}
.pkg li strong,.pkg li.highlight{color:#111;font-weight:500}
.pkg .pkg-select,.pkg .pkg-cta{margin-top:auto;padding-top:1.5rem}
.pkg .pkg-select .btn{width:100%}
.pkg.selected{background:#111;color:#f4f1ec}
.pkg.selected .pkg-tag,.pkg.selected .pkg-meta,.pkg.selected li,.pkg.selected .pkg-price small{color:rgba(244,241,236,.62)}
.pkg.selected li strong,.pkg.selected li.highlight{color:#f4f1ec}
.pkg.selected ul{border-color:rgba(244,241,236,.12)}
.pkg.selected .pkg-select .btn{background:#f4f1ec;color:#111;border-color:#f4f1ec}
.pkg-grid{display:grid;grid-template-columns:1fr;gap:var(--gap)}
@media(min-width:700px){.pkg-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.pkg-grid.cols-3{grid-template-columns:repeat(3,1fr)}.pkg-grid.cols-4{grid-template-columns:repeat(4,1fr)}}
.addons{display:flex;flex-wrap:wrap;gap:.75rem 2.5rem;padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid var(--line);font-size:.95rem;color:var(--fg-2)}
.addons strong{color:var(--fg);font-weight:500}

/* Kombi-Rechner */
.combo-table{display:flex;flex-direction:column;gap:0;margin-top:2rem;border-top:1px solid var(--line)}
.combo-row{display:flex;justify-content:space-between;gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--line);font-size:1rem}
.combo-row .lbl{color:var(--fg-2)}
.combo-row .val{font-weight:500;text-align:right;white-space:nowrap}
.combo-row .val.empty{color:var(--fg-3);font-weight:400}
.combo-row.total{font-size:1.25rem}
.combo-row.total .val{font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-.02em}
.combo.ready .combo-row.discount .val{color:#f4f1ec}

/* Zwei-Wert-Kacheln (Lieferzeiten, Standorte) */
.tile{background:var(--paper-2);border-radius:var(--radius);padding:1.5rem 1.75rem}
.tile .t-label{margin-bottom:.6rem;display:block}
.tile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap)}
@media(min-width:768px){.tile-grid.cols-4{grid-template-columns:repeat(4,1fr)}}
.pills{display:flex;flex-wrap:wrap;gap:.6rem}
.pill{display:inline-flex;align-items:center;padding:.6rem 1.1rem;border-radius:999px;border:1px solid var(--line);font-size:.95rem}

/* Merkmal-Liste (Leistungen, Warum wir) */
.features{display:grid;grid-template-columns:1fr;gap:var(--gap)}
@media(min-width:640px){.features{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.features{grid-template-columns:repeat(3,1fr)}}
.feature{background:var(--paper-2);border-radius:var(--radius);padding:1.75rem;color:#111}
.block-ink .feature{background:rgba(255,255,255,.05);color:#f4f1ec}
.feature .num{font-size:.78rem;font-weight:500;letter-spacing:.07em;color:var(--fg-3);margin-bottom:1rem}
.feature h3{font-size:1.15rem;font-weight:500;letter-spacing:-.015em;margin-bottom:.6rem}
.feature p{font-size:.95rem;line-height:1.65;color:var(--fg-2)}
.block-ink .feature p{color:rgba(244,241,236,.62)}
.checklist{display:grid;grid-template-columns:1fr;gap:.6rem 2rem}
@media(min-width:640px){.checklist{grid-template-columns:repeat(2,1fr)}}
.checklist li{display:flex;gap:.75rem;align-items:flex-start;font-size:1rem;line-height:1.6;color:var(--fg-2);padding:.4rem 0;border-bottom:1px solid var(--line)}
.checklist li::before{content:"";flex:0 0 auto;width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.6;margin-top:.7rem}

/* FAQ */
.faq{background:var(--paper-2);border-radius:var(--radius-lg);padding:.5rem clamp(1.25rem,3vw,2.5rem)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item:last-child{border-bottom:0}
.faq-q{display:flex;width:100%;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.25rem 0;text-align:left;font-size:1.05rem;font-weight:500;line-height:1.4}
@media(min-width:768px){.faq-q{font-size:1.15rem}}
.faq-q .ico{position:relative;flex:0 0 auto;width:12px;height:12px;margin-top:.45rem;transition:transform .4s var(--ease)}
.faq-q .ico::before,.faq-q .ico::after{content:"";position:absolute;background:currentColor;border-radius:2px}
.faq-q .ico::before{left:0;top:50%;width:100%;height:1.5px;transform:translateY(-50%)}
.faq-q .ico::after{left:50%;top:0;width:1.5px;height:100%;transform:translateX(-50%)}
.faq-item.open .faq-q .ico{transform:rotate(45deg)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.faq-item.open .faq-a{grid-template-rows:1fr}
.faq-a>div{overflow:hidden}
.faq-a p{max-width:62ch;padding:0 2rem 1.5rem 0;font-size:1.02rem;line-height:1.7;color:var(--fg-2)}
.faq-a a{color:var(--fg)}

/* Prosa (Rechtliches, Fließtext) */
.prose{max-width:70ch}
.prose h2{font-size:1.35rem;font-weight:500;letter-spacing:-.02em;margin:2.5rem 0 .8rem}
.prose h3{font-size:1.1rem;font-weight:500;margin:1.8rem 0 .5rem}
.prose p{font-size:1.02rem;line-height:1.75;color:var(--fg-2);margin-bottom:1rem}
.prose ul{list-style:disc;padding-left:1.25rem;margin-bottom:1rem}
.prose li{font-size:1.02rem;line-height:1.7;color:var(--fg-2);margin-bottom:.35rem}
.prose a{color:var(--fg);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line)}
.prose a:hover{text-decoration-color:currentColor}
.prose strong{color:var(--fg);font-weight:500}
.prose .contact-block{background:var(--paper-2);border-radius:var(--radius);padding:1.25rem 1.5rem;margin:1rem 0 1.25rem}
.prose .contact-block p{margin:0;color:var(--fg);line-height:1.6}
.prose .note{background:var(--paper-2);border-radius:var(--radius);padding:1.25rem 1.5rem;margin:1.5rem 0;font-size:.95rem;color:var(--fg-2)}
.legal-tag{font-size:.78rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--fg-2);margin-bottom:1rem}

/* Video-Lightbox (NRW-Seite) */
.lightbox{position:fixed;inset:0;z-index:2000;background:rgba(17,17,17,.96);display:none;align-items:center;justify-content:center;padding:clamp(.5rem,3vw,2.5rem)}
.lightbox.open{display:flex}
.lightbox video{max-width:100%;max-height:calc(100svh - 96px);width:auto;height:auto;border-radius:20px;background:#000}
.lightbox-close{position:fixed;right:1.25rem;top:1.25rem;z-index:2010;display:flex;align-items:center;gap:.5rem;height:44px;padding:0 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.85);font-size:.85rem;transition:border-color .3s,color .3s}
.lightbox-close:hover{border-color:#fff;color:#fff}
.play{position:absolute;left:1rem;bottom:1rem;display:flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.9);color:#111;backdrop-filter:blur(8px)}
@media(min-width:768px){.play{left:1.5rem;bottom:1.5rem}}
.play svg{width:14px;height:14px;margin-left:2px;fill:currentColor}

/* Hero mit Video (NRW-Video, Destination, Bensberg) */
.hero{position:relative;height:100svh;min-height:600px;overflow:hidden;background:#111;color:#fff}
.hero>img,.hero>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(17,17,17,.28) 0%,rgba(17,17,17,0) 30%,rgba(17,17,17,.05) 55%,rgba(17,17,17,.7) 100%)}
.hero .hero-inner{position:absolute;inset-inline:0;bottom:0;padding-bottom:clamp(2.5rem,7vh,5rem)}
.hero .hero-grid{display:flex;flex-direction:column;gap:2rem}
@media(min-width:768px){.hero .hero-grid{flex-direction:row;align-items:flex-end;justify-content:space-between}}
.hero .hero-aside{display:flex;flex-direction:column;gap:1.5rem;max-width:420px}
@media(min-width:768px){.hero .hero-aside{align-items:flex-end;text-align:right}}
.hero .t-label{color:rgba(255,255,255,.75)}
.hero p.sub{font-size:1rem;line-height:1.6;color:rgba(255,255,255,.8)}
.hero .btn{border-color:rgba(255,255,255,.35);color:#fff}
.hero .btn:hover{border-color:#fff}
.hero .btn-solid{background:#fff;color:#111;border-color:#fff}
.breadcrumb{font-size:.85rem;color:var(--fg-2);margin-bottom:1.25rem}
.breadcrumb a{text-decoration:none;color:inherit}
.hero .breadcrumb{color:rgba(255,255,255,.7)}


/* ── Angebotsseite: editoriale Paketkarten, Auswahl und Kombination ── */
.offer-intro{display:flex;flex-direction:column;gap:clamp(1.75rem,3vw,2.5rem)}
.offer-intro .offer-steps{width:100%;max-width:640px}
.offer-intro .t-lead{max-width:34ch}
.offer-steps{margin:0;padding:0;border-top:1px solid var(--line)}
.offer-steps .step{display:flex;align-items:baseline;gap:1.25rem;padding:.95rem 0;border-bottom:1px solid var(--line);font-size:.98rem;line-height:1.5;color:var(--fg)}
.offer-steps .num{flex:0 0 auto;width:1.5rem;height:1.5rem;border-radius:50%;border:1px solid rgba(17,17,17,.25);display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:500;color:var(--fg);font-variant-numeric:tabular-nums;transform:translateY(-1px)}
.offer-steps a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(17,17,17,.3);padding-bottom:1px;transition:border-color .35s var(--ease)}
.offer-steps a:hover{border-color:#111}
.offer-cat{display:flex;flex-direction:column;gap:.9rem;padding-top:clamp(1.5rem,2.5vw,2rem);margin-bottom:clamp(1.5rem,2.5vw,2.25rem);border-top:1px solid var(--line)}
@media(min-width:768px){.offer-cat{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:3rem}.offer-cat>p{max-width:44ch}}
.offer-cat .t-label{display:block;margin-bottom:.75rem}
@media(min-width:900px){.pkg-grid.cols-3{grid-template-columns:repeat(3,1fr)}}

.pkg.pkg-click{position:relative;cursor:pointer;background:rgba(255,255,255,.6);border:1px solid rgba(17,17,17,.1);border-radius:var(--radius-lg);padding:clamp(1.6rem,2.2vw,2.1rem);color:#111;box-shadow:none;transition:transform .5s var(--ease),border-color .4s var(--ease),background-color .4s var(--ease),opacity .9s var(--ease)}
.pkg.pkg-click.reveal.in{transition:transform .5s var(--ease),border-color .4s var(--ease),background-color .4s var(--ease)}
@media(hover:hover){.pkg.pkg-click:hover{transform:translateY(-2px);border-color:rgba(17,17,17,.4);background:rgba(255,255,255,.8)}}
.pkg.pkg-click:focus-visible{outline:1px solid #111;outline-offset:4px}
.pkg-click .pkg-top{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:0;min-height:1.2rem}
.pkg-click .pkg-name{font-size:.8rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;line-height:1.2}
.pkg-click .pkg-tag{position:absolute;top:0;right:clamp(1.25rem,2vw,1.75rem);transform:translateY(-50%);padding:.42rem .8rem .4rem;border-radius:999px;background:#8e1b22;color:#fff;font-size:.6rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;line-height:1}
.pkg-click .pkg-price{margin-top:1.1rem;font-size:clamp(2.1rem,2.7vw,2.7rem);font-weight:300;line-height:1;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.pkg-click .pkg-price small{font-size:.95rem;font-weight:400;letter-spacing:0;color:#6f6b66;margin-left:.3rem}
.pkg-click ul{margin-top:1.5rem;padding-top:0;border-top:1px solid rgba(17,17,17,.14);gap:0}
.pkg-click li{font-size:.92rem;line-height:1.5;padding:.72rem 0;border-bottom:1px solid rgba(17,17,17,.07);color:#4f4c48}
.pkg-click li:last-child{border-bottom:0}
.pkg-click li::before{display:none}
.pkg-click .pkg-select{padding-top:1.75rem}
.pkg-choose{display:flex;align-items:center;justify-content:center;width:100%;padding:.95rem 1rem;border-radius:999px;border:1px solid rgba(17,17,17,.22);font-size:.7rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#111;background:transparent;pointer-events:none;transition:background-color .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease)}
@media(hover:hover){.pkg-click:hover .pkg-choose{background:#111;color:#f4f1ec;border-color:#111}}
.pkg.pkg-click.pkg-featured{background:#fff;border-color:rgba(17,17,17,.5)}
.pkg-featured .pkg-tag{color:#fff}
.pkg.pkg-click.selected{background:#fff;color:#111;border-color:#111;box-shadow:inset 0 0 0 1px #111}
.pkg-click.selected .pkg-price small{color:#6f6b66}.pkg-click.selected .pkg-tag{color:#fff}
.pkg-click.selected li{color:#5d5a55}
.pkg-click.selected li strong{color:#111}
.pkg-click.selected ul{border-color:rgba(17,17,17,.12)}
.pkg-click.selected li{color:#4f4c48}
.pkg.pkg-click.selected .pkg-choose{background:#111;color:#f4f1ec;border-color:#111}
.travel-note{color:var(--fg-3);font-size:.85rem}
.combo.ready .combo-row.total .val{color:#f4f1ec}
.combo-row.discount .val:not(.empty){color:#f4f1ec}
.combo .combo-row.total .val{font-weight:400}
@media(min-width:768px){.combo .md\:start-7{grid-column:7 / span 6}}
.combo .combo-table{margin-top:0}
@media(max-width:767px){.combo .combo-table{margin-top:1rem}}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.001ms!important;animation-duration:.001ms!important}}
@media print{.nav,.footer,.cursor,.skip-link{display:none!important}.page-top{padding-top:0}}
