/* About page-specific. Shared: tn-base.css + tn-components.css */

/* ============================================================ PAGE HERO */
.tn-page-hero{position:relative; background:var(--grad-hero); overflow:hidden; padding-top:84px;}
.tn-page-hero__motif{position:absolute; inset:0; pointer-events:none;
  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:62px 62px;
  -webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 0%,#000,transparent 72%);
  mask-image:radial-gradient(ellipse 80% 80% at 50% 0%,#000,transparent 72%);}
.tn-page-hero__inner{position:relative; text-align:center; max-width:880px; margin:0 auto; padding:84px 32px 92px;}
.tn-page-hero .tn-eyebrow{margin-bottom:20px;}
.tn-page-hero h1{font-weight:800; font-size:clamp(2.4rem,4.6vw,4rem); line-height:1.04; letter-spacing:-.03em; margin-bottom:24px; text-wrap:balance;}
.tn-page-hero h1 .tn-hl{color:var(--gold);}
.tn-page-hero__lead{font-size:19px; line-height:1.62; color:var(--t-mid); margin:0 auto 34px; max-width:680px;}
.tn-cta-row{display:flex; justify-content:center; gap:14px; flex-wrap:wrap;}

/* ============================================================ STORY (impact) */
.tn-impact{position:relative; background:var(--navy-950); overflow:hidden;}
.tn-impact__glow{position:absolute; left:-140px; bottom:-160px; width:520px; height:520px; filter:blur(10px);
  background:radial-gradient(circle,rgba(39,148,252,.18),transparent 64%);}
.tn-impact__inner{position:relative; display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center;}
.tn-impact h2{font-weight:800; font-size:clamp(2.1rem,3.6vw,3.2rem); line-height:1.07; letter-spacing:-.03em; margin:18px 0 22px;}
.tn-impact h2 .tn-hl{color:var(--gold);}
.tn-impact__lead{font-size:17.5px; line-height:1.62; color:var(--t-mid); margin-bottom:18px; max-width:540px;}
.tn-impact__lead:last-of-type{margin-bottom:32px;}
.tn-proofs{display:flex; flex-direction:column; gap:14px;}
.tn-proof{display:flex; gap:18px; padding:22px 24px; background:var(--surface-1); border:1px solid var(--hairline); border-radius:20px;}
.tn-proof__icon{width:48px; height:48px; flex-shrink:0; border-radius:14px; background:var(--grad-blue);
  display:flex; align-items:center; justify-content:center;}
.tn-proof__icon .tn-i{color:#fff;}
.tn-proof h3{font-weight:800; font-size:19px; letter-spacing:-.02em; margin-bottom:5px;}
.tn-proof p{font-size:14.5px; line-height:1.55; color:var(--t-mid);}

/* ============================================================ STATS BAND */
.tn-statsband{background:var(--navy-900); padding:100px 0 0;}
.tn-statsband__inner{background:var(--grad-band); border:1px solid var(--hairline-2); border-radius:28px;
  padding:54px 48px; position:relative; overflow:hidden; box-shadow:var(--shadow-deep);}
.tn-statsband__motif{position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:44px 44px; opacity:.5;
  -webkit-mask-image:radial-gradient(ellipse 70% 120% at 90% 0%,#000,transparent 70%);
  mask-image:radial-gradient(ellipse 70% 120% at 90% 0%,#000,transparent 70%);}
.tn-statsgrid{position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:32px;}
.tn-stat{padding-left:32px; border-left:1px solid var(--hairline-2);}
.tn-stat:first-child{padding-left:0; border-left:none;}
.tn-stat__num{font-family:var(--font-display); font-weight:800; font-size:clamp(2.4rem,4vw,3.4rem); line-height:1; letter-spacing:-.03em;}
.tn-stat__label{font-family:var(--font-display); font-weight:700; font-size:16px; color:var(--gold); margin-top:12px;}
.tn-stat__sub{font-size:13.5px; color:var(--blue-soft); margin-top:3px;}

/* ============================================================ TEAM */
.tn-team{background:var(--navy-900);}
.tn-team-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px;}
.tn-tc{background:var(--surface-1); border:1px solid var(--hairline); border-radius:20px; overflow:hidden;
  transition:transform .22s var(--ease),border-color .22s var(--ease),box-shadow .22s var(--ease);}
.tn-tc:hover{transform:translateY(-4px); border-color:var(--hairline-2); box-shadow:var(--shadow-deep);}
.tn-tc__imgwrap{position:relative;}
.tn-tc__img{width:100%; height:230px; object-fit:cover;}
.tn-tc__scrim{position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg,transparent 55%,rgba(2,12,31,.55) 100%);}
.tn-tc__body{padding:20px 22px 24px;}
.tn-tc__name{font-family:var(--font-display); font-weight:800; font-size:19px; color:#fff; letter-spacing:-.02em;}
.tn-tc__role{display:inline-block; font-family:var(--font-mono); font-weight:700; font-size:11px; letter-spacing:.08em;
  text-transform:uppercase; margin-top:7px;}
.tn-tc__role--gold{color:var(--gold);} .tn-tc__role--blue{color:var(--blue-bright);}
.tn-tc__body p{font-size:14.5px; line-height:1.56; color:var(--t-mid); margin-top:12px;}

/* ============================================================ FAQ */
.tn-faq{background:var(--navy-950);}
.tn-faq-wrap{border-top:1px solid var(--hairline);}
.tn-faq-item{border-bottom:1px solid var(--hairline);}
.tn-faq-q{width:100%; display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:24px 4px; background:transparent; border:none; cursor:pointer; text-align:left;}
.tn-faq-q .q{font-family:var(--font-display); font-weight:700; font-size:19px; color:#fff; letter-spacing:-.015em;}
.tn-faq-ic{flex-shrink:0; width:34px; height:34px; border-radius:50%; background:var(--surface-2); border:1px solid var(--hairline);
  display:flex; align-items:center; justify-content:center; transition:background .2s,border-color .2s;}
.tn-faq-ic .tn-i{width:18px; height:18px;}
.tn-faq-ic .tn-ic-minus{display:none;}
.tn-faq-item.is-open .tn-faq-ic{background:var(--grad-gold); border-color:transparent; color:var(--navy-900);}
.tn-faq-item.is-open .tn-faq-ic .tn-ic-plus{display:none;}
.tn-faq-item.is-open .tn-faq-ic .tn-ic-minus{display:block;}
.tn-faq-a{overflow:hidden; max-height:0; transition:max-height .32s var(--ease);}
.tn-faq-item.is-open .tn-faq-a{max-height:340px;}
.tn-faq-a p{font-size:16px; line-height:1.62; color:var(--t-mid); margin:0; padding:0 50px 26px 4px; max-width:760px;}

/* ============================================================ RESPONSIVE */
@media (max-width:900px){
  .tn-impact__inner{grid-template-columns:1fr; gap:40px;}
  .tn-revgrid{column-count:2;}
  .tn-grid-proc{grid-template-columns:1fr 1fr;}
  .tn-step__arrow{display:none;}
}
@media (max-width:760px){
  .tn-statsgrid{grid-template-columns:1fr 1fr; gap:28px;}
  .tn-stat{border-left:none; padding-left:0;}
  .tn-cta__grid{grid-template-columns:1fr; gap:32px;}
}
@media (max-width:600px){
  .tn-section{padding:72px 0;}
  .tn-revgrid{column-count:1;}
  .tn-grid-proc{grid-template-columns:1fr;}
  .tn-cta__inner{padding:40px 28px;}
  .tn-statsband__inner{padding:40px 28px;}
}

/* ============================================================
   Host-theme integration (About) — mirrors the homepage dark-page
   treatment, scoped to body.page-template-about so other pages are
   unaffected. Brand fonts come from the site-wide fonts.css.
   ============================================================ */
.page-template-about #page.grid-container{max-width:100%;padding-left:0;padding-right:0;}
.page-template-about .site-content{padding:0;}
.page-template-about main.tn-page{width:100%;margin-left:auto;margin-right:auto;}
body.page-template-about{background-color:#031530;}
.page-template-about .site-header{background-color:transparent;position:fixed;top:0;left:0;right:0;z-index:20;
  transition:background-color .3s ease, box-shadow .3s ease, backdrop-filter .3s ease;}
.page-template-about.tn-scrolled .site-header{background-color:rgba(3,21,48,.72);
  -webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);
  box-shadow:0 1px 0 rgba(255,255,255,.10), 0 18px 40px rgba(0,0,0,.28);}
.page-template-about .main-navigation{background-color:transparent;}
.page-template-about .main-navigation ul ul{background-color:#051a3a;}
.page-template-about .main-title a,
.page-template-about .main-navigation .main-nav ul li a,
.page-template-about .main-navigation .menu-toggle,
.page-template-about .main-navigation .menu-bar-items{color:#ffffff;}
.page-template-about .main-navigation .main-nav ul li:hover > a,
.page-template-about .main-navigation .main-nav ul li.sfHover > a,
.page-template-about .main-navigation .main-nav ul li[class*="current-menu-"] > a{color:#ffc921;}
@media (max-width:768px){ .page-template-about .main-navigation .main-nav > ul{background-color:#051a3a;} }
.page-template-about .tn-header-phone{color:#ffffff;}
.page-template-about .tn-header-phone:hover{color:#ffc921;}
