  :root{
    --navy:#0d2b4e;
    --navy-2:#123a63;
    --green:#4bae63;
    --green-dark:#3a9552;
    --mint:#9adba3;
    --mint-2:#e3f3e6;
    --paper:#f6f8f6;
    --rule:#dbe6e0;
    --ink:#16233a;
    --ink-soft:#4a5a6b;
    --white:#ffffff;
    --container:1180px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'Poppins',sans-serif;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;}
  h1,h2,h3{margin:0;font-weight:500;}
  p{margin:0;}
  button{font-family:inherit;cursor:pointer;}

  ::selection{background:var(--mint);color:var(--navy);}

  :focus-visible{
    outline:2.5px solid var(--green);
    outline-offset:3px;
  }

  /* ---------- ledger paper texture (global) ---------- */
  .ledger-bg{
    background:
      repeating-linear-gradient(
        to bottom,
        transparent 0px,
        transparent 39px,
        var(--rule) 40px
      ),
      var(--paper);
  }

  /* ---------- ledger spine (runs the length of the page) ---------- */
  .spine{
    position:fixed;
    left:48px;
    top:0;
    bottom:0;
    width:1px;
    background:rgba(75,174,99,0.32);
    z-index:1;
    pointer-events:none;
  }
  @media (max-width:860px){ .spine{display:none;} }

  .container{
    max-width:var(--container);
    margin:0 auto;
    padding:0 32px;
    position:relative;
    z-index:2;
  }
  @media (max-width:640px){ .container{padding:0 22px;} }

  .eyebrow{
    font-family:'IBM Plex Mono',monospace;
    font-weight:600;
    font-size:13px;
    letter-spacing:0.2em;
    color:var(--green);
    text-transform:uppercase;
  }

  .section{
    padding:100px 0;
    position:relative;
    scroll-margin-top:76px;
  }
  #top{scroll-margin-top:0;}
  @media (max-width:640px){ .section{padding:64px 0;} }

  /* scroll reveal */
  .reveal{
    opacity:0;
    transform:translateY(18px);
    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;}
    html{scroll-behavior:auto;}
  }

  /* ---------- nav ---------- */
  .nav{
    position:sticky;
    top:0;
    z-index:50;
    background:rgba(246,248,246,0.92);
    backdrop-filter:blur(6px);
    border-bottom:1px solid transparent;
    transition:border-color .3s ease, box-shadow .3s ease;
  }
  .nav.scrolled{
    border-bottom-color:var(--rule);
    box-shadow:0 4px 20px rgba(13,43,78,0.05);
  }
  .nav-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 0;
  }
  .brand{
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
  }
  .brand img{width:30px;height:auto;}
  .brand-word{
    font-family:'Lora',serif;
    font-weight:600;
    font-size:19px;
    color:var(--navy);
  }
  .brand-word em{font-style:italic;color:var(--green);}
  .nav-links{
    display:flex;
    align-items:center;
    gap:34px;
    list-style:none;
    margin:0;padding:0;
  }
  .nav-links a{
    font-size:14.5px;
    font-weight:500;
    text-decoration:none;
    color:var(--ink-soft);
    transition:color .2s ease;
  }
  .nav-links a:hover{color:var(--navy);}
  .nav-cta-wrap{display:flex;align-items:center;gap:14px;}
  .nav-toggle{
    display:none;
    background:none;border:1.5px solid var(--navy);
    border-radius:8px;width:38px;height:38px;
    align-items:center;justify-content:center;
    flex:0 0 auto;
  }
  .nav-toggle span{width:16px;height:1.5px;background:var(--navy);position:relative;}
  .nav-toggle span::before,.nav-toggle span::after{
    content:"";position:absolute;left:0;width:16px;height:1.5px;background:var(--navy);
  }
  .nav-toggle span::before{top:-5px;}
  .nav-toggle span::after{top:5px;}
  .mobile-panel{
    display:none;
    padding:8px 0 20px 0;
    border-top:1px solid var(--rule);
  }
  .mobile-panel.open{display:block;}
  .mobile-panel a{
    display:block;
    padding:12px 0;
    font-size:15px;
    font-weight:500;
    color:var(--ink-soft);
    text-decoration:none;
    border-bottom:1px solid var(--rule);
  }
  @media (max-width:780px){
    .nav-links{display:none;}
    .nav-toggle{display:inline-flex;}
  }
  @media (max-width:420px){
    .nav-cta-wrap .btn-primary{padding:10px 14px;font-size:13.5px;}
  }

  /* ---------- language switcher ---------- */
  .lang-switch{
    display:flex;
    align-items:center;
    gap:2px;
    background:var(--mint-2);
    border:1px solid var(--rule);
    border-radius:8px;
    padding:3px;
  }
  .lang-btn{
    border:none;
    background:none;
    font-family:'IBM Plex Mono',monospace;
    font-weight:600;
    font-size:12px;
    letter-spacing:.03em;
    color:var(--ink-soft);
    padding:6px 9px;
    border-radius:6px;
    transition:background .2s ease,color .2s ease;
  }
  .lang-btn:hover{color:var(--navy);}
  .lang-btn.active{background:var(--green);color:#fff;}
  .mobile-panel .lang-switch{margin-top:14px;}

  /* ---------- buttons ---------- */
  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:12px 22px;
    border-radius:8px;
    font-size:14.5px;
    font-weight:600;
    text-decoration:none;
    border:1.5px solid transparent;
    transition:transform .15s ease, box-shadow .15s ease, background .2s ease, color .2s ease;
    white-space:nowrap;
  }
  .btn-primary{
    background:var(--green);
    color:#fff;
    box-shadow:0 2px 0 var(--green-dark);
  }
  .btn-primary:hover{transform:translateY(-1px);box-shadow:0 3px 0 var(--green-dark);}
  .btn-primary:active{transform:translateY(1px);box-shadow:0 1px 0 var(--green-dark);}
  .btn-ghost{
    background:transparent;
    border-color:var(--navy);
    color:var(--navy);
  }
  .btn-ghost:hover{background:var(--navy);color:#fff;}
  .btn-on-navy{
    border-color:rgba(255,255,255,0.55);
    color:#fff;
  }
  .btn-on-navy:hover{background:#fff;color:var(--navy);}

  .hero{
    padding:76px 0 100px 0;
  }
  .hero-grid{
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    gap:56px;
    align-items:center;
  }
  @media (max-width:940px){
    .hero-grid{grid-template-columns:1fr;}
  }
  .hero-eyebrow{margin-bottom:16px;}
  .hero h1{
    font-family:'Lora',serif;
    font-style:italic;
    font-weight:500;
    font-size:50px;
    line-height:1.2;
    color:var(--navy);
    max-width:600px;
  }
  @media (max-width:640px){ .hero h1{font-size:36px;} }
  .hero-sub{
    margin-top:22px;
    font-size:17px;
    line-height:1.6;
    color:var(--ink-soft);
    max-width:520px;
  }
  .hero-ctas{
    margin-top:34px;
    display:flex;
    gap:16px;
    flex-wrap:wrap;
  }
  .hero-tags{
    margin-top:40px;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
  }
  .tag{
    font-family:'IBM Plex Mono',monospace;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:0.05em;
    color:var(--navy);
    background:var(--mint-2);
    border:1px solid var(--mint);
    border-radius:5px;
    padding:6px 11px;
  }

  /* ledger report card */
  .report-card{
    background:#fff;
    border:1px solid var(--rule);
    border-radius:14px;
    box-shadow:0 30px 60px -25px rgba(13,43,78,0.28);
    padding:28px 28px 22px 28px;
    position:relative;
    max-width:440px;
    margin:0 auto;
  }
  .report-card::before{
    content:"";
    position:absolute;
    inset:10px;
    border:1px dashed var(--rule);
    border-radius:9px;
    pointer-events:none;
  }
  .report-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    margin-bottom:18px;
  }
  .report-title{
    font-family:'Lora',serif;
    font-style:italic;
    font-weight:600;
    font-size:19px;
    color:var(--navy);
  }
  .report-period{
    font-family:'IBM Plex Mono',monospace;
    font-size:11.5px;
    color:var(--ink-soft);
    margin-top:4px;
  }
  .report-stamp{
    font-family:'IBM Plex Mono',monospace;
    font-size:11px;
    font-weight:600;
    color:var(--green-dark);
    background:var(--mint-2);
    border:1px solid var(--mint);
    border-radius:20px;
    padding:5px 11px;
    white-space:nowrap;
  }
  .report-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:11px 0;
    border-top:1px dotted var(--rule);
    font-size:14.5px;
  }
  .report-row:first-of-type{border-top:none;}
  .report-row .label{color:var(--ink-soft);}
  .report-row .value{
    font-family:'IBM Plex Mono',monospace;
    font-weight:600;
    color:var(--navy);
  }
  .report-row.total{
    border-top:1.5px solid var(--navy);
    margin-top:4px;
    padding-top:14px;
  }
  .report-row.total .label{color:var(--navy);font-weight:600;font-family:'Poppins',sans-serif;}
  .report-row.total .value{color:var(--green-dark);font-size:16px;}
  .report-bars{
    display:flex;
    align-items:flex-end;
    gap:6px;
    height:52px;
    margin-top:20px;
  }
  .report-bars span{
    flex:1;
    background:var(--mint);
    border-radius:3px 3px 0 0;
  }
  .report-bars span:last-child{background:var(--green);}

  .section-head{
    max-width:640px;
    margin-bottom:56px;
  }
  .section-head h2{
    font-family:'Lora',serif;
    font-style:italic;
    font-weight:500;
    font-size:34px;
    color:var(--navy);
    margin-top:14px;
    line-height:1.25;
  }
  @media (max-width:640px){ .section-head h2{font-size:27px;} }

  .ledger-list{
    border-top:1px solid var(--rule);
  }
  .ledger-item{
    display:grid;
    grid-template-columns:64px 1fr;
    gap:26px;
    padding:34px 0;
    border-bottom:1px solid var(--rule);
  }
  .ledger-idx{
    width:52px;
    height:52px;
    border-radius:50%;
    border:1.5px solid var(--green);
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:'IBM Plex Mono',monospace;
    font-weight:600;
    font-size:17px;
    color:var(--green);
  }
  .ledger-item h3{
    font-family:'Poppins',sans-serif;
    font-weight:700;
    font-size:21px;
    color:var(--navy);
  }
  .ledger-item p{
    margin-top:9px;
    font-size:16px;
    line-height:1.6;
    color:var(--ink-soft);
    max-width:640px;
  }
  .ledger-langs{
    display:flex;
    gap:9px;
    margin-top:14px;
  }
  .lang-chip{
    font-family:'IBM Plex Mono',monospace;
    font-weight:600;
    font-size:12.5px;
    color:var(--navy);
    background:var(--mint);
    border-radius:4px;
    padding:5px 10px;
  }
  @media (max-width:560px){
    .ledger-item{grid-template-columns:44px 1fr;gap:16px;}
    .ledger-idx{width:40px;height:40px;font-size:14px;}
  }

  .why{
    background:var(--navy);
    color:#fff;
    position:relative;
    overflow:hidden;
  }
  .why::after{
    content:"";
    position:absolute;
    inset:0;
    background:repeating-linear-gradient(
      to bottom,
      transparent 0px,
      transparent 39px,
      rgba(255,255,255,0.045) 40px
    );
    pointer-events:none;
  }
  .why .eyebrow{color:var(--mint);}
  .why .section-head h2{color:#fff;}
  .why-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:1px;
    background:rgba(255,255,255,0.14);
    border:1px solid rgba(255,255,255,0.14);
    border-radius:14px;
    overflow:hidden;
  }
  @media (max-width:760px){ .why-grid{grid-template-columns:1fr;} }
  .why-cell{
    background:var(--navy-2);
    padding:34px 32px;
  }
  .why-cell-idx{
    width:40px;
    height:40px;
    border-radius:50%;
    border:1.5px solid var(--mint);
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:'IBM Plex Mono',monospace;
    font-weight:600;
    font-size:14px;
    color:var(--mint);
    margin-bottom:16px;
  }
  .why-cell h3{
    font-family:'Poppins',sans-serif;
    font-weight:700;
    font-size:19px;
    color:#fff;
  }
  .why-label{
    margin-top:9px;
    font-size:15px;
    color:rgba(255,255,255,0.78);
    line-height:1.55;
  }
  .why-langs{
    display:flex;
    gap:8px;
    margin-top:14px;
  }
  .why-langs .lang-chip{
    background:rgba(154,219,163,0.16);
    border:1px solid rgba(154,219,163,0.5);
    color:var(--mint);
  }

  .contact-grid{
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:64px;
    align-items:start;
  }
  @media (max-width:860px){ .contact-grid{grid-template-columns:1fr;gap:48px;} }

  .stamp-wrap{display:flex;justify-content:center;padding-top:8px;}
  .stamp-rotate{transform:rotate(-8deg);}

  .contact-note{
    margin-top:26px;
    font-size:15.5px;
    line-height:1.65;
    color:var(--ink-soft);
    max-width:380px;
  }

  .form-card{
    background:#fff;
    border:1px solid var(--rule);
    border-radius:14px;
    padding:34px;
  }
  @media (max-width:480px){ .form-card{padding:24px;} }
  .field{margin-bottom:20px;}
  .field label{
    display:block;
    font-size:13.5px;
    font-weight:600;
    color:var(--navy);
    margin-bottom:7px;
  }
  .field input,
  .field textarea{
    width:100%;
    border:1.5px solid var(--rule);
    border-radius:8px;
    padding:12px 14px;
    font-family:'Poppins',sans-serif;
    font-size:15px;
    color:var(--ink);
    background:var(--paper);
    transition:border-color .2s ease;
  }
  .field input:focus,
  .field textarea:focus{
    outline:none;
    border-color:var(--green);
  }
  .field textarea{resize:vertical;min-height:110px;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  @media (max-width:480px){ .form-row{grid-template-columns:1fr;} }
  .form-submit{width:100%;padding:13px 22px;font-size:15px;border:none;}
  .form-msg{
    margin-top:14px;
    font-size:14px;
    color:var(--green-dark);
    font-weight:600;
    display:none;
  }
  .form-msg.show{display:block;}

  .footer{
    background:var(--navy);
    padding:52px 0 28px 0;
  }
  .footer-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:32px;
    flex-wrap:wrap;
    padding-bottom:32px;
    border-bottom:1px solid rgba(255,255,255,0.14);
  }
  .footer-brand{display:flex;align-items:center;gap:10px;}
  .footer-brand img{width:26px;}
  .footer-brand span{
    font-family:'Lora',serif;
    font-style:italic;
    font-weight:600;
    font-size:19px;
    color:#fff;
  }
  .footer-links{
    display:flex;
    gap:28px;
    list-style:none;
    margin:0;padding:0;
    flex-wrap:wrap;
  }
  .footer-links a{
    font-size:14px;
    color:rgba(255,255,255,0.75);
    text-decoration:none;
  }
  .footer-links a:hover{color:#fff;}
  .footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:14px 28px;
    padding-top:22px;
  }
  .footer-legal{
    display:flex;
    gap:22px;
    list-style:none;
    margin:0;padding:0;
    flex-wrap:wrap;
  }
  .footer-legal a{
    font-size:12.5px;
    color:rgba(255,255,255,0.55);
    text-decoration:none;
    transition:color .2s ease;
  }
  .footer-legal a:hover{color:#fff;}
  .footer-copy{
    font-family:'IBM Plex Mono',monospace;
    font-size:12px;
    color:rgba(255,255,255,0.55);
  }
  /* ---------- urgency banner ---------- */
  .urgency-banner{
    background:var(--navy);
    color:#fff;
    position:relative;
    z-index:51;
  }
  .urgency-banner__inner{
    display:flex;
    flex-wrap:wrap;
    gap:8px 24px;
    padding:10px 0;
    justify-content:center;
    align-items:center;
  }
  .urgency-banner__item{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    font-weight:500;
    color:rgba(255,255,255,0.92);
    text-align:center;
  }
  .urgency-banner__icon{
    color:var(--mint);
    font-size:14px;
    flex:0 0 auto;
  }
  .urgency-banner__ctas{
    display:flex;
    flex-wrap:wrap;
    gap:8px 14px;
    align-items:center;
    justify-content:center;
  }
  .urgency-banner__link{
    font-size:12.5px;
    font-weight:600;
    color:#fff;
    text-decoration:underline;
    text-underline-offset:2px;
    white-space:nowrap;
  }
  .urgency-banner__link:hover{color:var(--mint);}
  .urgency-banner__link--primary{
    text-decoration:none;
    background:var(--green);
    color:#fff;
    padding:4px 12px;
    border-radius:20px;
  }
  .urgency-banner__link--primary:hover{background:var(--green-dark);color:#fff;}
  @media (max-width:780px){
    .urgency-banner__inner{flex-direction:column;gap:6px;padding:9px 0;}
  }

  /* ---------- nav phone/whatsapp icons ---------- */
  .nav-icon-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border-radius:8px;
    border:1.5px solid var(--rule);
    color:var(--navy);
    transition:border-color .2s ease,color .2s ease,background .2s ease;
    flex:0 0 auto;
  }
  .nav-icon-link:hover{border-color:var(--green);color:var(--green-dark);background:var(--mint-2);}
  @media (max-width:520px){ .nav-icon-link{display:none;} }

  /* ---------- hero direct contact row ---------- */
  .hero-direct{
    margin-top:18px;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:14px 20px;
  }
  .hero-direct__note{
    font-size:13.5px;
    color:var(--ink-soft);
  }
  .hero-direct__link{
    display:inline-flex;
    align-items:center;
    gap:7px;
    font-size:14px;
    font-weight:600;
    color:var(--navy);
    text-decoration:none;
  }
  .hero-direct__link:hover{color:var(--green-dark);}

  /* ---------- pricing packages ---------- */
  .packages-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
    align-items:stretch;
  }
  @media (max-width:1100px){ .packages-grid{grid-template-columns:repeat(2,1fr);max-width:680px;margin:0 auto;} }
  @media (max-width:560px){ .packages-grid{grid-template-columns:1fr;max-width:420px;} }
  .package-card{
    background:#fff;
    border:1.5px solid var(--rule);
    border-radius:16px;
    padding:22px 18px;
    display:flex;
    flex-direction:column;
    position:relative;
  }
  .package-card__name{
    font-family:'Lora',serif;
    font-style:italic;
    font-weight:600;
    font-size:22px;
    line-height:1.25;
    color:var(--navy);
    min-height:56px;
    display:flex;
    align-items:center;
  }
  .package-card__audience{
    margin-top:6px;
    font-size:14px;
    color:var(--ink-soft);
    line-height:1.5;
    min-height:42px;
  }
  .package-card__price{
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid var(--rule);
    display:flex;
    align-items:baseline;
    flex-wrap:nowrap;
    gap:5px;
  }
  .package-card__amount{
    font-family:'IBM Plex Mono',monospace;
    font-weight:600;
    font-size:15px;
    color:var(--navy);
    white-space:nowrap;
  }
  .package-card__price span:last-child{font-size:12px;color:var(--ink-soft);white-space:nowrap;}
  @media (max-width:1100px){ .package-card__amount{font-size:18px;} .package-card__price span:last-child{font-size:13px;} }
  .package-card__list{
    list-style:none;
    margin:20px 0 0 0;
    padding:0;
    flex:1;
  }
  .package-card__list li{
    display:flex;
    align-items:flex-start;
    gap:9px;
    font-size:14.5px;
    color:var(--ink-soft);
    padding:7px 0;
  }
  .package-card__list .pkg-check{flex:0 0 auto;margin-top:1px;}
  .package-card__cta{margin-top:auto;padding-top:16px;width:100%;}
  .packages-note{
    margin-top:24px;
    font-size:13.5px;
    color:var(--ink-soft);
    text-align:center;
    max-width:720px;
    margin-left:auto;
    margin-right:auto;
  }

  /* highlight the 5th (strategy) service row */
  .ledger-item--highlight{
    background:var(--mint-2);
    margin:0 -24px;
    padding-left:24px;
    padding-right:24px;
    border-radius:10px;
    border-bottom-color:transparent;
  }
  @media (max-width:640px){ .ledger-item--highlight{margin:0 -16px;padding-left:16px;padding-right:16px;} }

  /* ---------- sample monthly report section ---------- */
  .riport-sub{
    margin-top:14px;
    font-size:16px;
    line-height:1.6;
    color:var(--ink-soft);
  }
  .riport-grid{
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    gap:32px;
    align-items:stretch;
  }
  @media (max-width:860px){ .riport-grid{grid-template-columns:1fr;} }
  .riport-grid--single{
    grid-template-columns:1fr;
    max-width:860px;
    margin:0 auto;
    justify-items:center;
  }
  .riport-video{
    background:#0a1e38;
    border-radius:14px;
    overflow:hidden;
    border:1px solid var(--rule);
    align-self:start;
    width:100%;
  }
  .riport-video__el{width:100%;display:block;aspect-ratio:16/9;background:#000;}
  .riport-video__placeholder{
    position:relative;
    aspect-ratio:16/9;
    overflow:hidden;
  }
  .riport-video__placeholder img{width:100%;height:100%;object-fit:cover;opacity:.55;}
  .riport-video__play{
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
    width:64px;height:64px;
    border-radius:50%;
    background:var(--green);
    color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-size:20px;
    box-shadow:0 10px 30px rgba(0,0,0,0.35);
  }
  .riport-video__caption{
    padding:14px 18px;
    font-size:13px;
    color:rgba(255,255,255,0.7);
    font-family:'IBM Plex Mono',monospace;
  }
  .riport-actions{display:flex;flex-direction:column;gap:16px;height:100%;}
  .riport-actions__mobile{
    display:block;
    border-radius:12px;
    border:1px solid var(--rule);
    box-shadow:0 24px 48px -30px rgba(13,43,78,0.35);
    max-height:420px;
    width:auto;
    max-width:100%;
    margin:0 auto;
  }
  .riport-actions__buttons{display:flex;flex-direction:column;gap:10px;margin-top:auto;}
  .riport-actions__buttons .btn{width:100%;}
  .riport-actions--center{
    width:100%;
    max-width:360px;
    margin-top:28px;
    height:auto;
  }
  .riport-actions--center .riport-actions__buttons{margin-top:0;}
  @media (max-width:860px){ .riport-actions__mobile{max-height:420px;} }

  /* ---------- how switching works ---------- */
  .switch-steps{background:var(--paper);}
  .steps-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
  }
  @media (max-width:860px){ .steps-grid{grid-template-columns:1fr;} }
  .switch-steps__cta{
    margin-top:36px;
    text-align:center;
  }
  .step-card{
    background:#fff;
    border:1px solid var(--rule);
    border-radius:14px;
    padding:30px 26px;
    position:relative;
  }
  .step-card__idx{
    width:40px;height:40px;
    border-radius:50%;
    background:var(--navy);
    color:var(--mint);
    font-family:'IBM Plex Mono',monospace;
    font-weight:700;
    font-size:17px;
    display:flex;align-items:center;justify-content:center;
    margin-bottom:16px;
  }
  .step-card h3{
    font-family:'Poppins',sans-serif;
    font-weight:700;
    font-size:18px;
    color:var(--navy);
    line-height:1.35;
  }
  .step-card p{
    margin-top:10px;
    font-size:14.5px;
    line-height:1.6;
    color:var(--ink-soft);
  }

  /* ---------- contact: call / whatsapp row ---------- */
  .contact-direct{
    margin-top:28px;
    padding:20px;
    background:#fff;
    border:1px solid var(--rule);
    border-radius:12px;
  }
  .contact-direct__title{
    font-size:14px;
    font-weight:600;
    color:var(--navy);
    margin-bottom:12px;
  }
  .contact-direct__buttons{display:flex;gap:12px;flex-wrap:wrap;}
  .contact-direct__buttons .btn{flex:1 1 auto;}

  /* ---------- footer phone ---------- */
  .footer-contact{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }
  .footer-phone{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:14px;
    font-weight:600;
    color:#fff;
    text-decoration:none;
  }
  .footer-phone span{font-weight:400;color:rgba(255,255,255,0.65);}
  .footer-phone:hover{color:var(--mint);}

  .footer-tag{
    font-family:'IBM Plex Mono',monospace;
    font-size:12px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--mint);
  }
/* ---------- közösségi ikonok (2026-10) ---------- */
.vtm-social{display:flex;gap:10px;align-items:center;}
.vtm-social-link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,0.28);color:#fff;text-decoration:none;transition:background .2s,border-color .2s,color .2s;}
.vtm-social-link:hover,.vtm-social-link:focus-visible{background:var(--green);border-color:var(--green);color:#fff;}
.vtm-social-link svg{display:block;}
.footer-contact .vtm-social{margin-top:6px;}

/* ---------- szolgáltatások: kiemelt + partner sorok (2026-10) ---------- */
.ledger-item--highlight + .ledger-item--highlight{margin-top:10px;}
.ledger-sublabel{
  margin:44px 0 0 0;padding-bottom:12px;border-bottom:1px solid var(--rule);
  font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:12.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-soft);
}
.ledger-item--partner{padding:24px 0;}
.ledger-item--partner .ledger-idx{border-style:dashed;border-color:var(--ink-soft);color:var(--ink-soft);}
.ledger-item--partner h3{font-size:18px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;}
.ledger-item--partner p{margin-top:6px;font-size:15px;}
.ledger-tag{
  display:inline-block;padding:3px 9px;border-radius:999px;background:var(--paper);border:1px solid var(--rule);
  font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft);
}

/* ---------- hero: demó riport kivágat (2026-10) ---------- */
.report-card--demo{max-width:460px;padding:20px 20px 16px;background:#EEF2F0;border-color:#D6DDD9;color:#13201A;font-family:'IBM Plex Sans','Poppins',sans-serif;}
.report-card--demo::before{display:none;}
.ds-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;}
.ds-crumb{font-size:10.5px;letter-spacing:.06em;color:#7A8A82;text-transform:uppercase;}
.ds-title{font-family:'Poppins',sans-serif;font-weight:700;font-size:20px;color:#13201A;margin-top:2px;}
.ds-chip{font-size:11.5px;font-weight:600;background:#13201A;color:#fff;border-radius:7px;padding:5px 10px;white-space:nowrap;}
.ds-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.ds-kpi{background:#fff;border:1px solid #D6DDD9;border-radius:10px;padding:10px 12px;min-width:0;}
.ds-lbl{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:#7A8A82;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ds-val{font-family:'IBM Plex Mono',monospace;font-size:19px;font-weight:500;color:#13201A;margin-top:3px;font-variant-numeric:tabular-nums;}
.ds-delta{font-size:11px;color:#4A5A52;margin-top:2px;}
.ds-delta b{font-weight:600;}
.ds-up{color:#1D7A52 !important;} .ds-down{color:#B42318 !important;}
.ds-panel{background:#fff;border:1px solid #D6DDD9;border-radius:10px;padding:10px 12px 6px;margin-top:8px;}
.ds-panel-title{font-family:'Poppins',sans-serif;font-weight:600;font-size:13px;color:#13201A;}
.ds-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:10.5px;color:#4A5A52;margin:4px 0 2px;}
.ds-legend > span{display:inline-flex;align-items:center;gap:5px;}
.ds-sw{display:inline-block;width:9px;height:9px;border-radius:2px;}
.ds-sw--rev{background:#2E8B57;} .ds-sw--exp{background:#3F5E9E;} .ds-sw--res{height:2px;width:12px;background:#B87A0F;border-radius:0;}
.ds-chart{display:block;width:100%;height:auto;}
.ds-cta{display:block;text-align:center;margin-top:12px;font-size:13px;font-weight:600;color:#1D7A52;text-decoration:none;}
.ds-cta:hover{text-decoration:underline;}
@media (max-width:400px){ .ds-val{font-size:17px;} .report-card--demo{padding:16px 14px 14px;} }

/* ---------- Tudásbázis legördülő menü (2026-10) ---------- */
.nav-dd{position:relative;}
.nav-dd-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:0;margin:0;font:inherit;font-size:14.5px;font-weight:500;color:var(--ink-soft);cursor:pointer;transition:color .2s ease;}
.nav-dd-btn:hover,.nav-dd.open .nav-dd-btn{color:var(--navy);}
.nav-dd-btn:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px;}
.nav-dd-btn svg{transition:transform .2s ease;}
.nav-dd.open .nav-dd-btn svg{transform:rotate(180deg);}
.nav-dd-menu{display:none;position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);z-index:60;min-width:220px;list-style:none;margin:0;padding:6px;background:#fff;border:1px solid var(--rule);border-radius:12px;box-shadow:0 18px 40px -18px rgba(13,43,78,0.35);}
.nav-dd-menu::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px;}
.nav-dd.open .nav-dd-menu{display:block;}
@media (hover:hover){ .nav-dd:hover .nav-dd-menu{display:block;} .nav-dd:hover .nav-dd-btn{color:var(--navy);} }
.nav-dd-menu li{margin:0;}
.nav-dd-menu a{display:block;padding:10px 12px;border-radius:8px;font-size:14.5px;font-weight:500;color:var(--ink);text-decoration:none;white-space:nowrap;}
.nav-dd-menu a:hover,.nav-dd-menu a:focus-visible{background:var(--mint-2);color:var(--navy);}
.mobile-group-label{padding:16px 0 4px;font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--green-dark);}
.mobile-panel a.mobile-sub{padding-left:14px;}
.nav:has(.nav-dd.open),.nav:has(.nav-dd:hover),.nav:has(.nav-dd:focus-within){z-index:60;}

/* mobil fejléc v2 (2026-10): mobilon csak logó + konzultáció gomb + hamburger */
@media (max-width:780px){
  .nav-cta-wrap > .lang-switch{display:none;}
  .nav-inner{gap:10px;}
}
@media (max-width:480px){
  .nav-cta-wrap{gap:10px;}
  .brand{gap:8px;flex:0 1 auto;min-width:0;}
  .brand img{width:26px;}
  .brand-word{font-size:17px;line-height:1.05;white-space:nowrap;}
  .nav-cta-wrap .btn-primary{padding:9px 12px;font-size:13px;white-space:nowrap;}
}
@media (max-width:400px){
  .brand-word{white-space:normal;}
  .brand-word em{display:block;}
}
.mobile-social{padding:14px 0 2px;}
.mobile-social .vtm-social-link{color:var(--navy);border-color:var(--rule);background:#fff;}
.mobile-social .vtm-social-link:hover{color:#fff;}
.mobile-panel .mobile-social a{border-bottom:1px solid var(--rule);padding:0;}
@media (max-width:380px){ .brand-word{font-size:15.5px;} .brand img{width:24px;} .nav-cta-wrap{gap:8px;} .nav-cta-wrap .btn-primary{padding:8px 10px;font-size:12.5px;} }
/* mobil fejléc v3 (2026-10) */
.mobile-panel .mobile-social{display:flex;gap:12px;padding:16px 0 4px;}
.mobile-panel .mobile-social .vtm-social{gap:12px;}
.mobile-panel .mobile-social a.vtm-social-link{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid var(--rule);border-radius:50%;background:#fff;color:var(--navy);}
.mobile-panel .mobile-social a.vtm-social-link:hover{background:var(--green);border-color:var(--green);color:#fff;}
.mobile-panel .lang-switch{display:inline-flex;}
@media (max-width:480px){
  .nav-inner{min-width:0;}
  .brand-word{white-space:normal;}
  .brand-word em{display:block;}
  .nav-cta-wrap{flex:0 0 auto;}
}
/* mobil fejléc v4 (2026-10): oldalsó margó a fejlécben */
@media (max-width:780px){ .nav .nav-inner{padding-left:20px;padding-right:20px;} }
@media (max-width:380px){ .nav .nav-inner{padding-left:14px;padding-right:14px;} }
