:root{
    --paper:#f6f8f8;
    --paper-2:#ffffff;
    --paper-3:#eef2f2;
    --ink:#08191f;
    --ink-2:#4d6169;
    --ink-3:#8a9ba1;
    --rule:rgba(8,25,31,0.10);
    --rule-2:rgba(8,25,31,0.06);
    --ember:#e0521a;
    --ember-soft:rgba(224,82,26,0.10);
    --teal:#0e7c6b;
    --teal-soft:rgba(14,124,107,0.10);
    --glass:rgba(255,255,255,0.72);
    --glass-line:rgba(8,25,31,0.10);
    --bg:var(--paper);
    --fg:var(--ink);
    --fg-2:var(--ink-2);
    --card:var(--paper-2);
    --f-sans:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
    --f-serif:Georgia,"Times New Roman",serif;
    --f-mono:ui-monospace,Menlo,Monaco,"Courier New",monospace;
  }

  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);color:var(--fg);font-family:var(--f-sans);
    -webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative;
  }
  body::before{
    content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
    background:
      radial-gradient(820px 620px at 8% -6%, var(--teal-soft), transparent 62%),
      radial-gradient(900px 700px at 104% 12%, var(--ember-soft), transparent 60%),
      radial-gradient(700px 600px at 50% 112%, var(--teal-soft), transparent 65%);
  }
  .wrap{max-width:1240px;margin:0 auto;padding:0 40px;}
  @media(max-width:700px){.wrap{padding:0 22px;}}

  .lbl{font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-2);}
  .ital{font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:-.015em;color:var(--ember);}

  nav{position:sticky;top:0;z-index:60;border-bottom:1px solid var(--rule-2);
    background:color-mix(in srgb, var(--bg) 82%, transparent);backdrop-filter:blur(14px);}
  .nav-in{display:flex;align-items:center;justify-content:space-between;gap:30px;
    padding-top:16px;padding-bottom:16px;}
  .mark{display:flex;align-items:center;text-decoration:none;flex:none;}
  .mark img{height:30px;width:auto;display:block;filter:brightness(0);}
  .nav-links{display:flex;gap:26px;list-style:none;align-items:center;}
  .nav-links > li{position:relative;}
  .nav-links > li > a{
    font-family:var(--f-sans);font-size:15px;font-weight:500;letter-spacing:-.005em;
    color:var(--fg);text-decoration:none;padding:10px 0;display:inline-flex;align-items:center;gap:5px;
    transition:color .18s;
  }
  .nav-links > li > a:hover,.nav-links > li:focus-within > a{color:var(--ember);}
  .nav-links > li.has-sub > a::after{
    content:"";width:5px;height:5px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;
    transform:rotate(45deg) translateY(-2px);opacity:.55;transition:transform .18s;
  }
  .nav-links > li.has-sub:hover > a::after,.nav-links > li.has-sub:focus-within > a::after{transform:rotate(225deg) translateY(-2px);}

  .sub{
    position:absolute;top:100%;left:-16px;min-width:236px;list-style:none;
    background:var(--card);border:1px solid var(--rule);border-radius:12px;padding:10px;
    box-shadow:0 22px 54px rgba(8,25,31,.18);
    opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s;
    z-index:70;
  }
  .nav-links > li:hover > .sub,.nav-links > li:focus-within > .sub{opacity:1;visibility:visible;transform:translateY(0);}
  .sub.two-col{column-count:2;column-gap:6px;min-width:430px;}
  .sub li{break-inside:avoid;}
  .sub a{
    display:block;font-size:13.5px;font-weight:400;color:var(--fg-2);text-decoration:none;
    padding:8px 12px;border-radius:7px;transition:background .15s,color .15s;
  }
  .sub a:hover{background:var(--paper-3);color:var(--ember);}

  .nav-r{display:flex;align-items:center;gap:20px;}
  .nav-r .btn{
    font-family:var(--f-sans);font-size:14.5px;font-weight:500;
    text-transform:none;letter-spacing:-.005em;padding:11px 22px;border-radius:6px;
  }
  @media(max-width:1150px){.nav-links{gap:18px;} .nav-links > li > a{font-size:14px;}}

  .nav-burger{display:none;flex:none;width:34px;height:34px;border:0;background:transparent;
    cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;}
  .nav-burger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;
    transition:transform .2s,opacity .2s;}
  .nav-open .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-open .nav-burger span:nth-child(2){opacity:0;}
  .nav-open .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  .sub-tog{display:none;}

  @media(max-width:1000px){
    .nav-burger{display:flex;}
    .nav-links{
      display:none;position:absolute;top:100%;left:0;right:0;
      background:var(--card);border-bottom:1px solid var(--rule);
      flex-direction:column;align-items:stretch;gap:0;max-height:calc(100vh - 64px);
      overflow-y:auto;box-shadow:0 22px 44px rgba(8,25,31,.14);
    }
    .nav-open .nav-links{display:flex;}
    .nav-links > li{width:100%;border-top:1px solid var(--rule-2);position:relative;}
    .nav-links > li:first-child{border-top:0;}
    .nav-links > li > a{width:100%;padding:16px 22px;font-size:16px;}
    .nav-links > li.has-sub > a::after{display:none;}

    .sub-tog{
      display:block;position:absolute;top:6px;right:6px;width:44px;height:44px;
      background:transparent;border:0;cursor:pointer;
    }
    .sub-tog::before{
      content:"";position:absolute;top:50%;left:50%;width:9px;height:9px;
      border-right:1.8px solid var(--ink);border-bottom:1.8px solid var(--ink);
      transform:translate(-50%,-70%) rotate(45deg);transition:transform .2s;
    }
    .sub-open > .sub-tog::before{transform:translate(-50%,-30%) rotate(225deg);}

    .sub{
      position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
      border:0;border-radius:0;background:var(--paper-3);padding:0;min-width:0;
      max-height:0;overflow:hidden;transition:max-height .22s ease;column-count:1 !important;
    }
    .sub-open > .sub{max-height:900px;padding:6px 0 10px;}
    .sub a{padding:11px 22px 11px 34px;font-size:14.5px;}

    .nav-r{gap:14px;}
    .nav-r .btn{padding:10px 16px;font-size:13px;}
  }

  .btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:11px;
    letter-spacing:.14em;text-transform:uppercase;padding:14px 24px;text-decoration:none;
    border:1px solid transparent;cursor:pointer;border-radius:2px;
    transition:transform .2s,box-shadow .2s,background .2s,color .2s,border-color .2s;}
  .btn-fill{background:linear-gradient(135deg,var(--ember),#f07a3c);color:#fff;box-shadow:0 8px 24px rgba(224,82,26,.24);}
  .btn-fill:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(224,82,26,.32);}
  .btn-line{border-color:var(--rule);color:var(--fg);background:var(--card);}
  .btn-line:hover{border-color:var(--fg);}
  .btn:focus-visible{outline:2px solid var(--teal);outline-offset:3px;}
  .btn-sm{padding:10px 18px;}

  /* CTA bands — mid-page callouts between content sections */
  .cta-band-modern{background:linear-gradient(120deg,var(--navy,#0d2530) 0%,#123a48 100%);}
  .cta-band-modern.cta-band-alt{background:linear-gradient(120deg,var(--teal) 0%,#0a5346 100%);}
  .cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
  .cta-band-text{color:#fff;font-size:17px;font-weight:600;letter-spacing:-.015em;line-height:1.4;
    margin:0;max-width:56ch;flex:1 1 320px;}
  .cta-band-btn{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
    font-weight:700;color:var(--navy,#0d2530);background:#fff;border:none;border-radius:2px;
    padding:14px 24px;cursor:pointer;white-space:nowrap;transition:transform .2s,box-shadow .2s;
    box-shadow:0 8px 24px rgba(0,0,0,.18);}
  .cta-band-btn:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,0,0,.24);}

  /* hero — photo with a gradient wash: readable paper tone on the left,
     the image itself darkening toward the right behind the credential card */
  .hero{
    position:relative;padding:104px 0 84px;isolation:isolate;
    background-image:
      linear-gradient(100deg,
        rgba(246,248,248,0.97) 0%,
        rgba(246,248,248,0.95) 34%,
        rgba(246,248,248,0.68) 56%,
        rgba(120,140,150,0.14) 80%,
        rgba(96,114,124,0.22) 100%),
      linear-gradient(to bottom, transparent 58%, var(--bg) 100%),
      url("https://d1mwexcsjeyerr.cloudfront.net/images/home/header.webp");
    background-size:100% 100%, 100% 100%, cover;
    background-position:0 0, 0 0, 72% center;
    background-repeat:no-repeat, no-repeat, no-repeat;
  }
  .hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center;}
  @media(max-width:980px){
    .hero-grid{grid-template-columns:1fr;gap:36px;}
    /* stacked layout: fade top-to-bottom instead of left-to-right, so the
       full-width paragraph stays on the light zone and the darker image
       shows behind the credential card below it */
    .hero{
      background-image:
        linear-gradient(180deg,
          rgba(246,248,248,0.97) 0%,
          rgba(246,248,248,0.96) 48%,
          rgba(246,248,248,0.72) 66%,
          rgba(120,140,150,0.16) 86%,
          rgba(96,114,124,0.24) 100%),
        linear-gradient(to bottom, transparent 58%, var(--bg) 100%),
        url("https://d1mwexcsjeyerr.cloudfront.net/images/home/header.webp");
      background-size:100% 100%, 100% 100%, cover;
      background-position:0 0, 0 0, 76% center;
    }
  }
  h1{font-size:clamp(38px,5.3vw,74px);line-height:.98;letter-spacing:-.045em;font-weight:700;text-wrap:balance;margin:22px 0 26px;}
  .hero p{font-size:16px;line-height:1.7;color:var(--fg-2);max-width:52ch;}
  .hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;}

  /* hero slider — swap slides for events, images or video */
  .hero-proof{
    background:var(--glass);border:1px solid var(--glass-line);border-radius:16px;
    backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
    box-shadow:0 24px 60px rgba(8,25,31,.16);overflow:hidden;position:relative;
  }
  .hs-track{
    display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
    scrollbar-width:none;-ms-overflow-style:none;
  }
  .hs-track::-webkit-scrollbar{display:none;}
  .hs-slide{
    flex:0 0 100%;scroll-snap-align:start;min-height:392px;
    display:flex;flex-direction:column;gap:18px;padding:28px 26px 22px;
  }
  /* credentials slide — badges on white tiles so they read in both themes */
  .hs-slide--proof{gap:14px;justify-content:center;text-align:center;}
  .pf-kicker{font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
    color:var(--ember);font-weight:700;}
  .pf-aws{display:flex;justify-content:center;padding:2px 0 4px;}
  .pf-aws img{width:100%;max-width:264px;height:auto;display:block;}
  .pf-row{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;}
  .pf-odoo{display:flex;align-items:center;flex:none;}
  .pf-odoo img{height:48px;width:auto;display:block;}
  .pf-rule{height:1px;background:var(--glass-line);}
  .pf-clutch{display:flex;align-items:center;flex:none;}
  .pf-clutch img{height:38px;width:auto;display:block;}
  .hero .pf-rated{font-family:var(--f-mono);font-size:10px;line-height:1.5;letter-spacing:.13em;
    text-transform:uppercase;color:var(--fg-2);max-width:none;margin:0;text-align:center;}
  .hero .pf-rated b{color:var(--fg);font-weight:700;}

  /* media slide: full-bleed image or video poster */
  .hs-slide--media{padding:0;position:relative;justify-content:flex-end;gap:0;}
  .hs-slide--media img.bleed{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .hs-slide--media .veil{position:absolute;inset:0;
    background:linear-gradient(to top,rgba(4,16,20,.92) 8%,rgba(4,16,20,.55) 46%,rgba(4,16,20,.18) 100%);}
  .hs-body{position:relative;z-index:2;padding:24px 26px 52px;display:flex;flex-direction:column;gap:10px;}
  .hs-kicker{font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
    color:#ff9a63;font-weight:700;}
  .hs-slide--media h3{font-size:20px;font-weight:700;letter-spacing:-.03em;line-height:1.18;color:#fff;}
  .hs-slide--media p{font-size:13px;line-height:1.6;color:#c3d2d6;}
  .hs-go{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
    color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:gap .2s;}
  .hs-go:hover{gap:14px;}
  .hs-logo{position:absolute;top:24px;left:26px;z-index:2;height:34px;width:auto;}

  /* controls */
  .hs-ui{
    position:absolute;left:0;right:0;bottom:0;z-index:5;
    display:flex;align-items:center;justify-content:space-between;
    padding:12px 16px 12px 26px;pointer-events:none;
  }
  .hs-dots{display:flex;gap:7px;pointer-events:auto;}
  .hs-dot{width:7px;height:7px;border-radius:50%;border:none;padding:0;cursor:pointer;
    background:var(--glass-line);transition:width .25s,background .25s;}
  .hs-dot.on{width:22px;border-radius:4px;background:var(--ember);}
  .hs-slide--media ~ .hs-ui .hs-dot{background:rgba(255,255,255,.4);}
  .hs-arrows{display:flex;gap:6px;pointer-events:auto;}
  .hs-btn{width:30px;height:30px;border-radius:50%;border:1px solid var(--glass-line);
    background:var(--glass);color:var(--fg);cursor:pointer;font-size:15px;line-height:1;
    display:flex;align-items:center;justify-content:center;transition:border-color .2s;}
  .hs-btn:hover{border-color:var(--ember);color:var(--ember);}
  .hs-btn:focus-visible,.hs-dot:focus-visible{outline:2px solid var(--teal);outline-offset:2px;}

  /* trust */
  .trust{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
    background:linear-gradient(180deg,transparent,rgba(8,25,31,.025));}
  .trust-in{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;
    padding-top:32px;padding-bottom:32px;}
  .nums{display:flex;gap:56px;flex-wrap:wrap;}
  .num b{display:block;font-size:clamp(30px,3.6vw,46px);font-weight:700;letter-spacing:-.05em;line-height:1;
    font-variant-numeric:tabular-nums;
    background:linear-gradient(135deg,var(--ember),#f2913f);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .num span{display:block;font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-2);margin-top:9px;line-height:1.5;}

  section{padding:100px 0;}
  .sec-intro{max-width:74ch;margin-bottom:46px;}
  .sec-intro .lbl{color:var(--ember);font-weight:700;}
  .sec-intro h2{font-size:clamp(26px,3.6vw,42px);line-height:1.15;letter-spacing:-.04em;
    font-weight:700;margin:14px 0 18px;}
  .sec-intro p{font-size:16.5px;line-height:1.7;color:var(--fg-2);max-width:56ch;}
  @media(max-width:760px){.sec-intro{margin-bottom:32px;}}
  @media(max-width:480px){.sec-intro h2{font-size:22px;}}

  /* services */
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  @media(max-width:1000px){.svc-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:660px){.svc-grid{grid-template-columns:1fr;}}

  .svc-card{background:var(--card);border:1px solid var(--rule-2);border-radius:16px;
    padding:30px 28px 26px;display:flex;flex-direction:column;gap:16px;
    transition:transform .25s,box-shadow .25s,border-color .25s;}
  .svc-card:hover{transform:translateY(-4px);box-shadow:0 20px 46px rgba(8,25,31,.13);border-color:var(--rule);}
  .svc-badge{width:54px;height:54px;border-radius:13px;display:flex;align-items:center;justify-content:center;
    font-family:var(--f-mono);font-size:16px;font-weight:700;color:#fff;letter-spacing:.02em;}
  .b1{background:#0e7c6b;} .b2{background:#e0521a;} .b3{background:#17414f;}
  .b4{background:#2b7d8c;} .b5{background:#b8442c;}
  .svc-card h3{font-size:20px;font-weight:700;letter-spacing:-.03em;line-height:1.2;}
  .svc-card p{font-size:14.5px;line-height:1.72;color:var(--fg-2);}
  .svc-card .go{margin-top:auto;padding-top:6px;font-family:var(--f-mono);font-size:11.5px;
    letter-spacing:.12em;text-transform:uppercase;color:var(--ember);text-decoration:none;
    display:inline-flex;align-items:center;gap:8px;transition:gap .2s;}
  .svc-card .go:hover{gap:14px;color:var(--fg);}

  .svc-card-cta{background:linear-gradient(140deg,#0d2b34,#154a45);border-color:transparent;
    justify-content:center;gap:14px;}
  .svc-card-cta h3{color:#fff;font-size:22px;}
  .svc-card-cta p{color:#a9c2c4;}
  .svc-card-cta .go{color:#ff9a63;}
  .svc-card-cta .go:hover{color:#fff;}
  .svc-card-cta:hover{box-shadow:0 22px 50px rgba(8,25,31,.28);}

  /* why + image */
  .why-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;}
  @media(max-width:900px){.why-grid{grid-template-columns:1fr;gap:36px;}}
  .why-fig{border-radius:14px;overflow:hidden;position:relative;box-shadow:0 24px 56px rgba(8,25,31,.16);}
  .why-fig img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover;}
  .why-fig::after{content:"";position:absolute;inset:0;background:linear-gradient(140deg,rgba(14,124,107,.28),transparent 55%);}
  .why-list{display:grid;grid-template-columns:1fr 1fr;gap:30px 34px;}
  @media(max-width:560px){.why-list{grid-template-columns:1fr;}}
  .why-c h3{font-size:16px;font-weight:700;letter-spacing:-.02em;margin-bottom:9px;}
  .why-c h3::before{content:"";display:block;width:24px;height:2px;margin-bottom:13px;
    background:linear-gradient(90deg,var(--ember),var(--teal));}
  .why-c p{font-size:13.5px;line-height:1.7;color:var(--fg-2);}

  /* marquee */
  .mq{overflow:hidden;border-top:1px solid var(--rule-2);border-bottom:1px solid var(--rule-2);padding:20px 0;}
  .mq+.mq{border-top:none;}
  .mq-track{display:flex;width:max-content;animation:slide 46s linear infinite;}
  .mq-rev .mq-track{animation-direction:reverse;}
  .mq-track span{font-size:clamp(18px,2.4vw,29px);font-weight:700;letter-spacing:-.035em;padding:0 24px;white-space:nowrap;color:var(--fg);}
  .mq-track span em{font-style:normal;color:var(--ember);padding-left:24px;}
  @keyframes slide{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  @media(prefers-reduced-motion:reduce){.mq-track{animation:none;}}

  /* work */
  .work{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
  @media(max-width:860px){.work{grid-template-columns:1fr;}}
  .case{background:var(--card);border:1px solid var(--rule-2);border-radius:14px;overflow:hidden;
    display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s;}
  .case:hover{transform:translateY(-5px);box-shadow:0 26px 56px rgba(8,25,31,.16);}
  .case-img{position:relative;overflow:hidden;}
  .case-img img{width:100%;height:auto;display:block;aspect-ratio:16/10;object-fit:cover;transition:transform .5s;}
  .case:hover .case-img img{transform:scale(1.04);}
  .case-img::after{content:"";position:absolute;inset:0;background:linear-gradient(155deg,rgba(14,124,107,.20),transparent 50%,rgba(224,82,26,.18));}
  .case-n{position:absolute;top:14px;left:14px;z-index:2;font-family:var(--f-mono);font-size:10px;
    letter-spacing:.14em;background:rgba(4,14,18,.72);color:#fff;padding:6px 10px;border-radius:2px;}
  .case-b{padding:24px 24px 26px;display:flex;flex-direction:column;gap:11px;flex:1;}
  .case-b h3{font-size:18.5px;font-weight:700;letter-spacing:-.03em;line-height:1.2;}
  .case-b p{font-size:13.5px;line-height:1.68;color:var(--fg-2);}
  .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;}
  .tag{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;
    border:1px solid var(--rule);padding:5px 9px;border-radius:2px;color:var(--fg-2);}
  .case-b a{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--ember);text-decoration:none;margin-top:auto;padding-top:12px;}
  .case-b a:hover{color:var(--fg);}

  /* industries */
  .inds{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  @media(max-width:820px){.inds{grid-template-columns:repeat(2,1fr);}}
  .ind{background:var(--card);border:1px solid var(--rule-2);border-radius:12px;padding:24px 20px;
    text-decoration:none;color:var(--fg);display:flex;flex-direction:column;gap:16px;
    transition:transform .25s,box-shadow .25s,border-color .25s;}
  .ind:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(8,25,31,.13);border-color:var(--ember);}
  /* soft single-tone tile; source icons are white line-art so they're inverted to ink */
  .ind-ic{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;
    background:#e3edea;transition:transform .25s,background .25s;}
  .ind-ic img{width:27px;height:27px;object-fit:contain;filter:brightness(0);opacity:.72;
    transition:opacity .25s;}
  .ind:hover .ind-ic{transform:scale(1.06);background:#d6e6e1;}
  .ind:hover .ind-ic img{opacity:.9;}
  .ind h3{margin:0;font-size:15.5px;font-weight:700;letter-spacing:-.025em;line-height:1.2;}

  /* quotes */
  .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  @media(max-width:860px){.quotes{grid-template-columns:1fr;}}
  .q{background:var(--card);border:1px solid var(--rule-2);border-radius:14px;padding:28px 26px;
    display:flex;flex-direction:column;gap:18px;}
  .q blockquote{font-family:var(--f-serif);font-size:17px;line-height:1.55;letter-spacing:-.01em;}
  .q .star{color:var(--ember);font-size:13px;letter-spacing:.15em;}
  .q cite{font-style:normal;font-family:var(--f-mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;display:block;margin-top:auto;}
  .q small{font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-2);}

  /* faq */
  .faq details{border-bottom:1px solid var(--rule-2);}
  .faq details:first-child{border-top:1px solid var(--rule-2);}
  .faq summary{list-style:none;cursor:pointer;padding:24px 0;display:flex;gap:22px;align-items:baseline;
    font-size:clamp(16px,1.9vw,21px);font-weight:700;letter-spacing:-.03em;line-height:1.3;}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary::after{content:"+";margin-left:auto;color:var(--ember);font-weight:400;font-size:23px;line-height:1;}
  .faq details[open] summary::after{content:"–";}
  .faq .qn{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;color:var(--ember);flex:none;}
  .faq summary h4{margin:0;font:inherit;color:inherit;}
  .faq .ans{font-size:14.5px;line-height:1.75;color:var(--fg-2);max-width:74ch;padding:0 0 28px 49px;}
  @media(max-width:700px){.faq .ans{padding-left:0;}}

  /* contact panel gradient */
  .contact-panel{border-radius:18px;padding:56px;position:relative;overflow:hidden;
    background:linear-gradient(135deg,#d3e5e0 0%,#e6e0d4 54%,#f7dccb 100%);
    border:1px solid rgba(8,25,31,.09);
    box-shadow:0 26px 64px rgba(8,25,31,.10);}
  .contact-panel::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:
      radial-gradient(640px 460px at 94% 4%, rgba(224,82,26,.22), transparent 62%),
      radial-gradient(560px 430px at 2% 98%, rgba(14,124,107,.20), transparent 64%);}
  @media(max-width:700px){.contact-panel{padding:32px 24px;}}
  .contact-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;
    align-items:center;}
  @media(max-width:880px){.contact-grid{grid-template-columns:1fr;gap:36px;}}
  .contact-panel h2{font-size:clamp(26px,3.6vw,42px);line-height:1.15;letter-spacing:-.04em;
    font-weight:700;color:var(--ink);margin-bottom:22px;}
  @media(max-width:480px){.contact-panel h2{font-size:22px;}}
  .contact-panel .ital{color:var(--ember);}
  /* deeper ember: the darker panel drops the standard accent below AA at this size */
  .contact-panel .lbl{color:#9c3a10;}
  .contact-panel p{font-size:15px;line-height:1.7;color:var(--ink-2);max-width:44ch;margin-bottom:24px;}
  .ticks{list-style:none;display:flex;flex-direction:column;gap:10px;}
  .ticks li{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
    color:var(--ink-2);display:flex;gap:11px;}
  .ticks li::before{content:"—";color:var(--ember);}
  .ct-proof{margin-top:30px;padding-top:24px;border-top:1px solid rgba(8,25,31,.12);}
  .ct-proof-lbl{font-family:var(--f-mono);font-size:10px;letter-spacing:.15em;
    text-transform:uppercase;color:var(--ink-3);font-weight:700;display:block;}
  .ct-logos{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:18px;}
  .ct-logos img{display:block;width:auto;filter:none;opacity:1;}
  .ct-aws{height:54px;}
  .ct-odoo{height:34px;}
  .ct-clutch{height:30px;}
  @media(max-width:700px){
    .ct-logos{gap:18px;}
    .ct-aws{height:44px;} .ct-odoo{height:28px;} .ct-clutch{height:25px;}
  }
  .field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;}
  .field label{font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;
    text-transform:uppercase;color:var(--ink-2);}
  .field input,.field textarea{font-family:var(--f-sans);font-size:15px;color:var(--ink);
    background:rgba(255,255,255,.86);border:1px solid rgba(8,25,31,.13);
    border-radius:8px;padding:12px 14px;transition:border-color .2s,box-shadow .2s;}
  .field input::placeholder,.field textarea::placeholder{color:var(--ink-3);}
  .field input:focus,.field textarea:focus{outline:none;border-color:var(--ember);
    box-shadow:0 0 0 3px rgba(224,82,26,.14);background:#fff;}
  .field textarea{resize:vertical;min-height:84px;}
  .form-msg{font-size:13.5px;margin-top:12px;min-height:1em;}
  .form-msg.error{color:#c0392b;}
  .form-msg.success{color:var(--teal);}
  form[data-contact-form] button[type="submit"][disabled]{opacity:.6;cursor:not-allowed;}

  /* footer — three columns, mirroring the live site */
  footer{border-top:1px solid var(--rule);margin-top:96px;background:var(--paper-3);}
  .foot-cols{display:grid;grid-template-columns:1fr 1.15fr 1.5fr;gap:48px;
    padding-top:56px;padding-bottom:44px;}
  @media(max-width:900px){.foot-cols{grid-template-columns:1fr 1fr;gap:38px;}}
  @media(max-width:560px){.foot-cols{grid-template-columns:1fr;gap:32px;}}
  .foot-col h3{font-size:13px;font-weight:700;letter-spacing:.02em;margin-bottom:16px;color:var(--fg);}
  .foot-col ul{list-style:none;display:flex;flex-direction:column;gap:9px;}
  .foot-col ul a{font-size:14px;color:var(--fg-2);text-decoration:none;transition:color .18s;}
  .foot-col ul a:hover{color:var(--ember);}
  .foot-tech ul{display:grid;grid-template-columns:1fr 1fr;gap:9px 20px;}

  .foot-social{display:flex;gap:10px;margin-top:26px;}
  .foot-social a{
    width:34px;height:34px;border-radius:8px;border:1px solid var(--rule);
    display:flex;align-items:center;justify-content:center;color:var(--fg-2);
    transition:border-color .18s,color .18s,background .18s;
  }
  .foot-social a:hover{border-color:var(--ember);color:var(--ember);background:var(--ember-soft);}
  .foot-social svg{width:16px;height:16px;fill:currentColor;display:block;}

  .foot-rating{margin-top:26px;display:flex;flex-direction:column;gap:5px;}
  .foot-rating .fr-stars{color:var(--ember);font-size:14px;letter-spacing:.1em;}
  .foot-rating .fr-txt{font-size:12.5px;color:var(--fg-2);line-height:1.5;}
  .foot-rating .fr-txt b{color:var(--fg);font-weight:700;}

  .foot-office{margin-bottom:20px;}
  .foot-office:last-child{margin-bottom:0;}
  .foot-office .fo-loc{
    font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
    color:var(--ember);font-weight:700;margin-bottom:7px;
  }
  .foot-office address{font-style:normal;font-size:13.5px;line-height:1.6;color:var(--fg-2);max-width:40ch;}
  .foot-office a{color:var(--fg-2);text-decoration:none;}
  .foot-office a:hover{color:var(--ember);}

  .foot-bar{border-top:1px solid var(--rule-2);display:flex;justify-content:space-between;
    flex-wrap:wrap;gap:12px;padding-top:20px;padding-bottom:30px;}
  .foot-bar span,.foot-bar a{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.12em;
    text-transform:uppercase;color:var(--fg-2);text-decoration:none;}
  .foot-bar a:hover{color:var(--ember);}

  @media(max-width:620px){
    .nums{gap:26px 0;width:100%;display:grid;grid-template-columns:1fr 1fr;}
    .trust-in{gap:26px;}
  }
