/* GoodTechies About page (page-templates/template-about.php). Full width, 1440px rail. */
.gt-ab{--ab-y:clamp(4rem,2.5rem + 6vw,8rem); background:var(--gt-paper); overflow-x:clip}
.gt-ab h2,.gt-ab h3,.gt-ab p,.gt-ab ul,.gt-ab ol,.gt-ab figure{margin:0}
.gt-ab ul,.gt-ab ol{list-style:none; padding:0}

/* hero: hello line over a full-width wordmark */
.gt-ab-hero{position:relative; padding:clamp(3.5rem,2rem + 5vw,7rem) 0 clamp(2.5rem,1.5rem + 3vw,4.5rem)}
.gt-ab-hero::before{content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(50% 60% at 85% 0%,rgba(240,78,39,.10) 0%,rgba(240,78,39,0) 70%),
  linear-gradient(to right,rgba(10,13,18,.045) 1px,transparent 1px),linear-gradient(to bottom,rgba(10,13,18,.045) 1px,transparent 1px);
  background-size:auto,88px 88px,88px 88px;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.4) 70%,transparent 100%); mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.4) 70%,transparent 100%)}
.gt-ab-hero .gt-wrap-wide{position:relative}
.gt-ab-hero__hello{font-family:var(--gt-body); font-size:clamp(1.5rem,1.1rem + 1.6vw,2.6rem); font-weight:500; letter-spacing:-.02em; line-height:1.1; color:var(--gt-ink)}
.gt-ab-hero__mark{margin-top:clamp(1rem,.6rem + 1.4vw,2rem) !important; color:var(--gt-ink); line-height:0}
.gt-ab-hero__mark svg{display:block; width:100%; height:auto; aspect-ratio:3313/600}
.gt-ab-hero__row{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:2rem 4rem; align-items:end; margin-top:clamp(2.5rem,1.5rem + 3vw,4.5rem)}
.gt-ab-hero__lede{max-width:46ch; font-size:clamp(1.0625rem,.95rem + .45vw,1.3rem); line-height:1.6; color:var(--gt-muted)}
.gt-ab-hero__facts{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; border-top:1px solid var(--gt-rule); padding-top:1.4rem !important}
.gt-ab-hero__facts li{display:grid; gap:.35rem}
.gt-ab-hero__facts b{font-family:var(--gt-display); font-weight:600; font-size:clamp(2rem,1.5rem + 1.8vw,3.25rem); line-height:1; letter-spacing:-.03em; color:var(--gt-ink)}
.gt-ab-hero__facts span{font-size:.875rem; color:var(--gt-muted-soft)}

/* full-width team photo */
.gt-ab-photo__frame{overflow:hidden; border-radius:var(--r-xl); aspect-ratio:21/9; background:var(--gt-ink); box-shadow:0 40px 80px -48px rgba(10,13,18,.45)}
.gt-ab-photo__frame img{display:block; width:100%; height:100%; object-fit:cover; object-position:50% 45%}

/* story rows: label left, text right */
.gt-ab-story{padding-block:var(--ab-y) calc(var(--ab-y) * .6)}
.gt-ab-row{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:1.5rem clamp(2rem,1rem + 5vw,7rem); padding-block:clamp(2rem,1.4rem + 2vw,3.25rem); border-top:1px solid var(--gt-rule)}
.gt-ab-row:first-child{border-top:0; padding-top:0}
.gt-ab-row h2{font-family:var(--gt-display); font-size:clamp(2rem,1.4rem + 2.2vw,3.25rem); font-weight:600; line-height:1.05; letter-spacing:-.025em; color:var(--gt-ink); text-align:right}
.gt-ab-row__body{display:grid; gap:1.1rem; max-width:62ch}
.gt-ab-row__body p{font-size:clamp(1.0625rem,1rem + .3vw,1.25rem); line-height:1.7; color:var(--gt-muted)}
.gt-ab-row__body p:first-child{color:var(--gt-ink)}

/* values panel */
.gt-ab-values__panel{padding:clamp(2.25rem,1.5rem + 3vw,5rem) clamp(1.5rem,1rem + 3.5vw,5.5rem); background:var(--gt-sand); border:1px solid var(--gt-rule-sand); border-radius:clamp(24px,2vw,40px)}
.gt-ab-values h2{font-family:var(--gt-display); font-size:clamp(2rem,1.4rem + 2.2vw,3.25rem); font-weight:600; line-height:1.05; letter-spacing:-.025em; color:var(--gt-ink)}
.gt-ab-values__list{margin-top:clamp(1.75rem,1.2rem + 2vw,3rem) !important}
.gt-ab-values__list li{display:grid; grid-template-columns:3.5rem minmax(0,5fr) minmax(0,6fr); gap:.75rem 2rem; align-items:baseline; padding-block:clamp(1.4rem,1rem + 1.2vw,2rem); border-top:1px solid var(--gt-rule-sand-d)}
.gt-ab-values__list li:last-child{border-bottom:1px solid var(--gt-rule-sand-d)}
.gt-ab-values__n{font-family:var(--gt-display); font-size:1rem; font-weight:600; color:var(--gt-accent-deep)}
.gt-ab-values__list h3{font-family:var(--gt-display); font-size:clamp(1.25rem,1.1rem + .6vw,1.6rem); font-weight:600; line-height:1.2; color:var(--gt-ink)}
.gt-ab-values__list p{font-size:1.0625rem; line-height:1.65; color:var(--gt-muted)}

/* team */
.gt-ab-team{padding-block:var(--ab-y)}
.gt-ab-team__head{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:1rem clamp(2rem,1rem + 5vw,7rem); align-items:end}
.gt-ab-team__head h2{font-family:var(--gt-display); font-size:clamp(2.25rem,1.5rem + 2.8vw,4rem); font-weight:600; line-height:1; letter-spacing:-.03em; color:var(--gt-ink)}
.gt-ab-team__head p{max-width:56ch; font-size:clamp(1.0625rem,1rem + .3vw,1.2rem); line-height:1.65; color:var(--gt-muted)}
.gt-ab-team__grid{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:clamp(1rem,.6rem + 1.4vw,2rem); margin-top:clamp(2.5rem,1.75rem + 2.5vw,4rem) !important}
.gt-ab-member__photo{position:relative; overflow:hidden; aspect-ratio:1/1; border-radius:var(--r-lg); background:var(--gt-clay)}
.gt-ab-member__photo img{display:block; width:100%; height:100%; object-fit:cover; object-position:50% 25%; transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.gt-ab-member:hover .gt-ab-member__photo img{transform:scale(1.04)}
.gt-ab-member__tag{position:absolute; left:.75rem; top:.75rem; padding:.3rem .65rem; border-radius:999px; background:var(--gt-accent); color:var(--gt-ink);
  font-size:.6875rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase}
.gt-ab-member__name{margin-top:1.1rem !important; font-family:var(--gt-display); font-size:clamp(1.125rem,1rem + .35vw,1.35rem); font-weight:600; line-height:1.2; color:var(--gt-ink)}
.gt-ab-member__role{margin-top:.3rem !important; font-size:.9375rem; font-weight:700; color:var(--gt-accent-deep)}
.gt-ab-member__area{margin-top:.2rem !important; font-size:.875rem; line-height:1.5; color:var(--gt-muted-soft)}

/* closing CTA */
.gt-ab-cta{padding-bottom:var(--ab-y)}
.gt-ab-cta__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-radius:var(--r-xl); color:var(--gt-on-dark)}
.gt-ab-cta__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-ab-cta__eyebrow{display:flex; align-items:center; gap:.6rem; margin-bottom:1rem !important; font-size:.75rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gt-accent)}
.gt-ab-cta__eyebrow span{width:22px; height:1.5px; background:var(--gt-accent)}
.gt-ab-cta h2{max-width:22ch; font-family:var(--gt-display); font-size:clamp(1.85rem,1.3rem + 1.9vw,3rem); font-weight:600; line-height:1.08; letter-spacing:-.025em; color:var(--gt-white)}
.gt-ab-cta__sub{margin-top:1rem !important; max-width:52ch; font-size:1.0625rem; line-height:1.6; color:var(--gt-on-dark-mut)}
.gt-ab-cta__actions{display:flex; flex-direction:column; gap:.75rem; min-width:220px}
.gt-ab-cta__actions .gt-btn{justify-content:center}

/* reveal */
.gt-ab-anim .gt-ab-rv{opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.2,.7,.2,1) var(--d,0ms), transform .9s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
.gt-ab-anim .gt-ab-hero__mark.gt-ab-rv{transform:translateY(40px); transition-delay:120ms}
.gt-ab-anim .gt-ab-rv.is-in{opacity:1; transform:none}

@media (max-width:1060px){
  .gt-ab-hero__row,.gt-ab-team__head{grid-template-columns:minmax(0,1fr)}
  .gt-ab-row{grid-template-columns:minmax(0,1fr)}
  .gt-ab-row h2{text-align:left}
  .gt-ab-values__list li{grid-template-columns:2.75rem minmax(0,1fr)}
  .gt-ab-values__list p{grid-column:2}
  .gt-ab-team__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gt-ab-cta__box{grid-template-columns:minmax(0,1fr)}
  .gt-ab-cta__actions{flex-direction:row; flex-wrap:wrap; min-width:0}
}
@media (max-width:640px){
  .gt-ab-photo__frame{aspect-ratio:2/1; border-radius:var(--r-lg)}
  .gt-ab-hero__facts{grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem}
  .gt-ab-team__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gt-ab-cta__actions{flex-direction:column}
  .gt-ab-cta__actions .gt-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .gt-ab-member__photo img{transition:none}
}

/* values rows: clean sans titles instead of the serif */
.gt-ab-values__list h3{font-family:var(--gt-body); font-size:clamp(1.125rem,1rem + .45vw,1.375rem); font-weight:600; letter-spacing:-.015em; line-height:1.35}
.gt-ab-values__n{font-family:var(--gt-body); font-size:.875rem; font-weight:700; letter-spacing:.04em}

/* ---------- Team photo with side text (2026-10-18) ---------- */
.gt-ab-photo__grid{position:relative; display:grid; grid-template-columns:minmax(0,2.1fr) minmax(0,1fr); gap:clamp(1.5rem,1rem + 2vw,3rem); align-items:end}
.gt-ab-photo__grid .gt-ab-photo__frame{aspect-ratio:16/9.4; position:relative; z-index:1}
.gt-ab-photo__grid .gt-ab-photo__frame img{object-position:50% 40%}
.gt-ab-photo__wave{position:absolute; z-index:0; left:clamp(3rem,2rem + 4vw,6rem); top:-2.6rem; width:clamp(110px,8vw + 60px,160px); height:auto; color:var(--gt-accent); opacity:.55}
.gt-ab-photo__side{position:relative; display:grid; align-content:end; gap:1rem; padding-bottom:clamp(.5rem,.25rem + 1vw,1.5rem)}
.gt-ab-photo__side .gt-eyebrow{margin:0}
.gt-ab-photo__h{font-family:var(--gt-display); font-weight:600; font-size:clamp(1.875rem,1.3rem + 1.6vw,2.75rem); line-height:1.06; letter-spacing:-.025em; color:var(--gt-ink); margin:0}
.gt-ab-photo__p{font-size:var(--gt-fs-sub,17px); line-height:var(--gt-lh-sub,1.62); color:var(--gt-muted); max-width:38ch; margin:0}
.gt-ab-photo__side .gt-tlink{margin-top:.4rem; justify-self:start}
.gt-ab-photo__dots{position:absolute; right:0; bottom:-2.75rem; width:min(100%,240px); height:42px; background-image:radial-gradient(var(--gt-accent) 1.4px, transparent 1.6px); background-size:14px 14px; opacity:.45; pointer-events:none}
@media (max-width:1060px){
  .gt-ab-photo__grid{grid-template-columns:minmax(0,1fr)}
  .gt-ab-photo__side{padding-bottom:2.5rem}
  .gt-ab-photo__p{max-width:60ch}
  .gt-ab-photo__dots{bottom:0; right:auto; left:0}
}
@media (max-width:640px){
  .gt-ab-photo__grid .gt-ab-photo__frame{aspect-ratio:16/10}
  .gt-ab-photo__wave{top:-2rem; left:1.5rem}
}
/* ---------- About content update (2026-10-18) ---------- */
.gt-ab-hero .gt-eyebrow{margin-bottom:clamp(.9rem,.6rem + 1vw,1.4rem)}
/* stats: staggered columns, accent plus, rule under each (reference layout) */
.gt-ab-hero__row{align-items:end}
.gt-ab-hero__lede{max-width:58ch; font-size:var(--gt-fs-sub,17px); line-height:1.7}
.gt-ab-hero__facts{border-top:0; padding-top:0 !important; gap:clamp(1rem,.5rem + 2vw,2.5rem); align-items:end}
.gt-ab-fact{padding-bottom:1.1rem; border-bottom:1px solid var(--gt-rule)}
.gt-ab-fact--2{margin-bottom:clamp(1.5rem,1rem + 2vw,3rem)}
.gt-ab-fact--3{margin-bottom:clamp(3rem,2rem + 4vw,6rem)}
.gt-ab-hero__facts b{font-size:clamp(2.5rem,1.8rem + 2.4vw,4rem)}
.gt-ab-hero__facts b i{font-style:normal; color:var(--gt-accent); margin-left:.04em}
.gt-ab-hero__facts span{font-size:var(--gt-fs-card-sm,15px); font-weight:600; color:var(--gt-ink)}

/* photo section head (reference layout) */
.gt-ab-photo__head{display:grid; gap:.9rem; margin-bottom:clamp(3rem,2rem + 3vw,4.5rem)}
.gt-ab-photo__head .gt-eyebrow{margin:0}
.gt-ab-photo__title{font-family:var(--gt-display); font-size:clamp(2.25rem,1.5rem + 2.8vw,4rem); font-weight:600; line-height:1.02; letter-spacing:-.03em; color:var(--gt-ink); max-width:16ch}

/* what we do: expertise chips */
.gt-ab-expertise{margin-top:.6rem; padding-top:1.4rem; border-top:1px solid var(--gt-rule)}
.gt-ab-row__body .gt-ab-expertise__label{font-size:.75rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gt-accent-deep)}
.gt-ab-expertise__list{display:flex; flex-wrap:wrap; gap:.55rem; margin-top:.9rem !important}
.gt-ab-expertise__list li{padding:.5rem .95rem; border:1px solid var(--gt-rule); border-radius:999px; background:var(--gt-white); font-size:var(--gt-fs-card-sm,15px); font-weight:600; color:var(--gt-ink)}

/* how we work: four steps */
.gt-ab-steps{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1rem,.6rem + 1.2vw,1.5rem)}
.gt-ab-step{display:grid; align-content:start; gap:.55rem; padding:clamp(1.25rem,1rem + 1vw,1.85rem); background:var(--gt-white); border:1px solid var(--gt-rule); border-radius:var(--r-lg)}
.gt-ab-step__n{font-size:.75rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gt-accent-deep)}
.gt-ab-step h3{font-family:var(--gt-display); font-size:clamp(1.3rem,1.1rem + .6vw,1.65rem); font-weight:600; line-height:1.15; color:var(--gt-ink)}
.gt-ab-step p{font-size:var(--gt-fs-card,16px); line-height:1.6; color:var(--gt-muted)}

/* why choose us */
.gt-ab-values__head{display:grid; gap:.9rem}
.gt-ab-values__head .gt-eyebrow{margin:0}
.gt-ab-values__intro{max-width:56ch; font-size:var(--gt-fs-sub,17px); line-height:1.62; color:var(--gt-muted)}
.gt-ab-values__close{margin-top:clamp(1.5rem,1rem + 1.5vw,2.25rem) !important; font-family:var(--gt-display); font-size:clamp(1.25rem,1.05rem + .7vw,1.65rem); line-height:1.3; color:var(--gt-ink)}
.gt-ab-values__close strong{color:var(--gt-accent-deep); font-weight:600}

/* team descriptions */
.gt-ab-member__area{font-size:var(--gt-fs-card-sm,15px); color:var(--gt-muted); margin-top:.45rem !important}

/* side heading is now an h3 under the section h2 */
.gt-ab-photo__side .gt-ab-photo__h{margin:0}

@media (max-width:1060px){
  .gt-ab-fact--2,.gt-ab-fact--3{margin-bottom:0}
}
@media (max-width:640px){
  .gt-ab-steps{grid-template-columns:minmax(0,1fr)}
  .gt-ab-hero__facts b{font-size:2.1rem}
  .gt-ab-hero__facts span{font-size:.8125rem}
}

/* Team photo: frame matches the photo (1716x917), nothing cropped */
.gt-ab-photo__grid .gt-ab-photo__frame,.gt-ab-photo__frame{aspect-ratio:1716/917 !important; height:auto}
.gt-ab-photo__grid .gt-ab-photo__frame img{width:100%; height:100%; object-fit:cover; object-position:50% 50%}
