/* ==========================================================================
   GT SERVICES (gts) — md-new child theme design system for /services/ pages.
   GTPL grammar: nine sections, three-band rhythm, 9-step ladder, 4px buttons.
   Tokens bridge live Marketers Delight theme vars with hard fallbacks
   (live values, gauravtiwari.org, July 2026). Dark mode via html[data-theme].
   Design element sources (approved 2026-07-27): detailed.com restraint,
   designjoy.co pricing clarity, conversionfactory.co section density.
   ========================================================================== */

.gts{
  /* colour */
  --canvas:var(--color-bg,#FFFFFC);
  --canvas-alt:var(--neutral-50,#FAF6F5);
  --canvas-deep:#111010;
  --surface:var(--color-content-bg,#FFFFFE);
  --surface-tonal:var(--neutral-100,#F4F0EF);
  --ink:var(--color-headline,#212121);
  --ink-body:var(--color-text,#3A3634);
  --ink-mute:#7A7370;
  --primary:var(--color-primary,#C0392B);
  --primary-deep:#9E2E22;
  --ok:#2F855A;
  --hair:color-mix(in srgb,var(--color-border,#DDDDDD),transparent 18%);
  --hair-soft:color-mix(in srgb,var(--color-border,#DDDDDD),transparent 55%);
  --tint:color-mix(in srgb,var(--primary) 7%,transparent);

  /* type */
  --f-head:var(--font-head,GTReallySans,system-ui,sans-serif);
  --f-body:var(--font-body,"FinlandikaPro",system-ui,sans-serif);

  /* strict 9-step ladder: 68 45 32 24 21 17 14 12 11
     whitespace around + inside clamp() is REQUIRED (Trap 1) */
  --t1:clamp(2.75rem, 1.9rem + 3.4vw, 4.25rem);
  --t2:clamp(2.125rem, 1.7rem + 1.7vw, 2.8125rem);
  --t3:clamp(1.625rem, 1.4rem + 0.9vw, 2rem);
  --t4:1.5rem;
  --t5:1.3125rem;
  --t6:1.0625rem;
  --t7:0.875rem;
  --t8:0.75rem;
  --t9:0.6875rem;

  /* rhythm + rails — single-column content lives on the 750px rail;
     only multi-column sections use the wider rails */
  --pad:clamp(3.625rem,7vw,7.25rem);
  --pad-tight:clamp(2.75rem,5vw,5.4375rem);
  --wide:1250px;
  --content:1050px;
  --narrow:750px;
  --gut:clamp(1.25rem,4vw,2rem);

  /* shape */
  --r-btn:4px;
  --r-card:14px;
  --r-chip:4px;

  --ease:cubic-bezier(.25,1,.5,1);

  font-family:var(--f-body);
  font-size:var(--t6);
  line-height:1.706;
  letter-spacing:-.008em;
  color:var(--ink-body);
  background:var(--canvas);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

html[data-theme="dark"] .gts{
  --canvas:#0F0F0F;--canvas-alt:#171514;--canvas-deep:#000;
  --surface:#1D1A19;--surface-tonal:#171514;
  --ink:#F4F1EF;--ink-body:#C9C3C0;--ink-mute:#8E8683;
  --hair:#2E2A28;--hair-soft:#242120;
  --tint:color-mix(in srgb,var(--primary) 16%,transparent);
}

.gts *,.gts *::before,.gts *::after{box-sizing:border-box}
.gts img{max-width:100%;height:auto;display:block}

/* Margin reset at ZERO specificity (Trap 3): any single-class component
   margin still wins. */
:where(.gts) :where(h1,h2,h3,h4,h5,h6,p,ul,ol,dl,dd,figure,blockquote){margin:0}

.gts h1,.gts h2,.gts h3{font-family:var(--f-head);font-weight:900;color:var(--ink);line-height:1.08;letter-spacing:-.03em}
.gts h4,.gts h5{font-family:var(--f-body);font-weight:600;color:var(--ink);line-height:1.25;letter-spacing:-.01em}
.gts a{color:var(--primary);text-decoration-thickness:1px;text-underline-offset:2px}

/* ---- layout primitives ---- */
.gts-sec{padding:var(--pad) var(--gut);position:relative}
.gts-sec--tight{padding-block:var(--pad-tight)}
.gts-sec--alt{background:var(--canvas-alt)}
.gts-sec--deep{background:var(--canvas-deep)}
.gts-wrap{max-width:var(--wide);margin-inline:auto}
.gts-wrap--content{max-width:var(--content)}
.gts-wrap--narrow{max-width:var(--narrow)}

.gts-eyebrow{font-size:var(--t9);font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--primary);margin:0 0 1.25rem}
.gts-lede{font-size:var(--t5);line-height:1.5;color:var(--ink-body);max-width:56ch}
/* Section heads: centered on the narrow rail by default. */
.gts-head{margin:0 auto clamp(2rem,4vw,3rem);max-width:var(--narrow);text-align:center}
.gts-head h2{font-size:var(--t2);margin-bottom:.6em}
.gts-head .gts-lede{margin-inline:auto}
.gts-head--center{margin-inline:auto;text-align:center}

/* ---- inline icons (Font Awesome Pro, currentColor) ---- */
.gts .gts-i{width:1em;height:1em;display:inline-block;vertical-align:-.125em;fill:currentColor;flex:none}
.gts .gts-i--lg{width:1.35em;height:1.35em}
.gts .gts-i--ok{color:var(--ok)}
.gts .gts-i--mute{color:var(--ink-mute)}
.gts mark{background:color-mix(in srgb,var(--primary) 12%,transparent);color:inherit;
  font-weight:700;padding:.05em .3em;border-radius:3px;-webkit-box-decoration-break:clone;box-decoration-break:clone}

/* ---- accessibility utilities ---- */
.gts .gts-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
  clip-path:inset(50%);white-space:nowrap}
.gts a:focus-visible,.gts .gts-btn:focus-visible,.gts summary:focus-visible,
.gts .gts-triage__link:focus-visible,.gts-bar a:focus-visible{
  outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--r-btn)}
.gts input:focus-visible,.gts select:focus-visible,.gts textarea:focus-visible{
  outline:2px solid var(--primary);outline-offset:1px}
@media (forced-colors:active){
  .gts .gts-btn,.gts-formcard button[type="submit"]{border:1px solid ButtonText}
  .gts .gts-i{forced-color-adjust:auto}
}

/* ---- scroll reveal (JS adds .gts-anim to main; no-JS = fully visible) ---- */
.gts-anim .gts-rv{opacity:1;transform:none;
  transition:opacity .6s var(--ease),transform .6s var(--ease);
  transition-delay:calc(var(--rvd,0)*70ms)}
.gts-anim .gts-rv:not(.is-in){opacity:0;transform:translateY(16px)}

/* Dark bands remap tokens (never per-selector overrides). */
.gts-sec--deep,.gts-hero{
  --ink:#FBF9F8;
  --ink-body:#B4ADAA;
  --ink-mute:#8A8380;
  --primary:#E8836F;
  --hair:#2E2A28;
  --hair-soft:#242120;
  --surface:#1A1817;
  --surface-tonal:#211E1D;
}
/* CTA fill keeps full brand strength on dark */
.gts .gts-sec--deep .gts-btn--primary,.gts .gts-hero .gts-btn--primary{background:#C0392B}
.gts .gts-sec--deep .gts-btn--primary:hover,.gts .gts-hero .gts-btn--primary:hover{background:#9E2E22}

/* ---- buttons: 4px, never pills; scoped so they outrank `.gts a` (Trap 2) ---- */
.gts .gts-btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--f-body);font-size:var(--t6);
  font-weight:600;letter-spacing:-.01em;padding:.85rem 1.5rem;border-radius:var(--r-btn);
  border:1px solid transparent;cursor:pointer;text-decoration:none;
  transition:background .22s var(--ease),border-color .22s var(--ease),color .22s var(--ease)}
.gts .gts-btn--primary{background:var(--primary);color:#fff}
.gts .gts-btn--primary:hover{background:var(--primary-deep);color:#fff}
.gts .gts-btn--ghost{background:transparent;color:var(--ink);border-color:var(--hair)}
.gts .gts-btn--ghost:hover{border-color:var(--ink);background:var(--surface-tonal)}
.gts .gts-sec--deep .gts-btn--ghost,.gts .gts-hero .gts-btn--ghost{color:#FBF9F8;border-color:#3A3533}
.gts .gts-sec--deep .gts-btn--ghost:hover,.gts .gts-hero .gts-btn--ghost:hover{border-color:#6E6663;background:#1B1918;color:#FBF9F8}
.gts-btn-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}

.gts-tag{display:inline-block;align-self:flex-start;font-size:var(--t9);font-weight:700;
  letter-spacing:.11em;text-transform:uppercase;color:var(--primary);background:var(--tint);
  border-radius:var(--r-chip);padding:.35rem .6rem}
.gts-dot{width:6px;height:6px;border-radius:50%;background:var(--ok);flex:none;display:inline-block}

/* ==========================================================================
   1. HERO
   ========================================================================== */
.gts-hero{background:var(--canvas-deep);padding:clamp(4rem,8vw,7rem) var(--gut) clamp(3.5rem,6vw,5.5rem);position:relative;overflow:hidden}
.gts-hero::after{content:"";position:absolute;inset:auto -10% -55% 45%;height:70%;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--primary) 24%,transparent),transparent 72%);
  pointer-events:none}
.gts-hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2.5rem,5vw,4.5rem);align-items:center;position:relative;z-index:1}
.gts-hero h1{font-size:var(--t1);color:#FCFAF9;margin-bottom:.5em;max-width:17ch}
.gts-hero__lede{font-size:var(--t5);line-height:1.5;color:#B8B1AE;max-width:48ch;margin-bottom:2rem}
.gts-hero__proof{margin-top:1.5rem;font-size:var(--t7);color:#B4ADAA;padding-left:.85rem;border-left:2px solid color-mix(in srgb,var(--primary) 55%,transparent)}
.gts-hero__meta{margin-top:1rem;font-size:var(--t7);color:#8A8380;display:flex;align-items:center;gap:.5rem}

.gts-triage{background:#191716;border:1px solid #2C2827;border-radius:var(--r-card);padding:clamp(1.5rem,3vw,2rem)}
.gts-triage__title{font-size:var(--t8);font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#8A8380;margin-bottom:1.25rem}
.gts-triage__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.gts-triage__link{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1rem 1.1rem;border-radius:8px;background:#211E1D;border:1px solid transparent;
  text-decoration:none;transition:border-color .22s var(--ease),background .22s var(--ease)}
.gts-triage__link:hover{background:#262322;border-color:#413B39}
.gts-triage__icon{color:var(--primary);margin-top:.15rem}
.gts-triage__body{flex:1;min-width:0}
.gts-triage__q{display:block;font-size:var(--t6);font-weight:600;color:#FBF9F8;letter-spacing:-.01em;line-height:1.3}
.gts-triage__a{display:block;font-size:var(--t8);color:#8A8380;margin-top:.25rem;line-height:1.35}
.gts-triage__arrow{font-size:var(--t5);color:var(--primary);flex:none;line-height:1}

/* ==========================================================================
   2. PROOF BAR
   ========================================================================== */
.gts-proof{border-bottom:1px solid var(--hair-soft)}
/* 8 stats on a 4 / 2 / 2 grid */
.gts-proof__nums{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem var(--gut);margin-bottom:clamp(2.5rem,4vw,3.5rem)}
/* dl semantics: label (dt) reads first, number (dd) shows first */
.gts-stat{border-top:1px solid var(--hair);padding-top:1rem;display:flex;flex-direction:column-reverse}
.gts-stat__n{font-family:var(--f-head);font-weight:900;font-size:var(--t3);color:var(--ink);line-height:1;letter-spacing:-.03em;margin:0}
.gts-stat__l{font-size:var(--t7);color:var(--ink-mute);margin-top:.4rem;line-height:1.35}
.gts-proof__caption{font-size:var(--t7);color:var(--ink-mute);text-align:center;margin-bottom:1.5rem}
.gts-logos{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}
.gts-logos li::marker{content:""}
.gts-logo{font-size:var(--t7);font-weight:600;color:var(--ink-body);background:var(--surface-tonal);
  border:1px solid var(--hair-soft);border-radius:var(--r-chip);padding:.5rem .85rem;letter-spacing:-.01em}

/* ==========================================================================
   3. PRICING — package mode (designjoy clarity) + tiers mode (GTPL tracks)
   ========================================================================== */
.gts-pkg{background:var(--surface);border:1px solid color-mix(in srgb,var(--primary) 32%,transparent);
  border-radius:var(--r-card);max-width:var(--narrow);margin-inline:auto;
  padding:clamp(1.75rem,3.5vw,2.75rem);
  box-shadow:0 1px 2px rgba(0,0,0,.05),0 12px 32px color-mix(in srgb,var(--primary) 9%,transparent)}
.gts-pkg__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;
  padding-bottom:1.5rem;border-bottom:1px solid var(--hair-soft);margin-bottom:1.5rem}
.gts-pkg__price{text-align:right}
.gts-pkg__amt{display:block;font-family:var(--f-head);font-weight:900;font-size:var(--t2);
  color:var(--ink);letter-spacing:-.03em;line-height:1}
.gts-pkg__term{display:block;font-size:var(--t7);color:var(--ink-mute);margin-top:.4rem}
.gts-pkg__list{list-style:none;margin:0 0 1.75rem;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.7rem 2rem}
.gts-pkg__list li{font-size:var(--t7);color:var(--ink-body);display:flex;gap:.6rem;line-height:1.45}
.gts-pkg__list li .gts-i{margin-top:.22rem}
.gts-pkg__foot{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}
.gts-pkg__note{font-size:var(--t8);color:var(--ink-mute)}

.gts-tracks{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;align-items:start}
.gts-track{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-card);
  padding:clamp(1.5rem,2.5vw,2rem);display:flex;flex-direction:column;height:100%;scroll-margin-top:2rem}
.gts-track--feature{border-color:color-mix(in srgb,var(--primary) 40%,transparent);
  box-shadow:0 1px 2px rgba(0,0,0,.05),0 12px 32px color-mix(in srgb,var(--primary) 9%,transparent)}
.gts-track .gts-tag{margin-bottom:1rem}
.gts-track h3{font-size:var(--t3);margin-bottom:.35em}
.gts-track__for{font-size:var(--t6);color:var(--ink-body);margin-bottom:1.25rem}
.gts-track__price{padding-block:1rem;border-top:1px solid var(--hair-soft);
  border-bottom:1px solid var(--hair-soft);margin-bottom:1.25rem}
.gts-track__amt{display:block;font-family:var(--f-head);font-weight:900;font-size:var(--t4);
  color:var(--ink);letter-spacing:-.03em;line-height:1.1}
.gts-track__term{display:block;font-size:var(--t7);color:var(--ink-mute);margin-top:.3rem}
.gts-track__list{list-style:none;margin:0 0 1.5rem;padding:0;display:flex;flex-direction:column;gap:.6rem}
.gts-track__list li{font-size:var(--t7);color:var(--ink-body);display:flex;gap:.6rem;line-height:1.45}
.gts-track__list li .gts-i{margin-top:.22rem}
.gts-track__foot{margin-top:auto}
.gts-track__note{font-size:var(--t8);color:var(--ink-mute);margin-top:.75rem}

.gts-gst{font-size:var(--t8);color:var(--ink-mute);text-align:center;margin-top:2rem}

/* ==========================================================================
   LOCAL (city variant)
   ========================================================================== */
.gts-local__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.gts-local__grid h2{font-size:var(--t2);margin-bottom:.5em}
.gts-local__points{margin-top:2rem;display:flex;flex-direction:column;gap:1.25rem}
.gts-local__point dt{font-family:var(--f-body);font-weight:600;color:var(--ink);font-size:var(--t6);letter-spacing:-.01em}
.gts-local__point dd{font-size:var(--t7);line-height:1.55;color:var(--ink-body);margin-top:.25rem}
.gts-local__panel{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-card);padding:clamp(1.5rem,3vw,2rem)}
.gts-local__panel-title{font-size:var(--t8);font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:1rem}
.gts-local__areas{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.gts-local__areas li{font-size:var(--t7);color:var(--ink-body);background:var(--surface-tonal);
  border:1px solid var(--hair-soft);border-radius:var(--r-chip);padding:.4rem .7rem}

/* ==========================================================================
   4. EVIDENCE
   ========================================================================== */
.gts-results{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.gts-results--2{grid-template-columns:repeat(2,1fr)}
.gts-result{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-card);padding:clamp(1.5rem,2.5vw,1.85rem)}
.gts-result__delta{display:flex;align-items:baseline;gap:.75rem;margin-bottom:1rem}
.gts-result__from{font-size:var(--t5);color:var(--ink-mute);text-decoration:line-through;text-decoration-thickness:1px}
.gts-result__to{font-family:var(--f-head);font-weight:900;font-size:var(--t2);color:var(--primary);line-height:1;letter-spacing:-.03em}
.gts-result__metric{font-size:var(--t8);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:.75rem}
.gts-result__body{font-size:var(--t7);line-height:1.55;color:var(--ink-body)}
.gts-result__who{font-size:var(--t8);color:var(--ink-mute);margin-top:1rem;padding-top:1rem;border-top:1px solid var(--hair-soft)}

/* ==========================================================================
   5. PROCESS
   ========================================================================== */
.gts-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;counter-reset:gtss}
.gts-step{counter-increment:gtss;padding-top:1.25rem;border-top:2px solid var(--hair)}
.gts-step:first-child{border-top-color:var(--primary)}
.gts-step__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}
.gts-step__icon{color:var(--ink-mute)}
.gts-step__n{font-family:var(--f-head);font-weight:900;font-size:var(--t7);color:var(--primary);letter-spacing:.06em;margin-bottom:.75rem}
.gts-step__top .gts-step__n{margin-bottom:0}
.gts-step__n::before{content:"0" counter(gtss)}
.gts-step h4{font-size:var(--t5);margin-bottom:.5rem}
.gts-step p{font-size:var(--t7);line-height:1.55;color:var(--ink-body)}
.gts-step__out{font-size:var(--t8);color:var(--ink-mute);margin-top:.75rem}

/* ==========================================================================
   6. FIT / ANTI-FIT
   ========================================================================== */
.gts-fit{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.gts-fit__col{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-card);padding:clamp(1.5rem,3vw,2rem)}
.gts-fit__col h3{font-size:var(--t4);margin-bottom:1.25rem;display:flex;align-items:center;gap:.6rem}
.gts-fit__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}
.gts-fit__list li{font-size:var(--t7);line-height:1.5;color:var(--ink-body);padding-left:1.1rem;position:relative}
.gts-fit__list li::before{content:"";position:absolute;left:0;top:.55rem;width:5px;height:5px;border-radius:50%;background:var(--hair)}

/* ==========================================================================
   NOTE — ruled-notebook personal card
   ========================================================================== */
.gts-note{
  --note-line:2rem;
  --note-paper:#FFFDF4;
  --note-rule:rgba(51,102,153,.14);
  --note-margin:rgba(192,57,43,.35);
  background:
    linear-gradient(to right,transparent 3.25rem,var(--note-margin) 3.25rem,var(--note-margin) calc(3.25rem + 1px),transparent calc(3.25rem + 1px)),
    repeating-linear-gradient(to bottom,var(--note-paper) 0,var(--note-paper) calc(var(--note-line) - 1px),var(--note-rule) calc(var(--note-line) - 1px),var(--note-rule) var(--note-line));
  border:1px solid var(--hair);
  border-radius:var(--r-card);
  box-shadow:0 1px 2px rgba(0,0,0,.05),0 10px 28px rgba(0,0,0,.06);
  padding:calc(var(--note-line)*1.5) clamp(1.5rem,4vw,3rem) calc(var(--note-line)*1.25) clamp(4.25rem,7vw,4.75rem);
  max-width:var(--narrow);margin-inline:auto;
  transform:rotate(-.35deg)}
.gts-note__eyebrow{display:flex;align-items:center;gap:.5rem;font-size:var(--t9);font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;color:var(--primary);margin-bottom:var(--note-line)}
.gts-note h2{font-size:var(--t3);line-height:var(--note-line);margin-bottom:var(--note-line)}
.gts-note__p{font-size:var(--t6);line-height:var(--note-line);color:var(--ink-body);margin-bottom:var(--note-line)}
.gts-note__sign{font-family:var(--font-serif,Georgia,serif);font-style:italic;font-size:var(--t5);
  line-height:var(--note-line);color:var(--ink)}
html[data-theme="dark"] .gts .gts-note{
  --note-paper:#1E1B16;
  --note-rule:rgba(122,160,199,.14);
  --note-margin:rgba(232,131,111,.3);
  box-shadow:none}

/* ==========================================================================
   OUTCOMES — "If you want to:" self-selection card
   ========================================================================== */
.gts-want{border:2px dashed var(--hair);border-radius:var(--r-card);background:var(--surface);
  padding:clamp(2rem,5vw,3.5rem);text-align:center;max-width:var(--narrow);margin-inline:auto}
.gts-want__title{font-size:var(--t3);margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--hair-soft)}
.gts-want__list{list-style:none;margin:0 auto 2rem;padding:0;display:inline-flex;flex-direction:column;
  gap:1rem;text-align:left}
.gts-want__list li{display:flex;align-items:baseline;gap:.85rem;font-size:var(--t5);line-height:1.4;color:var(--ink-body)}
.gts-want__arrow{color:var(--ok);align-self:center}
.gts-want__action{display:flex;justify-content:center}

/* ==========================================================================
   ABOUT — centered card: wide banner, scrim into surface, layered depth
   ========================================================================== */
.gts-aboutcard{position:relative;background:var(--surface);border:1px solid var(--hair);
  border-radius:var(--r-card);overflow:hidden;text-align:center;
  /* layered elevation + inner top highlight + faint brand glow */
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    0 1px 2px rgba(0,0,0,.05),
    0 8px 24px rgba(0,0,0,.06),
    0 24px 56px color-mix(in srgb,var(--primary) 8%,transparent)}
.gts-aboutcard__media{margin:0;position:relative;aspect-ratio:12/5;overflow:hidden}
.gts-aboutcard__media img{width:100%;height:100%;object-fit:cover;display:block}
/* scrim: the dark portrait dissolves into the card surface */
.gts-aboutcard__media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to bottom,transparent 55%,var(--surface) 100%)}
.gts-aboutcard__body{padding:clamp(1.5rem,4vw,2.75rem);padding-top:clamp(.5rem,1.5vw,1rem);
  position:relative;margin-top:-2.5rem}
.gts-aboutcard h2{font-size:var(--t2);margin-bottom:.6em}
.gts-aboutcard__highlight{font-size:var(--t5);line-height:1.55;margin:0 auto 1rem;max-width:52ch}
.gts-aboutcard__p{font-size:var(--t6);line-height:1.65;color:var(--ink-body);margin:0 auto 1rem;max-width:56ch}
.gts-aboutcard__creds{list-style:none;margin:1.75rem 0;padding:1.5rem 0 0;
  border-top:1px solid var(--hair-soft);
  display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem 1.5rem;text-align:left}
.gts-aboutcard__creds li{display:flex;align-items:flex-start;gap:.6rem;
  font-size:var(--t7);line-height:1.45;color:var(--ink-body)}
.gts-aboutcard__creds .gts-i{margin-top:.2rem}
html[data-theme="dark"] .gts .gts-aboutcard{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 1px 2px rgba(0,0,0,.4)}

/* ==========================================================================
   7. RELATED SERVICES
   ========================================================================== */
.gts-related__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding-bottom:.75rem;margin-bottom:1.25rem;border-bottom:1px solid var(--hair)}
.gts-related__head h2{font-size:var(--t5)}
.gts-related__all{font-size:var(--t7);white-space:nowrap}
.gts-related__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem 1.5rem}
.gts-related__item a{display:block;padding:.55rem .75rem;margin-left:-.75rem;border-radius:6px;
  font-size:var(--t7);color:var(--ink-body);text-decoration:none;line-height:1.4;
  transition:background .18s var(--ease),color .18s var(--ease)}
.gts-related__item a:hover{background:var(--surface-tonal);color:var(--primary)}
.gts-related__item b{font-weight:600;color:var(--ink);display:block;letter-spacing:-.01em}
.gts-related__item span{font-size:var(--t8);color:var(--ink-mute)}

/* ==========================================================================
   8. FAQ
   ========================================================================== */
.gts-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.gts-faq__title{font-size:var(--t2);margin-bottom:.5em}
.gts-faq__contact{font-size:var(--t6);color:var(--ink-body)}
.gts-faq__list{display:flex;flex-direction:column;gap:.6rem}
.gts-faq details{background:var(--surface);border:1px solid var(--hair);border-radius:10px;overflow:hidden}
.gts-faq summary{cursor:pointer;list-style:none;padding:1.1rem 1.25rem;font-size:var(--t6);font-weight:600;
  color:var(--ink);display:flex;justify-content:space-between;gap:1rem;letter-spacing:-.01em}
.gts-faq summary::-webkit-details-marker{display:none}
.gts-faq summary::after{content:"+";font-family:var(--f-head);color:var(--primary);flex:none;transition:transform .22s var(--ease)}
.gts-faq details[open] summary::after{transform:rotate(45deg)}
.gts-faq details p{padding:0 1.25rem 1.25rem;font-size:var(--t7);line-height:1.6;color:var(--ink-body)}

/* ==========================================================================
   9. CLOSE + INLINE FORM
   ========================================================================== */
.gts-close__head{text-align:center;margin-bottom:clamp(2rem,4vw,3rem)}
.gts-close__head h2{font-size:var(--t2);color:#FBF9F8;margin-bottom:.5em}
.gts-close__head p{font-size:var(--t5);color:#B4ADAA;max-width:52ch;margin:0 auto}
.gts-formcard{background:var(--surface);border:1px solid #2C2827;border-radius:var(--r-card);
  max-width:var(--narrow);margin-inline:auto;padding:clamp(1.5rem,3.5vw,2.5rem)}
.gts-formcard label{display:block;font-family:var(--f-body);font-size:var(--t7);font-weight:600;
  color:var(--ink);letter-spacing:-.01em;margin-bottom:.4rem}
.gts-formcard p{margin:0 0 1.1rem}
.gts-formcard input[type="text"],.gts-formcard input[type="email"],.gts-formcard input[type="url"],
.gts-formcard input[type="tel"],.gts-formcard select,.gts-formcard textarea{
  width:100%;font-family:var(--f-body);font-size:var(--t6);color:var(--ink);
  background:var(--surface-tonal);border:1px solid #3A3533;border-radius:var(--r-btn);
  padding:.8rem 1rem;line-height:1.4}
.gts-formcard input:focus,.gts-formcard select:focus,.gts-formcard textarea:focus{
  outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}
.gts-formcard ::placeholder{color:var(--ink-mute);opacity:1}
.gts-formcard button[type="submit"]{width:100%;font-family:var(--f-body);font-size:var(--t6);font-weight:600;
  letter-spacing:-.01em;color:#fff;background:#C0392B;border:1px solid transparent;
  border-radius:var(--r-btn);padding:1rem 1.5rem;cursor:pointer;min-height:48px;
  transition:background .22s var(--ease)}
.gts-formcard button[type="submit"]:hover{background:#9E2E22}
.gts-formcard .cf-message{font-size:var(--t7);line-height:1.5;border-radius:var(--r-btn);
  padding:.85rem 1rem;margin-top:1rem;background:var(--surface-tonal);color:var(--ink);
  border:1px solid var(--hair)}
.gts-formcard .cf-message-success{border-color:color-mix(in srgb,var(--ok) 55%,transparent);color:#7CC49A}
.gts-formcard .cf-message-error,.gts-formcard .cf-message-warning{border-color:color-mix(in srgb,#C0392B 55%,transparent)}
.gts-close__alt{text-align:center;margin-top:2rem}
.gts-close__meta{font-size:var(--t7);color:#8A8380;margin-top:1.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem}

/* ==========================================================================
   STICKY ACTION BAR — mobile/tablet only, JS-controlled
   ========================================================================== */
.gts-bar{position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;
  align-items:center;justify-content:space-between;gap:1rem;
  padding:.65rem max(1rem,env(safe-area-inset-left)) calc(.65rem + env(safe-area-inset-bottom));
  background:rgba(17,16,16,.96);border-top:1px solid #2E2A28;backdrop-filter:blur(8px)}
.gts-bar[hidden]{display:none}
.gts-bar__label{font-family:var(--f-body,system-ui);font-size:var(--t7,0.875rem);font-weight:600;color:#FBF9F8;
  letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.gts-bar .gts-bar__cta{flex:none;display:inline-flex;align-items:center;font-family:var(--f-body,system-ui);
  font-size:var(--t7,0.875rem);font-weight:600;color:#fff;background:#C0392B;border-radius:4px;
  padding:.75rem 1.25rem;min-height:48px;text-decoration:none}
@media (max-width:1023px){
  .gts-bar:not([hidden]){display:flex}
  /* keep MD's floating share trigger clear of the action bar */
  body.gts-service-page .share-mobile-trigger{bottom:92px}
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1024px){
  .gts-hero__grid{grid-template-columns:1fr;gap:2.5rem}
  .gts-tracks,.gts-results{grid-template-columns:repeat(2,1fr)}
  .gts-results--2{grid-template-columns:repeat(2,1fr)}
  .gts-steps{grid-template-columns:repeat(2,1fr)}
  .gts-proof__nums{grid-template-columns:repeat(2,1fr);gap:1.25rem}
  .gts-related__list{grid-template-columns:repeat(2,1fr)}
  .gts-faq{grid-template-columns:1fr}
  .gts-local__grid{grid-template-columns:1fr}
  .gts-aboutcard__creds{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .gts-tracks,.gts-results,.gts-results--2{grid-template-columns:1fr}
  .gts-aboutcard__creds{grid-template-columns:1fr}
}
@media (max-width:640px){
  .gts-fit{grid-template-columns:1fr}
  .gts-steps{grid-template-columns:1fr}
  .gts-proof__nums{grid-template-columns:repeat(2,1fr)}
  .gts-related__list{grid-template-columns:1fr}
  .gts-pkg__head{flex-direction:column}
  .gts-pkg__price{text-align:left}
  .gts-pkg__list{grid-template-columns:1fr}
  .gts .gts-btn{width:100%;justify-content:center}
  .gts-btn-row{flex-direction:column;align-items:stretch}
  .gts-bar .gts-bar__cta{width:auto}
}
@media (prefers-reduced-motion:reduce){
  .gts *,.gts-bar{animation:none!important;transition:none!important}
}
