/* NEXUS HotelPass-Seite V2.1 – Ergänzung zu ../../startseite/assets/style.css
   Eigene Identität: Champagner/Gold + Nachtblau. Signature: die Mitgliedskarte, die sich in 3D dreht und dem Licht folgt. */
:root{--hp-gold:#D9B77E;--hp-champ:#F1DDB3;--hp-deep:#8C6A36;--hp-night:#0D1A2B;--hp-ease:var(--ease,cubic-bezier(.2,.7,.2,1))}
.nav-trigger.is-current{color:#fff;position:relative}
.nav-trigger.is-current::after{content:"";position:absolute;left:0;right:18px;bottom:2px;height:2px;border-radius:2px;background:var(--hp-gold)}
.hp-eyebrow{color:var(--hp-gold)}
.hp-section{padding:clamp(84px,10vw,130px) 0}
.hp-section h2{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
.hp-section h2 em{color:var(--blau)}
.hp-body{color:var(--schiefer);line-height:1.8;font-size:1.02rem}
.hp-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:9%;align-items:end;margin-bottom:52px}
.hp-btn-gold{background:linear-gradient(135deg,var(--hp-champ),var(--hp-gold));color:#231A0B;box-shadow:0 10px 30px rgba(217,183,126,.25)}
.hp-btn-gold:hover{filter:brightness(1.06)}

/* ================= HERO ================= */
.hp-hero{position:relative;overflow:hidden;isolation:isolate;color:#fff;background:radial-gradient(ellipse at 72% 50%,rgba(217,183,126,.16) 0%,rgba(13,26,43,0) 45%),radial-gradient(ellipse at 80% 70%,#173C66 0%,rgba(13,26,43,0) 55%),linear-gradient(150deg,#0D1A2B,#0A1523)}
.hp-crumb{display:flex;flex-wrap:wrap;gap:12px;padding-top:34px;font-size:.9rem;color:#8DA6C3}
.hp-crumb a:hover{color:#fff}
.hp-crumb [aria-current]{color:#F3E6CB}
.hp-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(24px,4vw,60px);align-items:center;padding:24px 0 70px}
.hp-hero .eyebrow{animation:hpRise .8s var(--hp-ease) .1s both}
.hp-hero h1{font-size:clamp(2.5rem,4.2vw,4.1rem);line-height:1.06;letter-spacing:-.04em;font-weight:700;margin:6px 0 24px;animation:hpRise 1s var(--hp-ease) .18s both}
.hp-hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--hp-champ),var(--hp-gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.hp-lead{color:#C6D2DF;font-size:clamp(1.02rem,1.25vw,1.15rem);line-height:1.75;max-width:33em;animation:hpRise .9s var(--hp-ease) .4s both}
.hp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:32px;animation:hpRise .9s var(--hp-ease) .52s both}
.hp-textlink{color:#F3E6CB;font-weight:650;padding:8px 0;border-bottom:1.5px solid rgba(217,183,126,.5)}
.hp-textlink:hover{color:#fff;border-color:#fff}
.hp-small{margin-top:40px;font-size:.88rem;color:#9FB6CF;animation:hpRise .9s var(--hp-ease) .64s both}

.hp-stage{position:relative;margin:0;min-height:460px;display:grid;place-items:center;perspective:1400px}
.hp-glow{position:absolute;width:80%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(217,183,126,.28),rgba(10,108,240,.12) 45%,transparent 68%);filter:blur(10px)}
.hp-card3d{position:relative;width:min(440px,88%);aspect-ratio:1.586;transform-style:preserve-3d;transform:rotateX(var(--rx,6deg)) rotateY(var(--ry,-14deg));transition:transform .6s var(--hp-ease);animation:hpFloat 7s ease-in-out 2.2s infinite}
.hp-stage.is-hover .hp-card3d{transition:transform .08s linear;animation-play-state:paused}
.hp-card-inner{position:absolute;inset:0;transform-style:preserve-3d;animation:hpFlip 1.8s cubic-bezier(.3,.1,.1,1) .3s both}
.hp-face{position:absolute;inset:0;border-radius:22px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.hp-back{transform:rotateY(180deg);background:linear-gradient(135deg,#1A2F4C,#0B1726);border:1px solid rgba(217,183,126,.35);display:grid;place-items:center}
.hp-back-word{font-size:2.4rem;font-weight:800;letter-spacing:-.07em;color:var(--hp-champ)}
.hp-back-stripe{position:absolute;left:0;right:0;top:22%;height:40px;background:rgba(0,0,0,.45)}
.hp-front{padding:24px 26px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:radial-gradient(ellipse at 90% 0%,rgba(241,221,179,.28),transparent 55%),linear-gradient(135deg,#1C3659 0%,#0F2138 55%,#0A1627 100%);border:1px solid rgba(241,221,179,.45);box-shadow:0 40px 80px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.25)}
.hp-guilloche{position:absolute;inset:0;width:100%;height:100%;color:rgba(241,221,179,.22)}
.hp-card-top,.hp-card-mid,.hp-card-bottom{position:relative}
.hp-card-top{display:flex;justify-content:space-between;align-items:center}
.hp-brand{font-size:1.25rem;font-weight:800;letter-spacing:-.06em}
.hp-chip{width:46px;height:36px;border-radius:8px;background:linear-gradient(135deg,#FFF1CF,var(--hp-gold) 55%,#A9823F);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.hp-card-kicker{display:block;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--hp-champ)}
.hp-card-title{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4vw,2.7rem);line-height:1;background:linear-gradient(90deg,#FFF6E2,var(--hp-gold) 60%,#FFF1CF);-webkit-background-clip:text;background-clip:text;color:transparent}
.hp-card-bottom{display:flex;flex-direction:column;gap:2px;padding-top:12px;border-top:1px solid rgba(241,221,179,.25)}
.hp-offer-label{font-size:.74rem;color:#AFC1D6}
.hp-offer{font-weight:650;transition:opacity .35s,transform .35s var(--hp-ease)}
.hp-offer.is-out{opacity:0;transform:translateY(6px)}
.hp-sheen{position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 40%,rgba(255,240,210,.32) 48%,rgba(160,210,255,.18) 52%,transparent 60%);transform:translateX(var(--sx,-30%));mix-blend-mode:screen;pointer-events:none;transition:transform .5s var(--hp-ease)}
.hp-stage.is-hover .hp-sheen{transition:transform .08s linear}
.hp-tags{position:absolute;inset:0;pointer-events:none}
.hp-tag{position:absolute;padding:8px 14px;border-radius:999px;font-size:.84rem;font-weight:600;color:#F3E6CB;background:rgba(13,26,43,.8);border:1px solid rgba(217,183,126,.4);backdrop-filter:blur(6px);opacity:0;animation:hpTag .8s var(--hp-ease) both}
.hp-tag::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--hp-gold);margin-right:8px;vertical-align:middle}
.t1{left:2%;top:14%;animation-delay:2s}.t2{right:0;top:30%;animation-delay:2.2s}.t3{left:8%;bottom:12%;animation-delay:2.4s}
.hp-tag.is-on{border-color:var(--hp-gold);background:rgba(217,183,126,.18);color:#fff}
.hp-stage figcaption{position:absolute;bottom:-6px;left:0;right:0;text-align:center;font-size:.8rem;color:#7A98B9}
.hp-strip{background:rgba(6,19,35,.5);border-top:1px solid rgba(255,255,255,.1)}
.hp-strip .container{display:flex;justify-content:space-between;gap:20px;padding:20px 0}
.hp-strip span{display:flex;align-items:center;gap:12px;font-size:.95rem;color:#C6D2DF}
.hp-strip span::before{content:"";width:8px;height:8px;border-radius:50%;border:1.5px solid var(--hp-gold)}

/* ================= WERTE ================= */
.hp-values{background:#fff}
.hp-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hp-value-grid article{padding:30px 26px;border-radius:20px;background:linear-gradient(170deg,#FFFCF6,#F7F1E6);border:1px solid #EFE3CC;transition:transform .3s var(--hp-ease),box-shadow .3s}
.hp-value-grid article:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(140,106,54,.12)}
.hp-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#fff;border:1px solid #EAD9B8}
.hp-icon svg{width:24px;height:24px;fill:none;stroke:var(--hp-deep);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.hp-value-grid h3{font-size:1.3rem;margin:22px 0 8px}
.hp-value-grid p{color:var(--schiefer);font-size:.97rem;line-height:1.65}

/* ================= OFFER-DESIGNER ================= */
.hp-designer{background:var(--hp-night);color:#fff;position:relative;overflow:hidden}
.hp-designer::before{content:"";position:absolute;width:900px;height:900px;right:-320px;top:-300px;background:radial-gradient(circle,rgba(217,183,126,.14),transparent 62%);pointer-events:none}
.hp-designer h2 em{color:var(--hp-champ)}
.hp-designer .hp-body{color:#B8C8DA}
.hp-lab{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);border-radius:26px;overflow:hidden;background:rgba(255,255,255,.04);border:1px solid rgba(217,183,126,.25)}
.hp-lab-side{padding:clamp(24px,3.5vw,40px)}
.hp-lab-q{font-weight:650;font-size:1.05rem}
.hp-types{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.hp-types button{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:14px;border:1px solid rgba(217,183,126,.3);background:transparent;color:#E6ECF3;font-weight:600;text-align:left;cursor:pointer;transition:background .25s,border-color .25s,color .25s}
.hp-types button:hover{border-color:var(--hp-gold)}
.hp-types button span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(217,183,126,.12)}
.hp-types svg{width:18px;height:18px;fill:none;stroke:var(--hp-champ);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hp-types button[aria-pressed="true"]{background:linear-gradient(135deg,rgba(241,221,179,.22),rgba(217,183,126,.1));border-color:var(--hp-gold);color:#fff}
.hp-logic{margin:28px 0 0;display:grid;gap:0}
.hp-logic div{padding:16px 0;border-top:1px solid rgba(255,255,255,.1)}
.hp-logic dt{display:flex;align-items:center;gap:10px;font-weight:650;color:var(--hp-champ)}
.hp-logic dt span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;background:var(--hp-gold);color:#231A0B}
.hp-logic dd{margin:6px 0 0 34px;color:#C6D2DF;font-size:.95rem;transition:opacity .3s}
.hp-lab-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:36px 24px;background:radial-gradient(circle at 50% 40%,rgba(217,183,126,.18),transparent 60%),rgba(0,0,0,.15);border-left:1px solid rgba(217,183,126,.18)}
.hp-phone{position:relative;width:250px;padding:42px 16px 22px;border-radius:36px;background:#F7F4EE;color:var(--tinte);box-shadow:0 0 0 8px #0A1524,0 0 0 9px rgba(255,255,255,.15),0 30px 60px rgba(0,0,0,.45)}
.hp-phone-notch{position:absolute;top:10px;left:50%;width:78px;height:20px;transform:translateX(-50%);border-radius:12px;background:#0A1524}
.hp-phone-k{font-size:.74rem;font-weight:650;color:var(--hp-deep);margin-bottom:12px}
.hp-offer-card{border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 12px 30px rgba(13,26,43,.12);animation:hpPop .5s var(--hp-ease)}
.hp-offer-img{position:relative;height:110px;background:var(--img,linear-gradient(135deg,#7A3048,#C66A6A))}
.hp-offer-img::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.35),transparent 40%)}
.hp-offer-badge{position:absolute;left:10px;top:10px;z-index:1;padding:4px 9px;border-radius:999px;font-size:.7rem;font-weight:700;color:#231A0B;background:linear-gradient(135deg,var(--hp-champ),var(--hp-gold))}
.hp-offer-body{padding:12px 14px 14px}
.hp-offer-body small{display:block;font-size:.74rem;color:var(--schiefer)}
.hp-offer-body strong{display:block;font-size:1rem;line-height:1.3;margin:2px 0 4px}
.hp-offer-body span{font-size:.8rem;color:var(--hp-deep);font-weight:600}
.hp-offer-ghost{height:52px;margin-top:10px;border-radius:14px;background:#EDE7DC}
.hp-offer-ghost.short{height:36px;opacity:.6}
.hp-lab-note{font-size:.8rem;color:#9FB6CF;text-align:center}
.hp-lab[data-type="boutique"] .hp-offer-img{--img:linear-gradient(135deg,#2B4A70,#8FA7C2)}
.hp-lab[data-type="wine"] .hp-offer-img{--img:linear-gradient(135deg,#6A2340,#C0626B)}
.hp-lab[data-type="spa"] .hp-offer-img{--img:linear-gradient(135deg,#1E6B6B,#8BCFC4)}
.hp-lab[data-type="business"] .hp-offer-img{--img:linear-gradient(135deg,#3B3F58,#A4A9C4)}

/* ================= ABLAUF ================= */
.hp-flow{background:var(--porzellan,#F3F5F8)}
.hp-flow .hp-eyebrow,.hp-final .hp-eyebrow{color:var(--hp-deep)}
.hp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;position:relative}
.hp-steps::before{content:"";position:absolute;left:56px;right:56px;top:54px;height:2px;background:#E2D6BF}
.hp-steps::after{content:"";position:absolute;left:56px;right:56px;top:54px;height:2px;background:linear-gradient(90deg,var(--hp-gold),var(--blau));transform-origin:left;transform:scaleX(0);transition:transform 1.6s var(--hp-ease)}
.hp-steps.is-visible::after{transform:scaleX(1)}
.hp-steps li{position:relative;z-index:1;padding:28px 26px;border-radius:20px;background:#fff;border:1px solid var(--linie)}
.hp-step-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#fff;border:2px solid #E2D6BF;transition:background .4s,border-color .4s,box-shadow .4s}
.hp-step-icon svg{width:24px;height:24px;fill:none;stroke:var(--hp-deep);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:stroke .4s}
.hp-steps.is-visible .hp-step-icon{background:linear-gradient(135deg,var(--hp-champ),var(--hp-gold));border-color:var(--hp-gold);box-shadow:0 0 0 6px rgba(217,183,126,.2)}
.hp-steps.is-visible li:nth-child(2) .hp-step-icon{transition-delay:.6s}
.hp-steps.is-visible li:nth-child(3) .hp-step-icon{transition-delay:1.2s}
.hp-step-k{margin-top:20px;font-size:.88rem;font-weight:650;color:var(--hp-deep)}
.hp-steps h3{font-size:1.3rem;margin:4px 0 10px;line-height:1.25}
.hp-steps li>p:not(.hp-step-k){color:var(--schiefer);font-size:.96rem;line-height:1.65}
.hp-step-note{display:inline-block;margin-top:16px;padding:6px 12px;border-radius:999px;background:#F7F1E6;color:#6B5230;font-size:.8rem;font-weight:600}
.hp-note{margin-top:24px;font-size:.84rem;color:var(--schiefer)}

/* ================= BAND ================= */
.hp-band{background:#fff}
.hp-band-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(40px,7vw,90px);align-items:center}
.hp-band h2{margin-bottom:22px}
.hp-band-list{margin-top:28px;display:grid}
.hp-band-list article{display:flex;gap:14px;padding:16px 0;border-top:1px solid var(--linie)}
.hp-check{flex:0 0 24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--hp-champ),var(--hp-gold));position:relative;margin-top:2px}
.hp-check::after{content:"";position:absolute;left:8px;top:5px;width:6px;height:11px;border:solid #231A0B;border-width:0 2px 2px 0;transform:rotate(45deg)}
.hp-band-list strong{display:block;font-weight:650}
.hp-band-list p{color:var(--schiefer);font-size:.95rem}
.hp-metric{position:relative;overflow:hidden;padding:clamp(28px,4vw,42px);border-radius:24px;background:var(--hp-night);color:#fff}
.hp-metric::before{content:"";position:absolute;right:-120px;top:-120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(217,183,126,.3),transparent 65%)}
.hp-metric-k{position:relative;font-weight:650;color:var(--hp-gold)}
.hp-metric h3{position:relative;font-family:var(--serif);font-weight:400;font-size:clamp(1.4rem,2.2vw,1.8rem);line-height:1.35;margin:14px 0 16px;letter-spacing:0}
.hp-metric p{position:relative;color:#B8C8DA;font-size:.96rem;line-height:1.7}

/* ================= VERWANDT ================= */
.hp-related{background:var(--porzellan,#F3F5F8)}
.hp-related h2{margin-bottom:36px}
.hp-related-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.hp-related-grid a{position:relative;display:flex;flex-direction:column;gap:4px;padding:28px;border-radius:20px;background:#fff;border:1px solid var(--linie);transition:border-color .25s,transform .3s var(--hp-ease)}
.hp-related-grid a:hover{border-color:var(--blau);transform:translateY(-3px)}
.hp-related-grid small{color:var(--blau);font-weight:650}
.hp-related-grid strong{font-size:1.5rem}
.hp-related-grid span{color:var(--schiefer)}
.hp-related-grid svg{position:absolute;right:24px;top:28px;width:18px;height:18px;fill:none;stroke:var(--blau);stroke-width:1.7;stroke-linecap:round}
.hp-rel-points small{color:#C06A1E}

/* ================= ABSCHLUSS ================= */
.hp-final{background:#fff}
.hp-final-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(40px,8vw,110px);align-items:center}
.hp-final h2{margin-bottom:22px}
.hp-final-card{padding:clamp(28px,4vw,42px);border-radius:24px;background:var(--hp-night);color:#fff;box-shadow:0 40px 80px rgba(13,26,43,.2);border:1px solid rgba(217,183,126,.25)}
.hp-final-k{font-weight:650;color:var(--hp-gold)}
.hp-final-card h3{font-size:clamp(1.6rem,2.4vw,2.1rem);margin:12px 0 20px}
.hp-person{display:flex;align-items:center;gap:14px;padding:18px 0;margin-bottom:20px;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.hp-person img{width:56px;height:56px;border-radius:50%;border:2px solid rgba(217,183,126,.7)}
.hp-person strong,.hp-person span{display:block}
.hp-person span{font-size:.88rem;color:#AFBDCD}
.hp-final-card .btn{width:100%}

/* ================= Animationen ================= */
@keyframes hpRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes hpFlip{from{transform:rotateY(180deg) translateZ(-60px)}to{transform:rotateY(0) translateZ(0)}}
@keyframes hpFloat{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes hpTag{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes hpPop{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}

/* ================= Responsive ================= */
@media(max-width:960px){
  .hp-grid,.hp-intro-grid,.hp-lab,.hp-band-grid,.hp-final-grid{grid-template-columns:minmax(0,1fr)}
  .hp-intro-grid{gap:20px}
  .hp-stage{min-height:400px}
  .hp-lab-preview{border-left:0;border-top:1px solid rgba(217,183,126,.18)}
  .hp-value-grid,.hp-steps{grid-template-columns:1fr}
  .hp-steps::before,.hp-steps::after{display:none}
}
@media(max-width:600px){
  .hp-hero h1{font-size:clamp(2.2rem,10vw,3rem)}
  .hp-actions{flex-direction:column;align-items:stretch}
  .hp-actions .btn{width:100%}
  .hp-actions .hp-textlink{align-self:flex-start}
  .hp-stage{min-height:320px}
  .hp-front{padding:16px 18px}
  .hp-tag{font-size:.74rem;padding:6px 10px}
  .t2{top:6%}
  .hp-strip .container{flex-direction:column;gap:8px}
  .hp-types{grid-template-columns:1fr}
  .hp-related-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .hp-hero *,.hp-card3d,.hp-card-inner{animation:none!important}
  .hp-tag{opacity:1}
  .hp-steps::after,.hp-step-icon,.hp-sheen,.hp-offer{transition:none!important}
}
