  :root {
    --navy:#101d45; --pink:#df0751; --pink-2:#c90049; --pink-soft:#ffe6ee; --soft:#fff8fa;
    --text:#4a5272; --line:#ece6ee;
    --teal:#13917f; --teal-soft:#e4f6f1; --orange:#e2551d; --orange-soft:#fff1e6;
    --green:#1d8f74; --purple:#5b3fc4; --purple-soft:#f0ebfd; --blue-soft:#e8f3fc;
    --serif:"DM Serif Display", Georgia, "Times New Roman", serif;
    --sans:Manrope, Arial, Helvetica, sans-serif;
    --radius:26px; --shadow:0 18px 50px rgba(20,30,70,.08);
  }
  * { box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body { margin:0; background:var(--soft); color:var(--navy); font:16px/1.55 var(--sans); }
  img { display:block; max-width:100%; height:auto; }
  a { color:inherit; }
  .wrap { width:min(1440px, 100%); margin:0 auto; padding:0 28px; }
  .eyebrow { color:var(--pink); font-weight:700; font-size:14px; letter-spacing:.14em; text-transform:uppercase; margin:0 0 12px; display:flex; align-items:center; gap:18px; }
  .eyebrow.lined::after { content:""; width:74px; height:2px; background:var(--pink); }
  h1, h2, h3 { font-family:var(--serif); font-weight:400; margin:0; line-height:1.05; }
  h2 { font-size:clamp(38px, 5vw, 72px); letter-spacing:-.01em; }
  h2 em, h1 em { font-style:normal; color:var(--pink); }
  .lead { color:var(--text); font-size:clamp(17px, 1.6vw, 22px); margin:14px 0 0; }
  .btn { display:inline-flex; align-items:center; gap:14px; text-decoration:none; font-weight:700; border-radius:999px; }
  .btn-primary { color:#fff; background:linear-gradient(90deg, var(--pink), var(--pink-2)); padding:9px 9px 9px 26px; box-shadow:0 10px 24px rgba(223,7,81,.25); }
  .btn-primary .arrow { background:#fff; color:var(--pink); }
  .arrow { width:36px; height:36px; border-radius:50%; display:inline-grid; place-items:center; flex:none; }
  .arrow svg { width:18px; height:18px; }
  .ring { border:1.5px solid currentColor; background:transparent; }
  .sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

  /* header */
  .topbar { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.86); backdrop-filter:blur(14px); border-bottom:1px solid rgba(236,230,238,.7); }
  .topbar .wrap { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:108px; }
  .brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
  .brand svg { width:58px; height:44px; flex:none; }
  .brand b { display:block; font:400 34px/1 var(--serif); color:var(--navy); }
  .brand b span { color:var(--pink); }
  .brand small { display:block; font-size:13px; color:var(--text); margin-top:3px; }
  .logo { height:96px; width:auto; margin:4px 0; animation:logo-glow 3.2s ease-in-out infinite alternate; }
  .logo-footer { height:120px; margin:0; }
  footer .brand { display:inline-block; background:#fff; border-radius:22px; padding:10px 18px; box-shadow:0 0 26px rgba(223,7,81,.35); }
  @keyframes logo-glow {
    from { filter:drop-shadow(0 0 3px rgba(223,7,81,.30)) drop-shadow(0 0 8px rgba(223,7,81,.15)); }
    to   { filter:drop-shadow(0 0 6px rgba(223,7,81,.55)) drop-shadow(0 0 16px rgba(223,7,81,.30)); }
  }
  .nav { display:flex; gap:4px; align-items:center; }
  .nav a { text-decoration:none; font-size:15px; font-weight:500; padding:10px 18px; border-radius:999px; transition:.2s; }
  .nav a:hover, .nav a[aria-current] { color:var(--pink); background:var(--pink-soft); }
  .actions { display:flex; align-items:center; gap:14px; }
  .icon-btn { width:46px; height:46px; border-radius:50%; border:0; background:#fff; box-shadow:0 6px 18px rgba(20,30,70,.1); display:grid; place-items:center; cursor:pointer; color:var(--navy); }
  .icon-btn svg { width:20px; height:20px; }
  .menu-btn { display:none; }
  .searchbar { display:none; border-top:1px solid var(--line); background:#fff; }
  .searchbar.open { display:block; }
  .searchbar form { display:flex; gap:10px; padding:14px 0; }
  .searchbar input { flex:1; font:inherit; padding:12px 18px; border:1px solid var(--line); border-radius:999px; }
  .searchbar button { font:inherit; font-weight:700; color:#fff; background:var(--pink); border:0; border-radius:999px; padding:0 22px; cursor:pointer; }

  /* hero */
  .hero { position:relative; overflow:hidden; background:linear-gradient(100deg, #fff4f8 0%, #fdeef3 55%, #fbe7ee 100%); }
  .hero .wrap { display:grid; grid-template-columns:1.5fr 1fr; align-items:center; min-height:500px; }
  .hero-copy { position:relative; z-index:2; padding:40px 0 130px; }
  .hero .eyebrow { gap:10px; }
  .hero .eyebrow i { font-style:normal; opacity:.7; }
  .hero h1 { font-size:clamp(40px, 4.2vw, 64px); letter-spacing:-.015em; text-shadow:0 0 28px rgba(255,244,248,.9); }
  @media (min-width:1201px) { .hero h1 em { white-space:nowrap; } }
  .hero h1 em { display:block; }
  .hero h1::after { content:""; display:block; width:60px; height:4px; border-radius:4px; background:var(--pink); margin:22px 0 4px; }
  .hero .lead { max-width:600px; }
  .hero .btn-primary { margin-top:30px; font-size:19px; }
  .hero-img { position:absolute; right:0; top:0; bottom:0; width:50%; z-index:1; }
  .hero-img img { width:100%; height:100%; object-fit:cover; object-position:right top;
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 22%); mask-image:linear-gradient(90deg, transparent 0, #000 22%); }

  /* stages */
  .stages { position:relative; z-index:3; margin-top:-96px; background:rgba(255,255,255,.95); border-radius:var(--radius); box-shadow:var(--shadow); display:grid; grid-template-columns:96px repeat(5, 1fr); padding:22px 16px; gap:0; }
  .stages > p { margin:0; align-self:center; font-weight:800; font-size:14px; line-height:1.4; text-transform:uppercase; }
  .stages > p::after { content:""; display:block; width:38px; height:3px; background:var(--pink); margin-top:10px; }
  .stage { display:flex; gap:12px; align-items:center; padding:4px 10px; border-left:1px solid var(--line); }
  .stage:first-of-type { border-left:0; }
  .stage img { width:84px; height:84px; border-radius:50%; object-fit:cover; flex:none; }
  .stage h3 { font:700 16px/1.25 var(--sans); }
  .stage p { margin:5px 0 8px; font-size:13px; color:var(--text); line-height:1.45; }
  .stage a { font-size:14px; font-weight:700; text-decoration:none; white-space:nowrap; }
  .c-pink { color:var(--pink); } .c-teal { color:var(--teal); } .c-orange { color:var(--orange); } .c-green { color:var(--green); } .c-purple { color:var(--purple); }

  /* tools row */
  .tools { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:26px auto 0; }
  .card { background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; }
  .check { display:grid; grid-template-columns:1fr 1fr; position:relative; }
  .check-copy { padding:26px 10px 26px 28px; }
  .check h2, .explore h2 { font-size:clamp(28px, 2.4vw, 36px); }
  .check p, .explore > div > p { color:var(--text); margin:8px 0 14px; font-size:15px; }
  .check ul { list-style:none; padding:0; margin:0 0 22px; }
  .check li { display:flex; gap:10px; align-items:center; margin:7px 0; font-size:15px; color:var(--text); }
  .check li::before { content:"✓"; width:22px; height:22px; border-radius:50%; background:var(--pink); color:#fff; font-size:12px; font-weight:800; display:grid; place-items:center; flex:none; }
  .btn-soft { background:var(--pink-soft); color:var(--pink); padding:8px 8px 8px 24px; font-size:17px; border:0; cursor:pointer; font-family:inherit; }
  .btn-soft .arrow { background:var(--pink); color:#fff; }
  .check-img { align-self:end; }
  .check-img img { width:100%; height:auto; max-height:340px; object-fit:contain; object-position:right bottom; }
  .explore { display:grid; grid-template-columns:1fr 210px; gap:16px; padding:22px; }
  .tiles { display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin-top:16px; }
  .tile { border-radius:16px; padding:16px; text-decoration:none; display:flex; flex-direction:column; gap:6px; transition:transform .2s; }
  .tile:hover { transform:translateY(-3px); }
  .tile .ico { width:38px; height:38px; border-radius:10px; display:grid; place-items:center; background:rgba(255,255,255,.7); }
  .tile .ico svg { width:22px; height:22px; }
  .tile b { font-size:17px; line-height:1.2; margin-top:10px; }
  .tile span { font-size:13px; color:var(--text); flex:1; }
  .tile .arrow { width:28px; height:28px; color:#fff; margin-top:8px; }
  .tile .arrow svg { width:14px; height:14px; }
  .t-pink { background:#ffedf1; color:var(--pink); } .t-pink .arrow { background:#f47791; }
  .t-blue { background:var(--blue-soft); color:var(--navy); } .t-blue .ico { color:#1a8fd6; } .t-blue .arrow { background:#56b4ec; }
  .t-orange { background:var(--orange-soft); color:var(--orange); } .t-orange .arrow { background:#f6a35c; }
  .consult { border-radius:16px; overflow:hidden; display:block; }
  .consult img { width:100%; height:100%; object-fit:cover; object-position:80% top; }

  /* sections */
  section.block { padding:96px 0 40px; scroll-margin-top:108px; }
  .block-head { display:grid; grid-template-columns:1.7fr 1fr; align-items:center; gap:30px; }
  .head-img img { width:100%; border-radius:48% 0 0 48% / 60% 0 0 60%; }

  /* what we do */
  .wwd { display:grid; grid-template-columns:repeat(6, 1fr); gap:20px; margin-top:34px; }
  .wwd article { grid-column:span 2; position:relative; min-height:316px; border-radius:var(--radius); overflow:hidden; padding:28px 30px; box-shadow:var(--shadow); scroll-margin-top:110px; }
  .wwd article.wide { grid-column:span 3; min-height:300px; }
  .wwd .copy { position:relative; z-index:2; max-width:52%; }
  .wwd .wide .copy { max-width:46%; }
  .wwd .num { display:flex; align-items:center; gap:28px; font-weight:800; font-size:18px; }
  .wwd .badge { width:62px; height:62px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.75); }
  .wwd .badge svg { width:30px; height:30px; }
  .wwd hr { width:28px; border:0; border-top:2px solid currentColor; margin:10px 0 18px; opacity:.5; }
  .wwd h3 { font-size:30px; color:var(--navy); }
  .wwd p { color:var(--text); margin:14px 0 22px; font-size:16px; }
  .wwd .arrow { width:46px; height:46px; }
  .wwd img { position:absolute; right:0; top:0; height:100%; width:55%; object-fit:cover; object-position:center top;
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 30%); mask-image:linear-gradient(90deg, transparent 0, #000 30%); }
  .wwd .wide img { width:58%; }
  .bg-pink { background:linear-gradient(120deg, #fff 0%, #fde9ef 100%); color:var(--pink); }
  .bg-teal { background:linear-gradient(120deg, #f4fbf8 0%, #dff3ec 100%); color:var(--teal); }
  .bg-orange { background:linear-gradient(120deg, #fffaf5 0%, #fdeedd 100%); color:var(--orange); }
  .bg-purple { background:linear-gradient(120deg, #f6f2ff 0%, #ebe3fb 100%); color:var(--purple); }
  .bg-rose { background:linear-gradient(120deg, #fff7f6 0%, #fbe5e3 100%); color:#e2394f; }

  /* key areas */
  .ka-quote { border-left:2px solid var(--pink); padding:6px 0 6px 30px; justify-self:end; font:italic 34px/1.15 var(--serif); color:var(--pink); }
  .orbit { display:grid; grid-template-columns:1fr minmax(260px, 360px) 1fr; gap:26px; align-items:center; margin-top:36px; }
  .orbit-col { display:grid; gap:20px; }
  .center { position:relative; }
  .center img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:50%; border:10px solid #fff; box-shadow:0 0 0 2px #f7c9d7, var(--shadow); }
  .area { display:grid; grid-template-columns:1fr 150px; align-items:center; gap:14px; border-radius:110px; padding:16px 18px 16px 36px; text-decoration:none; transition:transform .2s; }
  .area:hover { transform:translateY(-3px); }
  .orbit-col.right .area { grid-template-columns:150px 1fr; padding:16px 36px 16px 18px; }
  .orbit-col.right .area .pic { order:-1; }
  .area .n { font-weight:800; font-size:20px; display:block; }
  .area .n::after { content:""; display:block; width:22px; height:2px; background:currentColor; margin:4px 0 8px; }
  .area h3 { font-size:24px; color:var(--navy); }
  .area p { margin:6px 0 10px; font-size:14px; color:var(--text); line-height:1.4; }
  .area .arrow { width:32px; height:32px; }
  .area .pic { position:relative; }
  .area .pic img { width:150px; height:130px; object-fit:cover; border-radius:50%; }
  .area .pic i { position:absolute; bottom:-6px; left:-14px; width:54px; height:54px; border-radius:50%; display:grid; place-items:center; color:#fff; border:4px solid #fff; box-shadow:0 6px 16px rgba(20,30,70,.15); }
  .orbit-col.right .area .pic i { left:auto; right:-14px; }
  .area .pic i svg { width:24px; height:24px; }
  .a-pink { background:#fdebf0; color:var(--pink); } .a-pink i { background:#f06b8f; }
  .a-green { background:#e8f5ef; color:var(--green); } .a-green i { background:#5bb592; }
  .a-orange { background:#fdf0e3; color:var(--orange); } .a-orange i { background:#ee9a4f; }
  .a-purple { background:#f2ecfc; color:#8f53c9; } .a-purple i { background:#b07ee0; }

  /* footer */
  footer { margin-top:80px; background:var(--navy); color:#d7dbea; font-size:15px; }
  footer .wrap { display:grid; grid-template-columns:1.4fr 1fr 1fr 1.4fr; gap:40px; padding-top:60px; padding-bottom:40px; }
  footer h4 { color:#fff; margin:0 0 14px; font-size:16px; }
  footer ul { list-style:none; margin:0; padding:0; }
  footer li { margin:8px 0; }
  footer a { text-decoration:none; } footer a:hover { color:#fff; text-decoration:underline; }
  footer .brand b { color:#fff; }
  footer .brand small { color:#b9bfd6; }
  footer p { margin:14px 0 0; }
  .legal { border-top:1px solid rgba(255,255,255,.12); }
  .legal .wrap { display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; padding-top:20px; padding-bottom:26px; font-size:13px; }
  .legal nav { display:flex; flex-wrap:wrap; gap:18px; }

  /* chat + dialog */
  .wa { position:fixed; right:24px; bottom:24px; z-index:60; width:60px; height:60px; border-radius:50%; background:#25d366; color:#fff; display:grid; place-items:center; box-shadow:0 10px 26px rgba(0,0,0,.2); }
  .wa svg { width:32px; height:32px; }
  dialog { border:0; border-radius:24px; padding:0; width:min(440px, 92vw); box-shadow:0 30px 80px rgba(16,29,69,.3); color:var(--navy); }
  dialog::backdrop { background:rgba(16,29,69,.45); }
  .dlg { padding:28px; }
  .dlg h2 { font-size:32px; }
  .dlg label { display:block; font-weight:600; margin:16px 0 6px; font-size:14px; }
  .dlg input { width:100%; font:inherit; padding:12px 16px; border:1px solid var(--line); border-radius:14px; }
  .dlg .row { display:flex; gap:10px; margin-top:22px; }
  .dlg button { font:inherit; font-weight:700; border-radius:999px; padding:12px 22px; border:0; cursor:pointer; }
  .dlg .go { background:var(--pink); color:#fff; } .dlg .close { background:#f1eef4; color:var(--navy); }
  .result { margin-top:18px; padding:16px; border-radius:16px; background:var(--soft); display:none; }
  .result.show { display:block; }
  .result strong { font:400 40px/1 var(--serif); }
  .result small { display:block; color:var(--text); margin-top:10px; }

  /* responsive */
  .nav a, .btn { white-space:nowrap; }
  .stage { min-width:0; }
  @media (max-width:1360px) {
    .brand small { display:none; }
    .nav a { padding:9px 12px; }
    .stage { flex-direction:column; align-items:flex-start; }
    .tools { grid-template-columns:1fr; }
  }
  @media (max-width:1200px) {
    .nav a { padding:9px 11px; font-size:14px; }
    .stages { grid-template-columns:repeat(5, 1fr); }
    .stages > p { grid-column:1 / -1; margin-bottom:14px; }
    .stage { flex-direction:column; align-items:flex-start; }
    .stage:first-of-type { border-left:0; }
    .tools { grid-template-columns:1fr; }
    .orbit { grid-template-columns:1fr 1fr; }
    .center { grid-column:1 / -1; width:min(360px, 80%); margin:0 auto; order:-1; }
    footer .wrap { grid-template-columns:1fr 1fr; }
  }
  @media (max-width:980px) {
    .menu-btn { display:grid; }
    .nav { display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; background:#fff; padding:10px 18px 18px; box-shadow:0 18px 30px rgba(20,30,70,.1); }
    .nav.open { display:flex; }
    .topbar .btn-primary { display:none; }
    .hero .wrap { grid-template-columns:1fr; }
    .hero-img { position:relative; width:auto; margin:0 -28px; height:340px; }
    .hero-img img { -webkit-mask-image:linear-gradient(180deg, transparent 0, #000 18%); mask-image:linear-gradient(180deg, transparent 0, #000 18%); object-position:center top; }
    .hero-copy { padding:36px 0 10px; }
    .stages { margin-top:-40px; grid-template-columns:1fr 1fr; }
    .stage { border-left:0; flex-direction:row; align-items:center; padding:10px 6px; }
    .block-head { grid-template-columns:1fr; }
    .ka-quote { justify-self:start; font-size:26px; }
    .wwd { grid-template-columns:1fr 1fr; }
    .wwd article, .wwd article.wide { grid-column:span 1; }
    .orbit { grid-template-columns:1fr; }
    .explore { grid-template-columns:1fr; }
    .consult { max-height:260px; }
  }
  @media (max-width:640px) {
    .wrap { padding:0 16px; }
    .brand b { font-size:26px; } .brand small { display:none; } .brand svg { width:44px; height:34px; }
    .logo { height:72px; } .logo-footer { height:100px; }
    .hero-img { margin:0 -16px; height:280px; }
    .stages { grid-template-columns:1fr; padding:18px; }
    .stage img { width:84px; height:84px; }
    .check { grid-template-columns:1fr; }
    .check-copy { padding:22px; }
    .tiles { grid-template-columns:1fr; }
    .wwd { grid-template-columns:1fr; }
    .wwd article, .wwd article.wide { min-height:280px; padding:24px; }
    .wwd h3 { font-size:26px; }
    .area, .orbit-col.right .area { grid-template-columns:1fr 104px; padding:16px 16px 16px 24px; border-radius:40px; }
    .orbit-col.right .area .pic { order:0; }
    .orbit-col.right .area .pic i { right:auto; left:-14px; }
    .area .pic img { width:104px; height:104px; }
    .area .pic i { width:44px; height:44px; }
    .area h3 { font-size:21px; }
    footer .wrap { grid-template-columns:1fr; gap:26px; }
    .wa { right:16px; bottom:16px; }
  }
  @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; } .logo { animation:none; filter:drop-shadow(0 0 5px rgba(223,7,81,.6)); } }

  /* clickable tiles */
  .stage-link { text-decoration:none; color:inherit; transition:background .2s; border-radius:18px; }
  .stage-link:hover { background:var(--pink-soft); }
  .stage-link .more { font-size:14px; font-weight:700; white-space:nowrap; }
  .card-link { cursor:pointer; transition:transform .2s; }
  .card-link:hover { transform:translateY(-4px); }
  .stretched::after { content:""; position:absolute; inset:0; z-index:3; }
  .result.show { border-left:6px solid #f08a24; }
  .result.show.ok { border-left-color:#1d9d55; }
  .result.show strong { color:#e07412; } .result.show.ok strong { color:#1d9d55; }

  /* preconception page */
  .ticker { overflow:hidden; background:var(--navy); color:#fff; font-weight:600; font-size:14px; }
  .ticker-track { display:flex; gap:56px; width:max-content; padding:10px 0; animation:ticker 40s linear infinite; }
  .ticker-track span::before { content:"✦"; color:#ff7aa5; margin-right:14px; }
  .ticker:hover .ticker-track { animation-play-state:paused; }
  @keyframes ticker { to { transform:translateX(-50%); } }
  .pc-hero { background:linear-gradient(100deg, #fff4f8 0%, #fde9ef 100%); padding:40px 0 56px; }
  .pc-hero .wrap { display:grid; grid-template-columns:1.5fr 1fr; gap:40px; align-items:center; }
  .pc-hero h1 { font-size:clamp(46px, 6vw, 84px); }
  .pc-hero h1 em { font-style:normal; color:var(--pink); }
  .pc-hero p { color:var(--text); max-width:680px; }
  .pc-hero .lead strong { color:var(--navy); font-weight:700; }
  .pc-hero-img img { width:100%; max-width:420px; margin-left:auto; border-radius:48% 48% 28px 28px; box-shadow:var(--shadow); }
  .crumbs { font-size:14px; color:var(--text); margin-bottom:18px; }
  .crumbs a { color:var(--pink); text-decoration:none; }
  .pc-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:26px; }
  .pc-actions .btn, .plan .btn, .info .btn { border:0; cursor:pointer; font:inherit; font-weight:700; }
  .pc-toc { display:flex; flex-wrap:wrap; gap:8px; padding-top:22px; padding-bottom:6px; }
  .pc-toc a { text-decoration:none; font-size:14px; font-weight:600; padding:8px 14px; border-radius:999px; background:#fff; box-shadow:0 4px 14px rgba(20,30,70,.06); }
  .pc-toc a:hover { color:var(--pink); background:var(--pink-soft); }
  .pc-block { padding:64px 0; scroll-margin-top:108px; }
  .pc-block.tint { background:linear-gradient(180deg, #fff 0%, #fdf1f5 100%); }
  .pc-block h2 { font-size:clamp(32px, 4vw, 54px); margin-bottom:26px; }
  .pc-block h3 { font:400 26px/1.15 var(--serif); margin:0 0 12px; }
  .pc-block h3.sub { margin-top:44px; }
  .split { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center; }
  .split.top { align-items:start; }
  .pc-fig { margin:0; background:#fff; border-radius:var(--radius); padding:16px; box-shadow:var(--shadow); }
  .pc-fig img { margin:0 auto; }
  .pc-fig figcaption { text-align:center; color:var(--text); font-size:14px; margin-top:10px; }
  .pc-fig.narrow { max-width:720px; margin:0 auto 26px; }
  .steps { list-style:none; padding:0; margin:0 0 40px; display:grid; grid-template-columns:repeat(5, 1fr); gap:14px; }
  .steps li { background:#fff; border-radius:20px; padding:18px; box-shadow:var(--shadow); display:flex; gap:12px; align-items:center; font-weight:700; }
  .steps b { width:38px; height:38px; border-radius:50%; background:var(--pink); color:#fff; display:grid; place-items:center; flex:none; }
  .ticks { list-style:none; padding:0; margin:0 0 20px; }
  .ticks li { position:relative; padding-left:30px; margin:8px 0; color:var(--text); }
  .ticks li::before { content:"✓"; position:absolute; left:0; top:1px; width:20px; height:20px; border-radius:6px; border:1.5px solid var(--pink); color:var(--pink); font-size:12px; font-weight:800; display:grid; place-items:center; }
  .ticks.cols { columns:2; column-gap:24px; }
  .ticks.cols li { break-inside:avoid; margin:0 0 12px; }
  .cards3 { display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; }
  .info { background:#fff; border-radius:var(--radius); padding:26px; box-shadow:var(--shadow); }
  .info p { color:var(--text); }
  .info img { margin-top:12px; border-radius:14px; }
  .wide-info { margin-top:22px; }
  .bmi-table { width:100%; border-collapse:collapse; margin:4px 0 20px; font-size:15px; }
  .bmi-table td { padding:8px 12px; border-bottom:1px solid var(--line); }
  .bmi-table tr.good td:first-child { color:#1d9d55; font-weight:700; }
  .bmi-table tr.warn td:first-child { color:#e07412; font-weight:700; }
  .foods { display:grid; gap:20px; }
  .note { display:flex; gap:18px; align-items:center; color:var(--text); font-size:15px; background:#fff; border-radius:18px; padding:14px 18px; margin-top:20px; box-shadow:var(--shadow); }
  .note img { flex:none; border-radius:8px; }
  .lead-sm { color:var(--navy) !important; font-size:18px; }
  .cycle { list-style:none; counter-reset:c; padding:0; margin:16px 0 0; display:grid; gap:10px; }
  .cycle li { counter-increment:c; position:relative; background:#f6f1fd; border-radius:16px; padding:12px 16px 12px 54px; }
  .cycle li::before { content:counter(c); position:absolute; left:14px; top:12px; width:28px; height:28px; border-radius:50%; background:var(--purple); color:#fff; font-weight:800; display:grid; place-items:center; font-size:14px; }
  .cycle li:not(:last-child)::after { content:"↓"; position:absolute; left:23px; bottom:-15px; color:var(--purple); font-weight:800; z-index:1; }
  .cycle b { display:block; } .cycle span { color:var(--text); font-size:14px; }
  .cycle-back { color:var(--purple) !important; font-weight:700; margin:12px 0 0; }
  .table-wrap { overflow-x:auto; background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); }
  table.data { border-collapse:collapse; width:100%; min-width:720px; font-size:15px; }
  table.data caption { text-align:left; padding:16px 20px; font-weight:800; color:#fff; background:#ee6f8d; }
  table.data th, table.data td { padding:12px 16px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; color:var(--text); }
  table.data thead th { color:var(--navy); background:#fdf0f4; }
  table.data tbody th { color:var(--navy); }
  table.checks thead th:not(:first-child), table.checks td.dot { text-align:center; width:120px; }
  table.checks td.dot span { color:#ee6f8d; font-size:18px; }
  table.checks tr.grp th { background:#fdf0f4; color:var(--navy); }
  .small { font-size:13px; color:var(--text); margin-top:10px; }
  .snapshot { display:grid; grid-template-columns:150px 1fr; gap:26px; align-items:center; }
  .chart { margin:0; background:#fff; border-radius:var(--radius); padding:22px 26px; box-shadow:var(--shadow); }
  .chart figcaption { font-weight:800; margin-bottom:12px; }
  .chart ul { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
  .chart li { display:grid; grid-template-columns:minmax(150px, 270px) 1fr 48px; gap:12px; align-items:center; font-size:14px; color:var(--text); }
  .chart .bar { height:14px; background:#f6eef2; border-radius:999px; overflow:hidden; }
  .chart .bar i { display:block; height:100%; min-width:4px; background:linear-gradient(90deg, #f06b8f, var(--pink)); border-radius:999px; }
  .chart b { color:var(--navy); text-align:right; }
  .consult-band { background:var(--navy); color:#fff; }
  .consult-band .wrap { display:flex; gap:40px; align-items:center; }
  .consult-band img { width:240px; border-radius:22px; flex:none; }
  .consult-band h2 { color:#fff; margin-bottom:12px; }
  .consult-band p { color:#d7dbea; margin:0 0 22px; }
  .tiles.res { grid-template-columns:repeat(4, 1fr); }
  .plans { display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; }
  .plan { background:#fff; border-radius:var(--radius); padding:24px; box-shadow:var(--shadow); display:flex; flex-direction:column; align-items:flex-start; }
  .plan p { color:var(--text); flex:1; }
  .plan .ticks { flex:1; }
  .plan-wide { grid-column:1 / -1; flex-direction:row; justify-content:space-between; gap:30px; align-items:center; background:linear-gradient(120deg, #fff 0%, #fde9ef 100%); }
  .plan-wide img { width:260px; }
  .tag { font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:5px 12px; border-radius:999px; margin-bottom:12px; }
  .tag.free { background:#e4f6ec; color:#1d8f4f; } .tag.paid { background:var(--pink-soft); color:var(--pink); }
  .impact { background:linear-gradient(135deg, var(--pink), var(--pink-2)); color:#fff; border-radius:var(--radius); padding:34px; box-shadow:0 18px 40px rgba(223,7,81,.25); }
  .impact h3 { font-size:32px !important; color:#fff; }
  .impact p, #adolescents .impact p { color:#ffe6ee; margin:0; }
  #adolescents p { color:var(--text); }
  .myths { display:grid; gap:12px; }
  .myths details { background:#fff; border-radius:18px; box-shadow:0 6px 20px rgba(20,30,70,.06); padding:4px 22px; }
  .myths summary { cursor:pointer; font-weight:700; padding:14px 0; list-style:none; display:flex; gap:14px; align-items:baseline; }
  .myths summary::-webkit-details-marker { display:none; }
  .myths summary span { flex:none; font-size:12px; font-weight:800; text-transform:uppercase; color:var(--pink); background:var(--pink-soft); padding:4px 10px; border-radius:999px; }
  .myths summary::after { content:"+"; margin-left:auto; font-size:22px; color:var(--pink); }
  .myths details[open] summary::after { content:"–"; }
  .myths p { margin:0 0 16px; color:var(--text); border-left:4px solid #f7a8c2; padding-left:14px; }
  .myths p b { color:var(--pink); }
  @media (max-width:1100px) {
    .steps { grid-template-columns:repeat(3, 1fr); }
    .cards3, .plans, .tiles.res { grid-template-columns:1fr 1fr; }
  }
  @media (max-width:820px) {
    .pc-hero .wrap, .split { grid-template-columns:1fr; }
    .pc-hero-img img { margin:0 auto; max-width:300px; }
    .steps { grid-template-columns:1fr 1fr; }
    .cards3, .plans, .tiles.res { grid-template-columns:1fr; }
    .snapshot { grid-template-columns:1fr; } .snapshot > img { display:none; }
    .chart li { grid-template-columns:1fr 44px; } .chart .bar { grid-column:1 / -1; grid-row:2; }
    .consult-band .wrap { flex-direction:column; align-items:flex-start; }
    .plan-wide { flex-direction:column; align-items:flex-start; }
    .ticks.cols { columns:1; }
    .note { flex-direction:column; align-items:flex-start; }
  }
  @media (prefers-reduced-motion:reduce) { .ticker-track { animation:none; flex-wrap:wrap; width:auto; } }

  /* key areas wheel (preconception page) */
  .ka-wheel { position:relative; margin:0 auto; width:min(100%, 560px); aspect-ratio:1; border-radius:50%;
    background:radial-gradient(circle at 50% 50%, #fff 0 34%, #fdf0f5 34% 60%, #fff7fa 60% 100%); box-shadow:var(--shadow); }
  .ka-ring { position:absolute; inset:9%; border-radius:50%; border:2px dashed #f4b6ca; }
  .ka-ring::after { content:""; position:absolute; inset:-9%; border-radius:50%; background:conic-gradient(from 0deg, #df0751, #f49ac0, #13917f, #f6a35c, #8f53c9, #df0751); opacity:.10; }
  .ka-mother { position:absolute; left:50%; top:50%; width:44%; aspect-ratio:1; object-fit:cover; transform:translate(-50%, -50%);
    border-radius:50%; border:8px solid #fff; box-shadow:0 0 0 3px #f7c9d7, 0 18px 44px rgba(223,7,81,.22); }
  .ka-wheel ul { list-style:none; margin:0; padding:0; }
  .ka-wheel li { position:absolute; width:118px; transform:translate(-50%, -32px); display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; }
  .ka-wheel li i { width:64px; height:64px; border-radius:50%; display:grid; place-items:center; color:#fff; border:4px solid #fff;
    box-shadow:0 10px 22px rgba(20,30,70,.16); transition:transform .25s; }
  .ka-wheel li:hover i { transform:scale(1.08); }
  .ka-wheel li i svg { width:28px; height:28px; }
  .ka-wheel li span { font-size:13px; font-weight:700; line-height:1.25; color:var(--navy); background:rgba(255,255,255,.92); padding:4px 10px; border-radius:999px; box-shadow:0 4px 12px rgba(20,30,70,.08); }
  .tone-pink i { background:linear-gradient(135deg, #f7709a, #df0751); }
  .tone-teal i { background:linear-gradient(135deg, #3cc4ad, #13917f); }
  .tone-green i { background:linear-gradient(135deg, #6fd29a, #1d9d55); }
  .tone-orange i { background:linear-gradient(135deg, #f9b56b, #e2551d); }
  .tone-purple i { background:linear-gradient(135deg, #b98cf0, #6b3fc4); }
  .ka-wheel .n1 { left:50%; top:9%; }  .ka-wheel .n2 { left:79%; top:21%; }
  .ka-wheel .n3 { left:91%; top:50%; } .ka-wheel .n4 { left:79%; top:79%; }
  .ka-wheel .n5 { left:50%; top:91%; } .ka-wheel .n6 { left:21%; top:79%; }
  .ka-wheel .n7 { left:9%; top:50%; }  .ka-wheel .n8 { left:21%; top:21%; }
  @media (max-width:640px) {
    .ka-wheel { aspect-ratio:auto; border-radius:var(--radius); background:linear-gradient(180deg, #fff, #fdf0f5); padding:24px 16px; }
    .ka-ring { display:none; }
    .ka-mother { position:static; transform:none; width:62%; margin:0 auto 20px; }
    .ka-wheel ul { display:grid; grid-template-columns:1fr 1fr; gap:14px 10px; }
    .ka-wheel li { position:static; transform:none; width:auto; }
    .ka-wheel li i { width:54px; height:54px; } .ka-wheel li i svg { width:24px; height:24px; }
  }

  /* clinical signs infographic (preconception page) */
  .csx { margin:0; background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; }
  .csx-head { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:26px 32px; color:#fff;
    background:linear-gradient(110deg, var(--navy) 0%, #1f2f6e 70%, #3a1d5c 100%); }
  .csx-head h3 { font:400 clamp(28px, 3vw, 40px)/1.1 var(--serif); color:#fff; margin:0; }
  .csx-head p { margin:6px 0 0; color:#d7dbea; font-size:16px; }
  .csx-head svg { width:62px; height:62px; flex:none; color:#ff8fb3; }
  .csx-body { display:grid; grid-template-columns:290px 1fr; gap:20px; padding:22px; background:linear-gradient(180deg, #fff 0%, #fff7fa 100%); }
  .csx-key { background:linear-gradient(180deg, #fff4f8, #fde9ef); border:1px solid #f9d3df; border-radius:22px; padding:22px; }
  .csx-key h4 { font:400 26px/1.1 var(--serif); margin:0 0 6px; color:var(--navy); }
  .csx-key h4::after { content:""; display:block; width:56px; height:3px; border-radius:3px; background:var(--pink); margin:10px 0 16px; }
  .csx-key ul { list-style:none; margin:0; padding:0; display:grid; gap:12px; }
  .csx-key li { display:flex; gap:14px; align-items:center; background:#fff; border-radius:16px; padding:14px; box-shadow:0 6px 16px rgba(20,30,70,.06); }
  .csx-key li i { width:40px; height:40px; flex:none; border-radius:50%; display:grid; place-items:center; color:#fff; font-style:normal; font-weight:800;
    background:linear-gradient(135deg, #f7709a, var(--pink)); box-shadow:0 6px 14px rgba(223,7,81,.3); }
  .csx-key b { display:block; font-size:16.5px; color:var(--navy); line-height:1.25; }
  .csx-key span { display:block; font-size:14px; color:var(--text); margin-top:2px; }
  .csx-panels { display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; }
  .csx-panel { border-radius:20px; padding:16px; border:1px solid var(--p-line); background:var(--p-bg); display:flex; flex-direction:column; }
  .csx-panel.wide { grid-column:1 / -1; }
  .csx-panel h5 { margin:0; font:800 19px/1.25 var(--sans); color:var(--navy); }
  .csx-panel h5 em { font-style:normal; color:var(--p-ink); }
  .csx-panel > p { margin:4px 0 12px; font-size:14.5px; color:var(--text); }
  .csx-photos { display:grid; gap:10px; flex:1; }
  .csx-photos.four { grid-template-columns:repeat(4, 1fr); }
  .csx-photos.two { grid-template-columns:1fr 1fr; }
  .csx-photos figure { margin:0; background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 6px 16px rgba(20,30,70,.08); display:flex; flex-direction:column; }
  .csx-photos img { width:100%; aspect-ratio:4 / 3; object-fit:cover; flex:1; }
  .csx-photos.one img { aspect-ratio:auto; height:100%; min-height:200px; }
  .csx-photos.two img { aspect-ratio:1; }
  .csx-photos figcaption { text-align:center; font-weight:700; font-size:14px; color:var(--navy); padding:8px 6px; background:var(--p-chip); }
  .csx-panel.tone-pink { --p-bg:#fdf0f4; --p-line:#f9cbd9; --p-chip:#fbdbe5; --p-ink:var(--pink); }
  .csx-panel.tone-teal { --p-bg:#ecf8f4; --p-line:#c3e9de; --p-chip:#d3f0e7; --p-ink:#13917f; }
  .csx-panel.tone-orange { --p-bg:#fff5ea; --p-line:#f8d9b6; --p-chip:#fde5c9; --p-ink:#e2551d; }
  .csx-panel.tone-purple { --p-bg:#f4effd; --p-line:#dccdf7; --p-chip:#e6dbfa; --p-ink:#6b3fc4; }
  @media (max-width:1100px) {
    .csx-body { grid-template-columns:1fr; }
    .csx-key ul { grid-template-columns:1fr 1fr; }
  }
  @media (max-width:820px) {
    .csx-panels { grid-template-columns:1fr; }
    .csx-photos.four { grid-template-columns:1fr 1fr; }
    .csx-key ul { grid-template-columns:1fr; }
    .csx-head { padding:20px; } .csx-head svg { width:44px; height:44px; }
    .csx-body { padding:14px; }
  }

  /* footer WhatsApp line */
  .wa-line { display:flex; align-items:center; gap:12px; }
  .wa-icon { width:38px; height:38px; flex:none; border-radius:50%; background:#25d366; color:#fff; display:grid; place-items:center; box-shadow:0 6px 16px rgba(37,211,102,.35); transition:transform .2s; }
  .wa-icon:hover { transform:scale(1.08); text-decoration:none !important; }
  .wa-icon svg { width:22px; height:22px; }
