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

    :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;
      --accent-red:    #B91C1C;
      --accent-orange: #B45309;
      --accent-green:  #08725A;
      --accent-blue:   #095A9F;
      --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;
    }

    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);
      --accent-red:    #F87171;
      --accent-orange: #F59E0B;
      --accent-green:  #34D399;
      --accent-blue:   #60A5FA;
      --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;
      scrollbar-color: var(--blue) var(--bg);
    }
    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(--blue); border-radius: 2px; }

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

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


    @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; }
    }
    @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 {
      background: rgba(255,255,255,.96);
      border-bottom: 1px solid var(--border);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      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);
    }
    @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,
    .btn-nav.active {
      color: #fff !important;
    }
    .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; }
    .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; }
      #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; }
    }
    .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; }
    .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 {
      min-height: auto;
      padding: 180px 0 140px;
      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:
        radial-gradient(circle at top left, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 42%),
        linear-gradient(160deg, #0B5FA8 0%, #1F75C2 100%);
      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:
        radial-gradient(circle at top left, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 40%),
        linear-gradient(160deg, #094E8C 0%, #1667B1 100%);
      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-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: 52px; height: 52px; border-radius: 18px;
      display: flex; align-items: center; justify-content: center;
      font-size: 1.45rem; flex-shrink: 0; margin-top: 1px;
      position: relative;
      overflow: hidden;
    }
    .step-badge {
      display: inline-flex; align-items: center; gap: 5px;
      font-size: .65rem; font-weight: 600; padding: 3px 9px;
      border-radius: 999px;
    }

    .hero-tech-visual {
      position: relative;
      width: 112%;
      margin-left: -2%;
      isolation: isolate;
    }
    .hero-tech-visual::before {
      content: '';
      position: absolute;
      inset: 8% 2% 5%;
      z-index: -1;
      background: radial-gradient(ellipse at center, rgba(52, 134, 210, .18), transparent 68%);
      filter: blur(24px);
    }
    .hero-tech-visual img {
      display: block;
      width: 100%;
      height: auto;
      filter: drop-shadow(0 28px 36px rgba(11, 42, 68, .18));
    }
    html[data-theme="dark"] .hero-tech-visual img {
      filter: drop-shadow(0 28px 38px rgba(0, 0, 0, .35));
    }

    @media (min-width: 992px) {
      #hero .hero-copy-column,
      #hero .hero-media-column {
        width: 50% !important;
      }
    }

    @media (min-width: 1200px) {
      #hero {
        min-height: clamp(760px, 92svh, 920px);
        padding: 96px 0;
        display: flex;
        align-items: center;
      }
      #hero .hero-copy-column {
        width: 44% !important;
        position: relative;
        z-index: 2;
        transform: translateY(2rem);
      }
      #hero .hero-copy-column > h1 { margin-bottom: 1.25rem !important; }
      #hero .hero-copy-column > p {
        max-width: 460px;
        margin-bottom: 1.75rem !important;
        line-height: 1.8;
      }
      #hero .hero-media-column {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 58% !important;
        padding: 0;
        z-index: 1;
      }
      .hero-tech-visual {
        width: 100%;
        height: 100%;
        margin: 0;
        transform: none;
        -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.25) 12%, #000 30%, #000 100%);
        mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.25) 12%, #000 30%, #000 100%);
      }
      .hero-tech-visual::before { display: none; }
      .hero-tech-visual img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
      }
    }

    .sec { padding: 170px 0; }
    .sec-alt {
      background: #e8eef3;
      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-card {
      background: var(--white); border: 1px solid var(--border);
      border-radius: var(--r-lg); padding: 28px;
      height: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      transition: box-shadow .25s, transform .25s;
    }
    .problem-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
    .problem-card h6 { font-size: 1.1rem; line-height: 1.35; }
    .problem-section .row.g-4 > div:nth-child(1) .problem-card {
      background: linear-gradient(rgba(220, 38, 38, .035), rgba(220, 38, 38, .035)), var(--white);
      border-color: color-mix(in srgb, var(--accent-red) 24%, var(--border));
    }
    .problem-section .row.g-4 > div:nth-child(2) .problem-card {
      background: linear-gradient(rgba(217, 119, 6, .045), rgba(217, 119, 6, .045)), var(--white);
      border-color: color-mix(in srgb, var(--accent-orange) 24%, var(--border));
    }
    .problem-section .row.g-4 > div:nth-child(3) .problem-card {
      background: linear-gradient(rgba(15, 123, 94, .04), rgba(15, 123, 94, .04)), var(--white);
      border-color: color-mix(in srgb, var(--accent-green) 24%, var(--border));
    }
    .problem-section .row.g-4 > div:nth-child(4) .problem-card {
      background: linear-gradient(rgba(11, 95, 168, .04), rgba(11, 95, 168, .04)), var(--white);
      border-color: color-mix(in srgb, var(--accent-blue) 24%, var(--border));
    }
    .problem-section .row.g-4 > div:nth-child(1) .problem-icon {
      background: color-mix(in srgb, var(--accent-red) 18%, var(--white)) !important;
      color: var(--accent-red) !important;
    }
    .problem-section .row.g-4 > div:nth-child(2) .problem-icon {
      background: color-mix(in srgb, var(--accent-orange) 20%, var(--white)) !important;
      color: var(--accent-orange) !important;
    }
    .problem-section .row.g-4 > div:nth-child(3) .problem-icon {
      background: color-mix(in srgb, var(--accent-green) 18%, var(--white)) !important;
      color: var(--accent-green) !important;
    }
    .problem-section .row.g-4 > div:nth-child(4) .problem-icon {
      background: color-mix(in srgb, var(--accent-blue) 18%, var(--white)) !important;
      color: var(--accent-blue) !important;
    }
    .problem-icon {
      width: 64px; height: 64px; border-radius: 18px;
      display: flex; align-items: center; justify-content: center;
      font-size: 1.7rem; margin-bottom: 18px;
      position: relative;
      overflow: hidden;
    }
    .profile-photo {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: top;
      display: block;
    }

    .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; }

    .svc-card {
      background: var(--white); border: 1px solid var(--border);
      border-radius: var(--r-lg); padding: 28px;
      height: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      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-card h5 { font-size: 1.1rem !important; line-height: 1.35; }
    .svc-icon {
      width: 66px; height: 66px; border-radius: 19px;
      background: var(--blue-light); color: var(--blue);
      display: flex; align-items: center; justify-content: center;
      font-size: 1.75rem; margin-bottom: 18px;
      position: relative;
      overflow: hidden;
    }
    .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-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); }
    .how-body span.fw-700 { font-size: 1rem !important; line-height: 1.4; }
    .how-body p { font-size: .9rem !important; }

    .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;
    }

    .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:
        radial-gradient(circle at top left, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 42%),
        linear-gradient(160deg, #0B5FA8 0%, #1F75C2 100%);
      color: #fff !important; border: none;
    }
    .btn-p-blue:hover {
      background:
        radial-gradient(circle at top left, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 40%),
        linear-gradient(160deg, #094E8C 0%, #1667B1 100%);
      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-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: .72rem; font-weight: 600; color: var(--muted); margin-bottom: 5px; text-transform: uppercase; letter-spacing: .06em; }
    .required-mark { color: #DC2626; }
    .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: .95rem;
      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; }
    .privacy-consent-check {
      display: flex;
      align-items: flex-start;
      gap: 10px;
    }
    .privacy-consent-check .form-check-input {
      margin-top: 3px;
      flex-shrink: 0;
    }
    .privacy-consent-check .form-check-label {
      font-size: .875rem;
      color: var(--ink2);
      line-height: 1.6;
    }
    .privacy-consent-check .form-check-label a,
    .form-recaptcha-note a {
      color: var(--blue);
      font-weight: 700;
      text-decoration: none;
      background-image: linear-gradient(currentColor, currentColor);
      background-position: 0 100%;
      background-repeat: no-repeat;
      background-size: 100% 1px;
      transition: color .2s ease, background-size .2s ease, opacity .2s ease;
    }
    .privacy-consent-check .form-check-label a:hover,
    .privacy-consent-check .form-check-label a:focus-visible,
    .form-recaptcha-note a:hover,
    .form-recaptcha-note a:focus-visible {
      color: var(--blue-dark);
      background-size: 100% 2px;
      outline: none;
    }
    .btn-submit {
      width: 100%;
      background:
        radial-gradient(circle at top left, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 42%),
        linear-gradient(160deg, #0B5FA8 0%, #1F75C2 100%);
      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:
        radial-gradient(circle at top left, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 40%),
        linear-gradient(160deg, #094E8C 0%, #1667B1 100%);
      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; }
    .feature-icon,
    .ci-icon {
      width: 58px; height: 58px; border-radius: 18px;
      background: var(--blue-light); color: var(--blue);
      display: flex; align-items: center; justify-content: center;
      font-size: 1.45rem; flex-shrink: 0;
      position: relative;
      overflow: hidden;
    }
    .feature-icon-primary {
      background: var(--blue);
      color: #fff;
      border-color: transparent;
    }
    .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: 72px; height: 72px; border-radius: 22px;
      background: var(--green-bg); color: var(--green);
      display: flex; align-items: center; justify-content: center;
      font-size: 2rem;
      position: relative;
      overflow: hidden;
    }
    .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,
    .form-check-input.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;
    }
    .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 { 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: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .14em; color: rgba(255,255,255,.28); margin-bottom: 14px; }
    .social-icon {
      width: 42px; height: 42px; border-radius: 14px;
      background: rgba(255,255,255,.07); color: rgba(255,255,255,.45);
      display: flex; align-items: center; justify-content: center;
      font-size: 1rem; text-decoration: none;
      transition: background .2s, color .2s;
      position: relative;
      overflow: hidden;
    }
    .social-icon:hover { background: var(--blue); color: #fff; }
    .value-card {
      display: flex;
      align-items: flex-start;
      gap: 14px;
    }
    .value-icon {
      width: 54px;
      height: 54px;
      border-radius: 17px;
      background: var(--blue-light);
      color: var(--blue);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.35rem;
      flex-shrink: 0;
      position: relative;
      overflow: hidden;
    }

    html[data-theme="dark"] #navbar,
    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 {
      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 {
      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"] .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"] .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"] .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"] .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"] .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"] .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 {
      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; }

    @media (min-width: 1025px) and (max-width: 1199px) {
      #hero { padding: 160px 0 120px; }
      .sec  { padding: 110px 0; }

      #hero .col-lg-6 { width: 100%; }
      #hero .d-none.d-lg-block { display: block !important; margin-top: 2rem; }

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

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

      .how-step { gap: 14px; }

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

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

      .contact-card { padding: 28px; }
    }

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

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

      .brand-logo-desktop { height: 50px; }
      #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-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; }

      .step-icon { width: 48px; height: 48px; font-size: 1.2rem; border-radius: 15px; }
      .problem-card { padding: 20px; }
      .problem-icon { width: 52px; height: 52px; font-size: 1.3rem; margin-bottom: 12px; border-radius: 14px; }
      .problem-card h6 { font-size: 1.05rem; }
      .problem-card p { font-size: .95rem; }
      .blog-feature-card, .blog-post-card, .blog-topic-card, .blog-visual { padding: 22px; }

      .svc-card { padding: 22px; }
      .svc-icon { width: 54px; height: 54px; font-size: 1.35rem; margin-bottom: 14px; border-radius: 16px; }
      .svc-card h5 { font-size: 1.05rem !important; }
      .svc-card p { font-size: .95rem; }

      .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: .95rem !important; }

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

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

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

      .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-card { padding: 22px 18px; }
      .form-control, .form-select { font-size: 1rem; }
      .feature-icon,
      .ci-icon { width: 48px; height: 48px; font-size: 1.15rem; border-radius: 15px; }
      .success-icon { width: 60px; height: 60px; font-size: 1.65rem; border-radius: 18px; }
      .value-icon { width: 46px; height: 46px; font-size: 1.15rem; border-radius: 14px; }
      .social-icon { width: 38px; height: 38px; border-radius: 12px; }
      .contact-info-item { gap: 10px; }

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

    @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; }
    }

.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-25rem { font-size:1.25rem; }
.util-font-size-1-3rem { font-size:1.3rem; }
.util-font-size-1-35rem { font-size:1.35rem; }
.util-font-size-1-5rem { font-size:1.5rem; }
.util-font-size-1rem { font-size:1rem; }
.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:.72rem; }
.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-46px { height:46px; }
.util-height-48px { height:48px; }
.util-height-56px { height:56px; }
.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-46px { width:46px; }
.util-width-48px { width:48px; }
.util-width-56px { width:56px; }
.util-width-auto { width:auto; }
.legal-page-shell {
  min-height: 100vh;
  background:
    linear-gradient(180deg, rgba(11,95,168,.07) 0%, rgba(11,95,168,0) 240px),
    var(--bg);
}
.legal-page-container {
  max-width: 980px;
}
.legal-page-head {
  margin-bottom: 28px;
}
.legal-back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  color: var(--ink2);
  font-size: .95rem;
  font-weight: 500;
  text-decoration: none;
  background: transparent;
  border: 1.5px solid var(--border2);
  border-radius: var(--r-md);
  padding: 14px 28px;
  transition: border-color .2s, color .2s, background .2s;
}
.legal-back-link:hover {
  border-color: var(--blue);
  color: var(--blue);
}
.legal-title {
  margin-bottom: 14px;
}
.legal-lead,
.legal-updated,
.legal-text {
  color: var(--muted);
  font-size: .975rem;
  line-height: 1.8;
}
.legal-updated {
  margin-bottom: 0;
}
.legal-card {
  padding: 40px;
}
.legal-section {
  padding-bottom: 28px;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--border);
}
.legal-section-last {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}
.legal-section h2 {
  color: var(--ink);
  font-size: 1.3rem;
  font-weight: 800;
  margin-bottom: 14px;
}
.legal-block + .legal-block {
  margin-top: 24px;
}
.legal-block h3 {
  color: var(--ink2);
  font-size: 1rem;
  font-weight: 800;
  margin-bottom: 10px;
}
.legal-meta {
  margin: 0 0 18px;
}
.legal-meta div {
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 14px;
  padding: 8px 0;
  border-bottom: 1px solid var(--border);
}
.legal-meta div:last-child {
  border-bottom: none;
}
.legal-meta dt {
  color: var(--muted2);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.legal-meta dd {
  margin: 0;
  color: var(--ink2);
  line-height: 1.7;
}
.legal-meta a,
.legal-text a {
  color: var(--blue);
  font-weight: 700;
  text-decoration: none;
}
.legal-meta a:hover,
.legal-text a:hover {
  color: var(--blue-dark);
}
.legal-list {
  margin: 0;
  padding-left: 20px;
  color: var(--muted);
}
.legal-list li {
  margin-bottom: 10px;
  line-height: 1.75;
}
.legal-footer-links {
  margin-top: 24px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.cookie-consent {
  position: fixed;
  left: 20px;
  right: 20px;
  bottom: 20px;
  z-index: 1200;
}
.cookie-consent-inner {
  max-width: 980px;
  margin: 0 auto;
  background: rgba(255,255,255,.96);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  box-shadow: var(--shadow-lg);
  padding: 22px;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.cookie-consent-eyebrow {
  margin: 0 0 8px;
  color: var(--blue);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.cookie-consent-copy h3 {
  margin: 0 0 10px;
  color: var(--ink);
  font-size: 1.2rem;
  font-weight: 800;
}
.cookie-consent-copy p {
  margin: 0;
  color: var(--muted);
  font-size: .95rem;
  line-height: 1.7;
}
.cookie-consent-copy a {
  color: var(--blue);
  font-weight: 700;
  text-decoration: none;
}
.cookie-consent-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.cookie-consent-actions .hero-cta-primary,
.cookie-consent-actions .hero-cta-secondary {
  width: auto;
}
.cookie-consent-settings {
  display: none;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--border);
}
.cookie-consent.show-settings .cookie-consent-settings {
  display: block;
}
.cookie-consent-option {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
}
.cookie-consent-option:last-of-type {
  border-bottom: none;
}
.cookie-consent-option strong {
  display: block;
  color: var(--ink2);
  margin-bottom: 4px;
}
.cookie-consent-option small {
  display: block;
  color: var(--muted);
  font-size: .85rem;
  line-height: 1.6;
}
.cookie-consent-option input {
  margin-top: 4px;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.cookie-consent-save-wrap {
  margin-top: 16px;
}
.cookie-consent-save {
  width: 100%;
}
html[data-theme="dark"] .legal-page-shell {
  background:
    linear-gradient(180deg, rgba(11,95,168,.18) 0%, rgba(11,95,168,0) 260px),
    var(--bg);
}
html[data-theme="dark"] .cookie-consent-inner {
  background: rgba(20,24,33,.96);
  border-color: rgba(255,255,255,.08);
}
html[data-theme="dark"] .legal-back-link,
html[data-theme="dark"] .legal-meta a,
html[data-theme="dark"] .legal-text a {
  color: #8DCDFF;
}
html[data-theme="dark"] .cookie-consent-copy a {
  color: #8DCDFF;
}
html[data-theme="dark"] .legal-back-link:hover,
html[data-theme="dark"] .legal-meta a:hover,
html[data-theme="dark"] .legal-text a:hover {
  color: #B8E0FF;
}
html[data-theme="dark"] .cookie-consent-copy h3,
html[data-theme="dark"] .cookie-consent-option strong {
  color: var(--ink);
}
html[data-theme="dark"] .cookie-consent-copy p,
html[data-theme="dark"] .cookie-consent-option small {
  color: var(--muted);
}
.partner-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 24px;
  background: var(--white);
  box-shadow: 0 24px 60px rgba(26, 55, 82, .09);
}
.partner-logo-card {
  position: relative;
  min-height: 142px;
  padding: 24px;
  border: 0;
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  border-radius: 0;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color .25s ease;
}
.partner-logo-card:nth-child(3n) { border-right: 0; }
.partner-logo-card:nth-child(n + 4) { border-bottom: 0; }
.partner-logo-card:hover {
  background: color-mix(in srgb, var(--blue) 4%, var(--white));
}
.partner-logo-image {
  max-width: 72%;
  max-height: 66px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: saturate(.82);
  opacity: .86;
  transition: filter .25s ease, opacity .25s ease, transform .25s ease;
}
.partner-logo-card:hover .partner-logo-image {
  filter: saturate(1);
  opacity: 1;
  transform: scale(1.025);
}
.partner-logo-card:nth-child(2) .partner-logo-image { max-width: 52%; max-height: 82px; }
.partner-logo-card:nth-child(6) .partner-logo-image { max-width: 66%; }
html[data-theme="dark"] .partners-section .section-label,
html[data-theme="dark"] .partners-section .util-color-blue { color: #4aa7f4; }
html[data-theme="dark"] .partner-grid {
  background: #1a2633;
  border-color: rgba(255,255,255,.1);
  box-shadow: 0 24px 60px rgba(0,0,0,.2);
}
html[data-theme="dark"] .partner-logo-card { border-color: rgba(255,255,255,.08); }
html[data-theme="dark"] .partner-logo-card:hover { background: rgba(255,255,255,.035); }
html[data-theme="dark"] .partner-logo-card::before {
  content: '';
  position: absolute;
  width: 78%;
  height: 86px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 14px;
  background: #f4f8fb;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  transition: background-color .25s ease, transform .25s ease;
}
html[data-theme="dark"] .partner-logo-card:hover::before {
  background: #fff;
  transform: scale(1.015);
}
html[data-theme="dark"] .partner-logo-image {
  position: relative;
  z-index: 1;
  filter: saturate(.9);
  opacity: .94;
}
html[data-theme="dark"] .partner-logo-card:hover .partner-logo-image {
  filter: saturate(1);
  opacity: 1;
}
@media (max-width: 767px) {
  .partner-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-radius: 18px;
  }
  .partner-logo-card {
    min-height: 104px;
    padding: 18px 14px;
    border-right: 0;
    border-bottom: 0;
  }
  .partner-logo-card:nth-child(odd) { border-right: 1px solid var(--border); }
  .partner-logo-card:nth-child(-n + 4) { border-bottom: 1px solid var(--border); }
  .partner-logo-image {
    max-width: 82%;
    max-height: 52px;
  }
  .partner-logo-card:nth-child(2) .partner-logo-image { max-width: 62%; max-height: 62px; }
  html[data-theme="dark"] .partner-logo-card::before { width: 86%; height: 72px; border-radius: 12px; }
  html[data-theme="dark"] .partner-logo-card:nth-child(odd),
  html[data-theme="dark"] .partner-logo-card:nth-child(-n + 4) { border-color: rgba(255,255,255,.08); }
  .legal-card {
    padding: 24px 18px;
  }
  .legal-meta div {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .legal-footer-links {
    flex-direction: column;
  }
  .legal-footer-links .hero-cta-primary,
  .legal-footer-links .hero-cta-secondary {
    width: 100%;
    justify-content: center;
  }
  .cookie-consent {
    left: 12px;
    right: 12px;
    bottom: 12px;
  }
  .cookie-consent-inner {
    padding: 18px;
  }
  .cookie-consent-actions {
    flex-direction: column;
  }
  .cookie-consent-actions .hero-cta-primary,
  .cookie-consent-actions .hero-cta-secondary {
    width: 100%;
    justify-content: center;
  }
  .cookie-consent-option {
    flex-direction: column;
  }
}

/* Standalone content pages */
.subpage-hero {
  position: relative;
  overflow: hidden;
  padding: 190px 0 105px;
  background:
    linear-gradient(150deg, rgba(11,95,168,.14), transparent 55%),
    linear-gradient(330deg, rgba(11,95,168,.08), transparent 48%),
    var(--bg);
}
.subpage-hero::after {
  content: '';
  position: absolute;
  width: 520px;
  height: 520px;
  right: -260px;
  top: -170px;
  border: 1px solid rgba(11,95,168,.14);
  border-radius: 50%;
  box-shadow: 0 0 0 80px rgba(11,95,168,.03), 0 0 0 160px rgba(11,95,168,.025);
  pointer-events: none;
}
.subpage-title { font-size: clamp(2.4rem, 5vw, 3.8rem); }
.subpage-lead {
  max-width: 540px;
  color: var(--ink2);
  font-size: 1.05rem;
  line-height: 1.75;
}
.contact-page-section { padding-top: 100px; }
.contact-kicker {
  margin-bottom: 2px;
  color: var(--muted2);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.contact-value {
  color: var(--ink2);
  font-size: .95rem;
  font-weight: 600;
  text-decoration: none;
}
a.contact-value:hover { color: var(--blue); }
.contact-expectation {
  display: flex;
  gap: 14px;
  max-width: 430px;
  padding: 18px;
  border: 1px solid var(--blue-mid);
  border-radius: var(--r-lg);
  background: var(--blue-light);
}
.contact-expectation > i { color: var(--blue); font-size: 1.35rem; }
.contact-expectation strong { display: block; margin-bottom: 4px; color: var(--ink); }
.contact-expectation p { margin: 0; color: var(--muted); font-size: .85rem; line-height: 1.65; }
.about-portrait {
  position: relative;
  width: min(100%, 390px);
  aspect-ratio: 1;
  margin-left: auto;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 50%;
  background: var(--white);
  box-shadow: var(--shadow-lg);
}
.about-portrait img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  object-position: top;
}
.about-experience {
  position: absolute;
  left: -34px;
  bottom: 35px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  border: 5px solid var(--bg);
  border-radius: var(--r-lg);
  background: var(--blue);
  color: #fff;
  box-shadow: var(--shadow-blue);
}
.about-experience strong { font-size: 1.6rem; line-height: 1; }
.about-experience span { max-width: 68px; font-size: .7rem; line-height: 1.25; }
.about-copy { max-width: 680px; }
.about-copy p { color: var(--muted); font-size: 1rem; line-height: 1.8; }
.about-copy p:first-child { color: var(--ink2); font-size: 1.15rem; }
.principle-card {
  position: relative;
  height: 100%;
  padding: 28px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  background: var(--white);
  box-shadow: var(--shadow-sm);
}
.principle-card > span {
  position: absolute;
  right: 18px;
  top: 10px;
  color: var(--blue-light);
  font-size: 3.2rem;
  font-weight: 800;
}
.principle-card > i { display: block; margin-bottom: 42px; color: var(--blue); font-size: 1.7rem; }
.principle-card h3 { position: relative; font-size: 1.1rem; font-weight: 800; line-height: 1.4; }
.principle-card p { position: relative; margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.7; }
.about-quote {
  padding: 42px;
  border-radius: var(--r-xl);
  background: var(--ink);
  color: var(--bg);
  box-shadow: var(--shadow-lg);
}
.about-quote > i { color: var(--blue); font-size: 2.3rem; }
.about-quote blockquote { margin: 18px 0; font-family: 'Lora', serif; font-size: clamp(1.35rem, 2.7vw, 2rem); font-style: italic; line-height: 1.5; }
.about-quote p { margin: 0; color: var(--muted2); font-size: .85rem; }
.about-checklist { display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 0; list-style: none; }
.about-checklist li { display: flex; gap: 12px; align-items: flex-start; color: var(--ink2); line-height: 1.65; }
.about-checklist i { display: grid; place-items: center; flex: 0 0 25px; height: 25px; margin-top: 1px; border-radius: 50%; background: var(--green-bg); color: var(--green); font-size: .85rem; }
.footer-intro { max-width: 320px; color: rgba(255,255,255,.45); font-size: .95rem; line-height: 1.7; }
.footer-rule { margin: 0; border-color: rgba(255,255,255,.08); }
.footer-copyright { color: rgba(255,255,255,.28); font-size: .72rem; }
.cta-copy { margin: 0; color: rgba(255,255,255,.72); line-height: 1.75; }

html[data-theme="dark"] .about-experience { border-color: var(--bg); }
html[data-theme="dark"] .about-quote { background: #080A0F; }

@media (max-width: 991px) {
  .subpage-hero { padding: 145px 0 75px; }
  .about-portrait { margin: 0 auto; }
}
@media (max-width: 575px) {
  .subpage-hero { padding: 125px 0 60px; }
  .subpage-title { font-size: 1.85rem; }
  .about-experience { left: -8px; bottom: 22px; }
  .about-quote { padding: 28px 22px; }
  .contact-page-section { padding-top: 72px; }
}

/* Traditional blog layout */
.blog-simple-header {
  position: relative;
  overflow: hidden;
  min-height: clamp(520px, calc(33.333vw + 80px), 760px);
  padding: 190px 0 100px;
  background-color: #f7fafc;
  background-image:
    linear-gradient(90deg, rgba(248,251,253,.28) 0%, rgba(248,251,253,.12) 46%, transparent 70%),
    url('blog.png');
  background-position: center, right 0 top 80px;
  background-size: 100% 100%, 100% auto;
  background-repeat: no-repeat;
  border-bottom: 1px solid var(--border);
}
html[data-theme="dark"] .blog-simple-header {
  background-color: var(--bg);
  background-image:
    linear-gradient(90deg, rgba(15,17,23,.9) 0%, rgba(15,17,23,.7) 46%, rgba(15,17,23,.3) 100%),
    url('blog.png');
}
.blog-simple-header h1 {
  font-size: clamp(2.4rem, 5vw, 3.8rem);
}
.blog-simple-lead {
  max-width: 650px;
  margin: 0;
  color: var(--ink2);
  font-size: 1.05rem;
  line-height: 1.75;
}
.blog-index {
  padding: 78px 0 110px;
}
.blog-list-item {
  padding: 0 0 42px;
  margin-bottom: 42px;
  border-bottom: 1px solid var(--border);
}
.blog-list-item:last-child {
  margin-bottom: 0;
}
.blog-list-item h2 {
  max-width: 760px;
  margin: 12px 0 14px;
  color: var(--ink);
  font-size: clamp(1.35rem, 2.7vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.25;
}
.blog-list-item h2 a {
  color: inherit;
  text-decoration: none;
  transition: color .2s ease;
}
.blog-list-item h2 a:hover { color: var(--blue); }
.blog-list-featured h2 {
  font-size: clamp(1.7rem, 3.6vw, 2.45rem);
}
.blog-list-item p {
  max-width: 700px;
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.75;
}
.blog-list-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  color: var(--muted2);
  font-size: .76rem;
}
.blog-list-meta span {
  position: relative;
}
.blog-list-meta span::before {
  content: '·';
  position: absolute;
  left: -11px;
}
.blog-status {
  color: var(--blue);
  font-size: .8rem;
  font-weight: 700;
}
.blog-sidebar {
  padding-left: 42px;
  border-left: 1px solid var(--border);
}
.blog-sidebar-block {
  padding-bottom: 28px;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--border);
}
.blog-sidebar-block:last-child {
  border-bottom: 0;
}
.blog-sidebar-block h2 {
  margin-bottom: 14px;
  color: var(--ink);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.blog-sidebar-block p,
.blog-sidebar-block li {
  color: var(--muted);
  font-size: .875rem;
  line-height: 1.7;
}
.blog-sidebar-block ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.blog-sidebar-block li {
  padding: 7px 0;
  border-bottom: 1px dashed var(--border);
}
.blog-sidebar-block li:last-child {
  border-bottom: 0;
}
.blog-topic-filters {
  display: flex;
  flex-direction: column;
}
.blog-topic-filter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 9px 0;
  border-bottom: 1px dashed var(--border);
  color: var(--muted);
  font-size: .875rem;
  line-height: 1.45;
  text-decoration: none;
  transition: color .2s ease;
}
.blog-topic-filter:last-child { border-bottom: 0; }
.blog-topic-filter:hover,
.blog-topic-filter.active {
  color: var(--blue);
}
.blog-topic-filter.active { font-weight: 700; }
.blog-topic-count {
  display: inline-flex;
  min-width: 27px;
  height: 23px;
  padding: 0 7px;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  font-size: .7rem;
  font-weight: 800;
  line-height: 1;
}
.blog-mobile-topics { display: none; }
.blog-filter-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 34px;
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: var(--r-sm);
  background: var(--bg2);
}
.blog-filter-summary p {
  margin: 0;
  color: var(--ink2);
  font-size: .88rem;
}
.blog-filter-summary p span {
  margin-left: 8px;
  color: var(--muted2);
  font-size: .76rem;
}
.blog-filter-summary a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex: 0 0 auto;
  color: var(--blue);
  font-size: .78rem;
  font-weight: 700;
  text-decoration: none;
}
.blog-sidebar-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--blue);
  font-size: .85rem;
  font-weight: 700;
  text-decoration: none;
}
.blog-sidebar-link:hover {
  gap: 10px;
  color: var(--blue-dark);
}
.blog-read-more,
.blog-back-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--blue);
  font-size: .875rem;
  font-weight: 700;
  text-decoration: none;
  transition: gap .2s ease, color .2s ease;
}
.blog-read-more:hover,
.blog-back-link:hover { gap: 11px; color: var(--blue-dark); }
.blog-load-zone {
  position: relative;
  min-height: 92px;
  padding: 24px 0 0;
  text-align: center;
}
.blog-load-zone.is-complete { min-height: 0; padding-top: 0; }
.blog-load-status {
  margin: 0;
  color: var(--muted2);
  font-size: .82rem;
}
.blog-load-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 14px;
  padding: 10px 16px;
  border: 1px solid var(--border2);
  border-radius: var(--r-sm);
  color: var(--blue);
  font-size: .85rem;
  font-weight: 700;
  text-decoration: none;
  opacity: 1;
  pointer-events: auto;
}
.blog-load-zone.is-enhanced .blog-load-more { opacity: 0; pointer-events: none; }
.blog-load-more.is-visible,
.blog-load-zone.is-loading .blog-load-more {
  opacity: 1;
  pointer-events: auto;
}
.blog-load-zone.is-loading .blog-load-more { opacity: .55; }
.blog-load-sentinel {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
}
.blog-load-zone.is-loading::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-bottom: 10px;
  border: 2px solid var(--border2);
  border-top-color: var(--blue);
  border-radius: 50%;
  animation: blog-loader-spin .7s linear infinite;
}
@keyframes blog-loader-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .blog-load-zone.is-loading::before { animation: none; } }
.blog-article-header {
  padding: 165px 0 76px;
  overflow: hidden;
  background-color: #f7fafc;
  background-image:
    linear-gradient(90deg, rgba(248,251,253,.08) 0%, rgba(248,251,253,.04) 48%, transparent 72%),
    url('blog_full.png');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-bottom: 1px solid var(--border);
}
html[data-theme="dark"] .blog-article-header {
  background-color: var(--bg);
  background-image:
    linear-gradient(90deg, rgba(15,17,23,.96) 0%, rgba(15,17,23,.88) 42%, rgba(15,17,23,.4) 72%, rgba(15,17,23,.22) 100%),
    url('blog_full.png');
}
.blog-article-header .blog-back-link { margin-bottom: 24px; }
.blog-article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin: 22px 0 14px;
  color: var(--muted2);
  font-size: .8rem;
}
.blog-article-meta span { position: relative; }
.blog-article-meta span::before { content: '·'; position: absolute; left: -12px; }
.blog-article-title {
  max-width: 700px;
  margin: 0 0 16px;
  color: var(--ink);
  font-size: clamp(2.1rem, 3.2vw, 3.25rem);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.1;
}
.blog-article-lead {
  max-width: 600px;
  margin: 0;
  color: var(--ink2);
  font-size: .98rem;
  line-height: 1.65;
}
.blog-article-section { padding: 92px 0 110px; }
.blog-article-layout { align-items: stretch; }
.blog-article-aside {
  position: relative;
  padding-left: 42px;
  border-left: 1px solid var(--border);
}
.blog-article-info {
  position: sticky;
  top: 116px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.blog-author {
  display: flex;
  align-items: center;
  gap: 13px;
  padding-bottom: 28px;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--border);
}
.blog-author img {
  width: 56px;
  height: 56px;
  flex: 0 0 auto;
  border: 2px solid var(--bg);
  border-radius: 50%;
  object-fit: cover;
  object-position: center 24%;
  box-shadow: 0 0 0 1px var(--border2);
}
.blog-author span,
.blog-article-details dt {
  display: block;
  margin-bottom: 4px;
  color: var(--muted2);
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.blog-author strong {
  display: block;
  color: var(--ink);
  font-size: .88rem;
  line-height: 1.45;
}
.blog-article-details {
  display: grid;
  gap: 16px;
  margin: 0;
}
.blog-article-details div { min-width: 0; }
.blog-article-details dd {
  margin: 0;
  color: var(--ink2);
  font-size: .82rem;
  line-height: 1.5;
}
.blog-article-details a {
  color: var(--blue);
  font-weight: 700;
  text-decoration: none;
}
.blog-article-details a:hover { color: var(--blue-dark); }
.blog-article-topics {
  padding-top: 28px;
  margin-top: 28px;
  border-top: 1px solid var(--border);
}
.blog-article-topics h2 {
  margin-bottom: 14px;
  color: var(--ink);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
@media (min-width: 992px) {
  .blog-article-details { gap: 0; }
  .blog-article-details div {
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px dashed var(--border);
  }
  .blog-article-details div:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0;
  }
}
.blog-prose {
  color: var(--ink2);
  font-size: 1.05rem;
  line-height: 1.85;
}
.blog-prose > :first-child { margin-top: 0; }
.blog-prose p { margin: 0 0 1.55em; }
.blog-prose h2 {
  margin: 2.2em 0 .75em;
  color: var(--ink);
  font-size: clamp(1.45rem, 3vw, 2rem);
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.25;
}
.blog-prose h3 { margin: 1.8em 0 .7em; color: var(--ink); font-size: 1.25rem; font-weight: 800; }
.blog-prose ul,
.blog-prose ol { margin: 0 0 1.6em; padding-left: 1.35em; }
.blog-prose li { margin-bottom: .55em; padding-left: .3em; }
.blog-prose strong { color: var(--ink); font-weight: 800; }
.blog-prose blockquote {
  margin: 2.2em 0;
  padding: 24px 28px;
  border-left: 4px solid var(--blue);
  border-radius: 0 var(--r-md) var(--r-md) 0;
  background: var(--blue-light);
  color: var(--ink2);
}
.blog-prose blockquote p { margin: 0; }
.blog-prose pre {
  margin: 2em 0;
  padding: 22px;
  overflow-x: auto;
  border-radius: var(--r-md);
  background: #111827;
  color: #e5edf7;
  font-size: .9rem;
  line-height: 1.65;
}
.blog-prose code:not(pre code) { padding: 2px 6px; border-radius: 5px; background: var(--blue-light); color: var(--blue); }
.blog-article-footer {
  margin: 76px 0 0;
  padding-top: 30px;
  border-top: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.blog-not-found { min-height: 75vh; padding: 190px 0 100px; }

@media (min-width: 768px) and (max-width: 991px) {
  .blog-simple-header {
    min-height: 430px;
    padding: 160px 0 82px;
    background-image:
      linear-gradient(90deg, rgba(248,251,253,.92) 0%, rgba(248,251,253,.74) 70%, rgba(248,251,253,.36) 100%),
      url('blog.png');
    background-position: center, 76% center;
    background-size: 100% 100%, auto 112%;
  }
  .blog-simple-lead { max-width: 470px; }
  html[data-theme="dark"] .blog-simple-header {
    background-image:
      linear-gradient(90deg, rgba(15,17,23,.9) 0%, rgba(15,17,23,.74) 70%, rgba(15,17,23,.4) 100%),
      url('blog.png');
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .blog-simple-header {
    min-height: 450px;
    padding: 175px 0 92px;
    background-image:
      linear-gradient(90deg, rgba(248,251,253,.92) 0%, rgba(248,251,253,.74) 70%, rgba(248,251,253,.36) 100%),
      url('blog.png');
    background-position: center, 76% center;
    background-size: 100% 100%, auto 112%;
  }
  .blog-simple-lead { max-width: 500px; }
  html[data-theme="dark"] .blog-simple-header {
    background-image:
      linear-gradient(90deg, rgba(15,17,23,.9) 0%, rgba(15,17,23,.74) 70%, rgba(15,17,23,.4) 100%),
      url('blog.png');
  }
}

@media (min-width: 1200px) and (max-width: 1899px) {
  .blog-simple-header {
    display: flex;
    align-items: center;
    padding: 80px 0 0;
    background-image:
      linear-gradient(90deg, rgba(248,251,253,.78) 0%, rgba(248,251,253,.48) 45%, rgba(248,251,253,.08) 68%, transparent 78%),
      url('blog.png');
    background-position: center, right 0 top 80px;
    background-size: 100% 100%, 100% auto;
  }
  .blog-simple-header > .container { width: 100%; }
  .blog-simple-lead { max-width: 520px; }
  html[data-theme="dark"] .blog-simple-header {
    background-image:
      linear-gradient(90deg, rgba(15,17,23,.92) 0%, rgba(15,17,23,.72) 45%, rgba(15,17,23,.28) 68%, rgba(15,17,23,.08) 78%),
      url('blog.png');
  }
}

@media (min-width: 1900px) {
  .blog-simple-header {
    display: flex;
    align-items: center;
    padding: 80px 0 0;
  }
  .blog-simple-header > .container { width: 100%; }
}

@media (max-width: 991px) {
  .blog-article-header {
    background-image:
      linear-gradient(90deg, rgba(248,251,253,.9) 0%, rgba(248,251,253,.72) 68%, rgba(248,251,253,.5) 100%),
      url('blog_full.png');
    background-position: 58% center;
  }
  html[data-theme="dark"] .blog-article-header {
    background-image:
      linear-gradient(90deg, rgba(15,17,23,.94) 0%, rgba(15,17,23,.82) 68%, rgba(15,17,23,.62) 100%),
      url('blog_full.png');
  }
  .blog-article-aside {
    position: static;
    padding-left: 12px;
    margin-bottom: 48px;
    border-left: 0;
  }
  .blog-article-info {
    position: static;
    display: grid;
    grid-template-columns: minmax(220px, .9fr) 2fr;
    align-items: center;
    gap: 28px;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--border);
  }
  .blog-author {
    padding: 0 28px 0 0;
    margin: 0;
    border-right: 1px solid var(--border);
    border-bottom: 0;
  }
  .blog-article-details {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
  }
  .blog-article-topics { display: none; }
  .blog-topic-sidebar { display: none; }
  .blog-mobile-topics {
    display: flex;
    gap: 8px;
    margin: -10px -12px 40px;
    padding: 10px 12px 6px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }
  .blog-mobile-topics::-webkit-scrollbar { display: none; }
  .blog-mobile-topic {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 39px;
    padding: 7px 8px 7px 13px;
    flex: 0 0 auto;
    border: 1px solid var(--border2);
    border-radius: 999px;
    background: var(--bg);
    color: var(--muted);
    font-size: .8rem;
    font-weight: 600;
    text-decoration: none;
  }
  .blog-mobile-topic.active {
    border-color: var(--blue);
    background: var(--blue-light);
    color: var(--blue);
  }
  .blog-sidebar {
    padding-left: 12px;
    margin-top: 64px;
    border-left: 0;
  }
}
@media (max-width: 767px) {
  .blog-simple-header {
    min-height: 390px;
    padding: 140px 0 72px;
    background-image:
      linear-gradient(90deg, rgba(248,251,253,.92) 0%, rgba(248,251,253,.74) 70%, rgba(248,251,253,.36) 100%),
      url('blog.png');
    background-position: center, 76% center;
    background-size: 100% 100%, auto 112%;
  }
  html[data-theme="dark"] .blog-simple-header {
    background-image:
      linear-gradient(90deg, rgba(15,17,23,.9) 0%, rgba(15,17,23,.74) 70%, rgba(15,17,23,.4) 100%),
      url('blog.png');
  }
  .blog-index {
    padding: 58px 0 80px;
  }
  .blog-mobile-topics { margin-bottom: 32px; }
  .blog-filter-summary {
    align-items: flex-start;
    margin-bottom: 30px;
  }
  .blog-filter-summary p span {
    display: block;
    margin: 3px 0 0;
  }
  .blog-list-item {
    padding-bottom: 30px;
    margin-bottom: 30px;
  }
  .blog-list-meta {
    gap: 5px 14px;
  }
  .blog-article-header {
    padding: 125px 0 58px;
    background-position: 56% center;
  }
  .blog-article-aside { margin-bottom: 38px; }
  .blog-article-info {
    display: block;
    padding: 0 0 24px;
  }
  .blog-author {
    padding: 0 0 18px;
    margin: 0 0 18px;
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }
  .blog-article-details {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }
  .blog-article-meta { margin: 22px 0 14px; font-size: .75rem; }
  .blog-article-title { font-size: 2rem; letter-spacing: -.03em; }
  .blog-article-lead { font-size: 1rem; line-height: 1.7; }
  .blog-article-section { padding: 62px 0 78px; }
  .blog-prose { font-size: 1rem; line-height: 1.78; }
  .blog-prose blockquote { padding: 20px; }
  .blog-article-footer { margin-top: 52px; align-items: stretch; flex-direction: column; }
  .blog-article-footer .hero-cta-primary { justify-content: center; }
  .blog-list-meta span::before {
    left: -9px;
  }
}

/* Shared accent palette */
#mire .row.g-4 > div:nth-child(4n + 1),
#tanacsadas .row.g-4 > div:nth-child(4n + 1),
#rolam .row.g-3 > div:nth-child(4n + 1) { --card-accent: var(--accent-blue); }

#mire .row.g-4 > div:nth-child(4n + 2),
#tanacsadas .row.g-4 > div:nth-child(4n + 2),
#rolam .row.g-3 > div:nth-child(4n + 2) { --card-accent: var(--accent-orange); }

#mire .row.g-4 > div:nth-child(4n + 3),
#tanacsadas .row.g-4 > div:nth-child(4n + 3),
#rolam .row.g-3 > div:nth-child(4n + 3) { --card-accent: var(--accent-green); }

#mire .row.g-4 > div:nth-child(4n),
#tanacsadas .row.g-4 > div:nth-child(4n),
#rolam .row.g-3 > div:nth-child(4n) { --card-accent: var(--accent-red); }

#mire .svc-icon,
#tanacsadas .svc-icon {
  background: color-mix(in srgb, var(--card-accent) 19%, var(--white));
  color: var(--card-accent);
}

#rolam .row.g-3 > div .value-icon {
  background: color-mix(in srgb, var(--card-accent) 19%, var(--white));
  color: var(--card-accent);
}

.principle-card { --card-accent: var(--accent-blue); }
.row.g-4 > div:nth-child(4n + 1) > .principle-card { --card-accent: var(--accent-blue); }
.row.g-4 > div:nth-child(4n + 2) > .principle-card { --card-accent: var(--accent-orange); }
.row.g-4 > div:nth-child(4n + 3) > .principle-card { --card-accent: var(--accent-green); }
.row.g-4 > div:nth-child(4n) > .principle-card { --card-accent: var(--accent-red); }
.principle-card > i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-bottom: 34px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--card-accent) 19%, var(--white));
  color: var(--card-accent);
}

.ci-icon:has(.bi-envelope) {
  background: color-mix(in srgb, var(--accent-blue) 19%, var(--white));
  color: var(--accent-blue);
}
.ci-icon:has(.bi-telephone) {
  background: color-mix(in srgb, var(--accent-green) 19%, var(--white));
  color: var(--accent-green);
}
.ci-icon:has(.bi-geo-alt) {
  background: color-mix(in srgb, var(--accent-orange) 19%, var(--white));
  color: var(--accent-orange);
}
.ci-icon:has(.bi-clock) {
  background: color-mix(in srgb, var(--accent-red) 17%, var(--white));
  color: var(--accent-red);
}

/* Mobile hero */
@media (max-width: 991px) {
  #hero {
    padding-top: 140px;
    padding-bottom: 0;
  }
  #hero .hero-copy-column {
    position: relative;
    z-index: 2;
  }
  #hero .hero-media-column {
    display: block !important;
    margin-top: 38px;
    padding: 0;
  }
  #hero .hero-tech-visual {
    width: 100vw;
    height: clamp(320px, 70vw, 460px);
    margin: 0 0 0 calc(50% - 50vw);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 18%, #000 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, #000 18%, #000 100%);
  }
  #hero .hero-tech-visual::before { display: none; }
  #hero .hero-tech-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 68% center;
    filter: none;
  }
}

@media (max-width: 767px) {
  #navbar {
    padding-top: .7rem !important;
    padding-bottom: .7rem !important;
  }
  #navbar .brand-logo-desktop { height: 44px; }
  #themeToggleMobile,
  #navToggler {
    width: 40px !important;
    height: 40px;
  }
  #hero {
    padding-top: 112px;
    padding-bottom: 0;
  }
  #hero h1.display-heading {
    margin-bottom: 1.35rem !important;
    font-size: 1.9rem !important;
    line-height: 1.05;
  }
  #hero .hero-copy-column > p {
    margin-bottom: 1.4rem !important;
    font-size: .95rem !important;
    line-height: 1.68;
  }
  #hero .hero-copy-column > .d-flex { gap: .65rem !important; }
  #hero .hero-cta-primary,
  #hero .hero-cta-secondary {
    padding: 11px 16px;
    font-size: .85rem;
  }
  #hero .hero-cta-secondary { padding-top: 9px; padding-bottom: 9px; }
  #hero .hero-media-column { margin-top: 22px; }
  #hero .hero-tech-visual {
    height: clamp(240px, 68vw, 330px);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 11%, #000 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, #000 11%, #000 100%);
  }
}

@media (max-width: 430px) {
  #hero {
    padding-top: 102px;
    padding-bottom: 0;
  }
  #navbar .brand-logo-desktop { height: 40px; }
  #hero h1.display-heading { font-size: 1.85rem !important; }
  #hero .hero-copy-column > p {
    font-size: .95rem !important;
    line-height: 1.65;
  }
  #hero .hero-tech-visual { height: clamp(225px, 66vw, 280px); }
  #hero .hero-tech-visual img { object-position: 66% center; }
}

@media (max-width: 575px) {
  .blog-simple-header h1 { font-size: 1.85rem; }
  .blog-article-details {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .blog-article-details div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
  }
  .blog-article-details div:first-child { padding-top: 0; }
  .blog-article-details div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }
  .blog-article-details dt { margin-bottom: 0; }
  .blog-article-details dd { text-align: right; }
}

@media (max-width: 767px) {
  .problem-section { padding-top: 60px; }
}

/* Markdown-based software solutions */
.solution-accent-blue { --solution-accent: var(--accent-blue); }
.solution-accent-green { --solution-accent: var(--accent-green); }
.solution-accent-orange { --solution-accent: var(--accent-orange); }
.solution-accent-red { --solution-accent: var(--accent-red); }

.solutions-hero {
  position: relative;
  overflow: hidden;
  min-height: 560px;
  padding: 240px 0 162px;
  background-color: #f7fafc;
  background-image:
    linear-gradient(90deg, rgba(248,251,253,.12) 0%, rgba(248,251,253,.05) 48%, transparent 74%),
    url('solutions.png');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-bottom: 1px solid var(--border);
}
html[data-theme="dark"] .solutions-hero {
  background-color: var(--bg);
  background-image:
    linear-gradient(90deg, rgba(15,17,23,.95) 0%, rgba(15,17,23,.84) 44%, rgba(15,17,23,.35) 76%, rgba(15,17,23,.18) 100%),
    url('solutions.png');
}
.solutions-title {
  margin: 0;
  font-size: clamp(2.4rem, 5vw, 3.8rem);
}
.solutions-index { padding: 84px 0 118px; }
.solution-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 30px;
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  background: color-mix(in srgb, var(--solution-accent) 4%, var(--white));
  box-shadow: var(--shadow-sm);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.solution-card:hover {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--solution-accent) 42%, var(--border));
  box-shadow: var(--shadow-md);
}
.solution-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 28px;
}
.solution-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  flex: 0 0 auto;
  border-radius: 15px;
  background: color-mix(in srgb, var(--solution-accent) 18%, var(--white));
  color: var(--solution-accent);
  font-size: 1.35rem;
}
.solution-category {
  margin: 0 0 9px;
  color: var(--solution-accent);
  font-size: .69rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.solution-card h3 {
  margin: 0 0 8px;
  color: var(--ink);
  font-size: 1.65rem;
  font-weight: 800;
  letter-spacing: -.025em;
}
.solution-card h3 a { color: inherit; text-decoration: none; }
.solution-tagline {
  margin: 0 0 20px;
  color: var(--ink2);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.55;
}
.solution-description {
  margin: 0 0 28px;
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.75;
}
.solution-card-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: auto;
  color: var(--solution-accent);
  font-size: .86rem;
  font-weight: 800;
  text-decoration: none;
  transition: gap .2s ease;
}
.solution-card-link:hover { gap: 11px; color: var(--solution-accent); }
.solutions-note { padding: 78px 0; }
.solutions-note h2 { max-width: 850px; font-size: clamp(1.65rem, 3vw, 2.5rem); }

.solution-detail-hero {
  position: relative;
  overflow: hidden;
  padding: 165px 0 90px;
  background:
    radial-gradient(circle at 82% 32%, color-mix(in srgb, var(--solution-accent) 17%, transparent), transparent 30%),
    linear-gradient(145deg, var(--bg) 0%, var(--bg2) 100%);
  border-bottom: 1px solid var(--border);
}
.solution-detail-hero > .container > .blog-back-link { margin-bottom: 46px; }
.solution-detail-label {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 24px;
  color: var(--solution-accent);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.solution-detail-title {
  margin: 0 0 12px;
  font-size: clamp(2.4rem, 5vw, 3.8rem);
}
.solution-detail-tagline {
  margin: 0 0 18px;
  color: var(--ink2);
  font-family: 'Lora', serif;
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  font-style: italic;
  line-height: 1.35;
}
.solution-detail-lead {
  max-width: 680px;
  margin: 0 0 30px;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.75;
}
.solution-detail-preview {
  width: min(100%, 430px);
  margin-left: auto;
  padding: 26px;
  border: 1px solid color-mix(in srgb, var(--solution-accent) 35%, var(--border));
  border-radius: 22px;
  background: color-mix(in srgb, var(--solution-accent) 5%, var(--white));
  box-shadow: var(--shadow-lg);
  transform: rotate(2deg);
}
.solution-preview-head {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 24px;
  color: var(--ink);
  font-weight: 800;
}
.solution-preview-head i { color: var(--solution-accent); font-size: 1.25rem; }
.solution-preview-row {
  width: 68%;
  height: 11px;
  margin-top: 20px;
  border-radius: 999px;
  background: var(--border);
}
.solution-preview-row.wide { width: 100%; height: 54px; background: color-mix(in srgb, var(--solution-accent) 15%, var(--white)); }
.solution-preview-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 18px; }
.solution-preview-grid i { height: 72px; border: 1px solid var(--border); border-radius: 11px; background: var(--bg); }
.solution-detail-section { padding: 96px 0 112px; }
.solution-detail-aside {
  position: relative;
  align-self: stretch;
  padding-left: 42px;
  border-left: 1px solid var(--border);
}
.solution-detail-info {
  position: sticky;
  top: 116px;
}
.solution-detail-info > div {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px dashed var(--border);
}
.solution-detail-info span {
  display: block;
  margin-bottom: 7px;
  color: var(--muted2);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.solution-detail-info strong {
  color: var(--ink2);
  font-size: .9rem;
  line-height: 1.6;
}
.solution-aside-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--blue);
  font-size: .84rem;
  font-weight: 800;
  text-decoration: none;
}
.solution-aside-link:hover { color: var(--blue-dark); }
.solution-detail-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 76px;
  padding-top: 30px;
  border-top: 1px solid var(--border);
}

@media (min-width: 1025px) and (max-width: 1350px) {
  #navbar .nav-link { padding-left: .55rem !important; padding-right: .55rem !important; font-size: .86rem; }
  #navbar .nav-link::after { left: .55rem; }
  #navbar .nav-link:hover::after,
  #navbar .nav-link.active::after { width: calc(100% - 1.1rem); }
  #navbar .btn-nav { padding-left: .8rem !important; padding-right: .8rem !important; font-size: .74rem; }
}

@media (max-width: 991px) {
  .solutions-hero {
    padding: 160px 0 90px;
    background-image:
      linear-gradient(90deg, rgba(248,251,253,.92) 0%, rgba(248,251,253,.78) 68%, rgba(248,251,253,.52) 100%),
      url('solutions.png');
    background-position: 60% center;
  }
  html[data-theme="dark"] .solutions-hero {
    background-image:
      linear-gradient(90deg, rgba(15,17,23,.94) 0%, rgba(15,17,23,.84) 68%, rgba(15,17,23,.6) 100%),
      url('solutions.png');
  }
  .solutions-title { font-size: clamp(2.4rem, 5vw, 3rem); }
  .solution-detail-aside {
    padding: 42px 12px 0;
    margin-top: 52px;
    border-top: 1px solid var(--border);
    border-left: 0;
  }
  .solution-detail-info { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
  .solution-detail-info > div { margin: 0; }
  .solution-aside-link { align-self: center; }
}

@media (max-width: 767px) {
  .solutions-hero {
    min-height: 400px;
    padding: 128px 0 72px;
    background-position: 64% center;
  }
  .solutions-title { font-size: 2rem; }
  .solutions-index { padding: 54px 0 82px; }
  .solution-card { padding: 24px; }
  .solutions-note { padding: 62px 0; }
  .solution-detail-hero { padding: 125px 0 68px; }
  .solution-detail-hero > .container > .blog-back-link { margin-bottom: 34px; }
  .solution-detail-title { font-size: 2rem; }
  .solution-detail-tagline { font-size: 1.25rem; }
  .solution-detail-section { padding: 68px 0 82px; }
  .solution-detail-aside { padding-top: 32px; margin-top: 38px; }
  .solution-detail-info { grid-template-columns: 1fr; gap: 0; }
  .solution-detail-info > div { padding: 0 0 16px; margin: 0 0 16px; }
  .solution-aside-link { margin-top: 4px; }
  .solution-detail-footer { align-items: stretch; flex-direction: column; margin-top: 54px; }
  .solution-detail-footer .hero-cta-primary { justify-content: center; }
}
