@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..900;1,9..40,400..900&family=Roboto:wght@400;500;600;700;900&display=swap');

/* =========================================================
   AI Visibility & GEO Services landing page
   Figma: "AI Visibility & GEO Services - LP", frame 3754:9184
   Every class is prefixed with "geo-" to stay clear of theme styles
   and of the csd- (Custom Software Development) page.
   ========================================================= */

.geo-page{
  --geo-orange:#ff5b2e;
  --geo-orange-soft:#fff3ed;
  --geo-black:#1e1e1e;
  --geo-ink:#141414;
  --geo-text:#4a4a4a;
  --geo-muted:#5e5e5e;
  --geo-grey-bg:#f8f8f8;
  --geo-border:rgba(30,30,30,.15);
  --geo-roboto:"Roboto",sans-serif;
  --geo-dm:"DM Sans",sans-serif;
  --geo-container:1384px;
  --geo-gutter:28px;
  --geo-section-y:120px;
  --geo-h2:64px;

  position:relative;
  overflow:hidden;
  overflow:clip;
  background:#fff;
  color:var(--geo-black);
  font-family:var(--geo-dm);
  font-variation-settings:"opsz" 14;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.geo-page *,
.geo-page *::before,
.geo-page *::after{box-sizing:border-box;}
.geo-page :where(h1,h2,h3,h4,p,ul,ol,li,blockquote,figure){margin:0;padding:0;max-width:none;}
.geo-page :where(ul,ol){list-style:none;}
.geo-page :where(img,svg){display:block;max-width:100%;}
.geo-page :where(a){text-decoration:none;transition:color .2s ease,background-color .2s ease,opacity .2s ease;}
.geo-page :where(button){font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0;}
.geo-page :focus-visible{outline:2px solid var(--geo-orange);outline-offset:3px;}
.geo-page [id]{scroll-margin-top:90px;}

.geo-container{width:100%;max-width:calc(var(--geo-container) + var(--geo-gutter) * 2);margin:0 auto;padding:0 var(--geo-gutter);}
.geo-accent{color:var(--geo-orange);}

/* ---------- Shared type ---------- */
.geo-h2{font-family:var(--geo-roboto);font-weight:700;font-size:var(--geo-h2);line-height:100%;color:var(--geo-black);}
.geo-lead{font-family:var(--geo-dm);font-weight:500;font-size:clamp(16px, 1.5vw, 20px);line-height:clamp(22px, 2vw, 28px);color:var(--geo-text);}

/* Eyebrow badge: a small gradient dot + gradient text, built in CSS (no image asset). */
.geo-badge,.geo-eyebrow-dot{display:inline-flex;align-items:center;gap:8px;}
.geo-badge__dot,.geo-eyebrow-dot__mark{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ffd37a,var(--geo-orange));}
.geo-badge__text,.geo-eyebrow-dot span:last-child{font-family:var(--geo-dm);font-weight:500;font-size:clamp(16px, 1.5vw, 20px);line-height:120%;letter-spacing:0px;background: linear-gradient(93.78deg, #FF5B2E -7.25%, #F5E12D 127%);
-webkit-background-clip:text;background-clip:text;color:transparent;}
.geo-eyebrow-dot{margin-bottom:8px;}

/* Section heading row: title left, intro right, bottom aligned (reused everywhere) */
.geo-head{display:flex;align-items:center;justify-content:space-between;gap:clamp(16px, 2vw, 32px);}
.geo-head__title{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(12px, 2vw, 24px);}
.geo-head__text{width:446px;flex:0 0 auto;}

/* ---------- Shared cards ---------- */
.geo-card-base{background:#fff;border:1px solid var(--geo-border);border-radius:20px;}

/* =========================================================
   Hero
   ========================================================= */
.geo-hero{position:relative;padding:clamp(96px, 10vw, 150px) 0 clamp(56px, 6vw, 90px);overflow:hidden;}
.geo-hero__bg{position:absolute;inset:0;background-repeat:no-repeat;background-position:top center;background-size:cover;opacity:1;pointer-events:none;}
.geo-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,clamp(420px, 45vw, 757px)) minmax(0,1fr);gap:clamp(28px, 3vw, 64px);align-items:center;max-width:1620px;}
.geo-hero__title{text-align:left;margin-top:clamp(12px, 1.5vw, 20px);font-family:var(--geo-roboto);font-weight:600;font-size:clamp(32px, 5vw, 92px);line-height:100%;color:var(--geo-black);}
.geo-hero__text{margin-top:clamp(12px, 1.5vw, 20px);font-family:var(--geo-dm);font-weight:500;font-size:clamp(16px, 1.5vw, 20px);line-height:clamp(22px, 2vw, 28px);color:var(--geo-text);}
.geo-hero__actions{display:flex;flex-wrap:wrap;gap:clamp(12px, 1.5vw, 20px);margin-top:clamp(20px, 3vw, 40px);justify-content:flex-start;}
.geo-hero__steps{display:flex;flex-wrap:wrap;gap:clamp(10px, 1vw, 14px);margin-top:clamp(24px, 4vw, 50px);}
.geo-hero__steps li{    display: flex;
    align-items: center;
    gap: clamp(8px, 1vw, 10px);
    padding: clamp(8px, 1vw, 10px) clamp(10px, 1.2vw, 14px);
    background: #fff;
    /* border: 1px solid var(--geo-border); */
    border-radius: clamp(8px, 1vw, 10px);
    font-family: var(--geo-dm);
    font-weight: 500;
    font-size: clamp(14px, 1.2vw, 16px);
    color: var(--geo-black);}
.geo-hero__steps-icon{display:flex;align-items:center;justify-content:center;width:clamp(32px, 3vw, 40px);height:clamp(32px, 3vw, 40px);flex:0 0 clamp(32px, 3vw, 40px);border-radius:clamp(8px, 1vw, 10px);background:var(--geo-orange-soft);color:var(--geo-orange);}
.geo-hero__steps-icon svg{width:clamp(16px, 1.5vw, 20px);height:clamp(16px, 1.5vw, 20px);}

/* "AI-generated answer" illustrative mockup card, layered over an orange backdrop
   with the "signals we track" dark card overlapping its bottom-right corner. */
.geo-hero__visual{position:relative;padding:0 clamp(20px, 4vw, 56px) clamp(32px, 6vw, 70px) clamp(20px, 4vw, 56px);height:clamp(420px, 45vw, 638px);}
.geo-hero__visual-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--geo-orange);background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:clamp(20px, 2.5vw, 32px);}
.geo-answer{position:relative;z-index:1;max-width:632px;margin-top: -30px;padding:clamp(20px, 3vw, 31px);background:#fff;border-radius:clamp(16px, 2vw, 24px);}
.geo-answer__head{display:flex;align-items:center;gap:clamp(8px, 1vw, 10px);}
.geo-answer__head-icon{display:flex;flex:0 0 auto;color:var(--geo-orange);}
.geo-answer__head-icon svg{width:clamp(18px, 1.5vw, 22px);height:clamp(18px, 1.5vw, 22px);}
.geo-answer__head-text{font-family:var(--geo-roboto);font-weight: 700;
    font-size: clamp(16px, 1.3vw, 18px);color:var(--geo-black);}
.geo-answer__illustrative{margin-left: auto;
    font-family: var(--geo-dm);
    font-weight: 400;
    font-size: clamp(12px, 1vw, 16px);
    letter-spacing: 2%;
    color: var(--geo-muted);
    text-transform: uppercase;}
.geo-answer__question{align-self: flex-start;
    max-width: 82%;
    margin-top: clamp(16px, 2vw, 26px);
    padding: clamp(10px, 1.2vw, 14px) clamp(12px, 1.5vw, 18px);
    border-radius: clamp(14px, 1.5vw, 20px);
    background: var(--geo-black);
    font-family: var(--geo-dm);
    font-weight: 400;
    font-size: clamp(16px, 1.5vw, 20px);
    line-height: 100%;
    color: #fff;
    margin-left: auto;}
.geo-answer__skeleton{    display: block;
    margin-top: clamp(16px, 2vw, 24px);
    width: 100%;
    height: clamp(8px, 1vw, 10px);
    border-radius: clamp(4px, 0.5vw, 6px);
    background: #EDE9E4;}
.geo-answer__skeleton--short{width:60%;}
.geo-answer__answer{margin-top: clamp(12px, 1.5vw, 18px);
    font-family: var(--geo-dm);
    font-size: clamp(16px, 1.5vw, 20px);
    line-height: 150%;
    color: var(--geo-black);}
.geo-answer__brand{    padding: 2px clamp(8px, 1vw, 10px);
    border-radius: clamp(6px, 0.8vw, 8px);
    background: #FFE6DB;
    border: 1px solid var(--geo-orange);
    color: var(--geo-black);
    font-weight: 700;
        white-space: nowrap;
}
.geo-answer__sources{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(10px, 1.2vw, 16px);margin-top:clamp(12px, 1.5vw, 18px);padding-top:clamp(12px, 1.5vw, 18px);border-top:1px solid var(--geo-border);}
.geo-answer__sources-label,.geo-answer__signals-label{font-family:var(--geo-dm);font-weight:700;font-size:clamp(13px, 1.1vw, 16px);letter-spacing:0;color:var(--geo-muted);}
.geo-answer__chip{display:inline-flex;align-items:center;gap:clamp(6px, 0.8vw, 8px);padding:clamp(8px, 1vw, 10px) clamp(12px, 1.3vw, 16px);border-radius:clamp(20px, 2.5vw, 30px);background:#F3F0EC;font-family:var(--geo-dm);font-weight:400;font-size:clamp(14px, 1.2vw, 17px);color:var(--geo-black);}
.geo-answer__chip--brand{background:var(--geo-black);color:#fff;}
.geo-answer__chip-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--geo-orange);}
.geo-answer__signals{position: absolute;
    z-index: 2;
    bottom: -34px;
    width: clamp(260px, 32vw, 388px);
    padding: clamp(18px, 2.5vw, 30px);
    background: #121212;
    border-radius: clamp(16px, 2vw, 24px);}
.geo-answer__signals .geo-answer__signals-label{font-size: clamp(13px, 1.1vw, 16px);
    letter-spacing: 0;
    color: #FFB08A;
    line-height: 100%;}
.geo-answer__signals-list{display:flex;flex-direction:column;gap:clamp(12px, 1.5vw, 20px);margin-top:clamp(12px, 1.5vw, 20px);}
.geo-answer__signals-list li{display:flex;align-items:center;justify-content:space-between;gap:clamp(8px, 1vw, 12px);font-family:var(--geo-roboto);font-weight:400;font-size:clamp(15px, 1.5vw, 20px);color:#fff;}
.geo-answer__signals-list svg{width:clamp(16px, 1.5vw, 20px);height:clamp(16px, 1.5vw, 20px);flex:0 0 clamp(16px, 1.5vw, 20px);color:#FF8A1F;}

/* =========================================================
   Executive overview
   ========================================================= */
.geo-overview{padding:clamp(40px, 8vw, 120px) 0;}
.geo-overview__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px, 2vw, 24px);margin-top:clamp(20px, 4vw, 60px);}
.geo-step-card{padding:clamp(16px, 2vw, 40px);background:var(--geo-grey-bg);border-radius:clamp(16px, 2vw, 30px);}
.geo-step-card.is-highlight{background:var(--geo-orange);}
.geo-step-card__num{display:block;font-family:var(--geo-roboto);font-weight:300;font-size:clamp(32px, 4vw, 50px);color:var(--geo-muted);line-height:clamp(32px, 4vw, 40px);}
.geo-step-card.is-highlight .geo-step-card__num{color:rgba(255,255,255,.75);}
.geo-step-card__title{margin-top: clamp(16px, 2.5vw, 30px);
    font-family: var(--geo-roboto);
    font-weight: 600;
    font-size: clamp(20px, 2vw, 26px);
    line-height: 100%;
    color: var(--geo-black);letter-spacing:0px;}
.geo-step-card.is-highlight .geo-step-card__title{color:#fff;}
.geo-step-card__text{    margin-top: clamp(16px, 3vw, 40px);
    font-family: var(--geo-dm);
    font-size: clamp(15px, 1.2vw, 18px);
    line-height: clamp(20px, 1.6vw, 24px);
    font-weight: 500;
    color: var(--geo-text);}
.geo-step-card.is-highlight .geo-step-card__text{color:rgba(255,255,255,.9);}

/* =========================================================
   Why GEO matters: the shift (stats + chart panels)
   ========================================================= */
.geo-shift{background:#fff;}
.geo-shift .geo-container{padding:var(--geo-section-y) var(--geo-gutter);border-top: 1px solid #DBDBDB}
.geo-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(20px, 4vw, 60px);border-radius:clamp(16px, 2vw, 30px);border: 1px solid #4A4A4A33;overflow:hidden;}
.geo-stat{padding:clamp(16px, 2vw, 40px);background:#fff;border-right: 1px solid #4A4A4A33}
.geo-stat:last-child{border-right:0;}
.geo-stat__num{font-family: var(--geo-roboto);
    font-weight: 300;
    font-size: clamp(32px, 4vw, 60px);
    line-height: clamp(32px, 4vw, 60px);
    color: var(--geo-black);}
.geo-stat__label{margin-top: clamp(12px, 1.5vw, 24px);
    font-family: var(--geo-roboto);
    font-weight: 600;
    font-size: clamp(18px, 1.5vw, 24px);
    color: var(--geo-black);}
.geo-stat__text{    margin-top: clamp(16px, 3vw, 40px);
    font-family: var(--geo-dm);
    font-size: clamp(15px, 1.2vw, 18px);
    line-height: clamp(18px, 1.5vw, 21px);
    font-weight: 500;
    color: #4A4A4A;}

.geo-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px, 2vw, 24px);margin-top:clamp(20px, 3vw, 40px);}
.geo-panel{padding:clamp(16px, 2vw, 40px);border-radius:clamp(16px, 2vw, 30px);}
.geo-panel--dark{background:var(--geo-ink);color:#fff;}
.geo-panel--accent{background:var(--geo-orange);color:#fff;display:flex;flex-direction:column;}
/* .geo-panel--accent .geo-panel__title{font-size:30px;font-weight:700;} */
.geo-panel__head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.geo-panel__title{    font-family: var(--geo-roboto);
    font-weight: 600;
    font-size: clamp(18px, 1.5vw, 24px);
    letter-spacing: 0;
    line-height: 100%;
    color: inherit;}
.geo-panel__legend{display:flex;gap:16px;font-family:var(--geo-dm);font-size:12px;color:#c9c9c9;}
.geo-panel__legend span{display:flex;align-items:center;gap:6px;}
.geo-dot{width:18px;height:3px;border-radius:12px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.5) 0 3px,transparent 3px 6px);}
.geo-dot--accent{background:var(--geo-orange);}
.geo-panel__chart-img{width:100%;height:auto;margin-top:18px;}
.geo-panel__list{display:flex;flex-direction:column;gap:clamp(12px, 1.5vw, 18px);margin-top:clamp(16px, 2vw, 24px);}
.geo-panel__list li{display:flex;align-items:center;gap:clamp(10px, 1.2vw, 14px);font-family:var(--geo-dm);font-size:clamp(15px, 1.2vw, 18px);line-height:clamp(20px, 1.6vw, 24px);font-weight:500;}
.geo-panel__check{display:flex;align-items:center;justify-content:center;width:clamp(24px, 2.5vw, 32px);height:clamp(24px, 2.5vw, 32px);flex:0 0 clamp(24px, 2.5vw, 32px);border-radius:50%;background:#fff;color:var(--geo-orange);}
.geo-panel__check svg{width:16px;height:16px;}
.geo-panel__note{margin-top: auto;
    padding: clamp(8px, 1vw, 10px) clamp(12px, 1.5vw, 17px);
    background: #fff;
    border-radius: clamp(10px, 1.5vw, 16px);
    font-family: var(--geo-dm);
    font-size: clamp(14px, 1.2vw, 16px);
    line-height: 120%;
    color: var(--geo-black);}
.geo-panel__note strong{font-weight:700;}

/* =========================================================
   Core GEO service offering (6-card grid)
   ========================================================= */
.geo-offering{padding:var(--geo-section-y) 0;background:var(--geo-grey-bg);}
.geo-offering__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px, 2vw, 24px);margin-top:clamp(20px, 4vw, 60px);}
.geo-offer-card{padding:clamp(16px, 2vw, 40px);background:#fff;border: 1px solid #4A4A4A26;border-radius:clamp(16px, 2vw, 30px);transition:transform .25s ease,box-shadow .25s ease;}
.geo-offer-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.06);}
.geo-offer-card__icon{display:flex;align-items:center;justify-content:center;width:clamp(40px, 4vw, 52px);height:clamp(40px, 4vw, 52px);border-radius:clamp(10px, 1.5vw, 14px);background: #FF5B2E1A;
color:var(--geo-orange);}
.geo-offer-card__title{margin-top:clamp(16px, 2.5vw, 30px);font-family:var(--geo-roboto);font-weight:600;font-size:clamp(18px, 1.8vw, 24px);color:var(--geo-black);line-height:100%;letter-spacing:0px;}
.geo-offer-card__text{margin-top:clamp(16px, 3vw, 40px);font-family:var(--geo-dm);font-size:clamp(15px, 1.2vw, 18px);line-height:clamp(20px, 1.6vw, 24px);color:var(--geo-text);}

/* =========================================================
   Service approach: continuous cycle
   ========================================================= */
.geo-approach{padding:var(--geo-section-y) 0;}
.geo-cycle{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px, 2vw, 20px);margin-top:clamp(20px, 4vw, 60px);}
.geo-cycle__track{position:absolute;top:25px;left:28px;right:calc(25% - 28px);height:2px;background:repeating-linear-gradient(90deg,#d6d3d1 0 8px,transparent 8px 14px);}
.geo-cycle__step{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:clamp(16px, 2.5vw, 26px);}
.geo-cycle__num{    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(36px, 4vw, 48px);
    height: clamp(36px, 4vw, 48px);
    border-radius: 50%;
    border: 0;
    font-family: var(--geo-roboto);
    font-weight: 600;
    font-size: clamp(15px, 1.2vw, 18px);
    color: #FFFFFF;
    background: #1E1E1E;
z-index:2;}
.geo-cycle__step.is-active .geo-cycle__num{background:var(--geo-orange);border-color:var(--geo-orange);color:#fff;}
.geo-cycle__repeat{position:absolute;z-index:1;top:28px;right:0px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:clamp(20px, 2vw, 26px);height:clamp(20px, 2vw, 26px);border-radius:50%;color:var(--geo-orange);}
.geo-cycle__repeat::before{content:"";position:absolute;top:40%;right:100%;width:249px;height:2px;background:repeating-linear-gradient(90deg,var(--geo-orange) 0 6px,transparent 6px 10px);transform:translateY(-50%);}
.geo-cycle__repeat svg{width:clamp(18px, 1.5vw, 22px);height:clamp(18px, 1.5vw, 22px);}
.geo-cycle__title{font-family: var(--geo-roboto);
    font-weight: 600;
    font-size: clamp(18px, 1.8vw, 24px);
    letter-spacing: 0;
    line-height: 100%;
    color: var(--geo-black);}
.geo-cycle__text{max-width: clamp(220px, 30vw, 300px);
    font-family: var(--geo-dm);
    font-size: clamp(15px, 1.2vw, 18px);
    line-height: clamp(20px, 1.8vw, 25px);
    color: var(--geo-text);
    font-weight: 500;}
.geo-note-bar{display: flex;
    align-items: center;
    gap: clamp(10px, 1.2vw, 14px);
    margin-top: clamp(20px, 3vw, 40px);
    padding: clamp(8px, 1vw, 10px) clamp(10px, 1.2vw, 14px);
    background: var(--geo-orange);
    border-radius: clamp(8px, 1vw, 12px);
    font-family: var(--geo-dm);
    font-weight: 700;
    font-size: clamp(15px, 1.5vw, 20px);
    line-height: 100%;
    color: #fff;}
.geo-note-bar__icon{display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(32px, 4vw, 44px);
    height: clamp(32px, 4vw, 44px);
    flex: 0 0 clamp(32px, 4vw, 44px);
    border-radius: clamp(8px, 1vw, 10px);
    background: #FFFFFF;}
.geo-note-bar__icon svg{width:clamp(18px, 1.5vw, 22px);height:clamp(18px, 1.5vw, 22px);}

/* =========================================================
   Inside the engagement (Part A / B / C)
   ========================================================= */
.geo-engagement{padding:var(--geo-section-y) 0;background:var(--geo-grey-bg);}
.geo-parts{display:flex;flex-direction:column;gap:clamp(16px, 2vw, 24px);margin-top:clamp(20px, 4vw, 60px);}
.geo-part{display:flex;align-items:flex-start;gap:clamp(16px, 2vw, 24px);padding:clamp(16px, 2vw, 40px);background:#fff;border-radius:clamp(16px, 2vw, 30px);}
.geo-part--accent{background:var(--geo-orange);border-color:var(--geo-orange);color:#fff;}
.geo-part__intro{flex:0 0 400px;max-width:400px;}
.geo-part__label{font-family: var(--geo-dm);
    font-weight: 500;
    font-size: clamp(14px, 1.2vw, 18px);
    line-height: 100%;
    letter-spacing: 4%;
    color: var(--geo-orange);}
.geo-part--accent .geo-part__label{color:rgba(255,255,255,.8);}
.geo-part__title{    margin-top: clamp(16px, 2.5vw, 30px);
    font-family: var(--geo-roboto);
    font-weight: 500;
    font-size: clamp(20px, 2.2vw, 30px);
    line-height: 100%;
    color: var(--geo-black);
    letter-spacing: 0;}
.geo-part--accent .geo-part__title{color:#fff;}
.geo-part__text{margin-top: clamp(14px, 2vw, 24px);
    font-family: var(--geo-dm);
    font-size: clamp(16px, 1.5vw, 20px);
    line-height: clamp(22px, 2vw, 28px);
    font-weight: 500;
    letter-spacing: 0;
    color: var(--geo-text);}
.geo-part--accent .geo-part__text{color:rgba(255,255,255,.9);}
.geo-part__cols{flex:1;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px, 2vw, 24px);}
.geo-part__cols--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.geo-part__cols:not(.geo-part__cols--3) .geo-part__col{padding:clamp(16px, 2vw, 40px);background:var(--geo-grey-bg);border-radius:clamp(16px, 2vw, 30px);}
.geo-part__cols:not(.geo-part__cols--3) .geo-part__col-title{font-size:clamp(14px, 1.2vw, 18px);letter-spacing:10%;text-transform:uppercase;}
.geo-part__cols--3 .geo-part__col{padding:clamp(16px, 2vw, 40px);background:#fff;border-radius:clamp(16px, 2vw, 30px);}
.geo-part__col-num{font-family:var(--geo-roboto);    font-weight: 300;
    font-size: clamp(32px, 4vw, 50px);
    line-height: clamp(32px, 4vw, 50px);color:var(--geo-black);}
.geo-part__col-title{font-family:var(--geo-roboto);    font-weight: 600;
    font-size: clamp(18px, 1.8vw, 24px);color:var(--geo-black);}
.geo-part__cols--3 .geo-part__col-title{margin-top:clamp(16px, 2.5vw, 30px);}
.geo-part__col-text{    margin-top: clamp(16px, 3vw, 40px);
    font-family: var(--geo-dm);
    font-size: clamp(15px, 1.2vw, 18px);
    line-height: clamp(20px, 1.6vw, 24px);
    font-weight: 500;
    color: var(--geo-text);}
.geo-part__list{display:flex;flex-direction:column;margin-top:clamp(16px, 3vw, 40px);}
.geo-part__list li{display:flex;align-items:flex-start;gap:clamp(8px, 1vw, 10px);padding:clamp(12px, 1.5vw, 16px) 0;border-bottom:1px solid var(--geo-border);font-family:var(--geo-dm);font-size:clamp(15px, 1.2vw, 18px);line-height:100%;color:var(--geo-text);font-weight:500;}
.geo-part__list li:last-child{border-bottom:0;padding-bottom:0;}
.geo-part__list li:first-child{padding-top:0;}
.geo-part__dot{width:8px;height:8px;flex:0 0 8px;margin-top:7px;border-radius:50%;background:var(--geo-orange);}
.geo-part__col:nth-child(2) .geo-part__dot{background:var(--geo-black);}

/* =========================================================
   What the client receives (deliverables)
   ========================================================= */
.geo-deliverables{padding:var(--geo-section-y) 0;background:#fff;}
.geo-deliverables__grid{display:grid;grid-template-columns:420fr 718fr;gap:clamp(24px, 3vw, 48px);align-items:start;}
.geo-deliverables__intro{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(14px, 2vw, 26px);}
.geo-deliverables__list{display:flex;flex-direction:column;}
.geo-deliverables__item{display:flex;align-items:flex-start;gap:clamp(12px, 1.5vw, 20px);padding:clamp(24px, 4vw, 50px) 0 clamp(16px, 2vw, 24px) 0;border-bottom:1px solid var(--geo-border);}
.geo-deliverables__item:first-child{padding-top:0;}
.geo-deliverables__item:last-child{border-bottom:0;padding-bottom:0;}
.geo-deliverables__num{flex: 0 0 auto;
    font-family: var(--geo-roboto);
    font-weight: 300;
    font-size: clamp(32px, 4vw, 50px);
    line-height: clamp(32px, 4vw, 50px);
    color: var(--geo-orange);}
.geo-deliverables__item-title{font-family:var(--geo-roboto);font-weight: 600;
    font-size: clamp(18px, 1.8vw, 24px);
    line-height: 100%;color:var(--geo-black);}
.geo-deliverables__item-text{margin-top: clamp(10px, 1vw, 14px);
    font-family: var(--geo-dm);
    font-size: clamp(15px, 1.2vw, 18px);
    line-height: clamp(20px, 1.6vw, 24px);
    font-weight: 500;
    color: var(--geo-text);}

/* =========================================================
   Performance measurement
   ========================================================= */
.geo-performance{padding:var(--geo-section-y) 0;background:var(--geo-grey-bg);}
.geo-performance__cards{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px, 1.5vw, 18px);margin-top:clamp(24px, 3vw, 48px);}
.geo-performance__cards::before{content:"";position:absolute;top:50%;left:0;right:0;border-top:2px dashed var(--geo-orange);z-index:0;}
.geo-perf-card{position:relative;z-index:1;padding:clamp(16px, 2vw, 40px);background:#fff;border:1px solid rgba(74,74,74,.15);border-radius:clamp(16px, 2vw, 30px);}
.geo-perf-card__title{font-family: var(--geo-roboto);
    font-weight: 600;
    font-size: clamp(17px, 1.3vw, 20px);
    line-height: 100%;
    color: var(--geo-black);letter-spacing:0px;}
.geo-perf-card__text{    font-family: var(--geo-dm);
    font-size: clamp(15px, 1.2vw, 18px);
    line-height: clamp(20px, 1.6vw, 24px);
    font-weight: 500;
    color: var(--geo-text);
   margin-top: clamp(14px, 2vw, 24px);}

/* =========================================================
   Next step / final CTA
   ========================================================= */
.geo-next{padding:var(--geo-section-y) 0;}
.geo-next__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px, 2vw, 24px);margin-top:clamp(20px, 4vw, 60px);}
.geo-next-card{padding:clamp(16px, 2vw, 40px);background:#fff;border: 1px solid #4A4A4A26;border-radius:clamp(16px, 2vw, 30px);}
.geo-next-card.is-highlight{background:var(--geo-orange);border-color:var(--geo-orange);}
.geo-next-card__icon{display:flex;align-items:center;justify-content:center;width:clamp(40px, 4vw, 52px);height:clamp(40px, 4vw, 52px);border-radius:clamp(10px, 1.5vw, 14px);background: #FF5B2E1A;
color:var(--geo-orange);}
.geo-next-card.is-highlight .geo-next-card__icon{background:rgb(255,255,255);color:#fff;}
.geo-next-card__title{    margin-top: clamp(16px, 2.5vw, 30px);
    font-family: var(--geo-roboto);
    font-weight: 600;
    font-size: clamp(18px, 1.8vw, 24px);
    line-height: 100%;
    color: var(--geo-black);letter-spacing:0px;}
.geo-next-card.is-highlight .geo-next-card__title{color:#fff;}
.geo-next-card__text{margin-top: clamp(16px, 3vw, 40px);
    font-family: var(--geo-dm);
    font-size: clamp(15px, 1.2vw, 18px);
    line-height: clamp(20px, 1.6vw, 24px);
    color: var(--geo-text);}
.geo-next-card.is-highlight .geo-next-card__text{color:rgba(255,255,255,.9);}

.geo-cta-band{display:flex;align-items:center;justify-content:space-between;gap:clamp(16px, 2.5vw, 32px);margin-top:clamp(20px, 3vw, 40px);padding:clamp(20px, 3vw, 40px);background:var(--geo-ink);border-radius:clamp(16px, 2vw, 30px);}
.geo-cta-band__title{font-family:var(--geo-roboto);font-weight:700;font-size:clamp(18px, 1.8vw, 24px);color:#fff;line-height:100%;}
.geo-cta-band__text{    margin-top: clamp(6px, 0.8vw, 10px);
    font-family: var(--geo-dm);
    font-size: clamp(15px, 1.2vw, 18px);
    color: #FFFFFF;
    line-height: 100%;}
.geo-cta-band .cta-btn{flex:0 0 auto;}
.geo-hero__content .banner-cta-wrap{
        justify-content: left;
}

/* =========================================================
   FAQ
   Uses the sitewide .faq-section/.accordion-btn component (same markup as
   services/tpl-artificial-intelligence.php) — styled globally by the theme's
   base style.css/responsive.css bundle, so no page-specific CSS is needed here.
   geo-h2 is reused on the heading for visual consistency with the rest of
   this page's section titles.
   ========================================================= */

/* =========================================================
   Start Your Engagement (form)
   Markup now reuses the shared cta_section/common_paddding/
   engagement-form-wrap classes (see content-engagement-cta.php and
   engagement-cta.css) instead of page-specific rules, so this section
   matches every other page's final CTA.
   ========================================================= */
