/* PSM Karten – conversion + SEO homepage polish, 2026-09-27 */
body.p8-home-page .p26-hero-copy .p26-eyebrow{
  margin:0 0 10px;
  color:#d7b65c;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.p8-home-page .p26-hero-prices{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:20px 0 4px;
}
body.p8-home-page .p26-hero-prices span{
  min-width:150px;
  padding:12px 14px;
  border:1px solid rgba(213,177,80,.28);
  border-radius:14px;
  background:rgba(255,255,255,.035);
}
body.p8-home-page .p26-hero-prices strong{
  display:block;
  color:#f0d57d;
  font-size:1.18rem;
  line-height:1.1;
}
body.p8-home-page .p26-hero-prices small{
  display:block;
  margin-top:4px;
  color:#c8c8c8;
  font-size:.74rem;
  line-height:1.35;
}

body.p8-home-page .psm-trust-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
body.p8-home-page .psm-service-usp{
  background:#0d0e0f;
  border-top:1px solid rgba(255,255,255,.055);
  border-bottom:1px solid rgba(255,255,255,.055);
}
body.p8-home-page .psm-service-grid{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:44px;
  align-items:center;
}
body.p8-home-page .psm-service-grid .p26-lead{
  margin:0;
}

body.p8-home-page .psm-paper-compare{
  background:#f6f3eb;
}
body.p8-home-page .psm-compare-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:26px;
}
body.p8-home-page .psm-compare-grid article{
  padding:24px;
  border:1px solid #ddd8cb;
  border-radius:20px;
  background:#fff;
}
body.p8-home-page .psm-compare-grid article.is-psm{
  border-color:#d7b65c;
  background:#111315;
  color:#fff;
}
body.p8-home-page .psm-compare-label{
  display:inline-flex;
  margin-bottom:10px;
  padding:5px 8px;
  border-radius:999px;
  background:#ece8dd;
  color:#343434;
  font-size:.68rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.09em;
}
body.p8-home-page .psm-compare-grid .is-psm .psm-compare-label{
  background:rgba(215,182,92,.14);
  color:#e2c36d;
}
body.p8-home-page .psm-compare-grid h3{
  margin:0 0 14px;
  font-size:1.2rem;
}
body.p8-home-page .psm-compare-grid ul{
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}
body.p8-home-page .psm-compare-grid li{
  position:relative;
  padding-left:19px;
  line-height:1.5;
}
body.p8-home-page .psm-compare-grid li:before{
  content:"✓";
  position:absolute;
  left:0;
  color:#b58c2e;
  font-weight:900;
}

body.p8-home-page .psm-industries{
  background:#fff;
}
body.p8-home-page .psm-industry-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:24px;
}
body.p8-home-page .psm-industry-grid article{
  display:grid;
  gap:7px;
  padding:18px;
  border:1px solid #e4dfd4;
  border-radius:16px;
  background:#fbfaf7;
}
body.p8-home-page .psm-industry-grid strong{
  color:#171819;
  font-size:.96rem;
}
body.p8-home-page .psm-industry-grid span{
  color:#666;
  font-size:.82rem;
  line-height:1.55;
}

body.p8-home-page .psm-five-steps{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
body.p8-home-page .psm-home-faq{
  background:#0e1011;
  color:#fff;
}
body.p8-home-page .psm-home-faq .p26-title,
body.p8-home-page .psm-home-faq .p26-eyebrow{
  color:inherit;
}
body.p8-home-page .psm-faq-list{
  display:grid;
  gap:10px;
  margin-top:24px;
}
body.p8-home-page .psm-faq-list details{
  border:1px solid rgba(255,255,255,.09);
  border-radius:14px;
  background:#151718;
  overflow:hidden;
}
body.p8-home-page .psm-faq-list summary{
  cursor:pointer;
  padding:16px 18px;
  font-weight:780;
  list-style:none;
}
body.p8-home-page .psm-faq-list summary::-webkit-details-marker{
  display:none;
}
body.p8-home-page .psm-faq-list summary:after{
  content:"+";
  float:right;
  color:#d6b45a;
  font-size:1.1rem;
}
body.p8-home-page .psm-faq-list details[open] summary:after{
  content:"–";
}
body.p8-home-page .psm-faq-list p{
  margin:0;
  padding:0 18px 17px;
  color:#c8c9ca;
  line-height:1.6;
}
body.p8-home-page .psm-faq-cta{
  margin-top:18px;
}

@media(max-width:900px){
  body.p8-home-page .psm-trust-grid,
  body.p8-home-page .psm-industry-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.p8-home-page .psm-five-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.p8-home-page .psm-five-steps .p26-step:last-child{
    grid-column:1/-1;
  }
}
@media(max-width:760px){
  body.p8-home-page .p26-hero-prices{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  body.p8-home-page .p26-hero-prices span{
    min-width:0;
  }
  body.p8-home-page .psm-service-grid,
  body.p8-home-page .psm-compare-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  body.p8-home-page .psm-service-grid{
    gap:12px;
  }
  body.p8-home-page .psm-industry-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:430px){
  body.p8-home-page .p26-hero-prices{
    grid-template-columns:1fr;
  }
  body.p8-home-page .psm-trust-grid,
  body.p8-home-page .psm-five-steps{
    grid-template-columns:1fr;
  }
  body.p8-home-page .psm-five-steps .p26-step:last-child{
    grid-column:auto;
  }
}


/* 2026-09-27 mobile contrast + dark hero correction */
body.p8-home-page .p26-hero{
  background:
    radial-gradient(circle at 78% 28%,rgba(218,177,78,.12),transparent 26%),
    linear-gradient(145deg,#08090a 0%,#111315 58%,#090a0b 100%) !important;
  color:#fff !important;
}
body.p8-home-page .p26-hero .p26-shell{
  background:transparent !important;
}
body.p8-home-page .p26-hero-copy h1,
body.p8-home-page .p26-hero-copy .p26-title{
  color:#fff !important;
}
body.p8-home-page .p26-hero-copy .p26-hero-sub{
  color:#d7d7d7 !important;
}
body.p8-home-page .p26-hero-copy .p26-micro{
  color:#bdbdbd !important;
}
body.p8-home-page .p26-hero-prices span{
  background:#151718 !important;
  border-color:rgba(218,177,78,.32) !important;
  box-shadow:none !important;
}
body.p8-home-page .p26-hero-prices strong{
  color:#f0cf6a !important;
}
body.p8-home-page .p26-hero-prices small{
  color:#e7e7e7 !important;
}
body.p8-home-page .p26-hero .p26-btn.secondary{
  color:#fff !important;
  border-color:rgba(255,255,255,.28) !important;
  background:rgba(255,255,255,.04) !important;
}

body.p8-home-page .psm-service-usp,
body.p8-home-page .psm-service-usp .p26-shell{
  background:#0d0f10 !important;
  color:#fff !important;
}
body.p8-home-page .psm-service-usp .p26-title,
body.p8-home-page .psm-service-usp .p26-eyebrow{
  color:#fff !important;
}
body.p8-home-page .psm-service-usp .p26-eyebrow{
  color:#d7b65c !important;
}
body.p8-home-page .psm-service-usp .p26-lead{
  color:#d1d1d1 !important;
}

@media(max-width:760px){
  body.p8-home-page .p26-hero{
    padding-top:0 !important;
  }
  body.p8-home-page .p26-hero .p26-shell{
    padding-top:28px !important;
    padding-bottom:34px !important;
  }
  body.p8-home-page .p26-hero-copy h1{
    font-size:clamp(2.55rem,12.4vw,4.15rem) !important;
    line-height:.98 !important;
    letter-spacing:-.045em !important;
    text-wrap:balance;
  }
  body.p8-home-page .p26-hero-copy .p26-hero-sub{
    font-size:1rem !important;
    line-height:1.55 !important;
  }
  body.p8-home-page .p26-hero-prices{
    margin-top:18px !important;
  }
  body.p8-home-page .p26-product-stage{
    margin-top:12px !important;
  }
  body.p8-home-page .psm-service-usp .p26-section{
    padding-top:42px !important;
    padding-bottom:42px !important;
  }
}


/* 2026-09-27 mobile polish: trust, header, references */
@media(max-width:760px){
  /* Header etwas ruhiger */
  body.psm26-homepage .site-header{
    gap:10px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }
  body.psm26-homepage .brand{
    min-width:0 !important;
    flex:1 1 auto !important;
  }
  body.psm26-homepage .brand .psm-logo-img{
    max-width:210px !important;
  }
  body.psm26-homepage .header-cta{
    display:none !important;
  }

  /* Trust nicht als lange Textliste, sondern kompakte Karten */
  body.p8-home-page .p26-trust .p26-section{
    padding-top:28px !important;
    padding-bottom:28px !important;
  }
  body.p8-home-page .psm-trust-grid{
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    border-top:0 !important;
  }
  body.p8-home-page .p26-trust-item{
    min-height:118px !important;
    padding:14px !important;
    border:1px solid #e4dfd4 !important;
    border-radius:14px !important;
    background:#fbfaf7 !important;
  }
  body.p8-home-page .p26-trust-item strong{
    margin-bottom:6px !important;
    font-size:.9rem !important;
    line-height:1.25 !important;
  }
  body.p8-home-page .p26-trust-item span{
    font-size:.76rem !important;
    line-height:1.45 !important;
  }

  /* Referenzen kompakter, damit sie auf Mobile wie echte Karten wirken */
  body.p8-home-page .p26-reference-head{
    margin-bottom:24px !important;
  }
  body.p8-home-page .p26-reference-grid{
    display:flex !important;
    overflow-x:auto !important;
    gap:14px !important;
    scroll-snap-type:x mandatory !important;
    padding:0 2px 8px !important;
    -webkit-overflow-scrolling:touch;
  }
  body.p8-home-page .p26-ref{
    flex:0 0 84% !important;
    scroll-snap-align:start !important;
  }
  body.p8-home-page .p26-phone{
    min-height:0 !important;
    border-radius:24px !important;
    box-shadow:0 10px 24px rgba(11,11,12,.055) !important;
  }
  body.p8-home-page .p26-phone-top{
    height:24px !important;
  }
  body.p8-home-page .p26-phone-top:after{
    width:66px !important;
    height:6px !important;
  }
  body.p8-home-page .p26-ref-cover{
    height:96px !important;
  }
  body.p8-home-page .p26-ref-body{
    padding:0 16px 16px !important;
  }
  body.p8-home-page .p26-ref-avatar{
    width:58px !important;
    height:58px !important;
    margin-top:-29px !important;
    border-width:3px !important;
  }
  body.p8-home-page .p26-ref h3{
    margin-top:12px !important;
    font-size:1.42rem !important;
  }
  body.p8-home-page .p26-ref-role,
  body.p8-home-page .p26-profile-preview-copy{
    font-size:.78rem !important;
    line-height:1.45 !important;
  }
  body.p8-home-page .p26-ref-actions{
    gap:6px !important;
    margin-top:14px !important;
  }
  body.p8-home-page .p26-ref-actions span{
    min-height:38px !important;
    font-size:.68rem !important;
  }
  body.p8-home-page .p26-ref-save{
    min-height:42px !important;
    font-size:.72rem !important;
  }
  body.p8-home-page .p26-ref-meta{
    padding-top:10px !important;
  }
  body.p8-home-page .p26-reference-swipe-hint{
    margin-top:14px !important;
    font-size:.78rem !important;
  }
}
@media(max-width:430px){
  body.p8-home-page .psm-trust-grid{
    grid-template-columns:1fr 1fr !important;
  }
  body.p8-home-page .p26-trust-item{
    min-height:110px !important;
    padding:12px !important;
  }
  body.p8-home-page .p26-ref{
    flex-basis:88% !important;
  }
}


/* 2026-09-27 keep the same mobile navigation available on public subpages */
body.p8-site-page{
  overflow-x:hidden;
}
body.p8-site-page .site-header{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  padding-left:max(16px,env(safe-area-inset-left)) !important;
  padding-right:max(16px,env(safe-area-inset-right)) !important;
}
body.p8-site-page .site-header .brand{
  margin-right:auto !important;
}
body.p8-site-page .desktop-nav{
  display:none !important;
}
body.p8-site-page .p8-menu-button{
  display:flex !important;
  order:3 !important;
  width:44px !important;
  height:44px !important;
  align-items:center !important;
  justify-content:center !important;
  background:transparent !important;
  border:1px solid #5a5b5c !important;
  border-radius:2px !important;
}
body.p8-site-page .p8-menu-button span,
body.p8-site-page .p8-menu-button::before,
body.p8-site-page .p8-menu-button::after{
  background:#fff !important;
}
body.p8-site-page .header-cta{
  order:2 !important;
  margin-left:auto !important;
  white-space:nowrap !important;
}
body.p8-site-page .site-header .brand{
  order:1 !important;
}
body.p8-site-page .p8-drawer{
  background:#0b0b0c !important;
  color:#fff !important;
}
body.p8-site-page .p8-drawer-backdrop{
  background:#000 !important;
}
body.p8-site-page .p8-drawer-nav a{
  color:#fff !important;
}
@media(max-width:720px){
  body.p8-site-page .site-header{
    min-height:66px !important;
    padding-inline:14px !important;
    gap:8px !important;
  }
  body.p8-site-page .site-header .psm-logo-img{
    max-width:138px !important;
    max-height:36px !important;
  }
  body.p8-site-page .header-cta{
    min-height:40px !important;
    padding:0 10px !important;
    font-size:11px !important;
  }
  body.p8-site-page .p8-menu-button{
    width:40px !important;
    height:40px !important;
  }
}


/* 2026-09-27 senior UI/UX polish */
body.p8-home-page .p26-hero-copy h1 span{
  display:block;
  margin-top:.16em;
  color:#d6d6d6;
  font-size:.58em;
  line-height:1.06;
  letter-spacing:-.03em;
  font-weight:700;
}
body.p8-home-page .p26-hero-price-line{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:18px 0 2px;
  color:#fff;
  font-size:.92rem;
}
body.p8-home-page .p26-hero-price-line strong{
  color:#f0cf6a;
  font-weight:800;
}
body.p8-home-page .p26-hero-price-line > span{
  color:#787878;
}
body.p8-home-page .p26-reference-note{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  margin-top:14px;
  padding:0 10px;
  border:1px solid #d9d4c8;
  border-radius:999px;
  background:#fff;
  color:#3d3d3d;
  font-size:.74rem;
  font-weight:700;
}
body.p8-home-page .p26-reference-note::before{
  content:"↗";
  margin-right:6px;
  color:#b58c2e;
  font-weight:900;
}

@media(max-width:760px){
  /* Mobile header: brand + menu only. Secondary controls move out of the way. */
  body.psm26-homepage .site-header{
    min-height:64px !important;
    height:64px !important;
    padding:0 12px !important;
    gap:10px !important;
  }
  body.psm26-homepage .site-header .brand{
    order:1 !important;
    flex:0 1 auto !important;
    margin-right:auto !important;
    padding:0 !important;
    background:transparent !important;
  }
  body.psm26-homepage .site-header .brand .psm-logo-img{
    width:150px !important;
    max-width:54vw !important;
    border-radius:0 !important;
  }
  body.psm26-homepage .site-header .header-cta,
  body.psm26-homepage .site-header > select,
  body.psm26-homepage .site-header > button:not(.p8-menu-button),
  body.psm26-homepage .site-header > [class*="lang"],
  body.psm26-homepage .site-header > [class*="Lang"]{
    display:none !important;
  }
  body.psm26-homepage .site-header .p8-menu-button{
    order:3 !important;
    margin-left:auto !important;
  }

  /* Hero: less vertical drag, stronger hierarchy */
  body.p8-home-page .p26-hero .p26-shell{
    padding-top:24px !important;
    padding-bottom:28px !important;
  }
  body.p8-home-page .p26-hero-copy h1{
    margin-bottom:18px !important;
    font-size:clamp(2.35rem,11.5vw,3.75rem) !important;
    line-height:.96 !important;
  }
  body.p8-home-page .p26-hero-copy h1 span{
    margin-top:.22em;
    font-size:.55em;
    line-height:1.08;
  }
  body.p8-home-page .p26-hero-sub{
    max-width:34rem;
    margin-bottom:0 !important;
  }
  body.p8-home-page .p26-hero-price-line{
    gap:6px;
    margin-top:15px;
    font-size:.84rem;
  }
  body.p8-home-page .p26-btn-row{
    margin-top:16px !important;
  }
  body.p8-home-page .p26-micro{
    margin-top:10px !important;
  }

  /* Trust: four compact points, no long card wall */
  body.p8-home-page .p26-trust .p26-section{
    padding-top:20px !important;
    padding-bottom:20px !important;
  }
  body.p8-home-page .psm-trust-grid{
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }
  body.p8-home-page .p26-trust-item{
    min-height:86px !important;
    padding:11px 12px !important;
    border-radius:12px !important;
  }
  body.p8-home-page .p26-trust-item strong{
    margin-bottom:4px !important;
    font-size:.82rem !important;
  }
  body.p8-home-page .p26-trust-item span{
    font-size:.7rem !important;
    line-height:1.35 !important;
  }

  /* References: compact, editorial, next card visible */
  body.p8-home-page .p26-reference-head{
    margin-bottom:20px !important;
  }
  body.p8-home-page .p26-reference-note{
    margin-top:12px;
    font-size:.7rem;
  }
  body.p8-home-page .p26-reference-swipe-hint{
    margin-top:10px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    font-size:.7rem !important;
    font-weight:700 !important;
  }
  body.p8-home-page .p26-reference-grid{
    gap:12px !important;
    padding-right:10vw !important;
  }
  body.p8-home-page .p26-ref{
    flex:0 0 76% !important;
  }
  body.p8-home-page .p26-phone{
    border-radius:20px !important;
    box-shadow:0 8px 20px rgba(11,11,12,.05) !important;
  }
  body.p8-home-page .p26-ref-cover{
    height:82px !important;
  }
  body.p8-home-page .p26-ref-avatar{
    width:52px !important;
    height:52px !important;
    margin-top:-26px !important;
  }
  body.p8-home-page .p26-ref h3{
    font-size:1.16rem !important;
  }
  body.p8-home-page .p26-profile-preview-copy{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  body.p8-home-page .p26-ref-actions span{
    min-height:34px !important;
    font-size:.63rem !important;
  }
  body.p8-home-page .p26-ref-save{
    min-height:38px !important;
  }
  body.p8-home-page .p26-ref-meta{
    display:grid !important;
    gap:2px !important;
  }
  body.p8-home-page .p26-ref-meta span{
    text-align:left !important;
  }
}
@media(max-width:390px){
  body.p8-home-page .p26-ref{flex-basis:82% !important}
  body.psm26-homepage .site-header .brand .psm-logo-img{
    width:138px !important;
  }
}


/* =========================================================
   PSM KARTEN · EDITORIAL PRODUCT HOMEPAGE · 2026-10-17
   Compact, art-directed, single-brand palette.
   ========================================================= */
:root{
  --pk-ink:#0A0B0C;
  --pk-ink-2:#111315;
  --pk-paper:#F2EEE5;
  --pk-paper-2:#E7E0D3;
  --pk-gold:#D8B45C;
  --pk-gold-strong:#B98A23;
  --pk-white:#FAFAF8;
  --pk-muted:#A8AAAC;
  --pk-dark-text:#1A1C1E;
  --pk-line-dark:rgba(216,180,92,.22);
  --pk-line-light:rgba(10,11,12,.18);
}

body.p8-home-page{
  background:var(--pk-ink)!important;
  color:var(--pk-white)!important;
}

body.p8-home-page #app{
  overflow:hidden;
}

.pk-shell{
  width:min(1320px,calc(100vw - 48px));
  margin:0 auto;
}

.pk-kicker,
.pk-head>p,
.pk-products-intro>p:first-child,
.pk-business-grid>div:first-child>p,
.pk-contact-copy>p:first-child,
.pk-faq-grid>div:first-child>p{
  margin:0;
  color:var(--pk-gold);
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.pk-hero{
  position:relative;
  padding:clamp(74px,8vw,126px) 0 clamp(70px,8vw,116px);
  background:
    radial-gradient(circle at 74% 34%,rgba(216,180,92,.10),transparent 30rem),
    linear-gradient(135deg,#08090A 0%,#101214 58%,#070809 100%);
  border-bottom:1px solid var(--pk-line-dark);
}
.pk-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
  gap:clamp(42px,7vw,100px);
  align-items:center;
}
.pk-hero-copy h1{
  max-width:760px;
  margin:18px 0 26px;
  color:#fff;
  font-family:"Inter Tight",Inter,sans-serif;
  font-size:clamp(50px,6vw,92px);
  font-weight:800;
  line-height:.88;
  letter-spacing:-.055em;
}
.pk-hero-copy h1 span{
  display:block;
  margin-top:.14em;
  color:#D2D2D0;
  font-size:.62em;
  line-height:1.02;
  letter-spacing:-.04em;
  font-weight:650;
}
.pk-lead{
  max-width:650px;
  margin:0;
  color:#C8C9C9;
  font-size:clamp(16px,1.45vw,20px);
  line-height:1.66;
}
.pk-price-line{
  display:flex;
  flex-wrap:wrap;
  gap:26px;
  margin:30px 0 0;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.10);
}
.pk-price-line span{
  display:flex;
  gap:10px;
  align-items:baseline;
}
.pk-price-line b{
  color:#9FA1A3;
  font-size:.7rem;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.pk-price-line strong{
  color:#F2D37B;
  font-family:"Inter Tight",Inter,sans-serif;
  font-size:1.35rem;
}
.pk-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px 18px;
  margin-top:24px;
}
.pk-btn{
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 20px;
  border:1px solid transparent;
  border-radius:0;
  font:800 .78rem/1 Inter,sans-serif;
  letter-spacing:.04em;
  text-decoration:none;
  cursor:pointer;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease;
}
.pk-btn:hover{transform:translateY(-1px)}
.pk-btn-primary{
  background:var(--pk-gold);
  border-color:var(--pk-gold);
  color:#111;
}
.pk-btn-primary:hover{
  background:#E4C477;
  border-color:#E4C477;
}
.pk-btn-ghost{
  background:transparent;
  border-color:rgba(255,255,255,.30);
  color:#fff;
}
.pk-btn-ghost:hover{
  border-color:var(--pk-gold);
  color:var(--pk-gold);
}
.pk-text-link{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  color:#E8E8E7;
  border-bottom:1px solid rgba(255,255,255,.42);
  font-size:.78rem;
  font-weight:800;
}
.pk-micro{
  margin:18px 0 0;
  color:#8E9193;
  font-size:.72rem;
}

.pk-product-shot{
  margin:0;
  min-width:0;
}
.pk-shot-frame{
  position:relative;
  aspect-ratio:1.12/1;
  border:1px solid rgba(216,180,92,.20);
  background:#0E1011;
  overflow:hidden;
}
.pk-shot-frame:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.pk-shot-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.92) contrast(1.04);
}
.pk-product-shot figcaption{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  align-items:center;
  padding:15px 0 0;
}
.pk-product-shot figcaption span{
  color:var(--pk-gold);
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.15em;
}
.pk-product-shot figcaption strong{
  color:#D8D9D8;
  font-size:.82rem;
  font-weight:650;
}

.pk-proofline{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:#0D0F10;
  border-bottom:1px solid var(--pk-line-dark);
}
.pk-proofline span{
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border-right:1px solid rgba(216,180,92,.13);
  color:#C9C9C6;
  font-size:.64rem;
  font-weight:850;
  letter-spacing:.15em;
  text-align:center;
}
.pk-proofline span:last-child{border-right:0}

.pk-how{
  padding:clamp(76px,9vw,132px) 0;
  background:var(--pk-paper);
  color:var(--pk-dark-text);
}
.pk-head{
  display:grid;
  grid-template-columns:170px 1fr;
  gap:36px;
  align-items:end;
  margin-bottom:44px;
}
.pk-head h2,
.pk-products-intro h2,
.pk-business-grid h2,
.pk-contact-copy h2,
.pk-faq-grid h2{
  margin:0;
  font-family:"Inter Tight",Inter,sans-serif;
  font-size:clamp(42px,5vw,76px);
  font-weight:750;
  line-height:.92;
  letter-spacing:-.05em;
}
.pk-step-line{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:0;
  padding:0;
  border-top:1px solid var(--pk-line-light);
  border-bottom:1px solid var(--pk-line-light);
}
.pk-step-line li{
  min-height:220px;
  padding:26px 26px 24px 0;
  border-right:1px solid var(--pk-line-light);
}
.pk-step-line li+li{padding-left:26px}
.pk-step-line li:last-child{border-right:0}
.pk-step-line b,
.pk-step-line strong,
.pk-step-line span{display:block}
.pk-step-line b{
  margin-bottom:64px;
  color:#766A50;
  font-size:.68rem;
  letter-spacing:.14em;
}
.pk-step-line strong{
  margin-bottom:10px;
  font-family:"Inter Tight",Inter,sans-serif;
  font-size:30px;
}
.pk-step-line span{
  color:#5A5C5F;
  font-size:.88rem;
  line-height:1.58;
}
.pk-how-foot{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:30px;
  align-items:start;
  margin-top:24px;
}
.pk-how-foot a{
  color:#151719;
  border-bottom:1px solid rgba(10,11,12,.45);
  font-size:.78rem;
  font-weight:850;
}
.pk-how-foot span{
  justify-self:end;
  max-width:650px;
  color:#66686B;
  font-size:.78rem;
  line-height:1.6;
  text-align:right;
}

.pk-products{
  padding:clamp(82px,9vw,140px) 0;
  background:var(--pk-ink);
  color:#fff;
}
.pk-products-grid{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:clamp(50px,8vw,120px);
}
.pk-products-intro h2{
  margin:18px 0 24px;
}
.pk-products-intro>p:last-child{
  max-width:500px;
  color:#AEB0B2;
  line-height:1.7;
}
.pk-product-list{
  border-top:1px solid var(--pk-line-dark);
}
.pk-product-list article{
  display:grid;
  grid-template-columns:minmax(0,1fr) 120px auto;
  gap:24px;
  align-items:center;
  padding:30px 0;
  border-bottom:1px solid rgba(216,180,92,.15);
}
.pk-product-list article>div>span{
  display:block;
  margin-bottom:8px;
  color:#81775D;
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.14em;
}
.pk-product-list h3{
  margin:0 0 7px;
  font-family:"Inter Tight",Inter,sans-serif;
  font-size:clamp(28px,3vw,43px);
  font-weight:700;
}
.pk-product-list p{
  max-width:540px;
  margin:0;
  color:#A9ABAD;
  font-size:.84rem;
  line-height:1.55;
}
.pk-product-list article>strong{
  color:#F0D27C;
  font-family:"Inter Tight",Inter,sans-serif;
  font-size:1.55rem;
  white-space:nowrap;
}
.pk-product-list article>button{
  min-height:44px;
  padding:0 0 4px;
  border:0;
  border-bottom:1px solid rgba(216,180,92,.55);
  background:transparent;
  color:#F1F1EF;
  font-size:.76rem;
  font-weight:850;
}
.pk-product-list article>button:hover{color:var(--pk-gold)}
.pk-product-list .is-primary{
  background:linear-gradient(90deg,rgba(216,180,92,.055),transparent 68%);
}
.pk-product-note{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:10px 24px;
  padding-top:18px;
  color:#777B7D;
  font-size:.73rem;
}
.pk-product-note b{color:#D7D8D6}

.pk-references{
  padding:clamp(78px,9vw,128px) 0;
  background:var(--pk-paper);
  color:var(--pk-dark-text);
}
.pk-head-light{
  margin-bottom:30px;
}
.pk-reference-list{
  border-top:1px solid var(--pk-line-light);
}
.pk-reference-list a{
  display:grid;
  grid-template-columns:70px minmax(220px,.8fr) minmax(220px,1fr) auto;
  gap:22px;
  align-items:center;
  min-height:104px;
  border-bottom:1px solid var(--pk-line-light);
  color:#151719;
  transition:padding-left .2s ease,background .2s ease;
}
.pk-reference-list a:hover{
  padding-left:12px;
  background:rgba(10,11,12,.025);
}
.pk-reference-list span{
  color:#81775D;
  font-size:.67rem;
  font-weight:850;
}
.pk-reference-list strong{
  font-family:"Inter Tight",Inter,sans-serif;
  font-size:clamp(24px,2.2vw,34px);
}
.pk-reference-list small{
  color:#6B6D70;
  font-size:.82rem;
}
.pk-reference-list i{
  color:#151719;
  font-style:normal;
  font-size:.76rem;
  font-weight:850;
  border-bottom:1px solid rgba(10,11,12,.4);
  padding-bottom:4px;
}

.pk-business{
  padding:clamp(82px,9vw,138px) 0;
  background:#101214;
  color:#fff;
  border-top:1px solid var(--pk-line-dark);
  border-bottom:1px solid var(--pk-line-dark);
}
.pk-business-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.85fr);
  gap:clamp(50px,8vw,120px);
  align-items:start;
}
.pk-business-grid h2{
  margin-top:18px;
  max-width:780px;
}
.pk-business-copy>p{
  margin:0 0 30px;
  color:#B7B8B9;
  line-height:1.72;
}
.pk-business-lines{
  display:grid;
  margin-bottom:32px;
  border-top:1px solid rgba(216,180,92,.18);
}
.pk-business-lines span{
  display:grid;
  gap:5px;
  padding:16px 0;
  border-bottom:1px solid rgba(216,180,92,.14);
  color:#A6A8AA;
  font-size:.82rem;
  line-height:1.52;
}
.pk-business-lines b{
  color:#F3F1EA;
  font-size:.87rem;
}

.pk-contact{
  padding:clamp(84px,10vw,150px) 0;
  background:var(--pk-paper);
  color:var(--pk-dark-text);
}
.pk-contact-grid{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(48px,8vw,110px);
  align-items:start;
}
.pk-contact-copy h2{
  margin:18px 0 24px;
}
.pk-contact-copy>p:not(:first-child){
  max-width:560px;
  color:#5F6265;
  line-height:1.7;
}
.pk-direct{
  display:grid;
  margin-top:34px;
  border-top:1px solid var(--pk-line-light);
}
.pk-direct a{
  display:grid;
  grid-template-columns:90px 1fr;
  gap:18px;
  padding:13px 0;
  border-bottom:1px solid var(--pk-line-light);
}
.pk-direct span{
  color:#776B50;
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.pk-direct strong{
  font-size:.86rem;
  font-weight:750;
}
.pk-contact-form{
  padding-top:8px;
  border-top:1px solid rgba(10,11,12,.28);
}
.pk-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.pk-contact-form label{
  display:grid;
  gap:7px;
  margin-bottom:18px;
}
.pk-contact-form label>span{
  color:#424548;
  font-size:.72rem;
  font-weight:800;
}
.pk-contact-form input,
.pk-contact-form select,
.pk-contact-form textarea{
  width:100%;
  padding:13px 0;
  border:0;
  border-bottom:1px solid rgba(10,11,12,.26);
  border-radius:0;
  background:transparent;
  color:#151719;
  outline:none;
}
.pk-contact-form input:focus,
.pk-contact-form select:focus,
.pk-contact-form textarea:focus{
  border-bottom-color:var(--pk-gold-strong);
  box-shadow:none;
}
.pk-contact-form textarea{
  resize:vertical;
  min-height:120px;
}
.pk-privacy{
  display:flex!important;
  grid-template-columns:auto 1fr!important;
  gap:10px!important;
  align-items:flex-start;
}
.pk-privacy input{
  width:18px!important;
  height:18px;
  margin-top:2px;
  padding:0!important;
  border:1px solid #888!important;
}
.pk-privacy span{
  color:#65676A!important;
  font-size:.68rem!important;
  line-height:1.5;
}
.pk-privacy a{
  text-decoration:underline;
}
.pk-submit{
  min-width:190px;
  margin-top:4px;
}

.pk-faq{
  padding:clamp(74px,8vw,112px) 0;
  background:#090B0C;
  color:#fff;
  border-top:1px solid var(--pk-line-dark);
}
.pk-faq-grid{
  display:grid;
  grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);
  gap:clamp(45px,8vw,110px);
}
.pk-faq-grid h2{
  margin-top:18px;
}
.pk-faq-list{
  border-top:1px solid rgba(216,180,92,.22);
}
.pk-faq-list details{
  border-bottom:1px solid rgba(216,180,92,.15);
}
.pk-faq-list summary{
  cursor:pointer;
  list-style:none;
  padding:20px 38px 20px 0;
  color:#F5F4EF;
  font-size:.92rem;
  font-weight:800;
}
.pk-faq-list summary::-webkit-details-marker{display:none}
.pk-faq-list summary:after{
  content:"+";
  float:right;
  color:var(--pk-gold);
}
.pk-faq-list details[open] summary:after{content:"–"}
.pk-faq-list p{
  margin:0;
  padding:0 34px 20px 0;
  color:#A9ABAD;
  font-size:.82rem;
  line-height:1.65;
}

/* Home header + footer: same disciplined palette */
body.p8-home-page .site-header{
  background:#090B0C!important;
  border-bottom:1px solid rgba(216,180,92,.16)!important;
  box-shadow:none!important;
}
body.p8-home-page .desktop-nav a{
  color:#D1D2D0!important;
}
body.p8-home-page .desktop-nav a:hover{
  color:var(--pk-gold)!important;
}
body.p8-home-page .header-cta{
  border-radius:0!important;
  background:var(--pk-gold)!important;
  color:#111!important;
  box-shadow:none!important;
}
body.p8-home-page .footer{
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding:48px max(24px,calc((100vw - 1320px)/2)) 56px!important;
  background:#050607!important;
  color:#A6A8AA!important;
  border-top:1px solid rgba(216,180,92,.16)!important;
}
body.p8-home-page .footer-links a:hover{
  color:var(--pk-gold)!important;
}

@media(max-width:1050px){
  .pk-hero-grid{grid-template-columns:1fr;gap:46px}
  .pk-product-shot{max-width:720px}
  .pk-products-grid{grid-template-columns:1fr;gap:44px}
  .pk-business-grid{grid-template-columns:1fr;gap:40px}
  .pk-contact-grid{grid-template-columns:1fr;gap:54px}
  .pk-faq-grid{grid-template-columns:1fr;gap:34px}
}

@media(max-width:760px){
  .pk-shell{width:min(100% - 36px,1320px)}
  .pk-hero{padding-top:52px;padding-bottom:62px}
  .pk-hero-copy h1{font-size:clamp(42px,13vw,62px)}
  .pk-lead{font-size:15.5px}
  .pk-actions{align-items:stretch}
  .pk-btn{width:100%}
  .pk-text-link{width:max-content}
  .pk-shot-frame{aspect-ratio:1/1}
  .pk-product-shot figcaption{grid-template-columns:1fr;gap:5px}
  .pk-proofline{grid-template-columns:1fr 1fr}
  .pk-proofline span{
    min-height:52px;
    padding:0 10px;
    font-size:.55rem;
    border-bottom:1px solid rgba(216,180,92,.13);
  }
  .pk-proofline span:nth-child(2){border-right:0}
  .pk-proofline span:nth-child(3),
  .pk-proofline span:nth-child(4){border-bottom:0}
  .pk-head{grid-template-columns:1fr;gap:14px;margin-bottom:30px}
  .pk-head h2,
  .pk-products-intro h2,
  .pk-business-grid h2,
  .pk-contact-copy h2,
  .pk-faq-grid h2{font-size:clamp(38px,11vw,54px)}
  .pk-step-line{grid-template-columns:1fr}
  .pk-step-line li,
  .pk-step-line li+li{
    min-height:auto;
    padding:22px 0;
    border-right:0;
    border-bottom:1px solid var(--pk-line-light);
  }
  .pk-step-line li:last-child{border-bottom:0}
  .pk-step-line b{margin-bottom:30px}
  .pk-how-foot{grid-template-columns:1fr;gap:16px}
  .pk-how-foot span{justify-self:start;text-align:left}
  .pk-product-list article{
    grid-template-columns:1fr auto;
    gap:14px;
    padding:24px 0;
  }
  .pk-product-list article>button{
    grid-column:1/-1;
    justify-self:start;
  }
  .pk-reference-list a{
    grid-template-columns:40px 1fr auto;
    gap:12px;
    min-height:92px;
  }
  .pk-reference-list small{
    grid-column:2/4;
    margin-top:-10px;
  }
  .pk-reference-list i{grid-column:3;grid-row:1}
  .pk-form-row{grid-template-columns:1fr;gap:0}
  body.p8-home-page .footer{
    padding-left:18px!important;
    padding-right:18px!important;
  }
}

@media(max-width:480px){
  .pk-shell{width:min(100% - 30px,1320px)}
  .pk-hero-copy h1{font-size:clamp(39px,12.5vw,54px)}
  .pk-price-line{gap:10px 18px}
  .pk-price-line strong{font-size:1.15rem}
  .pk-reference-list a{
    grid-template-columns:34px 1fr;
  }
  .pk-reference-list i{
    grid-column:2;
    grid-row:auto;
    justify-self:start;
  }
  .pk-reference-list small{
    grid-column:2;
  }
}



/* =========================================================
   PSM KARTEN · HERO MOTION · "Tap to Profile"
   One product story: card → NFC impulse → detected → profile.
   Phases are classes set by /pk-hero-motion.js on .pkx-stage.
   Only transform/opacity animate. Static fallback = idle scene
   (no JS) or open profile (prefers-reduced-motion).
   ========================================================= */
:root{
  --pk-ease-out:cubic-bezier(.16,1,.3,1);
  --pk-ease-inout:cubic-bezier(.65,0,.35,1);
  --pkx-ease-travel:cubic-bezier(.62,.02,.22,1);
  --pkx-ease-settle:cubic-bezier(.22,1,.36,1);
  --pkx-ease-sheet:cubic-bezier(.32,.72,0,1);
}

/* Hero spacing: no light strip between fixed header and dark hero */
body.psm26-homepage.p8-home-page #app{
  background:linear-gradient(#08090A,#08090A) 0 0/100% 220px no-repeat,var(--p26-off,#F4F4F2)!important;
}

/* ---------- Stage ---------- */
.pkx-stage{
  --ph-l:56cqw; --ph-t:12cqw; --ph-w:31cqw;
  --card-l:5cqw; --card-t:48cqw; --card-w:44cqw;
  --card-rest:rotateX(16deg) rotateY(-20deg) rotateZ(-8deg);
  --tap-x:22cqw; --tap-y:-31cqw;
  --near-x:9cqw; --near-y:-7cqw;
  --pulse-x:57cqw; --pulse-y:31cqw;
  position:relative;
  margin:0;
  min-width:0;
  aspect-ratio:1.08/1;
  container-type:inline-size;
  overflow:hidden;
  isolation:isolate;
  border:1px solid rgba(216,180,92,.16);
  background:
    radial-gradient(70% 55% at 64% -6%,rgba(255,238,205,.10),transparent 70%),
    radial-gradient(55% 45% at 44% 64%,rgba(216,180,92,.06),transparent 72%),
    linear-gradient(180deg,#0E1012 0%,#0A0B0D 62%,#060708 100%);
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.pkx-stage::after{
  content:"";
  position:absolute;
  left:0;right:0;top:79%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.055) 30%,rgba(255,255,255,.055) 70%,transparent);
  pointer-events:none;
}
.pkx-scene{position:absolute;inset:0}

/* Contact light: a single warm bloom at the tap point */
.pkx-light{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:radial-gradient(28cqw 28cqw at var(--pulse-x) var(--pulse-y),rgba(232,196,110,.16),transparent 70%);
  opacity:0;
  transition:opacity 1400ms ease-out;
}
.pkx-stage.is-contact .pkx-light{opacity:1;transition-duration:240ms}
.pkx-stage.is-open .pkx-light{opacity:0;transition-duration:1400ms}

/* ---------- Phone ---------- */
.pkx-phone-wrap{
  position:absolute;
  z-index:3;
  left:var(--ph-l);
  top:var(--ph-t);
  width:var(--ph-w);
  aspect-ratio:1/2.06;
  perspective:1600px;
  animation:pkxPhoneIn 1200ms var(--pk-ease-out) 60ms both;
}
.pkx-phone-par{
  position:absolute;
  inset:0;
  transform-style:preserve-3d;
  transform:translate3d(var(--px,0px),var(--py,0px),0) rotateY(var(--pr,0deg));
}
.pkx-phone{
  position:absolute;
  inset:0;
  transform-style:preserve-3d;
  transform:rotateY(-7deg) rotateX(2deg);
  transition:transform 1000ms var(--pk-ease-inout);
}
.pkx-stage.is-approach .pkx-phone{transform:rotateY(-2deg) rotateX(1deg);transition-duration:1150ms}
.pkx-stage.is-open .pkx-phone{transform:rotateY(-5deg) rotateX(1.5deg);transition:transform 1200ms var(--pkx-ease-settle)}
.pkx-phone-shadow{
  position:absolute;
  left:4%;right:4%;bottom:-7%;
  height:14%;
  background:radial-gradient(closest-side,rgba(0,0,0,.75),transparent);
}
.pkx-phone-body{
  position:absolute;
  inset:0;
  border-radius:15%/7.3%;
  background:linear-gradient(145deg,#4A4D52 0%,#1E2023 20%,#2B2E32 56%,#131416 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.12),
    inset 0 0 0 3px #0B0C0D,
    0 40px 70px -24px rgba(0,0,0,.85),
    -18px 0 50px -30px rgba(216,180,92,.18);
}
.pkx-phone-body::before{
  content:"";
  position:absolute;
  right:-1.2%;top:24%;
  width:1.4%;height:10%;
  border-radius:0 2px 2px 0;
  background:#2B2E32;
}
.pkx-stage.is-contact .pkx-phone-body{animation:pkxNudge 460ms cubic-bezier(.3,.7,.4,1)}

.pkx-screen{
  position:absolute;
  inset:1.6% 3.3%;
  overflow:hidden;
  border-radius:12.5%/5.9%;
  background:#060708;
  container-type:inline-size;
  font-family:Inter,system-ui,sans-serif;
  line-height:1.25;
  text-align:center;
}
.pkx-status{
  position:absolute;
  z-index:6;
  top:3.6cqw;left:9cqw;right:9cqw;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#E7E7E5;
  font-size:4.4cqw;
  font-weight:600;
}
.pkx-island{
  width:27cqw;height:8cqw;
  border-radius:99px;
  background:#000;
}
.pkx-glass{
  position:absolute;
  inset:0;
  z-index:8;
  pointer-events:none;
  background:linear-gradient(118deg,rgba(255,255,255,.07) 0%,rgba(255,255,255,.015) 27%,transparent 27.4%);
}

/* Lock / ready state */
.pkx-lock{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding-top:27cqw;
  background:
    radial-gradient(70cqw 70cqw at 50% 52%,rgba(216,180,92,.12),transparent 70%),
    linear-gradient(180deg,#131518,#08090A);
  transition:opacity 500ms ease;
}
.pkx-lock-brand{
  color:#B9A36A;
  font-size:4.2cqw;
  font-weight:800;
  letter-spacing:.24em;
}
.pkx-lock-target{
  position:relative;
  display:grid;
  place-items:center;
  width:36cqw;height:36cqw;
  margin-top:36cqw;
  border:1px solid rgba(216,180,92,.32);
  border-radius:50%;
  background:radial-gradient(circle,rgba(216,180,92,.12),transparent 70%);
  transition:transform 260ms var(--pk-ease-out),border-color 260ms ease;
}
.pkx-lock-target::before{
  content:"";
  position:absolute;
  inset:-1px;
  border:1px solid rgba(216,180,92,.35);
  border-radius:50%;
  animation:pkxReady 2.6s var(--pk-ease-out) 1.4s infinite;
}
.pkx-lock-target svg{width:17cqw;height:17cqw}
.pkx-lock small{
  margin-top:8cqw;
  color:#8E9193;
  font-size:4.3cqw;
  letter-spacing:.08em;
}
.pkx-stage.is-contact .pkx-lock-target{transform:scale(1.07);border-color:rgba(232,200,120,.85)}
.pkx-stage.is-open .pkx-lock{opacity:0}

/* Shared NFC glyph */
.pkx-lock-target path,
.pkx-card-nfc path{
  fill:none;
  stroke:#D8B45C;
  stroke-width:2.6;
  stroke-linecap:round;
}

/* "NFC erkannt" sheet */
.pkx-scrim{
  position:absolute;
  inset:0;
  z-index:2;
  background:rgba(0,0,0,.55);
  opacity:0;
  transition:opacity 300ms ease;
}
.pkx-stage.is-detected .pkx-scrim{opacity:1}
.pkx-stage.is-open .pkx-scrim{opacity:0}
.pkx-sheet{
  position:absolute;
  z-index:3;
  left:2.6cqw;right:2.6cqw;bottom:2.6cqw;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:3.4cqw 7cqw 10cqw;
  border:1px solid rgba(255,255,255,.07);
  border-radius:10cqw;
  background:linear-gradient(180deg,#1C1E21,#121416);
  transform:translateY(118%);
  transition:transform 360ms cubic-bezier(.4,0,1,1),opacity 260ms ease;
}
.pkx-stage.is-detected .pkx-sheet{transform:none;transition:transform 560ms var(--pkx-ease-sheet)}
.pkx-stage.is-open .pkx-sheet{transform:translateY(-4%) scale(.96);opacity:0;transition:transform 420ms var(--pk-ease-out),opacity 300ms ease}
.pkx-sheet-grip{
  width:11cqw;height:1.2cqw;
  border-radius:99px;
  background:rgba(255,255,255,.2);
}
.pkx-sheet-icon{position:relative;width:22cqw;height:22cqw;margin:7cqw 0 5cqw}
.pkx-sheet-icon::before{
  content:"";
  position:absolute;
  inset:30%;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M17 15c5 5 5 13 0 18M23 11c7 7 7 19 0 26M29 7c9 9 9 25 0 34' fill='none' stroke='%23D8B45C' stroke-width='3.4' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:opacity 160ms ease,transform 160ms ease;
}
.pkx-stage.is-detected .pkx-sheet-icon::before{opacity:0;transform:scale(.7);transition-delay:220ms}
.pkx-sheet-icon svg{width:100%;height:100%;overflow:visible}
.pkx-sheet-icon circle{fill:rgba(216,180,92,.08);stroke:rgba(216,180,92,.4);stroke-width:1.4}
.pkx-sheet-icon path{
  fill:none;
  stroke:#E3C46F;
  stroke-width:3.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:30;
  stroke-dashoffset:30;
  transition:stroke-dashoffset 120ms linear;
}
.pkx-stage.is-detected .pkx-sheet-icon path{stroke-dashoffset:0;transition:stroke-dashoffset 440ms var(--pk-ease-out) 260ms}
.pkx-sheet strong{color:#fff;font-size:7.4cqw;font-weight:700;letter-spacing:-.01em}
.pkx-sheet>span{max-width:84%;margin-top:2cqw;color:#A2A5A8;font-size:4.3cqw;line-height:1.4}
.pkx-sheet-line{
  width:62%;height:.9cqw;
  margin-top:7cqw;
  overflow:hidden;
  border-radius:99px;
  background:rgba(255,255,255,.08);
}
.pkx-sheet-line i{
  display:block;
  height:100%;
  background:linear-gradient(90deg,#B98A23,#F0D27F);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 150ms linear;
}
.pkx-stage.is-detected .pkx-sheet-line i{transform:scaleX(1);transition:transform 900ms var(--pk-ease-inout) 320ms}

/* Digital business card (Elegant Dark, like the real product) */
.pkx-profile{
  position:absolute;
  inset:0;
  z-index:4;
  padding:0 6.5cqw;
  background:#0D0F11;
  opacity:0;
  transform:translateY(3%) scale(.97);
  transition:opacity 280ms ease,transform 280ms ease;
}
.pkx-stage.is-open .pkx-profile{
  opacity:1;
  transform:none;
  transition:opacity 420ms ease-out,transform 680ms var(--pkx-ease-settle);
}
.pkx-in{
  opacity:0;
  transform:translateY(4cqw);
  transition:opacity 200ms ease,transform 200ms ease;
}
.pkx-stage.is-open .pkx-in{
  opacity:1;
  transform:none;
  transition:opacity 380ms ease-out,transform 600ms var(--pkx-ease-settle);
  transition-delay:calc(150ms + var(--i,0) * 60ms);
}
.pkx-stage.is-open .pkx-save{
  transition:opacity 380ms ease-out,transform 600ms var(--pkx-ease-settle),scale 140ms ease,background-color 240ms ease;
  transition-delay:calc(150ms + var(--i,0) * 60ms),calc(150ms + var(--i,0) * 60ms),0ms,0ms;
}
.pkx-cover{
  height:46cqw;
  margin:0 -6.5cqw;
  background:
    radial-gradient(60cqw 40cqw at 72% 20%,rgba(216,180,92,.30),transparent 70%),
    linear-gradient(160deg,#272A2E,#121416);
}
.pkx-avatar{
  display:grid;
  place-items:center;
  width:28cqw;height:28cqw;
  margin:-14cqw auto 4.4cqw;
  border:1.2cqw solid #0D0F11;
  border-radius:50%;
  background:linear-gradient(150deg,#22252A,#0F1113);
  box-shadow:0 0 0 .5cqw rgba(216,180,92,.6);
  color:#E8CA77;
  font:800 8cqw/1 "Inter Tight",Inter,sans-serif;
}
.pkx-profile>strong{display:block;color:#F4F4F2;font-size:7.4cqw;font-weight:700;letter-spacing:-.01em}
.pkx-role{display:block;margin-top:1.6cqw;color:#8E9194;font-size:4.3cqw}
.pkx-save{
  position:relative;
  display:grid;
  place-items:center;
  height:15cqw;
  margin:8cqw 0 3.4cqw;
  overflow:hidden;
  border-radius:3.2cqw;
  background:#D8B45C;
  color:#141414;
  font-size:4.4cqw;
  font-weight:750;
  transition:opacity 200ms ease,transform 200ms ease,scale 140ms ease,background-color 240ms ease;
}
.pkx-save>span{
  grid-area:1/1;
  transition:opacity 220ms ease,transform 320ms var(--pkx-ease-settle);
}
.pkx-save-b{opacity:0;transform:translateY(70%)}
.pkx-touch{
  position:absolute;
  left:58%;top:50%;
  width:10cqw;height:10cqw;
  margin:-5cqw 0 0 -5cqw;
  border-radius:50%;
  background:rgba(255,255,255,.7);
  opacity:0;
  transform:scale(.4);
  transition:opacity 160ms ease,transform 160ms ease;
}
.pkx-stage.is-press .pkx-save{scale:.965}
.pkx-stage.is-press .pkx-touch{opacity:.5;transform:scale(1)}
.pkx-stage.is-saved .pkx-save{scale:1;background:#E6C87A}
.pkx-stage.is-saved .pkx-touch{opacity:0;transform:scale(1.9);transition:opacity 520ms ease-out,transform 520ms var(--pk-ease-out)}
.pkx-stage.is-saved .pkx-save-a{opacity:0;transform:translateY(-70%)}
.pkx-stage.is-saved .pkx-save-b{opacity:1;transform:none}
.pkx-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:3cqw}
.pkx-tiles>div,
.pkx-review{
  border:1px solid rgba(255,255,255,.07);
  border-radius:3cqw;
  background:#15181B;
}
.pkx-tiles>div{
  display:grid;
  justify-items:center;
  gap:2.2cqw;
  padding:5cqw 0 4.2cqw;
}
.pkx-tiles svg{
  width:7.4cqw;height:7.4cqw;
  fill:none;
  stroke:#D8B45C;
  stroke-width:1.6;
  stroke-linejoin:round;
  stroke-linecap:round;
}
.pkx-tiles b{color:#C9CBCC;font-size:3.5cqw;font-weight:650}
.pkx-review{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:3cqw;
  padding:4.6cqw 4.4cqw;
  color:#C9CBCC;
  font-size:3.7cqw;
  font-weight:600;
}
.pkx-review i{color:#D8B45C;font-style:normal;letter-spacing:.04em}
.pkx-review b{color:#D8B45C}

/* ---------- NFC impulse ---------- */
.pkx-pulse{
  position:absolute;
  z-index:2;
  left:var(--pulse-x);
  top:var(--pulse-y);
  width:30cqw;
  aspect-ratio:1;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.pkx-pulse i{
  position:absolute;
  inset:0;
  border:1px solid rgba(236,206,128,.75);
  border-radius:50%;
  opacity:0;
  transform:scale(.22);
}
.pkx-pulse i:nth-child(3){
  inset:22%;
  border:0;
  background:radial-gradient(closest-side,rgba(240,210,130,.42),transparent);
}
.pkx-stage.is-contact .pkx-pulse i:nth-child(1){animation:pkxRing 1100ms var(--pk-ease-out) both}
.pkx-stage.is-contact .pkx-pulse i:nth-child(2){animation:pkxRing 1100ms var(--pk-ease-out) 170ms both}
.pkx-stage.is-contact .pkx-pulse i:nth-child(3){animation:pkxBloom 900ms ease-out both}

/* ---------- Card ---------- */
.pkx-card-wrap{
  position:absolute;
  z-index:1;
  left:var(--card-l);
  top:var(--card-t);
  width:var(--card-w);
  aspect-ratio:1.586/1;
  perspective:1100px;
  animation:pkxCardIn 1300ms var(--pk-ease-out) 240ms both;
}
.pkx-card-shadow{
  position:absolute;
  left:4%;right:4%;top:66%;
  height:62%;
  background:radial-gradient(closest-side,rgba(0,0,0,.62),transparent);
  transform:translate3d(0,0,0);
  transition:transform 1100ms var(--pk-ease-inout),opacity 1100ms var(--pk-ease-inout);
}
.pkx-stage.is-approach .pkx-card-shadow{transform:translate3d(var(--tap-x),calc(var(--tap-y) * .3),0) scale(1.2);opacity:.35;transition-duration:1150ms}
.pkx-stage.is-open .pkx-card-shadow{transform:translate3d(var(--near-x),calc(var(--near-y) * .5),0);opacity:.85;transition:transform 1200ms var(--pkx-ease-settle),opacity 1200ms ease}
.pkx-card-float{
  position:absolute;
  inset:0;
  transform-style:preserve-3d;
  animation:pkxFloat 6s ease-in-out 1.6s infinite;
}
.pkx-card{
  position:absolute;
  inset:0;
  transform-style:preserve-3d;
  transform:var(--card-rest);
  transition:transform 1100ms var(--pk-ease-inout);
}
.pkx-stage.is-approach .pkx-card{
  transform:translate3d(var(--tap-x),var(--tap-y),0) rotateX(4deg) rotateY(-12deg) rotateZ(-3deg) scale(.9);
  transition:transform 1150ms var(--pkx-ease-travel);
}
.pkx-stage.is-open .pkx-card{
  transform:translate3d(var(--near-x),var(--near-y),0) rotateX(12deg) rotateY(-17deg) rotateZ(-6deg) scale(.97);
  transition:transform 1300ms var(--pkx-ease-settle);
}
.pkx-card-tilt{
  position:absolute;
  inset:0;
  transform-style:preserve-3d;
  transform:rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg));
}
.pkx-card-edge,
.pkx-card-face{
  position:absolute;
  inset:0;
  border-radius:4.2%/6.6%;
}
.pkx-card-edge{
  background:linear-gradient(180deg,#45474B,#18191B);
  transform:translateZ(-3px);
}
.pkx-card-face{
  overflow:hidden;
  container-type:inline-size;
  background:
    radial-gradient(120% 90% at 0% 0%,rgba(255,255,255,.09),transparent 45%),
    radial-gradient(80% 120% at 100% 100%,rgba(216,180,92,.10),transparent 55%),
    linear-gradient(155deg,#1B1D20 0%,#0D0E10 55%,#08090A 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 0 0 1px rgba(255,255,255,.05);
}
.pkx-card-mark{
  position:absolute;
  left:8cqw;top:8.5cqw;
  display:flex;
  align-items:baseline;
  font:400 10.5cqw/1 "Inter Tight",Inter,sans-serif;
  letter-spacing:-.03em;
}
.pkx-card-mark b{
  font-weight:800;
  background:linear-gradient(100deg,#9C7A2E 0%,#F3D98C 42%,#B8913C 68%,#E9CD7E 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.pkx-card-mark span{color:#E9E9E7}
.pkx-card-nfc{
  position:absolute;
  right:7cqw;top:7cqw;
  width:11cqw;height:11cqw;
}
.pkx-card-label{
  position:absolute;
  left:8cqw;bottom:8cqw;
  color:#8E9093;
  font-size:3.4cqw;
  font-weight:700;
  letter-spacing:.26em;
}
.pkx-card-gloss{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:inherit;
  pointer-events:none;
}
.pkx-card-gloss::before{
  content:"";
  position:absolute;
  top:0;bottom:0;left:-75%;
  width:250%;
  background:linear-gradient(112deg,transparent 38%,rgba(255,255,255,.11) 47%,rgba(255,255,255,.03) 53%,transparent 60%);
  transform:translateX(calc(var(--gx,0) * 1%));
  translate:-18% 0;
  transition:translate 1100ms var(--pk-ease-inout);
}
.pkx-stage.is-approach .pkx-card-gloss::before{translate:14% 0;transition:translate 1150ms var(--pkx-ease-travel)}
.pkx-stage.is-open .pkx-card-gloss::before{translate:-6% 0;transition:translate 1300ms var(--pkx-ease-settle)}

/* ---------- Step caption (synced with the story) ---------- */
.pkx-stage>figcaption{
  position:absolute;
  z-index:5;
  left:4cqw;right:4cqw;bottom:3.4cqw;
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:6px 14px;
  padding:0;
}
.pkx-stage>figcaption span{
  color:var(--pk-gold,#D8B45C);
  font-size:.62rem;
  font-weight:850;
  letter-spacing:.16em;
}
.pkx-stage>figcaption strong{
  color:#C7C9C8;
  font-size:.78rem;
  font-weight:600;
  line-height:1.35;
}
.pkx-stage>figcaption em{font-style:normal;transition:color 420ms ease}
.pkx-stage.is-live>figcaption em{color:#666A6E}
.pkx-stage.is-live[data-step="1"]>figcaption em:nth-child(1),
.pkx-stage.is-live[data-step="2"]>figcaption em:nth-child(2),
.pkx-stage.is-live[data-step="3"]>figcaption em:nth-child(3){color:#F2F2F0}

/* Pause ambient loops while off-screen / tab hidden */
.pkx-stage.is-paused *,
.pkx-stage.is-paused *::before{animation-play-state:paused!important}

@keyframes pkxPhoneIn{
  from{opacity:0;transform:translate3d(0,4cqw,0)}
  to{opacity:1;transform:none}
}
@keyframes pkxCardIn{
  from{opacity:0;transform:translate3d(-3cqw,5cqw,0) scale(.96)}
  to{opacity:1;transform:none}
}
@keyframes pkxFloat{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-.8cqw,0)}
}
@keyframes pkxReady{
  0%{opacity:.7;transform:scale(1)}
  70%,100%{opacity:0;transform:scale(1.32)}
}
@keyframes pkxNudge{
  0%{transform:none}
  28%{transform:translate3d(-3px,0,0) rotateZ(-.6deg)}
  100%{transform:none}
}
@keyframes pkxRing{
  0%{opacity:0;transform:scale(.22)}
  16%{opacity:.9}
  100%{opacity:0;transform:scale(1.3)}
}
@keyframes pkxBloom{
  0%{opacity:0;transform:scale(.4)}
  25%{opacity:1}
  100%{opacity:0;transform:scale(1.6)}
}

/* ---------- Hero buttons: quick, precise, tactile ---------- */
.pk-hero .pk-btn{
  transition:
    transform 220ms cubic-bezier(.2,.8,.2,1),
    background-color 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    box-shadow 260ms cubic-bezier(.2,.8,.2,1);
}
.pk-hero .pk-text-link{transition:color 180ms ease,border-color 180ms ease}
@media(hover:hover) and (pointer:fine){
  .pk-hero .pk-btn-primary:hover{
    transform:translateY(-2px);
    background:#E3C46F;
    border-color:#E3C46F;
    box-shadow:0 12px 26px -12px rgba(216,180,92,.6),0 2px 6px rgba(0,0,0,.28);
  }
  .pk-hero .pk-btn-ghost:hover{
    transform:translateY(-2px);
    background:rgba(216,180,92,.06);
    border-color:rgba(216,180,92,.85);
    color:#F1D58A;
  }
  .pk-hero .pk-text-link:hover{color:#F1D58A;border-color:var(--pk-gold)}
}
.pk-hero .pk-btn:active{
  transform:translateY(0) scale(.975);
  box-shadow:none;
  transition-duration:90ms;
}
.pk-hero .pk-btn:focus-visible,
.pk-hero .pk-text-link:focus-visible{
  outline:2px solid #F1D58A;
  outline-offset:3px;
}

/* Rest of the page: restrained hover motion (unchanged behaviour) */
@media(hover:hover) and (pointer:fine){
  .pk-product-list article,
  .pk-reference-list a,
  .pk-direct a{
    transition:transform 320ms var(--pk-ease-out),background-color 180ms ease,border-color 180ms ease;
  }
  .pk-product-list article:hover{transform:translateX(8px)}
  .pk-reference-list a:hover{transform:translateX(4px)}
  .pk-direct a:hover{transform:translateX(5px)}
  .pk-product-list article>button{
    transition:transform 180ms var(--pk-ease-out),background-color 180ms ease,border-color 180ms ease,color 180ms ease;
  }
  .pk-product-list article>button:hover{transform:translateY(-2px)}
  .pk-product-list article>button:active{transform:translateY(0) scale(.985)}
}

/* bundle-3 forces box-shadow:none on every element of the homepage.
   Depth of phone, card and hero buttons is restored explicitly here. */
.pkx-stage .pkx-phone-body{
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.12),
    inset 0 0 0 3px #0B0C0D,
    0 40px 70px -24px rgba(0,0,0,.85),
    -18px 0 50px -30px rgba(216,180,92,.18)!important;
}
.pkx-stage .pkx-card-face{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 0 0 1px rgba(255,255,255,.05)!important;
}
.pkx-stage .pkx-avatar{box-shadow:0 0 0 .5cqw rgba(216,180,92,.6)!important}
@media(hover:hover) and (pointer:fine){
  .pk-hero .pk-actions .pk-btn-primary:hover{
    box-shadow:0 12px 26px -12px rgba(216,180,92,.6),0 2px 6px rgba(0,0,0,.28)!important;
  }
}
.pk-hero .pk-actions .pk-btn:active{box-shadow:none!important}

/* ---------- Tablet: visual directly under the headline ---------- */
@media(max-width:1050px){
  .pk-hero-grid{gap:0}
  .pk-hero-copy{display:contents}
  .pk-hero-copy>.pk-kicker{order:1}
  .pk-hero-copy>h1{order:2}
  .pk-hero .pkx-stage{order:3;width:100%;max-width:720px;margin:4px 0 34px}
  .pk-hero-copy>.pk-lead{order:4}
  .pk-hero-copy>.pk-price-line{order:5}
  .pk-hero-copy>.pk-actions{order:6}
  .pk-hero-copy>.pk-micro{order:7}
  .pkx-stage{
    aspect-ratio:1.2/1;
    --ph-t:7cqw;
    --card-t:43cqw;
    --tap-y:-27cqw;
    --pulse-y:31cqw;
  }
}

/* ---------- Mobile: bigger phone, compact story ---------- */
@media(max-width:760px){
  .pk-hero .pkx-stage{margin:0 0 28px}
  .pkx-stage{
    aspect-ratio:1/1.1;
    --ph-l:50cqw; --ph-t:5cqw; --ph-w:43cqw;
    --card-l:2cqw; --card-t:60cqw; --card-w:52cqw;
    --card-rest:rotateX(12deg) rotateY(-14deg) rotateZ(-7deg);
    --tap-x:11cqw; --tap-y:-49cqw;
    --near-x:3cqw; --near-y:-9cqw;
    --pulse-x:51cqw; --pulse-y:27cqw;
  }
  .pkx-stage::after{top:94%}
  .pkx-stage>figcaption{bottom:3cqw;gap:4px 10px}
  .pkx-stage>figcaption span{font-size:.56rem}
  .pkx-stage>figcaption strong{font-size:.72rem}
  .pkx-card-edge{transform:translateZ(-2px)}
}

/* ---------- Reduced motion: composed still of the result ---------- */
@media(prefers-reduced-motion:reduce){
  .pkx-stage *,
  .pkx-stage *::before,
  .pkx-stage *::after{
    animation:none!important;
    transition:none!important;
  }
  .pkx-stage .pkx-card{transform:translate3d(var(--near-x),var(--near-y),0) rotateX(12deg) rotateY(-17deg) rotateZ(-6deg) scale(.97)!important}
  .pkx-stage .pkx-card-shadow{transform:translate3d(var(--near-x),calc(var(--near-y) * .5),0)!important}
  .pkx-stage .pkx-lock{opacity:0!important}
  .pkx-stage .pkx-profile,
  .pkx-stage .pkx-in{opacity:1!important;transform:none!important}
  .pkx-stage>figcaption em{color:#C7C9C8!important}
  .pk-hero .pk-btn{transition:none!important}
  .pk-hero .pk-btn:hover,.pk-hero .pk-btn:active{transform:none!important}
}
