/* BODYGRAPH PAGE — /bodygraph/
   Premium minimal glass system (CSS-only, safe)
   v-final-optimized-2026-02-01
*/

/* =========================================================
   Local fonts (served from your server)
   ========================================================= */
@font-face{font-family:"Inter";src:url("/design/fonts/woff2/inter/Inter-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Inter";src:url("/design/fonts/woff2/inter/Inter-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"Inter";src:url("/design/fonts/woff2/inter/Inter-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:"Manrope";src:url("/design/fonts/woff2/manrope/Manrope-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"Manrope";src:url("/design/fonts/woff2/manrope/Manrope-Semibold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:"Manrope";src:url("/design/fonts/woff2/manrope/Manrope-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap;}

/* =========================================================
   Tokens / base (scoped only to .page-bodygraph)
   ========================================================= */
.page-bodygraph{
  --font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --font-head:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;

  --glass:rgba(255,255,255,.05);
  --stroke:rgba(255,255,255,.10);
  --stroke-2:rgba(255,255,255,.14);

  --shadow:0 24px 90px rgba(0,0,0,.28);
  --shadow-soft:0 14px 50px rgba(0,0,0,.18);

  --radius-xl:24px;
  --radius-lg:18px;
  --pad-x:clamp(14px,2vw,18px);

  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  letter-spacing:-0.01em;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

@media (prefers-color-scheme: light){
  .page-bodygraph{
    --glass:rgba(0,0,0,.03);
    --stroke:rgba(0,0,0,.08);
    --stroke-2:rgba(0,0,0,.10);
    --shadow:0 24px 80px rgba(0,0,0,.10);
    --shadow-soft:0 14px 44px rgba(0,0,0,.07);
  }
}

/* =========================================================
   Background (only /bodygraph/)
   ========================================================= */
.page-bodygraph #main{
  position:relative;
  background:
    radial-gradient(900px 420px at 12% 8%, rgba(255,255,255,.08), rgba(0,0,0,0) 60%),
    radial-gradient(700px 360px at 92% 18%, rgba(255,255,255,.06), rgba(0,0,0,0) 55%),
    radial-gradient(900px 460px at 40% 98%, rgba(255,255,255,.05), rgba(0,0,0,0) 60%);
}
@media (prefers-color-scheme: light){
  .page-bodygraph #main{
    background:
      radial-gradient(900px 420px at 12% 8%, rgba(0,0,0,.04), rgba(0,0,0,0) 60%),
      radial-gradient(700px 360px at 92% 18%, rgba(0,0,0,.03), rgba(0,0,0,0) 55%),
      radial-gradient(900px 460px at 40% 98%, rgba(0,0,0,.03), rgba(0,0,0,0) 60%);
  }
}

/* =========================================================
   Layout / spacing
   ========================================================= */
.page-bodygraph .container{max-width:1080px;}
@media (min-width:1440px){.page-bodygraph .container{max-width:1180px;}}
.page-bodygraph .bgMain{min-height:60vh;}

.page-bodygraph .bgIntro__container{
  padding:clamp(24px,4vw,44px) var(--pad-x) clamp(14px,2.2vw,22px);
  position:relative;
  z-index:1;
}

.page-bodygraph .bgSection__container,
.page-bodygraph .bgOffer__container,
.page-bodygraph .bgFaq__container{
  padding:clamp(14px,2vw,20px) var(--pad-x) clamp(18px,3vw,30px);
}

.page-bodygraph .pageIntro,
.page-bodygraph .bodygraphSection{
  margin-bottom:clamp(14px,2.4vw,26px);
}

/* =========================================================
   Typography / rhythm
   ========================================================= */
.page-bodygraph p{margin:0 0 12px;}
.page-bodygraph p:last-child{margin-bottom:0;}
.page-bodygraph ul,.page-bodygraph ol{margin:10px 0 0;}
.page-bodygraph li{margin:0 0 8px;}
.page-bodygraph li:last-child{margin-bottom:0;}
.page-bodygraph p,.page-bodygraph li{text-wrap:pretty;}

.page-bodygraph .bgIntro__eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  text-transform:uppercase;letter-spacing:.10em;font-size:12px;opacity:.65;
  margin:0 0 10px;padding:8px 12px;border-radius:999px;
  border:1px solid var(--stroke);
  background:color-mix(in srgb,var(--glass),transparent 20%);
  box-shadow:0 10px 30px rgba(0,0,0,.10);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}

.page-bodygraph .bgIntro__title{
  font-family:var(--font-head);
  font-weight:700;
  font-size:clamp(30px,4.2vw,52px);
  line-height:1.06;
  letter-spacing:-0.045em;
  margin:0 0 12px;
  text-shadow:0 1px 0 rgba(0,0,0,.12);
}
@media (prefers-color-scheme: light){.page-bodygraph .bgIntro__title{text-shadow:none;}}

.page-bodygraph .bgIntro__lead{
  font-size:clamp(15px,1.7vw,18px);
  line-height:1.65;
  opacity:.82;
  max-width:760px;
  margin:0;
}

.page-bodygraph .bgSection__head{margin-bottom:14px;max-width:760px;}

.page-bodygraph .bgSection__title,
.page-bodygraph .bgOffer__title,
.page-bodygraph .bgFaq__title{
  font-family:var(--font-head);
  font-weight:600;
  font-size:clamp(18px,2.2vw,22px);
  line-height:1.2;
  letter-spacing:-0.025em;
  margin:0 0 10px;
  position:relative;
  padding-left:14px;
}
.page-bodygraph .bgSection__title::before,
.page-bodygraph .bgOffer__title::before,
.page-bodygraph .bgFaq__title::before{
  content:"";
  position:absolute;
  left:0;top:.35em;
  width:6px;height:14px;border-radius:999px;
  background:rgba(255,255,255,.22);
}
@media (prefers-color-scheme: light){
  .page-bodygraph .bgSection__title::before,
  .page-bodygraph .bgOffer__title::before,
  .page-bodygraph .bgFaq__title::before{background:rgba(0,0,0,.18);}
}

.page-bodygraph .bgSection__sub{
  margin:0;
  opacity:.75;
  line-height:1.55;
  font-size:14px;
  letter-spacing:-0.005em;
}

.page-bodygraph .bgSection__hint{
  margin-top:14px;
  font-size:12px;
  opacity:.65;
  max-width:760px;
  line-height:1.5;
}

/* =========================================================
   Hero glow
   ========================================================= */
.page-bodygraph .pageIntro{
  position:relative;
  padding-top:clamp(6px,1.2vw,14px);
  padding-bottom:clamp(14px,2.2vw,22px);
}
.page-bodygraph .pageIntro::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(700px 220px at 20% 10%, rgba(255,255,255,.08), rgba(0,0,0,0) 65%),
    radial-gradient(520px 200px at 70% 0%, rgba(255,255,255,.06), rgba(0,0,0,0) 62%);
  opacity:.85;
}
@media (prefers-color-scheme: light){
  .page-bodygraph .pageIntro::before{
    background:
      radial-gradient(700px 220px at 20% 10%, rgba(0,0,0,.04), rgba(0,0,0,0) 65%),
      radial-gradient(520px 200px at 70% 0%, rgba(0,0,0,.03), rgba(0,0,0,0) 62%);
  }
}

/* =========================================================
   Section separators + panels (to prevent blending)
   ========================================================= */
.page-bodygraph .bodygraphSection{
  position:relative;
  padding-top:clamp(8px,1.8vw,16px);
}
.page-bodygraph .bodygraphSection::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  transform:translateX(-50%);
  width:min(980px,calc(100% - 28px));
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);
  opacity:.55;
  pointer-events:none;
}
@media (prefers-color-scheme: light){
  .page-bodygraph .bodygraphSection::before{
    background:linear-gradient(90deg,transparent,rgba(0,0,0,.12),transparent);
    opacity:.5;
  }
}

.page-bodygraph .bgSection__container,
.page-bodygraph .bgOffer__container,
.page-bodygraph .bgFaq__container{
  border-radius:var(--radius-xl);
  background:color-mix(in srgb,var(--glass),transparent 55%);
  border:1px solid color-mix(in srgb,var(--stroke),transparent 35%);
  box-shadow:0 10px 40px rgba(0,0,0,.10);
}

/* =========================================================
   Glass cards
   ========================================================= */
.page-bodygraph .embedBox,
.page-bodygraph .bgOffer__card,
.page-bodygraph .bgNext__item,
.page-bodygraph .bgFaq__item{
  border-radius:var(--radius-xl);
  border:1px solid var(--stroke);
  background:var(--glass);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.page-bodygraph .embedBox,
.page-bodygraph .bgOffer__card{
  border-color:var(--stroke-2);
  box-shadow:var(--shadow);
}
@media (max-width:640px){
  .page-bodygraph .embedBox,
  .page-bodygraph .bgOffer__card,
  .page-bodygraph .bgNext__item,
  .page-bodygraph .bgFaq__item{
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
  }
}

/* =========================================================
   Iframe
   ========================================================= */
.page-bodygraph .embedBox{overflow:hidden;}
.page-bodygraph iframe{display:block;}
.page-bodygraph .embedBox iframe{width:100%;min-height:680px;}
@media (min-width:900px){.page-bodygraph .embedBox iframe{min-height:520px;}}

/* =========================================================
   Step “Что дальше” (bgNext)
   ========================================================= */
.page-bodygraph .bgNext{
  display:block;
  margin-top:clamp(14px,2.6vw,26px); /* prevents overlap */
}

.page-bodygraph .bgNext__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}
@media (min-width:480px){.page-bodygraph .bgNext__grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1024px){
  .page-bodygraph .bgNext{
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }
  .page-bodygraph .bgNext__grid{
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    width:100%;
    max-width:900px;
    margin-left:auto;
    margin-right:auto;
    order:1;
  }
}

.page-bodygraph .bgNext__item{padding:14px 14px 12px;}
.page-bodygraph .bgNext__kicker{font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.65;margin:0 0 6px;}
.page-bodygraph .bgNext__title{font-family:var(--font-head);font-weight:700;letter-spacing:-0.01em;margin:0 0 6px;opacity:.98;}
.page-bodygraph .bgNext__text{opacity:.84;line-height:1.55;font-size:14px;margin:0;}

.page-bodygraph .bgNext__cta{
  margin-top:18px;
  margin-bottom:clamp(22px,4vw,38px);
  width:100%;
  max-width:560px;
  margin-left:auto;
  margin-right:auto;
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:center;
  text-align:center;
  order:2;
}

.page-bodygraph .bgNext__note{font-size:12px;opacity:.65;line-height:1.45;max-width:720px;margin:0;}

.page-bodygraph .bgNext__cta a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 20px;
  border-radius:16px;
  font-family:var(--font-head);
  font-weight:600;
  text-decoration:none;
  color:#fff;
  background:linear-gradient(135deg,#2AABEE,#229ED9);
  box-shadow:0 12px 36px rgba(34,158,217,.35);
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;
  will-change:transform;
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .page-bodygraph .bgNext__cta a:hover{
    transform:translateY(-1px);
    filter:brightness(1.05);
    box-shadow:0 16px 44px rgba(34,158,217,.45);
  }
}
.page-bodygraph .bgNext__cta a:active{transform:translateY(0);filter:brightness(.98);}
.page-bodygraph .bgNext__cta a:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(255,255,255,.16),0 12px 36px rgba(34,158,217,.35);
}
@media (prefers-color-scheme: light){
  .page-bodygraph .bgNext__cta a:focus-visible{
    box-shadow:0 0 0 4px rgba(0,0,0,.10),0 12px 36px rgba(34,158,217,.22);
  }
}
.page-bodygraph .bgNext__cta a::before{
  content:"";
  width:18px;height:18px;
  background-color:#fff;
  -webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M22 3 2 10.5l5.7 1.8L18 6.5 9.6 13.1 9.4 18l3.1-3 4.3 3c.6.4 1.1.2 1.3-.6L22 3Z' stroke='black' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
  mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M22 3 2 10.5l5.7 1.8L18 6.5 9.6 13.1 9.4 18l3.1-3 4.3 3c.6.4 1.1.2 1.3-.6L22 3Z' stroke='black' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
}

/* =========================================================
   Offer
   ========================================================= */
.page-bodygraph .bgOffer{margin-bottom:clamp(28px,4vw,44px);} /* more air before FAQ */
.page-bodygraph .bgOffer__card{padding:18px;}

/* Avatar (supports both old and new class just in case) */
.page-bodygraph .bgOffer__avatar,
.page-bodygraph .bgCta__avatar{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:22px;
}
@media (max-width:480px){
  .page-bodygraph .bgOffer__avatar,
  .page-bodygraph .bgCta__avatar{margin-bottom:18px;}
}
.page-bodygraph .bgOffer__avatar img,
.page-bodygraph .bgCta__avatar img{
  width:72px;height:72px;
  object-fit:cover;
  display:block;
  border-radius:999px;
  border:1px solid var(--stroke);
  box-shadow:0 16px 46px rgba(0,0,0,.18);
}
@media (max-width:420px){
  .page-bodygraph .bgOffer__avatar img,
  .page-bodygraph .bgCta__avatar img{width:64px;height:64px;}
}

.page-bodygraph .bgOffer__list{
  margin:0;
  padding-left:16px;
  display:grid;
  gap:10px;
  opacity:.92;
  line-height:1.55;
}
.page-bodygraph .bgOffer__list strong{font-weight:700;letter-spacing:-0.01em;}
.page-bodygraph .bgOffer__actions{margin-top:14px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;}
.page-bodygraph .bgOffer__note{font-size:12px;opacity:.65;line-height:1.45;max-width:720px;margin:0;}

/* =========================================================
   FAQ — CSS-only accordion (details/summary)
   ========================================================= */
.page-bodygraph .bgFaq__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
@media (min-width:480px){.page-bodygraph .bgFaq__grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1024px){.page-bodygraph .bgFaq__grid{grid-template-columns:repeat(3,1fr);gap:14px;}}

/* details card padding already on .bgFaq__item, keep consistent */
.page-bodygraph details.bgFaq__item{padding:14px;}
.page-bodygraph details.bgFaq__item[open]{border-color:color-mix(in srgb,var(--stroke-2),transparent 10%);}

/* summary (question) */
.page-bodygraph .bgFaq__q{
  font-family:var(--font-head);
  font-weight:700;
  font-size:15px;
  letter-spacing:-0.01em;
  opacity:.98;

  position:relative;          /* anchor for + */
  padding-right:40px;         /* room for + */
  margin:0;                   /* important: avoid layout jump */
  cursor:pointer;
  list-style:none;
}

/* remove default marker */
.page-bodygraph .bgFaq__q::-webkit-details-marker{display:none;}
.page-bodygraph .bgFaq__q::marker{content:"";}

/* answer */
.page-bodygraph .bgFaq__a{
  opacity:.84;
  line-height:1.55;
  font-size:14px;
  margin:10px 0 0;
}

/* plus icon */
.page-bodygraph details.bgFaq__item > summary.bgFaq__q::after{
  content:"+";
  position:absolute;
  right:0;
  top:0;
  width:22px;height:22px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  line-height:1;
  background:color-mix(in srgb,var(--glass),transparent 20%);
  border:1px solid var(--stroke);
}
.page-bodygraph details.bgFaq__item[open] > summary.bgFaq__q::after{content:"×";}
@media (prefers-color-scheme: light){
  .page-bodygraph details.bgFaq__item > summary.bgFaq__q::after{color:rgba(0,0,0,.82);}
}

/* =========================================================
   Buttons (generic)
   ========================================================= */
.page-bodygraph .btn{
  border-radius:14px;
  padding:12px 16px;
  text-decoration:none;
  font-family:var(--font-head);
  font-weight:600;
  transition:transform .15s ease,filter .15s ease,opacity .15s ease;
  will-change:transform;
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .page-bodygraph .btn:hover{transform:translateY(-1px);filter:brightness(1.05);}
}
.page-bodygraph .btn:active{transform:translateY(0);filter:brightness(.98);}
.page-bodygraph .btn:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(255,255,255,.14);}
@media (prefers-color-scheme: light){
  .page-bodygraph .btn:focus-visible{box-shadow:0 0 0 4px rgba(0,0,0,.10);}
}

/* =========================================================
   Motion accessibility
   ========================================================= */
@media (prefers-reduced-motion: reduce){
  .page-bodygraph *{scroll-behavior:auto!important;transition:none!important;animation:none!important;}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .page-bodygraph .embedBox,
  .page-bodygraph .bgOffer__card,
  .page-bodygraph .bgNext__item,
  .page-bodygraph .bgFaq__item{
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  }
  .page-bodygraph .embedBox:hover,
  .page-bodygraph .bgOffer__card:hover,
  .page-bodygraph .bgNext__item:hover,
  .page-bodygraph details.bgFaq__item:hover{
    transform:translateY(-2px);
    box-shadow:0 26px 100px rgba(0,0,0,.30);
    border-color:color-mix(in srgb,var(--stroke-2),transparent 10%);
  }
}

/* =========================================================
   Ultra-small screens (320–360px)
   ========================================================= */
@media (max-width:360px){
  .page-bodygraph .bgOffer__card{padding:14px;}
  .page-bodygraph .btn{width:100%;justify-content:center;text-align:center;}
}
