/* ============================================================
   GOODTECHIES SERVICE DETAIL PAGE  (v4)
   Loaded only on pages using page-templates/template-service-detail.php
   (custom PHP template; sections in inc/service-sections.php).
   Containers use .gt-wrap-wide so every section lines up with the header
   and footer. Colours, fonts and radii come from the tokens in gt.css.
   ============================================================ */

.gt-sv{
  --sv-y:clamp(4.5rem,2.75rem + 5.5vw,8.5rem);
  --sv-h2:clamp(2.25rem,1.45rem + 2.7vw,3.625rem);
  --sv-intro:clamp(1.0625rem,1rem + .3vw,1.25rem);
  --sv-body:1.0625rem;
  --sv-card:1rem;
  --sv-h3:clamp(1.25rem,1.1rem + .45vw,1.5rem);
  --sv-pad:clamp(1.5rem,1.1rem + 1vw,2.25rem);
}
.screen-reader-text{position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}

/* ============ HERO ============ */
.gt-sv-hero{position:relative; isolation:isolate; overflow:hidden; background:var(--gt-ink); color:var(--gt-white);
  min-height:clamp(600px,48vw + 240px,900px); display:flex; align-items:flex-start}
.gt-sv-hero__media{position:absolute; inset:0; z-index:-2}
.gt-sv-hero__media img{width:100%; height:100%; object-fit:cover; object-position:50% 80%; display:block}
.gt-sv-hero__shade{position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(180deg,rgba(10,13,18,.95) 0%,rgba(10,13,18,.84) 32%,rgba(10,13,18,.4) 60%,rgba(10,13,18,0) 76%),
    linear-gradient(0deg,var(--gt-paper) 0%,rgba(251,251,252,0) 13%)}
.gt-sv-hero__inner{position:relative; display:flex; flex-direction:column; align-items:center; text-align:center;
  padding-block:clamp(3.5rem,2rem + 5vw,7rem) clamp(13rem,8rem + 15vw,24rem)}
.gt-sv-hero__pill{margin:0 0 clamp(1.25rem,1rem + .8vw,1.75rem); display:inline-flex; align-items:center; gap:.55rem; padding:.45rem 1rem;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.22); border-radius:var(--r-pill);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); color:rgba(237,239,242,.92); font-size:.8125rem; font-weight:600; letter-spacing:.02em}
.gt-sv-hero__pill::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--gt-accent); box-shadow:0 0 0 4px rgba(240,78,39,.22)}
.gt-sv-hero h1{margin:0; font-family:var(--gt-h1-family); font-size:clamp(2.75rem,1.35rem + 5.3vw,6rem); font-weight:600; line-height:1.02;
  letter-spacing:-.03em; color:var(--gt-white); max-width:none; text-wrap:balance}
.gt-sv-h1__line{display:block}
.gt-sv-rotator{position:relative; display:inline-block; color:var(--gt-accent); font-style:italic; white-space:nowrap}
/* Mask with room for italic overhang and descenders, so letters are never clipped. */
.gt-sv-rotator__word{display:inline-flex; overflow:hidden; vertical-align:bottom;
  padding:.04em .18em .2em .08em; margin:-.04em -.18em -.2em -.08em}
.gt-sv-ch{display:inline-block; transform:translateY(0); opacity:1;
  transition:transform .55s cubic-bezier(.2,.8,.2,1) calc(var(--gt-i,0) * 28ms), opacity .4s ease calc(var(--gt-i,0) * 28ms)}
.gt-sv-ch.is-enter{transform:translateY(110%); opacity:0; transition:none}
.gt-sv-ch.is-leave{transform:translateY(-110%); opacity:0; transition:transform .35s cubic-bezier(.6,0,.8,.4) calc(var(--gt-i,0) * 14ms), opacity .3s ease calc(var(--gt-i,0) * 14ms)}
.gt-sv-hero__lede{margin:clamp(1.25rem,1rem + .8vw,1.75rem) 0 0; max-width:52ch; font-size:clamp(1.0625rem,1rem + .4vw,1.3125rem); line-height:1.6; color:rgba(237,239,242,.82)}
.gt-sv-hero__actions{display:flex; flex-wrap:wrap; justify-content:center; gap:.75rem; margin-top:clamp(1.75rem,1.25rem + 1vw,2.5rem)}
.gt-sv-hero__actions .gt-btn svg{transition:transform .18s ease}
.gt-sv-hero__actions .gt-btn:hover svg{transform:translateX(3px)}
.gt-sv-btn-light{background:var(--gt-white); color:var(--gt-ink); border-color:var(--gt-white)}
.gt-sv-btn-light:hover{background:var(--gt-paper-2); border-color:var(--gt-paper-2); color:var(--gt-ink)}
.gt-sv-hero__note{margin:1.5rem 0 0; font-size:.8125rem; letter-spacing:.01em; color:rgba(237,239,242,.6)}

/* ============ LOGOS ============ */
.gt-sv-logos{background:var(--gt-paper)}
.gt-sv-logos__inner{display:grid; justify-items:center; gap:clamp(1.75rem,1.25rem + 1.5vw,2.75rem); padding-block:clamp(3rem,2rem + 3vw,5rem) 0}
.gt-sv-logos__label{margin:0; display:flex; align-items:center; gap:1rem; font-family:var(--gt-body); font-size:.75rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--gt-muted-soft)}
.gt-sv-logos__label::before,.gt-sv-logos__label::after{content:""; width:clamp(1.5rem,1rem + 3vw,4rem); height:1px; background:var(--gt-rule)}
.gt-sv-logos__grid{list-style:none; margin:0; padding:0; width:100%; max-width:1240px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr))}
.gt-sv-logos__grid li{display:grid; place-items:center; min-height:clamp(96px,64px + 4vw,132px); padding:1rem clamp(.75rem,.4rem + 1.5vw,2rem);
  border-right:1px solid var(--gt-rule); border-bottom:1px solid var(--gt-rule)}
.gt-sv-logos__grid li:nth-child(5n){border-right:0}
.gt-sv-logos__grid li:nth-last-child(-n+5){border-bottom:0}
.gt-sv-logos__grid img{display:block; width:auto; height:auto; max-width:min(100%,170px); max-height:42px; object-fit:contain; opacity:.5; transition:opacity .3s ease}
.gt-sv-logos__grid img.is-mark{max-height:64px}
.gt-sv-logos__grid li:hover img{opacity:1}

/* ============ SECTION SHELL ============ */
.gt-sv-sec{position:relative; padding-top:var(--sv-y); scroll-margin-top:var(--header-h)}
.gt-sv-sec--band,.gt-sv-sec:has(+ .gt-sv-sec--band){padding-bottom:var(--sv-y)}
.gt-sv-sec--soft{background:var(--gt-paper-2)}
.gt-sv-sec--dark{background:var(--gt-ink); color:var(--gt-on-dark); isolation:isolate; overflow:hidden}
.gt-sv-sec--dark::before{content:""; position:absolute; z-index:-1; top:-30%; left:50%; width:min(1100px,90vw); aspect-ratio:2/1; transform:translateX(-50%);
  background:radial-gradient(closest-side,rgba(240,78,39,.14),transparent); pointer-events:none}
.gt-sv-sec--dark + .gt-sv-sec--dark{padding-top:0}
.gt-sv-sec--dark + .gt-sv-sec--dark::before{display:none}
.gt-sv-sec__bg{position:absolute; inset:0; z-index:-2}
.gt-sv-sec__bg img{width:100%; height:100%; object-fit:cover; display:block}
.gt-sv-sec__bg::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,13,18,.94) 0%,rgba(10,13,18,.8) 45%,rgba(10,13,18,.97) 100%)}
/* faint brand grid behind light centred sections */
.gt-sv-sec--deliver,.gt-sv-sec--reviews{isolation:isolate}
.gt-sv-sec--deliver::before,.gt-sv-sec--reviews::before{content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background-image:linear-gradient(var(--gt-rule) 1px,transparent 1px),linear-gradient(90deg,var(--gt-rule) 1px,transparent 1px);
  background-size:88px 88px; background-position:center top; opacity:.45;
  -webkit-mask-image:radial-gradient(ellipse 60% 55% at 50% 30%,#000 0%,transparent 70%); mask-image:radial-gradient(ellipse 60% 55% at 50% 30%,#000 0%,transparent 70%)}

.gt-sv-sec p,.gt-sv-sec h2,.gt-sv-sec h3,.gt-sv-sec ul,.gt-sv-sec ol,.gt-sv-sec figure,.gt-sv-sec blockquote{margin:0}
.gt-sv-head{display:grid; gap:1.25rem; align-content:start}
.gt-sv-head--center{justify-items:center; text-align:center; max-width:860px; margin-inline:auto}
.gt-sv-col{display:grid; gap:1.25rem; align-content:start}
.gt-sv-h2{font-family:var(--gt-h2-family); font-size:var(--sv-h2); font-weight:600; line-height:1.04; letter-spacing:-.026em; color:var(--gt-ink); max-width:20ch; text-wrap:balance}
.gt-sv-h2 em{font-style:italic; color:var(--gt-accent-deep)}
.gt-sv-h2--md{font-size:clamp(2rem,1.4rem + 2vw,3rem); max-width:18ch}
.gt-sv-h2--caps{text-transform:uppercase; font-size:clamp(2.1rem,1.4rem + 2.5vw,3.375rem); line-height:1.02; letter-spacing:-.012em; max-width:13ch}
.gt-sv-sec p{color:var(--gt-muted); font-size:var(--sv-body); line-height:1.7; max-width:64ch}
.gt-sv-sec p.gt-sv-intro{font-size:var(--sv-intro); line-height:1.6; max-width:58ch}
.gt-sv-sec a:not(.gt-btn){color:var(--gt-accent-deep); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px}
.gt-sv-sec a:not(.gt-btn):hover{color:var(--gt-ink)}
.gt-sv-sec strong{color:var(--gt-ink); font-weight:600}
.gt-sv-sec p.gt-sv-aside{font-size:.9375rem}
.gt-sv-sec p.gt-eyebrow{margin:0; font-size:.75rem; line-height:1.4; max-width:none; color:var(--gt-accent-deep)}

/* Pill eyebrow */
.gt-sv-pill{display:inline-flex !important; align-items:center; gap:.55rem; width:max-content; margin:0; padding:.42rem .95rem;
  background:var(--gt-accent-tint); border:1px solid var(--gt-rule-sand); border-radius:var(--r-pill); color:var(--gt-accent-deep) !important;
  font-size:.75rem !important; font-weight:700; letter-spacing:.14em; text-transform:uppercase; line-height:1.4 !important; max-width:none !important}
.gt-sv-pill::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--gt-accent); flex:none}
.gt-sv-sec p.gt-sv-sub{color:var(--gt-accent-deep); font-size:var(--sv-intro); font-weight:600}

/* Dark band text */
.gt-sv-sec--dark .gt-sv-h2{color:var(--gt-white)}
.gt-sv-sec--dark .gt-sv-h2 em{color:var(--gt-accent)}
.gt-sv-sec--dark p{color:var(--gt-on-dark-mut)}
.gt-sv-sec--dark .gt-sv-pill{background:rgba(240,78,39,.12); border-color:rgba(240,78,39,.32); color:var(--gt-accent) !important}
.gt-sv-sec--dark p.gt-sv-sub,.gt-sv-sec--dark p.gt-eyebrow{color:var(--gt-accent)}
.gt-sv-sec--dark a:not(.gt-btn){color:var(--gt-white)}
.gt-sv-sec--dark a:not(.gt-btn):hover{color:var(--gt-accent)}

/* Buttons */
.gt-sv-btns{display:flex; flex-wrap:wrap; gap:.75rem; margin-top:.75rem}
.gt-sv-btns--center{justify-content:center}
.gt-sv-btns .gt-btn svg{transition:transform .18s ease}
.gt-sv-btns .gt-btn:hover svg{transform:translateX(3px)}
.gt-sv-btn-white{background:var(--gt-white); border-color:var(--gt-rule-hover)}
.gt-sv-btn-white:hover{border-color:var(--gt-ink)}

/* Text link with arrow */
.gt-sv-sec p.gt-sv-textlink{font-size:.9375rem; font-weight:600}
.gt-sv-sec p.gt-sv-textlink a{display:inline-flex; align-items:center; gap:.5rem; color:var(--gt-accent-deep); text-decoration:none}
.gt-sv-sec p.gt-sv-textlink a::after{content:"\2192"; transition:transform .18s ease}
.gt-sv-sec p.gt-sv-textlink a:hover::after{transform:translateX(4px)}
.gt-sv-sec--dark p.gt-sv-textlink a{color:var(--gt-accent)}

/* Split layout */
.gt-sv-split{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:var(--s-8) clamp(2.5rem,1rem + 6vw,8rem); align-items:start}
.gt-sv-split--center{grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center}

/* ============ 1. STATEMENT ============ */
.gt-sv-quotemark{display:block; margin-top:.5rem; font-family:var(--gt-display); font-size:clamp(7rem,5rem + 6vw,11rem); font-weight:700; line-height:.62; color:var(--gt-accent); opacity:.2}
.gt-sv-sec--statement .gt-sv-col{gap:1.5rem; padding-top:.35rem}
.gt-sv-sec p.gt-sv-dropcap{color:var(--gt-ink); font-size:clamp(1.125rem,1.05rem + .35vw,1.3125rem); line-height:1.65}
.gt-sv-sec p.gt-sv-dropcap::first-letter{float:left; margin:.06em .14em 0 0; font-family:var(--gt-display); font-size:3.7em; font-weight:700; line-height:.8; color:var(--gt-accent)}
.gt-sv-sec p.gt-sv-callout{max-width:none; padding:1.5rem 1.75rem; background:var(--gt-accent-tint); border-left:4px solid var(--gt-accent);
  border-radius:0 var(--r-md) var(--r-md) 0; font-style:italic; font-size:1rem; line-height:1.7; color:var(--gt-ink)}

/* ============ 2. INVEST ============ */
.gt-sv-photo{position:relative; border-radius:var(--r-xl); padding:8px; background:var(--gt-white); border:1px solid var(--gt-rule-sand); box-shadow:0 0 0 8px var(--gt-accent-tint), var(--shadow-menu)}
.gt-sv-photo__img{position:relative; border-radius:calc(var(--r-xl) - 8px); overflow:hidden}
.gt-sv-photo__img::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,13,18,.82) 0%,rgba(10,13,18,.45) 52%,rgba(10,13,18,.05) 100%)}
.gt-sv-photo__img img{display:block; width:100%; height:auto; aspect-ratio:5/4; object-fit:cover; object-position:62% 30%}
.gt-sv-photo__copy{position:absolute; left:10%; top:50%; transform:translateY(-50%); display:grid; justify-items:start; gap:.9rem}
.gt-sv-photo__pill{display:inline-flex; padding:.35rem .8rem; border-radius:var(--r-pill); background:var(--gt-accent); color:var(--gt-ink); font-size:.75rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase}
.gt-sv-photo__title{max-width:9ch; font-family:var(--gt-display); font-size:clamp(2rem,1.2rem + 2.6vw,3.25rem); font-weight:700; line-height:1; letter-spacing:-.01em; text-transform:uppercase; color:var(--gt-white)}
.gt-sv-photo__title em{font-style:normal; color:var(--gt-accent)}
.gt-sv-sec p.gt-sv-photo__badge{position:absolute; right:-1.5rem; bottom:-1.75rem; display:flex; align-items:center; gap:.85rem; max-width:none; padding:.95rem 1.25rem;
  background:var(--gt-white); border:1px solid var(--gt-rule); border-radius:var(--r-md); box-shadow:var(--shadow-menu); font-size:.8125rem; line-height:1.35; color:var(--gt-muted-soft)}
.gt-sv-photo__icon{flex:none; width:42px; height:42px; border-radius:12px;
  background:var(--gt-accent-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 17l5-5 4 4 7-8M15 8h5v5' fill='none' stroke='%23C43110' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 22px no-repeat}
.gt-sv-photo__badge strong{display:block; font-family:var(--gt-display); font-size:1.125rem; color:var(--gt-ink)}

/* Tick lists */
.gt-sv-ticks{list-style:none; padding:0; display:grid; gap:.85rem}
.gt-sv-ticks > li{position:relative; padding-left:2.15rem; font-size:1rem; font-weight:500; line-height:1.5; color:var(--gt-ink)}
.gt-sv-ticks > li::before{content:""; position:absolute; left:0; top:.05rem; width:22px; height:22px; box-sizing:border-box; border-radius:50%; border:1px solid var(--gt-rule-sand);
  background:var(--gt-accent-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.3 5 8.6 9.6 3.6' fill='none' stroke='%23C43110' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat}
.gt-sv-sec--invest .gt-sv-ticks{margin-block:.5rem}
.gt-sv-ticks--sm > li{font-size:.9375rem}
.gt-sv-sec--dark .gt-sv-ticks > li{color:var(--gt-on-dark); font-weight:400}
.gt-sv-sec--dark .gt-sv-ticks > li::before{background-color:rgba(240,78,39,.14); border-color:rgba(240,78,39,.32);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.3 5 8.6 9.6 3.6' fill='none' stroke='%23F04E27' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}

/* ============ 3. DELIVER ============ */
.gt-sv-tickbox{list-style:none; margin:clamp(2.5rem,2rem + 1.5vw,3.5rem) auto 0 !important; padding:clamp(1.75rem,1.25rem + 1.5vw,2.5rem) clamp(1.75rem,1.25rem + 2.5vw,3.25rem);
  max-width:640px; box-sizing:border-box; display:grid; gap:1.05rem; background:var(--gt-white); border:1px solid var(--gt-rule); border-radius:var(--r-lg); box-shadow:var(--shadow-card)}
.gt-sv-tickbox > li{position:relative; padding-left:2.25rem; font-size:1rem; line-height:1.5; color:var(--gt-ink)}
.gt-sv-tickbox > li::before{content:""; position:absolute; left:0; top:.05rem; width:22px; height:22px; border-radius:7px;
  background:var(--gt-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.3 5 8.6 9.6 3.6' fill='none' stroke='%230A0D12' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat}
.gt-sv-features{list-style:none; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1rem,.75rem + 1vw,1.75rem); margin-top:clamp(3rem,2rem + 3vw,5rem) !important}
.gt-sv-feature{position:relative; overflow:hidden; display:flex; flex-direction:column; align-items:flex-start; gap:.75rem; padding:var(--sv-pad);
  background:var(--gt-white); border:1px solid var(--gt-rule); border-radius:var(--r-lg); box-shadow:var(--shadow-card);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease}
.gt-sv-feature::after{content:""; position:absolute; inset:0; z-index:0; opacity:0; pointer-events:none;
  background:linear-gradient(135deg,rgba(252,239,233,.6) 0%,rgba(252,239,233,0) 65%); transition:opacity .3s ease}
.gt-sv-feature > *{position:relative; z-index:1}
.gt-sv-feature__icon{width:48px; height:48px; margin-bottom:.75rem; box-sizing:border-box; border-radius:14px; border:1px solid var(--gt-rule-sand); background:var(--gt-accent-tint) center / 22px no-repeat;
  background-image:var(--ico); transition:transform .3s ease}
.gt-sv-feature--1{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h7v6H4zM13 5h7v14h-7zM4 13h7v6H4z' fill='none' stroke='%23C43110' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E")}
.gt-sv-feature--2{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h4L19 9l-4-4L4 16v4zM13.5 6.5l4 4' fill='none' stroke='%23C43110' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.gt-sv-feature--3{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 3 5 14h6l-1 7 8-11h-6l1-7z' fill='none' stroke='%23C43110' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E")}
.gt-sv-feature h3{font-family:var(--gt-h4-family); font-size:var(--sv-h3); font-weight:600; line-height:1.2; color:var(--gt-ink)}
.gt-sv-sec .gt-sv-feature p{font-size:var(--sv-card); line-height:1.65}
.gt-sv-feature__tag{margin-top:auto; padding:.3rem .75rem; border-radius:var(--r-pill); background:var(--gt-accent-tint); border:1px solid var(--gt-rule-sand);
  font-size:.6875rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gt-accent-deep)}
/* reference hover: lift, deeper shadow, warm wash, icon grows */
.gt-sv-feature:hover{transform:translateY(-4px); border-color:var(--gt-rule-sand-d); box-shadow:0 2px 4px rgba(10,13,18,.04),0 28px 56px -24px rgba(196,49,16,.25)}
.gt-sv-feature:hover::after{opacity:1}
.gt-sv-feature:hover .gt-sv-feature__icon{transform:scale(1.1)}

/* ============ 4. TABLE (static, no motion) ============ */
.gt-sv-table{margin:clamp(2.75rem,2rem + 2vw,4rem) auto 0; max-width:1240px; overflow-x:auto; -webkit-overflow-scrolling:touch;
  border:1px solid var(--gt-ink-line); border-radius:var(--r-lg); background:var(--gt-ink-elev)}
.gt-sv-table:focus-visible{outline:2px solid var(--gt-accent); outline-offset:3px}
.gt-sv-table table{width:100%; min-width:760px; margin:0; border-collapse:collapse; table-layout:fixed; font-size:.9375rem; line-height:1.4}
.gt-sv-table th,.gt-sv-table td{padding:1.15rem 1.25rem; text-align:center; vertical-align:middle; border:0; border-bottom:1px solid var(--gt-ink-line); color:var(--gt-on-dark-mut); font-weight:400}
.gt-sv-table tbody tr:last-child > *{border-bottom:0}
.gt-sv-table thead th{padding-block:1.4rem; font-size:.9375rem; font-weight:600; color:var(--gt-on-dark-dim)}
.gt-sv-table thead th:first-child{width:24%}
.gt-sv-table tbody th{position:relative; padding-left:2.25rem; text-align:left; font-weight:600; color:var(--gt-white)}
.gt-sv-table tbody th::before{content:""; position:absolute; left:1.2rem; top:50%; width:6px; height:6px; margin-top:-3px; border-radius:50%; background:var(--gt-accent)}
.gt-sv-table thead th.is-us{background:var(--gt-accent); color:var(--gt-ink); font-family:var(--gt-display); font-size:1.125rem; font-weight:700}
.gt-sv-table td.is-us{background:rgba(240,78,39,.14); color:#FFD9CC; font-weight:600; border-bottom-color:rgba(240,78,39,.18)}
.gt-sv-table td.is-us::before{content:"\2713\00a0"; color:var(--gt-accent); font-weight:700}

/* ============ 5. PROCESS ============ */
.gt-sv-steps{list-style:none; padding:0; counter-reset:gtsvs; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(.75rem,.5rem + .8vw,1.25rem) clamp(1.5rem,1rem + 3vw,4rem);
  max-width:1180px; margin:clamp(3rem,2rem + 3vw,4.5rem) auto 0 !important}
.gt-sv-steps > li{counter-increment:gtsvs; position:relative; padding:1.5rem 3.75rem 1.5rem 5rem; border:1px solid transparent; border-radius:var(--r-lg);
  transition:background-color .25s ease, border-color .25s ease}
.gt-sv-steps > li::before{content:counter(gtsvs); position:absolute; left:1.5rem; top:1.5rem; display:grid; place-items:center; width:42px; height:42px; box-sizing:border-box; border-radius:12px;
  background:var(--gt-accent-tint); border:1px solid var(--gt-rule-sand); font-family:var(--gt-display); font-weight:700; font-size:1.0625rem; color:var(--gt-accent-deep);
  transition:background-color .25s ease, color .25s ease, border-color .25s ease}
.gt-sv-steps > li::after{content:""; position:absolute; right:1.5rem; top:1.75rem; width:18px; height:18px; box-sizing:border-box; border-radius:50%; border:1.5px solid var(--gt-rule-hover);
  transition:background-color .25s ease, border-color .25s ease}
.gt-sv-steps h3{margin-bottom:.4rem !important; font-family:var(--gt-h4-family); font-size:var(--sv-h3); font-weight:600; line-height:1.25; color:var(--gt-ink)}
.gt-sv-sec .gt-sv-steps p{font-size:var(--sv-card); line-height:1.65}
/* reference hover: tinted panel, number fills */
.gt-sv-steps > li:hover{background:rgba(252,239,233,.55); border-color:var(--gt-rule-sand)}
.gt-sv-steps > li:hover::before{background:var(--gt-accent); border-color:var(--gt-accent); color:var(--gt-ink)}
.gt-sv-steps > li:hover::after{background:var(--gt-accent); border-color:var(--gt-accent)}

/* ============ 6. JOURNEY ============ */
.gt-sv-glass{display:grid; gap:.85rem; max-width:680px; box-sizing:border-box; margin:clamp(1.75rem,1.25rem + 1vw,2.5rem) auto 0; padding:1.75rem 2rem; text-align:center;
  background:rgba(255,255,255,.05); border:1px solid rgba(237,239,242,.16); border-radius:var(--r-lg); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px)}
.gt-sv-sec .gt-sv-glass p{max-width:none; font-size:1rem; line-height:1.65; color:var(--gt-on-dark)}
.gt-sv-sec--journey .gt-sv-btns{margin-top:2rem}
.gt-sv-stages{list-style:none; padding:0; counter-reset:gtsvj; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(.75rem,.5rem + .8vw,1.25rem); margin-top:clamp(3rem,2rem + 3vw,4.5rem) !important}
.gt-sv-stages > li{counter-increment:gtsvj; position:relative; padding:var(--sv-pad); background:rgba(255,255,255,.05); border:1px solid rgba(237,239,242,.14); border-radius:var(--r-lg);
  transition:background-color .3s ease, border-color .3s ease}
.gt-sv-stages > li::before{content:counter(gtsvj,decimal-leading-zero); display:block; margin-bottom:1.1rem; font-family:var(--gt-display); font-size:2rem; font-weight:600; line-height:1; color:var(--gt-accent)}
.gt-sv-stages > li::after{content:""; position:absolute; top:calc(var(--sv-pad) + 1rem); left:calc(var(--sv-pad) + 3.4rem); width:28px; height:1.5px; background:var(--gt-accent); opacity:.6; transition:width .35s ease, opacity .35s ease}
.gt-sv-stages h3{margin-bottom:.5rem !important; font-family:var(--gt-h4-family); font-size:1.1875rem; font-weight:600; color:var(--gt-white)}
.gt-sv-sec .gt-sv-stages p{font-size:.9375rem; line-height:1.65}
/* reference hover: lighter glass, line extends */
.gt-sv-stages > li:hover{background:rgba(255,255,255,.1); border-color:rgba(237,239,242,.4)}
.gt-sv-stages > li:hover::after{width:48px; opacity:1}
.gt-sv-sec p.gt-sv-quote{position:relative; max-width:30ch; margin:clamp(3.5rem,2.5rem + 3vw,5.5rem) auto 0; text-align:center; font-family:var(--gt-display); font-style:italic;
  font-size:clamp(1.375rem,1.05rem + 1.2vw,2.125rem); line-height:1.3; color:var(--gt-white)}
.gt-sv-quote::before{content:"\201C"; position:absolute; left:-.55em; top:-.3em; font-size:2.6em; line-height:1; color:var(--gt-accent); opacity:.45}
.gt-sv-quote em{color:var(--gt-accent)}

/* ============ 7. RESULTS ============ */
.gt-sv-head-row{display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:1.5rem 3rem}
.gt-sv-results{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1rem,.75rem + 1vw,1.75rem); margin-top:clamp(2.5rem,2rem + 1.5vw,3.5rem)}
.gt-sv-result{display:flex; flex-direction:column; gap:1.75rem; padding:var(--sv-pad); background:var(--gt-ink-elev); border:1px solid var(--gt-ink-line); border-radius:var(--r-lg); transition:border-color .3s ease}
.gt-sv-result:hover{border-color:rgba(240,78,39,.4)}
.gt-sv-result__foot{margin-top:auto; padding-top:1.25rem; border-top:1px solid var(--gt-ink-line); display:flex; align-items:center; justify-content:space-between; gap:1rem}
.gt-sv-result__foot h3{font-family:var(--gt-display); font-size:1.25rem; font-weight:600; color:var(--gt-white)}
.gt-sv-sec .gt-sv-result__foot p{margin-top:.15rem; font-size:.875rem; color:var(--gt-on-dark-dim)}
.gt-sv-sec a.gt-sv-result__go{flex:none; display:grid; place-items:center; width:38px; height:38px; border-radius:11px; background:rgba(240,78,39,.14); border:1px solid rgba(240,78,39,.32); color:var(--gt-accent); transition:background-color .2s ease, color .2s ease}
.gt-sv-sec a.gt-sv-result__go:hover{background:var(--gt-accent); color:var(--gt-ink)}
.gt-sv-sec p.gt-sv-closing{margin:clamp(3rem,2rem + 3vw,4.5rem) auto 0; text-align:center; font-size:1rem}
.gt-sv-sec--results .gt-sv-btns{margin-top:1rem}

/* ============ 8. REVIEWS ============ */
.gt-sv-reviews{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr)); gap:clamp(1rem,.75rem + 1vw,1.75rem); margin-top:clamp(2.75rem,2rem + 2vw,4rem)}
.gt-sv-review{position:relative; display:flex; flex-direction:column; gap:1rem; padding:var(--sv-pad); background:var(--gt-white); border:1px solid var(--gt-rule); border-radius:var(--r-xl); box-shadow:var(--shadow-card)}
.gt-sv-review::after{content:"\201D"; position:absolute; right:1.5rem; top:.75rem; font-family:var(--gt-display); font-size:5rem; font-weight:700; line-height:1; color:var(--gt-accent); opacity:.12}
.gt-sv-review__who{display:flex; align-items:center; gap:.85rem}
.gt-sv-review__photo{flex:none; width:52px; height:52px; border-radius:50%; object-fit:cover; object-position:50% 20%; border:2px solid var(--gt-white); box-shadow:0 0 0 1px var(--gt-rule)}
.gt-sv-review__id{display:grid; gap:.2rem}
.gt-sv-review__name{font-family:var(--gt-display); font-size:1.25rem; font-weight:600; color:var(--gt-ink)}
.gt-sv-review__role{font-size:.875rem; color:var(--gt-muted-soft)}
.gt-sv-sec p.gt-sv-review__stars{display:flex; gap:.2rem; font-size:1.25rem; line-height:1; color:var(--gt-accent); letter-spacing:0}
.gt-sv-sec .gt-sv-review__quote p{font-size:1.0625rem; line-height:1.7; color:var(--gt-ink)}
.gt-sv-sec p.gt-sv-review__src{margin-top:auto; font-size:.8125rem; color:var(--gt-muted-soft)}
.gt-sv-review.is-placeholder{border-style:dashed}
.gt-sv-review.is-placeholder .gt-sv-review__quote p{color:var(--gt-muted-soft); font-style:italic}
.gt-sv-sec p.gt-sv-admin-note{margin:1.5rem auto 0; width:max-content; max-width:100%; padding:.5rem .9rem; border-radius:var(--r-sm); background:#FFF7E6; border:1px solid #F3D9A4; color:#6B4A07; font-size:.8125rem; text-align:center}

/* ============ 9. FAQ (static) ============ */
.gt-sv-faq-list{display:grid; gap:.75rem; max-width:900px; margin:clamp(2.5rem,2rem + 1.5vw,3.5rem) auto 0}
.gt-sv-faq{background:var(--gt-white); border:1px solid var(--gt-rule); border-radius:var(--r-md); padding:0 1.5rem}
.gt-sv-faq[open]{box-shadow:var(--shadow-card); border-color:var(--gt-rule-hover)}
.gt-sv-faq summary{list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:1.25rem; padding:1.3rem 0;
  font-family:var(--gt-h4-family); font-size:1.1875rem; font-weight:600; line-height:1.35; color:var(--gt-ink)}
.gt-sv-faq summary::-webkit-details-marker{display:none}
.gt-sv-faq summary::after{content:""; flex:none; width:30px; height:30px; box-sizing:border-box; border-radius:50%; border:1px solid var(--gt-rule-sand);
  background:var(--gt-accent-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6 2v8M2 6h8' fill='none' stroke='%23C43110' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center / 11px no-repeat}
.gt-sv-faq[open] summary::after{transform:rotate(45deg)}
.gt-sv-faq summary:focus-visible{outline:2px solid var(--gt-accent); outline-offset:4px; border-radius:6px}
.gt-sv-faq__a{padding-bottom:1.4rem}
.gt-sv-sec .gt-sv-faq__a p{max-width:72ch; font-size:1rem}

/* ============ CTA BAR ============ */
.gt-sv-ctabar{padding-block:var(--sv-y)}
.gt-sv-ctabar__box{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.25rem 2.5rem;
  padding:clamp(1.5rem,1.1rem + 1.2vw,2.25rem) clamp(1.5rem,1.1rem + 2vw,3rem); background:var(--gt-paper-2); border:1px solid var(--gt-rule); border-radius:var(--r-xl)}
.gt-sv-ctabar h2{margin:0; font-family:var(--gt-h2-family); font-size:clamp(1.5rem,1.15rem + 1.2vw,2.25rem); line-height:1.15; letter-spacing:-.02em; color:var(--gt-ink); max-width:28ch}
.gt-sv-ctabar .gt-btn{flex:none}

/* ============ SCROLL REVEALS (only where the reference animates) ============ */
.gt-sv-anim .gt-sv-hero__inner > *{opacity:0; transform:translateY(20px); animation:gtSvUp .8s cubic-bezier(.2,.7,.2,1) var(--gt-d,0ms) forwards}
.gt-sv-hero__inner > :nth-child(2){--gt-d:100ms}
.gt-sv-hero__inner > :nth-child(3){--gt-d:200ms}
.gt-sv-hero__inner > :nth-child(4){--gt-d:320ms}
.gt-sv-hero__inner > :nth-child(5){--gt-d:440ms}
@keyframes gtSvUp{to{opacity:1; transform:none}}
.gt-sv-anim .gt-sv-logos__grid > li,
.gt-sv-anim .gt-sv-sec--statement .gt-sv-head > *,
.gt-sv-anim .gt-sv-sec--statement .gt-sv-col > *,
.gt-sv-anim .gt-sv-sec--invest .gt-sv-col > *,
.gt-sv-anim .gt-sv-sec--deliver .gt-sv-head > *,
.gt-sv-anim .gt-sv-features > li,
.gt-sv-anim .gt-sv-sec--process .gt-sv-head > *,
.gt-sv-anim .gt-sv-steps > li,
.gt-sv-anim .gt-sv-sec--journey .gt-sv-head > *,
.gt-sv-anim .gt-sv-glass,
.gt-sv-anim .gt-sv-sec--journey .gt-sv-btns,
.gt-sv-anim .gt-sv-stages > li,
.gt-sv-anim .gt-sv-quote,
.gt-sv-anim .gt-sv-sec--results .gt-sv-head > *,
.gt-sv-anim .gt-sv-results > .gt-sv-result,
.gt-sv-anim .gt-sv-sec--reviews .gt-sv-head > *,
.gt-sv-anim .gt-sv-reviews > .gt-sv-review{opacity:0; transform:translateY(var(--gt-y,20px));
  transition:opacity .7s cubic-bezier(.2,.7,.2,1) var(--gt-d,0ms), transform .7s cubic-bezier(.2,.7,.2,1) var(--gt-d,0ms),
    background-color .25s ease, border-color .25s ease, box-shadow .3s ease}
.gt-sv-anim .gt-sv-logos__grid > li{--gt-y:12px}
.gt-sv-anim .gt-sv-sec--statement .gt-sv-col > *,.gt-sv-anim .gt-sv-sec--deliver .gt-sv-head > *,.gt-sv-anim .gt-sv-stages > li{--gt-y:30px}
.gt-sv-anim .gt-sv-features > li,.gt-sv-anim .gt-sv-sec--process .gt-sv-head > *,.gt-sv-anim .gt-sv-results > .gt-sv-result,.gt-sv-anim .gt-sv-reviews > .gt-sv-review{--gt-y:40px}
.gt-sv-anim .gt-sv-sec--invest .gt-sv-ticks > li,
.gt-sv-anim .gt-sv-tickbox > li{opacity:0; transform:translateX(-20px); transition:opacity .6s ease var(--gt-d,0ms), transform .6s cubic-bezier(.2,.7,.2,1) var(--gt-d,0ms)}
.gt-sv-anim .gt-sv-photo{opacity:0; transform:scale(.9); transition:opacity .8s ease, transform .9s cubic-bezier(.2,.7,.2,1)}
.gt-sv-anim .gt-sv-sec p.gt-sv-photo__badge{opacity:0; transform:translateX(20px); transition:opacity .6s ease .45s, transform .7s cubic-bezier(.2,.7,.2,1) .45s}
.gt-sv-anim .gt-sv .is-in{opacity:1 !important; transform:none !important}
/* feature cards keep their hover lift after revealing */
.gt-sv-anim .gt-sv .gt-sv-feature.is-in:hover{transform:translateY(-4px) !important}

html{scroll-behavior:smooth}

/* ============ RESPONSIVE ============ */
@media (max-width:1180px){
  .gt-sv-stages{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1060px){
  .gt-sv-split,.gt-sv-split--center{grid-template-columns:minmax(0,1fr)}
  .gt-sv-quotemark{display:none}
  .gt-sv-features,.gt-sv-results,.gt-sv-reviews{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gt-sv-photo{max-width:660px}
  .gt-sv-sec p.gt-sv-photo__badge{right:1rem}
}
@media (max-width:760px){
  .gt-sv-steps{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .gt-sv-hero__inner{padding-bottom:clamp(9rem,6rem + 20vw,13rem)}
  .gt-sv-hero__actions,.gt-sv-hero__actions .gt-btn{width:100%}
  .gt-sv-logos__grid li{min-height:76px; padding:.75rem .6rem}
  .gt-sv-logos__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gt-sv-logos__grid li:nth-child(5n){border-right:1px solid var(--gt-rule)}
  .gt-sv-logos__grid li:nth-child(3n){border-right:0}
  .gt-sv-logos__grid li:nth-last-child(-n+5){border-bottom:1px solid var(--gt-rule)}
  .gt-sv-logos__grid li:nth-last-child(-n+3){border-bottom:0}
  .gt-sv-logos__grid img{max-height:30px}
  .gt-sv-logos__grid img.is-mark{max-height:46px}
  .gt-sv-features,.gt-sv-results,.gt-sv-stages,.gt-sv-reviews{grid-template-columns:minmax(0,1fr)}
  .gt-sv-sec p.gt-sv-photo__badge{position:relative; right:auto; bottom:auto; margin:.75rem .25rem .25rem}
  .gt-sv-photo__title{font-size:1.625rem}
  .gt-sv-steps > li{padding:1.25rem 1.25rem 1.25rem 4.25rem}
  .gt-sv-steps > li::before{left:1rem; top:1.25rem}
  .gt-sv-steps > li::after{display:none}
  .gt-sv-btns,.gt-sv-btns .gt-btn{width:100%}
  .gt-sv-glass{padding:1.25rem}
  .gt-sv-quote::before{display:none}
  .gt-sv-ctabar__box{flex-direction:column; align-items:stretch; text-align:center}
  .gt-sv-ctabar__box .gt-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .gt-sv-ch,.gt-sv-feature,.gt-sv-stages > li,.gt-sv-steps > li,.gt-sv-logos__grid img,.gt-sv-feature__icon,.gt-sv-hero__actions .gt-btn svg,.gt-sv-btns .gt-btn svg,.gt-sv-sec p.gt-sv-textlink a::after{transition:none !important}
  .gt-sv-feature:hover,.gt-sv-anim .gt-sv .gt-sv-feature.is-in:hover{transform:none !important}
  .gt-sv-feature:hover .gt-sv-feature__icon{transform:none}
}

.gt-sv-review__ava{flex:none; display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:var(--gt-sand); color:var(--gt-accent-deep); font-family:var(--gt-display); font-size:1.375rem; font-weight:700; box-shadow:0 0 0 1px var(--gt-rule-sand)}

/* wider headings: centred heads sit on one line on desktop, side heads run longer */
.gt-sv-head--center{max-width:1180px}
.gt-sv-h2{max-width:30ch}
.gt-sv-head--center .gt-sv-h2{max-width:none}
.gt-sv-h2--md{max-width:26ch}
.gt-sv-h2--caps{max-width:24ch}
@media (min-width:1061px){.gt-sv-head--center .gt-sv-h2{text-wrap:nowrap}}

/* =====================================================================
   REFRESH (Oct 2026): icons, table, process, work grid, reviews, FAQ, CTA
   ===================================================================== */

/* deliver checklist: soft round check, matching the rest of the page */
.gt-sv-tickbox > li{padding-left:2.4rem}
.gt-sv-tickbox > li::before{top:.02rem; width:24px; height:24px; border-radius:50%; box-sizing:border-box; border:1px solid var(--gt-rule-sand);
  background:var(--gt-accent-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.3 5 8.6 9.6 3.6' fill='none' stroke='%23C43110' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat}

/* comparison table: room between the tick and the text */
.gt-sv-table td.is-us::before{content:"\2713"; display:inline-block; margin-right:.6rem; font-weight:700}

/* process: six cards with a large numeral and an accent bar */
.gt-sv-steps{grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1rem,.75rem + 1vw,1.5rem); max-width:none}
.gt-sv-steps > li{display:flex; flex-direction:column; padding:clamp(1.5rem,1.2rem + 1vw,2.25rem); overflow:hidden;
  background:var(--gt-white); border:1px solid var(--gt-rule); border-radius:var(--r-lg); box-shadow:var(--shadow-card);
  transition:border-color .3s ease, box-shadow .3s ease}
.gt-sv-steps > li::before{content:counter(gtsvs,decimal-leading-zero); position:static; display:block; width:auto; height:auto; margin-bottom:clamp(1.5rem,1rem + 1.5vw,2.5rem);
  background:none; border:0; border-radius:0; font-family:var(--gt-display); font-weight:600; font-size:clamp(2.5rem,2rem + 1.6vw,3.5rem); line-height:.9; letter-spacing:-.03em;
  color:transparent; -webkit-text-stroke:1.5px var(--gt-accent); transition:color .35s ease}
.gt-sv-steps > li::after{content:""; position:absolute; left:0; right:auto; top:0; width:100%; height:3px; border:0; border-radius:0;
  background:linear-gradient(90deg,var(--gt-accent) 0%,rgba(240,78,39,.35) 100%); transform:scaleX(.16); transform-origin:left center; transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.gt-sv-steps h3{margin-bottom:.55rem !important}
.gt-sv-steps > li:hover{background:var(--gt-white); border-color:var(--gt-rule-sand-d); box-shadow:0 2px 4px rgba(10,13,18,.04),0 28px 56px -26px rgba(196,49,16,.28)}
.gt-sv-steps > li:hover::before{background:none; color:var(--gt-accent); border:0}
.gt-sv-steps > li:hover::after{transform:scaleX(1); background:linear-gradient(90deg,var(--gt-accent) 0%,rgba(240,78,39,.35) 100%); border:0}

/* our work: six screenshot cards */
.gt-sv-works{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1rem,.75rem + 1vw,1.75rem); margin-top:clamp(2.5rem,2rem + 1.5vw,3.5rem)}
.gt-sv-work{display:flex; flex-direction:column; overflow:hidden; background:var(--gt-ink-elev); border:1px solid var(--gt-ink-line); border-radius:var(--r-lg);
  transition:border-color .3s ease, box-shadow .3s ease}
.gt-sv-work__shot{margin:.75rem .75rem 0; overflow:hidden; border-radius:12px; background:#fff; box-shadow:0 18px 36px -24px rgba(0,0,0,.6)}
.gt-sv-work__bar{display:flex; align-items:center; gap:5px; height:28px; padding:0 11px; background:#F4F5F7; border-bottom:1px solid rgba(10,13,18,.06)}
.gt-sv-work__bar i{width:8px; height:8px; border-radius:50%; background:#E1E3E7}
.gt-sv-work__bar i:nth-child(1){background:#FF6159}
.gt-sv-work__bar i:nth-child(2){background:#FFBD2E}
.gt-sv-work__bar i:nth-child(3){background:#28C941}
.gt-sv-work__bar span{flex:1; max-width:60%; margin:0 auto; padding:3px 10px; border-radius:999px; background:#fff; border:1px solid rgba(10,13,18,.07);
  font:600 10px/1.2 var(--gt-body); color:#6B7280; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transform:translateX(-14px)}
.gt-sv-work__img{overflow:hidden; aspect-ratio:1008/714}
.gt-sv-work__img img{display:block; width:100%; height:100%; object-fit:cover; object-position:top center; transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.gt-sv-work__body{padding:1.15rem 1.35rem 1.35rem}
.gt-sv-work__body h3{font-family:var(--gt-display); font-size:1.25rem; font-weight:600; color:var(--gt-white)}
.gt-sv-sec .gt-sv-work__body p{margin-top:.2rem; font-size:.875rem; color:var(--gt-on-dark-dim)}
.gt-sv-work:hover{border-color:rgba(240,78,39,.45); box-shadow:0 30px 60px -30px rgba(240,78,39,.35)}
.gt-sv-work:hover .gt-sv-work__img img{transform:scale(1.045)}
.gt-sv-anim .gt-sv-works > .gt-sv-work{opacity:0; transform:translateY(40px);
  transition:opacity .7s cubic-bezier(.2,.7,.2,1) var(--gt-d,0ms), transform .7s cubic-bezier(.2,.7,.2,1) var(--gt-d,0ms), border-color .3s ease, box-shadow .3s ease}

/* reviews: endless, slow carousel; pauses on hover or keyboard focus */
.gt-sv-rmq{position:relative; margin-top:clamp(2.75rem,2rem + 2vw,4rem); overflow:hidden; padding-block:.5rem 2.5rem;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%); mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)}
.gt-sv-rmq__track{display:flex; width:max-content; animation:gtSvMarquee 70s linear infinite}
.gt-sv-rmq:hover .gt-sv-rmq__track,.gt-sv-rmq:focus-within .gt-sv-rmq__track{animation-play-state:paused}
.gt-sv-rmq__set{display:flex; align-items:stretch; gap:clamp(1rem,.75rem + 1vw,1.5rem); padding-right:clamp(1rem,.75rem + 1vw,1.5rem)}
.gt-sv-rcard{position:relative; flex:none; width:clamp(290px,24vw,380px); margin:0; display:flex; flex-direction:column; gap:1.1rem; padding:clamp(1.5rem,1.2rem + 1vw,2rem);
  background:var(--gt-white); border:1px solid var(--gt-rule); border-radius:var(--r-xl); box-shadow:var(--shadow-card); transition:border-color .3s ease, box-shadow .3s ease, transform .3s ease}
.gt-sv-rcard::after{content:"\201D"; position:absolute; right:1.4rem; top:.6rem; font-family:var(--gt-display); font-size:4.5rem; font-weight:700; line-height:1; color:var(--gt-accent); opacity:.12}
.gt-sv-rcard:hover{transform:translateY(-4px); border-color:var(--gt-rule-sand-d); box-shadow:0 2px 4px rgba(10,13,18,.04),0 28px 56px -26px rgba(196,49,16,.25)}
.gt-sv-sec p.gt-sv-rcard__stars{display:flex; gap:.2rem; font-size:1.125rem; line-height:1; color:var(--gt-accent); letter-spacing:0}
.gt-sv-sec .gt-sv-rcard__quote p{font-size:1rem; line-height:1.7; color:var(--gt-ink)}
.gt-sv-rcard__who{margin-top:auto; display:grid; gap:.2rem; padding-top:1rem; border-top:1px solid var(--gt-rule)}
.gt-sv-rcard__name{font-family:var(--gt-display); font-size:1.125rem; font-weight:600; color:var(--gt-ink)}
.gt-sv-rcard__meta{font-size:.8125rem; color:var(--gt-muted-soft)}
.gt-sv-rcard.is-placeholder{border-style:dashed}
@keyframes gtSvMarquee{to{transform:translateX(-50%)}}

/* FAQ: sans questions, smooth open and close */
.gt-sv-faq summary{font-family:var(--gt-body); font-size:1.0625rem; font-weight:600; letter-spacing:-.01em; line-height:1.45}
.gt-sv-faq summary::after{transition:transform .3s ease, background-color .3s ease}
.gt-sv-faq.is-closing summary::after{transform:none}
.gt-sv-faq{transition:border-color .25s ease, box-shadow .25s ease}
.gt-sv-faq__a{overflow:hidden; padding-bottom:0}
.gt-sv-faq__a > p{padding-bottom:1.4rem}

/* closing CTA: dark panel with a warm glow */
.gt-sv-ctabar__box{position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:2rem 3rem;
  padding:clamp(2rem,1.4rem + 2.4vw,4rem) clamp(1.5rem,1rem + 3vw,4.5rem); background:var(--gt-ink); border:1px solid var(--gt-ink); border-radius:var(--r-xl); color:var(--gt-on-dark)}
.gt-sv-ctabar__box::before{content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(60% 120% at 100% 0%,rgba(240,78,39,.32) 0%,rgba(240,78,39,0) 60%),radial-gradient(40% 80% at 0% 100%,rgba(240,78,39,.12) 0%,rgba(240,78,39,0) 70%)}
.gt-sv-ctabar__box::after{content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:56px 56px;
  -webkit-mask-image:radial-gradient(70% 90% at 80% 20%,#000 0%,transparent 75%); mask-image:radial-gradient(70% 90% at 80% 20%,#000 0%,transparent 75%)}
.gt-sv-ctabar__box:hover{border-color:var(--gt-ink); box-shadow:0 40px 80px -40px rgba(196,49,16,.45)}
.gt-sv-ctabar__eyebrow{display:flex; align-items:center; gap:.6rem; margin:0 0 1rem; font-size:.75rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gt-accent)}
.gt-sv-ctabar__eyebrow span{width:22px; height:1.5px; background:var(--gt-accent)}
.gt-sv-ctabar h2{color:var(--gt-white); font-size:clamp(1.85rem,1.3rem + 1.9vw,3rem); line-height:1.08; letter-spacing:-.025em; max-width:22ch}
.gt-sv-ctabar__sub{margin:1rem 0 0; max-width:54ch; font-size:1.0625rem; line-height:1.6; color:var(--gt-on-dark-mut)}
.gt-sv-ctabar__pts{list-style:none; display:flex; flex-wrap:wrap; gap:.6rem 1.5rem; margin:1.5rem 0 0; padding:0}
.gt-sv-ctabar__pts li{position:relative; padding-left:1.6rem; font-size:.9375rem; font-weight:600; color:var(--gt-on-dark)}
.gt-sv-ctabar__pts li::before{content:""; position:absolute; left:0; top:50%; width:18px; height:18px; margin-top:-9px; border-radius:50%; background:rgba(240,78,39,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.3 5 8.6 9.6 3.6' fill='none' stroke='%23F04E27' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px no-repeat}
.gt-sv-ctabar__actions{display:flex; flex-direction:column; gap:.75rem; min-width:240px}
.gt-sv-ctabar__actions .gt-btn{justify-content:center; width:100%}

@media (max-width:1060px){
  .gt-sv-steps,.gt-sv-works{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gt-sv-ctabar__box{grid-template-columns:minmax(0,1fr)}
  .gt-sv-ctabar__actions{flex-direction:row; flex-wrap:wrap; min-width:0}
  .gt-sv-ctabar__actions .gt-btn{width:auto}
}
@media (max-width:640px){
  .gt-sv-steps,.gt-sv-works{grid-template-columns:minmax(0,1fr)}
  .gt-sv-steps > li{padding:1.5rem}
  .gt-sv-steps > li::before{left:auto; top:auto}
  .gt-sv-steps > li::after{display:block}
  .gt-sv-ctabar__box{text-align:left; align-items:start}
  .gt-sv-ctabar__actions{flex-direction:column}
  .gt-sv-ctabar__actions .gt-btn{width:100%}
  .gt-sv-rcard{width:82vw}
}
@media (prefers-reduced-motion:reduce){
  .gt-sv-rmq{overflow-x:auto; -webkit-mask-image:none; mask-image:none}
  .gt-sv-rmq__track{animation:none}
  .gt-sv-rmq__set[aria-hidden]{display:none}
  .gt-sv-steps > li::after,.gt-sv-work__img img,.gt-sv-rcard{transition:none}
}

/* our work cards: warm glow stage instead of flat grey */
.gt-sv-work{position:relative; isolation:isolate; background:linear-gradient(180deg,#181C24 0%,#0F1217 100%); border-color:rgba(255,255,255,.08); box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
.gt-sv-work::before{content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(110% 65% at 50% 0%,rgba(240,78,39,.26) 0%,rgba(240,78,39,.06) 45%,rgba(240,78,39,0) 70%); opacity:.85; transition:opacity .4s ease}
.gt-sv-work__shot{margin:1.1rem 1.1rem 0; box-shadow:0 24px 44px -22px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.08)}
.gt-sv-work__body{padding:1.25rem 1.5rem 1.45rem}
.gt-sv-work:hover{border-color:rgba(240,78,39,.5); box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 34px 64px -30px rgba(240,78,39,.4)}
.gt-sv-work:hover::before{opacity:1}

.gt-sv-work{background:linear-gradient(165deg,#241A1A 0%,#16181D 45%,#0F1115 100%)}
.gt-sv-work::before{background:radial-gradient(90% 75% at 50% 35%,rgba(240,78,39,.32) 0%,rgba(240,78,39,.08) 50%,rgba(240,78,39,0) 75%)}
.gt-sv-work__shot{margin:1.5rem 1.5rem 0}
.gt-sv-work__body{padding:1.3rem 1.6rem 1.5rem}
