:root{
  --bg:#f6f3ed; --ink:#171917; --muted:#676b64; --accent:#b9ff4d; --dark:#17231b;
  --card:#fff; --line:#dcded7; --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}
h1,h2,h3{font-family:Manrope,Inter,sans-serif;line-height:1.08;margin-top:0}
h1{font-size:clamp(3rem,7vw,6.6rem);letter-spacing:-.055em;margin-bottom:28px}
h1 span{color:#526052}
h2{font-size:clamp(2.15rem,4vw,4.2rem);letter-spacing:-.04em}
h3{font-size:1.25rem}
p{font-size:1.05rem;color:var(--muted)}
a{color:inherit}
.container{max-width:var(--max);margin:auto;padding:0 24px}
.narrow{max-width:820px}
.site-header{position:sticky;top:0;background:rgba(246,243,237,.92);backdrop-filter:blur(14px);z-index:50;border-bottom:1px solid rgba(0,0,0,.06)}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between}
.brand{text-decoration:none;font-weight:800;letter-spacing:.07em}
nav{display:flex;align-items:center;gap:26px}
nav a{text-decoration:none;font-size:.94rem;font-weight:600}
.nav-cta{background:var(--ink);color:#fff;padding:11px 17px;border-radius:999px}
.menu-btn{display:none;border:0;background:none;font-size:1.5rem}
.hero{padding:84px 0 80px}
.hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:60px;align-items:center}
.lead{font-size:1.35rem;max-width:720px}
.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;font-weight:800;margin-bottom:18px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:34px 0 28px}
.btn{display:inline-block;text-decoration:none;border:0;border-radius:999px;padding:15px 22px;font-weight:700;font-size:1rem;cursor:pointer}
.btn-primary{background:var(--ink);color:#fff}.btn-secondary{border:1px solid var(--ink);background:transparent}
.trust-row{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.9rem}
.hero-card{background:var(--dark);color:#fff;border-radius:32px;padding:10px;transform:rotate(1.5deg)}
.hero-card-inner{border:1px solid rgba(255,255,255,.16);border-radius:24px;padding:34px}
.hero-card h2{font-size:2.2rem}.hero-card p{color:#bfc8c1}
.small-label{text-transform:uppercase;font-size:.73rem;letter-spacing:.12em}
.mini-list{display:grid;gap:18px;margin-top:34px}
.mini-list div{display:grid;grid-template-columns:44px 1fr;gap:14px;padding-top:18px;border-top:1px solid rgba(255,255,255,.15)}
.mini-list strong{color:var(--accent)}
.section{padding:110px 0}
.alt{background:#ebe9e2}
.section-head{max-width:780px;margin:0 auto 48px;text-align:center}.section-head.left{text-align:left;margin-left:0}
.problem p{font-size:1.25rem}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{background:var(--card);padding:28px;border-radius:24px;border:1px solid var(--line)}
.card .icon{font-size:2rem;margin-bottom:48px}
.card p{font-size:.96rem}
.method{background:var(--dark);color:#fff}.method p{color:#bfc8c1}
.steps{max-width:880px;margin-left:auto}
.step{display:grid;grid-template-columns:70px 1fr;gap:20px;border-top:1px solid rgba(255,255,255,.16);padding:28px 0}
.step>span{font-size:2rem;font-weight:800;color:var(--accent)}
.step h3{margin-bottom:8px}
.quote-section blockquote{font-family:Manrope;font-size:clamp(2rem,4vw,3.8rem);line-height:1.15;letter-spacing:-.035em;margin:0}
.podcast-grid,.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.pod-card{background:var(--ink);color:#fff;border-radius:30px;padding:48px;min-height:320px;display:flex;flex-direction:column;justify-content:flex-end}
.pod-card p{color:#bfc8c1}.pod-badge{font-size:.72rem;font-weight:800;letter-spacing:.16em;margin-bottom:auto}
.wave{font-size:2rem;color:var(--accent);letter-spacing:.08em}
.text-link{font-weight:800;text-decoration:none;border-bottom:1px solid}
.photo-placeholder{aspect-ratio:4/5;background:linear-gradient(145deg,#1b2b21,#5f725f);border-radius:28px;color:#fff;display:grid;place-items:center;font-family:Manrope;font-size:5rem;font-weight:800}
.lead-sm{font-size:1.28rem}
details{border-top:1px solid #c9cbc5;padding:22px 0}
details:last-child{border-bottom:1px solid #c9cbc5}
summary{font-weight:700;font-size:1.08rem;cursor:pointer}
.cta-section{background:var(--bg)}
.cta-box{background:var(--dark);color:#fff;border-radius:34px;padding:54px;display:grid;grid-template-columns:1fr 1fr;gap:50px}
.cta-box p{color:#c5cdc7}.light{color:var(--accent)}
.contact-form{display:grid;gap:15px}
.contact-form label{font-size:.85rem;font-weight:700}
.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:7px;border:1px solid rgba(255,255,255,.2);background:#223027;color:#fff;border-radius:12px;padding:13px;font:inherit}
.btn-light{background:var(--accent);color:#17231b}
.form-msg{font-size:.85rem}
footer{padding:40px 0}
.footer-grid{display:flex;justify-content:space-between;gap:20px}.footer-grid p{margin:4px 0;font-size:.9rem}
@media(max-width:900px){
  nav{display:none}.menu-btn{display:block}.hero-grid,.podcast-grid,.about-grid,.cta-box{grid-template-columns:1fr}.hero{padding-top:55px}
  .cards{grid-template-columns:1fr 1fr}.hero-card{transform:none}.section{padding:78px 0}
}
@media(max-width:600px){
  .cards{grid-template-columns:1fr}.cta-box{padding:30px}.footer-grid{flex-direction:column}
  h1{font-size:3.25rem}.trust-row span:nth-child(even){display:none}
}

.about-portrait{
  width:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
  object-position:center;
  display:block;
  border-radius:28px;
}

.acast-player-wrap{
  margin-top:30px;
  width:100%;
  overflow:hidden;
  border-radius:18px;
}
.acast-player-wrap iframe{
  display:block;
  width:100%;
  border:0;
}

.cta-copy p{
  margin:0 0 18px;
}
.cta-copy p:last-child{
  margin-bottom:0;
}

.language-switcher{
  display:flex;
  align-items:center;
  gap:6px;
  margin-left:4px;
}
.lang-btn{
  appearance:none;
  border:1px solid var(--line);
  background:rgba(255,255,255,.65);
  color:var(--ink);
  border-radius:999px;
  padding:7px 10px;
  font:inherit;
  font-size:.78rem;
  font-weight:700;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:5px;
  opacity:.7;
}
.lang-btn:hover{opacity:1}
.lang-btn.active{
  background:var(--ink);
  color:#fff;
  border-color:var(--ink);
  opacity:1;
}
@media(max-width:900px){
  nav .language-switcher{
    width:100%;
    justify-content:center;
    margin-top:8px;
  }
}
@media(max-width:520px){
  .lang-btn span{display:none}
  .lang-btn{font-size:1.15rem;padding:6px 10px}
}


.analysis-promo{background:#f6f3ed}
.analysis-promo-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:center}
.analysis-mini-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:32px}
.analysis-mini-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.analysis-mini-list span{padding:11px 13px;background:#ebe9e2;border-radius:12px;font-weight:700;font-size:.9rem}
@media(max-width:900px){.analysis-promo-grid{grid-template-columns:1fr}}

.about-photo-frame{width:100%;aspect-ratio:1/1;border-radius:28px;overflow:hidden;background:linear-gradient(145deg,#1b2b21,#5f725f)}.about-photo-frame .about-portrait{height:100%}.about-photo-frame.portrait-fallback:after{content:'PF';height:100%;display:grid;place-items:center;color:#fff;font-family:Manrope;font-size:5rem;font-weight:800}

.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}

/* ===== Mobile layout normalization ===== */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}
*, *::before, *::after { box-sizing: border-box; }
img, iframe, video, svg { max-width: 100%; }

@media (max-width: 900px) {
  .container,
  .container.narrow,
  .hero-grid,
  .cards,
  .section-head,
  .cta-box,
  .footer-grid,
  .about-grid,
  .podcast-grid,
  main section > .container,
  section > .container {
    width: 100%;
    max-width: 100%;
  }

  .container,
  .container.narrow,
  main section > .container,
  section > .container {
    padding-left: 18px;
    padding-right: 18px;
  }

  .hero,
  .section,
  .problem,
  .cta-section,
  footer,
  .card,
  .cta-box,
  .about-card,
  .podcast-card,
  form,
  .contact-form {
    width: 100%;
    max-width: 100%;
  }

  .hero-grid,
  .about-grid,
  .podcast-grid,
  .cards {
    grid-template-columns: 1fr !important;
  }

  .hero-copy,
  .hero-visual,
  .about-copy,
  .about-visual {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  input, textarea, select, button { max-width: 100%; }

  nav {
    max-height: calc(100vh - 76px);
    overflow-y: auto;
    box-shadow: 0 14px 28px rgba(0,0,0,.08);
  }
}

/* ===== Mobile fix: podcast section ===== */
.podcast-grid > *,
.pod-card {
  min-width: 0;
}

.podcast-grid h2,
.podcast-grid h3,
.podcast-grid p,
.podcast-grid a,
.pod-card,
.pod-card * {
  overflow-wrap: anywhere;
  word-break: normal;
}

.wave {
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
}

@media (max-width: 900px) {
  #podden .podcast-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 30px;
    width: 100%;
    max-width: 100%;
    padding-left: 18px;
    padding-right: 18px;
  }

  #podden .podcast-grid > div {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  #podden h2 {
    max-width: 100%;
    font-size: clamp(2rem, 10vw, 3rem);
    line-height: 1.08;
  }

  #podden p,
  #podden .text-link {
    max-width: 100%;
  }

  #podden .pod-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 28px 22px;
    border-radius: 24px;
    overflow: hidden;
  }

  #podden .pod-card h3,
  #podden .pod-card p {
    max-width: 100%;
  }

  #podden .wave {
    width: 100%;
    max-width: 100%;
    font-size: clamp(1rem, 5.5vw, 1.7rem);
    letter-spacing: .04em;
    overflow: hidden;
    white-space: nowrap;
  }
}

@media (max-width: 420px) {
  #podden .pod-card {
    padding: 24px 18px;
  }
  #podden h2 {
    font-size: clamp(1.9rem, 9.5vw, 2.55rem);
  }
}

/* Dedicated habits and body weight test. */
.weight-promo{padding:65px 0 80px;background:#edf1e6;border-top:1px solid var(--line)}
.weight-promo h2{font-size:clamp(2rem,4vw,3.2rem)}

/* Space for both analysis links in the desktop navigation. */
@media(min-width:901px) and (max-width:1200px){nav{gap:12px}nav a{font-size:.82rem}.nav-cta{padding:10px 12px}}
