  @font-face{
    font-family:'Vazirmatn';
    src:url(../fonts/vazirmatn-variable.woff2) format('woff2');
    font-weight:100 900;
    font-style:normal;
    font-display:swap;
  }
  @font-face{
    font-family:'Manrope';
    src:url(../fonts/manrope-400.woff2) format('woff2');
    font-weight:400;
    font-style:normal;
    font-display:swap;
  }
  @font-face{
    font-family:'Manrope';
    src:url(../fonts/manrope-700.woff2) format('woff2');
    font-weight:700;
    font-style:normal;
    font-display:swap;
  }

  :root{
    --navy:#102A43;
    --teal:#147D7A;
    --teal-dim:#0f6663;
    --mint:#D9F3EF;
    --bg:#F7F9FA;
    --surface:#FFFFFF;
    --text:#243B53;
    --text-dim:#5C7690;
    --gold:#C8A96B;
    --line: rgba(16,42,67,0.10);
    --shadow: 0 20px 60px -30px rgba(16,42,67,0.35);
    --ink:#0B2036;
    --ink-teal:#147D7A;
    --radius-lg: 28px;
    --radius-md: 18px;
    --radius-sm: 12px;
    --font-fa: 'Vazirmatn','Estedad','IRANSans',Tahoma,'Segoe UI',sans-serif;
    --font-en: 'Manrope','Inter',-apple-system,'Segoe UI',sans-serif;
  }
  @media (prefers-color-scheme: dark){
    :root{
      --navy:#EAF1F7;
      --teal:#2FC2BB;
      --teal-dim:#7fe0da;
      --mint:#0F3634;
      --bg:#081420;
      --surface:#0F233A;
      --text:#E7EEF3;
      --text-dim:#93AAC2;
      --gold:#E2C58C;
      --line: rgba(231,238,243,0.10);
      --shadow: 0 20px 60px -25px rgba(0,0,0,0.6);
    }
  }
  :root[data-theme="dark"]{
    --navy:#EAF1F7;
    --teal:#2FC2BB;
    --teal-dim:#7fe0da;
    --mint:#0F3634;
    --bg:#081420;
    --surface:#0F233A;
    --text:#E7EEF3;
    --text-dim:#93AAC2;
    --gold:#E2C58C;
    --line: rgba(231,238,243,0.10);
    --shadow: 0 20px 60px -25px rgba(0,0,0,0.6);
  }
  :root[data-theme="light"]{
    --navy:#102A43;
    --teal:#147D7A;
    --teal-dim:#0f6663;
    --mint:#D9F3EF;
    --bg:#F7F9FA;
    --surface:#FFFFFF;
    --text:#243B53;
    --text-dim:#5C7690;
    --gold:#C8A96B;
    --line: rgba(16,42,67,0.10);
    --shadow: 0 20px 60px -30px rgba(16,42,67,0.35);
  }

  *{box-sizing:border-box;}
  html{direction:rtl;}
  body{direction:rtl;}
  button, input, textarea, select{
    font-family:inherit; font-size:inherit; color:inherit; direction:rtl; text-align:right;
  }
  @media (prefers-reduced-motion: no-preference){ html{scroll-behavior:smooth;} }
  body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:var(--font-fa);
    line-height:1.8;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img,svg{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  .en{font-family:var(--font-en);}

  .wrap{max-width:1180px;margin:0 auto;padding-inline:24px;}
  @media (max-width:640px){.wrap{padding-inline:18px;}}

  h1,h2,h3,h4{margin:0;font-weight:700;text-wrap:balance;color:var(--navy);}
  p{margin:0;}

  .eyebrow{
    font-family:var(--font-en);
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--teal);
    font-weight:700;
    display:inline-flex;
    align-items:center;
    gap:8px;
  }
  .eyebrow::before{
    content:"";
    width:16px;height:1px;background:var(--teal);
    display:inline-block;
  }

  /* ---------- Nav ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:color-mix(in srgb, var(--bg) 86%, transparent);
    backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding-block:16px;
  }
  .logo{display:flex; align-items:center; gap:10px; font-family:var(--font-en); font-weight:800; font-size:20px; color:var(--navy);}
  .logo .dot{width:9px;height:9px;border-radius:50%;background:var(--teal);}
  .navlinks{display:flex; align-items:center; gap:32px; font-size:14.5px; color:var(--text-dim);}
  .navlinks a{transition:color .2s;}
  .navlinks a:hover, .navlinks a:focus-visible{color:var(--teal);}
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:12px 26px; border-radius:999px; font-weight:700; font-size:14.5px;
    border:1px solid transparent; cursor:pointer; transition:transform .2s, box-shadow .2s, background .2s, color .2s;
  }
  .btn:focus-visible{outline:2px solid var(--teal); outline-offset:3px;}
  .btn-primary{background:var(--teal); color:#fff;}
  .btn-primary:hover{transform:translateY(-2px); box-shadow:0 14px 30px -12px var(--teal);}
  .btn-ghost{background:transparent; color:var(--navy); border-color:var(--line);}
  .btn-ghost:hover{border-color:var(--teal); color:var(--teal);}
  .navcta{display:flex; align-items:center; gap:14px;}
  .menubtn{display:none; background:none; border:none; color:var(--navy); cursor:pointer;}

  @media (max-width:900px){
    .navlinks{display:none;}
    .menubtn{display:block;}
  }

  /* ---------- Hero ---------- */
  .hero{position:relative; padding-block:48px 90px;}
  .hero-frame{
    position:relative; background:var(--surface); border:1px solid var(--line); border-radius:36px;
    padding:64px 32px 44px; overflow:hidden; box-shadow:0 40px 90px -55px rgba(16,42,67,.35);
  }
  .hero-frame::before{
    content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
    background:radial-gradient(60% 50% at 50% 0%, var(--mint) 0%, transparent 70%); opacity:.55;
  }
  .hero-copy{position:relative; max-width:840px; margin:0 auto; text-align:center;}
  .hero-copy .eyebrow{display:inline-flex; align-items:center; gap:8px; background:var(--mint); color:var(--teal-dim); padding:7px 16px; border-radius:999px; letter-spacing:.1em;}
  .hero h1{font-size:clamp(30px,4.6vw,54px); line-height:1.32; margin-block:22px 18px;}
  .circled{position:relative; display:inline-block; color:var(--teal); white-space:nowrap;}
  .circled svg{position:absolute; inset:-14% -9%; width:118%; height:128%; overflow:visible; pointer-events:none;}
  .hero p.lead{font-size:17px; color:var(--text-dim); max-width:52ch; margin-inline:auto;}
  .hero-cta{display:flex; gap:14px; margin-top:32px; flex-wrap:wrap; justify-content:center;}
  .hero-note{margin-top:26px; display:flex; align-items:center; justify-content:center; gap:10px; font-size:13.5px; color:var(--text-dim);}
  .hero-note .avatars{display:flex;}
  .hero-note .avatars span{width:26px;height:26px;border-radius:50%;background:var(--mint); border:2px solid var(--surface); margin-inline-start:-8px; display:inline-block;}

  /* ---- floating dashboard cluster ---- */
  .dash-frame{position:relative; margin-top:64px;}
  .dash-caption{
    display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:20px;
    font-size:12px; font-weight:700; color:var(--text-dim);
  }
  .dash-caption .dots{display:flex; gap:4px;}
  .dash-caption .dots span{width:6px; height:6px; border-radius:50%; background:var(--line);}
  .hero-dash{
    position:relative; display:grid; grid-template-columns:1.05fr 1fr 1.25fr 1fr 1.1fr;
    gap:16px; align-items:start; pointer-events:none; user-select:none;
  }
  .dash-card{
    position:relative; border-radius:18px; padding:16px; min-width:0; cursor:default;
    background:linear-gradient(155deg, rgba(255,255,255,.94), rgba(217,243,239,.5) 60%, rgba(255,255,255,.88));
    -webkit-backdrop-filter:blur(8px) saturate(1.15); backdrop-filter:blur(8px) saturate(1.15);
    border:1px solid rgba(16,42,67,.08);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 24px 48px -30px rgba(16,42,67,.28);
  }
  .dash-card.tall{grid-row:span 2;}
  .dash-3{z-index:3;}

  @keyframes floatDash1{0%,100%{transform:translateY(10px);}50%{transform:translateY(27px);}}
  @keyframes floatDash2{0%,100%{transform:translateY(41px);}50%{transform:translateY(56px);}}
  @keyframes floatDash3{0%,100%{transform:translateY(-22px);}50%{transform:translateY(-6px);}}
  @keyframes floatDash4{0%,100%{transform:translateY(18px);}50%{transform:translateY(33px);}}
  @keyframes floatDash5{0%,100%{transform:translateY(-4px);}50%{transform:translateY(12px);}}
  .dash-1{animation:floatDash1 6.4s ease-in-out infinite;}
  .dash-2{animation:floatDash2 7.2s ease-in-out infinite; animation-delay:.6s;}
  .dash-3{animation:floatDash3 6.8s ease-in-out infinite; animation-delay:.3s;}
  .dash-4{animation:floatDash4 7.6s ease-in-out infinite; animation-delay:.9s;}
  .dash-5{animation:floatDash5 7s ease-in-out infinite; animation-delay:.15s;}

  @media (prefers-reduced-motion: reduce){
    .dash-1,.dash-2,.dash-3,.dash-4,.dash-5{animation:none;}
    .dash-1{transform:translateY(18px);}
    .dash-2{transform:translateY(48px);}
    .dash-3{transform:translateY(-14px);}
    .dash-4{transform:translateY(26px);}
    .dash-5{transform:translateY(4px);}
  }

  .dash-label{display:flex; align-items:center; justify-content:space-between; font-size:12px; font-weight:700; color:var(--navy); margin-bottom:12px;}
  .dash-label .en{color:var(--text-dim); font-weight:600; font-size:10.5px; letter-spacing:.06em;}

  /* appointments list card */
  .dash-appts{display:flex; flex-direction:column; gap:10px;}
  .appt-row{display:flex; align-items:center; gap:10px; font-size:12px;}
  .appt-time{font-family:var(--font-fa); font-weight:700; color:var(--navy); font-size:12px; flex-shrink:0; width:40px;}
  .appt-name{color:var(--text-dim); flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
  .appt-dot{width:8px; height:8px; border-radius:50%; background:var(--line); flex-shrink:0;}
  .appt-row.done .appt-dot{background:var(--teal);}

  /* channel bar chart card */
  .dash-bars{display:flex; align-items:flex-end; gap:10px; height:64px; margin-top:4px;}
  .dash-bars b{flex:1; border-radius:6px 6px 3px 3px; background:var(--mint); display:block;}
  .dash-bars b.hi{background:var(--teal);}
  .dash-bar-labels{display:flex; gap:10px; margin-top:8px;}
  .dash-bar-labels span{flex:1; text-align:center; font-size:9.5px; color:var(--text-dim); font-family:var(--font-en);}

  /* profile centerpiece card */
  .dash-profile{background:linear-gradient(160deg, var(--surface) 45%, var(--mint) 150%); text-align:center; padding:24px 18px;}
  .dash-profile .hr-avatar{width:56px; height:56px; font-size:17px; margin:0 auto 12px;}
  .dash-profile .hr-name{justify-content:center; font-size:15px;}
  .dash-profile .hr-spec{margin-top:4px;}
  .dash-profile .hr-meta{justify-content:center; margin-top:8px;}
  .dash-profile-btn{
    display:inline-flex; margin-top:16px; background:var(--navy); color:#fff; font-size:12.5px; font-weight:700;
    padding:9px 20px; border-radius:999px;
  }

  /* stat + actions card */
  .dash-stat-num{font-family:var(--font-fa); font-weight:800; font-size:26px; color:var(--navy); line-height:1;}
  .dash-stat-sub{font-size:11.5px; color:var(--text-dim); margin-top:4px;}
  .dash-actions{display:flex; gap:8px; margin-top:16px;}
  .dash-actions span{
    flex:1; text-align:center; font-size:11px; font-weight:700; padding:8px 6px; border-radius:999px;
    background:var(--bg); color:var(--navy); border:1px solid var(--line);
  }
  .dash-actions span.fill{background:var(--navy); color:#fff; border-color:transparent;}

  /* growth chart card (reused for dash-5) */
  .hero-chart-svg{width:100%; height:auto; display:block; overflow:visible; margin-top:4px;}
  .hero-chart-labels{
    direction:ltr; display:flex; justify-content:space-between; margin-top:6px;
    font-size:9px; color:var(--text-dim); font-family:var(--font-fa);
  }
  .hero-mock-stats{display:flex; align-items:center; gap:16px; margin-top:14px; padding-top:14px; border-top:1px solid var(--line);}
  .hero-mock-stat-num{font-family:var(--font-fa); font-weight:800; font-size:19px; color:var(--teal); line-height:1;}
  .hero-mock-stat-label{font-size:10.5px; color:var(--text-dim); margin-top:3px;}

  /* small floating bubbles, scoped inside a positioned card */
  .dash-bubble{
    position:absolute; top:-14px; inset-inline-end:-12px; display:flex; align-items:center; gap:8px;
    background:var(--surface); border:1px solid var(--line); border-radius:999px; padding:8px 14px 8px 10px;
    box-shadow:0 14px 30px -16px rgba(16,42,67,.4); font-size:11.5px; font-weight:700; color:var(--navy); z-index:4;
  }
  .dash-bubble .pulse{width:8px;height:8px;border-radius:50%; background:var(--teal); position:relative; flex-shrink:0;}
  .dash-bubble .pulse::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px solid var(--teal);opacity:.5; animation:pulseRing 2s ease-out infinite;}
  @keyframes pulseRing{0%{transform:scale(.6); opacity:.6;} 100%{transform:scale(1.6); opacity:0;}}
  @media (prefers-reduced-motion: reduce){.dash-bubble .pulse::after{animation:none;}}

  .dash-rating{
    position:absolute; top:-14px; inset-inline-start:-10px; display:flex; align-items:center; gap:6px;
    background:var(--navy); color:#fff; border-radius:999px; padding:8px 14px; box-shadow:0 14px 30px -16px rgba(16,42,67,.5);
    font-size:11.5px; font-weight:700; z-index:4;
  }
  .dash-rating b{font-family:var(--font-fa); color:var(--gold);}

  .hr-avatar{
    width:40px; height:40px; border-radius:50%; background:var(--teal); color:#fff; flex-shrink:0;
    display:flex; align-items:center; justify-content:center; font-family:var(--font-fa); font-weight:800; font-size:13px;
  }
  .hr-info{min-width:0;}
  .hr-name{display:flex; align-items:center; gap:6px; font-weight:700; font-size:13.5px; color:var(--navy);}
  .hr-badge{
    width:15px; height:15px; border-radius:50%; background:var(--teal); color:#fff; display:inline-flex;
    align-items:center; justify-content:center; flex-shrink:0;
  }
  .hr-badge svg{width:9px; height:9px;}
  .hr-spec{font-size:11.5px; color:var(--text-dim); margin-top:2px;}
  .hr-meta{display:flex; align-items:center; gap:6px; margin-top:5px; font-size:11.5px; color:var(--text-dim);}
  .hr-stars{color:var(--gold); letter-spacing:1px;}
  .hr-stars b{color:var(--navy); font-family:var(--font-fa); margin-inline-start:3px;}

  @media (max-width:940px){
    .hero-frame{padding:44px 0 30px; border-radius:26px;}
    .hero-copy{padding-inline:22px;}
    .dash-frame{
      margin-top:44px; background:var(--ink); padding:16px 0 20px; border-radius:0;
    }
    .dash-caption{color:rgba(255,255,255,.55); padding-inline:22px; justify-content:flex-start; margin-bottom:16px;}
    .dash-caption .dots span{background:rgba(255,255,255,.25);}
    .hero-dash{
      display:flex; grid-template-columns:none; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory;
      padding-inline:22px; -webkit-overflow-scrolling:touch; scrollbar-width:none; pointer-events:auto;
    }
    .hero-dash::-webkit-scrollbar{display:none;}
    .dash-card{
      flex:0 0 220px; scroll-snap-align:start; grid-row:auto;
    }
    .dash-card.dash-3{flex-basis:240px;}
    .dash-bubble{position:static; width:fit-content; margin-bottom:12px;}
    .dash-rating{position:static; width:fit-content; margin-bottom:12px;}

    @keyframes floatDashM{0%,100%{transform:translateY(0);}50%{transform:translateY(-9px);}}
    .dash-1,.dash-2,.dash-3,.dash-4,.dash-5{animation:floatDashM 5.6s ease-in-out infinite;}
    .dash-2{animation-delay:.5s;}
    .dash-3{animation-delay:.9s;}
    .dash-4{animation-delay:.2s;}
    .dash-5{animation-delay:1.2s;}
  }

  @media (max-width:940px) and (prefers-reduced-motion: reduce){
    .dash-1,.dash-2,.dash-3,.dash-4,.dash-5{animation:none;}
  }

  /* ---------- Section shells ---------- */
  section{padding-block:96px;}
  @media (max-width:640px){section{padding-block:64px;}}
  .section-head{max-width:680px; margin-bottom:56px;}
  .section-head h2{font-size:clamp(26px,3.2vw,38px); margin-top:14px; line-height:1.35;}
  .section-head p{color:var(--text-dim); font-size:16px; margin-top:14px;}
  .center{text-align:center; margin-inline:auto;}
  @media (max-width:640px){
    .problem-lead, .journey-close{text-align:center;}
  }

  .reveal{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}
  @media (prefers-reduced-motion: reduce){.reveal{opacity:1; transform:none; transition:none;}}

  /* ---------- Problem ---------- */
  .problem{background:var(--surface); border-block:1px solid var(--line);}
  .problem-lead{max-width:640px; margin-inline:auto; color:var(--text-dim); font-size:16px; margin-top:16px;}
  .bubbles{display:flex; flex-direction:column; gap:16px; max-width:760px; margin-inline:auto; margin-top:44px;}
  .bubble{
    padding:16px 22px; border-radius:20px; background:var(--bg); border:1px solid var(--line);
    font-size:15.5px; color:var(--text); max-width:82%; position:relative;
  }
  .bubble.alt{align-self:flex-start; background:var(--mint); border-color:transparent;}
  .bubble.me{align-self:flex-end;}
  .problem-close{margin-top:40px; font-size:17px; color:var(--text-dim); max-width:640px; margin-inline:auto;}
  .problem-close b{color:var(--navy); font-weight:700;}

  /* ---------- Intro ---------- */
  .intro-flow{font-size:17px; color:var(--text-dim); max-width:78ch; margin-top:10px;}
  .intro-flow b{color:var(--navy); font-weight:700;}
  .cap-grid{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:1fr; gap:16px; margin-top:40px;}
  .cap-item:nth-child(1),.cap-item:nth-child(6),.cap-item:nth-child(7),.cap-item:nth-child(8){grid-column:span 2;}
  @media (max-width:900px){
    .cap-grid{grid-template-columns:repeat(2,1fr);}
    .cap-item:nth-child(1),.cap-item:nth-child(6),.cap-item:nth-child(7),.cap-item:nth-child(8){grid-column:span 1;}
  }
  @media (max-width:560px){.cap-grid{grid-template-columns:1fr;}}
  .cap-item{
    position:relative; padding:22px; border-radius:var(--radius-md); overflow:hidden;
    background:linear-gradient(155deg, rgba(255,255,255,.92), rgba(217,243,239,.5) 60%, rgba(255,255,255,.85));
    -webkit-backdrop-filter:blur(8px) saturate(1.15); backdrop-filter:blur(8px) saturate(1.15);
    border:1px solid rgba(16,42,67,.08);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 20px 40px -30px rgba(16,42,67,.25);
    display:flex; flex-direction:column; gap:12px; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  }
  .cap-item:hover{transform:translateY(-4px); box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 26px 48px -26px rgba(16,42,67,.3);}
  .cap-icon{
    width:38px; height:38px; border-radius:10px; color:var(--teal-dim); flex-shrink:0;
    background:linear-gradient(160deg, rgba(20,125,122,.16), rgba(20,125,122,.05)); border:1px solid rgba(20,125,122,.16);
    display:flex; align-items:center; justify-content:center;
  }
  .cap-item h3{font-size:15.5px; color:var(--navy); font-weight:700;}
  .cap-item p{font-size:13.5px; color:var(--text-dim);}
  .intro-quote{font-size:21px; line-height:1.7; color:var(--navy); font-weight:700; text-align:center; max-width:56ch; margin:52px auto 0;}

  /* ---------- Journey ---------- */
  .journey{background:var(--ink); color:#fff; position:relative;}
  .journey .section-head h2, .journey .section-head p{color:#fff;}
  .journey .section-head p{color:rgba(255,255,255,.68);}
  .journey .eyebrow{color:var(--ink-teal);}
  .journey .eyebrow::before{background:var(--ink-teal);}

  .jpath{position:relative; padding-top:8px;}
  .jgrid{display:flex; align-items:flex-end; gap:10px; position:relative; padding-top:56px;}
  .jstep{flex:1; min-width:0; display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px;}
  .jnum{
    width:46px; height:46px; border-radius:50%; background:rgba(255,255,255,.06); border:1.5px solid rgba(255,255,255,.28);
    display:flex; align-items:center; justify-content:center; font-family:var(--font-fa); font-weight:800; font-size:14px;
    color:#fff; position:relative; z-index:2; flex-shrink:0;
  }
  .jstep.active .jnum{background:var(--teal); border-color:var(--teal);}
  .jstage-fa{font-weight:700; font-size:14.5px;}
  .jstage-en{font-family:var(--font-en); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--teal-dim);}
  .jdesc{font-size:12px; color:rgba(255,255,255,.72); line-height:1.7;}
  .jchannels{font-size:11px; color:rgba(255,255,255,.5); line-height:1.9; font-family:var(--font-en); letter-spacing:.01em;}
  .jriser{width:3px; border-radius:2px 2px 0 0; background:linear-gradient(to top, var(--teal), rgba(255,255,255,.1)); margin-top:16px; flex-shrink:0;}
  .jstep:nth-child(1) .jriser{height:2px;}
  .jstep:nth-child(2) .jriser{height:20px;}
  .jstep:nth-child(3) .jriser{height:40px;}
  .jstep:nth-child(4) .jriser{height:60px;}
  .jstep:nth-child(5) .jriser{height:80px;}
  .jstep:nth-child(6) .jriser{height:100px;}

  @media (max-width:900px){
    .jgrid{display:flex; flex-direction:column; align-items:stretch; gap:0; padding-top:0; position:relative;}
    .jgrid::before{
      content:""; position:absolute; top:6px; bottom:6px; inset-inline-start:22px; width:2px;
      background:linear-gradient(to bottom, var(--teal), rgba(255,255,255,.12));
    }
    .jstep{
      display:grid; grid-template-columns:46px 1fr; column-gap:16px; row-gap:6px;
      align-items:start; text-align:start; padding-block:22px;
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .jstep:last-child{border-bottom:none;}
    .jstep .jnum{grid-column:1; grid-row:1/4;}
    .jstep > div:nth-child(2){grid-column:2; grid-row:1; min-width:0;}
    .jstep .jdesc{grid-column:2; grid-row:2; min-width:0;}
    .jstep .jchannels{grid-column:2; grid-row:3; min-width:0;}
    .jriser{display:none;}
  }
  .journey-close{margin-top:44px; text-align:center; font-size:15.5px; color:rgba(255,255,255,.75); max-width:56ch; margin-inline:auto;}

  /* ---------- Services ---------- */
  .svc-lead{max-width:74ch; color:var(--text-dim); font-size:16px; margin-top:14px;}
  .svc-list{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:32px;}
  @media (max-width:760px){.svc-list{grid-template-columns:minmax(0,1fr);}}
  .svc-row{
    position:relative; display:flex; flex-direction:column; padding:28px; border-radius:var(--radius-md);
    background:linear-gradient(155deg, rgba(255,255,255,.92), rgba(217,243,239,.5) 60%, rgba(255,255,255,.85));
    -webkit-backdrop-filter:blur(8px) saturate(1.15); backdrop-filter:blur(8px) saturate(1.15);
    border:1px solid rgba(16,42,67,.08); box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 20px 40px -30px rgba(16,42,67,.25);
    width:100%; box-sizing:border-box; min-width:0;
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  }
  .svc-row:hover{transform:translateY(-4px); box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 26px 48px -26px rgba(16,42,67,.3);}
  .svc-head{display:grid; grid-template-columns:44px minmax(0,1fr); column-gap:14px; row-gap:2px; align-items:center; margin-bottom:16px; text-align:start;}
  .svc-num{grid-column:2; grid-row:1; font-family:var(--font-fa); font-size:12.5px; letter-spacing:.08em; color:var(--teal); font-weight:700; min-width:0;}
  .svc-icon{
    grid-column:1; grid-row:1/3; width:44px; height:44px; border-radius:12px; color:var(--teal-dim); flex-shrink:0;
    background:linear-gradient(160deg, rgba(20,125,122,.16), rgba(20,125,122,.05)); border:1px solid rgba(20,125,122,.16);
    display:flex; align-items:center; justify-content:center;
  }
  .svc-head h3{grid-column:2; grid-row:2; font-size:17px; min-width:0;}
  .svc-hook{font-size:16px; font-weight:700; color:var(--navy); text-wrap:balance;}
  .svc-body{color:var(--text-dim); font-size:14.5px; margin-top:12px;}
  .svc-tags{display:flex; flex-wrap:wrap; gap:8px; margin-top:16px;}
  .svc-tag{font-size:12px; padding:5px 12px; border-radius:999px; background:var(--mint); color:var(--teal-dim); font-family:var(--font-en); letter-spacing:.02em;}
  .svc-toggle{
    display:inline-flex; align-items:center; gap:6px; margin-top:10px; padding:0; border:none; background:none;
    color:var(--teal); font-family:inherit; font-size:13.5px; font-weight:700; cursor:pointer;
  }
  .svc-toggle:focus-visible{outline:2px solid var(--teal); outline-offset:3px; border-radius:4px;}
  .svc-toggle-icon{transition:transform .25s ease;}
  .svc-toggle[aria-expanded="true"] .svc-toggle-icon{transform:rotate(180deg);}
  .svc-more{overflow:hidden;}
  .svc-more[hidden]{display:none;}

  .bundle{
    margin-top:44px; border-radius:var(--radius-lg); background:linear-gradient(135deg, var(--ink), var(--ink-teal));
    color:#fff; padding:44px; display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap;
  }
  .bundle h3{color:#fff; font-size:24px;}
  .bundle p{color:rgba(255,255,255,.75); margin-top:10px; max-width:48ch; font-size:15px;}
  .bundle .en{font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); font-weight:700;}
  .bundle-plus{font-family:var(--font-en); font-size:13px; color:rgba(255,255,255,.6); margin-top:16px; line-height:2;}
  .bundle-tagline{margin-top:14px; font-size:14.5px; color:rgba(255,255,255,.88); font-weight:700;}

  /* ---------- Why ---------- */
  .why-lead{max-width:70ch; color:var(--text-dim); font-size:16px; margin-top:14px;}
  .why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px;}
  @media (max-width:900px){.why-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:560px){.why-grid{grid-template-columns:1fr;}}
  .why-item{
    position:relative; padding:26px; border-radius:var(--radius-md);
    background:linear-gradient(155deg, rgba(255,255,255,.95), rgba(217,243,239,.55) 60%, rgba(247,249,250,.9));
    -webkit-backdrop-filter:blur(8px) saturate(1.15); backdrop-filter:blur(8px) saturate(1.15);
    border:1px solid rgba(16,42,67,.08); box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 20px 40px -30px rgba(16,42,67,.2);
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  }
  .why-item:hover{transform:translateY(-4px); box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 26px 48px -26px rgba(16,42,67,.28);}
  .why-icon{
    width:38px; height:38px; border-radius:10px; color:var(--teal-dim);
    background:linear-gradient(160deg, rgba(20,125,122,.16), rgba(20,125,122,.05)); border:1px solid rgba(20,125,122,.16);
    display:flex; align-items:center; justify-content:center; margin-bottom:16px;
  }
  .why-item .en{font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--teal); font-weight:700;}
  .why-item h3{font-size:16.5px; margin-block:8px 8px;}
  .why-item p{font-size:14px; color:var(--text-dim);}

  /* ---------- Transformation ---------- */
  .transform-sub{color:var(--text-dim); font-size:16px; margin-top:12px;}
  .transform-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:44px;}
  @media (max-width:760px){.transform-grid{grid-template-columns:1fr;}}
  .tcard{border-radius:var(--radius-lg); padding:34px 30px;}
  .tcard.before{background:var(--surface); border:1px dashed var(--line);}
  .tcard.after{background:var(--mint);}
  .tcard h3{font-size:15px; font-family:var(--font-fa); letter-spacing:.06em; margin-bottom:22px;}
  .tcard.before h3{color:var(--text-dim);}
  .tcard.after h3{color:var(--teal-dim);}
  .tlist{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px;}
  .tlist li{display:flex; align-items:flex-start; gap:12px; font-size:14.5px;}
  .tlist .mark{flex-shrink:0; width:20px; height:20px; margin-top:2px;}
  .before .mark{color:var(--text-dim);}
  .after .mark{color:var(--teal-dim);}

  /* ---------- Packages ---------- */
  .pkg-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:44px;}
  @media (max-width:900px){.pkg-grid{grid-template-columns:1fr;}}
  .pkg{
    background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-lg); padding:34px 28px;
    display:flex; flex-direction:column; gap:20px;
  }
  .pkg.mid{border-color:var(--teal); box-shadow:var(--shadow);}
  .pkg-name{font-family:var(--font-en); font-weight:800; font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--teal);}
  .pkg h3{font-size:19px;}
  .pkg p.desc{font-size:14px; color:var(--text-dim);}
  .pkg-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; font-size:14.5px;}
  .pkg-list li{display:flex; align-items:center; gap:10px;}
  .pkg-list svg{flex-shrink:0; color:var(--teal);}
  .start-note{
    margin-top:40px; text-align:center; max-width:56ch; margin-inline:auto;
    padding-top:40px; border-top:1px solid var(--line);
  }
  .start-note p{color:var(--text-dim); font-size:15.5px;}
  .start-note .btn{margin-top:20px;}

  /* ---------- FAQ ---------- */
  .faq{max-width:760px; margin-inline:auto; margin-top:12px;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{
    width:100%; text-align:start; background:none; border:none; cursor:pointer; color:var(--navy);
    padding:22px 0; font-size:16.5px; font-weight:700; font-family:inherit;
    display:flex; align-items:center; justify-content:space-between; gap:16px;
  }
  .faq-q:focus-visible{outline:2px solid var(--teal);}
  .faq-q .plus{flex-shrink:0; transition:transform .3s ease; color:var(--teal);}
  .faq-item[open] .faq-q .plus{transform:rotate(45deg);}
  .faq-a{padding-bottom:22px; color:var(--text-dim); font-size:15px; max-width:66ch;}
  .faq-item summary{list-style:none;}
  .faq-item summary::-webkit-details-marker{display:none;}

  /* ---------- Final CTA ---------- */
  .finalcta{
    border-radius:var(--radius-lg); color:#fff; padding:64px 48px; text-align:center;
    position:relative; overflow:hidden; background:var(--ink);
    background-image:linear-gradient(175deg, rgba(11,32,54,.93), rgba(11,32,54,.85) 55%, rgba(11,32,54,.95)), url(../img/cta-consulting-room.jpg);
    background-size:cover; background-position:center;
  }
  .finalcta h2{color:#fff; font-size:clamp(24px,3.4vw,36px);}
  .finalcta p{color:rgba(255,255,255,.7); margin-top:16px; font-size:16px; max-width:58ch; margin-inline:auto;}
  .finalcta p + p{margin-top:10px;}
  .finalcta .hero-cta{justify-content:center;}

  .sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
  .cta-form{margin-top:36px; max-width:560px; margin-inline:auto;}
  .cta-form-row{display:flex; gap:10px; flex-wrap:wrap;}
  .cta-input{
    flex:1 1 160px; min-width:0; padding:13px 18px; border-radius:999px; border:1px solid rgba(255,255,255,.22);
    background:rgba(255,255,255,.06); color:#fff; font-family:inherit; font-size:14.5px;
  }
  .cta-input::placeholder{color:rgba(255,255,255,.5);}
  .cta-input:focus-visible{outline:2px solid var(--teal); outline-offset:2px; border-color:transparent;}
  .cta-form-row .btn{flex:0 0 auto;}
  @media (max-width:560px){ .cta-form-row .btn{flex:1 1 100%;} }
  .cta-form-note{margin-top:12px; font-size:13px; color:rgba(255,255,255,.55); max-width:none;}
  .cta-form-success{
    margin-top:16px; display:flex; align-items:center; justify-content:center; gap:8px;
    color:#fff; background:rgba(47,194,187,.18); border:1px solid rgba(47,194,187,.4);
    border-radius:999px; padding:12px 20px; font-size:14px; font-weight:700;
  }
  .cta-form-success svg{color:var(--ink-teal); flex-shrink:0;}
  .cta-input.invalid{border-color:#e08a8a;}

  /* ---------- Footer ---------- */
  footer{border-top:1px solid var(--line); padding-block:48px;}
  .foot-grid{display:flex; justify-content:space-between; align-items:flex-start; gap:32px; flex-wrap:wrap;}
  .foot-brand{max-width:280px;}
  .foot-brand p{color:var(--text-dim); font-size:14px; margin-top:10px;}
  .foot-links{display:flex; gap:44px; flex-wrap:wrap;}
  .foot-col h4{font-size:12.5px; color:var(--text-dim); font-weight:700; letter-spacing:.06em;}
  .foot-col{display:flex; flex-direction:column; gap:12px;}
  .foot-col a{font-size:14.5px; color:var(--text);}
  .foot-col a:hover{color:var(--teal);}
  .foot-bottom{margin-top:44px; padding-top:24px; border-top:1px solid var(--line); font-size:13px; color:var(--text-dim); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}
