/* ═══════════════════════════════════════════════
   KUMBR STUDIO — About Page v4
   Award-Worthy, Cinematic, Immersive
   ═══════════════════════════════════════════════ */

/* ═══ HEADER — About Page Context ═══ */
.header--about{color:var(--light)}
.header--about .nav-logo-dark{display:none}
.header--about .nav-logo-white{display:block}
.header--about.scrolled{background:rgba(var(--dark-rgb),.92);backdrop-filter:blur(20px)}
.header--about.past-hero{color:var(--dark)}
.header--about.past-hero .nav-logo-dark{display:block}
.header--about.past-hero .nav-logo-white{display:none}
.header--about.past-hero.scrolled{background:rgba(255,255,255,.92);backdrop-filter:blur(20px)}
.header--about.in-dark{color:var(--light)}
.header--about.in-dark .nav-logo-dark{display:none}
.header--about.in-dark .nav-logo-white{display:block}
.header--about.in-dark.scrolled{background:rgba(var(--dark-rgb),.92)}

/* ═══ S1: HERO — Cinematic Dark Fullscreen ═══ */
.ab-hero{
  position:relative;
  min-height:100vh;
  background:var(--dark);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.ab-hero-canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  opacity:.4;
}
/* Giant background text */
.ab-hero-bg-text{
  position:absolute;
  font-size:clamp(200px,30vw,500px);
  font-weight:800;
  color:rgba(255,255,255,.015);
  letter-spacing:-.05em;
  white-space:nowrap;
  user-select:none;
  pointer-events:none;
  z-index:1;
  will-change:transform;
}
.ab-hero-content{
  position:relative;
  z-index:2;
  text-align:center;
  padding:0 var(--pad);
  max-width:1100px;
}
.ab-hero-eyebrow{
  font-size:10px;
  letter-spacing:.4em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:300;
  margin-bottom:clamp(32px,5vh,60px);
  opacity:0;
}
.ab-hero-heading{display:block}
.ab-hero-line{
  display:flex;
  justify-content:center;
  align-items:baseline;
  gap:.3em;
  overflow:hidden;
  line-height:1.12;
}
.ab-word{
  display:inline-block;
  font-size:clamp(36px,5.5vw,82px);
  font-weight:700;
  color:var(--light);
  letter-spacing:-.04em;
  opacity:0;
  transform:translateY(110%);
  white-space:pre;
  flex-shrink:0;
}
.ab-word--gold{
  color:var(--gold);
  font-style:italic;
}
.ab-hero-scroll{
  margin-top:clamp(40px,6vh,80px);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  opacity:0;
}
.ab-scroll-line{
  width:1px;
  height:50px;
  background:linear-gradient(to bottom, var(--gold), transparent);
  position:relative;
  overflow:hidden;
}
.ab-scroll-line::after{
  content:'';
  position:absolute;
  top:-100%;
  left:0;
  width:100%;
  height:100%;
  background:var(--light);
  animation:abScrollPulse 2s ease-in-out infinite;
}
@keyframes abScrollPulse{
  0%{top:-100%}
  100%{top:100%}
}
.ab-scroll-text{
  font-family:var(--font-body);
  font-size:9px;
  letter-spacing:.4em;
  text-transform:uppercase;
  color:rgba(255,255,255,.25);
  font-weight:300;
}

/* Floating geometric shapes */
.ab-hero-shapes{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
}
.ab-shape{
  position:absolute;
  border:1px solid rgba(var(--gold-rgb),.08);
  border-radius:2px;
  will-change:transform;
}
.ab-shape--1{
  width:clamp(80px,12vw,200px);
  height:clamp(80px,12vw,200px);
  top:15%;
  right:8%;
  transform:rotate(45deg);
}
.ab-shape--2{
  width:clamp(40px,6vw,100px);
  height:clamp(40px,6vw,100px);
  bottom:20%;
  left:10%;
  border-radius:50%;
}
.ab-shape--3{
  width:clamp(60px,8vw,140px);
  height:clamp(60px,8vw,140px);
  top:60%;
  right:20%;
  transform:rotate(15deg);
}

/* ═══ MARQUEE STRIP ═══ */
.ab-marquee{
  background:var(--dark);
  padding:clamp(24px,3vh,40px) 0;
  overflow:hidden;
  border-top:1px solid rgba(var(--gold-rgb),.1);
  border-bottom:1px solid rgba(var(--gold-rgb),.1);
  position:relative;
}
.ab-marquee-track{
  display:flex;
  width:max-content;
  animation:marqueeScroll 25s linear infinite;
  will-change:transform;
}
.ab-marquee-inner{
  display:flex;
  align-items:center;
  gap:0;
  flex-shrink:0;
}
.ab-mq-item{
  font-size:clamp(14px,1.8vw,22px);
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.12);
  padding:0 clamp(20px,3vw,40px);
  white-space:nowrap;
  transition:color .3s;
}
.ab-marquee:hover .ab-mq-item{
  color:rgba(255,255,255,.25);
}
.ab-mq-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--gold);
  opacity:.3;
  flex-shrink:0;
}
@keyframes marqueeScroll{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

/* ═══ S2: MANIFESTO — Word-by-word Scroll ═══ */
.ab-manifesto{
  position:relative;
  height:300vh;
  background:var(--white);
}
.ab-manifesto-sticky{
  position:sticky;
  top:0;
  height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:0 var(--pad);
}
.ab-manifesto-tag{
  font-size:10px;
  letter-spacing:.4em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:300;
  margin-bottom:clamp(30px,4vh,60px);
  opacity:0;
  transform:translateY(20px);
}
.ab-manifesto-text{
  max-width:860px;
  font-size:clamp(18px,2.4vw,32px);
  font-weight:300;
  line-height:1.8;
  color:rgba(var(--dark-rgb),.15);
  text-align:center;
  transition:none;
}
.ab-manifesto-text .ab-mw{
  display:inline;
  transition:color .3s ease;
  color:inherit;
}
.ab-manifesto-text .ab-mw.active{
  color:rgba(var(--dark-rgb),.85);
}
.ab-manifesto-text .ab-mw.gold{
  color:var(--gold);
}


/* ═══ S3: NUMBERS — Cinematic Stats ═══ */
.ab-numbers{
  background:var(--dark);
  padding:clamp(100px,15vh,200px) var(--pad);
  position:relative;
  overflow:hidden;
}
.ab-numbers-bg{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  overflow:hidden;
}
.ab-num-bg-text{
  font-size:clamp(200px,30vw,500px);
  font-weight:800;
  color:rgba(255,255,255,.02);
  letter-spacing:-.05em;
  white-space:nowrap;
  user-select:none;
}
.ab-numbers-grid{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:clamp(20px,4vw,60px);
  text-align:center;
  position:relative;
  z-index:2;
}
.ab-num-item{
  opacity:0;
  transform:translateY(60px);
}
.ab-num-value{
  font-size:clamp(48px,8vw,110px);
  font-weight:800;
  color:var(--light);
  line-height:1;
  display:inline;
  letter-spacing:-.04em;
}
.ab-num-plus{
  font-size:clamp(28px,4vw,60px);
  font-weight:300;
  color:var(--gold);
  display:inline;
}
.ab-num-label{
  font-family:var(--font-body);
  font-size:clamp(10px,1vw,13px);
  letter-spacing:.25em;
  text-transform:uppercase;
  color:rgba(255,255,255,.25);
  font-weight:300;
  margin-top:12px;
  line-height:1.6;
}

/* ═══ S3.5: PHILOSOPHY — Text + Image Split ═══ */
.ab-philosophy{
  background:var(--white);
  padding:clamp(100px,14vh,180px) 0;
  position:relative;
  overflow:hidden;
}
.ab-philosophy-inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 var(--pad);
  display:flex;
  align-items:center;
  gap:clamp(40px,6vw,100px);
}
.ab-philosophy-left{
  flex:1;
  opacity:0;
  transform:translateY(60px);
}
.ab-philosophy-tag{
  font-size:10px;
  letter-spacing:.4em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:300;
  display:block;
  margin-bottom:clamp(20px,3vh,40px);
}
.ab-philosophy-title{
  font-size:clamp(28px,3.5vw,48px);
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1.2;
  margin-bottom:clamp(24px,3vh,40px);
}
.ab-philosophy-gold{
  color:var(--gold);
  font-style:italic;
}
.ab-philosophy-body{
  font-family:var(--font-body);
  font-size:clamp(14px,1.2vw,17px);
  line-height:1.8;
  color:rgba(var(--dark-rgb),.55);
  font-weight:300;
  margin-bottom:20px;
}
.ab-philosophy-body em{
  color:var(--gold);
  font-style:italic;
}
.ab-philosophy-right{
  flex:0 0 clamp(280px,30vw,420px);
  opacity:0;
  transform:translateY(80px) rotate(2deg);
}
.ab-philosophy-img{
  position:relative;
}
.ab-philosophy-img-inner{
  border-radius:16px;
  overflow:hidden;
  position:relative;
  z-index:2;
}
.ab-philosophy-svg{
  width:100%;
  height:auto;
  display:block;
}
.ab-philosophy-accent{
  position:absolute;
  border:1px solid rgba(var(--gold-rgb),.15);
  border-radius:50%;
  z-index:1;
}
.ab-philosophy-accent--1{
  width:80px;height:80px;
  top:-20px;right:-20px;
  animation:philoFloat 6s ease-in-out infinite alternate;
}
.ab-philosophy-accent--2{
  width:50px;height:50px;
  bottom:-15px;left:-15px;
  animation:philoFloat 5s ease-in-out infinite alternate-reverse;
}
@keyframes philoFloat{
  0%{transform:translate(0,0) scale(1)}
  100%{transform:translate(10px,-10px) scale(1.1)}
}

/* ═══ S5.5: SHOWCASE — Process Cards ═══ */
.ab-showcase{
  background:var(--white);
  padding:clamp(80px,12vh,140px) 0;
  position:relative;
  border-top:1px solid rgba(var(--dark-rgb),.04);
}
.ab-showcase-inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 var(--pad);
}
.ab-showcase-text{
  text-align:center;
  max-width:700px;
  margin:0 auto clamp(50px,8vh,80px);
}
.ab-showcase-tag{
  font-size:10px;
  letter-spacing:.4em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:300;
  display:block;
  margin-bottom:clamp(20px,3vh,32px);
}
.ab-showcase-title{
  font-size:clamp(28px,4vw,52px);
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1.15;
  margin-bottom:clamp(20px,3vh,32px);
}
.ab-showcase-gold{
  color:var(--gold);
  font-style:italic;
}
.ab-showcase-desc{
  font-family:var(--font-body);
  font-size:clamp(14px,1.2vw,17px);
  line-height:1.8;
  color:rgba(var(--dark-rgb),.5);
  font-weight:300;
}
.ab-showcase-visual{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:clamp(16px,2vw,28px);
}
.ab-showcase-card{
  background:var(--white);
  border:1px solid rgba(var(--dark-rgb),.06);
  border-radius:16px;
  overflow:hidden;
  transition:all .6s var(--ease);
  opacity:0;
  transform:translateY(50px);
  position:relative;
}
.ab-showcase-card::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(160deg, rgba(var(--gold-rgb),.08), transparent 50%);
  opacity:0;
  transition:opacity .6s var(--ease);
}
.ab-showcase-card::after{
  content:'';
  position:absolute;
  bottom:0;left:0;
  width:0;height:2px;
  background:linear-gradient(to right, var(--gold), rgba(var(--gold-rgb),.2));
  transition:width .8s var(--ease);
}
.ab-showcase-card:hover::before{opacity:1}
.ab-showcase-card:hover::after{width:100%}
.ab-showcase-card:hover{
  border-color:rgba(var(--gold-rgb),.25);
  transform:translateY(-10px) scale(1.01);
  box-shadow:0 30px 80px rgba(0,0,0,.08), 0 0 0 1px rgba(var(--gold-rgb),.1);
}
.ab-showcase-card-inner{
  padding:clamp(24px,3vw,40px);
  position:relative;
  z-index:2;
}
.ab-sc-num{
  font-family:var(--font-body);
  font-size:clamp(36px,4vw,56px);
  font-weight:800;
  color:rgba(var(--gold-rgb),.08);
  line-height:1;
  display:block;
  margin-bottom:clamp(20px,2vh,30px);
}
.ab-showcase-card:hover .ab-sc-num{color:rgba(var(--gold-rgb),.15)}
.ab-sc-title{
  font-size:clamp(18px,1.8vw,24px);
  font-weight:700;
  letter-spacing:-.02em;
  margin-bottom:12px;
  transition:color .4s;
}
.ab-showcase-card:hover .ab-sc-title{color:var(--gold)}
.ab-sc-icon{
  width:44px;height:44px;
  color:var(--gold);
  opacity:.35;
  margin-bottom:8px;
  transition:all .5s var(--ease);
}
.ab-showcase-card:hover .ab-sc-icon{
  opacity:.7;
  transform:translateY(-3px);
}
.ab-sc-desc{
  font-family:var(--font-body);
  font-size:clamp(12px,1vw,14px);
  line-height:1.7;
  color:rgba(var(--dark-rgb),.4);
  font-weight:300;
}

/* ═══ S3.8: PILLARS — Scroll-Driven Word Split (Oroya Style) ═══ */
.ab-pillars{
  position:relative;
  height:500vh;
  background:var(--white);
}
.ab-pillars-pin{
  position:sticky;
  top:0;
  height:100vh;
  width:100%;
  overflow:hidden;
}
/* Slides: stacked via absolute, first is relative to set size.
   Flex centers the description; masks overlay via absolute. */
.ab-pillars-slide{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  will-change:transform;
}
.ab-pillars-slide:first-child{
  position:relative;
  width:100%;
  height:100%;
}
/* The word — large uppercase display type */
.ab-pillars-word{
  display:block;
  font-family:var(--font-head);
  font-size:clamp(72px,14vw,180px);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:-.04em;
  color:var(--dark);
  line-height:1;
  text-align:center;
  white-space:nowrap;
}
.ab-pillars-word.is-gold{
  color:var(--gold);
}
/*
  Mask architecture (Oroya-style):
  Both masks are absolute, centered within the flex slide.
  clip-path shows only top/bottom half.
  Description is static (centered by parent flex).
  When masks translateY apart, the gap reveals the description.
*/
.ab-pillars-mask{
  position:absolute;
  z-index:2;
  will-change:transform;
  /* Centered via GSAP xPercent/yPercent to avoid transform conflicts */
}
.ab-pillars-mask--top{
  clip-path:inset(0 0 calc(50% - 1px) 0);
}
.ab-pillars-mask--bottom{
  clip-path:inset(calc(50% - 1px) 0 0 0);
}
/* Description — static, centered by parent flex, behind masks */
.ab-pillars-desc{
  position:relative;
  z-index:1;
  max-width:520px;
  text-align:center;
  padding:0 var(--pad);
  opacity:0;
}
.ab-pillars-desc p{
  font-family:var(--font-body);
  font-size:clamp(13px,1.15vw,16px);
  line-height:1.8;
  color:rgba(29,29,27,.55);
  font-weight:300;
  margin:0;
}
/* Mobile */
@media(max-width:768px){
  .ab-pillars-word{
    font-size:clamp(44px,14vw,80px);
  }
  .ab-pillars-desc{
    max-width:88%;
    padding:0 20px;
  }
  .ab-pillars-desc p{
    font-size:12px;
    line-height:1.6;
  }
}

/* ═══ S4: OFFICES — Istanbul & Cork ═══ */
.ab-offices{
  background:var(--white);
  padding:clamp(100px,14vh,180px) 0;
  position:relative;
  overflow:hidden;
}
.ab-offices-tag{
  font-size:10px;
  letter-spacing:.4em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:300;
  text-align:center;
  display:block;
  margin-bottom:24px;
}
.ab-offices-title-wrap{
  text-align:center;
  margin-bottom:clamp(60px,8vh,100px);
  padding:0 var(--pad);
  overflow:hidden;
}
.ab-offices-title{
  font-size:clamp(36px,6vw,72px);
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1.15;
}
.ab-offices-title-line{
  display:block;
  overflow:hidden;
}
.ab-otl-inner{
  display:block;
  transform:translateY(110%);
  transition:transform 1s cubic-bezier(.16,1,.3,1);
}
.ab-otl-inner.reveal{
  transform:translateY(0);
}
.ab-offices-gold{
  color:var(--gold);
  font-style:italic;
}

.ab-offices-stage{
  display:flex;
  align-items:stretch;
  max-width:1200px;
  margin:0 auto;
  padding:0 var(--pad);
  gap:clamp(20px,3vw,40px);
}
.ab-office{
  flex:1;
  opacity:0;
  transform:translateY(60px);
}
.ab-office-inner{
  padding:clamp(30px,4vw,50px);
  border:1px solid rgba(var(--dark-rgb),.06);
  border-radius:16px;
  height:100%;
  transition:all .6s var(--ease);
  position:relative;
  overflow:hidden;
  background:var(--white);
}
.ab-office-inner::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 0%, rgba(var(--gold-rgb),.06), transparent 70%);
  opacity:0;
  transition:opacity .5s;
}
.ab-office-inner:hover::before{opacity:1}
.ab-office-inner:hover{
  border-color:rgba(var(--gold-rgb),.3);
  transform:translateY(-6px);
  box-shadow:0 30px 80px rgba(0,0,0,.06);
}
.ab-office .ab-office-tag{
  font-size:9px;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:rgba(var(--dark-rgb),.3);
  font-weight:300;
  display:block;
  margin-bottom:16px;
}
.ab-office-city{
  font-size:clamp(28px,3.5vw,48px);
  font-weight:700;
  letter-spacing:-.03em;
  margin-bottom:16px;
}
.ab-office-meta{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:16px;
}
.ab-office-tz{
  font-family:var(--font-body);
  font-size:11px;
  letter-spacing:.15em;
  color:var(--gold);
  font-weight:400;
  padding:4px 10px;
  border:1px solid rgba(var(--gold-rgb),.25);
  border-radius:100px;
}
.ab-office-time{
  font-family:'Space Grotesk',monospace;
  font-size:clamp(14px,1.4vw,18px);
  font-weight:300;
  color:var(--dark);
  letter-spacing:.05em;
  font-variant-numeric:tabular-nums;
}
.ab-office-coords{
  font-family:'Space Grotesk',monospace;
  font-size:10px;
  letter-spacing:.1em;
  color:rgba(var(--dark-rgb),.2);
  margin-bottom:20px;
}
.ab-office-desc{
  font-family:var(--font-body);
  font-size:clamp(13px,1.1vw,15px);
  line-height:1.7;
  color:rgba(var(--dark-rgb),.4);
  font-weight:300;
}

/* World map with flight path */
.ab-worldmap-wrap{
  max-width:780px;
  margin:0 auto clamp(40px,6vh,60px);
  padding:0 var(--pad);
  opacity:0;
  transform:translateY(30px);
}
.ab-worldmap-container{
  position:relative;
  width:100%;
  aspect-ratio:2/1;
}
.ab-worldmap-canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.ab-worldmap-overlay{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.ab-flight-path{
  stroke-dasharray:600;
  stroke-dashoffset:600;
}
/* Airplane engine glow pulse */
.ab-engine-glow{
  animation:enginePulse 1.2s ease-in-out infinite alternate;
}
@keyframes enginePulse{
  0%{opacity:.3;r:14}
  100%{opacity:.6;r:22}
}
.ab-city-pulse{animation:cityPulse 2.5s ease-out infinite}
.ab-city-pulse--2{animation-delay:0.8s}
.ab-city-pulse--3{animation-delay:1.6s}
@keyframes cityPulse{
  0%{r:5;opacity:1}
  100%{r:22;opacity:0}
}

/* ═══ S5: VALUES — Horizontal Scroll Pinned ═══ */
.ab-values-wrap{
  overflow:hidden;
  background:var(--dark);
  position:relative;
}
.ab-values{
  display:flex;
  align-items:center;
  min-height:100vh;
  width:max-content;
  padding:0 clamp(40px,6vw,80px);
  gap:clamp(40px,6vw,80px);
}
.ab-values-header{
  min-width:clamp(280px,25vw,400px);
  flex-shrink:0;
  padding-right:clamp(20px,4vw,60px);
}
.ab-values-tag{
  font-size:10px;
  letter-spacing:.4em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:300;
  margin-bottom:clamp(20px,3vh,40px);
  display:block;
}
.ab-values-title{
  font-size:clamp(40px,5vw,72px);
  font-weight:700;
  letter-spacing:-.03em;
  color:var(--light);
  line-height:1.1;
}
.ab-vt-gold{
  color:var(--gold);
  font-style:italic;
}
.ab-values-track{
  display:flex;
  gap:clamp(24px,3vw,40px);
  align-items:stretch;
}
.ab-vcard{
  width:clamp(300px,22vw,380px);
  flex-shrink:0;
  padding:clamp(32px,3vw,48px);
  border:1px solid rgba(255,255,255,.06);
  border-radius:16px;
  position:relative;
  overflow:hidden;
  transition:all .6s var(--ease);
  cursor:default;
  background:rgba(255,255,255,.02);
}
.ab-vcard::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(var(--gold-rgb),.06), transparent 60%);
  opacity:0;
  transition:opacity .5s;
}
.ab-vcard:hover::before{opacity:1}
.ab-vcard:hover{
  border-color:rgba(var(--gold-rgb),.25);
  transform:translateY(-8px);
  box-shadow:0 30px 80px rgba(0,0,0,.3);
}
.ab-vcard-num{
  font-family:var(--font-body);
  font-size:11px;
  letter-spacing:.15em;
  color:rgba(255,255,255,.15);
  font-weight:300;
  display:block;
  margin-bottom:clamp(20px,3vh,40px);
  transition:color .4s;
}
.ab-vcard:hover .ab-vcard-num{color:var(--gold)}
.ab-vcard-title{
  font-size:clamp(24px,2.5vw,36px);
  font-weight:700;
  letter-spacing:-.02em;
  color:var(--light);
  line-height:1.2;
  margin-bottom:clamp(16px,2vh,24px);
  transition:color .4s;
}
.ab-vcard:hover .ab-vcard-title{color:var(--gold)}
.ab-vcard-desc{
  font-family:var(--font-body);
  font-size:clamp(13px,1.1vw,15px);
  line-height:1.7;
  color:rgba(255,255,255,.3);
  font-weight:300;
}
.ab-vcard-line{
  position:absolute;
  bottom:0;
  left:0;
  width:0;
  height:2px;
  background:linear-gradient(to right, var(--gold), transparent);
  transition:width .8s var(--ease);
}
.ab-vcard:hover .ab-vcard-line{width:100%}

/* ═══ S6: TEAM — Minimal Grid ═══ */
.ab-team{
  background:var(--white);
  padding:clamp(80px,10vh,120px) 0;
}
.ab-team-tag{
  font-size:10px;
  letter-spacing:.4em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:300;
  display:block;
  margin-bottom:clamp(30px,4vh,50px);
}
.ab-team-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(24px,3vw,40px);
}
.ab-team-member{
  padding:clamp(24px,3vw,40px);
  border:1px solid rgba(var(--dark-rgb),.06);
  border-radius:12px;
  transition:all .6s var(--ease);
  opacity:0;
  transform:translateY(40px);
  position:relative;
}
.ab-team-member::before{
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  width:0;
  height:2px;
  background:var(--gold);
  transition:width .6s var(--ease);
}
.ab-team-member:hover::before{width:100%}
.ab-team-member:hover{
  border-color:rgba(var(--gold-rgb),.15);
}
.ab-tm-role{
  font-family:var(--font-body);
  font-size:10px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(var(--dark-rgb),.3);
  font-weight:300;
  display:block;
  margin-bottom:12px;
}
.ab-tm-name{
  font-size:clamp(20px,2.2vw,28px);
  font-weight:700;
  letter-spacing:-.02em;
  margin-bottom:8px;
  transition:color .4s;
  position:relative;
  display:inline-block;
}
.ab-team-member:hover .ab-tm-name{color:var(--gold)}
.ab-team-member:hover .ab-tm-role{color:rgba(var(--dark-rgb),.55)}
.ab-tm-loc{
  font-family:var(--font-body);
  font-size:11px;
  letter-spacing:.15em;
  color:rgba(var(--dark-rgb),.25);
  font-weight:300;
}
/* Photo — square, floats outside card on hover */
.ab-tm-photo{
  position:absolute;
  top:-30px;
  right:-20px;
  width:clamp(70px,7vw,100px);
  height:clamp(70px,7vw,100px);
  border-radius:10px;
  overflow:hidden;
  opacity:0;
  z-index:3;
  transform:translateY(10px) scale(.9);
  transition:opacity .35s ease, transform .4s var(--ease);
  background:
    linear-gradient(135deg,
      hsl(var(--ph-hue),25%,85%) 0%,
      hsl(var(--ph-hue),20%,75%) 50%,
      hsl(var(--ph-hue),15%,65%) 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 40px rgba(0,0,0,.1);
  pointer-events:none;
}
.ab-tm-initial{
  font-family:var(--font-head);
  font-size:clamp(22px,2.5vw,32px);
  font-weight:700;
  color:rgba(255,255,255,.6);
  letter-spacing:.05em;
  user-select:none;
}
.ab-team-member:hover .ab-tm-photo{
  opacity:1;
  transform:translateY(0) scale(1);
}

/* ═══ S7: AWARDS — Marquee + List ═══ */
.ab-awards{
  background:var(--light);
  padding:clamp(100px,14vh,180px) 0;
  overflow:hidden;
}
.ab-awards-tag{
  font-size:10px;
  letter-spacing:.4em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:300;
  display:block;
  margin-bottom:clamp(40px,6vh,60px);
}

/* Awards infinite marquee */
.ab-awards-marquee{
  margin-bottom:clamp(50px,8vh,80px);
  overflow:hidden;
  padding:clamp(20px,3vh,32px) 0;
  border-top:1px solid rgba(var(--dark-rgb),.06);
  border-bottom:1px solid rgba(var(--dark-rgb),.06);
}
.ab-awards-track{
  display:flex;
  width:max-content;
  animation:awardsScroll 40s linear infinite;
}
.ab-awards-slide{
  display:flex;
  gap:0;
  flex-shrink:0;
}
.ab-aw-item{
  display:flex;
  align-items:center;
  gap:clamp(12px,2vw,24px);
  padding:0 clamp(30px,4vw,60px);
  white-space:nowrap;
}
.ab-aw-name{
  font-size:clamp(18px,2.5vw,32px);
  font-weight:700;
  letter-spacing:-.02em;
  color:rgba(var(--dark-rgb),.15);
}
.ab-aw-sep{
  color:var(--gold);
  opacity:.3;
  font-size:clamp(14px,1.5vw,20px);
}
.ab-aw-cat{
  font-family:var(--font-body);
  font-size:clamp(12px,1.2vw,16px);
  color:rgba(var(--dark-rgb),.2);
  font-weight:300;
}
.ab-aw-year{
  font-family:var(--font-body);
  font-size:clamp(10px,1vw,13px);
  letter-spacing:.2em;
  color:rgba(var(--dark-rgb),.12);
  font-weight:300;
}
@keyframes awardsScroll{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

/* Awards static list */
.ab-awards-list{}
.ab-award{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:clamp(16px,2vw,40px);
  padding:clamp(20px,3vw,32px) 0;
  border-bottom:1px solid rgba(var(--dark-rgb),.06);
  align-items:center;
  opacity:0;
  transform:translateX(60px);
}
.ab-award:first-child{
  border-top:1px solid rgba(var(--dark-rgb),.06);
}
.ab-award-name{
  font-size:clamp(18px,2.2vw,28px);
  font-weight:700;
  letter-spacing:-.02em;
  transition:color .4s;
}
.ab-award:hover .ab-award-name{color:var(--gold)}
.ab-award-cat{
  font-family:var(--font-body);
  font-size:clamp(12px,1.1vw,15px);
  color:rgba(var(--dark-rgb),.4);
  font-weight:300;
}
.ab-award-year{
  font-family:var(--font-body);
  font-size:clamp(11px,1vw,13px);
  letter-spacing:.15em;
  color:rgba(var(--dark-rgb),.2);
  font-weight:300;
}

/* ═══ S8: CLOSING STATEMENT — Cinematic Gold ═══ */
.ab-closing{
  background:linear-gradient(160deg, #d9be7a 0%, #c4a86c 35%, #b49a6a 65%, #a08556 100%);
  min-height:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
}
.ab-closing::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 90% 80% at 20% 90%, rgba(255,255,255,.2), transparent),
    radial-gradient(ellipse 80% 60% at 80% 10%, rgba(255,255,255,.12), transparent);
  pointer-events:none;
}
/* Shimmer sweep */
.ab-closing-shimmer{
  position:absolute;
  top:0;left:-60%;
  width:40%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);
  animation:shimmerSlide 8s ease-in-out infinite;
  pointer-events:none;
  z-index:1;
}
@keyframes shimmerSlide{
  0%{left:-40%}
  100%{left:140%}
}
.ab-closing-inner{
  padding:clamp(50px,8vh,90px) var(--pad);
  text-align:center;
  position:relative;
  z-index:2;
  max-width:900px;
}
.ab-closing-headline{
  font-size:clamp(28px,5.5vw,72px);
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1.15;
  margin:0;
}
.ab-cl-line{
  display:block;
  overflow:hidden;
  color:var(--white);
}
.ab-cl-line--emph{
  color:var(--dark);
  font-style:italic;
}
.ab-cl-char{
  display:inline-block;
  opacity:0;
  transform:translateY(100%);
  transition:all .5s cubic-bezier(.16,1,.3,1);
}
.ab-cl-char.ab-cl-space{
  width:.3em;
}
.ab-cl-char.show{
  opacity:1;
  transform:translateY(0);
}
.ab-cl-char--emph{
  color:var(--dark);
  font-style:italic;
}

/* ═══ PHILOSOPHY ORBITS ═══ */
.ab-orbit{
  transform-origin:200px 250px;
}
.ab-orbit--1{animation:orbitSpin 20s linear infinite}
.ab-orbit--2{animation:orbitSpin 14s linear infinite reverse}
.ab-orbit--3{animation:orbitSpin 10s linear infinite}
@keyframes orbitSpin{
  0%{transform:rotate(0deg)}
  100%{transform:rotate(360deg)}
}
.ab-orbit-dot--1{animation:orbitDot1 20s linear infinite}
.ab-orbit-dot--2{animation:orbitDot2 14s linear infinite}
.ab-orbit-dot--3{animation:orbitDot3 10s linear infinite}
@keyframes orbitDot1{
  0%{cx:320;cy:250}25%{cx:200;cy:90}50%{cx:80;cy:250}75%{cx:200;cy:410}100%{cx:320;cy:250}
}
@keyframes orbitDot2{
  0%{cx:280;cy:250}25%{cx:200;cy:140}50%{cx:120;cy:250}75%{cx:200;cy:360}100%{cx:280;cy:250}
}
@keyframes orbitDot3{
  0%{cx:245;cy:250}25%{cx:200;cy:185}50%{cx:155;cy:250}75%{cx:200;cy:315}100%{cx:245;cy:250}
}
.ab-philo-pulse{
  animation:philoPulse 3s ease-out infinite;
}
@keyframes philoPulse{
  0%{r:6;opacity:.6}100%{r:28;opacity:0}
}

/* ═══ S8: CLOSING MINIMAL ═══ */
.ab-closing-min{
  background:var(--white);
  padding:clamp(60px,10vh,120px) var(--pad);
  text-align:center;
  position:relative;
  overflow:hidden;
}
.ab-closing-min::before{
  content:'';
  position:absolute;
  top:0;left:10%;right:10%;
  height:1px;
  background:linear-gradient(to right, transparent, rgba(var(--gold-rgb),.2), transparent);
}
.ab-closing-min-inner{
  max-width:800px;
  margin:0 auto;
}
.ab-closing-min-text{
  font-size:clamp(24px,4vw,52px);
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1.2;
  color:var(--dark);
  opacity:0;
  transform:translateY(40px);
}
.ab-closing-min-text em{
  color:var(--gold);
  font-style:italic;
}

/* ═══ RESPONSIVE ═══ */

@media(max-width:1024px){
  .ab-numbers-grid{grid-template-columns:repeat(2,1fr);gap:clamp(30px,5vw,50px)}
  .ab-team-grid{grid-template-columns:repeat(2,1fr)}
  .ab-offices-stage{flex-direction:column;gap:clamp(16px,3vw,24px);align-items:center}
  .ab-office{width:100%;max-width:500px}
  .ab-worldmap-wrap{margin-bottom:clamp(30px,5vh,50px)}
  .ab-philosophy-inner{flex-direction:column}
  .ab-philosophy-right{flex:none;width:100%;max-width:400px;margin:0 auto}
  .ab-showcase-visual{grid-template-columns:repeat(2,1fr)}

  /* Values: stack vertically on tablet */
  .ab-values-wrap{overflow:visible}
  .ab-values{
    flex-direction:column;
    width:100%;
    min-height:auto;
    padding:clamp(80px,12vh,160px) var(--pad);
    gap:clamp(40px,6vh,60px);
  }
  .ab-values-header{
    min-width:unset;
    padding-right:0;
  }
  .ab-values-track{
    flex-direction:column;
    width:100%;
  }
  .ab-vcard{
    width:100%;
  }
}

@media(max-width:768px){
  .ab-word{font-size:clamp(32px,9vw,56px)}
  .ab-hero-scroll{margin-top:32px}
  .ab-hero-bg-text{font-size:clamp(120px,25vw,200px)}
  .ab-manifesto-text{font-size:clamp(18px,4.5vw,26px)}
  .ab-manifesto{height:250vh}
  .ab-numbers-grid{grid-template-columns:repeat(2,1fr);gap:24px}
  .ab-num-value{font-size:clamp(36px,10vw,60px)}
  .ab-offices-title{font-size:clamp(28px,7vw,44px)}
  .ab-office-city{font-size:clamp(24px,6vw,36px)}
  .ab-team-grid{grid-template-columns:1fr 1fr}
  .ab-award{grid-template-columns:1fr auto;gap:8px}
  .ab-award-cat{display:none}
  .ab-closing-headline{font-size:clamp(28px,8vw,56px)}
  .ab-hero-shapes{display:none}
  .ab-showcase-visual{grid-template-columns:1fr 1fr}
  .ab-hero-line{gap:.2em}
}

@media(max-width:480px){
  .ab-word{font-size:clamp(28px,10vw,44px)}
  .ab-numbers-grid{grid-template-columns:1fr 1fr;gap:20px}
  .ab-num-value{font-size:clamp(32px,12vw,48px)}
  .ab-team-grid{grid-template-columns:1fr}
  .ab-closing-headline{font-size:clamp(24px,9vw,40px)}
  .ab-offices-stage{gap:0}
  .ab-office-inner{padding:clamp(20px,5vw,30px)}
  .ab-mq-item{font-size:12px;padding:0 16px}
  .ab-showcase-visual{grid-template-columns:1fr}
  .ab-hero-line{gap:.15em}
  .ab-philosophy-title{font-size:clamp(24px,6vw,36px)}
}

@media(prefers-reduced-motion:reduce){
  .ab-scroll-line::after{animation:none}
  .ab-map-pulse{animation:none}
  .ab-marquee-track{animation:none}
  .ab-awards-track{animation:none}
}
