:root{--ink:#102033;--ink-soft:#3d4d63;--paper:#f4f1ea;--paper-2:#ebe6dc;--card:#fffcf7;--line:#d7d0c4;--signal:#1f7a4d;--action:#1d4ed8;--copper:#5c3a1e;--customer:#0b4f4c;--customer-wash:#0b4f4c14;--partner:#6e4524;--partner-wash:#6e452414;--engineer:#1a3f73;--engineer-wash:#1a3f7314;--ease-out:cubic-bezier(.22, 1, .36, 1);--dur-fast:.18s;--dur-mid:.42s;--dur-diagram:.5s}.rd{color:var(--ink);word-break:keep-all;font-size:17px;line-height:1.75}.rd-wrap{width:min(1120px,100% - 2rem);margin-inline:auto}.rd-hero,.rd-band,.rd-chapter{padding-block:3rem}.rd-band{background:var(--paper-2)}.rd-kicker{color:var(--ink-soft);font-family:var(--font-mono);letter-spacing:.04em;margin:0 0 .75rem;font-size:13px}.rd h1,.rd h2,.rd h3{letter-spacing:-.02em;text-wrap:pretty}.rd h1{max-width:18em;margin:0 0 1rem}.rd h2{max-width:20em;font:var(--type-h2);margin:0 0 .75rem}.rd h3{margin:0 0 .35rem;font-size:1.125rem;line-height:1.4}.rd p,.rd li{max-width:42ch}.rd-lead{color:var(--ink-soft);margin:0 0 1rem}.rd-hero-grid,.rd-split{align-items:start;gap:1.5rem;display:grid}.rd-actions{flex-wrap:wrap;gap:.75rem;margin:1.25rem 0;display:flex}.rd-btn{min-height:44px;font:var(--type-control);border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:.5rem 1rem;text-decoration:none;display:inline-flex}.rd-btn-primary{color:#fffcf7;background:var(--action)}.rd-btn-ghost{color:var(--ink);border-color:var(--line);background:0 0}.rd-panel{border:1px solid var(--line);background:var(--card);border-radius:16px;max-width:100%;margin:0;padding:1rem 1rem .5rem;overflow-x:auto}.rd-caption{color:var(--ink-soft);margin:.75rem 0 1rem;font-size:13px;line-height:1.6}.rd-steps,.rd-roles{gap:1rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.rd-step,.rd-role{border:1px solid var(--line);background:var(--card);border-radius:16px;gap:.75rem;padding:1rem;display:grid}.rd-step{grid-template-columns:auto minmax(0,1fr)}.rd-idx{color:var(--ink-soft);font-family:var(--font-mono);font-size:13px}.rd-role p,.rd-step p,.rd-role h3,.rd-step h3{max-width:none}.rd-role.customer{background:var(--customer-wash)}.rd-role.partner{background:var(--partner-wash)}.rd-role.engineer{background:var(--engineer-wash)}.rd-who{font-family:var(--font-mono);margin:0;font-size:13px}.rd-role.customer .rd-who{color:var(--customer)}.rd-role.partner .rd-who{color:var(--copper)}.rd-role.engineer .rd-who{color:var(--engineer)}.life-svg,.rd-art{width:100%;height:auto;display:block}.life-rail,.life-progress{fill:none;stroke-width:2px}.life-rail{stroke:var(--line)}.life-progress{stroke:var(--signal);stroke-dasharray:100;stroke-dashoffset:0}.life-svg text{font-family:var(--font-ui)}.life-svg .sub{fill:var(--ink-soft)}.rd-table{border-collapse:collapse;width:100%;font-size:15px}.rd-table th,.rd-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.75rem .5rem}.rd-table th{color:var(--ink-soft);font-size:13px;font-weight:600}.rd-layers{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.rd-layers li{border:1px solid var(--line);background:var(--card);border-radius:8px;max-width:none;padding:.85rem 1rem}.rd-layers li span{color:var(--ink-soft);font-size:13px;display:block}.rd-role-switch{flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;display:flex}.rd-role-switch a{border:1px solid var(--line);min-height:44px;color:var(--ink);background:var(--card);border-radius:8px;align-items:center;padding:.4rem .9rem;text-decoration:none;display:inline-flex}.rd-role-switch a[aria-current=page]{color:#fffcf7;background:var(--ink)}.rd-role-switch a:focus-visible{outline:2px solid var(--action);outline-offset:3px}.rd-step-name{margin:0 0 .35rem;font-size:1.125rem;font-weight:600;line-height:1.4}.rd-checklist,.rd-role-panel{transition:none}.rd-checklist{margin:0;padding:0;list-style:none}.rd-checklist li{border-top:1px solid var(--line);max-width:48ch;padding:.75rem 0}.rd-checklist li:last-child{border-bottom:1px solid var(--line)}.rd-slot{border:1px dashed var(--line);background:var(--paper-2);border-radius:16px;padding:1rem}.rd-slot strong,.rd-slot p{max-width:42ch;display:block}#inquiry-form,#talk{scroll-margin-top:5.5rem}.home-steps{margin-top:2.5rem}.home-steps .rd-step{max-width:none;height:100%}@media (min-width:720px){.home-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:900px){.rd-hero-grid,.rd-split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2.5rem}.home-hero .rd-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center}.rd-roles{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1100px){.home-steps{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width:899px){.life-pin,.stage-pin{position:static}}@media (prefers-reduced-motion:no-preference){.rd :where(a,button){transition:transform var(--dur-fast) var(--ease-out)}.rd :where(a,button):hover{transform:translateY(-1px)}}[data-stagger="1"]{--stagger:1}[data-stagger="2"]{--stagger:2}[data-stagger="3"]{--stagger:3}[data-reveal],[data-step],.life-step{opacity:1;transform:none}html.js-io [data-reveal]{opacity:1;transition:transform var(--dur-mid) var(--ease-out);transition-delay:calc(min(var(--stagger,0), 3) * 70ms);transform:translateY(12px)}html.js-io [data-reveal].is-in{opacity:1;transform:none}html.js-io:not(.js-timeline) .life-step circle{opacity:.35;transition:opacity var(--dur-diagram) var(--ease-out)}html.js-io:not(.js-timeline) .life-step.is-in circle{opacity:1}html.js-io:not(.js-timeline) .life-progress{stroke-dashoffset:100px;transition:stroke-dashoffset var(--dur-diagram) var(--ease-out)}html.js-io:not(.js-timeline) .life-progress.is-drawn{stroke-dashoffset:0}.life-scroll{view-timeline-name:--life;view-timeline-axis:block}@supports (animation-timeline:view()){html.js-timeline .life-progress{stroke-dashoffset:100px;animation:linear both life-draw;animation-timeline:--life;animation-range:contain contain 78%}html.js-timeline .life-step circle{opacity:.35;animation:linear both life-lit;animation-timeline:--life}html.js-timeline .life-step[data-i="0"] circle{animation-range:contain contain 16%}html.js-timeline .life-step[data-i="1"] circle{animation-range:contain 12% contain 32%}html.js-timeline .life-step[data-i="2"] circle{animation-range:contain 28% contain 48%}html.js-timeline .life-step[data-i="3"] circle{animation-range:contain 44% contain 64%}html.js-timeline .life-step[data-i="4"] circle{animation-range:contain 60% contain 80%}}@keyframes life-draw{to{stroke-dashoffset:0}}@keyframes life-lit{to{opacity:1}}@media (prefers-reduced-motion:reduce){html.js-io [data-reveal],html.js-io [data-step],html.js-timeline .life-step circle,html.js-timeline .life-progress,html.js-io .life-progress{opacity:1;stroke-dashoffset:0;transition:none;animation:none;transform:none}.rd :where(a,button),.rd :where(a,button):hover{transition:none;transform:none}}.rd-explain{gap:.6rem;display:grid}.rd-explain-item{border:1px solid var(--line);background:var(--card);border-radius:8px;transition:border-color .18s,background-color .18s}.rd-explain-item[open]{border-color:var(--action);background:#fff}.rd-explain-item summary{cursor:pointer;align-items:flex-start;gap:.8rem;min-height:44px;padding:.8rem 1rem;list-style:none;display:flex}.rd-explain-item summary::-webkit-details-marker{display:none}.rd-explain-item summary:after{content:"+";color:var(--ink-soft);margin-left:auto;font-weight:700}.rd-explain-item[open] summary:after{content:"−"}.rd-explain-item summary:focus-visible{outline:2px solid var(--action);outline-offset:3px}.rd-explain-idx{color:var(--signal);font-variant-numeric:tabular-nums;font-weight:700}.rd-explain-head strong,.rd-explain-head span{display:block}.rd-explain-head span{color:var(--ink-soft);font-size:13px}.rd-explain-item ul{margin:0;padding:0 1rem 1rem 3.4rem}.rd-explain-item li{max-width:none;margin:.25rem 0}@media (prefers-reduced-motion:no-preference){.rd-explain-item[open] ul{animation:.42s cubic-bezier(.22,1,.36,1) rd-explain-in}}@keyframes rd-explain-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.rd-chooser{gap:.75rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.rd-chooser li{max-width:none}.rd-chooser a{border:1px solid var(--line);min-height:44px;color:var(--ink);background:var(--card);border-radius:8px;padding:1rem 1.1rem;text-decoration:none;transition:transform .18s,border-color .18s;display:block}.rd-chooser a:hover{border-color:var(--action);transform:translateY(-1px)}.rd-chooser a:focus-visible{outline:2px solid var(--action);outline-offset:3px}.rd-chooser strong,.rd-chooser span{display:block}.rd-chooser span{color:var(--ink-soft);margin-top:.25rem;font-size:13px}@media (min-width:720px){.rd-chooser{grid-template-columns:repeat(3,1fr)}}.rd-explain{position:relative}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.rd-explain:before{content:"";background:var(--signal);transform-origin:top;border-radius:2px;width:3px;animation:linear both rd-path-fill;animation-timeline:view();animation-range:entry 10% cover 70%;position:absolute;top:.6rem;bottom:.6rem;left:-14px}}}@keyframes rd-path-fill{0%{opacity:.4;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}[id^=situation-]{scroll-margin-top:96px}.hci-stage{border:1px solid var(--line);color:var(--ink);background:var(--card);border-radius:8px;gap:1.25rem;padding:1.25rem;display:grid}@media (min-width:900px){.hci-stage{grid-template-columns:1.25fr .75fr;align-items:center;padding:1.75rem}}.hci-stage__view{position:relative}.hci-diagram{width:100%;height:auto;display:block}.hs-node{fill:var(--paper-2);stroke:#b9b0a0;stroke-width:1.2px}.hs-small,.hs-tiny,.hs-title,.hs-small-strong{fill:var(--ink-soft);font-family:inherit}.hs-small{font-size:12px}.hs-tiny{fill:var(--ink);font-size:9.5px}.hs-small-strong{fill:var(--ink);font-size:12px;font-weight:700}.hs-title{fill:var(--ink);font-size:14px;font-weight:700}.hs-group{cursor:pointer;opacity:.5;outline:none;transition:opacity .24s}.hs-group:focus-visible{outline:2px solid var(--action);outline-offset:2px}.hs-group[data-active=true]{opacity:1}.hs-group[data-layer=compute]{--hs:#1d4ed8}.hs-group[data-layer=storage]{--hs:#1f7a4d}.hs-group[data-layer=network]{--hs:#8a5a32}.hs-group[data-layer=management]{--hs:#102033}.hs-group[data-layer=access]{--hs:#1d4ed8}.hs-group[data-layer=detect]{--hs:#1f7a4d}.hs-group[data-layer=respond]{--hs:#8a5a32}.hs-group[data-layer=verify]{--hs:#102033}.hs-fill{fill:color-mix(in srgb, var(--hs) 10%, #fffcf7);stroke:var(--hs);stroke-width:1.5px}.hs-disk{fill:color-mix(in srgb, var(--hs) 16%, #fffcf7);stroke:var(--hs);stroke-width:1.4px}.hs-bar{fill:var(--hs);transform-box:fill-box;transform-origin:bottom}.hs-line{fill:none;stroke:var(--hs);stroke-width:1.8px}.hs-flow{stroke-dasharray:5 7}.hs-bus{fill:color-mix(in srgb, var(--hs) 14%, #fffcf7);stroke:var(--hs);stroke-width:1.3px}.hs-bus-admin{fill:#e2e2df;stroke:#102033}.hs-callout rect{fill:#fff;stroke:var(--line)}.hs-callout text{fill:var(--ink);font-size:15px;font-weight:700}@media (prefers-reduced-motion:no-preference){.hs-group[data-active=true] .hs-flow{animation:1.2s linear infinite hs-dash}.hs-group[data-active=true] .hs-flow-slow{animation-duration:2.2s}}@keyframes hs-dash{to{stroke-dashoffset:-24px}}.hci-stage__note{color:var(--ink-soft);margin-top:.9rem;font-size:12px}.hci-stage__tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:.9rem;display:flex}.hci-stage__tabs button{border:1px solid var(--line);min-height:44px;color:var(--ink);background:var(--paper);font:inherit;cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:.4rem .9rem;display:inline-flex}.hci-stage__tabs button span{color:var(--signal);font-variant-numeric:tabular-nums;font-size:12px}.hci-stage__tabs button[aria-pressed=true]{border-color:var(--ink);color:#fff;background:var(--ink)}.hci-stage__tabs button[aria-pressed=true] span{color:#9be3b8}.hci-stage__tabs button:focus-visible{outline:2px solid var(--action);outline-offset:3px}.hci-stage__detail strong{font-size:1.1rem}.hci-stage__detail p,.hci-stage__detail li{max-width:none}.hci-stage__detail ul{margin:.5rem 0 0;padding-left:1.1rem}.hci-stage-section .rd-actions{margin-top:1.25rem}@media (max-width:719px){.hs-small{font-size:19px}.hs-tiny{display:none}.hs-small-strong{font-size:19px}.hs-title{font-size:21px}.hs-callout text{font-size:22px}}.rd-chooser a:hover{box-shadow:none;border-color:var(--ink);transform:none}.home-close{gap:1.75rem;display:grid}@media (min-width:900px){.home-close{grid-template-columns:1.1fr .9fr;align-items:start}}.home-flow{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.home-flow li{border:1px solid var(--line);background:var(--card);border-radius:8px;grid-template-columns:2.4rem 1fr;gap:.9rem;max-width:none;padding:1rem 1.1rem;display:grid}.home-flow .rd-idx{color:var(--signal);font-variant-numeric:tabular-nums;font-weight:700}.home-flow strong,.home-flow span{display:block}.home-flow span{color:var(--ink-soft);margin-top:.2rem;font-size:14px}.home-close__aside{border:1px solid var(--line);background:var(--paper-2);border-radius:8px;padding:1.25rem}.home-close__aside h3{margin:0 0 .5rem;font-size:1rem}.home-close__aside ul{margin:0 0 1rem;padding-left:1.1rem}.home-close__aside li{max-width:none;margin:.25rem 0}.home-relations{width:100%;height:auto;margin:.5rem 0 1rem;display:block}.hr-lines path{fill:none;stroke:#b9b0a0;stroke-width:1.5px}.hr-core{fill:var(--ink)}.hr-core-text{fill:#fff;font-size:18px;font-weight:700}.hr-box{fill:var(--card);stroke:var(--line)}.hr-name{fill:var(--ink);font-size:13px;font-weight:700}.hr-role{fill:var(--ink-soft);font-size:11px}.tour__intro{padding-block:2rem 1.25rem}.tour__track{display:none}.tour[data-mode="3d"] .tour__track{display:block}.tour__sticky{border-block:1px solid var(--line);background:var(--paper);height:calc(100vh - 72px);position:sticky;top:72px;overflow:hidden}.tour__canvas{width:100%;height:100%;position:absolute;inset:0}.tour__hotspot{z-index:2;visibility:hidden;border:2px solid var(--ink);width:34px;height:34px;color:var(--ink);background:var(--card);font:inherit;cursor:pointer;border-radius:50%;font-weight:700;position:absolute;top:0;left:0}.tour__hotspot[data-active=true]{color:#fff;background:var(--action);border-color:var(--action)}.tour__hotspot:focus-visible,.tour__chips button:focus-visible,.tour__settings button:focus-visible{outline:2px solid var(--action);outline-offset:3px}.tour__chips{z-index:3;flex-wrap:wrap;justify-content:center;gap:.4rem;max-width:calc(100% - 2rem);display:flex;position:absolute;top:1rem;left:50%;transform:translate(-50%)}.tour__chips button{border:1px solid var(--line);min-height:40px;color:var(--ink);background:var(--card);font:inherit;cursor:pointer;border-radius:8px;padding:.3rem .8rem}.tour__chips button[aria-pressed=true]{border-color:var(--ink);color:#fff;background:var(--ink)}.tour__panel{z-index:3;border:1px solid var(--line);background:var(--card);border-radius:8px;width:min(400px,100% - 2.5rem);padding:1.1rem 1.2rem;position:absolute;bottom:1.25rem;left:1.25rem}.tour__panel h3{margin:.1rem 0 .35rem;font-size:1.3rem}.tour__panel p{max-width:none;margin:.25rem 0}.tour__kicker{color:var(--signal);font-size:12px;font-weight:700}.tour__settings{gap:.35rem;margin:.7rem 0;padding:0;list-style:none;display:grid}.tour__settings li{max-width:none}.tour__settings button{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);background:var(--paper);font:inherit;text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:.6rem;padding:.35rem .7rem;display:flex}.tour__settings button span{color:var(--signal);font-weight:700}.tour__settings button[aria-pressed=true]{border-color:var(--ink);color:#fff;background:var(--ink)}.tour__settings button[aria-pressed=true] span{color:#9be3b8}.tour__detail{border-top:1px solid var(--line);color:var(--ink-soft);padding-top:.6rem;font-size:14px}.tour__list{padding-block:1.25rem 2rem}.tour[data-mode="3d"] .tour__list{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:899px){.tour__hotspot,.tour__chips{display:none}}.tour__label{z-index:1;border:1px solid var(--line);color:var(--ink);background:color-mix(in srgb, var(--card) 92%, transparent);white-space:nowrap;pointer-events:none;visibility:hidden;border-radius:6px;padding:.15rem .5rem;font-size:12px;font-weight:600;position:absolute;top:0;left:0}.sf{border:1px solid var(--line);color:var(--ink);background:var(--card);border-radius:8px;gap:1.25rem;margin-bottom:1.5rem;padding:1.25rem;display:grid}@media (min-width:900px){.sf{grid-template-columns:1.3fr .9fr;align-items:start;padding:1.75rem}}.sf__view{align-self:center;min-width:0;position:relative}.sf__svg{width:100%;height:auto;display:block}.sf__canvas{display:none}.sf[data-mode="3d"] .sf__canvas{aspect-ratio:4/3;border:1px solid var(--line);border-radius:6px;width:100%;display:block}.sf[data-mode="3d"] .sf__svg{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.sf__road{fill:none;stroke:#b9b0a0;stroke-width:3px;stroke-linecap:round}.sf__branch{fill:none;stroke:#b9b0a0;stroke-width:2px;stroke-dasharray:5 5}.sf__node,.sf__box{fill:var(--paper-2);stroke:#b9b0a0;stroke-width:1.2px}.sf__box{fill:var(--card);stroke:var(--ink)}.sf__device[data-mode=tap] .sf__box{stroke-dasharray:4 3}.sf__node-text,.sf__box-text{fill:var(--ink);font-size:14px;font-weight:700}.sf__box-sub{fill:var(--ink-soft);font-size:11px}.sf__tag-svg rect{fill:var(--ink)}.sf__tag-svg text{fill:#fff;font-size:12px;font-weight:700}.sf__tag-svg[data-action=allow] rect{fill:#1f7a4d}.sf__tag-svg[data-action=block] rect{fill:#b4412f}.sf__tag-svg[data-action=alert] rect{fill:#8a5a32}.sf__packet circle{fill:#1d4ed8;stroke:#fff;stroke-width:2px}.sf__packet path{fill:none;stroke:#fff;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.sf__packet[data-state=block] circle{fill:#b4412f}.sf__packet[data-state=alert] circle{fill:#8a5a32}.sf__packet[data-state=delivered] circle{fill:#1f7a4d}.sf__copy{fill:#8a5a32;opacity:.8}@media (prefers-reduced-motion:no-preference){.sf__packet{transition:transform .7s ease-in-out}}.sf__panel{min-width:0}.sf__panel p{max-width:none}.sf__role{margin:0 0 .35rem}.sf__subhead{margin:1rem 0 .5rem;font-size:.95rem}.sf__packets{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.sf__packets button{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:var(--paper);font:inherit;text-align:left;cursor:pointer;border-radius:8px;gap:.15rem;padding:.5rem .75rem;display:grid}.sf__packets button[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 3px 0 0 var(--ink)}.sf__packets button:focus-visible,.sf__auto:focus-visible{outline:2px solid var(--action);outline-offset:3px}.sf__packet-label{font-weight:700}.sf__packet-result{color:var(--ink-soft);font-size:13px}.sf__result{border-left:3px solid var(--ink);background:var(--paper);margin-top:.9rem;padding:.75rem .9rem}.sf__result p{margin:0 0 .4rem;font-weight:600}.sf__result ul{margin:0;padding-left:1.1rem}.sf__result li{max-width:none}.sf__caveat{color:var(--ink-soft);margin-top:.9rem;font-size:13px}.sf__auto{border:1px solid var(--line);min-height:44px;color:var(--ink);background:var(--paper);font:inherit;cursor:pointer;border-radius:8px;padding:.4rem .9rem}.sf__label,.sf__tag{z-index:1;border:1px solid var(--line);color:var(--ink);background:color-mix(in srgb, var(--card) 92%, transparent);white-space:nowrap;pointer-events:none;visibility:hidden;border-radius:6px;padding:.15rem .5rem;font-size:12px;font-weight:600;position:absolute;top:0;left:0}.sf__tag{border-color:var(--ink);color:#fff;background:var(--ink)}.sf__tag[data-on=false]{display:none}@media (max-width:719px){.sf__box-text,.sf__node-text{font-size:25px}.sf__box-sub{font-size:19px}.sf__tag-svg text{font-size:17px}}
