:root { --graphite:#26282D; --mineral:#F3F4F2; --silver:#DDE5E6; --blue:#294A59; --petrol:#3E6A6C; --yellow:#EAB600; --ink:#F8F6F0; --shell:1200px; }
* { box-sizing:border-box; } body { margin:0; background:var(--mineral); color:var(--graphite); font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif; font-size:16px; line-height:1.8; } a { color:inherit; } .texti-c-shell { width:min(var(--shell),calc(100% - 64px)); margin-inline:auto; }
.texti-skip-link { position:fixed; z-index:100; top:8px; left:8px; padding:8px 12px; background:var(--yellow); color:var(--graphite); font-weight:800; text-decoration:none; transform:translateY(-160%); }.texti-skip-link:focus { transform:translateY(0); }
.texti-site-header { min-height:80px; background:var(--graphite); color:var(--ink); } .texti-site-header__inner { width:min(var(--shell),calc(100% - 64px)); min-height:80px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:36px; }.texti-logo { color:var(--ink); font-size:40px; font-weight:700; line-height:1; letter-spacing:-.04em; text-decoration:none; }.texti-logo span { color:var(--yellow); }.texti-site-nav { display:flex; align-items:center; gap:32px; font-size:15px; font-weight:700; }.texti-site-nav a { text-decoration:none; }.texti-site-nav a:hover,.texti-site-nav a:focus-visible { color:var(--yellow); }.texti-header-cta { border:1px solid #c4ced0; padding:9px 18px; }.texti-header-cta span { color:var(--yellow); margin-right:7px; }.texti-mobile-nav { display:none; }.texti-site-footer { padding:56px 0 28px; background:var(--graphite); color:var(--ink); }.texti-site-footer__inner { width:min(var(--shell),calc(100% - 64px)); margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:14px 32px; }.texti-site-footer nav { display:flex; gap:24px; justify-content:flex-end; }.texti-site-footer small { color:#b8c2c4; }
.texti-c-home-hero { min-height:640px; display:flex; align-items:center; background:var(--mineral); }.texti-c-hero-grid { display:grid; grid-template-columns:43% 57%; align-items:center; gap:20px; }.texti-c-kicker { margin:0 0 12px; color:var(--petrol); font-size:11px; font-weight:800; letter-spacing:.16em; line-height:1.4; }.texti-c-hero-copy h1 { margin:0 0 24px; color:var(--graphite); font-size:clamp(3.9rem,6vw,4.5rem); letter-spacing:-.06em; line-height:1.18; }.texti-c-hero-lead { max-width:520px; margin:0 0 30px; font-size:18px; font-weight:600; line-height:1.8; }.texti-c-button { display:inline-flex; min-height:48px; align-items:center; gap:28px; padding:10px 18px; background:var(--graphite); color:var(--ink); font-weight:800; text-decoration:none; }.texti-c-button span { color:var(--yellow); font-size:20px; }.texti-c-device-stage { position:relative; min-height:440px; }.texti-c-laptop { position:absolute; top:28px; left:5%; width:90%; padding:17px 17px 26px; border-radius:16px 16px 8px 8px; background:#14171a; box-shadow:0 16px 26px #1e2c3040; }.texti-c-screen { min-height:350px; display:flex; overflow:hidden; border:9px solid #101214; border-radius:4px; background:#f4f6f5; }.texti-c-screen-nav { width:22%; display:flex; flex-direction:column; gap:25px; padding:20px 14px; background:#20262b; color:var(--ink); }.texti-c-screen-nav b { font-size:19px; }.texti-c-screen-nav b span { color:var(--yellow); }.texti-c-screen-nav i { width:80%; height:8px; border-radius:2px; background:#677479; }.texti-c-dashboard { flex:1; padding:24px; color:var(--graphite); }.texti-c-dashboard strong { font-size:20px; }.texti-c-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:20px; }.texti-c-metrics b { padding:14px; background:#fff; font-size:20px; }.texti-c-metrics small { display:block; color:#697478; font-size:10px; font-weight:400; }.texti-c-chart { height:125px; display:flex; align-items:end; gap:8px; margin-top:18px; padding:14px; background:#fff; }.texti-c-chart span { flex:1; background:#6c9ea0; }.texti-c-chart span:nth-child(1){height:25%;}.texti-c-chart span:nth-child(2){height:42%;}.texti-c-chart span:nth-child(3){height:32%;}.texti-c-chart span:nth-child(4){height:67%;}.texti-c-chart span:nth-child(5){height:54%;}.texti-c-chart span:nth-child(6){height:82%;}.texti-c-phone { position:absolute; right:1%; bottom:10px; width:105px; min-height:220px; padding:18px 10px; border:6px solid #16191b; border-radius:18px; background:#fff; box-shadow:0 12px 20px #1e2c3040; font-size:11px; }.texti-c-phone-chart { height:70px; margin:18px 0; background:linear-gradient(145deg,transparent 55%,var(--petrol) 56%,transparent 59%), repeating-linear-gradient(to top,#dce5e6 0 1px,transparent 1px 22px); }.texti-c-phone strong { font-size:22px; }
.texti-c-intro { background:var(--silver); }.texti-c-intro-grid { min-height:98px; display:grid; grid-template-columns:1.5fr 1fr; align-items:center; gap:48px; }.texti-c-intro-label,.texti-c-price { display:flex; align-items:center; gap:18px; }.texti-c-line-icon,.texti-c-price>span { display:grid; width:48px; height:48px; place-items:center; border:1px solid #a8bcc1; border-radius:50%; font-size:24px; }.texti-c-intro-label strong,.texti-c-price b { display:block; font-size:18px; }.texti-c-intro-label small { display:block; font-size:14px; }.texti-c-price { border-left:1px solid #b5c5c7; padding-left:48px; }.texti-c-price b { font-size:20px; }.texti-c-price strong { font-size:42px; text-decoration:underline; text-decoration-color:var(--yellow); text-decoration-thickness:4px; text-underline-offset:9px; }
.texti-c-growth { padding:80px 0 88px; background:var(--blue); color:var(--ink); }.texti-c-growth h2 { margin:0 0 48px; color:var(--ink); text-align:center; font-size:40px; }.texti-c-steps { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; gap:22px; }.texti-c-steps article { display:flex; align-items:center; gap:18px; }.texti-c-step-mark { display:grid; flex:none; width:86px; height:86px; place-items:center; border:1px solid var(--yellow); border-radius:50%; color:var(--yellow); font-size:20px; font-weight:800; }.texti-c-steps p { margin:0; color:var(--yellow); font-size:12px; font-weight:800; letter-spacing:.15em; }.texti-c-steps h3 { margin:3px 0 5px; color:var(--ink); font-size:23px; }.texti-c-steps span { display:block; color:#d6e1e1; font-size:14px; line-height:1.7; }.texti-c-step-arrow { color:var(--yellow); font-size:28px; }
.texti-c-works { padding:86px 0 96px; background:var(--mineral); }.texti-c-section-heading { display:flex; align-items:baseline; gap:18px; margin-bottom:22px; border-left:3px solid var(--blue); padding-left:18px; }.texti-c-section-heading h2 { margin:0; font-size:32px; }.texti-c-case { display:grid; grid-template-columns:240px 1fr auto; align-items:center; gap:34px; padding:14px; border:1px solid #c8d2d3; background:#fff; }.texti-c-case-image { min-height:130px; display:grid; place-items:center; background:linear-gradient(135deg,#263842,#12232d); color:#fff; font-size:20px; font-weight:800; letter-spacing:.04em; line-height:1.15; }.texti-c-case-copy h3 { margin:3px 0 7px; font-size:23px; }.texti-c-case-copy p { margin:0 0 12px; font-size:15px; }.texti-c-case-copy a { font-weight:800; text-decoration:none; }.texti-c-cta { padding:58px 0; background:var(--petrol); color:var(--ink); }.texti-c-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:40px; }.texti-c-cta h2 { margin:0; color:var(--ink); font-size:34px; }.texti-c-cta p { margin:4px 0 0; }.texti-c-button--yellow { background:var(--yellow); color:var(--graphite); }.texti-c-button--yellow span { color:var(--graphite); }
@media (max-width:900px) { .texti-site-nav { gap:14px; font-size:13px; }.texti-c-hero-copy h1 { font-size:3.3rem; }.texti-c-steps { gap:10px; }.texti-c-step-mark { width:66px; height:66px; }.texti-c-steps h3 { font-size:18px; }.texti-c-case { grid-template-columns:180px 1fr; }.texti-c-case-copy a { grid-column:2; } }
@media (max-width:700px) { .texti-c-shell,.texti-site-header__inner,.texti-site-footer__inner { width:min(100% - 36px,var(--shell)); }.texti-site-header,.texti-site-header__inner { min-height:68px; }.texti-logo { font-size:34px; }.texti-site-nav { display:none; }.texti-mobile-nav { display:block; position:relative; color:var(--yellow); font-size:11px; letter-spacing:.12em; }.texti-mobile-nav summary { cursor:pointer; }.texti-mobile-nav nav { position:absolute; top:32px; right:0; z-index:10; display:grid; min-width:180px; gap:0; padding:8px; border:1px solid #68787c; background:var(--graphite); }.texti-mobile-nav nav a { padding:8px 10px; color:var(--ink); font-size:14px; letter-spacing:0; text-decoration:none; }.texti-mobile-nav nav a:focus-visible,.texti-mobile-nav nav a:hover { color:var(--yellow); }.texti-c-home-hero { min-height:auto; padding:72px 0 42px; }.texti-c-hero-grid { grid-template-columns:1fr; }.texti-c-hero-copy h1 { font-size:clamp(2.7rem,12vw,3.5rem); }.texti-c-hero-lead { font-size:16px; }.texti-c-device-stage { min-height:280px; }.texti-c-laptop { top:16px; width:93%; padding:8px 8px 14px; }.texti-c-screen { min-height:210px; border-width:5px; }.texti-c-screen-nav { gap:12px; padding:12px 7px; }.texti-c-dashboard { padding:13px; }.texti-c-dashboard strong { font-size:14px; }.texti-c-metrics b { padding:7px; font-size:13px; }.texti-c-chart { height:74px; margin-top:10px; }.texti-c-phone { width:76px; min-height:155px; padding:10px 6px; border-width:4px; }.texti-c-phone-chart { height:45px; margin:8px 0; }.texti-c-phone strong { font-size:16px; }.texti-c-intro-grid { grid-template-columns:1fr; gap:10px; padding:18px 0; }.texti-c-intro-label strong { font-size:14px; }.texti-c-intro-label small { font-size:12px; }.texti-c-price { border:0; padding:0 0 0 66px; }.texti-c-price strong { font-size:30px; }.texti-c-growth { padding:64px 0; }.texti-c-growth h2 { font-size:28px; text-align:left; }.texti-c-steps { grid-template-columns:1fr; gap:24px; }.texti-c-step-arrow { display:none; }.texti-c-steps h3 { font-size:20px; }.texti-c-case { grid-template-columns:1fr; gap:18px; padding:10px; }.texti-c-case-image { min-height:150px; }.texti-c-case-copy a { grid-column:auto; }.texti-c-cta-inner { align-items:flex-start; flex-direction:column; }.texti-c-cta h2 { font-size:27px; }.texti-site-footer__inner { grid-template-columns:1fr; }.texti-site-footer nav { justify-content:flex-start; flex-wrap:wrap; } }

/* Home hierarchy refinements: readable copy, equal service entrances, and product follow-on. */
.texti-site-nav { font-size:16px; }.texti-c-intro-label strong { font-size:20px; }.texti-c-intro-label small { font-size:16px; }.texti-c-case-copy p { font-size:16px; }
.texti-c-services { padding:88px 0 96px; background:var(--mineral); }.texti-c-service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #bdcacc; border-bottom:1px solid #bdcacc; }.texti-c-service-grid article { min-height:250px; padding:28px 34px 30px 0; border-right:1px solid #bdcacc; }.texti-c-service-grid article+article { padding-left:34px; }.texti-c-service-grid article:last-child { border-right:0; }.texti-c-service-no { margin:0; color:var(--petrol); font-size:13px; font-weight:800; letter-spacing:.16em; }.texti-c-service-grid h3 { margin:10px 0; font-size:24px; }.texti-c-service-grid article>p:not(.texti-c-service-no) { min-height:72px; margin:0 0 18px; font-size:16px; }.texti-c-service-grid a { font-weight:800; text-decoration:none; }.texti-c-service-grid a:hover,.texti-c-service-grid a:focus-visible { color:var(--petrol); }
.texti-c-products { padding:12px 0 92px; background:var(--mineral); }.texti-c-product-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }.texti-c-product-grid article { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:18px; padding:22px 24px; border:1px solid #c8d2d3; background:#fff; }.texti-c-product-symbol { display:grid; width:44px; height:44px; place-items:center; color:var(--yellow); font-size:27px; }.texti-c-case-image img { width:100%; height:100%; min-height:130px; object-fit:cover; display:block; }.texti-c-product-thumb { width:88px; height:64px; object-fit:cover; border:1px solid #c8d2d3; background:var(--silver); }.texti-c-product-grid h3 { margin:0; font-size:22px; }.texti-c-product-grid p { margin:2px 0 0; font-size:16px; }.texti-c-product-grid article>a { font-size:24px; text-decoration:none; }
@media (max-width:900px) { .texti-c-service-grid article { padding-right:18px; }.texti-c-service-grid article+article { padding-left:18px; } }
@media (max-width:700px) { .texti-c-services { padding:64px 0 70px; }.texti-c-service-grid { grid-template-columns:1fr; border-bottom:0; }.texti-c-service-grid article,.texti-c-service-grid article+article { min-height:0; padding:24px 0; border-right:0; border-bottom:1px solid #bdcacc; }.texti-c-service-grid article:last-child { border-bottom:0; }.texti-c-service-grid article>p:not(.texti-c-service-no) { min-height:0; }.texti-c-products { padding-bottom:70px; }.texti-c-product-grid { grid-template-columns:1fr; }.texti-c-product-grid p { font-size:15px; }.texti-c-product-thumb { width:72px; height:56px; } }

/* Visible breadcrumb trail on interior pages. */
.texti-breadcrumbs { background:transparent; color:#1e4965; font-size:.8rem; letter-spacing:0; }
.texti-breadcrumbs__inner { width:min(var(--shell),calc(100% - 64px)); margin:0 auto; padding:1.05rem 0 .35rem; }
.texti-breadcrumbs ol { display:flex; flex-wrap:wrap; gap:.35rem 0; margin:0; padding:0; list-style:none; }
.texti-breadcrumbs li { display:inline-flex; align-items:center; min-width:0; }
.texti-breadcrumbs li+li::before { content:'/'; margin:0 .48rem; color:#7f8b93; }
.texti-breadcrumbs a { color:#24556a; text-decoration:underline; text-underline-offset:2px; }
.texti-breadcrumbs a:hover,.texti-breadcrumbs a:focus-visible { text-decoration:underline; }
.texti-breadcrumbs [aria-current="page"] span { color:#1b2730; font-weight:600; }
@media (max-width:640px) { .texti-breadcrumbs { font-size:.75rem; }.texti-breadcrumbs__inner { width:calc(100% - 36px); padding:.75rem 0 .25rem; }.texti-breadcrumbs li+li::before { margin:0 .4rem; } }
