:root{
  --tc-black:#04070b;
  --tc-graphite:#111923;
  --tc-navy:#0c2f42;
  --tc-blue:#1686b2;
  --tc-cyan:#42d9df;
  --tc-violet:#7760ee;
  --tc-green:#53c98c;
  --tc-amber:#e3ad4a;
  --tc-red:#dc5c67;
  --tc-white:#f5f7f7;
  --tc-paper:#eef2f2;
  --tc-ink:#1c2931;
  --tc-muted:#69757c;
  --tc-line:rgba(16,36,48,.13);
  --tc-radius-xl:32px;
  --tc-radius-lg:24px;
  --tc-radius-md:18px;
  --tc-shadow-soft:0 24px 64px rgba(3,10,16,.11);
  --tc-shadow-dark:0 34px 88px rgba(0,0,0,.30);
}

.tc-page{overflow:hidden;background:var(--tc-white);color:var(--tc-ink)}
.tc-page *{box-sizing:border-box}
.tc-page h1,.tc-page h2,.tc-page h3,.tc-page p,.tc-page span,.tc-page strong,.tc-page article,.tc-page a{min-width:0;overflow-wrap:anywhere}
.tc-shell{width:min(1180px,calc(100% - 48px));margin:0 auto}
.tc-section{position:relative;padding:124px 0}
.tc-section--paper{background:linear-gradient(180deg,#f8faf9,#eaf0f1)}
.tc-section--domains{color:#fff;background:linear-gradient(135deg,#061018,#102c3b)}
.tc-section--evidence{color:#fff;background:linear-gradient(135deg,#0a1118,#172638)}
.tc-section--stakeholders{color:#fff;background:linear-gradient(135deg,#0b2431,#174b5a)}
.tc-section--commitments{color:#fff;background:linear-gradient(135deg,#101724,#26203f)}
.tc-section--requests{background:linear-gradient(180deg,#f7f9f9,#e9eff0)}

.tc-kicker,.tc-eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--tc-blue);font-size:.74rem;font-weight:900;letter-spacing:.19em;text-transform:uppercase}
.tc-section--domains .tc-kicker,.tc-section--evidence .tc-kicker,.tc-section--stakeholders .tc-kicker,.tc-section--commitments .tc-kicker,.tc-final .tc-kicker{color:var(--tc-cyan)}
.tc-kicker::before,.tc-eyebrow::before{content:"";width:34px;height:2px;background:currentColor}
.tc-heading{max-width:960px;margin-bottom:64px}
.tc-heading--center{margin-inline:auto;text-align:center}
.tc-heading h2,.tc-intro h2,.tc-evidence-copy h2,.tc-stakeholder-layout h2,.tc-resilience h2,.tc-commitments-layout h2,.tc-final h2{margin:20px 0 0;font-size:clamp(2.2rem,4.7vw,4.9rem);line-height:1;letter-spacing:-.05em;text-wrap:balance}
.tc-heading p{color:var(--tc-muted);font-size:1.05rem;line-height:1.8}

/* Hero */
.tc-hero{position:relative;isolation:isolate;display:flex;min-height:94vh;align-items:center;padding:150px 0 100px;color:#fff;overflow:hidden;background:radial-gradient(circle at var(--tc-pointer-x,76%) var(--tc-pointer-y,42%),rgba(66,217,223,.18),transparent 25%),radial-gradient(circle at 72% 70%,rgba(119,96,238,.16),transparent 30%),linear-gradient(135deg,#020609,#0d2230)}
.tc-hero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.16;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:64px 64px;mask-image:linear-gradient(to bottom,black,transparent 94%)}
.tc-hero__grid{display:grid;grid-template-columns:1.06fr .94fr;gap:72px;align-items:center}
.tc-hero h1{margin:24px 0 28px;font-size:clamp(3rem,6vw,6.25rem);line-height:.93;letter-spacing:-.055em;text-wrap:balance}
.tc-hero p{max-width:760px;color:rgba(255,255,255,.74);font-size:1.06rem;line-height:1.78}
.tc-manifesto{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.tc-manifesto strong{padding:10px 14px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.045);font-size:.8rem;backdrop-filter:blur(12px)}
.tc-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.tc-btn{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:0 25px;border-radius:999px;font-weight:900;text-decoration:none;transition:.25s ease}
.tc-btn--primary{color:#061014;background:linear-gradient(135deg,var(--tc-cyan),var(--tc-green));box-shadow:0 14px 38px rgba(66,217,223,.20)}
.tc-btn--ghost{color:#fff;border:1px solid rgba(255,255,255,.30);background:rgba(255,255,255,.04)}
.tc-btn:hover{transform:translateY(-3px)}

.tc-hero__visual{position:relative;min-height:570px;border:1px solid rgba(255,255,255,.10);border-radius:50%;background:radial-gradient(circle,rgba(66,217,223,.06),transparent 52%),rgba(255,255,255,.015);box-shadow:inset 0 0 82px rgba(66,217,223,.05),0 30px 84px rgba(0,0,0,.24);transition:transform .25s ease}
.tc-orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(255,255,255,.14);border-radius:50%;transform:translate(-50%,-50%)}
.tc-orbit--1{width:480px;height:480px}
.tc-orbit--2{width:355px;height:355px}
.tc-orbit--3{width:240px;height:240px}
.tc-core{position:absolute;left:50%;top:50%;z-index:4;display:grid;width:176px;height:176px;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,255,255,.14),rgba(12,47,66,.24));box-shadow:0 0 90px rgba(66,217,223,.18);backdrop-filter:blur(14px)}
.tc-core img{width:118px}
.tc-core span{position:absolute;bottom:24px;font-size:.62rem;font-weight:900;letter-spacing:.18em}
.tc-node{position:absolute;width:13px;height:13px;border-radius:50%;background:currentColor;box-shadow:0 0 22px currentColor;animation:tcPulse 3.6s ease-in-out infinite}
.tc-node--1{left:9%;top:20%;color:var(--tc-cyan)}
.tc-node--2{right:8%;top:24%;color:var(--tc-violet);animation-delay:.8s}
.tc-node--3{left:12%;bottom:18%;color:var(--tc-green);animation-delay:1.6s}
.tc-node--4{right:14%;bottom:15%;color:var(--tc-amber);animation-delay:2.4s}
.tc-status{position:absolute;min-width:110px;padding:9px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.055);font-size:.72rem;font-weight:900;text-align:center;backdrop-filter:blur(12px)}
.tc-status--verified{right:2%;top:40%;color:var(--tc-green)}
.tc-status--protected{left:4%;bottom:31%;color:var(--tc-cyan)}
.tc-status--accountable{right:20%;bottom:4%;color:var(--tc-amber)}

/* Intro */
.tc-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.tc-intro__statement{padding:38px;border:1px solid var(--tc-line);border-radius:24px;background:#fff;box-shadow:var(--tc-shadow-soft)}
.tc-intro__statement p{color:var(--tc-muted);line-height:1.8}
.tc-intro__statement strong{display:block;margin-top:24px;padding-top:24px;border-top:1px solid var(--tc-line);font-size:1.22rem;line-height:1.6}

/* Domains */
.tc-domain-hub{position:relative;padding:28px;border:1px solid rgba(255,255,255,.10);border-radius:32px;background:radial-gradient(circle at 50% 50%,rgba(66,217,223,.10),transparent 42%),rgba(255,255,255,.025);box-shadow:var(--tc-shadow-dark)}
.tc-domain-hub__center{display:flex;min-height:145px;align-items:center;justify-content:center;gap:18px;margin-bottom:18px;border-radius:24px;background:linear-gradient(135deg,#123f5a,#276578);box-shadow:0 24px 56px rgba(0,0,0,.22)}
.tc-domain-hub__center img{width:118px}
.tc-domain-hub__center strong{font-size:1.2rem}
.tc-domain-hub__center span{color:rgba(255,255,255,.62);font-size:.82rem}
.tc-domain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tc-domain-card{position:relative;min-height:260px;padding:26px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.05);color:#fff;text-decoration:none;overflow:hidden;transition:.28s ease}
.tc-domain-card::after{content:"";position:absolute;left:26px;right:26px;bottom:22px;height:3px;border-radius:999px;background:linear-gradient(90deg,currentColor,transparent);opacity:.50}
.tc-domain-card>span{font-size:2.4rem;font-weight:900;opacity:.40}
.tc-domain-card small{position:absolute;right:24px;top:24px;color:rgba(255,255,255,.45);font-weight:900}
.tc-domain-card h3{margin:24px 0 10px;font-size:1.2rem}
.tc-domain-card p{color:rgba(255,255,255,.67);line-height:1.65}
.tc-domain-card b{display:block;margin-top:20px;font-size:.76rem}
.tc-domain-card--violet{color:#a89afd}
.tc-domain-card--blue{color:#70b6f0}
.tc-domain-card--cyan{color:#72e1e5}
.tc-domain-card--green{color:#7bd9a5}
.tc-domain-card--amber{color:#f0c46a}
.tc-domain-card:hover,.tc-domain-card.is-active{transform:translateY(-7px);border-color:currentColor;background:rgba(255,255,255,.075);box-shadow:0 24px 52px rgba(0,0,0,.22)}

/* Principles */
.tc-principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tc-principles article{display:grid;grid-template-columns:66px 1fr;gap:20px;min-height:170px;padding:28px;border:1px solid var(--tc-line);border-radius:20px;background:#fff;box-shadow:0 16px 40px rgba(16,36,48,.07)}
.tc-principles article>span{display:grid;width:58px;height:58px;place-items:center;border-radius:18px;background:linear-gradient(145deg,var(--tc-navy),var(--tc-blue));color:#fff;font-weight:900}
.tc-principles h3{margin:2px 0 8px}
.tc-principles p{margin:0;color:var(--tc-muted);line-height:1.7}

/* Evidence */
.tc-evidence-layout{display:grid;grid-template-columns:.66fr 1.34fr;gap:70px;align-items:center}
.tc-evidence-copy p{color:rgba(255,255,255,.68);line-height:1.8}
.tc-evidence-engine{padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:30px;background:rgba(255,255,255,.03);box-shadow:var(--tc-shadow-dark)}
.tc-evidence-engine__core{min-height:190px;padding:34px;border-radius:22px;background:linear-gradient(135deg,var(--tc-navy),var(--tc-blue))}
.tc-evidence-engine__core strong{display:block;margin:10px 0;font-size:1.6rem}
.tc-evidence-engine__core p{color:rgba(255,255,255,.72);line-height:1.7}
.tc-evidence-engine__items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.tc-evidence-engine__items button{display:grid;grid-template-columns:44px 1fr;gap:12px;min-height:78px;align-items:center;padding:15px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.04);color:#fff;text-align:left;cursor:pointer;transition:.25s ease}
.tc-evidence-engine__items button span{color:var(--tc-cyan);font-weight:900}
.tc-evidence-engine__items button:hover,.tc-evidence-engine__items button.is-active{transform:translateY(-4px);background:rgba(66,217,223,.12);border-color:rgba(66,217,223,.30)}

/* Cycle */
.tc-cycle{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tc-cycle article{position:relative;min-height:190px;padding:26px;border:1px solid var(--tc-line);border-radius:20px;background:#fff;box-shadow:0 16px 40px rgba(16,36,48,.07);overflow:hidden;transition:.25s ease}
.tc-cycle article::after{content:"";position:absolute;left:24px;right:24px;bottom:18px;height:3px;background:linear-gradient(90deg,var(--tc-cyan),transparent)}
.tc-cycle span{color:var(--tc-blue);font-weight:900}
.tc-cycle h3{margin:18px 0 8px}
.tc-cycle p{color:var(--tc-muted);line-height:1.6}
.tc-cycle article.is-active{color:#fff;transform:translateY(-6px);background:linear-gradient(135deg,var(--tc-navy),var(--tc-blue));box-shadow:0 24px 54px rgba(12,47,66,.20)}
.tc-cycle article.is-active span,.tc-cycle article.is-active p{color:#fff}

/* Stakeholders */
.tc-stakeholder-layout{display:grid;grid-template-columns:.62fr 1.38fr;gap:70px}
.tc-stakeholders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tc-stakeholders article{min-height:185px;padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.05);box-shadow:0 18px 44px rgba(0,0,0,.14)}
.tc-stakeholders span{color:var(--tc-cyan);font-weight:900}
.tc-stakeholders h3{margin:15px 0 8px}
.tc-stakeholders p{color:rgba(255,255,255,.67);line-height:1.65}

/* Resilience */
.tc-resilience{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:center}
.tc-resilience__copy p{color:var(--tc-muted);line-height:1.8}
.tc-resilience__flow{display:grid;grid-template-columns:1fr;gap:12px;padding:24px;border:1px solid var(--tc-line);border-radius:28px;background:linear-gradient(145deg,#fff,#edf3f4);box-shadow:var(--tc-shadow-soft)}
.tc-resilience__flow div{min-height:100px;padding:24px;border-radius:18px;background:linear-gradient(135deg,var(--tc-navy),var(--tc-blue));color:#fff}
.tc-resilience__flow div strong{display:block;margin-top:8px;font-size:1.22rem}
.tc-resilience__flow>span{display:flex;min-height:58px;align-items:center;justify-content:center;border:1px solid var(--tc-line);border-radius:16px;background:#fff;font-weight:900}
.tc-resilience__flow>span::after{content:"↓";margin-left:12px;color:var(--tc-blue)}

/* Commitments */
.tc-commitments-layout{display:grid;grid-template-columns:.58fr 1.42fr;gap:70px}
.tc-commitments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tc-commitments span{display:grid;grid-template-columns:46px 1fr;gap:14px;min-height:90px;align-items:center;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.05);font-weight:800}
.tc-commitments b{display:grid;width:42px;height:42px;place-items:center;border-radius:14px;background:linear-gradient(145deg,var(--tc-violet),var(--tc-blue));color:#fff}

/* Requests */
.tc-requests{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tc-requests a{display:grid;grid-template-columns:58px 1fr auto;gap:18px;min-height:150px;align-items:center;padding:24px;border:1px solid var(--tc-line);border-radius:20px;background:#fff;color:var(--tc-ink);text-decoration:none;box-shadow:0 16px 40px rgba(16,36,48,.07);transition:.25s ease}
.tc-requests a>span{display:grid;width:54px;height:54px;place-items:center;border-radius:18px;background:linear-gradient(145deg,var(--tc-navy),var(--tc-blue));color:#fff;font-weight:900}
.tc-requests h3{margin:0 0 8px}
.tc-requests p{margin:0;color:var(--tc-muted);line-height:1.6}
.tc-requests b{color:var(--tc-blue);font-size:.78rem}
.tc-requests a:hover{transform:translateY(-5px);border-color:rgba(22,134,178,.30);box-shadow:0 24px 54px rgba(16,36,48,.14)}

/* Final */
.tc-final{padding:130px 0;color:#fff;background:radial-gradient(circle at 18% 40%,rgba(66,217,223,.17),transparent 26%),radial-gradient(circle at 82% 60%,rgba(119,96,238,.14),transparent 28%),linear-gradient(135deg,#020609,#102737)}
.tc-final__panel{display:grid;grid-template-columns:minmax(220px,.45fr) minmax(0,1.55fr);gap:54px;align-items:center;padding:58px;border:1px solid rgba(255,255,255,.12);border-radius:32px;background:rgba(255,255,255,.04);box-shadow:var(--tc-shadow-dark);backdrop-filter:blur(16px)}
.tc-final__visual{position:relative;display:grid;width:min(100%,270px);aspect-ratio:1;place-items:center;margin-inline:auto;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 70px rgba(66,217,223,.15)}
.tc-final__visual div{position:absolute;border:1px solid rgba(66,217,223,.18);border-radius:50%}
.tc-final__visual div:nth-child(1){width:82%;height:82%}
.tc-final__visual div:nth-child(2){width:60%;height:60%}
.tc-final__visual div:nth-child(3){width:38%;height:38%}
.tc-final__visual img{z-index:2;width:126px}
.tc-final__copy p{color:rgba(255,255,255,.72);font-size:1.05rem;line-height:1.8}

.tc-reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}
.tc-reveal.is-visible{opacity:1;transform:none}

@keyframes tcPulse{0%,100%{transform:scale(.8);opacity:.45}50%{transform:scale(1.15);opacity:1}}

@media(max-width:1080px){
  .tc-hero__grid,.tc-intro,.tc-evidence-layout,.tc-stakeholder-layout,.tc-resilience,.tc-commitments-layout{grid-template-columns:1fr}
  .tc-domain-grid,.tc-cycle{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tc-final__panel{grid-template-columns:1fr}
}

@media(max-width:760px){
  .tc-shell{width:min(100% - 24px,1180px)}
  .tc-section{padding:84px 0}
  .tc-hero{padding:112px 0 76px}
  .tc-hero__visual{min-height:410px}
  .tc-orbit--1{width:330px;height:330px}
  .tc-orbit--2{width:250px;height:250px}
  .tc-orbit--3{width:175px;height:175px}
  .tc-core{width:126px;height:126px}
  .tc-core img{width:82px}
  .tc-core span{bottom:15px}
  .tc-domain-grid,.tc-principles,.tc-evidence-engine__items,.tc-cycle,.tc-stakeholders,.tc-commitments,.tc-requests{grid-template-columns:1fr}
  .tc-domain-hub,.tc-evidence-engine,.tc-resilience__flow,.tc-final__panel{padding:18px;border-radius:24px}
  .tc-domain-hub__center{flex-direction:column;text-align:center}
  .tc-principles article{grid-template-columns:1fr}
  .tc-requests a{grid-template-columns:54px 1fr}
  .tc-requests a b{grid-column:2}
  .tc-status--verified{right:2%;top:26%}
  .tc-status--protected{left:2%;bottom:24%}
  .tc-status--accountable{right:5%;bottom:4%}
}

@media(prefers-reduced-motion:reduce){
  .tc-node{animation:none}
  .tc-reveal{opacity:1;transform:none;transition:none}
  .tc-page *{scroll-behavior:auto!important}
}
