/* A stable, shared type scale. Animation transforms remain controlled by GSAP. */
:root {
  --vortex-body: clamp(1rem, .92rem + .16vw, 1.125rem);
  --vortex-h1: clamp(2.5rem, 1.65rem + 3.2vw, 5rem);
  --vortex-h2: clamp(2rem, 1.4rem + 2vw, 3.5rem);
  --vortex-h3: clamp(1.375rem, 1.05rem + .8vw, 2rem);
  --vortex-display: clamp(2.5rem, 1.8rem + 4vw, 5.5rem);
}
html { font-size: 16px; }
body { font-size: var(--vortex-body); line-height: 1.5; }
main :is(h1,.h1) { font-size: var(--vortex-h1) !important; line-height: 1.06 !important; letter-spacing: -.045em !important; }
main :is(h2,.h2), #site-footer h2 { font-size: var(--vortex-h2) !important; line-height: 1.12 !important; letter-spacing: -.035em !important; }
main :is(h3,.h3) { font-size: var(--vortex-h3) !important; line-height: 1.2 !important; letter-spacing: -.025em !important; }
main :is(p,.small) { font-size: var(--vortex-body); line-height: 1.5; }
:is(.title,.pl-trans-label) { font-size: 1rem; line-height: 1.35; letter-spacing: -.01em; }
.button_wrapper .btn, .btn :is(.text,.word-token,.word-space) { font-size: 1rem; line-height: 1.3; }
main :is(.top-word,.bottom-word) { font-size: var(--vortex-display) !important; line-height: 1.06 !important; }
#trionn-services :is(h2,.h2) { font-size: var(--vortex-display) !important; line-height: 1.08 !important; }
.vortex-detail-tabs, .vortex-editorial-meta, .vortex-overview-meta { font-size: .9375rem; line-height: 1.45; }
.vortex-tariff-card h2 { font-size: clamp(1.75rem,2.5vw,2.375rem) !important; }
.vortex-tariff-card-features li { font-size: 1rem; line-height: 1.5; }
.vortex-tariff-card-price > span:first-child { font-size: clamp(2.5rem,4vw,3.5rem); }
.vortex-tariff-card-price > span:last-child { font-size: 1rem; }
.vortex-editorial-hero-copy h1 { font-size: clamp(2rem,3.4vw,3.5rem) !important; }
.vortex-editorial-preview-item { font-size: 1rem; line-height: 1.35; }
.vortex-editorial-sidebar h2 { font-size: 1.25rem !important; line-height: 1.25 !important; }
.vortex-editorial-article-title { font-size: clamp(1.75rem,3vw,2.5rem) !important; line-height: 1.15 !important; }
.vortex-editorial-preview-meta, .vortex-editorial-filters button { font-size: .875rem; }
.vortex-promotion-card h2 { font-size: 1.75rem !important; line-height: 1.2 !important; }
.vortex-router-faq summary { font-size: 1.125rem; }
.vortex-about-hero h1 { font-size: var(--vortex-h1) !important; }
#keyfacts-section { padding-top: clamp(48px,5vw,80px); padding-bottom: clamp(48px,6vw,96px); min-height: 0; }
#keyfacts-section .title-block { margin-bottom: 40px; gap: 16px; }
.vortex-benefit-card { display: block; height: 470px; color: #fff; background: #1b2123; text-decoration: none; }
.vortex-benefit-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.vortex-benefit-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(4,12,16,.48),transparent 42%,rgba(4,12,16,.84)); pointer-events:none; }
.vortex-benefit-content { position: relative; z-index: 1; height: 100%; display: flex; flex-direction: column; justify-content: space-between; padding: 28px; }
.vortex-benefit-content h3 { font-size: 1.625rem !important; line-height: 1.12 !important; max-width: 11em; color:#fff; }
.vortex-benefit-content p { color: #fff; font-size: 1rem; line-height: 1.45; }
.vortex-benefit-action { margin-top: 18px; padding-top: 14px; border-top: 1px solid #ffffff65; display: flex; justify-content: space-between; gap:16px; font-size: 1rem; }
.vortex-benefit-card:focus-visible { outline: 3px solid #60c4a6; outline-offset: 5px; }
.vortex-story-core { width: min(660px, 78vw); max-height: 60svh; object-fit: contain; }
.mascot-lion-frame:has(.vortex-story-core) { background: transparent; overflow: visible; border-radius: 0; }
.vortex-contact-art { padding-top: 100px; }
.vortex-contact-symbol { width:min(390px,65vw); height: min(350px,39svh); object-fit:contain; margin: 0 auto; filter:drop-shadow(0 12px 30px #0b141944); }
#contact-banner-section h1 { padding-inline: 24px; }
#contact-banner-section p { padding-inline: 24px; max-width: 34rem; }
#trionn-symbol-canvas-wrap:empty { background-size: auto 48%; background-position: 50% 55%; }
@media (max-width: 767px) {
  :root { --vortex-h1: clamp(2.125rem,8vw,3rem); --vortex-h2: clamp(1.75rem,6.3vw,2.25rem); --vortex-h3: 1.375rem; --vortex-display: clamp(2rem,8vw,3.25rem); --vortex-body:1rem; }
  .title,.pl-trans-label { font-size: .875rem; line-height: 1.4; }
  main .home-about { padding-block: 40px; }
  #keyfacts-section { padding-top: 40px; padding-bottom: 36px; }
  #keyfacts-section .title-block { margin-bottom: 24px; gap:12px; }
  .vortex-benefit-card { height: min(430px,58svh); min-height: 340px; }
  .vortex-benefit-content { padding: 24px; }
  .vortex-benefit-content h3 { font-size: 1.5rem !important; }
  #vision-section #s3-text { padding-top: 72px; padding-bottom: 36px; }
  .vortex-about-hero .title-block { padding-top: 100px; }
  .vortex-editorial-hero-copy h1 { font-size: 2rem !important; }
  #site-footer h2 { font-size: 2rem !important; }
  .vortex-tariff-card h2 { font-size: 1.75rem !important; }
  .mascot-scroll-section { height: 220vh !important; }
  .trimurti-section { min-height: 155vh !important; }
  .onn-section { min-height: 100vh !important; padding-top: 150px !important; padding-bottom: 64px !important; }
  .story-narasimha-section { min-height: 100vh !important; }
}
