    /* ── Theme transition ── */
    *, *::before, *::after { transition: background-color .3s ease, border-color .3s ease, color .2s ease, box-shadow .3s ease; }

    /* ── Light theme (default) ── */
    :root {
      --blue:       #0B5FA8;
      --blue-dark:  #094E8C;
      --blue-light: #EBF3FB;
      --blue-mid:   #D0E6F7;
      --ink:        #111827;
      --ink2:       #374151;
      --muted:      #6B7280;
      --muted2:     #9CA3AF;
      --bg:         #FAFAFA;
      --bg2:        #F3F4F6;
      --white:      #FFFFFF;
      --border:     #E5E7EB;
      --border2:    #D1D5DB;
      --green:      #0F7B5E;
      --green-bg:   #ECFDF5;
      --shadow-sm:  0 1px 3px rgba(0,0,0,.06);
      --shadow-md:  0 4px 18px rgba(0,0,0,.08);
      --shadow-lg:  0 12px 40px rgba(0,0,0,.1);
      --shadow-blue:0 8px 30px rgba(11,95,168,.25);
      --r-sm: 8px;
      --r-md: 12px;
      --r-lg: 16px;
      --r-xl: 20px;
    }

    /* ── Dark theme ── */
    html[data-theme="dark"] {
      --ink:        #F0F2F7;
      --ink2:       #C4CAD8;
      --muted:      #8B92A5;
      --muted2:     #5E6578;
      --bg:         #0F1117;
      --bg2:        #161B26;
      --white:      #1C2233;
      --border:     #252D3F;
      --border2:    #2F3A52;
      --blue-light: rgba(11,95,168,.2);
      --blue-mid:   rgba(11,95,168,.3);
      --green-bg:   rgba(15,123,94,.18);
      --shadow-sm:  0 1px 3px rgba(0,0,0,.35);
      --shadow-md:  0 4px 18px rgba(0,0,0,.45);
      --shadow-lg:  0 12px 40px rgba(0,0,0,.55);
    }

    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      font-family: 'Manrope', sans-serif;
      background: var(--bg);
      color: var(--ink);
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
    ::selection { background: var(--blue); color: #fff; }
    ::-webkit-scrollbar { width: 4px; }
    ::-webkit-scrollbar-track { background: var(--bg); }
    ::-webkit-scrollbar-thumb { background: var(--border2); border-radius: 2px; }

    .serif { font-family: 'Lora', serif; }
    .section-label {
      font-size: .7rem; font-weight: 600;
      letter-spacing: .16em; text-transform: uppercase;
      color: var(--blue);
    }
    .display-heading {
      font-weight: 800;
      letter-spacing: -.03em;
      line-height: 1.07;
    }

    /* ── Reveal ── */
    .reveal {
      opacity: 0; transform: translateY(18px);
      transition: opacity .6s ease, transform .6s ease;
    }
    .reveal.in { opacity: 1; transform: none; }


    /* ══ NAVBAR BREAKPOINT: 1024px ══ */
    /* Desktop: 1025px felett mindig látható a nav */
    @media (min-width: 1025px) {
      #navbar .navbar-collapse { display: flex !important; flex-wrap: nowrap; flex-basis: auto; }
      #navbar .navbar-toggler  { display: none !important; }
      #navbar .navbar-nav      { flex-direction: row; align-items: center; }
      #navbar .nav-link        { padding: .5rem .8rem !important; margin-top: 0 !important; }
      #navbar .btn-nav         { margin-top: 0 !important; }
      .theme-toggle-desktop    { display: flex !important; }
    }
    /* Mobil/tablet: 1024px-en és alatt hamburger, collapse zárt alapban */
    @media (max-width: 1024px) {
      #navbar .navbar-collapse             { display: none !important; }
      #navbar .navbar-collapse.show        { display: block !important; }
      #navbar .navbar-collapse.collapsing  { display: block !important; }
      #navbar .navbar-toggler              { display: flex !important; }
      .theme-toggle-desktop                { display: none !important; }
    }

    /* ═══ NAVBAR ═══ */
    #navbar {
      background: transparent;
      border-bottom: 1px solid transparent;
      transition: background .35s, border-color .35s, box-shadow .35s, backdrop-filter .35s;
    }
    #navbar.stuck {
      background: rgba(var(--navbar-stuck-rgb, 250,250,250),.92);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border-bottom-color: var(--border);
      box-shadow: var(--shadow-sm);
    }
    /* Mobile dropdown menu background */
    @media (max-width: 1024px) {
      .navbar-collapse {
        background: var(--bg2);
        border: 1px solid var(--border);
        border-radius: var(--r-lg);
        padding: .5rem 1rem 1rem;
        margin-top: .5rem;
        box-shadow: var(--shadow-md);
      }
    }
    .brand-logo-desktop {
      height: 56px;
      width: auto;
      display: block;
    }
    .brand-logo-dark { display: none; }
    html[data-theme="dark"] .brand-logo-light { display: none; }
    html[data-theme="dark"] .brand-logo-dark { display: block; }
    .footer-logo-desktop {
      height: 56px;
      width: auto;
      display: block;
    }
    .nav-link {
      font-size: 0.95rem; font-weight: 500;
      color: var(--muted) !important;
      padding: .5rem .8rem !important;
      transition: color .2s;
      position: relative;
    }
    .nav-link::after {
      content: ''; position: absolute;
      bottom: 3px; left: .8rem;
      width: 0; height: 1.5px; background: var(--blue);
      transition: width .22s;
    }
    .nav-link:hover, .nav-link.active { color: var(--ink) !important; }
    .nav-link:hover::after, .nav-link.active::after { width: calc(100% - 1.6rem); }
    .btn-nav {
      background: var(--blue); color: #fff !important;
      font-weight: 600; font-size: .82rem;
      border-radius: var(--r-sm);
      padding: .5rem 1.2rem !important;
      border: none;
      transition: background .2s, transform .15s, box-shadow .2s;
    }
    .btn-nav:hover { background: var(--blue-dark); transform: translateY(-1px); box-shadow: var(--shadow-blue); }
    .navbar-toggler { width: 40px; height: 40px; border: 1px solid var(--blue); border-radius: var(--r-sm); padding: 0; display: flex; align-items: center; justify-content: center; }
    html[data-theme="dark"] .navbar-toggler { border-color: var(--border2); background: var(--white); }
    .navbar-toggler:focus { box-shadow: none; }
    /* Mobile témaváltó — csak ≤1024px-en látszik, toggler mérettel */
    .theme-toggle-mobile {
      width: 40px; height: 40px;
      border: 1px solid var(--border); border-radius: var(--r-sm);
      background: var(--white); color: var(--ink2);
      display: none; align-items: center; justify-content: center;
      cursor: pointer; font-size: 1rem;
      transition: border-color .2s, color .2s;
    }
    .theme-toggle-mobile:hover { border-color: var(--blue); color: var(--blue); }
    .theme-toggle-mobile .icon-sun,
    .theme-toggle-mobile .icon-moon { display: none; }
    html:not([data-theme="dark"]) .theme-toggle-mobile .icon-moon { display: block; }
    html[data-theme="dark"] .theme-toggle-mobile .icon-sun  { display: block; }
    @media (max-width: 1024px) {
      .theme-toggle-mobile { display: flex; }
      /* ms-auto nincs szükség a wrapper divben, a Bootstrap navbar-brand után balra tolódik */
      #navbar .d-flex.ms-auto { margin-left: auto !important; }
    }
    @media (min-width: 1025px) {
      .theme-toggle-mobile { display: none !important; }
      #navbar .d-flex.ms-auto { margin-left: 0 !important; }
    }
    /* Animált hamburger / X ikon */
    .hamburger-icon { display: block; overflow: visible; }
    .ham-line {
      stroke: var(--blue);
      transition: transform .35s cubic-bezier(.4,0,.2,1), opacity .25s ease;
    }
    html[data-theme="dark"] .ham-line { stroke: #fff; }
    /* Nyitott állapot — X */
    .nav-open .ham-top    { transform: translate(0, 5px)  rotate(45deg);  transform-origin: 9px 4px; }
    .nav-open .ham-mid    { opacity: 0; transform: scaleX(0);             transform-origin: 9px 9px; }
    .nav-open .ham-bottom { transform: translate(0, -5px) rotate(-45deg); transform-origin: 9px 14px; }
    html[data-theme="dark"] .navbar-toggler { border-color: var(--border2); background: var(--white); }

    /* ═══ HERO ═══ */
    #hero {
      min-height: auto;
      padding: 210px 0 170px;
      background:
        linear-gradient(160deg, rgba(11,95,168,.14) 0%, transparent 55%),
        linear-gradient(340deg, rgba(11,95,168,.10) 0%, transparent 50%),
        var(--bg);
      position: relative; overflow: hidden;
    }
    #hero::before {
      content: '';
      position: absolute; top: -180px; right: -160px;
      width: 700px; height: 700px;
      background: radial-gradient(circle, rgba(11,95,168,.22) 0%, transparent 65%);
      pointer-events: none;
    }
    #hero::after {
      content: '';
      position: absolute; bottom: -100px; left: -80px;
      width: 480px; height: 480px;
      background: radial-gradient(circle, rgba(11,95,168,.12) 0%, transparent 65%);
      pointer-events: none;
    }
    .hero-badge {
      display: inline-flex; align-items: center; gap: 8px;
      background: var(--white); border: 1px solid var(--border);
      border-radius: 999px; padding: 6px 16px;
      font-size: .75rem; font-weight: 500; color: var(--ink2);
      box-shadow: var(--shadow-sm);
    }
    .hero-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); animation: pulse-dot 2s ease-in-out infinite; }
    @keyframes pulse-dot { 0%,100%{opacity:1} 50%{opacity:.3} }

    .hero-cta-primary {
      display: inline-flex; align-items: center; gap: 8px;
      background: var(--blue); color: #fff;
      font-weight: 700; font-size: .95rem;
      border-radius: var(--r-md); padding: 14px 28px;
      text-decoration: none; border: none;
      transition: background .2s, transform .15s, box-shadow .2s;
    }
    .hero-cta-primary:hover { background: var(--blue-dark); transform: translateY(-2px); box-shadow: var(--shadow-blue); color: #fff; }
    .hero-cta-secondary {
      display: inline-flex; align-items: center; gap: 8px;
      background: transparent; color: var(--ink2);
      font-weight: 500; font-size: .95rem;
      border-radius: var(--r-md); padding: 14px 28px;
      text-decoration: none;
      border: 1.5px solid var(--border2);
      transition: border-color .2s, color .2s;
    }
    .hero-cta-secondary:hover { border-color: var(--blue); color: var(--blue); }

    .hero-stat-num { font-size: 1.8rem; font-weight: 800; color: var(--ink); letter-spacing: -.04em; line-height: 1; }
    .hero-stat-lbl { font-size: .75rem; font-weight: 500; color: var(--muted); margin-top: 4px; }

    /* Hero visual card */
    .hero-card {
      background: var(--white); border: 1px solid var(--border);
      border-radius: var(--r-xl);
      box-shadow: var(--shadow-lg);
      overflow: hidden;
    }
    .hero-card-head {
      background: var(--bg2); border-bottom: 1px solid var(--border);
      padding: 14px 18px;
      display: flex; align-items: center; justify-content: space-between;
    }
    .step-row {
      display: flex; align-items: flex-start; gap: 14px;
      padding: 16px 20px; border-bottom: 1px solid var(--border);
    }
    .step-row:last-child { border-bottom: none; }
    .step-icon {
      width: 36px; height: 36px; border-radius: var(--r-sm);
      display: flex; align-items: center; justify-content: center;
      font-size: 1rem; flex-shrink: 0; margin-top: 1px;
    }
    .step-badge {
      display: inline-flex; align-items: center; gap: 5px;
      font-size: .65rem; font-weight: 600; padding: 3px 9px;
      border-radius: 999px;
    }

    /* ═══ SECTION BASE ═══ */
    .sec { padding: 170px 0; }
    .sec-alt {
      background:
        linear-gradient(160deg, rgba(11,95,168,.07) 0%, transparent 50%),
        linear-gradient(340deg, rgba(11,95,168,.05) 0%, transparent 45%),
        var(--bg2);
      position: relative;
    }
    html[data-theme="dark"] .sec-alt {
      background:
        linear-gradient(160deg, rgba(11,95,168,.14) 0%, transparent 50%),
        linear-gradient(340deg, rgba(11,95,168,.09) 0%, transparent 45%),
        var(--bg2);
    }
    .sec-white { background: var(--white); }

    /* ═══ PROBLEM / WHY ═══ */
    .problem-card {
      background: var(--white); border: 1px solid var(--border);
      border-radius: var(--r-lg); padding: 28px;
      height: 100%;
      display: flex;
      flex-direction: column;
      transition: box-shadow .25s, transform .25s;
    }
    .problem-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
    .problem-icon {
      width: 48px; height: 48px; border-radius: var(--r-md);
      display: flex; align-items: center; justify-content: center;
      font-size: 1.3rem; margin-bottom: 14px;
    }
    .profile-photo {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: top;
      display: block;
    }

    /* ═══ BLOG ═══ */
    .blog-hero {
      padding: 190px 0 110px;
      background:
        linear-gradient(160deg, rgba(11,95,168,.14) 0%, transparent 55%),
        linear-gradient(340deg, rgba(11,95,168,.08) 0%, transparent 50%),
        var(--bg);
    }
    .blog-feature-card,
    .blog-post-card,
    .blog-topic-card {
      background: var(--white);
      border: 1px solid var(--border);
      border-radius: var(--r-xl);
      box-shadow: var(--shadow-sm);
    }
    .blog-feature-card {
      padding: 32px;
      height: 100%;
    }
    .blog-post-card {
      padding: 28px;
      height: 100%;
      transition: box-shadow .25s, transform .25s, border-color .25s;
    }
    .blog-post-card:hover,
    .blog-topic-card:hover {
      box-shadow: var(--shadow-md);
      transform: translateY(-3px);
      border-color: rgba(11,95,168,.2);
    }
    .blog-topic-card {
      padding: 24px;
      height: 100%;
      transition: box-shadow .25s, transform .25s, border-color .25s;
    }
    .blog-tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 6px 12px;
      border-radius: 999px;
      background: var(--blue-light);
      color: var(--blue);
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: .04em;
      text-transform: uppercase;
    }
    .blog-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      font-size: .78rem;
      color: var(--muted);
      margin-bottom: 16px;
    }
    .blog-meta span {
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    .blog-post-title {
      font-size: 1.2rem;
      font-weight: 800;
      letter-spacing: -.02em;
      line-height: 1.25;
      margin-bottom: 12px;
    }
    .blog-feature-title {
      font-size: clamp(1.9rem, 4vw, 3rem);
      font-weight: 800;
      letter-spacing: -.03em;
      line-height: 1.08;
      margin: 18px 0 14px;
    }
    .blog-visual {
      min-height: 100%;
      border-radius: var(--r-xl);
      padding: 32px;
      background:
        radial-gradient(circle at top right, rgba(255,255,255,.14) 0%, transparent 42%),
        linear-gradient(160deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,.03) 100%),
        var(--blue);
      color: #fff;
      box-shadow: var(--shadow-blue);
    }
    .blog-visual-stat {
      background: rgba(255,255,255,.08);
      border: 1px solid rgba(255,255,255,.14);
      border-radius: var(--r-md);
      padding: 14px 16px;
    }
    .blog-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: var(--blue);
      font-weight: 700;
      text-decoration: none;
    }
    .blog-link:hover { gap: 12px; }

    /* ═══ SERVICES ═══ */
    .svc-card {
      background: var(--white); border: 1px solid var(--border);
      border-radius: var(--r-lg); padding: 28px;
      height: 100%;
      transition: box-shadow .25s, transform .25s, border-color .25s;
    }
    .svc-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); border-color: rgba(11,95,168,.2); }
    .svc-icon {
      width: 50px; height: 50px; border-radius: var(--r-md);
      background: var(--blue-light); color: var(--blue);
      display: flex; align-items: center; justify-content: center;
      font-size: 1.35rem; margin-bottom: 16px;
    }
    .svc-more {
      display: inline-flex; align-items: center; gap: 5px;
      font-size: .82rem; font-weight: 600; color: var(--blue);
      text-decoration: none; margin-top: 12px;
      transition: gap .2s;
    }
    .svc-more:hover { gap: 9px; }

    /* ═══ HOW IT WORKS ═══ */
    .how-step {
      display: flex; gap: 18px; padding-bottom: 32px;
      position: relative;
    }
    .how-step:not(:last-child)::after {
      content: ''; position: absolute;
      left: 20px; top: 44px; bottom: 0;
      width: 1px; background: var(--border);
    }
    .how-num {
      width: 42px; height: 42px; border-radius: 50%;
      border: 1.5px solid var(--blue); background: var(--white);
      display: flex; align-items: center; justify-content: center;
      font-size: .8rem; font-weight: 700; color: var(--blue);
      flex-shrink: 0; z-index: 1;
    }
    .how-body {
      background: var(--white); border: 1px solid var(--border);
      border-radius: var(--r-md); padding: 18px 20px; flex: 1;
      transition: border-color .2s;
    }
    .how-body:hover { border-color: rgba(11,95,168,.25); }

    /* ═══ WORKS / PORTFOLIO ═══ */
    .work-card {
      background: var(--white); border: 1px solid var(--border);
      border-radius: var(--r-lg); overflow: hidden;
      transition: box-shadow .25s, transform .25s;
    }
    .work-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
    .work-bar { height: 4px; }
    .work-chip {
      display: inline-flex; align-items: center;
      font-size: .7rem; font-weight: 600;
      padding: 4px 10px; border-radius: var(--r-sm);
    }
    .work-result {
      font-size: .95rem; font-weight: 800; line-height: 1.2;
    }
    .quote-card {
      background: var(--white); border: 1px solid var(--border);
      border-left: 4px solid var(--blue);
      border-radius: var(--r-lg); padding: 30px 34px;
    }
    .quote-card blockquote {
      font-family: 'Lora', serif; font-style: italic;
      font-size: 1.1rem; color: var(--ink2); line-height: 1.7; margin: 0 0 18px;
    }

    /* ═══ PRICING ═══ */
    .price-card {
      background: var(--white); border: 1.5px solid var(--border);
      border-radius: var(--r-xl); padding: 32px 26px;
      height: 100%;
      transition: box-shadow .25s, border-color .25s;
    }
    .price-card:hover { box-shadow: var(--shadow-md); }
    .price-card.featured {
      background: var(--blue); border-color: var(--blue);
      box-shadow: var(--shadow-blue);
      transform: scale(1.03);
    }
    .price-card.featured:hover { transform: scale(1.04) translateY(-2px); }
    .price-badge {
      display: inline-block; background: rgba(255,255,255,.2);
      color: #fff; font-size: .68rem; font-weight: 600;
      padding: 4px 12px; border-radius: 999px; margin-bottom: 14px;
    }
    .price-name { font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; }
    .price-amount { font-size: 2.1rem; font-weight: 800; letter-spacing: -.04em; line-height: 1; }
    .price-feature { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 10px; font-size: .875rem; }
    .price-feature i { margin-top: 3px; flex-shrink: 0; }
    .btn-p {
      display: block; width: 100%; text-align: center;
      font-weight: 700; font-size: .875rem; border-radius: var(--r-md);
      padding: 13px; text-decoration: none;
      transition: all .2s;
    }
    .btn-p-blue  { background: var(--blue); color: #fff !important; border: none; }
    .btn-p-blue:hover { background: var(--blue-dark); transform: translateY(-1px); box-shadow: var(--shadow-blue); }
    .btn-p-white { background: #fff; color: var(--blue) !important; border: none; }
    .btn-p-white:hover { background: rgba(255,255,255,.9); transform: translateY(-1px); }
    .btn-p-outline { background: transparent; color: var(--ink2) !important; border: 1.5px solid var(--border2); }
    .btn-p-outline:hover { border-color: var(--blue); color: var(--blue) !important; }

    /* ═══ CONTACT ═══ */
    .contact-card {
      background: var(--white); border: 1px solid var(--border);
      border-radius: var(--r-xl); padding: 36px;
      box-shadow: var(--shadow-sm);
    }
    .form-label { font-size: .7rem; font-weight: 600; color: var(--muted); margin-bottom: 5px; text-transform: uppercase; letter-spacing: .06em; }
    .form-control, .form-select {
      background: var(--bg) !important; border: 1.5px solid var(--border) !important;
      border-radius: var(--r-sm) !important; color: var(--ink) !important;
      font-family: 'Manrope', sans-serif; font-size: .875rem;
      padding: 11px 14px !important;
      transition: border-color .2s, box-shadow .2s !important;
    }
    .form-control:focus, .form-select:focus {
      border-color: var(--blue) !important;
      box-shadow: 0 0 0 3px rgba(11,95,168,.1) !important;
      background: var(--white) !important; outline: none !important;
    }
    .form-control::placeholder { color: var(--muted2) !important; }
    .btn-submit {
      width: 100%; background: var(--blue); color: #fff;
      font-weight: 700; font-size: .95rem; border: none;
      border-radius: var(--r-md); padding: 14px;
      display: flex; align-items: center; justify-content: center; gap: 8px;
      cursor: pointer;
      transition: background .2s, transform .15s, box-shadow .2s;
    }
    .btn-submit:hover { background: var(--blue-dark); transform: translateY(-1px); box-shadow: var(--shadow-blue); }
    .btn-submit:disabled { cursor: wait; opacity: .92; }
    .btn-submit-spinner {
      width: 14px; height: 14px;
      border-radius: 50%;
      border: 2px solid rgba(255,255,255,.35);
      border-top-color: #fff;
      display: none;
      animation: spin .7s linear infinite;
    }
    .btn-submit-icon { transition: opacity .2s ease; }
    .is-submitting .btn-submit-spinner { display: inline-block; }
    .is-submitting .btn-submit-icon { opacity: 0; width: 0; overflow: hidden; }
    @keyframes spin { to { transform: rotate(360deg); } }
    .contact-info-item {
      display: flex; align-items: center; gap: 14px;
      padding: 14px 0; border-bottom: 1px solid var(--border);
    }
    .contact-info-item:last-child { border-bottom: none; }
    .ci-icon {
      width: 40px; height: 40px; border-radius: var(--r-sm);
      background: var(--blue-light); color: var(--blue);
      display: flex; align-items: center; justify-content: center;
      font-size: 1.05rem; flex-shrink: 0;
    }
    .form-success { display: none; flex-direction: column; align-items: center; justify-content: center; text-align: center; min-height: 300px; gap: 12px; }
    .form-success.show { display: flex; }
    .success-icon { width: 58px; height: 58px; background: var(--green-bg); color: var(--green); border-radius: var(--r-lg); display: flex; align-items: center; justify-content: center; font-size: 1.6rem; }
    .form-status {
      margin-bottom: 16px;
      padding: 12px 14px;
      border-radius: var(--r-sm);
      border: 1px solid transparent;
      font-size: .875rem;
      line-height: 1.55;
    }
    .form-status.is-error {
      background: #FEF2F2;
      border-color: rgba(220,38,38,.18);
      color: #991B1B;
    }
    .form-status.is-success {
      background: #ECFDF5;
      border-color: rgba(15,123,94,.18);
      color: #065F46;
    }
    .field-error {
      min-height: 18px;
      margin-top: 6px;
      font-size: .75rem;
      color: #B91C1C;
    }
    .form-control.is-invalid,
    .form-select.is-invalid {
      border-color: #DC2626 !important;
      box-shadow: 0 0 0 3px rgba(220,38,38,.08) !important;
    }
    .contact-form.is-hidden,
    #contactForm.is-hidden {
      display: none;
    }
    .form-honeypot {
      position: absolute;
      left: -9999px;
      width: 1px;
      height: 1px;
      overflow: hidden;
      opacity: 0;
      pointer-events: none;
    }
    .form-recaptcha-note a {
      color: inherit;
      text-decoration: underline;
    }

    /* ═══ CTA BAND ═══ */
    .cta-band {
      background: var(--blue); border-radius: var(--r-xl);
      padding: 56px 48px; position: relative; overflow: hidden;
    }
    .cta-ghost-link:hover { background: rgba(255,255,255,.2); color: #fff; }
    .cta-band::after {
      content: '';
      position: absolute; right: -60px; top: -60px;
      width: 320px; height: 320px;
      background: rgba(255,255,255,.05);
      border-radius: 50%; pointer-events: none;
    }

    /* ═══ FOOTER ═══ */
    #footer { background: #0D1117; }
    .footer-link { color: rgba(255,255,255,.45); font-size: .875rem; text-decoration: none; transition: color .2s; }
    .footer-link:hover { color: #fff; }
    .footer-sec-title { font-size: .65rem; font-weight: 600; text-transform: uppercase; letter-spacing: .14em; color: rgba(255,255,255,.28); margin-bottom: 14px; }
    .social-icon {
      width: 36px; height: 36px; border-radius: var(--r-sm);
      background: rgba(255,255,255,.07); color: rgba(255,255,255,.45);
      display: flex; align-items: center; justify-content: center;
      font-size: .95rem; text-decoration: none;
      transition: background .2s, color .2s;
    }
    .social-icon:hover { background: var(--blue); color: #fff; }

    /* ── Dark mode specific overrides ── */
    html[data-theme="dark"] #navbar.stuck {
      background: rgba(15,17,23,.92) !important;
    }
    html[data-theme="dark"] #hero {
      background:
        linear-gradient(160deg, rgba(11,95,168,.22) 0%, transparent 55%),
        linear-gradient(340deg, rgba(11,95,168,.14) 0%, transparent 50%),
        var(--bg);
    }
    html[data-theme="dark"] #hero::before {
      background: radial-gradient(circle, rgba(11,95,168,.35) 0%, transparent 65%);
    }
    html[data-theme="dark"] #hero::after {
      background: radial-gradient(circle, rgba(11,95,168,.18) 0%, transparent 65%);
    }
    html[data-theme="dark"] .problem-icon.util-background-fef2f2,
    html[data-theme="dark"] .step-icon.util-background-fef2f2,
    html[data-theme="dark"] .step-badge.util-background-fef2f2,
    html[data-theme="dark"] .how-badge.util-background-fef2f2 {
      background: rgba(220,38,38,.22) !important;
    }
    html[data-theme="dark"] .problem-icon.util-color-dc2626,
    html[data-theme="dark"] .step-icon.util-color-dc2626,
    html[data-theme="dark"] .step-badge.util-color-dc2626,
    html[data-theme="dark"] .how-badge.util-color-dc2626 {
      color: #FF9A9A !important;
    }
    html[data-theme="dark"] .problem-icon.util-background-fff7ed,
    html[data-theme="dark"] .step-icon.util-background-fff4e6,
    html[data-theme="dark"] .step-icon.util-background-fff7ed,
    html[data-theme="dark"] .step-badge.util-background-fff4e6,
    html[data-theme="dark"] .step-badge.util-background-fff7ed,
    html[data-theme="dark"] .how-badge.util-background-fff4e6,
    html[data-theme="dark"] .how-badge.util-background-fff7ed,
    html[data-theme="dark"] .work-chip.util-background-fff7ed,
    html[data-theme="dark"] .work-chip-orange {
      background: rgba(217,119,6,.24) !important;
    }
    html[data-theme="dark"] .problem-icon.util-color-d97706,
    html[data-theme="dark"] .step-icon.util-color-b45309,
    html[data-theme="dark"] .step-icon.util-color-d97706,
    html[data-theme="dark"] .step-badge.util-color-b45309,
    html[data-theme="dark"] .step-badge.util-color-d97706,
    html[data-theme="dark"] .how-badge.util-color-b45309,
    html[data-theme="dark"] .how-badge.util-color-d97706,
    html[data-theme="dark"] .work-chip.util-color-b45309,
    html[data-theme="dark"] .work-chip.util-color-d97706,
    html[data-theme="dark"] .work-chip-orange {
      color: #FFBE72 !important;
    }
    html[data-theme="dark"] .problem-icon.util-background-f0fdf4,
    html[data-theme="dark"] .step-icon.util-background-f0fdf4,
    html[data-theme="dark"] .step-badge.util-background-f0fdf4,
    html[data-theme="dark"] .how-badge.util-background-f0fdf4,
    html[data-theme="dark"] .work-chip.util-background-f0fdf4,
    html[data-theme="dark"] .work-chip-green {
      background: rgba(15,123,94,.25) !important;
    }
    html[data-theme="dark"] .problem-icon.util-color-0f7b5e,
    html[data-theme="dark"] .step-icon.util-color-0f7b5e,
    html[data-theme="dark"] .step-badge.util-color-0f7b5e,
    html[data-theme="dark"] .how-badge.util-color-0f7b5e,
    html[data-theme="dark"] .work-chip.util-color-0f7b5e,
    html[data-theme="dark"] .work-chip.util-color-green,
    html[data-theme="dark"] .work-chip-green {
      color: #7FE6C8 !important;
    }
    html[data-theme="dark"] .problem-icon.util-background-blue-light,
    html[data-theme="dark"] .step-icon.util-background-blue-light,
    html[data-theme="dark"] .step-badge.util-background-blue-light,
    html[data-theme="dark"] .how-badge.util-background-blue-light,
    html[data-theme="dark"] .work-chip.util-background-blue-light,
    html[data-theme="dark"] .work-chip-blue {
      background: rgba(11,95,168,.3) !important;
    }
    html[data-theme="dark"] .problem-icon.util-color-blue,
    html[data-theme="dark"] .step-icon.util-color-blue,
    html[data-theme="dark"] .step-badge.util-color-blue,
    html[data-theme="dark"] .how-badge.util-color-blue,
    html[data-theme="dark"] .work-chip.util-color-blue,
    html[data-theme="dark"] .work-chip-blue {
      color: #8DCDFF !important;
    }
    html[data-theme="dark"] .work-quote-box.util-background-blue-light,
    html[data-theme="dark"] .work-quote-box-blue {
      background: rgba(11,95,168,.24) !important;
    }
    html[data-theme="dark"] .work-quote-box.util-background-f0fdf4,
    html[data-theme="dark"] .work-quote-box-green {
      background: rgba(15,123,94,.22) !important;
    }
    html[data-theme="dark"] .work-quote-box.util-background-fff7ed,
    html[data-theme="dark"] .work-quote-box-orange {
      background: rgba(217,119,6,.2) !important;
    }
    html[data-theme="dark"] #footer { background: #080A0F; }
    html[data-theme="dark"] .form-control,
    html[data-theme="dark"] .form-select {
      background: var(--bg2) !important;
      color: var(--ink) !important;
    }
    html[data-theme="dark"] .form-control:focus,
    html[data-theme="dark"] .form-select:focus {
      background: var(--white) !important;
    }
    html[data-theme="dark"] .form-status.is-error {
      background: rgba(220,38,38,.16);
      border-color: rgba(220,38,38,.28);
      color: #FFB4B4;
    }
    html[data-theme="dark"] .form-status.is-success {
      background: rgba(15,123,94,.18);
      border-color: rgba(15,123,94,.3);
      color: #9AE6CF;
    }
    html[data-theme="dark"] .field-error {
      color: #FF9A9A;
    }
    html[data-theme="dark"] .form-control.is-invalid,
    html[data-theme="dark"] .form-select.is-invalid {
      border-color: #FF8A8A !important;
      box-shadow: 0 0 0 3px rgba(255,138,138,.08) !important;
    }
    html[data-theme="dark"] .price-card:not(.featured) {
      background: var(--white);
    }
    html[data-theme="dark"] .btn-p-outline {
      color: var(--ink2) !important;
    }
    html[data-theme="dark"] .hero-cta-secondary {
      color: var(--ink2);
    }
    html[data-theme="dark"] .work-card [style*="background:#FFF7ED"] {
      background: rgba(180,83,9,.15) !important;
    }
    html[data-theme="dark"] .work-card [style*="background:#F0FDF4"],
    html[data-theme="dark"] .how-body [style*="background:#F0FDF4"] {
      background: rgba(15,123,94,.15) !important;
    }
    html[data-theme="dark"] .work-card [style*="background:var(--blue-light)"],
    html[data-theme="dark"] .how-body [style*="background:var(--blue-light)"] {
      background: var(--blue-light) !important;
    }

    /* ── Theme toggle button ── */
    .theme-toggle {
      width: 38px; height: 38px;
      border: 1.5px solid var(--border2);
      border-radius: var(--r-sm);
      background: var(--white);
      color: var(--ink2);
      display: flex; align-items: center; justify-content: center;
      cursor: pointer; font-size: 1rem;
      transition: border-color .2s, background .2s, color .2s, transform .15s;
      flex-shrink: 0;
    }
    .theme-toggle:hover { border-color: var(--blue); color: var(--blue); transform: scale(1.06); }
    .theme-toggle .icon-sun,
    .theme-toggle .icon-moon { display: none; }
    html:not([data-theme="dark"]) .theme-toggle .icon-moon { display: block; }
    html[data-theme="dark"] .theme-toggle .icon-sun { display: block; }

/* ══ TABLET (768px – 991px) ══ */
    @media (min-width: 1025px) and (max-width: 1199px) {
      #hero { padding: 160px 0 120px; }
      .sec  { padding: 110px 0; }

      /* Hero: stack vertically, show card */
      #hero .col-lg-6 { width: 100%; }
      #hero .d-none.d-lg-block { display: block !important; margin-top: 2rem; }

      /* Typography */
      .display-heading { font-size: clamp(2rem, 5vw, 2.8rem) !important; }

      /* Pricing: stack featured card without scale */
      .price-card.featured { transform: none; }
      .row.g-4.align-items-center > [class*="col-lg-4"] { width: 100%; }

      /* How-it-works: tighter */
      .how-step { gap: 14px; }

      /* CTA band */
      .cta-band { padding: 44px 32px; }
      .cta-band .col-lg-5 { justify-content: flex-start !important; }

      /* Navbar */
      .theme-toggle { margin-top: .75rem; }

      /* Contact form padding */
      .contact-card { padding: 28px; }
    }

    /* ══ MOBILE (≤ 767px) ══ */
    @media (max-width: 767px) {
      .container { padding-left: 20px !important; padding-right: 20px !important; }
      /* ── Spacing ── */
      #hero { padding: 110px 0 56px; }
      .sec  { padding: 80px 0; }
      .blog-hero { padding: 120px 0 72px; }

      /* ── Typography ── */
      .display-heading { font-size: 2rem !important; letter-spacing: -.025em !important; }
      h2.display-heading { font-size: 1.75rem !important; }
      .section-label { font-size: .65rem; }
      .blog-feature-title { font-size: 1.85rem; }

      /* ── Navbar ── */
      .brand-logo-desktop { height: 30px; }
      /* Mobile theme toggle: compact, sits next to hamburger */
      #themeToggleMobile { width: 42px !important; height: 42px; flex-shrink: 0; }
      #navC { padding: 1rem 0 .5rem; border-top: 1px solid var(--border); margin-top: .5rem; }
      #navC .nav-link { padding: .65rem .5rem !important; font-size: .9rem; }
      #navC .btn-nav { display: block; text-align: center; margin-top: .25rem; padding: .75rem 1rem !important; font-size: .875rem; }
      /* ── Hero ── */
      .hero-badge { font-size: .68rem; padding: 5px 12px; }
      .hero-cta-primary, .hero-cta-secondary { width: 100%; justify-content: center; font-size: .9rem; padding: 13px 20px; }
      .hero-stat-num { font-size: 1.4rem; }
      .hero-stat-lbl { font-size: .68rem; }
      #hero .d-flex.gap-5 { gap: 1.5rem !important; }

      /* ── Problem cards ── */
      .problem-card { padding: 20px; }
      .problem-icon { width: 40px; height: 40px; font-size: 1.1rem; margin-bottom: 10px; }
      .blog-feature-card, .blog-post-card, .blog-topic-card, .blog-visual { padding: 22px; }

      /* ── Service cards ── */
      .svc-card { padding: 22px; }
      .svc-icon { width: 42px; height: 42px; font-size: 1.15rem; margin-bottom: 12px; }

      /* ── How it works ── */
      .how-step { gap: 12px; padding-bottom: 22px; }
      .how-step:not(:last-child)::after { left: 18px; top: 40px; }
      .how-num { width: 36px; height: 36px; font-size: .72rem; }
      .how-body { padding: 14px 16px; }
      .how-body h6, .how-body span.fw-700 { font-size: .875rem !important; }

      /* ── Work cards ── */
      .work-card .p-4 { padding: 18px !important; }
      .work-result { font-size: .85rem; }

      /* ── Quote card ── */
      .quote-card { padding: 22px 24px; }
      .quote-card blockquote { font-size: .95rem; }

      /* ── Pricing ── */
      .price-card { padding: 26px 22px; }
      .price-card.featured { transform: none; }
      .price-amount { font-size: 1.75rem; }

      /* ── CTA band ── */
      .cta-band { padding: 30px 20px; }
      .cta-band h2 { font-size: 1.5rem !important; }
      .cta-band .col-lg-5 { justify-content: flex-start !important; }
      .cta-band a { width: 100%; justify-content: center; font-size: .875rem !important; }

      /* ── Contact ── */
      .contact-card { padding: 22px 18px; }
      .ci-icon { width: 34px; height: 34px; font-size: .9rem; }
      .contact-info-item { gap: 10px; }

      /* ── Footer ── */
      #footer .col-6 { width: 50% !important; }
      #footer .col-lg-4 { margin-bottom: .5rem; }
    }

    /* ══ SMALL MOBILE (≤ 430px) ══ */
    @media (max-width: 430px) {
      .container { padding-left: 20px !important; padding-right: 20px !important; }
      #hero { padding: 115px 0 70px; }
      .display-heading { font-size: 1.8rem !important; }
      h2.display-heading { font-size: 1.6rem !important; }
      #hero .d-flex.gap-5 { flex-wrap: wrap; gap: 1rem !important; }
      .hero-cta-primary, .hero-cta-secondary { padding: 12px 16px; }
      .price-card { padding: 22px 18px; }
      .contact-card { padding: 18px 14px; }
      .cta-band { padding: 26px 16px; }
    }

/* --- Utility classes extracted from index.html inline styles --- */
.util-align-items-center { align-items:center; }
.util-align-items-flex-start { align-items:flex-start; }
.util-background-blue { background:var(--blue); }
.util-background-blue-light { background:var(--blue-light); }
.util-background-d97706 { background:#D97706; }
.util-background-f0fdf4 { background:#F0FDF4; }
.util-background-fef2f2 { background:#FEF2F2; }
.util-background-fff4e6 { background:#FFF4E6; }
.util-background-fff7ed { background:#FFF7ED; }
.util-background-green { background:var(--green); }
.util-background-linear-gradient-90deg-transparent-0pct-3953b7ce { background:linear-gradient(90deg, transparent 0%, var(--border2) 20%, var(--border2) 80%, transparent 100%); }
.util-background-rgba-255-255-255-05 { background:rgba(255,255,255,.05); }
.util-background-rgba-255-255-255-12 { background:rgba(255,255,255,.12); }
.util-background-white { background:var(--white); }
.util-border-1-5px-solid-rgba-255-255-255-25 { border:1.5px solid rgba(255,255,255,.25); }
.util-border-1px-solid-blue-mid { border:1px solid var(--blue-mid); }
.util-border-1px-solid-border { border:1px solid var(--border); }
.util-border-1px-solid-rgba-255-255-255-09 { border:1px solid rgba(255,255,255,.09); }
.util-border-3px-solid-blue { border:3px solid var(--blue); }
.util-border-color-rgba-255-255-255-08 { border-color:rgba(255,255,255,.08); }
.util-border-radius-50pct { border-radius:50%; }
.util-border-radius-6px { border-radius:6px; }
.util-border-radius-7px { border-radius:7px; }
.util-border-radius-r-lg { border-radius:var(--r-lg); }
.util-border-radius-r-md { border-radius:var(--r-md); }
.util-border-radius-r-sm { border-radius:var(--r-sm); }
.util-border-radius-r-xl { border-radius:var(--r-xl); }
.util-border-top-1px-solid-border { border-top:1px solid var(--border); }
.util-bottom-12px { bottom:12px; }
.util-box-shadow-shadow-blue { box-shadow:var(--shadow-blue); }
.util-clip-rect-0-0-0-0 { clip:rect(0,0,0,0); }
.util-color-0f7b5e { color:#0F7B5E; }
.util-color-b45309 { color:#B45309; }
.util-color-blue { color:var(--blue); }
.util-color-blue-light { color:var(--blue-light); }
.util-color-d97706 { color:#D97706; }
.util-color-dc2626 { color:#DC2626; }
.util-color-fff { color:#fff; }
.util-color-green { color:var(--green); }
.util-color-ink { color:var(--ink); }
.util-color-ink2 { color:var(--ink2); }
.util-color-muted { color:var(--muted); }
.util-color-muted2 { color:var(--muted2); }
.util-color-rgba-255-255-255-28 { color:rgba(255,255,255,.28); }
.util-color-rgba-255-255-255-45 { color:rgba(255,255,255,.45); }
.util-color-rgba-255-255-255-72 { color:rgba(255,255,255,.72); }
.util-display-flex { display:flex; }
.util-display-inline-block { display:inline-block; }
.util-display-inline-flex { display:inline-flex; }
.util-flex-direction-column { flex-direction:column; }
.util-flex-shrink-0 { flex-shrink:0; }
.util-font-family-manrope-sans-serif { font-family:'Manrope',sans-serif; }
.util-font-size-1-05rem { font-size:1.05rem; }
.util-font-size-1-1rem { font-size:1.1rem; }
.util-font-size-1-3rem { font-size:1.3rem; }
.util-font-size-1rem { font-size:0.95rem; }
.util-font-size-4rem { font-size:.4rem; }
.util-font-size-4rem-2 { font-size:4rem; }
.util-font-size-65rem { font-size:.65rem; }
.util-font-size-68rem { font-size:.68rem; }
.util-font-size-72rem { font-size:.72rem; }
.util-font-size-75rem { font-size:.75rem; }
.util-font-size-7rem { font-size:.7rem; }
.util-font-size-82rem { font-size:.82rem; }
.util-font-size-85rem { font-size:.85rem; }
.util-font-size-875rem { font-size:.875rem; }
.util-font-size-8rem { font-size:.8rem; }
.util-font-size-95rem { font-size:.95rem; }
.util-font-size-975rem { font-size:.975rem; }
.util-font-size-9rem { font-size:.9rem; }
.util-font-size-clamp-1-6rem-3-5vw-2-4rem { font-size:clamp(1.6rem,3.5vw,2.4rem); }
.util-font-size-clamp-1-8rem-3-5vw-2-5rem { font-size:clamp(1.8rem,3.5vw,2.5rem); }
.util-font-size-clamp-1-8rem-3-8vw-2-7rem { font-size:clamp(1.8rem,3.8vw,2.7rem); }
.util-font-size-clamp-2-4rem-5-5vw-3-8rem { font-size:clamp(2.4rem,5.5vw,3.8rem); }
.util-font-style-italic { font-style:italic; }
.util-font-weight-500 { font-weight:500; }
.util-font-weight-600 { font-weight:600; }
.util-font-weight-700 { font-weight:700; }
.util-font-weight-800 { font-weight:800; }
.util-gap-14px { gap:14px; }
.util-gap-20px { gap:20px; }
.util-gap-8px { gap:8px; }
.util-height-1px { height:1px; }
.util-height-240px { height:240px; }
.util-height-28px { height:28px; }
.util-height-32px { height:32px; }
.util-height-40px { height:40px; }
.util-height-48px { height:48px; }
.util-justify-content-center { justify-content:center; }
.util-letter-spacing-03em { letter-spacing:-.03em; }
.util-letter-spacing-06em { letter-spacing:.06em; }
.util-line-height-1-2 { line-height:1.2; }
.util-line-height-1-55 { line-height:1.55; }
.util-line-height-1-6 { line-height:1.6; }
.util-line-height-1-65 { line-height:1.65; }
.util-line-height-1-7 { line-height:1.7; }
.util-line-height-1-75 { line-height:1.75; }
.util-line-height-1-8 { line-height:1.8; }
.util-margin-0 { margin:0; }
.util-margin-0-auto { margin:0 auto; }
.util-margin-bottom-0 { margin-bottom:0; }
.util-margin-bottom-12px { margin-bottom:12px; }
.util-margin-bottom-16px { margin-bottom:16px; }
.util-margin-bottom-18px { margin-bottom:18px; }
.util-margin-bottom-24px { margin-bottom:24px; }
.util-margin-bottom-28px { margin-bottom:28px; }
.util-margin-bottom-2px { margin-bottom:2px; }
.util-margin-bottom-32px { margin-bottom:32px; }
.util-margin-bottom-3px { margin-bottom:3px; }
.util-margin-bottom-6px { margin-bottom:6px; }
.util-margin-top-2px { margin-top:2px; }
.util-max-width-240px { max-width:240px; }
.util-max-width-260px { max-width:260px; }
.util-max-width-340px { max-width:340px; }
.util-max-width-360px { max-width:360px; }
.util-max-width-380px { max-width:380px; }
.util-max-width-430px { max-width:430px; }
.util-opacity-85 { opacity:.85; }
.util-overflow-hidden { overflow:hidden; }
.util-padding-10px-14px { padding:10px 14px; }
.util-padding-12px-14px { padding:12px 14px; }
.util-padding-13px-26px { padding:13px 26px; }
.util-padding-18px { padding:18px; }
.util-padding-28px-32px { padding:28px 32px; }
.util-padding-2px-8px { padding:2px 8px; }
.util-padding-36px { padding:36px; }
.util-position-absolute { position:absolute; }
.util-position-relative { position:relative; }
.util-right-10px { right:-10px; }
.util-text-decoration-none { text-decoration:none; }
.util-text-transform-uppercase { text-transform:uppercase; }
.util-transition-background-2s { transition:background .2s; }
.util-transition-delay-04s { transition-delay:.04s; }
.util-transition-delay-05s { transition-delay:.05s; }
.util-transition-delay-08s { transition-delay:.08s; }
.util-transition-delay-09s { transition-delay:.09s; }
.util-transition-delay-13s { transition-delay:.13s; }
.util-transition-delay-17s { transition-delay:.17s; }
.util-transition-delay-18s { transition-delay:.18s; }
.util-transition-delay-1s { transition-delay:.1s; }
.util-transition-delay-21s { transition-delay:.21s; }
.util-transition-delay-22s { transition-delay:.22s; }
.util-transition-delay-25s { transition-delay:.25s; }
.util-transition-delay-32s { transition-delay:.32s; }
.util-white-space-nowrap { white-space:nowrap; }
.util-width-1px { width:1px; }
.util-width-240px { width:240px; }
.util-width-28px { width:28px; }
.util-width-32px { width:32px; }
.util-width-40px { width:40px; }
.util-width-48px { width:48px; }
.util-width-auto { width:auto; }
/* --- End utility classes extracted from inline styles --- */
