/* Approved C composition; inherits the shared B system without restyling apps. */
.home-c .section { padding-block:88px; }
.home-c .hero { padding:42px 0 48px; }
.home-c .hero-grid { grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:40px;min-height:0; }
.home-c h1 { font-size:64px;line-height:1.05;letter-spacing:-.047em; }
.home-c .hero-description { margin:24px 0 28px;font-size:18px;max-width:46ch; }
.home-c .hero-description-short { display:none; }
.home-c .hero-visual { width:calc(100% + 16px); }
.home-c .hero-screenshot-link { box-shadow:none; }
.home-c .hero-visual figcaption { margin-top:10px; }
.home-c .hero-visual figcaption > a { margin-left:auto; }
.home-c .mobile-fragments,.home-c .mobile-caption { display:none; }
.home-c .hero-topology { position:absolute;inset:0;z-index:-1;pointer-events:none; }
.home-c .hero-topology svg { width:100%;height:100%;fill:none;stroke:#dce7e0;stroke-width:1;opacity:.65; }
.home-c .hero-topology circle { fill:var(--page-bg); }
.home-c .difference-section { background:var(--surface); }
.home-c .difference-heading { grid-template-columns:7fr 5fr;gap:72px; }
.home-c .difference-heading h2 { max-width:24ch; }
.home-c .difference-heading > p { margin:0;max-width:52ch; }
.home-c .difference-heading strong { font-weight:500;color:var(--text-primary); }
.home-c #difference { padding-block:72px; }
.home-c #difference .difference-example { display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.65fr);gap:64px;align-items:center; }
.home-c #difference .difference-copy h2 { font-size:38px;max-width:23ch; }
.home-c #difference .difference-copy > p { margin:20px 0 0;max-width:35ch;color:var(--text-secondary);font-size:16px;line-height:1.65; }
.home-c #difference .ip-example { margin:0;min-width:0; }
.home-c #difference .ip-example-path { display:grid;grid-template-columns:minmax(0,1fr) minmax(116px,.65fr) minmax(0,1fr);gap:20px;align-items:center; }
.home-c #difference .ip-station { display:flex;flex-direction:column;align-items:start;min-width:0; }
.home-c #difference .ip-location { color:var(--text-muted);font-size:12px;line-height:1.5; }
.home-c #difference .ip-device { display:block;width:112px;height:80px;margin:18px 0 14px;fill:none;stroke:var(--text-primary);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round; }
.home-c #difference .project-mark { stroke:var(--brand); }
.home-c #difference .ip-station h3 { margin:0;font-size:19px;line-height:1.3;letter-spacing:-.025em; }
.home-c #difference .ip-project-note { margin:8px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.5; }
.home-c #difference .ip-address { display:grid;gap:7px;width:100%;margin-top:20px;padding-top:14px;border-top:1px solid var(--border); }
.home-c #difference .ip-address > span { font-size:11px;color:var(--text-muted);line-height:1.5; }
.home-c #difference .ip-address code { display:block;width:fit-content;padding:4px 7px;background:var(--surface-secondary);color:var(--brand);font-size:14px;line-height:1.5;white-space:nowrap; }
.home-c #difference .ip-connection { display:flex;flex-direction:column;align-items:center;gap:7px;margin-top:22px;color:var(--brand);text-align:center;text-decoration:none; }
.home-c #difference .ip-connection > svg { display:block;width:100%;height:32px;margin-bottom:5px;fill:var(--surface);stroke:var(--brand);stroke-width:1; }
.home-c #difference .ip-connection > strong { font-size:13px;font-weight:500; }
.home-c #difference .ip-connection > span { color:var(--text-secondary);font-size:11px;line-height:1.5; }
.home-c #difference .ip-connection .ip-connection-link { display:inline-flex;align-items:center;gap:6px;min-height:32px;color:var(--brand);font-size:11px;text-decoration:underline;text-underline-offset:4px; }
.home-c #difference .ip-connection:focus-visible { outline:3px solid var(--focus);outline-offset:8px; }
.home-c #difference .ip-example figcaption { margin:22px 0 0;padding-top:16px;border-top:1px solid var(--border);font-size:12px;line-height:1.6;color:var(--text-secondary); }
@media (max-width:1279px) {
 .home-c #difference .difference-example { grid-template-columns:minmax(0,.8fr) minmax(0,1.65fr);gap:40px; }
 .home-c #difference .difference-copy h2 { font-size:34px; }
 .home-c #difference .ip-example-path { gap:16px; }
 .home-c #difference .ip-station h3 { font-size:17px; }
}
@media (max-width:1000px) {
 .home-c #difference .difference-example { grid-template-columns:1fr;gap:32px; }
 .home-c #difference .difference-copy { display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start; }
 .home-c #difference .difference-copy > p { margin:0;max-width:44ch; }
 .home-c #difference .ip-example-path { grid-template-columns:1fr .65fr 1fr;gap:32px; }
 .home-c #difference .ip-example { max-width:760px;width:100%; }
 .home-c #difference .ip-station h3 { font-size:20px; }
}
@media (max-width:540px) {
 .home-c #difference { padding-block:48px; }
 .home-c #difference .difference-copy { display:block; }
 .home-c #difference .difference-copy h2 { font-size:30px; }
 .home-c #difference .difference-copy > p { margin-top:18px; }
 .home-c #difference .difference-example { gap:28px; }
 .home-c #difference .ip-example-path { grid-template-columns:1fr;gap:18px; }
 .home-c #difference .ip-station { display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:16px;align-items:start; }
 .home-c #difference .ip-location,.home-c #difference .ip-station h3,.home-c #difference .ip-project-note,.home-c #difference .ip-address { grid-column:2; }
 .home-c #difference .ip-location { font-size:11px; }
 .home-c #difference .ip-device { grid-column:1;grid-row:1 / 5;width:56px;height:48px;margin:20px 0 0;stroke-width:1.7; }
 .home-c #difference .ip-station h3 { margin-top:7px;font-size:19px; }
 .home-c #difference .ip-project-note { margin-top:5px; }
 .home-c #difference .ip-address { width:100%;margin-top:12px;padding-top:10px;gap:5px; }
 .home-c #difference .ip-address code { font-size:14px; }
 .home-c #difference .ip-connection { position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:16px;align-items:start;justify-items:start;margin:0;text-align:left;gap:2px 16px; }
 .home-c #difference .ip-connection::before { content:'';grid-column:1;grid-row:1 / 4;justify-self:center;width:1px;height:100%;min-height:70px;background:var(--border); }
 .home-c #difference .ip-connection > svg { display:none; }
 .home-c #difference .ip-connection > strong,.home-c #difference .ip-connection > span { grid-column:2; }
 .home-c #difference .ip-connection > span br { display:none; }
 .home-c #difference .ip-connection .ip-connection-link { min-height:32px; }
 .home-c #difference .ip-example figcaption { margin-top:20px;padding-top:14px;font-size:12px; }
}
.home-c .trial-section { padding-block:68px; }
.home-c .trial-heading { grid-template-columns:7fr 5fr;gap:72px; }
.home-c .trial-heading h2 { font-size:44px; }
.home-c .trial-heading > p { max-width:39ch;font-size:16px; }
.home-c .trial-steps { margin:30px 0 26px;gap:48px; }
.home-c .trial-steps li { font-size:15px; }
.home-c .section-intro { margin-bottom:36px; }
.home-c .faq-section { padding-top:24px;padding-bottom:64px; }
.home-c .ready-section { padding-block:46px;background:var(--surface-secondary);border-top:1px solid var(--border); }
.home-c .ready-layout { display:grid;grid-template-columns:7fr 5fr;gap:72px;align-items:center; }
.home-c .ready-section h2 { font-size:34px;line-height:1.15; }
.home-c .question-link { display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:14px;font-size:14px; }
.home-c .ready-actions { display:flex;align-items:start;flex-direction:column;gap:8px; }
.home-c .ready-actions .button { min-height:50px; }
.home-c .ready-actions .text-action { font-size:14px; }
.home-c .footer.footer-final { border-top:1px solid var(--border); }
@media (max-width:1279px) {
 .home-c h1 { font-size:54px; }
 .home-c .hero-grid { gap:32px; }
 .home-c .hero-visual { width:100%; }
 .home-c .difference-heading,.home-c .trial-heading,.home-c .ready-layout { gap:40px; }
}
@media (min-width:861px) and (max-width:1000px) {
 .home-c h1 { font-size:44px; }
 .home-c .hero-description { font-size:16px; }
 .home-c .hero-grid { gap:24px; }
}
@media (max-width:860px) {
 .home-c .hero { padding:40px 0 44px; }
 .home-c .hero-grid { grid-template-columns:1fr;gap:30px; }
 .home-c h1 { font-size:50px; }
 .home-c .hero-description { max-width:53ch; }
 .home-c .hero-visual { max-width:760px; }
 .home-c .section { padding-block:72px; }
 .home-c .difference-heading,.home-c .trial-heading,.home-c .ready-layout { grid-template-columns:1fr;gap:22px; }
 .home-c .trial-section { padding-block:56px; }
 .home-c .trial-heading h2 { font-size:36px; }
 .home-c .trial-heading > p { max-width:56ch; }
 .home-c .trial-steps { gap:28px; }
 .home-c .faq-section { padding-top:16px;padding-bottom:48px; }
 .home-c .ready-section { padding-block:38px; }
 .home-c .ready-section h2 { max-width:28ch;font-size:32px; }
 .home-c .ready-actions { flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 24px; }
}
@media (max-width:540px) {
 .home-c .hero { padding:24px 0 32px; }
 .home-c .hero-grid { gap:22px; }
 .home-c h1 { font-size:clamp(32px,9.2vw,37px);line-height:1.05;letter-spacing:-.041em; }
 .home-c .hero-description { margin:16px 0 18px;font-size:16px;line-height:1.5; }
 .home-c .hero-description-full { display:none; }
 .home-c .hero-description-short { display:inline; }
 .home-c .hero-ctas { display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px; }
 .home-c .hero-ctas .button { min-height:48px;padding-inline:14px;font-size:14px;gap:6px; }
 .home-c .hero-ctas .text-action { justify-content:start;min-height:44px;font-size:13px;line-height:1.4;gap:0; }
 .home-c .hero-ctas .text-action > span { display:none; }
 .home-c .product-caption { margin-bottom:8px;font-size:11px;line-height:1.5; }
 .home-c .product-main { display:none; }
 .home-c .mobile-fragments { display:flex;flex-direction:column;align-items:start;padding:7px;background:#242a32; }
 .home-c .mobile-route { display:block;max-width:100%;width:298px;height:auto; }
 .home-c .fragment-gap { display:block;height:8px;width:100%; }
 .home-c .mobile-route-actions { display:block;align-self:end;width:217px;max-width:100%;height:auto; }
 .home-c .hero-visual figcaption { display:flex;justify-content:space-between;align-items:start;gap:4px 12px;margin-top:8px;font-size:10px;line-height:1.5; }
 .home-c .hero-visual figcaption a { display:inline-block;min-height:24px;padding:0;white-space:nowrap; }
 .home-c .desktop-caption { display:none; }
 .home-c .mobile-caption { display:block;max-width:23ch; }
 .home-c .hero-topology svg { opacity:.35; }
 .home-c .section { padding-block:56px; }
 .home-c .difference-heading { gap:20px; }
 .home-c .difference-heading h2 { font-size:30px; }
 .home-c .trial-section { padding-block:48px; }
 .home-c .trial-heading { gap:20px; }
 .home-c .trial-heading h2 { font-size:31px; }
 .home-c .trial-heading h2 br { display:none; }
 .home-c .trial-heading > p { font-size:15px; }
 .home-c .trial-steps { gap:20px;margin:26px 0 24px;padding-block:22px; }
 .home-c .trial-steps li { gap:12px;font-size:15px; }
 .home-c .trial-actions { gap:12px; }
 .home-c .trial-actions .text-action { font-size:14px; }
 .home-c .faq-section { padding-top:8px;padding-bottom:44px; }
 .home-c .ready-section { padding-block:34px; }
 .home-c .ready-section h2 { font-size:28px; }
 .home-c .ready-section h2 br { display:none; }
 .home-c .ready-layout { gap:18px; }
 .home-c .ready-actions { flex-direction:column;align-items:stretch;gap:6px; }
 .home-c .ready-actions .text-action { font-size:14px; }
 .home-c .question-link { font-size:13px;margin-top:12px; }
}
@media (max-width:360px) {
 .home-c .hero { padding-top:18px;padding-bottom:28px; }
 .home-c .hero-grid { gap:18px; }
 .home-c .mobile-fragments { padding:5px; }
 .home-c .hero-visual figcaption { font-size:10px;gap:4px 8px; }
 .home-c .mobile-caption { max-width:22ch; }
}
@media (prefers-reduced-motion:reduce) {
 .home-c *,.home-c *::before,.home-c *::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
}
