@charset "UTF-8";

:root {
    --ta-ink: #111922;
    --ta-muted: #5e6872;
    --ta-blue: #1167c3;
    --ta-blue-dark: #084b90;
    --ta-sky: #eaf4ff;
    --ta-mint: #39b99a;
    --ta-paper: #f7f8fa;
    --ta-line: #d9e0e7;
    --ta-white: #fff;
    --ta-max: 1180px;
    --ta-radius: 22px;
    --ta-shadow: 0 22px 70px rgba(17, 25, 34, .13);
}

html { scroll-behavior: smooth; }
body.ta-lp-active { background: #fff; color: var(--ta-ink); overflow-x: hidden; }
body.ta-lp-active #commonHeader,
body.ta-lp-active #commonFooter { display: none !important; }
body.ta-lp-active #mainContent,
body.ta-lp-active #mainContentInner,
body.ta-lp-active #jinrArticle { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
body.ta-lp-active .jinr-article > * { max-width: none; }
body.ta-lp-active #wpfront-scroll-top-container { display: none !important; }

.ta-lp, .ta-lp * { box-sizing: border-box; }
.ta-lp { font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; color: var(--ta-ink); font-size: 16px; line-height: 1.8; letter-spacing: .02em; }
.ta-lp img { max-width: 100%; height: auto; vertical-align: middle; }
.ta-lp a { color: inherit; text-decoration: none; }
.ta-lp h1, .ta-lp h2, .ta-lp h3, .ta-lp h4, .ta-lp p, .ta-lp ul, .ta-lp ol, .ta-lp figure { margin: 0; padding: 0; }
.ta-lp ul, .ta-lp ol { list-style: none; }
.ta-container { width: min(calc(100% - 48px), var(--ta-max)); margin-inline: auto; }
.ta-sp-only { display: none; }

.ta-nav { position: sticky; top: 0; z-index: 100; height: 76px; display: flex; align-items: center; background: rgba(255,255,255,.92); border-bottom: 1px solid rgba(17,25,34,.08); backdrop-filter: blur(14px); }
.admin-bar .ta-nav { top: 32px; }
.ta-nav__inner { display: flex; align-items: center; gap: 34px; }
.ta-brand { display: inline-flex; align-items: center; gap: 14px; min-width: 270px; }
.ta-brand img { width: 132px; max-height: 29px; object-fit: contain; }
.ta-brand span { border-left: 1px solid var(--ta-line); padding-left: 14px; font-weight: 800; font-size: 15px; letter-spacing: .06em; }
.ta-nav__links { display: flex; gap: 28px; margin-left: auto; }
.ta-nav__links a { font-size: 13px; font-weight: 700; color: #45515d; }
.ta-nav__links a:hover { color: var(--ta-blue); }

.ta-button { display: inline-flex; justify-content: center; align-items: center; min-height: 62px; padding: 14px 26px; border-radius: 8px; color: #fff !important; background: linear-gradient(135deg, var(--ta-blue), var(--ta-blue-dark)); font-weight: 800; font-size: 15px; letter-spacing: .025em; box-shadow: 0 12px 26px rgba(17,103,195,.25); transition: transform .2s ease, box-shadow .2s ease; }
.ta-button::after { content: "→"; margin-left: 12px; font-size: 18px; }
.ta-button:hover { transform: translateY(-2px); box-shadow: 0 17px 34px rgba(17,103,195,.32); }
.ta-button--small { min-height: 44px; padding: 8px 18px; font-size: 13px; box-shadow: none; }
.ta-text-link { font-size: 14px; font-weight: 750; color: #34404b; border-bottom: 1px solid #93a0ac; padding-bottom: 3px; }
.ta-text-link span { margin-left: 8px; }
.ta-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 30px; }
.ta-actions--center { justify-content: center; }

.ta-hero { position: relative; overflow: hidden; background: linear-gradient(125deg, #fff 0%, #fff 54%, #e9f4ff 54%, #f5fbff 100%); }
.ta-hero::before { content: ""; position: absolute; inset: 0; opacity: .5; pointer-events: none; background-image: linear-gradient(rgba(17,103,195,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(17,103,195,.04) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(to right, transparent, #000); }
.ta-hero__grid { min-height: 720px; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 48px; position: relative; z-index: 1; padding-top: 42px; }
.ta-eyebrow, .ta-kicker { color: var(--ta-blue); font-size: 12px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.ta-eyebrow span { display: inline-block; margin-right: 12px; padding: 4px 8px; color: #fff; background: var(--ta-blue); border-radius: 3px; }
.ta-hero__role { margin-top: 22px !important; color: #394551; font-weight: 800; font-size: 17px; }
.ta-hero h1 { margin-top: 8px; font-size: clamp(48px, 5vw, 74px); line-height: 1.12; letter-spacing: -.055em; font-weight: 900; }
.ta-hero h1 em { color: var(--ta-blue); font-style: normal; }
.ta-hero__lead { margin-top: 25px !important; font-size: 21px; line-height: 1.65; font-weight: 800; }
.ta-hero__note { max-width: 620px; margin-top: 15px !important; color: var(--ta-muted); font-size: 14px; line-height: 1.9; }
.ta-pillars-mini { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 36px; }
.ta-pillars-mini span { color: #4e5964; font-size: 11px; font-weight: 850; letter-spacing: .08em; }
.ta-pillars-mini b { color: var(--ta-blue); margin-right: 4px; }
.ta-hero__visual { position: relative; align-self: center; min-height: 320px; display: flex; align-items: center; justify-content: center; }
.ta-profile-figure { position: relative; width: min(100%, 430px); min-height: 270px; display: grid; grid-template-columns: 170px 1fr; align-items: center; gap: 22px; padding: 32px 26px; border: 1px solid var(--ta-line); border-radius: 18px; background: #fff; box-shadow: 0 18px 45px rgba(8,33,59,.10); }
.ta-profile-figure > img { display: block; width: 170px; height: 170px; border-radius: 50%; object-fit: contain; background: #fff; }
.ta-profile-figure__caption { padding-left: 18px; border-left: 3px solid var(--ta-blue); }
.ta-profile-figure__caption span { display: block; color: var(--ta-blue); font-size: 9px; font-weight: 900; letter-spacing: .18em; }
.ta-profile-figure__caption strong { display: block; font-size: 22px; letter-spacing: .08em; }
.ta-profile-figure__caption small { color: var(--ta-muted); font-size: 11px; }
.ta-hero__badge { position: absolute; z-index: 4; right: 2px; bottom: 25px; width: 102px; height: 102px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 50%; color: #fff; background: var(--ta-blue-dark); box-shadow: 0 14px 28px rgba(8,75,144,.20); transform: rotate(4deg); }
.ta-hero__badge strong { font-size: 17px; }
.ta-hero__badge span { font-size: 10px; }
.ta-hero__ticker { height: 58px; display: flex; align-items: center; justify-content: center; gap: 28px; color: #fff; background: var(--ta-ink); font-size: 13px; font-weight: 900; letter-spacing: .2em; }
.ta-hero__ticker i { display: block; width: 54px; height: 1px; background: #67727d; position: relative; }
.ta-hero__ticker i::after { content: ""; position: absolute; right: 0; top: -3px; width: 7px; height: 7px; border-top: 1px solid #67727d; border-right: 1px solid #67727d; transform: rotate(45deg); }

.ta-section { padding: 110px 0; }
.ta-section-heading { max-width: 790px; margin-bottom: 54px; }
.ta-section-heading--center { margin-inline: auto; text-align: center; }
.ta-section-heading h2, .ta-partnership h2, .ta-cost h2, .ta-profile h2 { margin-top: 12px; font-size: clamp(35px, 4vw, 54px); line-height: 1.32; letter-spacing: -.04em; font-weight: 900; }
.ta-section-heading > p:last-child { margin-top: 18px; color: var(--ta-muted); font-size: 16px; }
.ta-section-heading--light { color: #fff; }
.ta-section-heading--light .ta-kicker { color: #7cc2ff; }
.ta-section-heading--light > p:last-child { color: #c9d3dd; }

.ta-problem { background: var(--ta-paper); }
.ta-problem__grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 36px; align-items: stretch; }
.ta-task-chain { counter-reset: tasks; display: grid; gap: 8px; }
.ta-task-chain li { min-height: 58px; display: flex; align-items: center; padding: 10px 20px; background: #fff; border: 1px solid var(--ta-line); border-radius: 10px; font-weight: 700; box-shadow: 0 4px 10px rgba(17,25,34,.035); }
.ta-task-chain span { width: 45px; flex: 0 0 45px; color: var(--ta-blue); font-size: 11px; font-weight: 900; }
.ta-problem__answer { display: flex; flex-direction: column; justify-content: center; padding: 44px; background: var(--ta-ink); color: #fff; border-radius: var(--ta-radius); }
.ta-problem__answer > p:first-child { color: #b7c2cd; font-size: 13px; }
.ta-problem__answer > strong { display: block; margin-top: 12px; font-size: clamp(25px, 3vw, 38px); line-height: 1.45; }
.ta-arrow-down { width: 42px; height: 42px; margin: 22px 0; display: grid; place-items: center; border-radius: 50%; background: var(--ta-blue); font-size: 20px; }
.ta-solution { font-size: 17px; }
.ta-solution b { color: #7dc8ff; }

.ta-roles { overflow: hidden; }
.ta-role-map { display: grid; grid-template-columns: 1fr 180px 1fr; align-items: center; }
.ta-role-card { min-height: 360px; padding: 42px; border-radius: var(--ta-radius); }
.ta-role-card--hm { background: #edf1f5; }
.ta-role-card--land { color: #fff; background: linear-gradient(145deg, var(--ta-blue), var(--ta-blue-dark)); box-shadow: var(--ta-shadow); }
.ta-role-card__label { font-size: 11px; font-weight: 900; letter-spacing: .18em; opacity: .66; }
.ta-role-card h3 { margin-top: 10px; font-size: 27px; }
.ta-role-card ul { margin-top: 24px; display: grid; gap: 12px; }
.ta-role-card li { position: relative; padding-left: 21px; font-size: 14px; }
.ta-role-card li::before { content: ""; position: absolute; left: 0; top: .68em; width: 8px; height: 8px; border: 2px solid currentColor; border-radius: 50%; opacity: .7; }
.ta-role-map__center { position: relative; z-index: 2; width: 180px; height: 180px; margin-inline: -10px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 50%; background: #fff; border: 1px solid var(--ta-line); box-shadow: 0 16px 46px rgba(17,25,34,.16); text-align: center; }
.ta-role-map__center span { color: var(--ta-muted); font-size: 12px; }
.ta-role-map__center b { color: var(--ta-blue); font-size: 17px; letter-spacing: .06em; }
.ta-role-map__center small { max-width: 100px; margin-top: 5px; color: var(--ta-muted); font-size: 9px; line-height: 1.5; }

.ta-service { background: linear-gradient(#f3f9ff, #fff); }
.ta-depth-map { display: grid; grid-template-columns: 1fr 80px 1fr 80px 1fr; align-items: center; gap: 10px; }
.ta-depth-step { min-height: 164px; padding: 28px; display: flex; flex-direction: column; justify-content: center; border-radius: 18px; border: 1px solid #bed8f1; background: #fff; box-shadow: 0 14px 32px rgba(17,103,195,.08); }
.ta-depth-step:nth-of-type(3) { background: #dceeff; }
.ta-depth-step:nth-of-type(5) { color: #fff; background: var(--ta-blue); border-color: var(--ta-blue); }
.ta-depth-step span { font-size: 11px; font-weight: 900; opacity: .7; }
.ta-depth-step b { font-size: 29px; letter-spacing: .08em; }
.ta-depth-step small { color: var(--ta-muted); }
.ta-depth-step:nth-of-type(5) small { color: #d8eaff; }
.ta-depth-map > i { height: 2px; background: #9bbbd7; position: relative; }
.ta-depth-map > i::after { content: ""; position: absolute; right: 0; top: -4px; width: 9px; height: 9px; border-top: 2px solid #9bbbd7; border-right: 2px solid #9bbbd7; transform: rotate(45deg); }
.ta-share-band { margin-top: 20px; min-height: 82px; padding: 18px 28px; display: grid; grid-template-columns: 50px 130px 1fr; align-items: center; color: #fff; background: var(--ta-ink); border-radius: 14px; }
.ta-share-band span { color: #7cc2ff; font-size: 11px; font-weight: 900; }
.ta-share-band b { font-size: 20px; letter-spacing: .1em; }
.ta-share-band p { color: #d2d9e0; font-size: 14px; }

.ta-pillar { padding: 128px 0; }
.ta-pillar__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: center; }
.ta-pillar__grid--reverse { grid-template-columns: 1.15fr .85fr; }
.ta-step-no { color: var(--ta-blue); font-size: 12px; font-weight: 900; letter-spacing: .16em; }
.ta-pillar__copy h2 { margin-top: 10px; font-size: clamp(40px, 5vw, 62px); line-height: 1.24; letter-spacing: -.045em; font-weight: 900; }
.ta-pillar__copy h2 em { color: var(--ta-blue); font-style: normal; }
.ta-pillar__lead { margin-top: 24px !important; color: var(--ta-muted); font-size: 16px; }
.ta-checks { margin-top: 28px !important; display: grid; gap: 11px; }
.ta-checks li { position: relative; padding-left: 28px; font-size: 14px; font-weight: 650; }
.ta-checks li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--ta-blue); font-weight: 900; }
.ta-screen-note { margin-top: 24px !important; color: #7b858e; font-size: 11px; }
.ta-product-frame { overflow: hidden; background: #fff; border: 1px solid #cfd7de; border-radius: 16px; box-shadow: var(--ta-shadow); }
.ta-product-frame__bar { height: 43px; display: flex; align-items: center; gap: 7px; padding: 0 15px; background: #eef2f5; border-bottom: 1px solid #d5dce2; }
.ta-product-frame__bar span { width: 9px; height: 9px; border-radius: 50%; background: #aab5bf; }
.ta-product-frame__bar b { margin-left: 9px; color: #63707c; font-size: 10px; letter-spacing: .08em; }
.ta-product-frame img { display: block; width: 100%; }
.ta-product-frame--desktop { max-height: 560px; overflow-y: auto; scrollbar-width: thin; }
.ta-product-frame--desktop img { min-height: 560px; object-fit: cover; object-position: top; }
.ta-screen-story { margin-top: 90px; }
.ta-screen-story > .ta-product-frame { max-width: 980px; margin-inline: auto; max-height: 660px; overflow-y: auto; }
.ta-phone-row { margin-top: 60px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.ta-phone { padding: 16px 16px 0; overflow: hidden; background: #101923; border-radius: 28px; box-shadow: 0 20px 44px rgba(17,25,34,.16); }
.ta-phone img { width: 100%; border-radius: 17px 17px 0 0; }
.ta-phone figcaption { padding: 13px 8px 17px; color: #dbe7f2; text-align: center; font-size: 12px; font-weight: 700; }

.ta-pillar--find { background: #f4f6f8; }
.ta-field-visual { position: relative; min-height: 520px; overflow: hidden; border-radius: var(--ta-radius); background: #e0e5e9; box-shadow: var(--ta-shadow); }
.ta-field-visual__map { position: absolute; inset: 0; opacity: .65; background: radial-gradient(circle at 70% 40%, rgba(17,103,195,.45) 0 6px, transparent 7px), radial-gradient(circle at 30% 65%, rgba(17,103,195,.4) 0 5px, transparent 6px), linear-gradient(25deg, transparent 47%, #c0c8d0 48% 50%, transparent 51%), linear-gradient(-35deg, transparent 46%, #c0c8d0 47% 49%, transparent 50%), linear-gradient(#edf0f2 1px, transparent 1px), linear-gradient(90deg, #edf0f2 1px, transparent 1px); background-size: auto, auto, 130px 130px, 170px 170px, 34px 34px, 34px 34px; }
.ta-call-stack { position: absolute; inset: 58px; display: flex; flex-direction: column; gap: 14px; }
.ta-call-stack span { width: 75%; padding: 18px 22px; color: #2d3944; background: rgba(255,255,255,.94); border-left: 4px solid var(--ta-blue); border-radius: 7px; box-shadow: 0 10px 24px rgba(17,25,34,.12); font-weight: 800; }
.ta-call-stack span:nth-child(2) { margin-left: 12%; }
.ta-call-stack span:nth-child(3) { margin-left: 24%; }
.ta-call-stack span:nth-child(4) { margin-left: 10%; color: #fff; background: var(--ta-blue); }
.ta-quote { margin-top: 30px; padding: 20px 22px; color: var(--ta-blue-dark); background: #e4f2ff; border-left: 4px solid var(--ta-blue); font-size: 17px; font-weight: 800; }

.ta-pillar--create { color: #fff; background: var(--ta-ink); }
.ta-pillar--create .ta-step-no, .ta-pillar--create .ta-checks li::before { color: #6dc8ff; }
.ta-pillar--create .ta-pillar__lead { color: #c4ced8; }
.ta-create-line { margin-top: 24px !important; font-size: 28px; line-height: 1.45; font-weight: 900; }
.ta-create-line em { color: #79d5bb; font-style: normal; }
.ta-create-visual { position: relative; min-height: 540px; padding: 58px 48px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid #394754; border-radius: var(--ta-radius); background: radial-gradient(circle at 65% 15%, rgba(17,103,195,.32), transparent 35%), #17212b; }
.ta-route-line { position: absolute; left: 77px; top: 94px; bottom: 94px; width: 2px; background: linear-gradient(#3c8fdc, #64cbb0); }
.ta-route-node { position: relative; z-index: 1; padding-left: 80px; }
.ta-route-node > span { position: absolute; left: 0; top: 0; width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--ta-blue); font-weight: 900; box-shadow: 0 0 0 8px #17212b; }
.ta-route-node b { display: block; font-size: 22px; }
.ta-route-node small { color: #aab7c4; }

.ta-pillar--share { color: #fff; background: linear-gradient(145deg, #07519d, #062e58 62%, #061c33); }
.ta-share-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 42px; align-items: center; }
.ta-product-frame--dark { border-color: rgba(255,255,255,.18); box-shadow: 0 24px 60px rgba(0,0,0,.28); }
.ta-share-signals > p { color: #7dccff; font-size: 11px; font-weight: 900; letter-spacing: .17em; }
.ta-share-signals h3 { margin-top: 10px; font-size: 28px; line-height: 1.45; }
.ta-share-signals ul { margin-top: 24px; display: grid; gap: 11px; }
.ta-share-signals li { padding-left: 18px; position: relative; color: #d1dde8; font-size: 14px; }
.ta-share-signals li::before { content: ""; position: absolute; left: 0; top: .7em; width: 7px; height: 7px; border-radius: 50%; background: #71d0b6; }
.ta-share-signals > strong { display: block; margin-top: 30px; padding: 20px; border: 1px solid rgba(113,208,182,.45); background: rgba(113,208,182,.1); font-size: 17px; }
.ta-report-wrap { margin-top: 110px; }
.ta-report-heading { display: flex; align-items: end; gap: 18px; margin-bottom: 24px; }
.ta-report-heading span { color: #7dccff; font-size: 10px; font-weight: 900; letter-spacing: .16em; }
.ta-report-heading h3 { font-size: 24px; }
.ta-report-heading p { margin-left: auto; color: #9db0c2; font-size: 11px; }
.ta-report { color: var(--ta-ink); background: #fff; border-radius: var(--ta-radius); overflow: hidden; box-shadow: 0 30px 75px rgba(0,0,0,.3); }
.ta-report > header { min-height: 100px; padding: 22px 30px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--ta-line); }
.ta-report > header small { color: var(--ta-blue); font-size: 9px; font-weight: 900; letter-spacing: .16em; }
.ta-report > header h4 { font-size: 24px; }
.ta-report > header > span { color: #84909b; font-size: 11px; }
.ta-report__stats { display: grid; grid-template-columns: repeat(6, 1fr); border-bottom: 1px solid var(--ta-line); }
.ta-report__stats > div { padding: 22px 16px; text-align: center; border-right: 1px solid var(--ta-line); }
.ta-report__stats > div:last-child { border-right: 0; }
.ta-report__stats small { display: block; color: #6e7a85; font-size: 10px; }
.ta-report__stats b { color: var(--ta-blue); font-size: 34px; line-height: 1.2; }
.ta-report__stats span { color: #6e7a85; font-size: 11px; }
.ta-report__stats .ta-report__hot { background: #fff3eb; }
.ta-report__stats .ta-report__hot b { color: #e4612d; }
.ta-report__body { padding: 28px 30px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ta-report__body section { padding: 18px; background: #f5f7f9; border-radius: 10px; }
.ta-report__body small { color: var(--ta-blue); font-size: 10px; font-weight: 900; }
.ta-report__body p { margin-top: 5px; font-size: 13px; line-height: 1.75; }
.ta-report__body .ta-report__signal { grid-column: 1 / -1; border-left: 4px solid var(--ta-blue); background: #eaf4ff; }

.ta-partnership { background: #fff; }
.ta-partnership__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; align-items: center; }
.ta-lead-text { margin-top: 24px !important; color: var(--ta-muted); }
.ta-partnership__rules { display: grid; gap: 10px; }
.ta-partnership__rules li { min-height: 68px; padding: 13px 18px; display: flex; align-items: center; border: 1px solid var(--ta-line); border-radius: 10px; font-weight: 700; font-size: 14px; }
.ta-partnership__rules span { width: 50px; color: var(--ta-blue); font-size: 11px; font-weight: 900; }

.ta-promises { background: var(--ta-paper); }
.ta-promise-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.ta-promise-grid article { min-height: 245px; padding: 28px; background: #fff; border: 1px solid var(--ta-line); border-radius: 16px; }
.ta-promise-grid article > span { color: var(--ta-blue); font-size: 11px; font-weight: 900; }
.ta-promise-grid h3 { margin-top: 24px; font-size: 21px; }
.ta-promise-grid p { margin-top: 12px; color: var(--ta-muted); font-size: 13px; }
.ta-promise-grid__goal { grid-column: 1 / -1; min-height: auto !important; display: grid; grid-template-columns: 60px 210px 1fr; align-items: center; color: #fff; background: var(--ta-blue) !important; border-color: var(--ta-blue) !important; }
.ta-promise-grid__goal > span { color: #bfe3ff !important; }
.ta-promise-grid__goal h3 { margin-top: 0; }
.ta-promise-grid__goal p { margin-top: 0; color: #e3f1fd; font-size: 16px; }

.ta-cost { background: #fff; }
.ta-cost__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 75px; align-items: center; }
.ta-cost h2 em { color: var(--ta-blue); font-style: normal; }
.ta-zero-list { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--ta-line); border-radius: 14px; overflow: hidden; }
.ta-zero-list span { padding: 19px 10px; display: flex; flex-direction: column; text-align: center; color: var(--ta-muted); font-size: 11px; border-right: 1px solid var(--ta-line); }
.ta-zero-list span:last-child { border-right: 0; }
.ta-zero-list b { color: var(--ta-blue); font-size: 24px; }
.ta-cost__detail > p { margin-top: 24px; font-weight: 700; }
.ta-cost__detail > small { display: block; margin-top: 8px; color: var(--ta-muted); font-size: 11px; }

.ta-criteria { background: #eef4f8; }
.ta-criteria__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ta-criteria__grid > div { padding: 38px; border-radius: 18px; }
.ta-criteria__scope { color: #fff; background: var(--ta-ink); }
.ta-criteria__check { background: #fff; border: 1px solid var(--ta-line); }
.ta-criteria__grid h3 { font-size: 23px; }
.ta-criteria__grid ul { margin-top: 22px; display: grid; gap: 11px; }
.ta-criteria__grid li { position: relative; padding-left: 23px; font-size: 14px; }
.ta-criteria__grid li::before { content: "•"; position: absolute; left: 0; color: #71d0b6; font-size: 22px; line-height: 1.2; }
.ta-criteria__check li::before { content: "✓"; color: var(--ta-blue); font-size: 15px; }

.ta-profile { overflow: hidden; background: #fbfdff; }
.ta-profile__grid { display: grid; grid-template-columns: .68fr 1.32fr; gap: 80px; align-items: center; }
.ta-profile__image { position: relative; min-height: 390px; display: flex; justify-content: center; align-items: center; border: 1px solid #edf1f4; border-radius: var(--ta-radius); background: #fff; }
.ta-profile__image img { display: block; width: 240px; height: 240px; border-radius: 50%; object-fit: contain; background: #fff; }
.ta-profile__mark { position: absolute; z-index: 3; left: 20px; top: 20px; color: var(--ta-blue); font-size: 11px; font-weight: 900; line-height: 1.25; letter-spacing: .12em; }
.ta-name { margin: 28px 0 20px; display: flex; align-items: baseline; gap: 15px; flex-wrap: wrap; }
.ta-name span { width: 100%; color: var(--ta-blue); font-size: 11px; font-weight: 900; }
.ta-name strong { font-size: 31px; letter-spacing: .08em; }
.ta-name small { color: var(--ta-muted); }
.ta-profile__copy > p { color: var(--ta-muted); }
.ta-licenses { margin-top: 26px; display: flex; gap: 8px; flex-wrap: wrap; }
.ta-licenses span { padding: 7px 12px; border-radius: 4px; background: #eaf4ff; color: var(--ta-blue-dark); font-size: 11px; font-weight: 750; }
.ta-profile__area { margin-top: 22px !important; font-size: 13px; }

.ta-final-cta { padding: 110px 0; color: #fff; text-align: center; background: radial-gradient(circle at 50% 0, #2383dc, transparent 45%), var(--ta-blue-dark); }
.ta-final-cta .ta-kicker { color: #9dd7ff; }
.ta-final-cta h2 { margin-top: 10px; font-size: clamp(42px, 6vw, 70px); line-height: 1.25; letter-spacing: -.045em; }
.ta-final-cta__lead { margin-top: 24px !important; font-weight: 800; }
.ta-case-tags { max-width: 900px; margin: 22px auto 30px; display: flex; justify-content: center; gap: 9px; flex-wrap: wrap; }
.ta-case-tags span { padding: 7px 13px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; background: rgba(255,255,255,.08); font-size: 12px; }
.ta-final-cta .ta-actions { margin-top: 34px; }
.ta-button--white { color: var(--ta-blue-dark) !important; background: #fff; box-shadow: 0 16px 36px rgba(0,0,0,.2); }
.ta-button--line { color: #fff !important; background: #19a760; box-shadow: 0 16px 36px rgba(0,0,0,.18); }
.ta-final-cta > .ta-container > small { display: block; margin-top: 14px; color: #c8dfef; }

.ta-footer { padding: 52px 0; color: #c2ccd5; background: #0c141d; }
.ta-footer__inner { display: grid; grid-template-columns: 1fr auto; gap: 25px; align-items: center; }
.ta-footer img { max-height: 26px; width: 120px; object-fit: contain; filter: invert(1); }
.ta-footer strong { margin-left: 16px; color: #fff; font-size: 14px; }
.ta-footer p { margin-top: 8px; font-size: 12px; }
.ta-footer__links { display: flex; gap: 22px; font-size: 12px; }
.ta-footer__inner > small { grid-column: 1 / -1; padding-top: 20px; border-top: 1px solid #26313b; font-size: 10px; }
.ta-mobile-cta { display: none; }

@media (max-width: 1024px) {
    .ta-nav__links { display: none; }
    .ta-brand { min-width: 0; margin-right: auto; }
    .ta-hero__grid { grid-template-columns: 1fr .78fr; min-height: 650px; gap: 20px; }
    .ta-hero__visual { min-height: 620px; }
    .ta-profile-figure { width: min(100%, 390px); grid-template-columns: 150px 1fr; gap: 16px; padding-inline: 20px; }
    .ta-profile-figure > img { width: 150px; height: 150px; }
    .ta-role-card { padding: 28px; }
    .ta-pillar__grid, .ta-pillar__grid--reverse { gap: 40px; }
    .ta-share-grid { grid-template-columns: 1fr; }
    .ta-share-signals { max-width: 700px; }
}

@media (max-width: 782px) {
    .admin-bar .ta-nav { top: 46px; }
}

@media (max-width: 767px) {
    .ta-lp { font-size: 15px; padding-bottom: 68px; }
    .ta-container { width: min(calc(100% - 32px), var(--ta-max)); }
    .ta-sp-only { display: block; }
    .ta-nav { height: 62px; position: sticky; }
    .ta-brand { gap: 9px; }
    .ta-brand img { width: 92px; }
    .ta-brand span { padding-left: 9px; font-size: 12px; }
    .ta-nav .ta-button { display: none; }
    .ta-hero { background: linear-gradient(160deg, #fff 0%, #fff 52%, #eaf5ff 52%, #f9fcff 100%); }
    .ta-hero__grid { min-height: auto; grid-template-columns: 1fr; padding-top: 54px; gap: 0; }
    .ta-eyebrow { font-size: 9px; }
    .ta-eyebrow span { margin-right: 7px; }
    .ta-hero__role { margin-top: 15px !important; font-size: 14px; }
    .ta-hero h1 { font-size: 44px; line-height: 1.15; }
    .ta-hero__lead { font-size: 18px; }
    .ta-hero__note { font-size: 12px; }
    .ta-actions { gap: 16px; }
    .ta-hero .ta-button { width: 100%; min-height: 58px; padding-inline: 14px; font-size: 13px; }
    .ta-hero .ta-text-link { margin-inline: auto; }
    .ta-pillars-mini { display: grid; grid-template-columns: 1fr 1fr; gap: 7px 14px; }
    .ta-hero__visual { min-height: 220px; margin-top: 28px; align-items: flex-start; }
    .ta-profile-figure { width: 100%; min-height: 170px; grid-template-columns: 110px 1fr; gap: 16px; padding: 22px 20px; }
    .ta-profile-figure > img { width: 110px; height: 110px; }
    .ta-profile-figure__caption { padding-left: 14px; }
    .ta-profile-figure__caption strong { font-size: 18px; }
    .ta-profile-figure__caption small { font-size: 10px; }
    .ta-hero__badge { width: 78px; height: 78px; right: -2px; bottom: 2px; }
    .ta-hero__badge strong { font-size: 13px; }
    .ta-hero__ticker { justify-content: flex-start; overflow: hidden; padding-left: 18px; gap: 13px; font-size: 10px; }
    .ta-hero__ticker i { width: 18px; }
    .ta-section, .ta-pillar { padding: 78px 0; }
    .ta-section-heading { margin-bottom: 36px; }
    .ta-section-heading h2, .ta-partnership h2, .ta-cost h2, .ta-profile h2 { font-size: 34px; }
    .ta-problem__grid, .ta-pillar__grid, .ta-pillar__grid--reverse, .ta-partnership__grid, .ta-cost__grid, .ta-profile__grid { grid-template-columns: 1fr; gap: 36px; }
    .ta-problem__answer { padding: 28px; }
    .ta-problem__answer > strong { font-size: 25px; }
    .ta-role-map { grid-template-columns: 1fr; gap: 0; }
    .ta-role-card { min-height: auto; padding: 30px 24px; }
    .ta-role-map__center { width: 112px; height: 112px; margin: -16px auto; }
    .ta-depth-map { grid-template-columns: 1fr; }
    .ta-depth-map > i { width: 2px; height: 32px; margin-inline: auto; }
    .ta-depth-map > i::after { right: -3px; top: auto; bottom: 0; transform: rotate(135deg); }
    .ta-share-band { grid-template-columns: 40px 1fr; }
    .ta-share-band p { grid-column: 1 / -1; margin-top: 8px; }
    .ta-pillar__copy h2 { font-size: 42px; }
    .ta-product-frame--desktop { max-height: 460px; }
    .ta-screen-story { margin-top: 55px; }
    .ta-phone-row { margin-top: 34px; grid-template-columns: 1fr; gap: 24px; }
    .ta-phone { max-width: 360px; margin-inline: auto; }
    .ta-field-visual { min-height: 420px; }
    .ta-call-stack { inset: 36px 22px; }
    .ta-call-stack span { width: 84%; padding: 14px; font-size: 12px; }
    .ta-create-visual { min-height: 470px; padding: 48px 27px; }
    .ta-route-line { left: 56px; }
    .ta-route-node { padding-left: 70px; }
    .ta-share-grid { gap: 30px; }
    .ta-share-signals h3 { font-size: 24px; }
    .ta-report-wrap { margin-top: 75px; }
    .ta-report-heading { display: block; }
    .ta-report-heading p { margin-top: 5px; }
    .ta-report > header { padding: 18px; }
    .ta-report > header h4 { font-size: 18px; }
    .ta-report > header > span { display: none; }
    .ta-report__stats { grid-template-columns: repeat(3, 1fr); }
    .ta-report__stats > div { padding: 16px 7px; border-bottom: 1px solid var(--ta-line); }
    .ta-report__stats b { font-size: 28px; }
    .ta-report__body { padding: 18px; grid-template-columns: 1fr; }
    .ta-report__body .ta-report__signal { grid-column: auto; }
    .ta-promise-grid { grid-template-columns: 1fr; }
    .ta-promise-grid article { min-height: auto; }
    .ta-promise-grid__goal { grid-column: auto; display: block; }
    .ta-promise-grid__goal h3 { margin-top: 20px; }
    .ta-promise-grid__goal p { margin-top: 10px; }
    .ta-zero-list { grid-template-columns: 1fr 1fr 1fr; }
    .ta-zero-list b { font-size: 20px; }
    .ta-criteria__grid { grid-template-columns: 1fr; }
    .ta-profile__grid { gap: 42px; }
    .ta-profile__image { min-height: 310px; }
    .ta-profile__image img { width: 210px; height: 210px; }
    .ta-final-cta h2 { font-size: 43px; }
    .ta-final-cta .ta-button { width: 100%; }
    .ta-footer__inner { grid-template-columns: 1fr; }
    .ta-footer__links { flex-wrap: wrap; gap: 13px 20px; }
    .ta-mobile-cta { position: fixed; z-index: 200; left: 0; right: 0; bottom: 0; display: block; padding: 7px 10px calc(7px + env(safe-area-inset-bottom)); background: rgba(8,20,31,.94); backdrop-filter: blur(10px); }
    .ta-mobile-cta a { min-height: 54px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; background: var(--ta-blue); border-radius: 8px; line-height: 1.35; }
    .ta-mobile-cta a, .ta-mobile-cta span, .ta-mobile-cta b { color: #fff !important; }
    .ta-mobile-cta span { font-size: 9px; }
    .ta-mobile-cta b { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .ta-button { transition: none; }
}
