.geo-service{--sub:var(--ink-2);--line:var(--rule);--brand:var(--ink);--soft:var(--paper-2);--active:var(--paper-2);--purple:var(--ink-2);--amber:var(--ink-2);--green:var(--ink-2);padding-bottom:88px;& [hidden]{display:none!important}}.geo-masthead{border-bottom:1px solid var(--rule-strong);color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;gap:12px 32px;padding:40px 0 26px;font-size:12px;display:flex}.geo-layout{grid-template-columns:190px minmax(0,1fr);align-items:start;gap:48px;display:grid}.geo-index{min-width:0;padding-top:28px;font-size:12px;position:sticky;top:82px}.geo-index summary{cursor:pointer;padding-bottom:16px;font-size:14px;font-weight:600}.geo-index-body{scrollbar-width:thin;max-height:calc(100dvh - 240px);padding-right:12px;overflow-y:auto}.geo-index input{background:var(--paper);width:100%;color:var(--ink);border:0;border-bottom:1px solid var(--rule);font:inherit;border-radius:0;padding:10px 0}#geo-search-note{color:var(--ink-3);padding:8px 0;font-size:11px}.geo-nav-group{padding:12px 0}.geo-nav-group p{color:var(--ink-3);margin-bottom:6px;font-size:11px}.geo-nav-group a{color:var(--ink-2);padding:6px 0;display:block}.geo-nav-group a:hover{text-underline-offset:4px;text-decoration:underline}.geo-nav-group a[aria-current]{color:var(--ink);font-weight:600}.geo-index-actions{border-top:1px solid var(--rule);flex-wrap:wrap;gap:8px 14px;margin-top:16px;padding-top:12px;display:flex}.geo-index-actions button{color:var(--ink-2);padding:6px 0;font-size:11px}.geo-index-actions button:hover{text-underline-offset:4px;text-decoration:underline}.geo-document{min-width:0;padding:48px 0 0;font-size:15px;line-height:1.85;& p{margin:0 0 16px}& h1,& h2{font-family:var(--serif);text-wrap:pretty;font-weight:700}& h1{letter-spacing:.015em;max-width:16em;margin:18px 0 24px;font-size:clamp(34px,4.2vw,58px);line-height:1.3}& .geo-edition{font-family:var(--sans);color:var(--ink-3);margin-top:18px;font-size:16px;font-weight:400;display:block}& h2{margin:14px 0 18px;font-size:clamp(25px,2.5vw,34px);line-height:1.45}& h3{margin:28px 0 14px;font-size:19px;font-weight:600;line-height:1.5}& h4{margin-bottom:8px;font-size:15px}& strong,& b{font-weight:600}& ul,& ol{margin:12px 0 24px;padding-left:22px}& li+li{margin-top:8px}& a{text-underline-offset:4px;text-decoration:underline;text-decoration-color:var(--ink-4)}& a:hover{text-decoration-color:var(--ink)}& .eyebrow{color:var(--ink-3);font-family:var(--latin);letter-spacing:.05em;font-size:13px}& .report-lead{max-width:43em;color:var(--ink-2);font-size:18px;line-height:1.9}& .meta{color:var(--ink-3);flex-wrap:wrap;gap:6px 24px;margin:22px 0;font-size:12px;display:flex}& .lead-rule{font-family:var(--serif);margin:28px 0;font-size:22px;line-height:1.8}& .overview-strip{border-block:1px solid var(--rule);grid-template-columns:repeat(4,1fr);gap:16px;margin:28px 0;padding:26px 0;display:grid}& .overview-strip strong{font:400 44px/1.2 var(--latin);display:block}& .overview-strip strong span{font:400 15px var(--sans);margin-left:5px}& .overview-strip small{color:var(--ink-2);margin-top:10px;font-size:12px;display:block}& .notice{border-block:1px solid var(--rule);color:var(--ink-2);margin:24px 0;padding:20px 0;font-size:14px}& .notice strong{color:var(--ink);margin-bottom:8px;display:block}& .notice p:last-child{margin:0}& .doc-section{border-top:1px solid var(--rule-strong);margin-top:64px;padding-top:36px;scroll-margin-top:24px}& .doc-section>header>p{color:var(--ink-2);margin-bottom:28px;font-size:16px}& .jump-links{flex-wrap:wrap;gap:14px 24px;margin-top:28px;display:flex}& .btn{background:var(--ink);color:var(--paper);align-items:center;min-height:44px;padding:10px 16px;font-size:13px;line-height:1.5;text-decoration:none;display:inline-flex}& .btn:hover{background:var(--ink-2)}& .legend{color:var(--ink-2);flex-wrap:wrap;gap:12px 20px;margin:16px 0;font-size:12px;display:flex}& .legend-item{align-items:center;gap:8px;display:flex}& .legend i{border-top:2px solid #0f62fe;width:26px}& .legend .strategy{border-color:#8872c7;border-top-style:dashed}& .legend .feedback{border-color:#c88725;border-top-style:dashed}& .legend .sq{border:0;width:12px;height:12px}& figure{min-width:0;margin:28px 0}& figure h3{margin-top:0}& .fig-desc,& .figure-note,& .micro{color:var(--ink-2);font-size:12px}& .diagram-scroll{border:1px solid var(--rule);background:#fff;overflow-x:auto}& .diagram-scroll svg{width:100%;min-width:960px;height:auto;display:block}& .table-scroll{margin:20px 0 28px;overflow-x:auto}& table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:680px;font-size:13px;line-height:1.85}& th{text-align:left;color:var(--ink);border-block:1px solid var(--rule-strong);vertical-align:top;padding:12px;font-weight:600}& td{border-bottom:1px solid var(--rule);vertical-align:top;overflow-wrap:anywhere;color:var(--ink-2);padding:16px 12px}& td:first-child{color:var(--ink);font-weight:600}& td small{color:var(--ink-3);margin-top:4px;font-size:11px;font-weight:400;display:block}& .compare .hl{background:var(--paper-2)}& .node-meta{border-block:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;margin:24px 0;padding:24px 0;display:grid}& dt{color:var(--ink-3);margin-bottom:6px;font-size:12px}& dd{font-size:14px}& .logic{gap:24px;margin:24px 0;display:grid}& .logic>div{grid-template-columns:100px 1fr;gap:20px;display:grid}& .logic h4{color:var(--ink-3);font-size:13px}& .logic p{margin:0}& .subheading{flex-wrap:wrap;align-items:baseline;gap:10px;margin-top:36px;display:flex}& .subheading b,& .sub-note{color:var(--ink-3);font-size:12px;font-weight:400}& .checklist{padding:0;list-style:none}& .checklist li{border-bottom:1px solid var(--rule);gap:12px;margin:0;padding:10px 0;font-size:14px;display:flex}& .checklist li:before{content:"✓";color:var(--ink-3);flex-shrink:0}& .checklist.no li:before{content:"×"}& .checklist.num{counter-reset:check}& .checklist.num li:before{counter-increment:check;content:counter(check,decimal-leading-zero);font:400 16px/1.8 var(--latin);min-width:20px}& .checklist.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;display:grid}& .template{border-bottom:1px solid var(--rule);margin:16px 0}& .template summary{cursor:pointer;padding:16px 0;font-size:15px;font-weight:500}& .template summary:hover{text-underline-offset:4px;text-decoration:underline}& .template-content{color:var(--ink-2);padding:0 0 20px;font-size:14px}& .template-content pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/2 var(--sans);margin-top:16px}& .timeline{border-block:1px solid var(--rule);grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin:24px 0;padding:24px 0;display:grid}& .timeline b,& .timeline strong,& .timeline em{margin-bottom:8px;font-size:13px;font-style:normal;display:block}& .timeline em,& .timeline p{color:var(--ink-2);margin-bottom:0;font-size:12px}& .timeline em{margin-bottom:16px}& .role-trio,& .day-grid,& .bio-grid,& .fit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:24px 0;display:grid}& .role-trio,& .day-grid{grid-template-columns:repeat(3,minmax(0,1fr))}& .role-trio>div,& .day-grid>section,& .bio{border-top:1px solid var(--rule);min-width:0;padding-top:20px}& .role-trio strong,& .role-trio small{margin-bottom:10px;display:block}& .role-trio p,& .bio ul{font-size:14px}& .role-trio small{color:var(--ink-3);font-size:12px}& .asset-chain{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:18px;margin:24px 0;display:grid}& .asset-chain>div{border-top:1px solid var(--rule);padding-top:12px;font-size:13px}& .asset-chain b{color:var(--ink-3);font:400 20px var(--latin);margin-bottom:8px;display:block}& .state-row{flex-wrap:wrap;align-items:center;gap:8px;margin:20px 0;font-size:13px;display:flex}& .state{border:1px solid var(--rule);padding:6px 10px}& .who,& .target-tag{color:var(--ink-3);margin-left:6px;font-size:11px;font-weight:400;display:inline-block}& .who:first-child{margin-left:0}& .day-grid .d{color:var(--ink-3);font-family:var(--latin)}& .day-grid h3{margin:6px 0 12px}& .theme{color:var(--ink-2);font-size:13px}& .slot{border-top:1px solid var(--rule);grid-template-columns:40px 1fr;gap:10px;padding:12px 0;font-size:13px;display:grid}& .slot time{color:var(--ink-3);font-size:12px}& .slot .t{display:block}& .day-out{border-top:1px solid var(--rule);color:var(--ink-2);padding-top:16px;font-size:12px}& .day-out b{color:var(--ink);margin-bottom:6px;display:block}& .alloc-row{grid-template-columns:48px 1fr 122px;align-items:center;gap:16px;padding:8px 0;font-size:12px;display:grid}& .bar{height:14px;display:flex}& .bar i{height:100%;display:block}& .bar i+i{border-left:2px solid var(--paper)}& .c-theory{background:#0f62fe}& .c-demo{background:#8872c7}& .c-practice{background:#26866e}& .c-check{background:#c88725}& .cap-flow{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin:28px 0;display:grid}& .cap{border-top:1px solid var(--rule);min-width:0;padding-top:16px}& .cap b{font:400 22px var(--latin);color:var(--ink-3);display:block}& .cap strong{margin:12px 0;display:block}& .cap p{color:var(--ink-2);font-size:13px}& .cap-loop{color:var(--ink-3);font-size:12px}& .cap-base{grid-template-columns:1fr 1fr;gap:28px;display:grid}& .price-panel{border-block:1px solid var(--rule);grid-template-columns:2fr 3fr;gap:36px;margin:32px 0;padding:28px 0;display:grid}& .price-main .label,& .price-main small{color:var(--ink-2);font-size:13px;display:block}& .amount{font:400 64px/1.3 var(--latin);margin:12px 0}& .amount span{font-size:24px}& .pay{margin-top:32px}& .pay h4,& .price-inc h4{color:var(--ink-3);font-size:13px}& .pay-row{border-bottom:1px solid var(--rule);grid-template-columns:40px 1fr;gap:12px;padding:12px 0;font-size:13px;display:grid}& .bio-head{align-items:center;gap:14px;margin-bottom:16px;display:flex}& .avatar{background:var(--ink);color:var(--paper);width:48px;height:48px;font-family:var(--serif);place-items:center;font-size:24px;display:grid}& .bio-head strong{font-size:20px;display:block}& .bio-head small{color:var(--ink-3);font-size:12px}& .duty{border-top:1px solid var(--rule);padding-top:16px;font-size:13px}& .duty b{color:var(--ink-3);margin-bottom:6px;display:block}& .footer{border-top:1px solid var(--rule);color:var(--ink-3);margin-top:64px;padding-top:24px;font-size:12px}}.geo-contact{border-top:1px solid var(--rule-strong);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px;margin-top:72px;padding-top:32px;display:flex}.geo-contact h2{font:700 clamp(26px,3vw,38px)/1.5 var(--serif);margin:16px 0 10px}.geo-contact p{color:var(--ink-2);font-size:15px}.geo-contact-actions{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.geo-toast{background:var(--ink);max-width:calc(100% - 32px);color:var(--paper);z-index:100;padding:12px 20px;font-size:14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@media (width<=1000px){.geo-layout{grid-template-columns:1fr;gap:0}.geo-index{padding-top:20px;position:static}.geo-index-body{max-height:340px}.geo-index nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.geo-index-actions{margin-top:0;padding-block:8px}.geo-document{padding-top:36px}}@media (width<=640px){.geo-masthead{padding-top:28px}.geo-index nav{grid-template-columns:repeat(2,minmax(0,1fr))}.geo-document{& .overview-strip{grid-template-columns:1fr 1fr;gap:24px 16px}& .overview-strip strong{font-size:38px}& .lead-rule{font-size:20px}& .node-meta,& .role-trio,& .day-grid,& .bio-grid,& .fit-grid,& .price-panel,& .cap-base,& .checklist.two{grid-template-columns:1fr}& .logic>div{grid-template-columns:1fr;gap:6px}& .timeline,& .cap-flow{grid-template-columns:1fr 1fr}& .alloc-row{grid-template-columns:40px 1fr}& .alloc-row>span:last-child{grid-column:2}& .doc-section{margin-top:48px;padding-top:28px}& .report-lead{font-size:16px}& .price-panel{gap:24px}}}@media (pointer:coarse){.geo-nav-group a,.geo-index-actions button{min-height:44px}}@media print{@page{size:A4;margin:14mm}body:has(.geo-service)>:not(main){display:none!important}.geo-service{--paper:#fff;--paper-2:#f5f5f3;--ink:#121212;--ink-2:#4a4a4a;--ink-3:#767676;--rule:#ddd;--rule-strong:#121212;padding:0}.geo-service .wrap{max-width:none;padding:0}.geo-index,.geo-masthead,.geo-contact,.geo-toast,.geo-document .screen-only,.geo-document .jump-links{display:none!important}.geo-layout{display:block}.geo-document{padding:0;font-size:10pt}.geo-document .doc-section{break-before:page;border:0;margin:0;padding:0}.geo-document #overview{break-before:auto}.geo-document h1{font-size:27pt}.geo-document h2{font-size:20pt}.geo-document header{break-after:avoid}.geo-document table{min-width:0;font-size:8pt}.geo-document th,.geo-document td{padding:7px}.geo-document tr{break-inside:avoid}.geo-document .diagram-scroll,.geo-document .table-scroll{overflow:visible}.geo-document .diagram-scroll svg{min-width:0}}
