/* ===================== TOKENS ===================== */
:root{
  --warm-white:#F7F5F2;
  --soft-beige:#E9E2D6;
  --light-grey:#E6E6E6;
  --sage:#A5B49A;
  --sage-deep:#7C8E72;
  --charcoal:#222426;
  --charcoal-soft:rgba(34,36,38,0.68);
  --gold:#C8A26E;
  --gold-deep:#A47F4D;
  --white:#FFFFFF;
  --font-display:'Cormorant Garamond', serif;
  --font-head:'Playfair Display', serif;
  --font-body:'Inter', sans-serif;
  --font-label:'Manrope', sans-serif;
  --container:1180px;
  --radius:2px;
}

/* ===================== DEDICATED CONTACT PAGE ===================== */
.contact-page{
  background:
    radial-gradient(circle at 6% 12%,rgba(200,162,110,.13),transparent 28%),
    linear-gradient(145deg,#2d302f 0%,#1f2222 56%,#181a1b 100%);
  color:var(--warm-white);min-height:100vh;overflow:hidden;padding:158px 0 112px;position:relative;
}
.contact-page::after{
  background:linear-gradient(90deg,transparent,rgba(200,162,110,.42),transparent);bottom:0;content:"";
  height:1px;left:50%;position:absolute;transform:translateX(-50%);width:min(72vw,920px);
}
.contact-page__horizon{
  color:var(--gold);height:auto;left:-180px;opacity:.075;pointer-events:none;position:absolute;top:58px;width:620px;
}
.contact-page__horizon path,.contact-page__horizon line{
  fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:4;
}
.contact-page__layout{
  align-items:start;display:grid !important;gap:82px;grid-template-columns:minmax(0,.9fr) minmax(470px,1.1fr);
  position:relative;z-index:2;
}
.contact-page__copy{padding-top:28px;position:sticky;top:112px;}
.contact-page__copy > *,.contact-page__person > *{margin-block:0 !important;}
.contact-page__copy .eyebrow{color:var(--gold);margin-bottom:20px !important;}
.contact-page__title{
  color:var(--warm-white);font-family:var(--font-display);font-size:clamp(48px,5.2vw,70px);font-style:italic;
  font-weight:500;letter-spacing:-.015em;line-height:1.04;margin:0 0 30px;
}
.contact-page__lead{color:rgba(247,245,242,.74);font-size:16.5px;line-height:1.74;margin-top:16px !important;max-width:560px;}
.contact-page__identity{align-items:center;display:flex !important;gap:18px;margin-top:34px !important;}
.contact-page__portrait{
  border:3px solid rgba(247,245,242,.92);border-radius:50%;box-shadow:0 16px 34px -19px rgba(0,0,0,.9);
  flex:0 0 76px;height:76px;margin:0 !important;overflow:hidden;width:76px;
}
.contact-page__portrait img{height:100%;object-fit:cover;object-position:center 18%;width:100%;}
.contact-page__person{display:flex !important;flex-direction:column;gap:3px !important;}
.contact-page__name{color:var(--warm-white);font-family:var(--font-head);font-size:20px;font-weight:600;}
.contact-page__role{color:rgba(247,245,242,.6);font-family:var(--font-label);font-size:11.5px;letter-spacing:.04em;}
.contact-page__facts{display:grid !important;gap:11px;margin-top:30px !important;}
.contact-page__facts p{
  align-items:center;color:rgba(247,245,242,.88);display:flex;font-family:var(--font-label);font-size:12px;
  font-weight:600;gap:11px;letter-spacing:.045em;margin:0 !important;text-transform:uppercase;
}
.contact-page__facts p::before{
  align-items:center;border:1px solid rgba(200,162,110,.65);border-radius:50%;color:var(--gold);content:"✓";
  display:inline-flex;flex:0 0 24px;font-size:11px;height:24px;justify-content:center;
}
.contact-page__promise{
  border-top:1px solid rgba(247,245,242,.14);color:var(--gold);font-family:var(--font-display);font-size:18px;
  font-style:italic;line-height:1.45;margin-top:34px !important;max-width:540px;padding-top:24px;
}

.contact-form-card{
  background:linear-gradient(145deg,#fff 0%,#f5f1eb 100%);border:1px solid rgba(255,255,255,.74);border-radius:10px;
  box-shadow:0 38px 74px -34px rgba(0,0,0,.88),inset 0 1px 0 rgba(255,255,255,.9);color:var(--charcoal);
  padding:48px 46px 42px;position:relative;
}
.contact-form-card::before{
  background:linear-gradient(90deg,var(--gold),rgba(200,162,110,.12));border-radius:10px 10px 0 0;content:"";
  height:4px;left:0;position:absolute;right:0;top:0;
}
.contact-form-card > *{margin-block:0 !important;}
.contact-form-card__kicker{
  color:var(--gold-deep);font-family:var(--font-label);font-size:10.5px;font-weight:700;letter-spacing:.1em;
  margin-bottom:10px !important;text-transform:uppercase;
}
.contact-form-card__title{
  color:var(--charcoal);font-family:var(--font-head);font-size:clamp(27px,2.8vw,35px);font-weight:600;line-height:1.2;
  margin-bottom:30px !important;
}
.contact-form-card__note{
  border-top:1px solid rgba(34,36,38,.1);color:var(--charcoal-soft);font-size:12px;line-height:1.55;
  margin-top:24px !important;padding-top:20px;
}

/* Fluent Forms deliberately inherits the UNPOT system rather than exposing
   the plugin's generic WordPress appearance. */
.contact-form-card .fluentform{font-family:var(--font-body);}
.contact-form-card .ff-el-group{margin-bottom:22px;}
.contact-form-card .ff-el-input--label label{
  color:var(--charcoal);font-family:var(--font-label);font-size:12px;font-weight:700;letter-spacing:.02em;
  line-height:1.45;margin-bottom:8px;
}
.contact-form-card .ff-el-input--label.ff-el-is-required.asterisk-right label::after{color:var(--gold-deep);}
.contact-form-card .ff-el-form-control{
  background:rgba(255,255,255,.78);border:1px solid rgba(34,36,38,.18);border-radius:3px;color:var(--charcoal);
  font-family:var(--font-body);font-size:14px;min-height:50px;padding:12px 14px;transition:border-color .2s,box-shadow .2s,background .2s;
}
.contact-form-card textarea.ff-el-form-control{line-height:1.55;min-height:128px;resize:vertical;}
.contact-form-card .ff-el-form-control:focus{
  background:#fff;border-color:var(--gold-deep);box-shadow:0 0 0 3px rgba(200,162,110,.14);outline:none;
}
.contact-form-card .ff-el-form-control::placeholder{color:rgba(34,36,38,.42);}
.contact-form-card .ff-el-form-check{margin-bottom:9px;}
.contact-form-card .ff-el-form-check-label{
  align-items:flex-start;color:var(--charcoal-soft);display:flex;font-size:13px;gap:9px;line-height:1.5;
}
.contact-form-card .ff-el-form-check-input{accent-color:var(--gold-deep);flex:0 0 auto;margin-top:3px;}
.contact-form-card .ff-el-form-check-label a{border-bottom:1px solid var(--gold);color:var(--gold-deep);}
.contact-form-card .ff-el-form-check-label a:hover{color:var(--charcoal);}
.contact-form-card .ff-el-is-error .ff-el-form-control{border-color:#9f453d;}
.contact-form-card .error.text-danger{color:#8e3e38;font-size:12px;margin-top:6px;}
.contact-form-card .ff-btn-submit{
  background:linear-gradient(135deg,#d8b77f,#c49a61);border:1px solid #c49a61;border-radius:3px;
  box-shadow:0 16px 28px -19px rgba(34,36,38,.78);color:var(--charcoal);font-family:var(--font-label);
  font-size:11.5px;font-weight:700;letter-spacing:.065em;min-height:58px;padding:15px 22px;text-transform:uppercase;
  transition:background .22s,color .22s,transform .22s;width:100%;
}
.contact-form-card .ff-btn-submit:hover,.contact-form-card .ff-btn-submit:focus{
  background:var(--charcoal);border-color:var(--charcoal);color:var(--warm-white);transform:translateY(-1px);
}
.contact-form-card .ff-message-success{
  background:rgba(165,180,154,.15);border:1px solid rgba(124,142,114,.46);border-radius:4px;color:var(--charcoal);
  line-height:1.6;margin:0;padding:24px 26px;
}
.contact-form-card .ff-message-success h3{font-family:var(--font-head);font-size:25px;margin-bottom:10px;}

@media (max-width:1020px){
  .contact-page{padding-top:138px;}
  .contact-page__layout{gap:54px;grid-template-columns:1fr;}
  .contact-page__copy{max-width:720px;padding-top:0;position:static;text-align:center;}
  .contact-page__lead,.contact-page__promise{margin-inline:auto;}
  .contact-page__identity,.contact-page__facts{justify-content:center;}
  .contact-page__facts{display:flex !important;flex-wrap:wrap;gap:12px 22px;}
  .contact-form-card{margin-inline:auto;max-width:680px;width:100%;}
}
@media (max-width:620px){
  .contact-page{padding:116px 0 72px;}
  .contact-page__horizon{left:-230px;top:32px;width:520px;}
  .contact-page__layout{gap:38px;}
  .contact-page__title{font-size:42px;}
  .contact-page__lead{font-size:15.5px;}
  .contact-page__identity{justify-content:center;}
  .contact-page__facts{align-items:flex-start;display:grid !important;justify-content:start;margin-inline:auto !important;max-width:310px;text-align:left;}
  .contact-page__promise{font-size:17px;}
  .contact-form-card{border-radius:7px;padding:38px 22px 30px;}
  .contact-form-card__title{font-size:28px;}
  .contact-form-card .ff-el-group{margin-bottom:19px;}
  .contact-form-card .ff-el-form-check-label{font-size:12.5px;}
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--warm-white);
  color:var(--charcoal);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{margin:0;font-weight:600;}
p{margin:0;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;border:none;background:none;cursor:pointer;color:inherit;}
.container{max-width:var(--container);margin:0 auto;padding:0 28px;}
.container.narrow{max-width:760px;}
:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px;}

/* language toggle base */
.t-en,.t-pl{display:none;}
html.lang-en .t-de,html.lang-pl .t-de{display:none;}
html.lang-en .t-en{display:inline;}
html.lang-pl .t-pl{display:inline;}
.tb-en,.tb-pl{display:none;}
html.lang-pl .tb-pl{display:block;}
html.lang-en .tb-de,html.lang-pl .tb-de{display:none;}
html.lang-en .tb-en{display:block;}

/* eyebrow / labels */
.eyebrow{
  font-family:var(--font-label);
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold-deep);
  margin:0 0 16px;
  display:block;
}
.eyebrow--center{text-align:center;}
.eyebrow--light{color:var(--charcoal);}

.section__title{
  font-family:var(--font-head);
  font-size:clamp(28px,3.6vw,42px);
  line-height:1.2;
  letter-spacing:.005em;
  margin:0 0 22px;
  color:var(--charcoal);
}
.section__title.center{text-align:center;}
.section__title.light{color:var(--charcoal);}
.lead{
  font-size:clamp(16px,1.6vw,19px);
  color:var(--charcoal-soft);
  max-width:640px;
}
.lead.center{margin:0 auto;text-align:center;}

/* sections rhythm */
.section{padding:104px 0;position:relative;}
.section--beige{background:var(--soft-beige);}
.section--sage{background:var(--sage); color:var(--charcoal);}
@media (max-width:680px){ .section{padding:72px 0;} }

/* buttons */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-label);
  font-size:13.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:16px 30px;border-radius:var(--radius);
  transition:background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
  white-space:nowrap;
}
.btn--primary{background:var(--charcoal);color:var(--warm-white);}
.btn--primary:hover{background:var(--gold-deep);transform:translateY(-1px);}
.btn--ghost{border:1px solid var(--charcoal);color:var(--charcoal);}
.btn--ghost:hover{background:var(--charcoal);color:var(--warm-white);}
.btn--on-dark{border:1px solid var(--gold);color:var(--warm-white);}
.btn--on-dark:hover{background:var(--gold);color:var(--charcoal);}
.btn--small{padding:11px 20px;font-size:12px;}
.btn--full{width:100%;justify-content:center;white-space:normal;text-align:center;line-height:1.35;}
.btn svg{width:14px;height:14px;flex:none;}

/* ===================== HORIZON SVG SPRITE ===================== */
.horizon-mark{width:34px;height:24px;color:var(--gold);flex:none;}
.horizon-mark path,.horizon-mark line{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}

.horizon-divider{display:block;width:120px;height:54px;margin:0 auto;color:var(--gold);}
.horizon-divider path,.horizon-divider line{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.horizon-divider.js-armed path,.horizon-divider.js-armed line{
  stroke-dasharray:1;stroke-dashoffset:1;
  transition:stroke-dashoffset 1s cubic-bezier(.4,.1,.2,1);
}
.horizon-divider.js-armed.in-view path{stroke-dashoffset:0;}
.horizon-divider.js-armed.in-view path:nth-of-type(1){transition-delay:.05s;}
.horizon-divider.js-armed.in-view path:nth-of-type(2){transition-delay:.2s;}
.horizon-divider.js-armed.in-view path:nth-of-type(3){transition-delay:.35s;}
.horizon-divider.js-armed.in-view path:nth-of-type(4){transition-delay:.5s;}
.horizon-divider--on-dark{color:var(--gold);}

@media (prefers-reduced-motion: reduce){
  .horizon-divider.js-armed path,.horizon-divider.js-armed line{transition:none !important;stroke-dashoffset:0 !important;}
}

/* ===================== HEADER ===================== */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:20px 0;
  transition:background .35s ease, padding .35s ease, box-shadow .35s ease;
}
.site-header.is-scrolled{
  background:rgba(247,245,242,0.92);
  backdrop-filter:blur(10px);
  padding:13px 0;
  box-shadow:0 1px 0 rgba(34,36,38,0.08);
}
body.page-id-45 .site-header:not(.is-scrolled){
  background:rgba(247,245,242,0.96);
  backdrop-filter:blur(10px);
  box-shadow:0 1px 0 rgba(34,36,38,0.08);
}
.nav-inner{
  max-width:var(--container);margin:0 auto;padding:0 28px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.brand{display:flex;align-items:center;flex:0 0 auto;}
.brand__logo{display:block;width:220px;height:auto;}
.main-nav{display:flex;gap:34px;}
.main-nav a{
  font-family:var(--font-label);font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
  color:var(--charcoal-soft);position:relative;padding:4px 0;transition:color .2s;
}
.main-nav a:hover{color:var(--charcoal);}
.main-nav a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--gold-deep);transition:width .25s ease;}
.main-nav a:hover::after{width:100%;}
.nav-actions{display:flex;align-items:center;gap:20px;}
.lang-switch{display:flex;align-items:center;gap:6px;font-family:var(--font-label);font-size:12.5px;font-weight:700;letter-spacing:.04em;}
.lang-btn{padding:4px 6px;color:var(--charcoal-soft);}
.lang-btn.is-active{color:var(--charcoal);text-decoration:underline;text-decoration-color:var(--gold-deep);text-decoration-thickness:2px;text-underline-offset:4px;}
.lang-sep{color:var(--light-grey);}
.nav-toggle{display:none;flex-direction:column;gap:5px;width:26px;}
.nav-toggle span{display:block;height:2px;background:var(--charcoal);border-radius:1px;}

@media (max-width:920px){
  .main-nav{
    position:fixed;top:0;right:0;height:100vh;width:min(78vw,320px);
    background:var(--warm-white);flex-direction:column;justify-content:center;align-items:flex-start;
    gap:30px;padding:0 44px;transform:translateX(100%);transition:transform .35s ease;box-shadow:-8px 0 30px rgba(0,0,0,.08);
  }
  .main-nav.is-open{transform:translateX(0);}
  .main-nav a{font-size:16px;}
  .nav-toggle{display:flex;}
  .nav-actions .btn--small{display:none;}
}

/* ===================== HERO ===================== */
.hero{position:relative;padding:168px 0 0;overflow:hidden;}
.hero__inner{
  max-width:var(--container);margin:0 auto;padding:0 28px 90px;
  display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;
}
.hero__bg-arc{position:absolute;top:-60px;right:-10%;width:62%;color:var(--sage);opacity:.16;pointer-events:none;}
.hero__bg-arc path,.hero__bg-arc line{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;}

.hero__copy{position:relative;z-index:2;}
.hero__title{
  font-family:var(--font-display);font-style:italic;font-weight:500;
  font-size:clamp(36px,5.4vw,62px);line-height:1.16;color:var(--charcoal);margin:0 0 26px;
}
.hero__title em{font-style:italic;color:var(--gold-deep);font-weight:600;}
.hero__sub{font-size:clamp(16px,1.5vw,18.5px);color:var(--charcoal-soft);max-width:480px;margin:0 0 18px;}
.hero__tag{font-family:var(--font-label);font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--sage-deep);margin:0 0 36px;}
.hero__cta{display:flex;gap:16px;flex-wrap:wrap;}

.hero__media{position:relative;z-index:1;}
.hero__frame{
  position:relative;border-radius:var(--radius);overflow:hidden;
  aspect-ratio:4/5;box-shadow:0 30px 60px -20px rgba(34,36,38,.28);
}
.hero__frame img{width:100%;height:100%;object-fit:cover;}
.hero__frame::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(34,36,38,0) 60%, rgba(34,36,38,.25));
}
.hero__media::before{
  content:"";position:absolute;left:-22px;bottom:-22px;width:140px;height:140px;
  border:1px solid var(--gold);opacity:.5;z-index:-1;
}

.hero__horizon{width:100%;overflow:hidden;line-height:0;}
.hero__horizon svg{display:block;width:100%;height:64px;color:var(--soft-beige);}

@media (max-width:920px){
  .hero{padding-top:140px;}
  .hero__inner{grid-template-columns:1fr;gap:46px;}
  .hero__media{order:-1;max-width:340px;margin:0 auto;}
  .hero__copy{text-align:center;}
  .hero__sub{margin:0 auto 18px;}
  .hero__cta{justify-content:center;}
  .hero__bg-arc{width:90%;right:-20%;}
}

/* ===================== INTRO / COACHING ===================== */
.intro__block{padding-bottom:64px;}
.divider-wrap{padding:8px 0 56px;}

.pain__heading{
  font-family:var(--font-head);font-size:clamp(25px,3vw,34px);text-align:center;margin:0 0 14px;color:var(--charcoal);
}
.pain__intro{
  color:var(--charcoal-soft);font-size:clamp(16px,1.55vw,18px);line-height:1.65;
  margin:0 auto 46px !important;max-width:680px;text-align:center;
}
.pain__grid{
  counter-reset:pain-card;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  background:transparent;border:0;
}
.pain__card{
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,245,242,.92));
  border:1px solid rgba(200,162,110,.2);border-radius:7px;box-shadow:0 24px 46px -34px rgba(34,36,38,.55);
  counter-increment:pain-card;display:flex;flex-direction:column;gap:12px;min-height:218px;overflow:hidden;
  padding:36px 30px 32px;position:relative;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.pain__card::before{
  color:var(--gold-deep);content:"0" counter(pain-card);font-family:var(--font-label);font-size:12px;font-weight:700;
  letter-spacing:.12em;line-height:1;margin-bottom:10px;
}
.pain__card::after{
  background:linear-gradient(90deg,var(--gold),rgba(200,162,110,.08));content:"";height:3px;left:0;position:absolute;right:0;top:0;
}
.pain__card:hover{border-color:rgba(200,162,110,.45);box-shadow:0 28px 52px -30px rgba(34,36,38,.45);transform:translateY(-4px);}
.pain__card.js-armed{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease;}
.pain__card.js-armed.in-view{opacity:1;transform:none;}
.pain__card.js-armed.in-view:hover{transform:translateY(-4px);}
.pain__card h4{color:var(--charcoal);font-family:var(--font-head);font-size:19px;font-weight:600;line-height:1.32;}
.pain__card p{color:var(--charcoal-soft);font-size:14.5px;line-height:1.62;}
.pain__closing{max-width:680px;margin:48px auto 0;text-align:center;font-family:var(--font-display);font-style:italic;font-size:clamp(18px,2vw,22px);color:var(--charcoal);}

@media (max-width:920px){ .pain__grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){
  .pain__intro{margin-bottom:34px !important;}
  .pain__grid{grid-template-columns:1fr;gap:16px;}
  .pain__card{min-height:0;padding:30px 25px 27px;}
}

/* ===================== GAINS ===================== */
.gains__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:46px 40px;margin-top:72px !important;}
.gains__item{display:flex;flex-direction:column;gap:12px;}
.gains__item.js-armed{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;}
.gains__item.js-armed.in-view{opacity:1;transform:none;}
.gains__icon{
  width:70px;height:70px;border:1px solid rgba(200,162,110,.28);border-radius:50%;
  background:linear-gradient(145deg,rgba(247,245,242,.98),rgba(237,232,223,.86));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 12px 24px -20px rgba(34,36,38,.5);
  color:var(--gold-deep);display:flex;align-items:center;justify-content:center;
}
.gains__icon .horizon-mark{width:20px;height:15px;}
.gains__icon .gains-symbol{width:34px;height:34px;display:block;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;}
.gains__item h4{font-family:var(--font-head);font-size:18px;font-weight:600;}
.gains__item p{font-size:14.5px;color:var(--charcoal-soft);}

@media (max-width:920px){ .gains__grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .gains__grid{grid-template-columns:1fr;margin-top:52px !important;} }

/* ===================== PACKAGES ===================== */
.pkg__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:56px;align-items:stretch;
  padding:18px 0 34px;perspective:1200px;
}
.pkg__card{
  background:linear-gradient(145deg,rgba(49,52,51,.98) 0%,rgba(29,31,32,.98) 56%,rgba(23,25,26,.99) 100%);
  border:1px solid rgba(200,162,110,.28);border-radius:7px;
  padding:40px 32px 36px;display:flex;flex-direction:column;position:relative;
  box-shadow:
    inset 1px 1px 0 rgba(255,255,255,.075),
    inset -1px -1px 0 rgba(0,0,0,.28),
    0 26px 48px -24px rgba(15,17,18,.72),
    0 8px 18px -14px rgba(15,17,18,.58);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.pkg__card::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(125deg,rgba(255,255,255,.045),transparent 27%,transparent 72%,rgba(200,162,110,.035));
}
.pkg__card.js-armed{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease,border-color .3s ease,box-shadow .3s ease;}
.pkg__card.js-armed.in-view{opacity:1;transform:none;}
.pkg__card--featured{
  background:linear-gradient(145deg,rgba(58,57,52,.99) 0%,rgba(31,32,31,.99) 50%,rgba(20,22,23,1) 100%);
  border-color:rgba(200,162,110,.92);z-index:2;
  margin-top:-14px !important;
  box-shadow:
    inset 1px 1px 0 rgba(255,255,255,.11),
    inset -1px -1px 0 rgba(0,0,0,.34),
    0 34px 58px -24px rgba(12,14,15,.88),
    0 0 0 1px rgba(200,162,110,.14);
}
.pkg__card--featured.js-armed.in-view{transform:none;}
.pkg__badge{
  position:absolute;top:0;left:50%;right:auto;transform:translate(-50%,-50%);
  background:linear-gradient(135deg,#d8b77f 0%,#c8a26e 54%,#ac824d 100%);color:var(--charcoal);
  font-family:var(--font-label);font-size:10.5px;font-weight:700;letter-spacing:.095em;text-transform:uppercase;
  line-height:1.25;padding:9px 18px;border:1px solid rgba(255,255,255,.22);border-radius:999px;
  box-shadow:0 12px 24px -12px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.3);
  text-align:center;white-space:nowrap;z-index:3;
}
.pkg__badge::before{content:"◆";font-size:7px;margin-right:8px;vertical-align:1px;}
.pkg__mark{margin-bottom:18px;}
.pkg__mark .horizon-mark{color:var(--gold);display:block;width:42px;height:30px;overflow:visible;}
.pkg__name{font-family:var(--font-head);font-size:23px;font-weight:600;color:var(--warm-white);margin-bottom:6px;line-height:1.3;}
.pkg__sessions{font-family:var(--font-label);font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
.pkg__desc{font-size:14.5px;color:rgba(247,245,242,0.78);margin-bottom:22px;}
.pkg__list{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;}
.pkg__list li{font-size:13.8px;color:rgba(247,245,242,0.85);padding-left:18px;position:relative;}
.pkg__list li::before{content:"";position:absolute;left:0;top:7px;width:7px;height:7px;border-radius:50%;background:var(--sage);}
.pkg__outcome{font-size:13.5px;font-style:italic;font-family:var(--font-display);color:var(--warm-white);margin-bottom:26px;}
.pkg__outcome strong{color:var(--gold);font-weight:600;}
.pkg__cta{margin-top:auto;}

.pkg__facts{
  background:rgba(247,245,242,.72);border:1px solid rgba(128,81,31,.22);border-radius:9px;
  box-shadow:0 18px 34px -30px rgba(34,36,38,.7);margin:22px auto 0 !important;
  max-width:980px;padding:20px 24px;
}
.pkg__facts-list{
  display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0 !important;padding:0 !important;
}
html.lang-de .pkg__facts-list.t-de,
html.lang-en .pkg__facts-list.t-en,
html.lang-pl .pkg__facts-list.t-pl{display:grid !important;}
.pkg__facts-list li{
  color:var(--charcoal-soft);font-size:13.5px;line-height:1.55;padding-left:19px;position:relative;text-align:left;
}
.pkg__facts-list li::before{
  color:var(--gold-deep);content:"✓";font-weight:700;left:0;position:absolute;top:0;
}

@media (max-width:980px){
  .pkg__grid{grid-template-columns:1fr;max-width:460px;margin:48px auto 0;padding-top:18px;}
  .pkg__card--featured,
  .pkg__card--featured.js-armed.in-view{margin-top:0 !important;transform:none;}
  .pkg__facts{max-width:620px;}
  .pkg__facts-list{grid-template-columns:1fr;gap:10px;}
}

.pkg__closing{
  color:var(--charcoal);font-family:var(--font-display);font-size:clamp(28px,3.1vw,38px);font-style:italic;font-weight:500;
  line-height:1.22;margin:48px auto 0;max-width:820px;padding-top:32px;position:relative;text-align:center;
}
.pkg__closing::before{
  background:linear-gradient(90deg,transparent,var(--gold),transparent);content:"";height:1px;left:50%;position:absolute;top:0;
  transform:translateX(-50%);width:92px;
}
.pkg__closing strong{
  color:#80511f;display:block;font-weight:600;text-shadow:0 2px 7px rgba(34,28,20,.24);
}

/* ===================== ABOUT ===================== */
.about__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center;}
.about__media{position:relative;}
.about__frame{border-radius:var(--radius);overflow:hidden;aspect-ratio:4/5;box-shadow:0 24px 50px -18px rgba(34,36,38,.25);}
.about__frame img{width:100%;height:100%;object-fit:cover;}
.about__media::after{
  content:"";position:absolute;right:-18px;top:-18px;width:110px;height:110px;border:1px solid var(--gold);opacity:.55;z-index:-1;
}
.about__copy p{margin-bottom:18px;color:var(--charcoal-soft);font-size:15.5px;max-width:560px;}
.about__copy h2{margin-bottom:22px;}
.about__stats{display:flex;gap:34px;margin-top:30px;flex-wrap:wrap;}
.about__stat{display:flex;flex-direction:column;gap:4px;}
.about__stat .num{font-family:var(--font-head);font-size:26px;font-weight:600;color:var(--gold-deep);}
.about__stat .label{font-family:var(--font-label);font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--charcoal-soft);}

@media (max-width:880px){
  .about__grid{grid-template-columns:1fr;gap:40px;}
  .about__media{max-width:320px;margin:0 auto;}
  .about__copy{text-align:left;}
}

/* ===================== CONTACT ===================== */
.contact-section{
  background:
    radial-gradient(circle at 8% 15%,rgba(200,162,110,.1),transparent 28%),
    linear-gradient(145deg,#2d302f 0%,#1f2222 58%,#191b1c 100%);
  color:var(--warm-white);overflow:hidden;position:relative;
}
.contact-section::before{
  border:1px solid rgba(200,162,110,.16);border-radius:50%;content:"";height:460px;left:-270px;position:absolute;top:-270px;width:620px;
}
.contact__layout{align-items:center;display:grid !important;gap:72px;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);position:relative;}
.contact__copy{max-width:580px;}
.contact__copy > *{margin-block:0 !important;}
.contact__copy .eyebrow{color:var(--gold);margin-bottom:18px !important;}
.contact__title{color:var(--warm-white);font-family:var(--font-display);font-size:clamp(46px,5.5vw,72px);font-style:italic;font-weight:500;line-height:1.04;}
.contact__lead{color:rgba(247,245,242,.76);font-size:clamp(16px,1.45vw,18px);line-height:1.72;margin-top:28px !important;max-width:560px;}
.contact__promise{align-items:center;color:rgba(247,245,242,.9);display:flex;font-family:var(--font-label);font-size:12px;font-weight:600;gap:11px;letter-spacing:.055em;margin-top:30px !important;text-transform:uppercase;}
.contact__promise::before{align-items:center;border:1px solid rgba(200,162,110,.6);border-radius:50%;color:var(--gold);content:"✓";display:inline-flex;flex:0 0 25px;font-size:12px;height:25px;justify-content:center;}
.contact__panel{
  background:linear-gradient(145deg,#fbfaf8 0%,#f0ece5 100%);border:1px solid rgba(255,255,255,.72);border-radius:9px;
  box-shadow:0 36px 70px -32px rgba(0,0,0,.82),inset 0 1px 0 rgba(255,255,255,.85);color:var(--charcoal);
  padding:38px;position:relative;
}
.contact__panel::before{background:linear-gradient(90deg,var(--gold),rgba(200,162,110,.08));content:"";height:4px;left:0;position:absolute;right:0;top:0;border-radius:9px 9px 0 0;}
.contact__panel > *{margin-block:0 !important;}
.contact__identity{align-items:center;display:flex !important;gap:18px;margin-bottom:28px !important;}
.contact__identity > *,.contact__person > *{margin-block:0 !important;}
.contact__portrait{border:3px solid var(--warm-white);border-radius:50%;box-shadow:0 12px 28px -15px rgba(34,36,38,.6);flex:0 0 76px;height:76px;overflow:hidden;width:76px;}
.contact__portrait img{height:100%;object-fit:cover;object-position:center 17%;width:100%;}
.contact__person{display:flex !important;flex-direction:column;gap:3px !important;}
.contact__name{color:var(--charcoal);font-family:var(--font-head);font-size:20px;font-weight:600;line-height:1.2;}
.contact__role{color:var(--charcoal-soft);font-family:var(--font-label);font-size:11.5px;letter-spacing:.035em;}
.contact__kicker{border-top:1px solid rgba(34,36,38,.11);color:var(--gold-deep);font-family:var(--font-label);font-size:11px;font-weight:700;letter-spacing:.09em;padding-top:24px;text-transform:uppercase;}
.contact__button,.contact__button .wp-block-button__link{width:100%;}
.contact__button{margin-top:16px !important;}
.contact__button .wp-block-button__link{
  background:linear-gradient(135deg,#d8b77f,#c49a61);border:1px solid #c49a61 !important;box-shadow:0 16px 26px -18px rgba(34,36,38,.7);
  color:var(--charcoal);font-family:var(--font-label);font-size:12px;font-weight:700;justify-content:center;letter-spacing:.07em;
  min-height:62px;padding:16px 20px;text-align:center;text-transform:uppercase;transition:background .22s ease,box-shadow .22s ease,transform .22s ease;
}
.contact__button .wp-block-button__link:hover{background:var(--charcoal);border-color:var(--charcoal) !important;box-shadow:0 18px 28px -18px rgba(34,36,38,.85);color:var(--warm-white);transform:translateY(-1px);}
.contact__links{align-items:center;display:flex !important;gap:26px;justify-content:flex-start;margin-top:24px !important;width:100%;}
.contact__links > p{flex:0 0 auto;margin-block:0 !important;}
.contact__link{align-items:center;color:var(--charcoal-soft);display:inline-flex;font-family:var(--font-label);font-size:12.5px;gap:8px;letter-spacing:.025em;transition:color .2s ease;}
.contact__link::before{align-items:center;border:1px solid rgba(200,162,110,.5);border-radius:50%;color:var(--gold-deep);display:inline-flex;font-family:Arial,sans-serif;font-size:11px;height:25px;justify-content:center;width:25px;}
.contact__link--mail::before{content:"@";}
.contact__link--linkedin::before{content:"in";font-size:9px;font-weight:700;}
.contact__link:hover{color:var(--gold-deep);}

@media (max-width:920px){
  .contact__layout{gap:52px;grid-template-columns:1fr;}
  .contact__copy{max-width:660px;text-align:center;margin-inline:auto;}
  .contact__lead{margin-inline:auto !important;}
  .contact__promise{justify-content:center;}
  .contact__panel{margin-inline:auto;max-width:560px;width:100%;}
}
@media (max-width:600px){
  .contact__layout{gap:36px;}
  .contact__title{font-size:44px;}
  .contact__lead{font-size:15.5px;margin-top:22px !important;}
  .contact__promise{align-items:flex-start;font-size:10.5px;line-height:1.5;text-align:left;}
  .contact__panel{padding:30px 22px;}
  .contact__identity{justify-content:center;text-align:left;}
  .contact__portrait{flex-basis:68px;height:68px;width:68px;}
  .contact__links{flex-direction:column;gap:12px;justify-content:center;}
}

/* ===================== FOOTER ===================== */
footer{background:var(--charcoal);color:rgba(247,245,242,0.7);padding:64px 0 0;}
.footer__grid{display:grid;grid-template-columns:1.3fr .8fr .8fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(247,245,242,0.12);}
.footer__brand img{width:150px;margin-bottom:14px;}
.footer__brand p{font-size:13.5px;color:rgba(247,245,242,0.55);max-width:230px;}
.footer__col h5{font-family:var(--font-label);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;font-weight:700;}
.footer__col ul{display:flex;flex-direction:column;gap:10px;}
.footer__col a{font-size:13.8px;transition:color .2s;}
.footer__col a:hover{color:var(--warm-white);}
.footer__bottom{
  max-width:var(--container);margin:0 auto;padding:24px 28px 26px;
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:12.5px;color:rgba(247,245,242,0.45);
}
.footer__bottom .legal-links{display:flex;gap:18px;flex-wrap:wrap;}
.footer__bottom .legal-links a:hover{color:var(--warm-white);}

@media (max-width:880px){
  .footer__grid{grid-template-columns:1fr 1fr;}
  .footer__brand{grid-column:1/-1;}
}
@media (max-width:520px){ .footer__grid{grid-template-columns:1fr;} }

/* fade-in helper for generic blocks */
.fade-in.js-armed{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease;}
.fade-in.js-armed.in-view{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){
  .js-armed{transition:none !important;opacity:1 !important;transform:none !important;}
}

.legal-hero{padding:160px 0 56px;background:var(--soft-beige);}
.legal-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:26px;font-family:var(--font-label);font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--charcoal-soft);}
.legal-back:hover{color:var(--charcoal);}
.legal-back svg{width:13px;height:13px;}
.legal-hero h1{font-family:var(--font-head);font-size:clamp(32px,4.2vw,48px);color:var(--charcoal);line-height:1.18;}
.legal-meta{font-family:var(--font-label);font-size:12.5px;letter-spacing:.04em;color:var(--charcoal-soft);margin-top:16px;}
.legal-body{padding:64px 0 110px;}
.legal-toc{background:var(--warm-white);border:1px solid var(--light-grey);padding:30px 32px;margin-bottom:54px;}
.legal-toc h2{font-family:var(--font-label);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:16px;}
.legal-toc ol{display:flex;flex-direction:column;gap:9px;counter-reset:toc;list-style:none;margin-left:0;padding-left:0;}
.legal-toc ol li{counter-increment:toc;font-size:14.5px;}
.legal-toc ol li a{color:var(--charcoal-soft);}
.legal-toc ol li a:hover{color:var(--charcoal);}
.legal-toc ol li a::before{content:counter(toc) ". ";color:var(--gold-deep);font-weight:700;}
.legal-section{margin-bottom:48px;scroll-margin-top:100px;}
.legal-section h2{font-family:var(--font-head);font-size:25px;margin-bottom:18px;color:var(--charcoal);}
.legal-section h3{font-family:var(--font-head);font-size:18px;margin:22px 0 10px;color:var(--charcoal);}
.legal-section p{margin-bottom:14px;color:var(--charcoal-soft);font-size:15.5px;}
.legal-section ul{display:flex;flex-direction:column;gap:9px;margin:10px 0 18px;}
.legal-section ul li{font-size:15px;color:var(--charcoal-soft);padding-left:20px;position:relative;}
.legal-section ul li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--sage);}
.legal-section strong{color:var(--charcoal);font-weight:600;}
.legal-section a.inline-link{color:var(--gold-deep);border-bottom:1px solid var(--gold);}
.legal-section em{font-style:italic;color:var(--charcoal-soft);}
.legal-contact-box{background:var(--soft-beige);padding:30px 32px;margin-top:8px;}
.legal-contact-box p{color:var(--charcoal);}
.legal-divider{border:none;border-top:1px solid var(--light-grey);margin:54px 0;}
.legal-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:var(--charcoal);color:var(--warm-white);padding:36px 38px;margin-top:10px;}
.legal-cta p{color:rgba(247,245,242,0.8);margin:0;font-size:15px;}
.legal-cta strong{color:var(--warm-white);}

/* footer (shared) */
footer{background:var(--charcoal);color:rgba(247,245,242,0.7);padding:64px 0 0;}
.footer__grid{display:grid;grid-template-columns:1.3fr .8fr .8fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(247,245,242,0.12);}
.footer__brand img{width:150px;margin-bottom:14px;}
.footer__brand p{font-size:13.5px;color:rgba(247,245,242,0.55);max-width:230px;}
.footer__col h5{font-family:var(--font-label);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;font-weight:700;}
.footer__col ul{display:flex;flex-direction:column;gap:10px;}
.footer__col a{font-size:13.8px;transition:color .2s;}
.footer__col a:hover{color:var(--warm-white);}
.footer__bottom{max-width:var(--container);margin:0 auto;padding:24px 28px 26px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:rgba(247,245,242,0.45);}
.footer__bottom .legal-links{display:flex;gap:18px;flex-wrap:wrap;}
.footer__bottom .legal-links a:hover{color:var(--warm-white);}
@media (max-width:880px){ .footer__grid{grid-template-columns:1fr 1fr;} .footer__brand{grid-column:1/-1;} .legal-cta{flex-direction:column;align-items:flex-start;} }
@media (max-width:520px){ .footer__grid{grid-template-columns:1fr;} }
@media (max-width:680px){ .legal-hero{padding:140px 0 44px;} .legal-body{padding:48px 0 80px;} }

/* Compatibility between the approved static layout and native core blocks. */
.unpot-content > * { margin-block: 0; }

/* Core block styles are loaded after the theme and otherwise make the
   duplicated English paragraph/button blocks visible. Keep the language
   switch authoritative for every block type. */
.unpot-content .t-en,
.unpot-content .t-pl { display: none !important; }
html.lang-en .unpot-content .t-de,
html.lang-pl .unpot-content .t-de { display: none !important; }
html.lang-en .unpot-content .t-en { display: revert !important; }
html.lang-pl .unpot-content .t-pl { display: revert !important; }

/* Gutenberg groups do not need a blanket padding reset. That reset also
   removed the intentional padding from .hero, .section and .container. */
.unpot-content .wp-block-group { margin-block: 0; }
.unpot-content .wp-block-image,
.unpot-content .wp-block-button { margin: 0; }
.unpot-content .wp-block-button__link { border-radius: 0; }
.unpot-content .wp-block-button.btn {
  background: transparent;
  border: 0;
  color: inherit;
  padding: 0;
}
.unpot-content .wp-block-button.btn .wp-block-button__link {
  align-items: center;
  border-radius: var(--radius);
  display: inline-flex;
  font-family: var(--font-label);
  font-size: 13.5px;
  font-weight: 700;
  gap: 10px;
  letter-spacing: .06em;
  padding: 16px 30px;
  text-transform: uppercase;
  transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
  white-space: nowrap;
}
.unpot-content .wp-block-button.btn--primary .wp-block-button__link {
  background: var(--charcoal);
  color: var(--warm-white);
}
.unpot-content .wp-block-button.btn--primary .wp-block-button__link:hover {
  background: var(--gold-deep);
  transform: translateY(-1px);
}
.unpot-content .wp-block-button.btn--ghost .wp-block-button__link {
  background: transparent;
  border: 1px solid var(--charcoal);
  color: var(--charcoal);
}
.unpot-content .wp-block-button.btn--ghost .wp-block-button__link:hover {
  background: var(--charcoal);
  color: var(--warm-white);
}
.unpot-content .wp-block-button.btn--on-dark .wp-block-button__link {
  background: transparent;
  border: 1px solid var(--gold);
  color: var(--warm-white);
}
.unpot-content .wp-block-button.btn--on-dark .wp-block-button__link:hover {
  background: var(--gold);
  color: var(--charcoal);
}
.unpot-content .wp-block-button.btn--small .wp-block-button__link {
  font-size: 12px;
  padding: 11px 20px;
}
.unpot-content .wp-block-button.btn--full,
.unpot-content .wp-block-button.btn--full .wp-block-button__link {
  width: 100%;
}
.unpot-content .wp-block-button.btn--full .wp-block-button__link {
  justify-content: center;
  line-height: 1.35;
  text-align: center;
  white-space: normal;
}
.unpot-content .hero__frame > .wp-block-image,
.unpot-content .hero__frame > .wp-block-image img,
.unpot-content .about__frame > .wp-block-image,
.unpot-content .about__frame > .wp-block-image img {
  height: 100%;
  width: 100%;
}
.unpot-content .hero__frame > .wp-block-image img,
.unpot-content .about__frame > .wp-block-image img {
  object-fit: cover;
}
.unpot-content .hero__cta,
.unpot-content .pkg__cta { align-items: stretch; }

/* Keep the offer cards visually consistent on wide screens. The outcome and
   CTA form one fixed-height footer, so different list lengths cannot move the
   buttons to different vertical positions. */
.unpot-content .pkg__card > .pkg__outcome {
  border-top: 1px solid rgba(200, 162, 110, .38);
  color: var(--gold);
  display: block !important;
  font-family: var(--font-body);
  font-size: 13.8px;
  font-style: normal;
  line-height: 1.55;
  margin-bottom: 18px !important;
  margin-top: auto !important;
  min-height: 86px;
  padding-top: 16px;
}
/* The fixed-height card footer must not override the language switch. */
html.lang-de .unpot-content .pkg__card > .pkg__outcome.t-en,
html.lang-de .unpot-content .pkg__card > .pkg__outcome.t-pl,
html.lang-en .unpot-content .pkg__card > .pkg__outcome.t-de,
html.lang-en .unpot-content .pkg__card > .pkg__outcome.t-pl,
html.lang-pl .unpot-content .pkg__card > .pkg__outcome.t-de,
html.lang-pl .unpot-content .pkg__card > .pkg__outcome.t-en {
  display: none !important;
}
html.lang-de .unpot-content .pkg__card > .pkg__outcome.t-de,
html.lang-en .unpot-content .pkg__card > .pkg__outcome.t-en,
html.lang-pl .unpot-content .pkg__card > .pkg__outcome.t-pl {
  display: block !important;
}
.unpot-content .pkg__card > .pkg__outcome strong {
  color: var(--warm-white);
  font-size: inherit;
  font-weight: 500;
}
.unpot-content .pkg__card > .pkg__cta {
  margin-top: 0 !important;
  width: 100%;
}
.unpot-content .pkg__card .pkg__cta .wp-block-button,
.unpot-content .pkg__card .pkg__cta .wp-block-button__link {
  width: 100%;
}
.unpot-content .pkg__card .pkg__cta .wp-block-button__link {
  background: var(--gold);
  border: 1px solid var(--gold) !important;
  box-shadow: 0 10px 22px -14px rgba(0, 0, 0, .75);
  color: var(--charcoal);
  font-size: 13.5px;
  justify-content: center;
  letter-spacing: .075em;
  height: 68px;
  line-height: 1.35;
  min-height: 68px;
  overflow: hidden;
  padding: 13px 20px;
  text-align: center;
  white-space: normal;
}
.unpot-content .pkg__card .pkg__cta .wp-block-button__link:hover {
  background: var(--warm-white);
  border-color: var(--warm-white) !important;
  color: var(--charcoal);
  transform: translateY(-1px);
}

/* These are visual invariants, not device-specific adjustments. Keeping them
   outside pointer-based media queries avoids inconsistent tablet detection. */
.unpot-content .pkg__card--featured .pkg__cta .wp-block-button__link {
  border: 1px solid var(--gold) !important;
}
.unpot-content .contact__links {
  align-items: center;
  display: flex !important;
  justify-content: center;
  width: 100%;
}
.unpot-content .contact__links > p {
  flex: 0 0 auto;
  margin-block: 0 !important;
  text-align: center;
}

/* Phone layout: communicate the offer before the portrait and keep the
   consent controls usable without covering most of the first screen. */
@media (max-width: 680px) {
  html,
  body,
  .unpot-content {
    max-width: 100%;
    overflow-x: clip;
  }
  .unpot-content .container,
  .unpot-content .hero__inner,
  .unpot-content .hero__copy,
  .unpot-content .contact__layout,
  .unpot-content .contact__copy,
  .unpot-content .contact__panel,
  .unpot-content .contact-page__layout,
  .unpot-content .contact-page__copy,
  .unpot-content .contact-form-card,
  .unpot-content .wp-block-group,
  .unpot-content .wp-block-buttons,
  .unpot-content .wp-block-button,
  .unpot-content .wp-block-button__link,
  .unpot-content .fluentform,
  .unpot-content .ff-el-group,
  .unpot-content .ff-el-input--content,
  .unpot-content .ff-el-form-control {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
  }
  .unpot-content .wp-block-button.btn .wp-block-button__link,
  .unpot-content .contact__button .wp-block-button__link,
  .unpot-content .contact-form-card .ff-btn-submit {
    overflow-wrap: anywhere;
    white-space: normal;
  }
  .unpot-content .contact-page__layout,
  .unpot-content .contact__layout {
    width: 100%;
  }
  .site-header {
    padding: 14px 0;
  }
  .site-header.is-scrolled {
    padding: 10px 0;
  }
  .nav-inner {
    gap: 14px;
    padding-inline: 18px;
  }
  .brand__logo {
    width: 160px;
  }
  .nav-actions {
    gap: 12px;
  }

  .hero {
    padding-top: 104px;
  }
  .hero__inner {
    gap: 32px;
    padding: 0 20px 64px;
  }
  .hero__copy,
  .hero__media {
    order: 0;
  }
  .hero__media {
    max-width: 300px;
  }
  .hero__frame {
    aspect-ratio: 4 / 4.5;
  }
  .hero__frame img {
    object-position: center 24%;
  }
  .hero__title {
    font-size: clamp(34px, 10vw, 42px);
    margin-bottom: 20px;
  }
  .hero__tag {
    margin-bottom: 28px;
  }
  .hero__cta {
    flex-direction: column;
    gap: 12px;
  }
  .unpot-content .hero__cta .wp-block-button,
  .unpot-content .hero__cta .wp-block-button__link {
    justify-content: center;
    width: 100%;
  }

  /* Keep all three offer buttons visually consistent on phones. */
  .unpot-content .pkg__card--featured .btn--primary .wp-block-button__link {
    border: 1px solid var(--gold);
  }

  /* The two closing statements are two deliberate lines, not one paragraph
     left to wrap at an arbitrary word. */
  .unpot-content .pkg__closing strong {
    display: block;
  }

  /* WordPress adds block-gap margins inside nested Groups. Reset them here so
     each statistic stays attached to its own label. */
  .unpot-content .about__stats {
    align-items: start;
    display: grid !important;
    gap: 22px 18px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 24px;
  }
  .unpot-content .about__stat {
    align-items: center;
    display: flex !important;
    gap: 3px !important;
    text-align: center;
  }
  .unpot-content .about__stat:nth-child(3) {
    grid-column: 1 / -1;
  }
  .unpot-content .about__stat > *,
  .unpot-content .about__stat .num,
  .unpot-content .about__stat .label {
    margin-block: 0 !important;
  }
  .unpot-content .about__stat .label {
    line-height: 1.35;
  }
  .unpot-content #about.section {
    padding-bottom: 52px;
  }

  /* Compact the contact card and stack its links predictably. */
  .unpot-content #contact.section {
    padding-block: 52px;
  }
  .unpot-content .contact__card {
    gap: 16px !important;
    padding: 40px 22px;
  }
  .unpot-content .contact__card > *,
  .unpot-content .contact__links > * {
    margin-block: 0 !important;
  }
  .unpot-content .contact__links {
    align-items: center;
    flex-direction: column;
    gap: 12px !important;
    margin-top: 4px;
  }
  .unpot-content .contact__note {
    margin-top: 2px;
  }
}

/* A phone held horizontally is wider than the portrait breakpoint, but its
   short viewport still needs the phone composition rather than the tablet
   one. The height guard keeps these overrides away from real tablets. */
@media (orientation: landscape) and (max-width: 980px) and (max-height: 600px) {
  .hero {
    padding-top: 112px;
  }
  .hero__inner {
    gap: 32px;
    grid-template-columns: 1fr;
    padding-bottom: 64px;
  }
  .hero__copy,
  .hero__media {
    order: 0;
  }
  .hero__copy {
    text-align: center;
  }
  .hero__sub {
    margin-inline: auto;
  }
  .hero__cta {
    justify-content: center;
  }
  .hero__media {
    margin-inline: auto;
    max-width: 300px;
  }

  .unpot-content .pkg__card--featured .btn--primary .wp-block-button__link {
    border: 1px solid var(--gold);
  }
  .unpot-content .pkg__closing strong {
    display: block;
  }

  .unpot-content .about__grid {
    gap: 40px;
    grid-template-columns: 1fr;
  }
  .unpot-content .about__media {
    margin-inline: auto;
    max-width: 320px;
  }
  .unpot-content .about__copy {
    text-align: center;
  }
  .unpot-content .about__copy p {
    margin-inline: auto;
  }
  .unpot-content .about__stats {
    justify-content: center;
  }

  .unpot-content .contact__card {
    gap: 16px !important;
    padding: 40px 26px;
  }
  .unpot-content .contact__card > *,
  .unpot-content .contact__links > * {
    margin-block: 0 !important;
  }
  .unpot-content .contact__links {
    align-items: center;
    flex-direction: column;
    gap: 12px !important;
    margin-top: 4px;
    width: 100%;
  }
  .unpot-content .contact__links p {
    text-align: center;
    width: 100%;
  }
}

/* Tablet portrait keeps the two contact links in one centered row while
   inheriting the compact card layout only from its own breakpoint. */
@media (orientation: portrait) and (min-width: 681px) and (max-width: 1024px) and (pointer: coarse) {
  .unpot-content .pkg__card--featured .pkg__cta .wp-block-button__link {
    border: 1px solid var(--gold);
  }

  .unpot-content .contact__card > *,
  .unpot-content .contact__links > * {
    margin-block: 0 !important;
  }
  .unpot-content .contact__links {
    align-items: center;
    flex-direction: row;
    gap: 30px !important;
    justify-content: center;
    width: 100%;
  }
  .unpot-content .contact__links p {
    flex: 0 0 auto;
    text-align: center;
  }
}

/* A real tablet held horizontally needs the same reading order as the phone
   landscape layout, but is identified by a touch pointer so laptops keep the
   desktop composition. */
@media (orientation: landscape) and (min-width: 681px) and (max-width: 1366px) and (min-height: 601px) and (pointer: coarse) {
  .hero {
    padding-top: 124px;
  }
  .hero__inner {
    gap: 40px;
    grid-template-columns: 1fr;
    padding-bottom: 72px;
  }
  .hero__copy,
  .hero__media {
    order: 0;
  }
  .hero__copy {
    text-align: center;
  }
  .hero__sub {
    margin-inline: auto;
  }
  .hero__cta {
    justify-content: center;
  }
  .hero__media {
    margin-inline: auto;
    max-width: 360px;
  }

  .unpot-content .pkg__card--featured .pkg__cta .wp-block-button__link {
    border: 1px solid var(--gold);
  }
  .unpot-content .pkg__closing strong {
    display: block;
  }

  .unpot-content .about__grid {
    gap: 40px;
    grid-template-columns: 1fr;
  }
  .unpot-content .about__media {
    margin-inline: auto;
    max-width: 340px;
  }
  .unpot-content .about__copy {
    text-align: center;
  }
  .unpot-content .about__copy p {
    margin-inline: auto;
  }
  .unpot-content .about__stats {
    justify-content: center;
  }

  .unpot-content .contact__card > *,
  .unpot-content .contact__links > * {
    margin-block: 0 !important;
  }
  .unpot-content .contact__links {
    align-items: center;
    flex-direction: row;
    gap: 30px !important;
    justify-content: center;
    width: 100%;
  }
  .unpot-content .contact__links p {
    flex: 0 0 auto;
    text-align: center;
    width: auto;
  }
}

/* ===================== 2.1.4 CTA + LANGUAGE STABILITY ===================== */
@media (min-width: 921px) {
  .nav-inner {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr) 304px;
    gap: 12px;
  }
  .brand__logo { width: 190px; }
  .main-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(78px, 1fr));
    gap: 6px;
    justify-self: stretch;
  }
  .main-nav .nav-link {
    text-align: center;
  }
  .nav-actions {
    display: grid;
    grid-template-columns: 116px 176px;
    gap: 12px;
    justify-content: end;
  }
  .header-cta {
    justify-content: center;
    min-width: 176px;
    padding-inline: 14px;
  }
}

/* Both translations occupy the same grid cells. The longer version therefore
   determines the geometry while only the chosen language remains visible. */
.hero__copy {
  align-content: center;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}
.hero__copy > .eyebrow { grid-column: 1; grid-row: 1; }
.hero__copy > .hero__title { grid-column: 1; grid-row: 2; }
.hero__copy > .hero__sub { grid-column: 1; grid-row: 3; }
.hero__copy > .hero__tag { grid-column: 1; grid-row: 4; }
.hero__copy > .hero__cta { grid-column: 1; grid-row: 5; }
.hero__copy > .t-de,
.hero__copy > .t-en,
.hero__copy > .t-pl,
.hero__cta > .t-de,
.hero__cta > .t-en,
.hero__cta > .t-pl {
  display: block !important;
  pointer-events: none;
  visibility: hidden;
}
html.lang-de .hero__copy > .t-en,
html.lang-de .hero__copy > .t-pl,
html.lang-en .hero__copy > .t-de,
html.lang-en .hero__copy > .t-pl,
html.lang-pl .hero__copy > .t-de,
html.lang-pl .hero__copy > .t-en,
html.lang-de .hero__cta > .t-en,
html.lang-de .hero__cta > .t-pl,
html.lang-en .hero__cta > .t-de,
html.lang-en .hero__cta > .t-pl,
html.lang-pl .hero__cta > .t-de,
html.lang-pl .hero__cta > .t-en {
  display: block !important;
  pointer-events: none;
  visibility: hidden;
}
html.lang-de .hero__copy > .t-de,
html.lang-en .hero__copy > .t-en,
html.lang-pl .hero__copy > .t-pl,
html.lang-de .hero__cta > .t-de,
html.lang-en .hero__cta > .t-en,
html.lang-pl .hero__cta > .t-pl {
  display: block !important;
  pointer-events: auto;
  visibility: visible;
}
.hero__cta {
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(0, .88fr);
  justify-content: start;
  max-width: 100%;
  width: 100%;
}
.hero__cta > :nth-child(1),
.hero__cta > :nth-child(2),
.hero__cta > :nth-child(3) { grid-column: 1; grid-row: 1; }
.hero__cta > :nth-child(4),
.hero__cta > :nth-child(5),
.hero__cta > :nth-child(6) { grid-column: 2; grid-row: 1; }

@media (min-width: 921px) {
  .unpot-content .hero__cta .wp-block-button,
  .unpot-content .hero__cta .wp-block-button__link {
    min-width: 0;
    width: 100%;
  }
  .unpot-content .hero__cta .wp-block-button__link {
    font-size: 12px;
    justify-content: center;
    letter-spacing: .045em;
    padding-inline: 17px;
    white-space: nowrap;
  }
}

/* A restrained premium CTA system: soft corners, controlled depth and one
   gold highlight. The arrow is a navigation cue, not an extra graphic. */
.header-cta,
.unpot-content .hero__cta .wp-block-button__link {
  border-radius: 9px;
  box-shadow: 0 12px 28px -18px rgba(34, 36, 38, .72), inset 0 1px 0 rgba(255, 255, 255, .1);
  position: relative;
}
.header-cta::after,
.unpot-content .hero__cta .wp-block-button__link::after {
  color: var(--gold);
  content: "\2192";
  display: inline-block;
  font-size: 1.15em;
  line-height: 1;
  transition: transform .24s ease;
}
.header-cta:hover::after,
.unpot-content .hero__cta .wp-block-button__link:hover::after {
  transform: translateX(4px);
}
.btn--primary.header-cta,
.unpot-content .hero__cta .btn--primary .wp-block-button__link {
  background: linear-gradient(135deg, #202223 0%, #343637 100%);
  border: 1px solid rgba(200, 162, 110, .42);
  color: var(--warm-white);
}
.btn--primary.header-cta:hover,
.unpot-content .hero__cta .btn--primary .wp-block-button__link:hover {
  background: linear-gradient(135deg, #34302a 0%, #a47f4d 100%);
  border-color: var(--gold);
  box-shadow: 0 16px 30px -17px rgba(34, 36, 38, .7);
  color: var(--white);
  transform: translateY(-2px);
}
.unpot-content .hero__cta .btn--ghost .wp-block-button__link {
  background: rgba(255, 255, 255, .38);
  border: 1px solid rgba(164, 127, 77, .72);
  box-shadow: 0 12px 26px -22px rgba(34, 36, 38, .6);
}
.unpot-content .hero__cta .btn--ghost .wp-block-button__link::after {
  color: var(--gold-deep);
}
.unpot-content .hero__cta .btn--ghost .wp-block-button__link:hover {
  background: rgba(200, 162, 110, .13);
  border-color: var(--gold-deep);
  color: var(--charcoal);
  transform: translateY(-2px);
}

@media (max-width: 920px) {
  .hero__cta { justify-content: center; }
}
@media (max-width: 680px) {
  .hero__cta {
    grid-template-columns: minmax(0, 1fr);
  }
  .hero__cta > :nth-child(1),
  .hero__cta > :nth-child(2) { grid-column: 1; grid-row: 1; }
  .hero__cta > :nth-child(3),
  .hero__cta > :nth-child(4) { grid-column: 1; grid-row: 2; }
  .unpot-content .hero__cta .wp-block-button,
  .unpot-content .hero__cta .wp-block-button__link {
    white-space: normal;
  }
}


/* 2.4.4 — keep the contact promise mark circular on phones and tablets. */
.contact__promise::before {
  align-self: flex-start;
  aspect-ratio: 1 / 1;
  box-sizing: border-box;
  flex: 0 0 25px;
  height: 25px;
  line-height: 1;
  max-height: 25px;
  max-width: 25px;
  min-height: 25px;
  min-width: 25px;
  width: 25px;
}

@media (min-width: 601px) {
  .contact__promise::before {
    align-self: center;
  }
}
