:root{
  --tgm-teal:#227B7F; --tgm-teal-1:#61A9AD; --tgm-teal-2:#398B8F; --tgm-teal-3:#11666A; --tgm-teal-4:#034F53;
  --tgm-blue:#304B8D; --tgm-blue-1:#7186BB; --tgm-blue-2:#49619E; --tgm-blue-3:#1D3676; --tgm-blue-4:#0C235C;
  --tgm-gold:#D29F37; --tgm-gold-1:#FFDA8E; --tgm-gold-2:#ECBD5D; --tgm-gold-3:#AF7F1B; --tgm-gold-4:#895D04;
  --tgm-orange:#D27F37; --ink:#101718; --graphite:#2e393b; --muted:#617071; --line:#dfe8e8; --fog:#f5f8f8; --paper:#ffffff;
  --shadow:0 20px 60px rgba(3,79,83,.15); --shadow-soft:0 10px 30px rgba(16,23,24,.08);
  --radius-xl:32px; --radius-lg:22px; --radius-md:14px; --max:1220px;
  --font-heading:'Lato','Segoe UI',Arial,sans-serif;
  --font-body:'Lato','Segoe UI',Arial,sans-serif;
  --font-wordmark:'Open Sans Condensed','Arial Narrow','Lato',Arial,sans-serif;
}
html[data-theme='dark']{
  --ink:#eff7f7; --graphite:#dbe6e7; --muted:#a6b7b9; --line:#26383a; --fog:#101718; --paper:#172224;
  --shadow:0 20px 60px rgba(0,0,0,.42); --shadow-soft:0 10px 30px rgba(0,0,0,.26);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--fog);color:var(--ink);font-family:var(--font-body);line-height:1.58;overflow-x:hidden} body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none} button,input,textarea,select{font:inherit} img{max-width:100%;height:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.cursor-glow{position:fixed;left:0;top:0;width:380px;height:380px;pointer-events:none;border-radius:50%;background:radial-gradient(circle,rgba(34,123,127,.18),rgba(210,159,55,.08) 37%,transparent 70%);z-index:-1;transform:translate(-50%,-50%)}.progress-bar{position:fixed;top:0;left:0;height:4px;width:0;background:linear-gradient(90deg,var(--tgm-teal),var(--tgm-blue),var(--tgm-gold),var(--tgm-orange));z-index:10000}.container{max-width:var(--max);margin:0 auto;padding:0 26px}.section-pad{padding:104px 0}.section-compact{padding:72px 0}.surface{background:var(--paper)}.subtle{background:linear-gradient(180deg,var(--paper),var(--fog))}.text-muted{color:var(--muted)}
.site-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(223,232,232,.78);height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,3vw,42px);gap:22px}.site-header.scrolled{box-shadow:var(--shadow-soft)}html[data-theme='dark'] .site-header{background:rgba(23,34,36,.82);border-color:rgba(38,56,58,.78)}
.brand{display:inline-flex;align-items:center;gap:14px;min-width:max-content}.brand-mark{width:54px;height:54px;border-radius:17px;background:var(--tgm-teal);display:grid;place-items:center;box-shadow:var(--shadow-soft);overflow:hidden}.brand-mark img{width:77%;height:77%;object-fit:contain}.brand-lock{display:flex;flex-direction:column}.brand-name{font-family:var(--font-wordmark);font-weight:700;letter-spacing:.105em;text-transform:uppercase;color:var(--tgm-teal);font-size:28px;line-height:.92;white-space:nowrap}.brand-name span{font-weight:300;margin-left:.16em}.brand-desc{font-family:var(--font-wordmark);font-weight:300;letter-spacing:.19em;text-transform:uppercase;color:#7d898a;font-size:12px;margin-top:8px;display:flex;justify-content:space-between;gap:1.1ch;white-space:nowrap}.desktop-nav{display:flex;align-items:center;gap:4px}.nav-link{font-weight:800;font-size:14px;padding:10px 12px;border-radius:999px;color:var(--graphite)}.nav-link:hover,.nav-link.active{background:rgba(34,123,127,.10);color:var(--tgm-teal)}.header-actions{display:flex;align-items:center;gap:9px}.lang-toggle,.theme-toggle,.menu-toggle{border:1px solid var(--line);background:var(--paper);color:var(--graphite);border-radius:999px;min-height:40px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.lang-toggle{gap:6px;padding:0 11px;font-size:12px;font-weight:900}.lang-toggle b{color:var(--muted);font-weight:800}.theme-toggle{width:42px}.theme-toggle .moon{display:none}html[data-theme='dark'] .theme-toggle .sun{display:none}html[data-theme='dark'] .theme-toggle .moon{display:inline}.menu-toggle{display:none;width:42px}.menu-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.btn{border:0;border-radius:999px;padding:12px 18px;font-weight:900;display:inline-flex;align-items:center;gap:9px;justify-content:center;cursor:pointer;transition:.22s ease;white-space:nowrap}.btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.btn-primary{background:linear-gradient(135deg,var(--tgm-teal),var(--tgm-teal-4));color:white;box-shadow:0 14px 30px rgba(3,79,83,.22)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(3,79,83,.30)}.btn-secondary{background:transparent;color:var(--tgm-gold-3);border:1px solid rgba(210,159,55,.58)}.btn-secondary:hover{background:rgba(210,159,55,.10);transform:translateY(-2px)}.btn-light{background:white;color:var(--tgm-teal-4)}.btn-ghost{background:rgba(34,123,127,.10);color:var(--tgm-teal)}.btn-outline{background:transparent;color:var(--graphite);border:1px solid var(--line)}.btn-social{background:var(--paper);border:1px solid var(--line);color:var(--graphite)}.mobile-drawer{position:fixed;inset:0;z-index:9999;background:rgba(16,23,24,.42);opacity:0;pointer-events:none;transition:.2s ease}.mobile-drawer.open{opacity:1;pointer-events:auto}.mobile-drawer-panel{position:absolute;right:0;top:0;height:100%;width:min(360px,88vw);background:var(--paper);padding:22px;box-shadow:var(--shadow);transform:translateX(100%);transition:.25s ease}.mobile-drawer.open .mobile-drawer-panel{transform:translateX(0)}.drawer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;font-weight:900}.drawer-top button{border:0;background:transparent;color:var(--ink);font-size:30px;cursor:pointer}.mobile-nav{display:grid;gap:6px}.mobile-nav .nav-link{border:1px solid var(--line);padding:13px 14px}.drawer-actions{display:grid;gap:10px;margin-top:20px}.full{width:100%;min-height:46px}.quick-social{display:flex;gap:8px}.quick-social a{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:var(--paper);font-weight:900;color:var(--tgm-teal)}
.hero-section{position:relative;overflow:hidden;padding:86px 0 108px;background:radial-gradient(circle at 20% 12%,rgba(255,218,142,.28),transparent 28%),radial-gradient(circle at 90% 8%,rgba(113,134,187,.22),transparent 31%),linear-gradient(180deg,var(--paper),var(--fog))}.hero-section:after{content:'';position:absolute;right:-260px;top:20px;width:690px;height:690px;border-radius:50%;border:1px solid rgba(34,123,127,.18);pointer-events:none}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr .94fr;gap:54px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--tgm-teal);font-weight:900}.eyebrow:before{content:'';height:2px;width:42px;background:var(--tgm-gold);display:inline-block}.hero-copy h1,.page-hero h1{font-family:var(--font-heading);font-weight:900;letter-spacing:-.045em;line-height:.93;margin:20px 0 18px;font-size:clamp(52px,6.2vw,96px)}.hero-copy .accent,.page-hero .accent{color:var(--tgm-teal)}.hero-lead{font-size:clamp(17px,2vw,22px);color:var(--muted);max-width:690px;margin:0 0 28px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.trust-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.trust-pill{padding:9px 12px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.62);font-size:12px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}html[data-theme='dark'] .trust-pill{background:rgba(255,255,255,.04)}
.hero-visual{position:relative;min-height:550px}.hero-card{position:relative;border:1px solid var(--line);background:rgba(255,255,255,.76);border-radius:36px;box-shadow:var(--shadow);overflow:hidden;padding:22px;transform-style:preserve-3d}html[data-theme='dark'] .hero-card{background:rgba(23,34,36,.72)}.hero-card img.hero-dashboard{border-radius:24px;width:100%;display:block;filter:saturate(.92) contrast(.98)}.hero-logo-float{position:absolute;right:32px;top:46px;width:150px;height:150px;border-radius:36px;background:var(--tgm-teal);display:grid;place-items:center;box-shadow:var(--shadow);transform:translateZ(40px)}.hero-logo-float img{width:80%;height:80%;object-fit:contain}.stat-float{position:absolute;border:1px solid var(--line);background:var(--paper);border-radius:20px;padding:16px 18px;box-shadow:var(--shadow-soft);min-width:145px}.stat-float small{display:block;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);font-size:10px;font-weight:900}.stat-float strong{font-size:34px;line-height:1;display:block;margin-top:7px}.stat-float.one{left:-12px;bottom:68px}.stat-float.two{right:8px;bottom:10px}.hero-ribbon{position:absolute;left:38px;right:38px;bottom:34px;background:rgba(255,255,255,.84);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:20px;padding:14px 16px;display:flex;justify-content:space-between;gap:18px}.hero-ribbon b{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--tgm-teal)}.hero-ribbon span{font-size:12px;color:var(--muted)}html[data-theme='dark'] .hero-ribbon{background:rgba(23,34,36,.82)}
.section-head{max-width:860px;margin-bottom:34px}.section-head h2,.split-copy h2,.cta-inner h2{font-family:var(--font-heading);font-weight:900;letter-spacing:-.035em;line-height:.98;font-size:clamp(38px,4.2vw,68px);margin:14px 0}.lead{font-size:18px;color:var(--muted);max-width:780px}.grid{display:grid;gap:20px}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-soft);position:relative;overflow:hidden;transition:.22s ease}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card h3{font-size:25px;line-height:1.04;margin:12px 0 9px;font-weight:900;letter-spacing:-.02em}.card p{color:var(--muted);margin:0}.card ul{margin:14px 0 0;padding-left:18px;color:var(--muted)}.card li{margin:6px 0}.icon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,var(--tgm-teal),var(--tgm-teal-4));color:white;box-shadow:var(--shadow-soft)}.icon.gold{background:linear-gradient(135deg,var(--tgm-gold),var(--tgm-orange));color:#111}.icon.blue{background:linear-gradient(135deg,var(--tgm-blue),var(--tgm-blue-4))}.icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.tag{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:var(--tgm-teal);background:rgba(34,123,127,.10);border-radius:999px;padding:7px 10px}.card-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:var(--tgm-teal);font-weight:900}.split-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:50px;align-items:center}.pillar-stack{display:grid;gap:16px}.pillar{display:grid;grid-template-columns:88px 1fr auto;gap:18px;align-items:center;padding:20px;border:1px solid var(--line);border-radius:24px;background:var(--paper);box-shadow:var(--shadow-soft);transition:.22s ease}.pillar:hover{transform:translateX(5px);box-shadow:var(--shadow)}.pillar b{font-size:30px;font-weight:900;color:var(--tgm-teal)}.pillar span{color:var(--graphite);font-weight:900}.pillar small{display:block;color:var(--muted);font-weight:400;margin-top:3px}.pillar:after{content:'→';font-size:24px;color:var(--tgm-gold)}
.dashboard-section{display:grid;grid-template-columns:.78fr 1.22fr;gap:34px;align-items:center}.dashboard-card{border:1px solid var(--line);border-radius:30px;background:var(--paper);box-shadow:var(--shadow);padding:24px}.dash-top{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:18px}.dash-top b{font-weight:900}.dash-top em{font-style:normal;color:var(--tgm-teal);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.11em}.dash-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric{border:1px solid var(--line);border-radius:18px;padding:16px;background:linear-gradient(180deg,rgba(245,248,248,.55),transparent)}.metric small{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.metric strong{display:block;font-size:36px;line-height:1;margin-top:9px}.metric em{font-style:normal;color:var(--muted);font-size:12px}.dash-chart{height:180px;margin-top:16px;border:1px solid var(--line);border-radius:18px;display:flex;align-items:end;gap:12px;padding:18px;background:repeating-linear-gradient(0deg,transparent 0 35px,rgba(97,112,113,.10) 36px)}.dash-chart span{flex:1;border-radius:12px 12px 5px 5px;background:linear-gradient(180deg,var(--tgm-teal),var(--tgm-blue))}.dash-chart span:nth-child(2n){background:linear-gradient(180deg,var(--tgm-gold),var(--tgm-orange))}.page-hero{padding:76px 0 64px;background:radial-gradient(circle at 16% 18%,rgba(255,218,142,.23),transparent 24%),linear-gradient(180deg,var(--paper),var(--fog));border-bottom:1px solid var(--line)}.page-hero-grid{display:grid;grid-template-columns:.78fr .22fr;gap:24px;align-items:end}.page-mark{justify-self:end;width:180px;height:180px;border-radius:42px;background:var(--tgm-teal);display:grid;place-items:center;box-shadow:var(--shadow-soft)}.page-mark img{width:78%;height:78%;object-fit:contain}.breadcrumb{font-size:12px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.11em;margin-bottom:12px}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}.filter-btn{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:9px 14px;cursor:pointer;font-weight:900;color:var(--graphite)}.filter-btn.active{background:var(--tgm-teal);border-color:var(--tgm-teal);color:white}.portfolio-card .thumb{height:210px;border-radius:18px;background:linear-gradient(135deg,rgba(34,123,127,.16),rgba(48,75,141,.14));position:relative;overflow:hidden;margin-bottom:18px}.portfolio-card .thumb:before{content:'';position:absolute;inset:34px;border:1px solid rgba(34,123,127,.25);border-radius:16px;transform:skewY(-8deg)}.portfolio-card .thumb:after{content:'';position:absolute;right:-30px;bottom:-30px;width:150px;height:150px;border-radius:50%;background:var(--tgm-gold);opacity:.28}.portfolio-card .thumb img{position:absolute;right:18px;bottom:18px;width:100px;opacity:.18}.course-level{display:inline-flex;padding:6px 9px;border-radius:999px;background:rgba(48,75,141,.12);color:var(--tgm-blue);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;margin-bottom:12px}.insight-meta{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:900;margin-bottom:12px}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px}.contact-card{display:grid;gap:14px}.contact-link{display:flex;gap:14px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow-soft);transition:.2s}.contact-link:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.contact-link b{display:block}.contact-link span{color:var(--muted);font-size:14px}.form-card{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-field{display:grid;gap:7px}.form-field.full{grid-column:1/-1}.form-field label{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:900}.form-field input,.form-field textarea,.form-field select{border:1px solid var(--line);background:var(--fog);color:var(--ink);border-radius:14px;padding:12px 13px;outline:none}.form-field textarea{min-height:140px;resize:vertical}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--tgm-teal);box-shadow:0 0 0 4px rgba(34,123,127,.12)}.cta-band{background:linear-gradient(135deg,var(--tgm-teal-4),var(--tgm-teal));color:white;position:relative;overflow:hidden}.cta-band:before{content:'';position:absolute;width:520px;height:520px;border-radius:50%;right:-180px;top:-220px;border:70px solid rgba(255,255,255,.12)}.cta-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px}.cta-inner h2{color:white;max-width:780px}.cta-actions{display:flex;gap:10px;flex-wrap:wrap}.site-footer{background:var(--tgm-teal-4);color:white;padding:58px 0 0}.footer-grid{max-width:var(--max);margin:0 auto;padding:0 26px 44px;display:grid;grid-template-columns:1.25fr .7fr .7fr .9fr;gap:34px}.footer-grid p{color:rgba(255,255,255,.72);margin:18px 0 0}.footer-grid h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.64);margin:0 0 13px}.footer-grid a:not(.brand){display:block;color:rgba(255,255,255,.78);padding:5px 0}.footer-grid a:hover{color:white}.footer-brand .brand-name{color:white}.footer-brand .brand-desc{color:rgba(255,255,255,.66)}.footer-brand .brand-mark{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22)}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding:18px 26px;max-width:var(--max);margin:0 auto;display:flex;justify-content:space-between;gap:16px;color:rgba(255,255,255,.62);font-size:13px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.in-view{opacity:1;transform:none}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:var(--ink);color:var(--paper);border-radius:999px;padding:12px 16px;font-weight:900;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.25s;z-index:10001}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:1100px){.desktop-nav{display:none}.menu-toggle{display:inline-flex}.header-cta{display:none}.hero-grid,.split-grid,.dashboard-section,.contact-grid,.page-hero-grid{grid-template-columns:1fr}.hero-visual{min-height:auto}.page-mark{display:none}.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.site-header{height:78px}.brand-name{font-size:24px}.brand-desc{font-size:10px}}
@media(max-width:740px){.container{padding:0 18px}.site-header{padding:0 14px}.brand-mark{width:46px;height:46px;border-radius:15px}.brand-name{font-size:22px}.brand-desc{display:none}.section-pad{padding:74px 0}.section-compact{padding:56px 0}.hero-section{padding:52px 0 72px}.hero-copy h1,.page-hero h1{font-size:49px}.hero-card{border-radius:26px;padding:12px}.hero-logo-float{width:95px;height:95px;border-radius:24px;right:22px;top:26px}.stat-float{position:relative;left:auto!important;right:auto!important;bottom:auto!important;margin-top:12px;display:inline-block}.hero-ribbon{position:relative;left:auto;right:auto;bottom:auto;margin-top:12px;display:grid}.dash-metrics,.cols-2,.cols-3,.cols-4,.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.pillar{grid-template-columns:1fr}.pillar:after{display:none}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.cta-inner{display:block}.cta-actions{margin-top:20px}.hero-actions .btn,.cta-actions .btn{width:100%}.header-actions .lang-toggle,.header-actions .theme-toggle{display:none}.page-hero{padding:52px 0}.quick-social{display:none}}
@media print{.site-header,.mobile-drawer,.cursor-glow,.progress-bar,.cta-band,.site-footer{display:none!important}.section-pad,.page-hero{padding:32px 0}.card,.dashboard-card{box-shadow:none}.reveal{opacity:1;transform:none}}


/* --- TGM v4 refinements: official header logo, stable bilingual nav, icons, typography, refined hero --- */
body{font-weight:400;}
.site-header{height:78px;display:grid;grid-template-columns:minmax(260px,420px) minmax(520px,1fr) auto;align-items:center;padding:0 clamp(18px,2.5vw,34px);gap:22px;}
.brand-official{min-width:0;display:flex;align-items:center;gap:0;}
.brand-logo-img{display:block;width:min(360px,23vw);max-width:380px;min-width:245px;height:auto;object-fit:contain;}
.desktop-nav{justify-content:center;gap:2px;min-width:0;}
.nav-link{width:84px;text-align:center;font-weight:700;font-size:14px;padding:10px 4px;line-height:1;}
.header-actions{justify-self:end;flex-shrink:0;}
.header-cta{min-width:178px;}
.quick-social{display:flex;gap:8px;flex-shrink:0;}
.quick-social a{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:var(--paper);font-weight:700;color:var(--tgm-teal);transition:.2s ease;}
.quick-social a:hover{background:rgba(34,123,127,.10);border-color:rgba(34,123,127,.22);transform:translateY(-2px);}
.social-icon{width:20px;height:20px;display:block;fill:currentColor;}
.social-icon rect,.social-icon circle{fill:none;stroke:currentColor;}
.social-icon circle:last-child{fill:currentColor;stroke:none;}
.lang-toggle{position:relative;width:78px;height:40px;padding:3px;gap:0;border-radius:999px;background:var(--fog);justify-content:space-between;overflow:hidden;}
.lang-toggle .lang-option{position:relative;z-index:2;display:grid;place-items:center;width:34px;height:32px;border-radius:999px;font-size:12px;font-weight:700;color:var(--muted);transition:.2s ease;}
.lang-toggle .lang-option.active{background:var(--tgm-teal);color:#fff;box-shadow:0 5px 16px rgba(3,79,83,.20);}
.lang-toggle.full{width:100%;height:46px;padding:4px;justify-content:center;gap:4px;}
.lang-toggle.full .lang-option{width:48%;height:36px;}
.theme-toggle{flex-shrink:0;}
.hero-section-refined{padding:82px 0 96px;min-height:calc(100vh - 78px);display:flex;align-items:center;}
.hero-section-refined .hero-grid{grid-template-columns:minmax(0,.92fr) minmax(460px,.88fr);gap:58px;}
.hero-copy h1,.page-hero h1{font-family:var(--font-heading);font-weight:700;letter-spacing:-.03em;line-height:.96;font-size:clamp(46px,5.1vw,78px);max-width:760px;}
.section-head h2,.split-copy h2,.cta-inner h2,.card h3{font-family:var(--font-heading);font-weight:700;letter-spacing:-.02em;}
.hero-lead,.lead,.card p,.footer-grid p,.contact-link span,.form-field input,.form-field textarea,.form-field select{font-weight:400;}
.hero-visual-clean{min-height:470px;display:grid;place-items:center;}
.hero-device{position:relative;width:100%;max-width:620px;border:1px solid var(--line);background:rgba(255,255,255,.78);border-radius:34px;box-shadow:var(--shadow);padding:24px;overflow:hidden;backdrop-filter:blur(12px);}
html[data-theme='dark'] .hero-device{background:rgba(23,34,36,.78);}
.hero-device:before{content:'';position:absolute;right:-180px;top:-180px;width:420px;height:420px;border-radius:50%;border:1px solid rgba(34,123,127,.18);}
.device-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;position:relative;z-index:2;}
.device-top img{width:170px;height:auto;object-fit:contain;}
.device-top span{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:700;white-space:nowrap;}
.device-main{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:stretch;position:relative;z-index:2;}
.model-window{min-height:220px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,rgba(34,123,127,.10),rgba(48,75,141,.08));position:relative;overflow:hidden;}
.model-window:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(34,123,127,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(34,123,127,.08) 1px,transparent 1px);background-size:26px 26px;}
.building-wire{position:absolute;inset:44px 54px 38px 48px;border:2px solid rgba(34,123,127,.42);transform:skewY(-10deg);}
.building-wire span{position:absolute;left:-18px;right:-18px;height:2px;background:rgba(48,75,141,.30);}
.building-wire span:nth-child(1){top:24%}.building-wire span:nth-child(2){top:48%}.building-wire span:nth-child(3){top:72%}.building-wire span:nth-child(4){left:32%;top:-18px;bottom:-18px;width:2px;height:auto;background:rgba(210,159,55,.42);}
.monogram-panel{min-height:220px;border-radius:28px;background:linear-gradient(135deg,var(--tgm-teal),var(--tgm-teal-4));display:grid;place-items:center;box-shadow:var(--shadow-soft);}
.monogram-panel img{width:72%;height:72%;object-fit:contain;}
.workflow-row{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;}
.workflow-row div{border:1px solid var(--line);background:var(--paper);border-radius:18px;padding:14px;}
.workflow-row b{display:block;color:var(--tgm-gold);font-size:12px;letter-spacing:.12em;margin-bottom:5px;}
.workflow-row span{font-size:13px;font-weight:700;color:var(--graphite);}
.stat-float.one{left:-22px;bottom:38px}.stat-float.two{right:-6px;bottom:-12px}
.footer-address{font-size:13px;line-height:1.55;color:rgba(255,255,255,.72);margin:12px 0 0!important;}
.footer-address strong{color:#fff;}
.contact-link i{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:rgba(34,123,127,.10);color:var(--tgm-teal);font-style:normal;font-weight:700;flex:0 0 auto;}
@media(max-width:1180px){.site-header{grid-template-columns:minmax(240px,330px) 1fr auto}.brand-logo-img{width:300px;min-width:220px}.desktop-nav{display:none}.menu-toggle{display:inline-flex}.header-cta{min-width:auto}.hero-section-refined .hero-grid{grid-template-columns:1fr;}.hero-visual-clean{min-height:420px}.hero-device{max-width:720px}.stat-float.one{left:18px}.stat-float.two{right:18px}}
@media(max-width:740px){.site-header{display:flex;height:74px}.brand-logo-img{width:244px;min-width:0}.header-actions .quick-social,.header-actions .lang-toggle,.header-actions .theme-toggle,.header-actions .header-cta{display:none}.hero-section-refined{padding:46px 0 66px;min-height:auto}.hero-copy h1,.page-hero h1{font-size:44px;letter-spacing:-.025em}.device-top{display:block}.device-top img{width:154px;margin-bottom:10px}.device-top span{display:block;white-space:normal}.device-main{grid-template-columns:1fr}.workflow-row{grid-template-columns:1fr}.hero-visual-clean{min-height:auto}.hero-device{border-radius:26px;padding:16px}.stat-float{display:none!important}}
@media(max-width:420px){.brand-logo-img{width:205px}.site-header{padding:0 12px}.hero-copy h1,.page-hero h1{font-size:38px}}

/* --- TGM v5: refined subpage hero headers --- */
.page-hero.page-hero-refined{
  position:relative;
  overflow:hidden;
  padding:78px 0 72px;
  background:
    radial-gradient(circle at 12% 20%, rgba(255,218,142,.22), transparent 26%),
    radial-gradient(circle at 88% 10%, rgba(113,134,187,.16), transparent 28%),
    linear-gradient(180deg,var(--paper),var(--fog));
}
.page-hero.page-hero-refined:before{
  content:''; position:absolute; inset:auto auto -80px -120px; width:420px; height:420px; border-radius:50%;
  background:radial-gradient(circle, rgba(34,123,127,.07), transparent 70%); filter:blur(10px); pointer-events:none;
}
.page-hero-shell{
  position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,.9fr) minmax(380px,.8fr); gap:44px; align-items:center;
}
.page-hero-copy{max-width:760px}
.page-kicker{font-size:12px; color:var(--muted); font-weight:900; text-transform:uppercase; letter-spacing:.14em; margin-bottom:12px;}
.page-hero-copy .eyebrow{margin-bottom:8px}
.page-hero-copy h1{margin:18px 0 20px; max-width:820px}
.page-hero-copy .hero-lead{max-width:720px; margin-bottom:22px}
.page-hero-meta{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px}
.page-hero-meta .meta-pill{display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:999px; border:1px solid var(--line); background:rgba(255,255,255,.66); font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; color:var(--muted)}
.page-hero-meta .meta-pill:before{content:''; width:7px; height:7px; border-radius:50%; background:linear-gradient(135deg,var(--tgm-teal),var(--tgm-gold));}
html[data-theme='dark'] .page-hero-meta .meta-pill{background:rgba(255,255,255,.04)}
.page-hero-visual{position:relative; min-height:420px; display:grid; place-items:center}
.page-hero-orbit{position:absolute; border:1px solid rgba(34,123,127,.17); border-radius:50%; pointer-events:none; animation:orbitFloat 8s ease-in-out infinite;}
.page-hero-orbit.orbit-a{width:420px; height:420px; right:-38px; top:-10px}
.page-hero-orbit.orbit-b{width:300px; height:300px; left:30px; bottom:-30px; animation-duration:11s; animation-direction:reverse}
.page-hero-orbit.orbit-c{width:180px; height:180px; right:30px; bottom:10px; opacity:.55; animation-duration:6.8s}
.page-hero-stage{position:relative; width:100%; max-width:560px; border:1px solid var(--line); border-radius:34px; background:rgba(255,255,255,.8); box-shadow:var(--shadow); padding:22px; overflow:hidden; backdrop-filter:blur(12px)}
html[data-theme='dark'] .page-hero-stage{background:rgba(23,34,36,.8)}
.page-hero-stage:before{content:''; position:absolute; inset:-1px; background:linear-gradient(135deg, rgba(34,123,127,.09), transparent 36%, rgba(48,75,141,.08) 66%, transparent 100%); pointer-events:none}
.stage-top{position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:16px}
.stage-top img{width:170px; height:auto; object-fit:contain}
.stage-label{font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.14em; color:var(--muted); text-align:right}
.stage-main{position:relative; z-index:2; display:grid; grid-template-columns:1.06fr .94fr; gap:18px; align-items:stretch}
.signal-panel{min-height:218px; border:1px solid var(--line); border-radius:24px; background:linear-gradient(135deg, rgba(34,123,127,.10), rgba(48,75,141,.08)); padding:18px; position:relative; overflow:hidden}
.signal-panel:before{content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(34,123,127,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(34,123,127,.07) 1px, transparent 1px); background-size:24px 24px; opacity:.9}
.signal-panel .core{position:absolute; inset:26px 30px 34px 26px; border:2px solid rgba(34,123,127,.42); transform:skewY(-8deg);}
.signal-panel .core span{position:absolute; left:-18px; right:-18px; height:2px; background:rgba(48,75,141,.26); animation:signalSweep 4.8s ease-in-out infinite}
.signal-panel .core span:nth-child(1){top:24%}
.signal-panel .core span:nth-child(2){top:48%; animation-delay:.5s}
.signal-panel .core span:nth-child(3){top:72%; animation-delay:1s}
.signal-panel .core span:nth-child(4){left:35%; top:-16px; bottom:-16px; width:2px; height:auto; background:rgba(210,159,55,.44); animation:none}
.signal-caption{position:absolute; left:18px; bottom:16px; right:18px; display:flex; justify-content:space-between; gap:10px; align-items:flex-end}
.signal-caption strong{display:block; font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:var(--tgm-teal)}
.signal-caption span{display:block; font-size:12px; color:var(--muted)}
.monogram-stage{min-height:218px; border-radius:28px; background:linear-gradient(135deg,var(--tgm-teal),var(--tgm-teal-4)); box-shadow:var(--shadow-soft); display:grid; place-items:center; position:relative; overflow:hidden}
.monogram-stage:before,.monogram-stage:after{content:''; position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.18)}
.monogram-stage:before{width:180px; height:180px; right:-54px; top:-54px}
.monogram-stage:after{width:120px; height:120px; left:-36px; bottom:-36px}
.monogram-stage img{width:70%; height:70%; object-fit:contain; position:relative; z-index:2; animation:badgeFloat 5.5s ease-in-out infinite}
.stage-bottom{position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:18px}
.hero-mini{border:1px solid var(--line); border-radius:18px; background:var(--paper); padding:14px 14px 15px; box-shadow:var(--shadow-soft); min-height:84px}
html[data-theme='dark'] .hero-mini{background:rgba(255,255,255,.03)}
.hero-mini small{display:block; font-size:11px; font-weight:900; letter-spacing:.12em; color:var(--tgm-gold); text-transform:uppercase; margin-bottom:8px}
.hero-mini strong{display:block; font-size:15px; line-height:1.2; color:var(--ink)}
.hero-mini span{display:block; font-size:12px; color:var(--muted); margin-top:4px}
@keyframes orbitFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes signalSweep{0%,100%{transform:translateX(0);opacity:.38}50%{transform:translateX(8px);opacity:.85}}
@keyframes badgeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(max-width:1100px){
  .page-hero-shell{grid-template-columns:1fr; gap:28px}
  .page-hero-visual{min-height:auto}
  .page-hero-stage{max-width:720px}
}
@media(max-width:740px){
  .page-hero.page-hero-refined{padding:52px 0 54px}
  .page-hero-copy h1{margin:16px 0 16px}
  .page-hero-meta{gap:8px}
  .page-hero-stage{padding:16px; border-radius:26px}
  .stage-top{display:block}
  .stage-top img{width:156px; margin-bottom:10px}
  .stage-label{text-align:left}
  .stage-main{grid-template-columns:1fr}
  .stage-bottom{grid-template-columns:1fr}
  .page-hero-orbit{display:none}
}

/* --- TGM v6: home hero simplified + interactive animated background --- */
.hero-section-v6{position:relative;overflow:hidden;min-height:calc(100vh - 78px);display:flex;align-items:center;padding:84px 0 100px;background:linear-gradient(180deg,var(--paper),var(--fog));}
.hero-section-v6 .container{position:relative;z-index:3}
.hero-grid-v6{grid-template-columns:minmax(0,.9fr) minmax(360px,.7fr);gap:48px;align-items:center}
.hero-interactive-bg{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;background:
  radial-gradient(circle at 12% 16%, rgba(255,218,142,.25), transparent 26%),
  radial-gradient(circle at 88% 10%, rgba(113,134,187,.18), transparent 28%),
  linear-gradient(180deg,var(--paper),var(--fog));}
.hero-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:.95}
.hero-ring,.hero-blob{position:absolute;pointer-events:none}
.hero-ring{border-radius:50%;border:1px solid rgba(34,123,127,.15);animation:heroRingFloat 14s ease-in-out infinite}
.hero-ring.ring-1{width:760px;height:760px;right:-250px;top:-80px}
.hero-ring.ring-2{width:500px;height:500px;right:10%;bottom:-170px;animation-duration:18s;animation-direction:reverse}
.hero-ring.ring-3{width:260px;height:260px;left:-120px;top:120px;animation-duration:11s}
.hero-blob{filter:blur(40px);opacity:.35;border-radius:50%;animation:heroBlobPulse 9s ease-in-out infinite}
.hero-blob.blob-1{width:260px;height:260px;right:18%;top:18%;background:rgba(34,123,127,.18)}
.hero-blob.blob-2{width:220px;height:220px;left:10%;bottom:10%;background:rgba(210,159,55,.16);animation-duration:12s}
.hero-visual-v6{position:relative;min-height:440px;display:grid;place-items:center}
.hero-brand-sphere{position:relative;width:min(420px,86%);aspect-ratio:1/1;display:grid;place-items:center}
.sphere-core{position:relative;z-index:2;width:68%;aspect-ratio:1/1;border-radius:34px;background:linear-gradient(135deg,var(--tgm-teal),var(--tgm-teal-4));box-shadow:0 28px 70px rgba(3,79,83,.25), inset 0 1px 0 rgba(255,255,255,.18);display:grid;place-items:center;animation:sphereFloat 6.5s ease-in-out infinite}
.sphere-core:before{content:'';position:absolute;inset:-24px;border-radius:42px;border:1px solid rgba(34,123,127,.18)}
.sphere-core img{width:70%;height:70%;object-fit:contain}
.orbit-line{position:absolute;inset:8% 8%;border-radius:50%;border:1px dashed rgba(48,75,141,.16);animation:orbitRotate 20s linear infinite}
.orbit-line.line-b{inset:20% 0 0 20%;border-color:rgba(34,123,127,.18);animation-duration:26s;animation-direction:reverse}
.orbit-dot{position:absolute;width:16px;height:16px;border-radius:50%;box-shadow:0 8px 20px rgba(16,23,24,.12)}
.orbit-dot.dot-a{left:10%;top:24%;background:var(--tgm-gold);animation:dotFloatA 7s ease-in-out infinite}
.orbit-dot.dot-b{right:16%;top:12%;background:var(--tgm-blue);animation:dotFloatB 9s ease-in-out infinite}
.orbit-dot.dot-c{right:8%;bottom:18%;background:var(--tgm-teal);animation:dotFloatC 8s ease-in-out infinite}
.hero-side-label{position:absolute;z-index:3;padding:10px 16px;border:1px solid var(--line);background:rgba(255,255,255,.78);backdrop-filter:blur(12px);border-radius:999px;color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;box-shadow:var(--shadow-soft)}
html[data-theme='dark'] .hero-side-label{background:rgba(23,34,36,.78)}
.hero-side-label.label-a{left:8%;top:16%;animation:sideLabelFloat 7.5s ease-in-out infinite}
.hero-side-label.label-b{right:4%;bottom:14%;animation:sideLabelFloat 9s ease-in-out infinite reverse}
@keyframes heroRingFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes heroBlobPulse{0%,100%{transform:scale(1);opacity:.28}50%{transform:scale(1.08);opacity:.42}}
@keyframes sphereFloat{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-10px) rotate(.6deg)}}
@keyframes orbitRotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes dotFloatA{0%,100%{transform:translate(0,0)}50%{transform:translate(18px,-10px)}}
@keyframes dotFloatB{0%,100%{transform:translate(0,0)}50%{transform:translate(-12px,16px)}}
@keyframes dotFloatC{0%,100%{transform:translate(0,0)}50%{transform:translate(-16px,-14px)}}
@keyframes sideLabelFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:1180px){.hero-grid-v6{grid-template-columns:1fr;gap:30px}.hero-visual-v6{min-height:340px}.hero-side-label.label-a{left:16%}.hero-side-label.label-b{right:14%}}
@media(max-width:740px){.hero-section-v6{min-height:auto;padding:52px 0 72px}.hero-grid-v6{gap:22px}.hero-visual-v6{min-height:280px}.hero-brand-sphere{width:min(320px,84vw)}.hero-side-label{font-size:11px;padding:9px 12px}.hero-ring.ring-1{width:520px;height:520px;right:-220px;top:-70px}.hero-ring.ring-2{width:320px;height:320px;right:-40px;bottom:-90px}.hero-ring.ring-3{display:none}.hero-blob.blob-1{width:180px;height:180px}.hero-blob.blob-2{width:160px;height:160px}}

/* --- TGM v7: apply interactive animated hero to all pages, remove large logo/card hero visual --- */
.hero-section-v7,.page-hero-v7{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--paper),var(--fog));}
.hero-section-v7{min-height:calc(100vh - 78px);display:flex;align-items:center;padding:84px 0 100px;}
.page-hero-v7{padding:78px 0 76px;border-bottom:1px solid var(--line);}
.hero-section-v7 .container,.page-hero-v7 .container{position:relative;z-index:3;}
.hero-grid-v7,.page-hero-shell-v7{display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,.72fr);gap:54px;align-items:center;}
.hero-interactive-bg{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;background:
  radial-gradient(circle at 14% 18%,rgba(255,218,142,.24),transparent 27%),
  radial-gradient(circle at 88% 12%,rgba(113,134,187,.18),transparent 30%),
  radial-gradient(circle at 7% 88%,rgba(34,123,127,.10),transparent 23%),
  linear-gradient(180deg,var(--paper),var(--fog));}
.hero-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:.86;}
.hero-ring,.hero-blob{position:absolute;pointer-events:none;}
.hero-ring{border-radius:50%;border:1px solid rgba(34,123,127,.14);animation:heroRingFloat 14s ease-in-out infinite;}
.hero-ring.ring-1{width:760px;height:760px;right:-250px;top:-100px;}
.hero-ring.ring-2{width:520px;height:520px;right:7%;bottom:-190px;animation-duration:18s;animation-direction:reverse;}
.hero-ring.ring-3{width:280px;height:280px;left:-120px;top:90px;animation-duration:12s;}
.hero-blob{filter:blur(42px);opacity:.34;border-radius:50%;animation:heroBlobPulse 9s ease-in-out infinite;}
.hero-blob.blob-1{width:270px;height:270px;right:19%;top:18%;background:rgba(34,123,127,.16);}
.hero-blob.blob-2{width:220px;height:220px;left:10%;bottom:10%;background:rgba(210,159,55,.15);animation-duration:12s;}
.hero-lattice-visual{position:relative;min-height:410px;display:grid;place-items:center;}
.lattice-card{position:relative;width:min(520px,100%);height:360px;border:1px solid rgba(34,123,127,.18);border-radius:34px;background:linear-gradient(135deg,rgba(255,255,255,.56),rgba(255,255,255,.18));box-shadow:var(--shadow);backdrop-filter:blur(10px);overflow:hidden;}
html[data-theme='dark'] .lattice-card{background:linear-gradient(135deg,rgba(23,34,36,.72),rgba(23,34,36,.32));}
.lattice-card:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(34,123,127,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(34,123,127,.07) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(circle at center,black,transparent 72%);}
.lattice-card:after{content:'';position:absolute;width:180px;height:180px;right:-58px;top:-58px;border:36px solid rgba(210,159,55,.16);border-radius:50%;}
.lattice-lines{position:absolute;inset:28px;width:calc(100% - 56px);height:calc(100% - 56px);overflow:visible;}
.lattice-lines path{fill:none;stroke:rgba(34,123,127,.33);stroke-width:2;stroke-linecap:round;animation:latticeDash 8s linear infinite;stroke-dasharray:9 10;}
.lattice-lines path:nth-child(2){stroke:rgba(48,75,141,.26);animation-duration:10s;animation-direction:reverse;}
.lattice-lines path:nth-child(3){stroke:rgba(210,159,55,.30);animation-duration:12s;}
.lattice-lines circle{fill:var(--tgm-teal);stroke:white;stroke-width:3;filter:drop-shadow(0 8px 14px rgba(3,79,83,.18));}
.lattice-lines circle:nth-of-type(2n){fill:var(--tgm-blue);}
.lattice-lines circle:nth-of-type(3n){fill:var(--tgm-gold);}
.lattice-grid{position:absolute;inset:48px 62px;transform:skewY(-8deg);border:2px solid rgba(34,123,127,.34);border-radius:18px;opacity:.62;}
.lattice-grid span{position:absolute;left:-18px;right:-18px;height:2px;background:rgba(48,75,141,.22);animation:signalSweep 4.8s ease-in-out infinite;}
.lattice-grid span:nth-child(1){top:24%;}.lattice-grid span:nth-child(2){top:48%;animation-delay:.5s;}.lattice-grid span:nth-child(3){top:72%;animation-delay:1s;}.lattice-grid span:nth-child(4){left:38%;top:-16px;bottom:-16px;width:2px;height:auto;background:rgba(210,159,55,.44);animation:none;}
.lattice-pill{position:absolute;z-index:3;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.82);backdrop-filter:blur(14px);box-shadow:var(--shadow-soft);font-size:12px;font-weight:900;letter-spacing:.12em;color:var(--muted);}
html[data-theme='dark'] .lattice-pill{background:rgba(23,34,36,.82);}
.lattice-pill.pill-a{left:26px;top:30px;animation:sideLabelFloat 7s ease-in-out infinite;}
.lattice-pill.pill-b{right:26px;bottom:38px;animation:sideLabelFloat 9s ease-in-out infinite reverse;}
.lattice-pill.pill-c{left:50%;bottom:25px;transform:translateX(-50%);animation:latticeCenterFloat 8s ease-in-out infinite;}
.lattice-node{position:absolute;border-radius:50%;z-index:2;box-shadow:0 12px 28px rgba(16,23,24,.13);}
.lattice-node.node-a{width:14px;height:14px;left:26%;top:22%;background:var(--tgm-gold);animation:dotFloatA 7s ease-in-out infinite;}
.lattice-node.node-b{width:18px;height:18px;right:20%;top:22%;background:var(--tgm-blue);animation:dotFloatB 9s ease-in-out infinite;}
.lattice-node.node-c{width:13px;height:13px;left:55%;bottom:18%;background:var(--tgm-teal);animation:dotFloatC 8s ease-in-out infinite;}
/* Explicitly remove old large-logo hero elements when cached CSS/HTML overlaps */
.hero-device,.hero-brand-sphere,.page-hero-stage,.monogram-stage,.monogram-panel,.page-mark,.stat-float{display:none!important;}
@keyframes latticeDash{to{stroke-dashoffset:-120;}}
@keyframes latticeCenterFloat{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-8px)}}
@media(max-width:1100px){.hero-grid-v7,.page-hero-shell-v7{grid-template-columns:1fr;gap:30px}.hero-lattice-visual{min-height:320px}.lattice-card{height:310px;max-width:680px}.page-hero-v7{padding:58px 0 64px}}
@media(max-width:740px){.hero-section-v7{min-height:auto;padding:52px 0 72px}.page-hero-v7{padding:48px 0 54px}.hero-grid-v7,.page-hero-shell-v7{gap:22px}.hero-lattice-visual{min-height:250px}.lattice-card{height:238px;border-radius:26px}.lattice-pill{font-size:10px;padding:8px 10px}.lattice-pill.pill-c{display:none}.lattice-grid{inset:44px 44px}.hero-ring.ring-1{width:520px;height:520px;right:-230px;top:-80px}.hero-ring.ring-2{width:330px;height:330px;right:-40px;bottom:-90px}.hero-ring.ring-3{display:none}.hero-blob.blob-1{width:180px;height:180px}.hero-blob.blob-2{width:160px;height:160px}}
/* --- TGM v8: stabilized compact header + photographic homepage hero --- */
body.header-preview-final{--tgm-header-h:76px;}
body.header-preview-final .site-header.header-v8-final{
  position:sticky;top:0;left:0;right:0;z-index:9999;
  box-sizing:border-box;height:var(--tgm-header-h);min-height:var(--tgm-header-h);max-height:var(--tgm-header-h);
  display:grid;grid-template-columns:80px minmax(520px,1fr) auto;align-items:center;
  padding:0 clamp(18px,2.4vw,34px);gap:18px;overflow:hidden;
  background:rgba(255,255,255,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(223,232,232,.82);box-shadow:none;
}
html[data-theme='dark'] body.header-preview-final .site-header.header-v8-final{background:rgba(23,34,36,.92);border-color:rgba(38,56,58,.82);}
body.header-preview-final .site-header.header-v8-final.scrolled{box-shadow:0 10px 30px rgba(16,23,24,.07);}
html[data-theme='dark'] body.header-preview-final .site-header.header-v8-final.scrolled{box-shadow:0 10px 30px rgba(0,0,0,.26);}
body.header-preview-final .site-header.header-v8-final .brand-monogram-only{width:58px;min-width:58px;max-width:58px;height:var(--tgm-header-h);display:flex;align-items:center;justify-content:flex-start;padding:0;margin:0;overflow:hidden;line-height:0;}
body.header-preview-final .site-header.header-v8-final .brand-logo-img.monogram-only-header{width:48px;height:48px;min-width:48px;max-width:48px;min-height:48px;max-height:48px;object-fit:contain;display:block;}
body.header-preview-final .site-header.header-v8-final .desktop-nav{height:var(--tgm-header-h);display:flex;align-items:center;justify-content:center;gap:8px;margin:0;padding:0;}
body.header-preview-final .site-header.header-v8-final .nav-link{display:inline-flex;align-items:center;justify-content:center;height:40px;width:86px;margin:0;padding:0 8px;font-size:14px;font-weight:700;line-height:1;}
body.header-preview-final .site-header.header-v8-final .header-actions{height:var(--tgm-header-h);display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:0;padding:0;}
body.header-preview-final .site-header.header-v8-final .quick-social{display:none;}
body.header-preview-final .site-header.header-v8-final .lang-toggle,
body.header-preview-final .site-header.header-v8-final .theme-toggle{height:40px;min-height:40px;margin:0;}
body.header-preview-final .site-header.header-v8-final .header-cta{height:48px;min-height:48px;padding-top:0;padding-bottom:0;}
.hero-photo-v8{position:relative;min-height:calc(100vh - var(--tgm-header-h));overflow:hidden;background:#082d30;display:flex;align-items:flex-end;color:#fff;}
.hero-photo-image{position:absolute;inset:0;z-index:1;background-image:url('../img/tgm-hero-city-bg-v8.jpg');background-image:image-set(url('../img/tgm-hero-city-bg-v8.webp') type('image/webp'),url('../img/tgm-hero-city-bg-v8.jpg') type('image/jpeg'));background-size:cover;background-position:center center;filter:saturate(1.06) contrast(1.02);transform:scale(1.004);}
.hero-photo-v8 .hero-interactive-bg{z-index:4;background:none;mix-blend-mode:normal;opacity:1;}
.hero-photo-v8 .hero-interactive-bg:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(3,79,83,.02),rgba(3,79,83,.08));}
.hero-photo-v8 .hero-canvas{z-index:2;opacity:1;mix-blend-mode:normal;}
.hero-photo-v8 .hero-ring{z-index:3;border-color:rgba(255,255,255,.56);box-shadow:0 0 0 1px rgba(34,123,127,.38),0 0 70px rgba(34,123,127,.36);}
.hero-photo-v8 .hero-ring.ring-1{width:1040px;height:1040px;left:-390px;right:auto;top:-2%;}
.hero-photo-v8 .hero-ring.ring-2{width:720px;height:720px;right:2%;bottom:-260px;}
.hero-photo-v8 .hero-ring.ring-3{width:440px;height:440px;left:48%;top:auto;bottom:-170px;}
.hero-photo-v8 .hero-blob{z-index:1;opacity:.62;filter:blur(44px);}
.hero-photo-v8 .hero-blob.blob-1{width:430px;height:430px;right:15%;top:12%;background:rgba(34,123,127,.46);}
.hero-photo-v8 .hero-blob.blob-2{width:360px;height:360px;left:5%;bottom:4%;background:rgba(210,159,55,.42);}
.hero-photo-v8 .hero-ring:after{content:'';position:absolute;width:16px;height:16px;border-radius:50%;right:12%;top:18%;background:#d29f37;box-shadow:0 0 28px rgba(210,159,55,.86);}
.hero-photo-v8 .hero-ring.ring-2:after{width:14px;height:14px;left:20%;right:auto;top:22%;background:#304b8d;box-shadow:0 0 28px rgba(48,75,141,.86);}
.hero-photo-v8 .hero-ring.ring-3:after{width:13px;height:13px;left:50%;right:auto;top:10%;background:#227b7f;box-shadow:0 0 28px rgba(34,123,127,.86);}
.hero-motion-layer{position:absolute;inset:-8% -4%;z-index:2;pointer-events:none;opacity:.46;mix-blend-mode:screen;will-change:background-position;background:radial-gradient(circle at 18% 72%,rgba(210,159,55,.20) 0,rgba(210,159,55,.20) 2px,transparent 3px),radial-gradient(circle at 82% 24%,rgba(255,255,255,.24) 0,rgba(255,255,255,.24) 1px,transparent 3px),linear-gradient(115deg,transparent 0%,transparent 42%,rgba(255,255,255,.12) 45%,rgba(34,123,127,.12) 48%,transparent 54%,transparent 100%),repeating-linear-gradient(100deg,rgba(255,255,255,.09) 0,rgba(255,255,255,.09) 1px,transparent 1px,transparent 52px);background-size:220px 180px,320px 240px,160% 100%,420px 100%;animation:heroMotionDrift 24s linear infinite;}
.hero-motion-layer:before{content:'';position:absolute;inset:-10% -18%;background:linear-gradient(112deg,transparent 0%,transparent 38%,rgba(255,255,255,.18) 43%,rgba(34,123,127,.16) 47%,transparent 54%,transparent 100%),linear-gradient(112deg,transparent 0%,transparent 58%,rgba(210,159,55,.14) 61%,transparent 66%,transparent 100%);transform:translateX(-18%) skewX(-14deg);animation:heroScanSlide 12s ease-in-out infinite alternate;}
.hero-motion-layer:after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:90px 90px;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 36%,#000 88%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 36%,#000 88%,transparent 100%);animation:heroGridFlow 30s linear infinite;}
.hero-photo-overlay{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(90deg,rgba(5,36,39,.34) 0%,rgba(5,36,39,.16) 44%,rgba(5,36,39,.06) 100%),linear-gradient(0deg,rgba(5,55,59,.58) 0%,rgba(5,55,59,.16) 38%,rgba(5,55,59,.04) 100%);}
.hero-photo-overlay:after{content:'';position:absolute;left:0;bottom:0;width:min(590px,58vw);height:34%;background:linear-gradient(90deg,rgba(4,59,63,.72),rgba(4,59,63,.35),transparent);filter:blur(2px);}
.hero-photo-canvas{position:absolute;inset:0;z-index:5;opacity:.55;mix-blend-mode:screen;}
.hero-ghost-mark{position:absolute;z-index:5;right:clamp(-320px,-16vw,-155px);top:6%;width:clamp(620px,66vw,980px);max-width:none;opacity:.32;filter:drop-shadow(0 22px 48px rgba(0,0,0,.20));pointer-events:none;transform:translateY(-2%) rotate(-.4deg);}
.hero-photo-content{position:relative;z-index:6;width:min(690px,70vw);padding:0 0 clamp(42px,7vh,76px) clamp(30px,4.7vw,64px);color:#fff;}
.brand-bars{display:flex;gap:8px;align-items:center;margin:0 0 11px 0;}
.brand-bars span{display:block;height:5px;width:88px;border-radius:99px;box-shadow:0 5px 15px rgba(0,0,0,.18);}
.brand-bars .bar-blue{background:var(--tgm-blue,#304B8D);}
.brand-bars .bar-orange{background:var(--tgm-orange,#D27F37);}
.brand-bars .bar-gold{background:var(--tgm-gold,#D29F37);}
.hero-photo-kicker{font-family:Lato,Arial,sans-serif;font-size:clamp(13px,1.05vw,17px);line-height:1.25;font-weight:900;letter-spacing:0;margin:0 0 18px;text-shadow:0 2px 12px rgba(0,0,0,.55);}
.hero-photo-title{font-family:Lato,Arial,sans-serif;font-size:clamp(28px,2.9vw,48px);font-weight:400;letter-spacing:0;line-height:1.06;max-width:640px;margin:0 0 22px;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.48);}
.hero-photo-wordmark{font-family:'Open Sans Condensed','Arial Narrow',Lato,Arial,sans-serif;font-size:clamp(50px,5.35vw,90px);line-height:.9;letter-spacing:.055em;text-transform:uppercase;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.52);white-space:nowrap;}
.hero-photo-wordmark .wordmark-trigamma{font-weight:700;}
.hero-photo-wordmark .wordmark-metri{font-weight:300;letter-spacing:.052em;margin-left:.10em;}
@keyframes heroMotionDrift{0%{background-position:0 0,0 0,-28% 0,0 0}100%{background-position:220px -180px,-320px 240px,128% 0,420px 0}}
@keyframes heroScanSlide{0%{transform:translateX(-18%) skewX(-14deg);opacity:.15}50%{opacity:.30}100%{transform:translateX(18%) skewX(-14deg);opacity:.22}}
@keyframes heroGridFlow{to{background-position:90px -90px,-90px 90px}}
@media(max-width:1180px){
  body.header-preview-final{--tgm-header-h:74px;}
  body.header-preview-final .site-header.header-v8-final{grid-template-columns:70px 1fr auto;}
  body.header-preview-final .site-header.header-v8-final .desktop-nav{display:none;}
  body.header-preview-final .site-header.header-v8-final .menu-toggle{display:inline-flex;}
  .hero-ghost-mark{width:min(720px,72vw);right:-34vw;top:12%;}
  .hero-photo-content{width:min(660px,86vw);}
}
@media(max-width:740px){
  body.header-preview-final{--tgm-header-h:70px;}
  body.header-preview-final .site-header.header-v8-final{padding:0 14px;grid-template-columns:56px 1fr auto;}
  body.header-preview-final .site-header.header-v8-final .brand-logo-img.monogram-only-header{width:42px;height:42px;min-width:42px;min-height:42px;}
  .hero-photo-v8{min-height:calc(100vh - var(--tgm-header-h));}
  .hero-photo-image{background-position:54% center;}
  .hero-ghost-mark{width:520px;right:-335px;top:18%;opacity:.24;}
  .hero-photo-content{width:calc(100vw - 38px);padding:0 20px 48px 20px;}
  .brand-bars span{height:4px;width:64px}
  .hero-photo-wordmark{white-space:normal;}
  .hero-photo-wordmark .wordmark-metri{display:block;margin:8px 0 0;}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*:before,*:after{animation:none!important;transition:none!important;}
  .cursor-glow,.hero-canvas,.hero-motion-layer{display:none!important;}
  .reveal{opacity:1;transform:none;}
}
/* Footer wordmark lockup */
.footer-grid>div:first-child{min-width:0;}
.footer-logo-link{display:block;width:min(430px,100%);min-width:0;line-height:0;}
.footer-brand .footer-wordmark-logo{display:block;width:100%;height:auto;max-height:132px;object-fit:contain;object-position:left center;filter:drop-shadow(0 10px 24px rgba(0,0,0,.12));}
.footer-logo-link+p{margin-top:24px;max-width:560px;line-height:1.68;}
@media(max-width:740px){.footer-logo-link{width:min(360px,100%)}.footer-brand .footer-wordmark-logo{max-height:112px}.footer-logo-link+p{margin-top:20px}}
/* Homepage about and mission gold section */
.home-about-mission{position:relative;isolation:isolate;overflow:hidden;display:grid;align-items:center;--about-mx:68%;--about-my:38%;background:#d29f37;color:#2e393b;margin-top:0;height:1020px;height:clamp(900px,calc(100vh - var(--tgm-header-h) + 20px),1040px);min-height:900px;padding:0;}
.home-about-mission:before{content:'';position:absolute;left:0;right:0;top:-152px;height:184px;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(5,55,59,.20) 0%,rgba(210,159,55,.34) 36%,#d29f37 88%);}
.home-about-mission:after{content:'';position:absolute;left:0;right:0;top:0;height:3px;z-index:3;pointer-events:none;background:linear-gradient(90deg,rgba(34,123,127,.34),rgba(255,255,255,.42),rgba(210,159,55,.10));opacity:.7;}
.home-about-motion{position:absolute;inset:-170px 0 -12%;z-index:1;pointer-events:none;overflow:hidden;}
.home-about-motion:before{content:'';position:absolute;inset:0;background:linear-gradient(112deg,transparent 0%,transparent 34%,rgba(255,255,255,.12) 39%,rgba(245,245,245,.18) 44%,transparent 52%,transparent 100%),linear-gradient(112deg,transparent 0%,transparent 58%,rgba(255,255,255,.10) 62%,transparent 68%,transparent 100%),repeating-linear-gradient(104deg,rgba(255,255,255,.10) 0,rgba(255,255,255,.10) 1px,transparent 1px,transparent 68px);background-size:180% 100%,155% 100%,460px 100%;opacity:.72;animation:homeAboutScan 18s ease-in-out infinite alternate;}
.home-about-motion:after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(ellipse 390px 250px at var(--about-mx) var(--about-my),#000 0%,rgba(0,0,0,.72) 34%,transparent 73%);mask-image:radial-gradient(ellipse 390px 250px at var(--about-mx) var(--about-my),#000 0%,rgba(0,0,0,.72) 34%,transparent 73%);opacity:.52;animation:homeAboutField 26s linear infinite;}
.about-motion-ring,.about-motion-dot{position:absolute;pointer-events:none;}
.about-motion-ring{border-radius:50%;border:1px solid rgba(255,255,255,.34);opacity:.55;animation:homeAboutRingFloat 17s ease-in-out infinite;}
.about-motion-ring.ring-a{width:860px;height:860px;left:-360px;top:-245px;}
.about-motion-ring.ring-b{width:620px;height:620px;right:7%;bottom:-255px;border-color:rgba(255,255,255,.26);animation-duration:21s;animation-direction:reverse;}
.about-motion-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.76);box-shadow:0 0 24px rgba(255,255,255,.38);animation:homeAboutDotFloat 8s ease-in-out infinite;}
.about-motion-dot.dot-a{left:12%;top:19%;}
.about-motion-dot.dot-b{left:50%;top:28%;width:7px;height:7px;background:rgba(245,245,245,.62);animation-delay:-2s;}
.about-motion-dot.dot-c{right:14%;bottom:18%;width:10px;height:10px;background:rgba(255,255,255,.58);animation-delay:-4s;}
.about-motion-dot.dot-d{left:34%;bottom:12%;width:6px;height:6px;background:rgba(238,238,238,.70);animation-delay:-6s;}
.home-about-mission-inner{position:relative;z-index:2;width:min(1520px,100%);margin:0 auto;padding:0 clamp(34px,4vw,82px);display:grid;grid-template-columns:minmax(270px,390px) minmax(540px,690px);gap:clamp(112px,12vw,220px);justify-content:space-between;align-items:center;}
.home-about-mission-copy{display:grid;gap:clamp(50px,5.2vw,76px);max-width:390px;justify-self:start;}
.home-about-block h2{font-family:'Open Sans Condensed','Arial Narrow',Lato,Arial,sans-serif;font-weight:300;font-stretch:condensed;text-transform:uppercase;letter-spacing:.035em;font-size:clamp(44px,3.55vw,62px);line-height:.94;color:#2e393b;margin:0 0 20px;}
.home-about-title-word{display:inline-block;font-family:inherit;line-height:inherit;}.home-about-title-strong{font-weight:700;}.home-about-title-light{font-weight:300;margin-left:.11em;}
.home-about-rule{width:min(100%,410px);height:2px;background:#fff;margin:0 0 14px;box-shadow:0 6px 18px rgba(255,255,255,.14);}
.home-about-block p{font-family:Lato,'Segoe UI',Arial,sans-serif;font-weight:400;font-size:clamp(13px,.86vw,15.4px);line-height:1.38;letter-spacing:0;color:#2e393b;margin:0;text-align:left;text-wrap:pretty;}
.built-environment-placeholder{position:relative;z-index:2;justify-self:end;width:min(620px,34vw);margin-right:clamp(-82px,-3.2vw,-28px);display:grid;justify-items:center;gap:18px;cursor:pointer;}
.cycle-visual{position:relative;width:100%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 48%,rgba(255,255,255,1) 0%,rgba(255,255,255,1) 54%,rgba(246,249,249,.96) 100%);box-shadow:0 30px 78px rgba(46,57,59,.16),inset 0 0 0 1px rgba(255,255,255,.72);overflow:visible;transition:transform .36s ease,box-shadow .36s ease,filter .36s ease;will-change:transform,filter;}
.cycle-visual:before{content:'';position:absolute;inset:7.5%;border-radius:50%;background:linear-gradient(rgba(34,123,127,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(34,123,127,.045) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:radial-gradient(circle,#000 0%,#000 62%,transparent 72%);mask-image:radial-gradient(circle,#000 0%,#000 62%,transparent 72%);}
.cycle-visual:after{content:'';position:absolute;inset:11%;border-radius:50%;border:1px solid rgba(34,123,127,.18);box-shadow:inset 0 0 0 22px rgba(210,159,55,.055),0 0 0 1px rgba(48,75,141,.05);}
.cycle-orbit{position:absolute;border-radius:50%;pointer-events:none;}
.cycle-orbit.orbit-outer{inset:9%;border:1px solid rgba(34,123,127,.22);animation:cycleOrbitSpin 24s linear infinite;}
.cycle-orbit.orbit-outer:before,.cycle-orbit.orbit-outer:after{content:'';position:absolute;width:10px;height:10px;border-radius:50%;background:#227b7f;box-shadow:0 0 18px rgba(34,123,127,.34);}
.cycle-orbit.orbit-outer:before{left:49%;top:-5px;}.cycle-orbit.orbit-outer:after{right:7%;bottom:15%;background:#d29f37;box-shadow:0 0 18px rgba(210,159,55,.42);}
.cycle-orbit.orbit-inner{inset:25%;border:1px dashed rgba(48,75,141,.22);animation:cycleOrbitSpin 18s linear infinite reverse;}
.cycle-paths{position:absolute;inset:15%;width:70%;height:70%;overflow:visible;}
.cycle-ring-path,.cycle-ring-dash,.cycle-spoke{fill:none;vector-effect:non-scaling-stroke;}
.cycle-ring-path{stroke:rgba(34,123,127,.22);stroke-width:2.2;}
.cycle-ring-dash{stroke:#227b7f;stroke-width:3;stroke-linecap:round;stroke-dasharray:18 18;opacity:.62;animation:cycleDash 13s linear infinite;}
.cycle-spoke{stroke:rgba(210,159,55,.42);stroke-width:2;stroke-linecap:round;stroke-dasharray:6 12;animation:cycleSpoke 8s linear infinite;}
.cycle-node{--node:#227b7f;position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);min-width:108px;height:42px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 15px;background:rgba(255,255,255,.88);border:1px solid color-mix(in srgb,var(--node) 46%,transparent);box-shadow:0 12px 28px rgba(46,57,59,.10);font-size:12px;font-weight:900;color:#2e393b;line-height:1;white-space:nowrap;transition:transform .28s ease,background .28s ease,box-shadow .28s ease,border-color .28s ease;}
.cycle-node:before{content:none;}.cycle-node-icon{width:17px;height:17px;margin-right:7px;flex:0 0 auto;fill:none;stroke:var(--node);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--node) 28%,transparent));transition:transform .28s ease,stroke-width .28s ease,filter .28s ease;}
.cycle-node.node-plan{--node:#227b7f;left:50%;top:14%;}
.cycle-node.node-design{--node:#304b8d;left:80%;top:29%;}
.cycle-node.node-coordinate{--node:#d29f37;left:80%;top:71%;min-width:130px;}
.cycle-node.node-build{--node:#d27f37;left:50%;top:86%;}
.cycle-node.node-operate{--node:#304b8d;left:20%;top:71%;}
.cycle-node.node-learn{--node:#227b7f;left:20%;top:29%;}
.cycle-core{position:absolute;z-index:5;left:50%;top:50%;width:39%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);display:grid;place-content:center;text-align:center;padding:22px;background:linear-gradient(160deg,#034f53,#11666a);color:white;box-shadow:0 22px 42px rgba(3,79,83,.22),inset 0 0 0 1px rgba(255,255,255,.18);transition:transform .32s ease,box-shadow .32s ease,background-position .32s ease;background-size:160% 160%;}
.cycle-core span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.74);line-height:1.15;}
.cycle-core strong{font-family:'Open Sans Condensed','Arial Narrow',Lato,Arial,sans-serif;font-size:clamp(30px,2.3vw,42px);font-weight:700;line-height:.92;letter-spacing:.02em;text-transform:uppercase;margin:5px 0 8px;}
.cycle-core small{display:block;max-width:168px;margin:0 auto;font-size:9.4px;font-weight:800;color:rgba(255,255,255,.82);line-height:1.22;}
.cycle-caption{font-family:Lato,'Segoe UI',Arial,sans-serif;margin:0;color:#2e393b;font-size:clamp(12px,.82vw,14px);font-weight:900;letter-spacing:.04em;text-transform:uppercase;text-align:center;opacity:.82;}
.built-environment-placeholder:before{content:'';position:absolute;inset:-7% -8% 4%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.46) 0%,rgba(255,255,255,.20) 36%,rgba(34,123,127,0) 66%);opacity:0;transform:scale(.86);filter:blur(8px);transition:opacity .34s ease,transform .34s ease;pointer-events:none;}
.built-environment-placeholder:hover:before{opacity:1;transform:scale(1.08);animation:cycleHoverHalo 1.9s ease-in-out infinite alternate;}
.built-environment-placeholder:hover .cycle-visual{transform:translateY(-12px) scale(1.045);filter:saturate(1.08);box-shadow:0 48px 112px rgba(46,57,59,.24),0 0 0 12px rgba(255,255,255,.18),0 0 72px rgba(34,123,127,.20),inset 0 0 0 1px rgba(255,255,255,.92);}
.built-environment-placeholder:hover .cycle-visual:before{opacity:.95;background-size:24px 24px;animation:cycleGridPulse 1.6s ease-in-out infinite alternate;}
.built-environment-placeholder:hover .cycle-visual:after{inset:8%;border-color:rgba(34,123,127,.34);box-shadow:inset 0 0 0 30px rgba(210,159,55,.075),0 0 0 7px rgba(34,123,127,.055),0 0 42px rgba(34,123,127,.14);animation:cycleInnerPulse 1.8s ease-in-out infinite alternate;}
.built-environment-placeholder:hover .cycle-core{transform:translate(-50%,-50%) scale(1.085);background-position:100% 0;box-shadow:0 34px 68px rgba(3,79,83,.34),0 0 0 10px rgba(34,123,127,.10),inset 0 0 0 1px rgba(255,255,255,.30);animation:cycleCoreBreathe 1.55s ease-in-out infinite alternate;}
.built-environment-placeholder:hover .cycle-node{transform:translate(-50%,-50%) scale(1.08);background:#fff;border-color:color-mix(in srgb,var(--node) 82%,transparent);box-shadow:0 20px 42px rgba(46,57,59,.18),0 0 20px color-mix(in srgb,var(--node) 20%,transparent);}
.built-environment-placeholder:hover .cycle-node-icon{transform:scale(1.28) rotate(-5deg);stroke-width:2.4;filter:drop-shadow(0 0 14px color-mix(in srgb,var(--node) 54%,transparent));animation:cycleIconPulse .9s ease-in-out infinite alternate;}
.built-environment-placeholder:hover .cycle-ring-dash{opacity:1;stroke-width:4;animation-duration:4.5s;}
.built-environment-placeholder:hover .cycle-spoke{stroke-width:2.6;stroke-dasharray:10 10;animation-duration:3.8s;}
.built-environment-placeholder:hover .cycle-orbit.orbit-outer{animation-duration:8s;border-color:rgba(34,123,127,.38);}
.built-environment-placeholder:hover .cycle-orbit.orbit-inner{animation-duration:6s;border-color:rgba(48,75,141,.40);}
@keyframes homeAboutScan{0%{background-position:-35% 0,118% 0,0 0;opacity:.46;}50%{opacity:.76;}100%{background-position:135% 0,-34% 0,460px 0;opacity:.64;}}
@keyframes homeAboutGrid{to{background-position:145% 0,-25% 0,460px 0;}}
@keyframes homeAboutField{to{background-position:72px -72px,-72px 72px;}}
@keyframes homeAboutRingFloat{0%,100%{transform:translate3d(0,0,0) scale(1);}50%{transform:translate3d(22px,-18px,0) scale(1.035);}}
@keyframes homeAboutDotFloat{0%,100%{transform:translate3d(0,0,0);opacity:.48;}50%{transform:translate3d(18px,-16px,0);opacity:.92;}}
@keyframes cycleOrbitSpin{to{transform:rotate(360deg);}}
@keyframes cycleDash{to{stroke-dashoffset:-144;}}
@keyframes cycleSpoke{to{stroke-dashoffset:-72;}}
@keyframes cycleHoverHalo{0%{opacity:.45;transform:scale(1.02)}100%{opacity:.95;transform:scale(1.14)}}
@keyframes cycleGridPulse{0%{opacity:.55}100%{opacity:.98}}
@keyframes cycleInnerPulse{0%{transform:scale(1)}100%{transform:scale(1.018)}}
@keyframes cycleCoreBreathe{0%{filter:brightness(1)}100%{filter:brightness(1.13)}}
@keyframes cycleIconPulse{0%{transform:scale(1.12) rotate(-4deg)}100%{transform:scale(1.32) rotate(5deg)}}
@media(max-width:1180px){.home-about-mission-inner{grid-template-columns:minmax(270px,380px) minmax(440px,560px);gap:clamp(78px,8vw,126px)}.built-environment-placeholder{width:min(540px,42vw);margin-right:0}.cycle-node{min-width:98px;height:36px;font-size:11px;padding:0 12px}.cycle-node-icon{width:15px;height:15px;margin-right:6px}.cycle-node.node-coordinate{min-width:118px}.cycle-core{width:41%;}}
@media(max-width:980px){.home-about-mission{display:block;height:auto;min-height:0;padding:88px 0 92px}.home-about-mission-inner{grid-template-columns:1fr;gap:54px;width:min(760px,100%);padding:0 clamp(24px,6vw,58px)}.home-about-mission-copy{max-width:650px}.built-environment-placeholder{width:min(560px,80vw);order:-1;justify-self:center;margin-right:0}.home-about-block p{text-align:left}.about-motion-ring.ring-b{right:-190px}}
@media(max-width:640px){.home-about-mission{padding:76px 0 78px}.home-about-mission:before{top:-92px;height:108px}.home-about-mission-inner{padding:0 22px}.home-about-mission-copy{gap:44px}.home-about-block h2{font-size:42px}.home-about-rule{height:2px;margin-bottom:13px}.home-about-block p{font-size:13.5px;line-height:1.44}.built-environment-placeholder{width:84vw}.cycle-node{min-width:auto;height:30px;padding:0 9px;font-size:10px}.cycle-node-icon{width:13px;height:13px;margin-right:5px}.cycle-node.node-coordinate{min-width:auto}.cycle-core{width:43%;padding:16px}.cycle-core span{font-size:8px}.cycle-core strong{font-size:28px}.cycle-core small{font-size:8px}.cycle-caption{font-size:11px}.home-about-motion:after{-webkit-mask-image:radial-gradient(ellipse 280px 210px at var(--about-mx) var(--about-my),#000 0%,rgba(0,0,0,.68) 32%,transparent 73%);mask-image:radial-gradient(ellipse 280px 210px at var(--about-mx) var(--about-my),#000 0%,rgba(0,0,0,.68) 32%,transparent 73%);}}
/* Mobile index page polish */
@media(max-width:740px){
  html,body{max-width:100%;overflow-x:hidden;}
  body.header-preview-final{--tgm-header-h:66px;}
  body.header-preview-final .site-header.header-v8-final{display:grid!important;position:fixed!important;top:0;left:0;right:0;z-index:10000;width:100%;height:var(--tgm-header-h);min-height:var(--tgm-header-h);max-height:var(--tgm-header-h);grid-template-columns:50px minmax(0,1fr) auto;align-items:center;padding:0 6px 0 14px;gap:8px;}
  body.header-preview-final main{padding-top:var(--tgm-header-h);}
  body.header-preview-final .mobile-drawer{z-index:10002;}
  body.header-preview-final .site-header.header-v8-final .brand-monogram-only{width:50px!important;min-width:50px!important;max-width:50px!important;height:var(--tgm-header-h);}
  body.header-preview-final .site-header.header-v8-final .brand-logo-img.monogram-only-header{width:38px!important;height:38px!important;min-width:38px!important;max-width:38px!important;min-height:38px!important;max-height:38px!important;}
  body.header-preview-final .site-header.header-v8-final .header-actions{grid-column:3;justify-self:end;justify-content:flex-end;width:auto;gap:6px;height:var(--tgm-header-h);}
  body.header-preview-final .site-header.header-v8-final .lang-toggle{display:inline-flex!important;width:72px;height:36px;min-height:36px;padding:3px;flex:0 0 auto;}
  body.header-preview-final .site-header.header-v8-final .lang-toggle .lang-option{width:31px;height:30px;font-size:11px;}
  body.header-preview-final .site-header.header-v8-final .theme-toggle{display:inline-flex!important;width:36px;height:36px;min-height:36px;flex:0 0 auto;}
  body.header-preview-final .site-header.header-v8-final .menu-toggle{display:inline-flex!important;width:40px;height:40px;min-height:40px;margin:0;flex:0 0 auto;}
  body.header-preview-final .mobile-drawer{background:rgba(8,18,19,.46);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
  body.header-preview-final .mobile-drawer-panel{width:min(286px,78vw);padding:22px 18px 18px;background:rgba(18,31,32,.97);color:#f5f8f8;border-left:1px solid rgba(255,255,255,.08);box-shadow:-18px 0 46px rgba(0,0,0,.24);}
  body.header-preview-final .drawer-top{margin-bottom:18px;font-size:15px;line-height:1;font-weight:900;color:#f5f8f8;}
  body.header-preview-final .drawer-top button{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#f5f8f8;font-size:24px;line-height:1;transition:.18s ease;}
  body.header-preview-final .drawer-top button:hover{background:rgba(255,255,255,.08);}
  body.header-preview-final .mobile-nav{gap:7px;}
  body.header-preview-final .mobile-nav .nav-link{display:flex;align-items:center;min-height:38px;width:100%;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:transparent;color:rgba(245,248,248,.86);font-size:13px;font-weight:800;line-height:1;}
  body.header-preview-final .mobile-nav .nav-link:hover{background:rgba(255,255,255,.06);color:#fff;}
  body.header-preview-final .mobile-nav .nav-link.active{background:rgba(34,123,127,.22);border-color:rgba(97,169,173,.28);color:#61a9ad;}
  body.header-preview-final .drawer-actions{margin-top:18px;padding-top:12px;border-top:0;gap:8px;}
  body.header-preview-final .drawer-contact-label{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 4px;color:rgba(245,248,248,.58);font-size:10.5px;font-weight:900;line-height:1;text-align:center;text-transform:uppercase;letter-spacing:.13em;white-space:nowrap;}
  body.header-preview-final .drawer-contact-label:before,
  body.header-preview-final .drawer-contact-label:after{content:'';height:1px;flex:1;min-width:28px;background:rgba(255,255,255,.10);}
  body.header-preview-final .drawer-actions .lang-toggle,
  body.header-preview-final .drawer-actions .theme-toggle{display:none!important;}
  body.header-preview-final .drawer-actions .btn{min-height:40px;padding:0 14px;border-radius:999px;font-size:13px;box-shadow:none;gap:8px;}
  body.header-preview-final .drawer-actions .btn svg.drawer-action-icon{width:16px;height:16px;flex:0 0 auto;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none;}
  body.header-preview-final .drawer-actions .btn-primary{background:linear-gradient(135deg,#227b7f,#034f53);}
  body.header-preview-final .drawer-actions .btn-primary svg.drawer-action-icon{stroke:#fff;}
  body.header-preview-final .drawer-actions .btn-social{background:transparent;border-color:rgba(255,255,255,.14);color:rgba(245,248,248,.9);}

  .hero-photo-v8{min-height:calc(100svh - var(--tgm-header-h));align-items:flex-end;}
  .hero-photo-image{background-position:58% center;}
  .hero-photo-v8 .hero-interactive-bg{opacity:.72;}
  .hero-photo-v8 .hero-ring.ring-1{width:520px;height:520px;left:-260px;top:2%;max-width:none;}
  .hero-photo-v8 .hero-ring.ring-2{width:360px;height:360px;right:-150px;bottom:-120px;}
  .hero-photo-v8 .hero-ring.ring-3{display:none;}
  .hero-ghost-mark{width:440px!important;max-width:none!important;right:-310px!important;top:21%;opacity:.18;}
  .hero-photo-content{width:100%;max-width:none;padding:0 20px 38px;}
  .brand-bars span{width:58px;height:4px;}
  .hero-photo-kicker{font-size:12px;line-height:1.35;max-width:310px;margin-bottom:14px;}
  .hero-photo-title{font-size:clamp(29px,9.2vw,38px);line-height:1.08;max-width:340px;margin-bottom:18px;}
  .hero-photo-wordmark{font-size:clamp(40px,12.8vw,56px);letter-spacing:.035em;line-height:.92;white-space:normal;}
  .hero-photo-wordmark .wordmark-metri{display:block;margin:7px 0 0;}

  .home-about-mission{padding:62px 0 70px;}
  .home-about-mission-inner{width:100%;padding:0 20px;gap:42px;}
  .home-about-mission-copy{order:0;max-width:100%;gap:44px;}
  .built-environment-placeholder{order:1;width:min(340px,86vw);max-width:100%;justify-self:center;margin:4px auto 0;gap:12px;}
  .home-about-block h2{font-size:clamp(40px,13vw,48px);line-height:.96;margin-bottom:14px;}
  .home-about-rule{width:min(100%,360px);height:2px;margin-bottom:13px;}
  .home-about-block p{font-size:14px;line-height:1.48;max-width:36rem;}
  .cycle-visual{overflow:hidden;box-shadow:0 22px 58px rgba(46,57,59,.16),inset 0 0 0 1px rgba(255,255,255,.72);}
  .cycle-visual:before{background-size:26px 26px;}
  .cycle-visual:after{inset:10%;box-shadow:inset 0 0 0 16px rgba(210,159,55,.055),0 0 0 1px rgba(48,75,141,.05);}
  .cycle-orbit.orbit-outer{inset:10%;}
  .cycle-orbit.orbit-inner{inset:27%;}
  .cycle-paths{inset:17%;width:66%;height:66%;}
  .cycle-node{min-width:86px;height:32px;padding:0 10px;font-size:10px;}
  .cycle-node-icon{width:14px;height:14px;margin-right:5px;}
  .cycle-node.node-coordinate{min-width:106px;}
  .cycle-core{width:42%;padding:14px;}
  .cycle-core span{font-size:7.5px;letter-spacing:.06em;}
  .cycle-core strong{font-size:clamp(24px,7.2vw,32px);margin:3px 0 5px;}
  .cycle-core small{font-size:7px;line-height:1.18;max-width:112px;}
  .cycle-caption{max-width:270px;font-size:10.5px;line-height:1.25;letter-spacing:.035em;}
  .built-environment-placeholder:hover .cycle-visual{transform:none;}
  .built-environment-placeholder:hover .cycle-node{transform:translate(-50%,-50%) scale(1.04);}

  .section-head h2,.split-copy h2,.cta-inner h2{font-size:clamp(34px,10vw,44px);line-height:1.02;}
  .lead{font-size:16px;line-height:1.55;}
  .card{padding:20px;border-radius:18px;}
  .card h3{font-size:22px;}
  .dashboard-card{padding:18px;border-radius:22px;}
  .dash-top{display:grid;gap:8px;}
  .pillar{padding:18px;border-radius:18px;}
  .footer-grid{padding-left:20px;padding-right:20px;}
}

@media(max-width:480px){
  .hero-photo-content{padding-left:18px;padding-right:18px;}
  .hero-photo-kicker{max-width:280px;}
  .hero-photo-title{max-width:300px;}
  .brand-bars span{width:50px;}

  .home-about-mission{padding:56px 0 64px;}
  .home-about-mission-inner{padding:0 18px;gap:38px;}
  .home-about-block h2{font-size:40px;}
  .home-about-block p{font-size:13.5px;line-height:1.48;}
  .built-environment-placeholder{width:min(318px,84vw);}
  .cycle-node{width:34px;min-width:34px;height:34px;padding:0;border-radius:50%;}
  .cycle-node > span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
  .cycle-node-icon{width:16px;height:16px;margin-right:0;}
  .cycle-node.node-plan{left:50%;top:15%;}
  .cycle-node.node-design{left:80%;top:30%;}
  .cycle-node.node-coordinate{left:80%;top:70%;min-width:34px;}
  .cycle-node.node-build{left:50%;top:85%;}
  .cycle-node.node-operate{left:20%;top:70%;}
  .cycle-node.node-learn{left:20%;top:30%;}
  .cycle-core{width:45%;padding:12px;}
  .cycle-core span{font-size:7px;}
  .cycle-core strong{font-size:24px;}
  .cycle-core small{font-size:6.5px;max-width:98px;}
  .cycle-caption{font-size:10px;max-width:240px;}
}

@media(max-width:360px){
  .hero-photo-wordmark{font-size:38px;}
  .home-about-block h2{font-size:36px;}
  .built-environment-placeholder{width:286px;}
  .cycle-core strong{font-size:21px;}
  .cycle-core small{display:none;}
}

/* Homepage services showcase */
.home-services-section{position:relative;overflow:hidden;background:radial-gradient(circle at 16% 12%,rgba(210,159,55,.16),transparent 28%),radial-gradient(circle at 86% 10%,rgba(34,123,127,.13),transparent 30%),linear-gradient(180deg,var(--fog),var(--paper));border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
html[data-theme='dark'] .home-services-section{background:radial-gradient(circle at 14% 10%,rgba(210,159,55,.10),transparent 30%),radial-gradient(circle at 86% 12%,rgba(34,123,127,.16),transparent 32%),linear-gradient(180deg,var(--fog),var(--paper));}
.home-services-section:before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(105deg,rgba(34,123,127,.045) 0,rgba(34,123,127,.045) 1px,transparent 1px,transparent 76px);opacity:.48;animation:serviceFieldDrift 28s linear infinite;}
.home-services-section .container{position:relative;z-index:2;}.home-services-head{max-width:760px;margin-bottom:34px;}.home-services-rule{width:min(100%,238px);height:2px;background:var(--graphite);opacity:.72;margin:0 0 12px;}
.home-services-head h2{font-family:var(--font-wordmark);font-size:clamp(44px,4.4vw,72px);line-height:.94;text-transform:uppercase;letter-spacing:.035em;color:var(--graphite);margin:0 0 34px;}.home-services-title-strong{font-weight:700;}.home-services-title-light{font-weight:300;margin-left:.11em;}
.home-services-quote{font-family:var(--font-wordmark);font-weight:500;font-style:italic;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(22px,1.75vw,30px);line-height:1.06;color:var(--graphite);margin:0 0 8px;}
.home-services-lead{max-width:720px;color:var(--muted);font-size:16px;line-height:1.42;margin:0;}.home-services-list{display:grid;gap:16px;margin-top:36px;}
.service-band{--service-accent:var(--tgm-teal);position:relative;display:grid;grid-template-columns:140px minmax(320px,.82fr) minmax(420px,1fr);min-height:182px;align-items:stretch;overflow:hidden;border:1px solid color-mix(in srgb,var(--service-accent) 28%,var(--line));border-radius:8px;background:linear-gradient(120deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.9) 49%,rgba(245,248,248,.6) 50%,rgba(255,255,255,.88) 100%);box-shadow:var(--shadow-soft);isolation:isolate;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,filter .24s ease;}
html[data-theme='dark'] .service-band{background:linear-gradient(120deg,rgba(23,34,36,.95) 0%,rgba(23,34,36,.88) 49%,rgba(16,23,24,.74) 50%,rgba(23,34,36,.9) 100%);}.service-band:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--service-accent) 52%,var(--line));filter:saturate(1.03);}
.service-band-tpr{--service-accent:var(--tgm-blue);}.service-band-tnl{--service-accent:var(--tgm-gold);}.service-band-tcr{--service-accent:var(--tgm-orange);}
.service-band-accent{position:absolute;z-index:1;left:-34px;top:-28px;bottom:-28px;width:98px;background:var(--service-accent);transform:skewX(-10deg);box-shadow:16px 0 46px color-mix(in srgb,var(--service-accent) 22%,transparent);}
.service-band-brand,.service-band-copy,.service-band-visual{position:relative;z-index:2;}.service-band-brand{display:grid;place-items:center;padding:24px 12px 24px 38px;}.service-band-brand img{width:78px;height:78px;object-fit:contain;filter:drop-shadow(0 12px 22px color-mix(in srgb,var(--service-accent) 22%,transparent));transition:transform .24s ease;}.service-band:hover .service-band-brand img{transform:scale(1.06) rotate(-2deg);}.service-band-copy{padding:28px 28px 24px 0;display:flex;flex-direction:column;justify-content:center;min-width:0;}.service-pill{display:inline-flex;align-self:flex-start;align-items:center;justify-content:center;height:24px;min-width:50px;padding:0 13px;border-radius:999px;background:var(--service-accent);color:#fff;font-size:12px;font-weight:900;line-height:1;margin-bottom:13px;box-shadow:0 8px 22px color-mix(in srgb,var(--service-accent) 20%,transparent);}
.service-band-copy h3{font-family:var(--font-wordmark);font-size:clamp(31px,2.2vw,40px);line-height:.94;text-transform:uppercase;letter-spacing:.02em;color:var(--graphite);margin:0 0 8px;}.service-title-strong{font-weight:700;}.service-title-light{font-weight:300;color:var(--service-accent);margin-left:.12em;}.service-band-copy p{font-size:14px;line-height:1.42;color:var(--muted);max-width:420px;margin:0 0 12px;}
.service-tags{display:flex;gap:12px;flex-wrap:wrap;list-style:none;margin:0 0 12px;padding:0;color:var(--graphite);font-size:12px;font-weight:800;}.service-tags li{display:inline-flex;align-items:center;gap:6px;}.service-tags li:before{content:'';width:12px;height:12px;border-radius:50%;background:var(--service-accent);box-shadow:inset 0 0 0 3px color-mix(in srgb,#fff 78%,transparent);}
.service-link{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;color:var(--service-accent);font-size:12px;font-weight:900;line-height:1;}.service-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease;}.service-band:hover .service-link svg{transform:translateX(4px);}
.service-band-visual{min-height:182px;overflow:hidden;clip-path:polygon(13% 0,100% 0,100% 100%,0 100%);background:linear-gradient(135deg,color-mix(in srgb,var(--service-accent) 18%,transparent),transparent);}.service-visual-image{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,0)),url('../img/tgm-hero-city-bg-v8.jpg');background-image:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,0)),image-set(url('../img/tgm-hero-city-bg-v8.webp') type('image/webp'),url('../img/tgm-hero-city-bg-v8.jpg') type('image/jpeg'));background-size:cover;background-position:center;filter:saturate(.95) contrast(1.02);transform:scale(1.04);transition:transform .42s ease,filter .42s ease;}
html[data-theme='dark'] .service-visual-image{filter:saturate(.88) contrast(1.08) brightness(.82);}.service-band:hover .service-visual-image{transform:scale(1.09) translateX(-8px);filter:saturate(1.06) contrast(1.04);}.service-band-visual:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,255,255,.74) 0%,rgba(255,255,255,.10) 42%,color-mix(in srgb,var(--service-accent) 55%,rgba(16,23,24,.25)) 100%);}
html[data-theme='dark'] .service-band-visual:before{background:linear-gradient(90deg,rgba(23,34,36,.68) 0%,rgba(23,34,36,.10) 38%,color-mix(in srgb,var(--service-accent) 50%,rgba(3,8,9,.70)) 100%);}.service-band-visual:after{content:'';position:absolute;inset:0;z-index:2;background-image:linear-gradient(rgba(255,255,255,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);background-size:34px 34px;mix-blend-mode:screen;opacity:.38;animation:serviceGridFlow 18s linear infinite;}
.service-feature-list{position:absolute;z-index:3;right:26px;top:50%;transform:translateY(-50%);display:grid;gap:12px;list-style:none;margin:0;padding:15px 17px;border-radius:8px;background:color-mix(in srgb,var(--service-accent) 74%,transparent);color:#fff;backdrop-filter:blur(10px);box-shadow:0 18px 42px rgba(0,0,0,.18);min-width:236px;}.service-feature-list li{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:800;line-height:1.2;}.service-feature-list svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;}
@keyframes serviceFieldDrift{to{background-position:420px 0;}}@keyframes serviceGridFlow{to{background-position:34px -34px,-34px 34px;}}@media(max-width:1020px){.service-band{grid-template-columns:110px minmax(260px,1fr);}.service-band-visual{grid-column:1/-1;min-height:150px;clip-path:none;}.service-feature-list{right:18px;min-width:220px;}.service-band-copy{padding-right:22px;}}
@media(max-width:740px){.home-services-section{padding-top:70px;padding-bottom:72px;}.home-services-head{margin-bottom:26px;}.home-services-rule{width:220px;height:2px;margin-bottom:11px;}.home-services-head h2{font-size:clamp(42px,13vw,52px);margin-bottom:24px;}.home-services-quote{font-size:22px;line-height:1.06;}.home-services-lead{font-size:14px;line-height:1.45;}.home-services-list{gap:14px;margin-top:26px;}.service-band{grid-template-columns:70px minmax(0,1fr);min-height:auto;border-radius:8px;}.service-band-accent{left:-44px;width:82px;}.service-band-brand{padding:20px 8px 20px 18px;align-self:start;}.service-band-brand img{width:48px;height:48px;}.service-band-copy{padding:20px 16px 18px 2px;}.service-pill{height:22px;min-width:44px;font-size:10.5px;margin-bottom:11px;}.service-band-copy h3{font-size:30px;line-height:.94;}.service-band-copy p{font-size:13px;}.service-tags{gap:7px 10px;font-size:11px;}.service-link{font-size:11.5px;}.service-band-visual{grid-column:1/-1;min-height:136px;}.service-feature-list{left:18px;right:18px;top:auto;bottom:16px;transform:none;grid-template-columns:1fr;gap:8px;min-width:0;padding:12px 13px;}.service-feature-list li{font-size:11px;}.service-feature-list svg{width:16px;height:16px;}}
@media(max-width:420px){.home-services-rule{width:190px;}.service-band{grid-template-columns:58px minmax(0,1fr);}.service-band-copy h3{font-size:26px;}.service-title-light{display:block;margin-left:0;margin-top:4px;}.service-tags li{width:100%;}.service-band-visual{min-height:150px;}}
.home-services-quote{quotes:'"' '"';}
.home-services-quote span:before{content:open-quote;}
.home-services-quote span:after{content:close-quote;}

/* Our Services revisions from visual notes */
.home-services-section{--service-mx:50%;--service-my:38%;}
.home-services-section:before{z-index:0;}
.home-services-section:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at var(--service-mx) var(--service-my),rgba(34,123,127,.16) 0%,rgba(210,159,55,.10) 15%,transparent 34%);opacity:0;transition:opacity .24s ease;mix-blend-mode:multiply;}
.home-services-section:hover:after{opacity:1;}
html[data-theme='dark'] .home-services-section:after{background:radial-gradient(circle at var(--service-mx) var(--service-my),rgba(97,169,173,.20) 0%,rgba(210,159,55,.10) 18%,transparent 36%);mix-blend-mode:screen;}
.home-services-section .container{z-index:3;}
.service-band{grid-template-columns:132px minmax(315px,.78fr) minmax(520px,1fr);border:0;background:linear-gradient(120deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.78) 49%,rgba(245,248,248,.48) 50%,rgba(255,255,255,.72) 100%);box-shadow:0 18px 48px rgba(16,23,24,.08);}
html[data-theme='dark'] .service-band{background:linear-gradient(120deg,rgba(23,34,36,.84) 0%,rgba(23,34,36,.76) 49%,rgba(16,23,24,.56) 50%,rgba(23,34,36,.72) 100%);}
.service-band:hover{border-color:transparent;box-shadow:0 24px 62px rgba(16,23,24,.14);}
html[data-theme='dark'] .service-band:hover{box-shadow:0 24px 62px rgba(0,0,0,.36);}
.service-band-accent{z-index:0;left:-34px;width:84px;}
.service-band-brand{z-index:4;padding:24px 8px 24px 54px;}
.service-band-brand:before{content:'';position:absolute;left:50%;top:50%;width:104px;height:104px;border-radius:50%;background:color-mix(in srgb,var(--paper) 90%,rgba(255,255,255,.74));box-shadow:0 14px 34px color-mix(in srgb,var(--service-accent) 16%,transparent);transform:translate(-50%,-50%);}
.service-band-brand img{position:relative;z-index:1;}
.service-band-copy{padding-right:14px;}
.service-band-copy p{margin-bottom:0;}
.service-band-visual{isolation:isolate;}
.service-tags{position:absolute;z-index:4;right:284px;left:auto;bottom:22px;width:min(390px,calc(100% - 324px));justify-content:flex-end;gap:8px 10px;margin:0;padding:0;color:var(--graphite);}
.service-tags li{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.78);backdrop-filter:blur(8px);box-shadow:0 8px 22px rgba(16,23,24,.10);line-height:1;transition:transform .2s ease,background .2s ease,box-shadow .2s ease;}
html[data-theme='dark'] .service-tags li{background:rgba(23,34,36,.74);box-shadow:0 8px 22px rgba(0,0,0,.22);}
.service-tags li:before{flex:0 0 auto;}
.service-feature-list{z-index:5;transition:transform .24s ease,box-shadow .24s ease;}
.service-band:hover .service-feature-list{transform:translateY(-50%) translateX(-6px);box-shadow:0 22px 54px rgba(0,0,0,.22);}
.service-band:hover .service-tags li{transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,23,24,.13);}
.service-link{display:none;}
@media(max-width:1020px){.service-band{grid-template-columns:112px minmax(260px,1fr);}.service-band-brand{padding-left:46px;}.service-band-brand:before{width:88px;height:88px;}.service-tags{right:274px;width:calc(100% - 316px);bottom:20px;}.service-band:hover .service-feature-list{transform:translateY(-50%) translateX(-4px);}}
@media(max-width:740px){.home-services-section:after{display:none;}.service-band{grid-template-columns:72px minmax(0,1fr);box-shadow:0 16px 38px rgba(16,23,24,.09);}.service-band-accent{left:-36px;width:68px;}.service-band-brand{padding:20px 4px 16px 34px;}.service-band-brand:before{width:62px;height:62px;}.service-band-brand img{width:44px;height:44px;}.service-band-visual{display:grid;align-content:end;gap:10px;min-height:220px;padding:58px 16px 16px;}.service-tags{position:relative;left:auto;right:auto;bottom:auto;width:100%;justify-content:flex-start;order:1;}.service-tags li{font-size:11px;}.service-feature-list{position:relative;left:auto;right:auto;top:auto;bottom:auto;transform:none;order:2;width:100%;margin:0;}.service-band:hover .service-feature-list{transform:none;}.service-band:hover .service-tags li{transform:none;}}
@media(max-width:420px){.service-band{grid-template-columns:64px minmax(0,1fr);}.service-tags li{width:100%;}.service-band-visual{min-height:240px;padding-left:14px;padding-right:14px;}}
/* Our Services note pass 2 */
.service-band-brand:before{display:none;}
.service-band-brand{padding-left:58px;}
.service-band-accent{left:-28px;width:72px;}
.service-band-brand img{filter:drop-shadow(0 12px 20px color-mix(in srgb,var(--service-accent) 22%,transparent));}
.service-feature-list{right:28px;min-width:268px;max-width:330px;padding:17px 18px;background:color-mix(in srgb,var(--service-accent) 82%,rgba(16,23,24,.14));}
.service-feature-list li{font-size:12.5px;font-weight:900;}
.service-band-tpr .service-visual-image{background-image:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,0)),url('../img/tgm-service-project-bg.jpg'),url('../img/tgm-hero-city-bg-v8.jpg');background-image:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,0)),image-set(url('../img/tgm-service-project-bg.webp') type('image/webp'),url('../img/tgm-service-project-bg.jpg') type('image/jpeg')),image-set(url('../img/tgm-hero-city-bg-v8.webp') type('image/webp'),url('../img/tgm-hero-city-bg-v8.jpg') type('image/jpeg'));background-size:cover,cover,cover;background-position:center,center,center;}
.service-band:hover .service-feature-list{transform:translateY(-50%) translateX(-7px) scale(1.015);}
@media(max-width:1020px){.service-band-brand{padding-left:48px;}.service-feature-list{right:20px;min-width:248px;}.service-band:hover .service-feature-list{transform:translateY(-50%) translateX(-4px) scale(1.01);}}
@media(max-width:740px){.service-band-brand{padding-left:34px;}.service-band-brand:before{display:none;}.service-feature-list{right:auto;min-width:0;max-width:none;background:color-mix(in srgb,var(--service-accent) 86%,rgba(16,23,24,.12));}.service-band:hover .service-feature-list{transform:none;}}
/* Dedicated service background images */
.service-band-tnl .service-visual-image{background-image:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,0)),url('../img/tgm-service-learning-bg.jpg'),url('../img/tgm-hero-city-bg-v8.jpg');background-image:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,0)),image-set(url('../img/tgm-service-learning-bg.webp') type('image/webp'),url('../img/tgm-service-learning-bg.jpg') type('image/jpeg')),image-set(url('../img/tgm-hero-city-bg-v8.webp') type('image/webp'),url('../img/tgm-hero-city-bg-v8.jpg') type('image/jpeg'));background-size:cover,cover,cover;background-position:center,center,center;}
.service-band-tcr .service-visual-image{background-image:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,0)),url('../img/tgm-service-research-bg.jpg'),url('../img/tgm-hero-city-bg-v8.jpg');background-image:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,0)),image-set(url('../img/tgm-service-research-bg.webp') type('image/webp'),url('../img/tgm-service-research-bg.jpg') type('image/jpeg')),image-set(url('../img/tgm-hero-city-bg-v8.webp') type('image/webp'),url('../img/tgm-hero-city-bg-v8.jpg') type('image/jpeg'));background-size:cover,cover,cover;background-position:center,center,center;}
/* Homepage statistics band */
.home-stat-band{position:relative;overflow:hidden;padding:25px 0;background:linear-gradient(90deg,#ef3a64 0%,#eb335d 52%,#e93860 100%);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(16,23,24,.12);}
.home-stat-band:before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(105deg,rgba(255,255,255,.12) 0,rgba(255,255,255,.12) 1px,transparent 1px,transparent 58px),radial-gradient(circle at 15% 20%,rgba(255,255,255,.18),transparent 26%),radial-gradient(circle at 82% 70%,rgba(16,23,24,.16),transparent 30%);opacity:.36;animation:statBandDrift 24s linear infinite;}
html[data-theme='dark'] .home-stat-band{background:linear-gradient(90deg,#bd2448 0%,#d63159 52%,#a82544 100%);}
.home-stat-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:22px;text-align:center;}
.home-stat-item{min-height:58px;display:grid;align-content:center;justify-items:center;gap:4px;}
.home-stat-item strong{display:block;font-family:var(--font-heading);font-size:clamp(30px,2.6vw,42px);line-height:.92;font-weight:900;letter-spacing:-.035em;color:#101718;}
.home-stat-item span{display:block;font-size:9px;line-height:1.1;font-weight:900;letter-spacing:.055em;text-transform:uppercase;color:rgba(255,255,255,.94);}
@keyframes statBandDrift{to{background-position:360px 0,0 0,0 0;}}
@media(max-width:740px){.home-stat-band{padding:26px 0;}.home-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px;}.home-stat-item strong{font-size:34px;}.home-stat-item span{font-size:9px;max-width:130px;}}
@media(max-width:360px){.home-stat-grid{gap:18px 8px;}.home-stat-item strong{font-size:30px;}.home-stat-item span{font-size:8px;}}
/* Homepage statistics band TGM palette refinement */
.home-stat-band{display:block;background:#034F53;color:#F5F8F8;box-shadow:inset 0 1px 0 rgba(245,248,248,.14),inset 0 -1px 0 rgba(16,23,24,.28);}
html[data-theme='dark'] .home-stat-band{background:#034F53;}
.home-stat-band:before{background:repeating-linear-gradient(105deg,rgba(245,248,248,.09) 0,rgba(245,248,248,.09) 1px,transparent 1px,transparent 58px),radial-gradient(circle at 18% 22%,rgba(245,248,248,.13),transparent 28%),radial-gradient(circle at 86% 72%,rgba(210,159,55,.13),transparent 30%);opacity:.56;}
.home-stat-grid{display:grid!important;opacity:1!important;transform:none!important;visibility:visible!important;}
.home-stat-item strong{font-family:var(--font-wordmark);font-weight:500;letter-spacing:.02em;color:#F5F8F8;}
.home-stat-item span{font-family:var(--font-wordmark);font-weight:300;letter-spacing:.12em;color:#F5F8F8;opacity:.92;}
@media(max-width:740px){.home-stat-band{display:block!important;padding:24px 0;}.home-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.home-stat-item{min-height:64px;}.home-stat-item strong{font-size:38px;}.home-stat-item span{font-size:11px;line-height:1.12;}}
@media(max-width:360px){.home-stat-item strong{font-size:34px;}.home-stat-item span{font-size:10px;}}
/* Force statistics visibility on phone layouts */
@media(max-width:740px){
  .home-stat-band{display:flex!important;align-items:center!important;position:relative!important;z-index:20!important;clear:both!important;width:100%!important;min-height:156px!important;margin:0!important;padding:24px 0!important;background:#034F53!important;color:#F5F8F8!important;overflow:hidden!important;}
  .home-stat-band:before{display:block!important;z-index:0!important;}
  .home-stat-grid{position:relative!important;z-index:2!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;min-height:108px!important;align-items:center!important;gap:18px 10px!important;opacity:1!important;transform:none!important;visibility:visible!important;}
  .home-stat-item{display:grid!important;align-content:center!important;justify-items:center!important;min-height:48px!important;color:#F5F8F8!important;}
  .home-stat-item strong{display:block!important;font-family:var(--font-wordmark)!important;font-weight:500!important;font-size:38px!important;line-height:.9!important;color:#F5F8F8!important;}
  .home-stat-item span{display:block!important;font-family:var(--font-wordmark)!important;font-weight:300!important;font-size:11px!important;line-height:1.1!important;color:#F5F8F8!important;opacity:.94!important;text-align:center!important;}
}
/* What makes TGM different */
.home-difference-section{--difference-mx:58%;--difference-my:42%;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 82% 2%,rgba(34,123,127,.12),transparent 30%),radial-gradient(circle at 14% 18%,rgba(210,159,55,.10),transparent 28%),linear-gradient(180deg,var(--fog) 0%,var(--paper) 58%,var(--fog) 100%);color:var(--graphite);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
html[data-theme='dark'] .home-difference-section{background:radial-gradient(circle at 80% 2%,rgba(97,169,173,.13),transparent 30%),radial-gradient(circle at 14% 18%,rgba(210,159,55,.08),transparent 28%),linear-gradient(180deg,var(--fog) 0%,var(--paper) 62%,var(--fog) 100%);}
.home-difference-section:before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:repeating-linear-gradient(105deg,rgba(34,123,127,.055) 0,rgba(34,123,127,.055) 1px,transparent 1px,transparent 72px),linear-gradient(90deg,rgba(3,79,83,.05) 1px,transparent 1px),linear-gradient(0deg,rgba(3,79,83,.04) 1px,transparent 1px);background-size:auto,52px 52px,52px 52px;opacity:.48;animation:differenceFieldDrift 30s linear infinite;}
.home-difference-section:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at var(--difference-mx) var(--difference-my),rgba(34,123,127,.13) 0%,rgba(210,159,55,.08) 18%,transparent 40%);opacity:0;transition:opacity .24s ease;mix-blend-mode:multiply;}
.home-difference-section:hover:after{opacity:1;}
html[data-theme='dark'] .home-difference-section:after{background:radial-gradient(circle at var(--difference-mx) var(--difference-my),rgba(97,169,173,.18) 0%,rgba(210,159,55,.08) 20%,transparent 44%);mix-blend-mode:screen;}
.home-difference-inner{position:relative;z-index:2;}
.home-difference-inner:before{content:'';position:absolute;right:-70px;bottom:-86px;width:min(430px,38vw);height:min(430px,38vw);z-index:0;pointer-events:none;background:linear-gradient(135deg,rgba(3,79,83,.88),rgba(3,79,83,.64)),url('../img/tgm-hero-city-bg-v8.jpg');background-image:linear-gradient(135deg,rgba(3,79,83,.88),rgba(3,79,83,.64)),image-set(url('../img/tgm-hero-city-bg-v8.webp') type('image/webp'),url('../img/tgm-hero-city-bg-v8.jpg') type('image/jpeg'));background-size:cover;background-position:center;clip-path:polygon(46% 0,100% 0,100% 100%,0 100%);opacity:.72;filter:saturate(.82) contrast(1.05);}
html[data-theme='dark'] .home-difference-inner:before{opacity:.48;filter:saturate(.72) brightness(.72) contrast(1.08);}
.home-difference-head,.difference-card-grid{position:relative;z-index:2;}
.home-difference-head{max-width:900px;margin-bottom:42px;}
.home-difference-rule{width:min(100%,320px);height:1px;background:var(--graphite);opacity:.78;margin:0 0 12px;}
.home-difference-head h2{font-family:var(--font-wordmark);font-size:clamp(46px,4.8vw,78px);line-height:1.05;text-transform:uppercase;letter-spacing:.025em;color:var(--graphite);margin:0 0 20px;}
.difference-title-line{display:block;}
.difference-title-strong{font-weight:500;}
.difference-title-light{font-weight:300;}
.home-difference-head p{max-width:930px;margin:0;color:var(--graphite);font-size:15px;line-height:1.45;}
html[data-theme='dark'] .home-difference-head p{color:var(--muted);}
.difference-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.difference-card{position:relative;min-height:260px;padding:36px 28px 30px 128px;border-radius:18px;background:rgba(255,255,255,.92);box-shadow:0 18px 44px rgba(16,23,24,.11);border:1px solid rgba(223,232,232,.72);overflow:hidden;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background-color .24s ease;}
html[data-theme='dark'] .difference-card{background:rgba(23,34,36,.88);border-color:rgba(97,169,173,.18);box-shadow:0 18px 48px rgba(0,0,0,.26);}
.difference-card:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 10%,rgba(34,123,127,.08),transparent 34%);opacity:0;transition:opacity .22s ease;}
.difference-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(3,79,83,.16);border-color:rgba(34,123,127,.22);}
html[data-theme='dark'] .difference-card:hover{box-shadow:0 24px 62px rgba(0,0,0,.38);border-color:rgba(97,169,173,.30);}
.difference-card:hover:before{opacity:1;}
.difference-icon{position:absolute;left:28px;top:36px;width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 32% 26%,rgba(97,169,173,.92),#034F53 70%);color:#fff;box-shadow:0 14px 28px rgba(3,79,83,.25);transition:transform .28s ease,box-shadow .28s ease;}
.difference-card:hover .difference-icon{transform:scale(1.06) rotate(-3deg);box-shadow:0 18px 36px rgba(3,79,83,.34);}
.difference-icon svg{width:46px;height:46px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;}
.difference-card h3{font-family:var(--font-heading);font-size:17px;line-height:1.14;text-transform:uppercase;letter-spacing:.01em;color:var(--tgm-teal-4);font-weight:900;margin:0 0 17px;}
html[data-theme='dark'] .difference-card h3{color:var(--tgm-teal-1);}
.difference-card h3:after{content:'';display:block;width:34px;height:2px;background:#ef3a64;margin-top:14px;}
.difference-card p{position:relative;z-index:1;color:var(--graphite);font-size:13px;line-height:1.46;margin:0;}
html[data-theme='dark'] .difference-card p{color:var(--muted);}
.difference-card .difference-lead{color:var(--ink);font-weight:900;line-height:1.38;margin-bottom:12px;}
@keyframes differenceFieldDrift{to{background-position:430px 0,52px 0,0 52px;}}
@media(max-width:1100px){.difference-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.home-difference-inner:before{width:360px;height:360px;opacity:.38;}.difference-card{min-height:240px;}}
@media(max-width:740px){.home-difference-section{padding-top:72px;padding-bottom:76px;}.home-difference-section:after{display:none;}.home-difference-inner:before{right:-126px;bottom:-70px;width:300px;height:300px;opacity:.22;}.home-difference-head{margin-bottom:28px;}.home-difference-rule{width:230px;margin-bottom:10px;}.home-difference-head h2{font-size:clamp(42px,12vw,54px);line-height:1.02;margin-bottom:18px;}.home-difference-head p{font-size:13.5px;line-height:1.45;}.difference-card-grid{grid-template-columns:1fr;gap:16px;}.difference-card{min-height:0;padding:94px 22px 24px;border-radius:14px;}.difference-icon{left:22px;top:22px;width:58px;height:58px;}.difference-icon svg{width:34px;height:34px;}.difference-card h3{font-size:15px;margin-bottom:15px;}.difference-card p{font-size:12.5px;}.difference-card:hover{transform:translateY(-3px);}}
@media(max-width:420px){.home-difference-head h2{font-size:38px;}.difference-title-light{display:inline;}.difference-card{padding:88px 18px 22px;}.difference-card h3{font-size:14px;}}

/* Difference section diagonal image constrained to section height */
.home-difference-inner:before{right:calc((100vw - min(1220px,100vw)) / -2);top:clamp(-104px,-8vw,-72px);bottom:clamp(-104px,-8vw,-72px);width:clamp(520px,34vw,760px);height:auto;clip-path:polygon(34% 0,100% 0,100% 100%,0 100%);opacity:.54;background-position:center;background-size:cover;}
html[data-theme='dark'] .home-difference-inner:before{opacity:.36;}
@media(max-width:1100px){.home-difference-inner:before{right:clamp(-120px,-8vw,-44px);top:-88px;bottom:-88px;width:clamp(360px,40vw,520px);opacity:.30;}}
@media(max-width:740px){.home-difference-inner:before{right:-154px;top:-72px;bottom:-76px;width:300px;height:auto;clip-path:polygon(46% 0,100% 0,100% 100%,0 100%);opacity:.16;}}
@media(max-width:420px){.home-difference-inner:before{right:-176px;width:286px;opacity:.13;}}

/* Difference section icon visual refinement */
.difference-icon{isolation:isolate;overflow:hidden;border-radius:22px;background:linear-gradient(145deg,rgba(255,218,142,.46) 0%,rgba(210,159,55,.20) 45%,rgba(255,255,255,.34) 100%);box-shadow:0 18px 34px rgba(3,79,83,.16),inset 0 1px 0 rgba(255,255,255,.46);}
.difference-icon:before{content:'';position:absolute;inset:8px;z-index:0;border-radius:50%;background:radial-gradient(circle at 30% 24%,#61A9AD 0%,#227B7F 42%,#034F53 100%);box-shadow:0 12px 24px rgba(3,79,83,.26),inset 0 1px 0 rgba(255,255,255,.28);transition:transform .28s ease,box-shadow .28s ease;}
.difference-icon:after{content:'';position:absolute;inset:0;z-index:1;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.36) 0%,rgba(255,255,255,.10) 36%,transparent 62%);pointer-events:none;}
.difference-icon svg{position:relative;z-index:2;width:34px;height:34px;color:#fff;stroke:#fff;stroke-width:2.15;filter:drop-shadow(0 2px 4px rgba(3,79,83,.24));}
.difference-card:hover .difference-icon{transform:scale(1.045) rotate(-2deg);box-shadow:0 22px 42px rgba(3,79,83,.20),inset 0 1px 0 rgba(255,255,255,.52);}
.difference-card:hover .difference-icon:before{transform:scale(1.06);box-shadow:0 16px 30px rgba(3,79,83,.32),inset 0 1px 0 rgba(255,255,255,.32);}
html[data-theme='dark'] .difference-icon{background:linear-gradient(145deg,rgba(210,159,55,.25),rgba(97,169,173,.10) 52%,rgba(255,255,255,.08));box-shadow:0 18px 34px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.14);}
@media(max-width:740px){.difference-icon{border-radius:18px;}.difference-icon:before{inset:6px;}.difference-icon svg{width:28px;height:28px;stroke-width:2.05;}}

/* Difference section glass emblem icon pass */
.difference-icon{--glass-a:#61A9AD;--glass-b:#227B7F;--glass-c:#034F53;overflow:hidden;border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.34) 0%,rgba(97,169,173,.72) 18%,rgba(34,123,127,.92) 56%,rgba(3,79,83,.94) 100%);box-shadow:0 18px 34px rgba(3,79,83,.20),inset 0 1px 0 rgba(255,255,255,.42),inset 0 -18px 28px rgba(3,79,83,.22);border:1px solid rgba(245,248,248,.22);}
.difference-icon:before{content:'';position:absolute;z-index:1;inset:-72%;border-radius:0;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.16) 45%,rgba(255,255,255,.64) 50%,rgba(255,255,255,.14) 56%,transparent 64%);transform:translate(-38%,-38%) rotate(0deg);animation:differenceGlassSweep 3.8s cubic-bezier(.45,0,.2,1) infinite;}
.difference-icon:after{content:'';position:absolute;z-index:2;inset:0;border-radius:inherit;background:radial-gradient(circle at 28% 20%,rgba(255,255,255,.44),transparent 32%),linear-gradient(145deg,rgba(255,255,255,.24),transparent 48%,rgba(3,79,83,.20));pointer-events:none;}
.difference-icon svg{position:relative;z-index:3;width:35px;height:35px;color:rgba(245,248,248,.96);stroke:currentColor;stroke-width:2.1;filter:drop-shadow(0 2px 5px rgba(3,79,83,.30));}
.difference-card:hover .difference-icon{transform:scale(1.045) rotate(-1.5deg);box-shadow:0 22px 42px rgba(3,79,83,.25),inset 0 1px 0 rgba(255,255,255,.50),inset 0 -18px 28px rgba(3,79,83,.24);}
.difference-card:hover .difference-icon:before{animation-duration:1.7s;}
html[data-theme='dark'] .difference-icon{background:linear-gradient(145deg,rgba(255,255,255,.18) 0%,rgba(97,169,173,.58) 20%,rgba(34,123,127,.78) 58%,rgba(3,79,83,.88) 100%);border-color:rgba(245,248,248,.14);box-shadow:0 18px 34px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -18px 28px rgba(0,0,0,.26);}
@keyframes differenceGlassSweep{0%,18%{transform:translate(-46%,-46%) rotate(0deg);opacity:0;}34%{opacity:1;}58%{transform:translate(46%,46%) rotate(0deg);opacity:.95;}72%,100%{transform:translate(58%,58%) rotate(0deg);opacity:0;}}
@media(max-width:740px){.difference-icon{border-radius:17px;}.difference-icon svg{width:28px;height:28px;stroke-width:2.05;}}
@media(prefers-reduced-motion:reduce){.difference-icon:before{animation:none;opacity:.18;transform:translate(12%,12%);}}

/* Difference section transparent glass icon tint */
.difference-icon{background:linear-gradient(145deg,rgba(255,255,255,.54) 0%,rgba(245,248,248,.24) 28%,rgba(97,169,173,.20) 60%,rgba(3,79,83,.28) 100%);backdrop-filter:blur(12px) saturate(1.18);-webkit-backdrop-filter:blur(12px) saturate(1.18);border:1px solid rgba(245,248,248,.46);box-shadow:0 16px 30px rgba(3,79,83,.16),inset 0 1px 0 rgba(255,255,255,.62),inset 0 -18px 28px rgba(3,79,83,.10);}
.difference-icon:after{background:radial-gradient(circle at 25% 16%,rgba(255,255,255,.72),rgba(255,255,255,.20) 30%,transparent 58%),linear-gradient(145deg,rgba(255,255,255,.24),transparent 54%,rgba(3,79,83,.08));}
.difference-icon svg{color:rgba(245,248,248,.98);stroke:currentColor;filter:drop-shadow(0 2px 5px rgba(3,79,83,.28));}
.difference-card:hover .difference-icon{box-shadow:0 20px 38px rgba(3,79,83,.20),inset 0 1px 0 rgba(255,255,255,.70),inset 0 -18px 28px rgba(3,79,83,.12);}
html[data-theme='dark'] .difference-icon{background:linear-gradient(145deg,rgba(255,255,255,.22) 0%,rgba(245,248,248,.10) 30%,rgba(97,169,173,.14) 62%,rgba(3,79,83,.24) 100%);border-color:rgba(245,248,248,.22);box-shadow:0 16px 30px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.20),inset 0 -18px 28px rgba(0,0,0,.12);}

/* Difference title typography and white card accent rules */
.home-difference-head h2{font-family:var(--font-wordmark);font-weight:300;letter-spacing:.035em;}
.difference-title-strong{font-family:var(--font-wordmark);font-weight:500;}
.difference-title-light{font-family:var(--font-wordmark);font-weight:300;}
.difference-card h3:after{background:#fff;box-shadow:0 0 0 1px rgba(3,79,83,.08),0 4px 12px rgba(3,79,83,.12);}
html[data-theme='dark'] .difference-card h3:after{background:#fff;box-shadow:0 0 18px rgba(245,248,248,.18);}

/* Difference title strong weight and light-theme graphite accents */
.home-difference-head h2 .difference-title-strong,
.home-difference-head h2 .difference-title-strong[data-en]{font-family:var(--font-wordmark)!important;font-weight:700!important;letter-spacing:.035em!important;}
.home-difference-head h2 .difference-title-light,
.home-difference-head h2 .difference-title-light[data-en]{font-family:var(--font-wordmark)!important;font-weight:300!important;letter-spacing:.035em!important;}
html:not([data-theme='dark']) .difference-icon svg{color:#2E393B!important;stroke:#2E393B!important;filter:drop-shadow(0 1px 2px rgba(255,255,255,.72)) drop-shadow(0 2px 5px rgba(46,57,59,.18));}
html:not([data-theme='dark']) .difference-card h3:after{background:#2E393B;box-shadow:0 1px 0 rgba(255,255,255,.72),0 5px 14px rgba(46,57,59,.14);}
html[data-theme='dark'] .difference-icon svg{color:#F5F8F8!important;stroke:#F5F8F8!important;}
html[data-theme='dark'] .difference-card h3:after{background:#F5F8F8;}

/* Homepage testimony carousel */
.testimony-section{position:relative;overflow:hidden;background:radial-gradient(circle at 12% 8%,rgba(210,159,55,.10),transparent 26%),radial-gradient(circle at 86% 12%,rgba(34,123,127,.12),transparent 32%),linear-gradient(180deg,var(--paper),var(--fog));border-top:1px solid var(--line);color:var(--graphite);}
html[data-theme='dark'] .testimony-section{background:radial-gradient(circle at 12% 8%,rgba(210,159,55,.08),transparent 28%),radial-gradient(circle at 88% 14%,rgba(97,169,173,.13),transparent 34%),linear-gradient(180deg,var(--paper),var(--fog));}
.testimony-section:before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(105deg,rgba(34,123,127,.045) 0,rgba(34,123,127,.045) 1px,transparent 1px,transparent 76px);opacity:.42;animation:serviceFieldDrift 30s linear infinite;}
.testimony-inner{position:relative;z-index:2;}
.testimony-head{max-width:760px;text-align:center;margin:0 auto 36px;}
.testimony-rule{width:240px;height:1px;background:var(--graphite);opacity:.68;margin:0 auto 16px;}
.testimony-head h2{font-family:var(--font-wordmark);font-size:clamp(46px,4.4vw,72px);line-height:.94;text-transform:uppercase;letter-spacing:.035em;color:var(--graphite);font-weight:500;margin:0 0 16px;}
.testimony-head p{max-width:660px;margin:0 auto;color:var(--muted);font-size:15px;line-height:1.45;}
.testimony-shell{position:relative;}
.testimony-controls{position:absolute;right:0;top:-76px;display:flex;gap:10px;z-index:4;}
.testimony-control{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.82);backdrop-filter:blur(10px);color:var(--graphite);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-soft);transition:transform .2s ease,background .2s ease,border-color .2s ease;}
.testimony-control:hover{transform:translateY(-2px);border-color:rgba(34,123,127,.28);background:rgba(245,248,248,.96);}
html[data-theme='dark'] .testimony-control{background:rgba(23,34,36,.78);}
.testimony-control svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.testimony-track{--testimony-gap:22px;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--testimony-gap) * 2)) / 3);gap:var(--testimony-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:2px;padding:4px 2px 22px;scrollbar-color:var(--tgm-teal) rgba(34,123,127,.12);scrollbar-width:thin;}
.testimony-track::-webkit-scrollbar{height:10px;}
.testimony-track::-webkit-scrollbar-track{background:rgba(34,123,127,.10);border-radius:999px;}
.testimony-track::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--tgm-teal),var(--tgm-teal-4));border-radius:999px;}
.testimony-card{position:relative;scroll-snap-align:start;min-height:262px;padding:28px;border-radius:8px;background:rgba(255,255,255,.92);border:1px solid rgba(223,232,232,.82);box-shadow:0 16px 40px rgba(16,23,24,.10);display:flex;flex-direction:column;justify-content:space-between;gap:24px;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;}
html[data-theme='dark'] .testimony-card{background:rgba(23,34,36,.86);border-color:rgba(97,169,173,.18);box-shadow:0 18px 44px rgba(0,0,0,.26);}
.testimony-card:hover{transform:translateY(-5px);box-shadow:0 24px 58px rgba(3,79,83,.16);border-color:rgba(34,123,127,.26);}
.testimony-card:before{content:'\201C';position:absolute;right:22px;top:10px;font-family:Georgia,serif;font-size:74px;line-height:1;color:rgba(34,123,127,.08);}
html[data-theme='dark'] .testimony-card:before{color:rgba(245,248,248,.07);}
.testimony-quote{position:relative;z-index:1;margin:0;color:var(--graphite);font-size:13px;line-height:1.48;}
html[data-theme='dark'] .testimony-quote{color:var(--muted);}
.testimony-person{position:relative;z-index:1;display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;align-items:center;}
.testimony-avatar{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,rgba(223,232,232,.96),rgba(245,248,248,.82));border:1px solid rgba(223,232,232,.92);box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 10px 24px rgba(16,23,24,.08);color:rgba(97,112,113,.74);font-size:10px;font-weight:900;letter-spacing:.02em;}
html[data-theme='dark'] .testimony-avatar{background:linear-gradient(145deg,rgba(97,169,173,.28),rgba(23,34,36,.86));border-color:rgba(97,169,173,.22);color:rgba(245,248,248,.72);}
.testimony-person h3{margin:0 0 2px;font-family:var(--font-heading);font-size:15px;line-height:1.1;text-transform:uppercase;color:var(--tgm-teal-4);font-weight:900;}
html[data-theme='dark'] .testimony-person h3{color:var(--tgm-teal-1);}
.testimony-person p{margin:0;color:var(--graphite);font-size:12px;font-weight:800;line-height:1.25;}
.testimony-person small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.2;}
@media(max-width:1020px){.testimony-track{grid-auto-columns:calc((100% - var(--testimony-gap)) / 2);}.testimony-controls{top:-70px;}}
@media(max-width:740px){.testimony-section{padding-top:72px;padding-bottom:74px;}.testimony-head{text-align:left;margin-bottom:26px;}.testimony-rule{margin-left:0;width:220px;}.testimony-head h2{font-size:clamp(42px,13vw,54px);}.testimony-head p{font-size:13.5px;margin-left:0;}.testimony-controls{position:relative;right:auto;top:auto;justify-content:flex-end;margin:-8px 0 12px;}.testimony-track{--testimony-gap:14px;grid-auto-columns:86%;padding-bottom:18px;}.testimony-card{min-height:280px;padding:22px;border-radius:8px;}.testimony-person{grid-template-columns:60px minmax(0,1fr);gap:13px;}.testimony-avatar{width:60px;height:60px;font-size:9px;}.testimony-person h3{font-size:13.5px;}.testimony-quote{font-size:12.5px;}}
@media(max-width:420px){.testimony-track{grid-auto-columns:92%;}.testimony-card{min-height:300px;}.testimony-control{width:40px;height:40px;}}

/* Testimony wide blend refinement */
.testimony-section{--testimony-mx:58%;--testimony-my:42%;background:radial-gradient(circle at 82% 2%,rgba(34,123,127,.12),transparent 30%),radial-gradient(circle at 14% 18%,rgba(210,159,55,.10),transparent 28%),linear-gradient(180deg,var(--fog) 0%,var(--paper) 58%,var(--fog) 100%);}
html[data-theme='dark'] .testimony-section{background:radial-gradient(circle at 80% 2%,rgba(97,169,173,.13),transparent 30%),radial-gradient(circle at 14% 18%,rgba(210,159,55,.08),transparent 28%),linear-gradient(180deg,var(--fog) 0%,var(--paper) 62%,var(--fog) 100%);}
.testimony-section:before{background:repeating-linear-gradient(105deg,rgba(34,123,127,.055) 0,rgba(34,123,127,.055) 1px,transparent 1px,transparent 72px),linear-gradient(90deg,rgba(3,79,83,.05) 1px,transparent 1px),linear-gradient(0deg,rgba(3,79,83,.04) 1px,transparent 1px);background-size:auto,52px 52px,52px 52px;opacity:.48;animation:differenceFieldDrift 30s linear infinite;}
.testimony-section:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at var(--testimony-mx) var(--testimony-my),rgba(34,123,127,.13) 0%,rgba(210,159,55,.08) 18%,transparent 40%);opacity:0;transition:opacity .24s ease;mix-blend-mode:multiply;}
.testimony-section:hover:after{opacity:1;}
html[data-theme='dark'] .testimony-section:after{background:radial-gradient(circle at var(--testimony-mx) var(--testimony-my),rgba(97,169,173,.18) 0%,rgba(210,159,55,.08) 20%,transparent 44%);mix-blend-mode:screen;}
.testimony-section .container{max-width:min(1680px,calc(100vw - 108px));}
.testimony-head{max-width:800px;}
.testimony-head h2{font-family:var(--font-wordmark)!important;font-weight:500!important;letter-spacing:.055em!important;}
.testimony-shell{max-width:100%;}
.testimony-track{grid-auto-columns:calc((100% - (var(--testimony-gap) * 2)) / 3);}
@media(min-width:1440px){.testimony-section .container{max-width:min(1760px,calc(100vw - 116px));}.testimony-card{padding:32px;}.testimony-track{--testimony-gap:26px;}}
@media(max-width:1020px){.testimony-section .container{max-width:var(--max);}.testimony-section:after{display:none;}}
@media(max-width:740px){.testimony-section .container{max-width:var(--max);}.testimony-head h2{letter-spacing:.045em!important;}}

/* Testimony mobile single-card and title font fix */
.testimony-head h2,
.testimony-head h2 span{font-family:var(--font-wordmark)!important;font-weight:500!important;font-style:normal!important;font-variation-settings:'wght' 500!important;text-transform:uppercase!important;}
.testimony-head h2 span{-webkit-text-stroke:.22px currentColor;text-rendering:geometricPrecision;}
@media(max-width:740px){
  .testimony-section .container{max-width:var(--max)!important;padding-left:20px;padding-right:20px;overflow:hidden;}
  .testimony-shell{width:100%;overflow:hidden;}
  .testimony-track{--testimony-gap:16px!important;display:grid!important;grid-auto-flow:column!important;grid-auto-columns:100%!important;gap:var(--testimony-gap)!important;width:100%!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scroll-padding:0!important;padding:2px 0 18px!important;}
  .testimony-card{width:100%!important;min-width:0!important;min-height:0!important;padding:24px!important;display:flex!important;gap:28px!important;}
  .testimony-quote{font-size:13.5px!important;line-height:1.5!important;}
  .testimony-person{grid-template-columns:64px minmax(0,1fr)!important;align-items:center!important;}
  .testimony-avatar{width:64px!important;height:64px!important;}
  .testimony-person h3{font-size:15px!important;line-height:1.05!important;}
  .testimony-person p,.testimony-person small{font-size:12px!important;}
}
@media(max-width:420px){
  .testimony-track{grid-auto-columns:100%!important;}
  .testimony-card{padding:22px!important;}
}

/* Testimony final title weight */
.testimony-head h2,
.testimony-head h2 span{font-family:var(--font-wordmark)!important;font-weight:700!important;font-style:normal!important;font-variation-settings:'wght' 700!important;letter-spacing:.055em!important;text-transform:uppercase!important;color:var(--graphite)!important;}
.testimony-head h2 span{-webkit-text-stroke:.35px currentColor;text-rendering:geometricPrecision;}
/* Homepage BIG-style intro loader */
body.intro-lock{overflow:hidden;}
body.intro-running .site-header .brand-logo-img.monogram-only-header{opacity:0;transition:opacity .18s ease;}
.home-intro-loader{--intro-x:0px;--intro-y:0px;--intro-scale:.42;position:fixed;inset:0;z-index:30000;background:#034F53;display:block;overflow:hidden;pointer-events:all;opacity:1;visibility:visible;animation:homeIntroFailsafe 4.6s ease forwards;transition:opacity .46s ease,visibility .46s ease;}
.home-intro-loader:before,.home-intro-loader:after{content:'';position:absolute;border-radius:50%;pointer-events:none;opacity:.18;}
.home-intro-loader:before{width:52vmax;height:52vmax;left:-20vmax;top:-18vmax;border:1px solid rgba(245,248,248,.26);}
.home-intro-loader:after{width:36vmax;height:36vmax;right:-14vmax;bottom:-16vmax;background:radial-gradient(circle,rgba(97,169,173,.18),transparent 68%);}
.home-intro-logo{position:fixed;left:50%;top:50%;width:118px;height:118px;display:grid;place-items:center;transform:translate(-50%,-50%) scale(1);transform-origin:center;will-change:transform,opacity;transition:transform 1.08s cubic-bezier(.78,0,.18,1),opacity .34s ease;z-index:1;}
.home-intro-logo img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 18px 34px rgba(0,0,0,.18));}
.home-intro-loader.is-moving .home-intro-logo{transform:translate(-50%,-50%) translate(var(--intro-x),var(--intro-y)) scale(var(--intro-scale));}
.home-intro-loader.is-revealing{animation:none;opacity:0;visibility:hidden;pointer-events:none;}
.home-intro-loader.is-done{display:none!important;}
@keyframes homeIntroFailsafe{0%,82%{opacity:1;visibility:visible;}100%{opacity:0;visibility:hidden;pointer-events:none;}}
@media(max-width:740px){.home-intro-logo{width:96px;height:96px;}}
@media(prefers-reduced-motion:reduce){body.intro-lock{overflow:auto;}.home-intro-loader{animation:none;transition:opacity .28s ease,visibility .28s ease;}.home-intro-loader:before,.home-intro-loader:after{display:none;}.home-intro-logo{transition:none;width:86px;height:86px;}}
/* CTA gold consultation panel */
.cta-gold-panel{position:relative;overflow:hidden;isolation:isolate;background:#D29F37!important;color:#034F53!important;padding:clamp(72px,7.5vw,116px) 0;border-top:1px solid rgba(3,79,83,.18);}
.cta-gold-panel:before{content:'';position:absolute;z-index:0;right:clamp(-310px,-12vw,-120px);top:50%;width:clamp(520px,42vw,760px);height:clamp(520px,42vw,760px);border-radius:50%;border:clamp(64px,6.8vw,116px) solid rgba(3,79,83,.92);transform:translateY(-50%);opacity:.96;box-shadow:0 0 0 2px rgba(245,248,248,.20),inset 0 0 0 2px rgba(210,159,55,.36);}
.cta-gold-panel:after{content:'';position:absolute;z-index:0;right:clamp(18px,5vw,105px);bottom:clamp(-42px,-3vw,-10px);width:min(360px,29vw);height:min(210px,18vw);background:linear-gradient(180deg,rgba(3,79,83,.08),rgba(3,79,83,.24)),repeating-linear-gradient(90deg,rgba(3,79,83,.34) 0 1px,transparent 1px 18px),repeating-linear-gradient(0deg,rgba(3,79,83,.26) 0 1px,transparent 1px 22px);clip-path:polygon(7% 100%,22% 22%,47% 4%,76% 18%,96% 100%);opacity:.56;filter:drop-shadow(0 18px 30px rgba(3,79,83,.18));}
.cta-gold-pattern{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 6% 6%,rgba(255,218,142,.72),transparent 22%),radial-gradient(circle at 72% 42%,rgba(175,127,27,.18),transparent 28%),linear-gradient(115deg,transparent 0 62%,rgba(3,79,83,.13) 62.2% 76%,transparent 76.2%),repeating-radial-gradient(circle at 91% 14%,rgba(3,79,83,.76) 0 2px,transparent 2.5px 22px);opacity:.88;}
.cta-gold-pattern:before{content:'';position:absolute;right:16%;top:12%;width:38vw;min-width:360px;max-width:720px;height:38vw;min-height:360px;max-height:720px;border-radius:50%;border:2px solid rgba(255,218,142,.82);box-shadow:0 0 0 1px rgba(3,79,83,.20);opacity:.74;}
.cta-gold-pattern:after{content:'';position:absolute;left:0;right:0;top:0;height:100%;background:repeating-linear-gradient(105deg,rgba(255,255,255,.10) 0,rgba(255,255,255,.10) 1px,transparent 1px,transparent 74px);animation:serviceFieldDrift 34s linear infinite;opacity:.38;}
.cta-gold-inner{position:relative;z-index:2;display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(34px,6vw,92px);}
.cta-gold-copy{max-width:980px;}
.cta-question-list{display:grid;gap:8px;margin:0!important;font-family:var(--font-wordmark)!important;font-size:clamp(42px,4.4vw,78px)!important;line-height:.98!important;letter-spacing:.01em!important;color:#034F53!important;text-transform:none!important;text-wrap:balance;}
.cta-question-line{display:block;}
.cta-word-medium{font-family:var(--font-wordmark)!important;font-weight:500!important;font-variation-settings:'wght' 500;}
.cta-word-light{font-family:var(--font-wordmark)!important;font-weight:300!important;font-variation-settings:'wght' 300;}
.cta-gold-rule{width:116px;height:4px;background:#034F53;margin:clamp(24px,2.8vw,38px) 0 24px;border-radius:999px;box-shadow:0 1px 0 rgba(255,218,142,.34);}
.cta-gold-copy p{margin:0;max-width:760px;color:#034F53;font-size:clamp(17px,1.55vw,28px);line-height:1.35;font-weight:400;}
.cta-gold-actions{display:flex!important;justify-content:flex-end;align-items:center;gap:18px;flex-wrap:nowrap;margin:0!important;min-width:max-content;}
.cta-contact-btn{height:76px;min-width:250px;padding:0 28px;border-radius:10px!important;background:linear-gradient(135deg,#034F53,#06393c)!important;color:#D29F37!important;border:2px solid rgba(255,218,142,.72)!important;box-shadow:0 18px 32px rgba(3,79,83,.30),inset 0 1px 0 rgba(255,255,255,.14);font-family:var(--font-body);font-size:24px;font-weight:900;gap:18px;transition:transform .22s ease,box-shadow .22s ease,background .22s ease;}
.cta-contact-btn:hover{transform:translateY(-4px);box-shadow:0 24px 44px rgba(3,79,83,.38),inset 0 1px 0 rgba(255,255,255,.20);background:linear-gradient(135deg,#063f43,#034F53)!important;}
.cta-contact-btn .cta-btn-icon{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.cta-contact-btn .cta-arrow{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;margin-left:8px;}
@media(max-width:1180px){.cta-gold-inner{grid-template-columns:1fr;align-items:start;}.cta-gold-actions{justify-content:flex-start;}.cta-gold-panel:before{right:-300px;opacity:.48;}.cta-gold-panel:after{right:2%;opacity:.34;}.cta-gold-pattern:before{right:-4%;opacity:.48;}.cta-question-list{font-size:clamp(42px,7vw,66px)!important;}}
@media(max-width:740px){.cta-gold-panel{padding:68px 0 78px;}.cta-gold-panel:before{width:440px;height:440px;right:-300px;top:68%;border-width:62px;opacity:.34;}.cta-gold-panel:after{width:230px;height:140px;right:-26px;bottom:-20px;opacity:.22;}.cta-gold-pattern{background:radial-gradient(circle at 4% 8%,rgba(255,218,142,.58),transparent 24%),linear-gradient(120deg,transparent 0 68%,rgba(3,79,83,.09) 68.2% 84%,transparent 84.2%),repeating-radial-gradient(circle at 92% 12%,rgba(3,79,83,.48) 0 1.5px,transparent 2px 18px);}.cta-gold-pattern:before{right:-160px;top:30%;min-width:330px;min-height:330px;}.cta-gold-inner{gap:28px;}.cta-question-list{font-size:clamp(36px,11.5vw,52px)!important;gap:7px!important;line-height:1.02!important;}.cta-gold-rule{width:88px;height:3px;margin:22px 0 18px;}.cta-gold-copy p{font-size:16px;line-height:1.45;}.cta-gold-actions{display:grid!important;width:100%;gap:12px;min-width:0;}.cta-contact-btn{width:100%!important;min-width:0;height:62px;font-size:18px;border-radius:10px!important;justify-content:center;}.cta-contact-btn .cta-btn-icon{width:30px;height:30px;}.cta-contact-btn .cta-arrow{width:25px;height:25px;}}
@media(prefers-reduced-motion:reduce){.cta-gold-pattern:after{animation:none;}}
/* CTA compact calm animated revision */
.cta-gold-panel{--cta-mx:58%;--cta-my:46%;padding:clamp(46px,4.8vw,76px) 0!important;min-height:auto;background:#D29F37!important;}
.cta-gold-panel:before{right:clamp(-230px,-9vw,-96px)!important;top:54%!important;width:clamp(360px,31vw,560px)!important;height:clamp(360px,31vw,560px)!important;border-width:clamp(42px,4vw,70px)!important;border-color:rgba(3,79,83,.58)!important;opacity:.62!important;box-shadow:0 0 0 1px rgba(255,218,142,.34),inset 0 0 0 1px rgba(255,218,142,.20)!important;}
.cta-gold-panel:after{content:''!important;position:absolute!important;inset:0!important;z-index:1!important;width:auto!important;height:auto!important;right:auto!important;bottom:auto!important;clip-path:none!important;filter:none!important;pointer-events:none!important;background:radial-gradient(circle at var(--cta-mx) var(--cta-my),rgba(245,248,248,.26) 0%,rgba(3,79,83,.12) 16%,rgba(3,79,83,0) 38%)!important;opacity:0!important;transition:opacity .22s ease!important;mix-blend-mode:soft-light!important;}
.cta-gold-panel:hover:after{opacity:1!important;}
.cta-gold-pattern{background:radial-gradient(circle at 8% 12%,rgba(255,218,142,.42),transparent 24%),radial-gradient(circle at 80% 34%,rgba(3,79,83,.14),transparent 30%),linear-gradient(116deg,transparent 0 64%,rgba(3,79,83,.10) 64.3% 79%,transparent 79.3%)!important;opacity:1!important;}
.cta-gold-pattern:before{right:10%!important;top:9%!important;width:clamp(280px,28vw,520px)!important;height:clamp(280px,28vw,520px)!important;min-width:0!important;min-height:0!important;border:1px solid rgba(255,218,142,.60)!important;box-shadow:0 0 0 1px rgba(3,79,83,.10)!important;opacity:.34!important;animation:ctaGoldCircleFloat 18s ease-in-out infinite alternate!important;}
.cta-gold-pattern:after{content:''!important;position:absolute!important;inset:-34% -20%!important;height:auto!important;background:linear-gradient(112deg,transparent 34%,rgba(255,255,255,.18) 47%,rgba(255,255,255,.08) 54%,transparent 68%)!important;opacity:.42!important;animation:ctaGoldSoftSweep 13s ease-in-out infinite alternate!important;}
.cta-gold-inner{gap:clamp(28px,4.4vw,64px)!important;}
.cta-gold-copy{max-width:760px!important;}
.cta-question-list{font-size:clamp(32px,3.1vw,52px)!important;line-height:1.04!important;gap:3px!important;letter-spacing:.006em!important;max-width:780px!important;}
.cta-gold-rule{width:86px!important;height:3px!important;margin:clamp(18px,1.9vw,26px) 0 16px!important;}
.cta-gold-copy p{font-size:clamp(15px,1.12vw,20px)!important;line-height:1.45!important;max-width:620px!important;}
.cta-gold-actions{gap:12px!important;align-self:center!important;}
.cta-contact-btn{height:58px!important;min-width:190px!important;padding:0 20px!important;border-radius:8px!important;font-size:18px!important;gap:12px!important;box-shadow:0 12px 24px rgba(3,79,83,.24),inset 0 1px 0 rgba(255,255,255,.13)!important;}
.cta-contact-btn .cta-btn-icon{width:29px!important;height:29px!important;}
.cta-contact-btn .cta-arrow{width:25px!important;height:25px!important;margin-left:4px!important;}
@keyframes ctaGoldSoftSweep{0%{transform:translateX(-16%) skewX(-12deg);opacity:.22;}50%{opacity:.46;}100%{transform:translateX(14%) skewX(-12deg);opacity:.30;}}
@keyframes ctaGoldCircleFloat{0%{transform:translate3d(0,0,0) scale(1);}100%{transform:translate3d(-18px,14px,0) scale(1.035);}}
@media(max-width:1180px){.cta-gold-panel{padding:54px 0 64px!important;}.cta-gold-panel:before{right:-250px!important;opacity:.40!important;}.cta-gold-inner{gap:26px!important;}.cta-question-list{font-size:clamp(34px,5.6vw,48px)!important;}.cta-gold-actions{justify-content:flex-start!important;}}
@media(max-width:740px){.cta-gold-panel{padding:50px 0 58px!important;}.cta-gold-panel:before{width:330px!important;height:330px!important;right:-230px!important;top:64%!important;border-width:46px!important;opacity:.28!important;}.cta-gold-pattern{background:radial-gradient(circle at 7% 10%,rgba(255,218,142,.42),transparent 26%),radial-gradient(circle at 88% 22%,rgba(3,79,83,.13),transparent 34%),linear-gradient(120deg,transparent 0 68%,rgba(3,79,83,.08) 68.2% 84%,transparent 84.2%)!important;}.cta-gold-pattern:before{right:-80px!important;top:18%!important;width:260px!important;height:260px!important;opacity:.24!important;}.cta-question-list{font-size:clamp(30px,9.6vw,40px)!important;line-height:1.04!important;gap:4px!important;}.cta-gold-rule{width:72px!important;height:3px!important;margin:18px 0 14px!important;}.cta-gold-copy p{font-size:15px!important;}.cta-gold-actions{width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}.cta-contact-btn{height:54px!important;width:100%!important;min-width:0!important;font-size:16px!important;}.cta-contact-btn .cta-btn-icon{width:26px!important;height:26px!important;}.cta-contact-btn .cta-arrow{width:22px!important;height:22px!important;}}
@media(prefers-reduced-motion:reduce){.cta-gold-pattern:before,.cta-gold-pattern:after{animation:none!important;}}
/* CTA question hover refinement */
.cta-question-line{position:relative;transition:transform .22s ease,text-shadow .22s ease,color .22s ease;will-change:transform;}
.cta-question-line:after{content:'';position:absolute;left:0;bottom:-3px;width:0;height:2px;border-radius:999px;background:#034F53;opacity:.76;transition:width .24s ease;}
.cta-question-line:hover{transform:translateX(8px);text-shadow:0 10px 20px rgba(3,79,83,.14);}
.cta-question-line:hover:after{width:78px;}
@media(max-width:740px){.cta-question-line:hover{transform:translateX(4px);}.cta-question-line:hover:after{width:54px;}}
@media(prefers-reduced-motion:reduce){.cta-question-line,.cta-question-line:after{transition:none!important;}.cta-question-line:hover{transform:none;}}
/* CTA keyword hover and stronger spotlight */
.cta-lang{display:inline;}
.cta-lang-id{display:none;}
body[data-lang='id'] .cta-gold-panel .cta-lang-en{display:none;}
body[data-lang='id'] .cta-gold-panel .cta-lang-id{display:inline;}
body[data-lang='en'] .cta-gold-panel .cta-lang-en{display:inline;}
body[data-lang='en'] .cta-gold-panel .cta-lang-id{display:none;}
.cta-keyword{font-family:var(--font-wordmark)!important;font-weight:300;font-variation-settings:'wght' 300;color:#034F53;transition:font-weight .2s ease,font-variation-settings .2s ease,color .2s ease,text-shadow .2s ease;}
.cta-question-line:hover .cta-keyword{font-weight:700;font-variation-settings:'wght' 700;color:#012f32;text-shadow:0 7px 18px rgba(3,79,83,.22);}
.cta-gold-panel:after{background:radial-gradient(circle at var(--cta-mx) var(--cta-my),rgba(245,248,248,.48) 0%,rgba(255,218,142,.28) 15%,rgba(3,79,83,.20) 28%,rgba(3,79,83,0) 52%)!important;mix-blend-mode:normal!important;filter:blur(.2px)!important;}
.cta-gold-panel:hover:after{opacity:.94!important;}
.cta-gold-pattern{background:radial-gradient(circle at var(--cta-mx) var(--cta-my),rgba(245,248,248,.18),transparent 22%),radial-gradient(circle at 8% 12%,rgba(255,218,142,.42),transparent 24%),radial-gradient(circle at 80% 34%,rgba(3,79,83,.14),transparent 30%),linear-gradient(116deg,transparent 0 64%,rgba(3,79,83,.10) 64.3% 79%,transparent 79.3%)!important;transition:background-position .2s ease,opacity .22s ease;}
.cta-gold-panel:hover .cta-gold-pattern:after{opacity:.62!important;}
@media(max-width:740px){.cta-question-line:hover .cta-keyword{text-shadow:0 5px 14px rgba(3,79,83,.18);}.cta-gold-panel:hover:after{opacity:.70!important;}}
@media(prefers-reduced-motion:reduce){.cta-keyword{transition:none!important;}}
/* Footer content and social icon refinement */
.site-footer .footer-grid h4{font-family:var(--font-wordmark)!important;font-weight:500!important;font-variation-settings:'wght' 500;font-size:13px!important;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:rgba(245,248,248,.68)!important;margin:0 0 18px!important;}
.site-footer .footer-connect-link{display:flex!important;align-items:center;gap:10px;width:max-content;max-width:100%;padding:6px 0!important;color:rgba(255,255,255,.80)!important;transition:color .2s ease,transform .2s ease;}
.site-footer .footer-connect-link:hover{color:#fff!important;transform:translateX(4px);}
.footer-connect-icon{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;opacity:.92;}
.footer-connect-link:hover .footer-connect-icon{color:var(--tgm-gold);opacity:1;}
.site-footer .footer-grid p{line-height:1.68;}
.site-footer .footer-bottom{justify-content:flex-start;}
@media(max-width:740px){.site-footer .footer-grid h4{font-size:12.5px!important;margin-bottom:12px!important;}.site-footer .footer-connect-link{width:100%;}.site-footer .footer-bottom{padding-left:20px;padding-right:20px;}}
/* Floating homepage quick navigation */
.page-quick-nav{position:fixed;right:18px;bottom:18px;z-index:9980;display:flex;flex-direction:column;align-items:flex-end;gap:10px;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .22s ease,transform .22s ease;}
.page-quick-nav.is-visible{opacity:1;transform:none;pointer-events:auto;}
.quick-section-list{display:grid;gap:7px;padding:9px;border:1px solid rgba(223,232,232,.72);border-radius:999px;background:rgba(245,248,248,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 16px 34px rgba(3,79,83,.16);}
html[data-theme='dark'] .quick-section-list{background:rgba(23,34,36,.78);border-color:rgba(97,169,173,.18);box-shadow:0 16px 34px rgba(0,0,0,.28);}
.quick-section-link{position:relative;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;color:var(--tgm-teal);outline:none;}
.quick-dot-core{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.55;box-shadow:0 0 0 0 rgba(34,123,127,.0);transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease,background .2s ease;}
.quick-section-link:hover .quick-dot-core,.quick-section-link.active .quick-dot-core{opacity:1;transform:scale(1.35);background:var(--tgm-gold);box-shadow:0 0 0 5px rgba(210,159,55,.16),0 0 18px rgba(210,159,55,.38);}
.quick-section-link b{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%) translateX(6px);padding:7px 10px;border-radius:999px;background:#034F53;color:#F5F8F8;font-family:var(--font-wordmark);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;opacity:0;pointer-events:none;box-shadow:0 10px 24px rgba(3,79,83,.22);transition:opacity .2s ease,transform .2s ease;}
.quick-section-link:hover b,.quick-section-link:focus-visible b,.quick-section-link.active b{opacity:1;transform:translateY(-50%) translateX(0);}
.quick-top-btn{width:46px;height:46px;border-radius:50%;border:1px solid rgba(223,232,232,.76);background:#034F53;color:#F5F8F8;display:grid;place-items:center;cursor:pointer;box-shadow:0 16px 34px rgba(3,79,83,.24);transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease;}
.quick-top-btn:hover{transform:translateY(-3px);background:#D29F37;color:#034F53;border-color:rgba(210,159,55,.8);}
.quick-top-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;}
@media(max-width:740px){.page-quick-nav{right:12px;bottom:12px;gap:8px;}.quick-section-list{gap:5px;padding:8px;}.quick-section-link{width:14px;height:14px;}.quick-dot-core{width:6px;height:6px;}.quick-section-link b{display:none;}.quick-top-btn{width:42px;height:42px;}}
@media print{.page-quick-nav{display:none!important;}}
/* Homepage shortcut target offset */
#home,#about-home,#our-services,#tgm-stats,#why-tgm,#testimony,#contact-cta{scroll-margin-top:calc(var(--tgm-header-h,76px) + 16px);}

/* Mobile footer two-column link groups */
@media(max-width:740px){
  .site-footer .footer-grid{grid-template-columns:1fr 1fr!important;gap:30px 22px!important;align-items:start;}
  .site-footer .footer-grid>div:first-child,
  .site-footer .footer-grid>div:nth-child(4){grid-column:1/-1;}
  .site-footer .footer-grid>div:nth-child(2),
  .site-footer .footer-grid>div:nth-child(3){grid-column:auto;min-width:0;}
  .site-footer .footer-grid>div:nth-child(2) a,
  .site-footer .footer-connect-link{font-size:14px;line-height:1.25;}
  .site-footer .footer-connect-link{gap:8px;width:100%;}
  .footer-connect-icon{width:16px;height:16px;flex-basis:16px;}
}
@media(max-width:380px){
  .site-footer .footer-grid{grid-template-columns:1fr!important;}
  .site-footer .footer-grid>div:nth-child(2),
  .site-footer .footer-grid>div:nth-child(3){grid-column:1/-1;}
}