.tgb-features-hero { position: relative; isolation: isolate; overflow: hidden; padding-top: 42px; background: linear-gradient(180deg, #f7fcff 0%, #fff 100%); text-align: center; }
.tgb-features-hero h1 { position: relative; margin: 0; color: #06182f; font-size: clamp(38px,4.8vw,68px); font-weight: 800; line-height: 1.02; letter-spacing: -.047em; }
.tgb-features-hero h1 strong { display: block; color: var(--tgb-blue); font-weight: inherit; }
.tgb-features-hero > .tgb-container > p { position: relative; margin: 18px 0 0; color: var(--tgb-muted); font-size: 20px; font-weight: 500; line-height: 1.5; letter-spacing: -.025em; }
.tgb-features-routes { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; fill: #d6f0ff; pointer-events: none; }
.tgb-features-routes path { fill: none; stroke: #c6eaff; stroke-width: 1; vector-effect: non-scaling-stroke; }
.tgb-features-ring { fill: #fff; stroke: #b6e3fd; stroke-width: 1; }
.tgb-features-plane { position: absolute; z-index: -1; top: 95px; right: 9%; width: 39px; height: 39px; fill: #83cffc; pointer-events: none; }
.tgb-features-topics { position: relative; display: flex; align-items: stretch; justify-content: center; gap: 44px; margin-top: 29px; border-bottom: 1px solid var(--tgb-line); }
.tgb-features-topics a { position: relative; display: flex; min-height: 56px; align-items: center; justify-content: center; gap: 10px; padding: 9px 0 17px; color: #52617c; font-size: 14px; font-weight: 650; text-decoration: none; }
.tgb-features-topics svg { width: 22px; height: 22px; flex-shrink: 0; }
.tgb-features-topics a::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--tgb-blue); content: ""; transform: scaleX(0); transition: transform .18s ease; }
.tgb-features-topics a[aria-current="location"], .tgb-features-topics a:hover { color: var(--tgb-blue); }
.tgb-features-topics a[aria-current="location"]::after, .tgb-features-topics a:hover::after { transform: scaleX(1); }
.tgb-feature-section { padding: 64px 0; background: #fff; scroll-margin-top: 72px; }
.tgb-feature-section--first { padding-top: 46px; padding-bottom: 46px; }
.tgb-feature-section--soft { background: #f1f9fe; }
.tgb-feature-story { display: grid; grid-template-columns: .43fr 1fr; align-items: center; gap: 48px; }
.tgb-feature-section--first .tgb-feature-story { align-items: start; }
.tgb-feature-section--first .tgb-feature-story__copy { padding-top: 28px; }
.tgb-feature-story--reverse { grid-template-columns: 1fr .43fr; }
.tgb-feature-story--reverse .tgb-feature-story__copy { grid-column: 2; grid-row: 1; }
.tgb-feature-story--reverse .tgb-product-preview { grid-column: 1; grid-row: 1; }
.tgb-feature-story__copy { min-width: 0; }
.tgb-feature-number { display: flex; align-items: center; gap: 18px; margin-bottom: 29px; color: var(--tgb-blue); font-size: 13px; font-weight: 700; }
.tgb-feature-number::after { width: 100%; height: 1px; background: #c3ddef; content: ""; }
.tgb-feature-story h2 { margin: 0; color: var(--tgb-navy); font-size: clamp(28px,2.8vw,40px); font-weight: 800; line-height: 1.1; letter-spacing: -.043em; }
.tgb-feature-story__copy > p { margin: 23px 0; color: var(--tgb-muted); font-size: 18px; line-height: 1.65; letter-spacing: -.02em; }
.tgb-feature-section--first .tgb-feature-story__copy > p { font-size: 20px; line-height: 1.55; }
.tgb-feature-story__copy .tgb-product-link { font-size: 16px; }
.tgb-feature-context { max-width: 1150px; margin: 28px auto 0; padding-top: 22px; border-top: 1px solid var(--tgb-line); color: #61718a; font-size: 13px; line-height: 1.8; }
.tgb-feature-context a { color: var(--tgb-blue-dark); text-underline-offset: 3px; }
.tgb-feature-flow { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin: 26px 0 0; padding: 19px 15px; border: 1px solid #d8eaf8; border-radius: 8px; background: rgba(255,255,255,.6); color: var(--tgb-blue-dark); list-style: none; font-size: 12px; font-weight: 700; }
.tgb-feature-flow li { display: flex; align-items: center; gap: 8px; }
.tgb-feature-flow svg { width: 14px; height: 14px; }
.tgb-feature-story__copy > .tgb-feature-note, .tgb-feature-note { margin-top: 17px; color: #64748d; font-size: 12px; line-height: 1.8; letter-spacing: 0; }
.tgb-feature-capabilities { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; margin-top: 42px; padding-top: 28px; border-top: 1px solid #d5e7f3; }
.tgb-feature-capabilities h3 { margin: 0; color: var(--tgb-navy); font-size: 21px; font-weight: 800; letter-spacing: -.03em; }
.tgb-feature-capabilities p { margin: 14px 0 0; color: var(--tgb-muted); font-size: 15px; line-height: 1.8; }
.tgb-feature-capabilities .tgb-check-list { margin-top: 0; }
.tgb-feature-number--wide { margin-bottom: 38px; }
.tgb-feature-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.tgb-feature-pair article { min-width: 0; scroll-margin-top: 112px; }
.tgb-feature-pair article + article { padding-left: 48px; border-left: 1px solid var(--tgb-line); }
.tgb-feature-pair__heading { display: flex; align-items: center; gap: 22px; }
.tgb-feature-symbol { display: grid; flex: 0 0 78px; width: 78px; height: 78px; place-items: center; border-radius: 50%; background: #e5f5ff; color: var(--tgb-blue); }
.tgb-feature-symbol svg { width: 38px; height: 38px; }
.tgb-feature-pair h2 { margin: 0; color: var(--tgb-navy); font-size: 27px; font-weight: 800; line-height: 1.2; letter-spacing: -.035em; }
.tgb-feature-pair p { margin: 22px 0; color: var(--tgb-muted); font-size: 15px; line-height: 1.8; }
.tgb-feature-pair p.tgb-feature-note { margin-bottom: 0; font-size: 12px; }
.tgb-feature-shortcuts { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 32px; margin-top: 42px; padding-top: 26px; border-top: 1px solid var(--tgb-line); }
.tgb-feature-shortcuts a { display: inline-flex; align-items: center; gap: 14px; color: var(--tgb-blue-dark); font-size: 14px; font-weight: 650; text-decoration: none; }
.tgb-feature-shortcuts svg { flex-shrink: 0; width: 29px; height: 29px; }
.tgb-feature-shortcuts a:hover span { text-decoration: underline; text-underline-offset: 4px; }
.tgb-feature-tools-intro { max-width: 900px; margin-bottom: 48px; }
.tgb-feature-tools-intro h2 { margin: 0; color: var(--tgb-navy); font-size: clamp(28px,3vw,40px); font-weight: 800; line-height: 1.16; letter-spacing: -.04em; }
.tgb-feature-tools-intro p { max-width: 760px; margin: 18px 0 0; color: var(--tgb-muted); font-size: 16px; line-height: 1.75; }
.tgb-feature-tool { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 60px; scroll-margin-top: 106px; }
.tgb-feature-tool + .tgb-feature-tool { margin-top: 64px; padding-top: 52px; border-top: 1px solid var(--tgb-line); }
.tgb-feature-tool > div { min-width: 0; }
.tgb-feature-tool h3 { margin: 0; color: var(--tgb-navy); font-size: 29px; font-weight: 800; line-height: 1.2; letter-spacing: -.035em; }
.tgb-feature-tool p { margin: 20px 0; color: var(--tgb-muted); font-size: 15px; line-height: 1.8; }
.tgb-feature-tool--reverse { grid-template-columns: 1fr 1.2fr; }
.tgb-feature-tool--reverse .tgb-product-preview { grid-column: 2; grid-row: 1; }
.tgb-feature-tool--reverse > div { grid-column: 1; grid-row: 1; }
.tgb-feature-directory { display: grid; grid-template-columns: 1fr 1fr; column-gap: 64px; }
.tgb-feature-directory article { display: grid; grid-template-columns: 24px 1fr; align-content: start; gap: 18px; min-width: 0; padding: 28px 0; border-top: 1px solid #d5e5f0; scroll-margin-top: 112px; }
.tgb-feature-directory__number { padding-top: 4px; color: #3a9ddc; font-size: 12px; font-weight: 700; }
.tgb-feature-directory h3 { margin: 0; color: var(--tgb-navy); font-size: 19px; font-weight: 800; line-height: 1.3; letter-spacing: -.025em; }
.tgb-feature-directory p { margin: 13px 0 0; color: var(--tgb-muted); font-size: 14px; line-height: 1.8; }
.tgb-feature-cta { padding: 66px 0 55px; background: #fff; text-align: center; }
.tgb-feature-cta h2 { margin: 0; color: var(--tgb-navy); font-size: clamp(29px,3vw,42px); font-weight: 800; line-height: 1.2; letter-spacing: -.04em; }
.tgb-feature-cta .tgb-actions { justify-content: center; gap: 15px; margin-top: 25px; }
.tgb-feature-cta .tgb-button { min-width: 180px; }
.tgb-feature-cta p { margin: 19px 0 0; color: var(--tgb-muted); font-size: 13px; line-height: 1.8; }
.tgb-feature-cta p .tgb-product-link { margin-left: 8px; font-size: 13px; }
@media (prefers-reduced-motion: no-preference) {
    .tgb-features-hero h1, .tgb-features-hero > .tgb-container > p { animation: tgb-product-enter .65s cubic-bezier(.2,.65,.3,1) both; }
    .tgb-features-plane { animation: tgb-product-float 7s ease-in-out infinite; }
    .tgb-product-motion [data-product-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
    .tgb-product-motion [data-product-reveal].is-revealed { opacity: 1; transform: none; }
}
@keyframes tgb-product-enter { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes tgb-product-float { 0%,100% { transform: translate(0,0); } 50% { transform: translate(5px,-6px); } }
@media (max-width: 1100px) {
    .tgb-features-topics { gap: 30px; }
    .tgb-feature-story, .tgb-feature-tool { gap: 32px; }
    .tgb-feature-story { grid-template-columns: .47fr 1fr; }
    .tgb-feature-story--reverse { grid-template-columns: 1fr .47fr; }
    .tgb-feature-story h2 { font-size: clamp(25px,2.9vw,32px); }
    .tgb-feature-section--first .tgb-feature-story__copy > p { font-size: 18px; line-height: 1.6; }
    .tgb-feature-pair, .tgb-feature-capabilities { gap: 32px; }
    .tgb-feature-pair article + article { padding-left: 32px; }
    .tgb-feature-pair__heading { gap: 17px; }
    .tgb-feature-symbol { flex-basis: 60px; width: 60px; height: 60px; }
    .tgb-feature-symbol svg { width: 30px; height: 30px; }
    .tgb-feature-pair h2 { font-size: 23px; }
}
@media (min-width: 761px) and (max-width: 1100px) {
    .tgb-feature-flow { column-gap: 6px; padding: 16px 10px; font-size: 10px; }
    .tgb-feature-flow li { gap: 5px; }
    .tgb-feature-flow svg { width: 12px; height: 12px; }
}
@media (max-width: 760px) {
    .tgb-features-hero { padding-top: 36px; }
    .tgb-features-hero h1 { font-size: clamp(35px,7vw,50px); line-height: 1.06; }
    .tgb-features-hero > .tgb-container > p { margin-top: 18px; font-size: 16px; line-height: 1.65; }
    .tgb-features-plane { top: 18px; right: 5%; width: 25px; height: 25px; }
    .tgb-features-topics { flex-wrap: wrap; column-gap: 23px; row-gap: 0; margin-top: 23px; padding-bottom: 6px; }
    .tgb-features-topics a { min-height: 45px; gap: 7px; padding: 9px 0; font-size: 13px; }
    .tgb-features-topics svg { width: 19px; height: 19px; }
    .tgb-feature-section { padding-block: 44px; }
    .tgb-feature-section--first { padding-top: 34px; }
    .tgb-feature-story, .tgb-feature-story--reverse, .tgb-feature-tool, .tgb-feature-tool--reverse { grid-template-columns: 1fr; gap: 28px; }
    .tgb-feature-section--first .tgb-feature-story__copy { padding-top: 0; }
    .tgb-feature-story--reverse .tgb-feature-story__copy, .tgb-feature-story--reverse .tgb-product-preview, .tgb-feature-tool--reverse > div, .tgb-feature-tool--reverse .tgb-product-preview { grid-column: auto; grid-row: auto; }
    .tgb-feature-number { margin-bottom: 22px; }
    .tgb-feature-story h2 { max-width: 420px; font-size: 32px; }
    .tgb-feature-story__copy > p { margin: 18px 0; font-size: 16px; line-height: 1.75; }
    .tgb-feature-section--first .tgb-feature-story__copy > p { font-size: 16px; line-height: 1.75; }
    .tgb-feature-story__copy .tgb-product-link { font-size: 14px; }
    .tgb-feature-context { margin-top: 24px; padding-top: 20px; font-size: 12px; }
    .tgb-feature-capabilities { grid-template-columns: 1fr; gap: 24px; margin-top: 29px; }
    .tgb-feature-pair { grid-template-columns: 1fr; gap: 32px; }
    .tgb-feature-pair article + article { padding-top: 28px; padding-left: 0; border-top: 1px solid var(--tgb-line); border-left: 0; }
    .tgb-feature-pair h2 { font-size: 25px; }
    .tgb-feature-shortcuts { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 15px; padding-top: 24px; }
    .tgb-feature-shortcuts a { gap: 10px; font-size: 12px; line-height: 1.5; }
    .tgb-feature-shortcuts svg { width: 25px; height: 25px; }
    .tgb-feature-tools-intro { margin-bottom: 32px; }
    .tgb-feature-tools-intro p { font-size: 15px; }
    .tgb-feature-tool > .tgb-product-preview { order: 2; }
    .tgb-feature-tool + .tgb-feature-tool { margin-top: 40px; padding-top: 36px; }
    .tgb-feature-tool h3 { font-size: 26px; }
    .tgb-feature-directory { grid-template-columns: 1fr; }
    .tgb-feature-directory article { gap: 14px; padding-block: 24px; }
    .tgb-feature-cta { padding-block: 45px; }
    .tgb-feature-cta .tgb-button { min-width: 0; padding-inline: 22px; font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { .tgb-product-motion [data-product-reveal] { opacity: 1; transform: none; } }
