:root {
  --tt-navy: #0d1b2a;
  --tt-navy-deep: #102238;
  --tt-gold: #d4af37;
  --tt-blue: #1e3a8a;
  --tt-white: #fff;
  --tt-light: #f5f6f8;
  --tt-soft: #eef1f4;
  --tt-text: #333;
  --tt-muted: #667085;
  --tt-border: #dde2e8;
  --tt-container: 1240px;
  --tt-shadow: 0 12px 32px rgb(13 27 42 / 10%);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--tt-text); background: var(--tt-white); font-family: "Plus Jakarta Sans", Manrope, Inter, Arial, sans-serif; font-size: 17px; line-height: 1.7; }
body.menu-is-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--tt-blue); text-decoration-thickness: .08em; text-underline-offset: .18em; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid var(--tt-gold); outline-offset: 3px; }
.container { width: min(100% - 40px, var(--tt-container)); margin-inline: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 9999; top: 12px; left: 12px; padding: 10px 16px; background: var(--tt-gold); color: var(--tt-navy); transform: translateY(-200%); }
.skip-link:focus { transform: none; }
h1, h2, h3 { color: var(--tt-navy); letter-spacing: -.025em; }
h1 { font-size: clamp(2.4rem, 5vw, 4.25rem); line-height: 1.08; }
h2 { font-size: clamp(2rem, 3.5vw, 3rem); line-height: 1.13; }
h3 { font-size: clamp(1.4rem, 2.5vw, 1.8rem); line-height: 1.25; }
.site-header { position: sticky; z-index: 1000; top: 0; height: 88px; background: rgb(255 255 255 / 96%); border-bottom: 1px solid transparent; transition: height .25s ease, box-shadow .25s ease, border-color .25s ease; }
.site-header.is-scrolled { height: 76px; border-color: var(--tt-border); box-shadow: 0 8px 30px rgb(13 27 42 / 7%); }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; height: 100%; }
.site-logo { display: inline-flex; width: min(220px, 50vw); }
.site-logo img { width: 100%; }
.primary-navigation { display: flex; align-items: center; gap: 22px; }
.primary-navigation ul { display: flex; align-items: center; gap: 22px; margin: 0; padding: 0; list-style: none; }
.primary-navigation a { color: var(--tt-navy); font-size: 15px; font-weight: 600; text-decoration: none; }
.primary-navigation a:hover { color: var(--tt-blue); }
.button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 11px 20px; border-radius: 10px; font-weight: 700; text-decoration: none; transition: transform .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button--gold { color: var(--tt-navy) !important; background: var(--tt-gold); }
.button--gold:hover { background: #c99a2e; }
.language-switch { display:inline-flex; min-width:58px; min-height:44px; align-items:center; justify-content:center; gap:7px; }
.language-switch img { width:22px; height:15px; border-radius:2px; box-shadow:0 0 0 1px rgb(13 27 42 / 15%); }
.menu-toggle { display: none; width: 48px; height: 48px; padding: 12px; border: 0; background: transparent; }
.menu-toggle span:not(.screen-reader-text) { display: block; height: 2px; margin: 5px 0; background: var(--tt-navy); }
.site-main { min-height: 55vh; }
.page-header, .content-layout { padding-block: clamp(60px, 8vw, 110px); }
.entry-content > * { width: min(100% - 40px, 760px); margin-inline: auto; }
.entry-content > .alignwide { width: min(100% - 40px, var(--tt-container)); }
.entry-content > .alignfull { width: 100%; max-width: none; }
.site-footer { padding: 72px 0 24px; color: #dce4ed; background: var(--tt-navy); }
.site-footer h2 { color: var(--tt-white); font-size: 1rem; }
.site-footer a { color: #dce4ed; }
.footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 64px; }
.footer-brand { max-width: 440px; }
.footer-brand .site-logo { margin-bottom: 24px; }
.site-footer ul { padding: 0; list-style: none; }
.site-footer li + li { margin-top: 8px; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 54px; padding-top: 22px; border-top: 1px solid rgb(255 255 255 / 14%); font-size: 14px; }
.footer-bottom ul { display: flex; flex-wrap: wrap; gap: 18px; margin: 0; }

@media (max-width: 1080px) {
  .menu-toggle { display: block; }
  .primary-navigation { position: fixed; inset: 88px 0 0 22%; display: none; align-items: stretch; flex-direction: column; padding: 40px; background: var(--tt-white); box-shadow: -20px 20px 60px rgb(13 27 42 / 18%); }
  .primary-navigation.is-open { display: flex; }
  .primary-navigation ul { align-items: stretch; flex-direction: column; gap: 0; }
  .primary-navigation li { border-bottom: 1px solid var(--tt-border); }
  .primary-navigation li a { display: block; padding: 13px 0; font-size: 18px; }
  .header-cta { margin-top: 10px; }
}

@media (max-width: 720px) {
  body { font-size: 16px; }
  .container { width: min(100% - 28px, var(--tt-container)); }
  .site-header { height: 72px; }
  .site-header.is-scrolled { height: 68px; }
  .primary-navigation { inset: 72px 0 0 0; padding: 28px; }
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
.hero { position:relative; min-height:720px; display:flex; align-items:center; color:#fff; background:linear-gradient(90deg,rgba(13,27,42,.94) 0%,rgba(13,27,42,.62) 48%,rgba(13,27,42,.12) 100%),var(--hero-image) center/cover; }
.hero__content { padding-block:110px 170px; }
.hero h1 { max-width:900px; color:#fff; }
.hero__content>p:not(.eyebrow) { max-width:680px; font-size:20px; }
.eyebrow { color:var(--tt-gold); font-size:13px; font-weight:800; letter-spacing:.1em; }
.actions { display:flex; flex-wrap:wrap; gap:14px; margin:30px 0 22px; }
.button--outline { color:#fff; border:1px solid rgb(255 255 255 / 60%); }
.quick-links { position:absolute; inset:auto 0 0; border-top:1px solid rgb(255 255 255 / 24%); background:rgb(13 27 42 / 75%); }
.quick-links .container { display:grid; grid-template-columns:repeat(6,1fr); }
.quick-links a { padding:22px 14px; color:#fff; font-size:13px; font-weight:700; text-decoration:none; border-right:1px solid rgb(255 255 255 / 14%); }
.section { padding:clamp(76px,9vw,132px) 0; }
.section--soft { background:var(--tt-soft); }
.section--navy { color:#dce4ed; background:var(--tt-navy); }
.section--navy h2 { color:#fff; }
.split { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(40px,7vw,100px); }
.split img { border-radius:18px; }
.services-editorial { display:grid; grid-template-columns:1.4fr 1fr; gap:24px; margin-top:44px; }
.services-editorial article { min-height:230px; padding:34px; background:#fff; border-left:4px solid var(--tt-gold); }
.services-editorial .service-feature { grid-row:span 2; min-height:484px; display:flex; align-items:flex-end; color:#fff; background:linear-gradient(0deg,rgba(13,27,42,.9),rgba(13,27,42,.15)),var(--hero-image) center/cover; }
.service-feature h3 { color:#fff; }
.ecosystem-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:40px; margin-top:40px; }
.ecosystem-grid img { height:100%; object-fit:cover; border-radius:18px; }
.accordion details { border-bottom:1px solid var(--tt-border); }
.accordion summary { cursor:pointer; padding:20px 0; color:var(--tt-navy); font-weight:750; }
.phone-demo { padding:35px; color:var(--tt-navy); background:#fff; border-radius:16px; box-shadow:var(--tt-shadow); }
.phone-demo p { padding:18px; background:var(--tt-light); border-left:3px solid var(--tt-gold); }
.checks li { margin-bottom:10px; }
.benefit-list { display:grid; grid-template-columns:repeat(3,1fr); margin-top:36px; border-top:1px solid var(--tt-border); }
.benefit-list p { margin:0; padding:24px 20px 24px 0; border-bottom:1px solid var(--tt-border); }
.region-list { display:flex; flex-wrap:wrap; gap:10px; margin-top:32px; }
.region-list a { padding:12px 18px; color:var(--tt-navy); background:#fff; border:1px solid var(--tt-border); border-radius:9px; font-weight:700; text-decoration:none; }
.process { display:grid; grid-template-columns:repeat(6,1fr); padding:0; list-style:none; counter-reset:process; }
.process li { counter-increment:process; padding:20px; border-top:2px solid var(--tt-gold); }
.process li::before { content:"0" counter(process); display:block; color:var(--tt-gold); font-weight:800; }
.final-cta { padding:110px 0; color:#fff; background:linear-gradient(90deg,rgba(13,27,42,.92),rgba(13,27,42,.35)),var(--hero-image) center/cover; }
.final-cta h2 { max-width:760px; color:#fff; }
.final-cta p { max-width:680px; }
.info-hero { padding:clamp(60px,8vw,110px) 0; background:var(--tt-soft); }
.info-hero__grid { display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:clamp(36px,7vw,90px); }
.info-hero__grid h1 { margin:.3em 0; }
.info-hero__grid img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:18px; box-shadow:var(--tt-shadow); }
.info-content { padding:clamp(60px,8vw,100px) 0; }
.info-content p:first-child { font-size:1.15em; color:var(--tt-navy); }
.page-visual-band { padding:clamp(70px,8vw,110px) 0; color:#dce4ed; background:var(--tt-navy); }
.page-visual-band h2 { color:#fff; }
.page-visual-band img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:18px; }
@media(max-width:900px){.quick-links .container{display:flex;overflow:auto}.quick-links a{min-width:180px}.split,.ecosystem-grid,.info-hero__grid{grid-template-columns:1fr}.benefit-list{grid-template-columns:1fr 1fr}.process{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.hero{min-height:680px}.hero__content{padding-block:70px 150px}.services-editorial{grid-template-columns:1fr}.services-editorial .service-feature{grid-row:auto;min-height:360px}.benefit-list,.process{grid-template-columns:1fr}.section{padding:70px 0}}
