.oh-site{--oh-paper:#ffffff;--oh-ink:#13161a;--oh-ink-2:#4d5157;--oh-ink-3:#7a7e85;--oh-rule:#bfc3c7;--oh-rule-soft:#e4e6e9;--oh-dark:#08090a;--oh-on-dark:#f7f8f8;--oh-surface:#f4f5f6;--oh-gutter:clamp(20px,3.333vw,48px);--oh-gap:16px;--oh-max:1600px;--oh-header-h:74px;--oh-display-home:clamp(52px,7.778vw,112px);--oh-display-service:clamp(44px,6.25vw,90px);--oh-display-section:clamp(36px,4.444vw,64px);--oh-article-h1:clamp(36px,4.444vw,64px);--oh-h2:clamp(28px,2.78vw,40px);--oh-h3:24px;--oh-body:18px;--oh-body-lh:29px;--oh-read:17px;--oh-read-lh:29px;--oh-ui:14px;--oh-ui-lh:22px;--oh-cap:13px;--oh-cap-lh:20px;--oh-trace-ms:250ms;--oh-trace-ease:cubic-bezier(0.28,0.44,0.49,1);--oh-menu-ms:500ms;--oh-menu-ease:cubic-bezier(0.4,0,0.1,1);--oh-menu-stagger:20ms;--oh-layout-ms:440ms;--oh-layout-ease:cubic-bezier(0.2,0.8,0.2,1);--oh-type-ms:620ms;--oh-type-stagger:75ms;--oh-ui-ms:180ms;--oh-ui-ease:cubic-bezier(0.2,0,0,1);--background:0 0% 100%;--foreground:216 16% 9%;--card:0 0% 100%;--card-foreground:216 16% 9%;--popover:0 0% 100%;--popover-foreground:216 16% 9%;--primary:216 16% 9%;--primary-foreground:0 0% 100%;--secondary:210 8% 96%;--secondary-foreground:216 16% 9%;--muted:210 8% 96%;--muted-foreground:214 6% 32%;--accent:210 8% 96%;--accent-foreground:216 16% 9%;--border:210 7% 76%;--input:210 7% 76%;--ring:216 16% 9%;color-scheme:light;background:var(--oh-paper);color:var(--oh-ink);font-variant-numeric:tabular-nums}@media (min-width:1040px){.oh-site{--oh-header-h:88px}}.oh-wrap{max-width:var(--oh-max);margin-inline:auto;padding-inline:var(--oh-gutter)}.oh-bleed,.oh-wrap{width:100%}.oh-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.oh-grid,.oh-ledger{display:grid;gap:var(--oh-gap)}.oh-ledger{grid-template-columns:1fr;align-items:start}@media (min-width:700px){.oh-ledger{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}}@media (min-width:1000px){.oh-ledger{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr)}}.oh-rule{border:0;border-top:1px solid var(--oh-rule);margin:0}.oh-rule-soft{border:0;border-top:1px solid var(--oh-rule-soft);margin:0}.oh-chapter{padding-block:clamp(56px,8vw,120px)}.oh-chapter-tight{padding-block:clamp(32px,4vw,56px)}.oh-chapter-head{display:grid;gap:16px 24px;align-items:end}@media (min-width:900px){.oh-chapter-head{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}.oh-display{font-size:var(--oh-display-home);line-height:1.04}.oh-display,.oh-display-service{font-weight:600;letter-spacing:-.03em;word-break:keep-all}.oh-display-service{font-size:var(--oh-display-service);line-height:1.1}.oh-display-section{font-size:var(--oh-display-section);line-height:1.12;letter-spacing:-.025em}.oh-article-h1,.oh-display-section{font-weight:600;word-break:keep-all}.oh-article-h1{font-size:var(--oh-article-h1);line-height:1.18;letter-spacing:-.02em}.oh-h2{font-size:var(--oh-h2);line-height:1.3;letter-spacing:-.015em;word-break:keep-all}.oh-h2,.oh-h3{font-weight:600}.oh-h3{font-size:var(--oh-h3);line-height:1.42;letter-spacing:-.01em}.oh-body{font-size:var(--oh-body);line-height:var(--oh-body-lh)}.oh-read{font-size:var(--oh-read);line-height:var(--oh-read-lh)}.oh-ui{font-size:var(--oh-ui);line-height:var(--oh-ui-lh);font-weight:500}.oh-cap{font-size:var(--oh-cap);line-height:var(--oh-cap-lh);color:var(--oh-ink-3)}.oh-index,.oh-muted{color:var(--oh-ink-2)}.oh-index{font-size:var(--oh-cap);line-height:var(--oh-cap-lh);font-weight:500;letter-spacing:.02em}.oh-line{display:block}.oh-trace{position:relative;display:inline-block;overflow:hidden;padding-block:.12em;color:inherit;text-decoration:none}.oh-trace:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1.5px;background:currentColor;transform:translateX(101%);animation:oh-trace-out var(--oh-trace-ms) var(--oh-trace-ease) both}.oh-trace:focus-visible:after,.oh-trace:hover:after{animation-name:oh-trace-in}.oh-trace[aria-current=page]:after{animation:none;transform:translateX(0)}@keyframes oh-trace-in{0%{transform:translateX(-101%)}to{transform:translateX(0)}}@keyframes oh-trace-out{0%{transform:translateX(0)}to{transform:translateX(101%)}}.oh-arrow{display:inline-flex;align-items:center;gap:10px;color:var(--oh-ink);text-decoration:none;font-weight:500}.oh-arrow>.oh-arrow-label{position:relative}.oh-arrow>.oh-arrow-label:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--oh-ui-ms) var(--oh-ui-ease)}.oh-arrow:focus-visible>.oh-arrow-label:after,.oh-arrow:hover>.oh-arrow-label:after{transform:scaleX(1)}.oh-arrow>svg{width:1em;height:1em;flex:none;transition:transform var(--oh-ui-ms) var(--oh-ui-ease)}.oh-arrow:focus-visible>svg,.oh-arrow:hover>svg{transform:translate(2px,-2px)}.oh-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding-inline:22px;border-radius:999px;font-size:15px;font-weight:600;text-decoration:none;border:1px solid var(--oh-ink);background:var(--oh-ink);color:var(--oh-paper);transition:background-color var(--oh-ui-ms) var(--oh-ui-ease),color var(--oh-ui-ms) var(--oh-ui-ease)}.oh-btn:focus-visible,.oh-btn:hover{background:var(--oh-paper);color:var(--oh-ink)}.oh-btn>svg{width:16px;height:16px;transition:transform var(--oh-ui-ms) var(--oh-ui-ease)}.oh-btn:hover>svg{transform:translateX(3px)}.oh-btn-ghost{background:transparent;color:var(--oh-ink)}.oh-btn-ghost:focus-visible,.oh-btn-ghost:hover{background:var(--oh-ink);color:var(--oh-paper)}.oh-btn-sm{height:40px;padding-inline:18px;font-size:14px}.oh-site :is(a,button,summary):focus-visible{outline:2px solid var(--oh-ink);outline-offset:4px}.oh-links{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:20px;font-size:16px}.oh-related{margin-top:clamp(48px,6vw,80px)}.oh-rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--oh-rule)}.oh-row{border-bottom:1px solid var(--oh-rule)}.oh-row-link{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"idx arrow" "title arrow" "meta meta";gap:8px var(--oh-gap);align-items:center;padding-block:clamp(18px,2.4vw,32px);color:inherit;text-decoration:none}.oh-row-link>.oh-index{grid-area:idx}.oh-row-link>.oh-row-title{grid-area:title}.oh-row-link>.oh-row-meta{grid-area:meta}.oh-row-link>.oh-row-arrow{grid-area:arrow}@media (min-width:700px){.oh-row-link{grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;grid-template-areas:"idx title arrow" ". meta ."}}@media (min-width:1000px){.oh-row-link{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr) auto;grid-template-areas:"idx title meta arrow"}}.oh-row-title{font-size:clamp(22px,2.2vw,32px);font-weight:600;letter-spacing:-.02em;line-height:1.2}.oh-row-meta{font-size:var(--oh-ui);line-height:var(--oh-ui-lh);color:var(--oh-ink-2)}.oh-row-arrow{width:22px;height:22px;transition:transform var(--oh-ui-ms) var(--oh-ui-ease)}.oh-row-link:focus-visible .oh-row-arrow,.oh-row-link:hover .oh-row-arrow{transform:translate(3px,-3px)}.oh-disclosure{border-top:1px solid var(--oh-rule)}.oh-disclosure:last-child{border-bottom:1px solid var(--oh-rule)}.oh-disclosure>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:16px;align-items:center;padding-block:22px;font-size:clamp(17px,1.4vw,20px);font-weight:600;letter-spacing:-.01em}.oh-disclosure>summary::-webkit-details-marker{display:none}.oh-disclosure>summary:after{content:"";justify-self:end;width:14px;height:14px;background:linear-gradient(currentColor,currentColor) 50% /14px 1.5px no-repeat,linear-gradient(currentColor,currentColor) 50% /1.5px 14px no-repeat;transition:transform var(--oh-ui-ms) var(--oh-ui-ease),background-size var(--oh-ui-ms) var(--oh-ui-ease)}.oh-disclosure[open]>summary:after{background:linear-gradient(currentColor,currentColor) 50% /14px 1.5px no-repeat,linear-gradient(currentColor,currentColor) 50% /0 14px no-repeat}.oh-disclosure-inner,.oh-disclosure>:not(summary):not(.oh-disclosure-body){padding-bottom:26px}@media (min-width:900px){.oh-disclosure>:not(summary){margin-left:calc(50% + var(--oh-gap) / 2)}}.oh-table-wrap{overflow-x:auto;margin-top:20px}.oh-table{width:100%;min-width:560px;border-collapse:collapse;font-size:15px;line-height:1.55}.oh-table td,.oh-table th{text-align:left;vertical-align:top;padding:14px 16px 14px 0;border-bottom:1px solid var(--oh-rule-soft)}.oh-table thead th{font-size:var(--oh-cap);font-weight:500;color:var(--oh-ink-2);border-bottom:1px solid var(--oh-rule)}.oh-table tbody th{font-weight:600;white-space:nowrap}.oh-table td{color:var(--oh-ink-2)}.oh-table td:last-child,.oh-table th:last-child{padding-right:0}.oh-num{font-variant-numeric:tabular-nums;letter-spacing:-.01em}.oh-reading{display:grid;gap:32px}@media (min-width:1040px){.oh-reading{grid-template-columns:216px minmax(0,760px);column-gap:64px}}.oh-measure{max-width:760px}.oh-toc{position:sticky;top:calc(var(--oh-header-h) + 24px);align-self:start}.oh-toc ol{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:10px}.oh-toc a{font-size:var(--oh-ui);line-height:var(--oh-ui-lh);color:var(--oh-ink-2);text-decoration:none}.oh-toc a:focus-visible,.oh-toc a:hover{color:var(--oh-ink)}.oh-media{position:relative;overflow:hidden;background:var(--oh-surface)}.oh-media>img,.oh-media>video{display:block;width:100%;height:100%;object-fit:cover}.oh-media-dim:after{content:"";position:absolute;inset:0;background:rgb(0 0 0/.42);pointer-events:none}.oh-cat{position:absolute;left:clamp(16px,2.4vw,48px);bottom:clamp(14px,2vw,40px);z-index:1;font-size:clamp(44px,7vw,128px);font-weight:700;line-height:1;letter-spacing:-.03em;color:#fff}.oh-cat-outline{color:transparent;-webkit-text-stroke:1.5px #fff}.oh-header{position:sticky;top:0;z-index:50;background:rgb(255 255 255/.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--oh-rule)}.oh-header-row{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--oh-header-h)}.oh-logo{display:inline-flex;align-items:center;color:var(--oh-ink);text-decoration:none}.oh-logo svg{display:block;height:28px;width:auto}@media (min-width:1040px){.oh-logo svg{height:30px}}.oh-nav{display:none;align-items:center;gap:clamp(24px,3vw,48px)}.oh-nav-link{font-size:15px;font-weight:500;color:var(--oh-ink)}.oh-header-actions{display:flex;align-items:center;gap:12px}.oh-header-cta{display:none}.oh-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:transparent;cursor:pointer}.oh-burger{position:relative;transition:background-color var(--oh-ui-ms) var(--oh-ui-ease)}.oh-burger,.oh-burger:after,.oh-burger:before{width:22px;height:1.5px;background:var(--oh-ink)}.oh-burger:after,.oh-burger:before{content:"";position:absolute;left:0;transition:transform var(--oh-ui-ms) var(--oh-ui-ease),top var(--oh-ui-ms) var(--oh-ui-ease)}.oh-burger:before{top:-7px}.oh-burger:after{top:7px}.oh-burger-open{background:transparent}.oh-burger-open:before{top:0;transform:rotate(45deg)}.oh-burger-open:after{top:0;transform:rotate(-45deg)}@media (min-width:1040px){.oh-nav{display:flex}.oh-header-cta{display:inline-flex}.oh-menu-btn{display:none}}.oh-mobile-nav{position:absolute;left:0;right:0;top:100%;display:grid;background:var(--oh-paper);border-bottom:1px solid var(--oh-rule);padding:8px var(--oh-gutter) 24px}.oh-mobile-nav[hidden]{display:none}.oh-mobile-link{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--oh-rule-soft);font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--oh-ink);text-decoration:none;animation:oh-menu-row var(--oh-menu-ms) var(--oh-menu-ease) both;animation-delay:calc(var(--i, 0) * var(--oh-menu-stagger))}.oh-mobile-link:last-of-type{border-bottom:0}.oh-mobile-cta{margin-top:16px;animation:oh-menu-row var(--oh-menu-ms) var(--oh-menu-ease) both;animation-delay:calc(var(--i, 0) * var(--oh-menu-stagger))}@keyframes oh-menu-row{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (min-width:1040px){.oh-mobile-nav{display:none!important}}.oh-footer{border-top:1px solid var(--oh-rule);padding-top:clamp(32px,4vw,56px);overflow:hidden}.oh-footer-mail{display:inline-block;font-size:clamp(22px,3vw,40px);font-weight:500;letter-spacing:-.02em;color:var(--oh-ink);text-decoration:none;word-break:break-all}.oh-footer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px var(--oh-gap);margin-top:clamp(28px,3vw,48px)}@media (min-width:700px){.oh-footer-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.oh-footer-link{font-size:15px;font-weight:500;color:var(--oh-ink);text-decoration:none}.oh-footer-tagline{margin-top:clamp(24px,3vw,40px);font-size:var(--oh-body);line-height:var(--oh-body-lh);color:var(--oh-ink-2)}.oh-footer-meta{display:grid;gap:16px var(--oh-gap);margin-top:clamp(28px,3vw,48px);padding-top:20px;border-top:1px solid var(--oh-rule-soft);font-size:var(--oh-cap);line-height:var(--oh-cap-lh);color:var(--oh-ink-2)}@media (min-width:700px){.oh-footer-meta{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.oh-footer-meta a{color:inherit}.oh-footer-support img{height:28px;width:auto;display:block;margin-top:10px}.oh-biz>summary{cursor:pointer;list-style:none;font-weight:500;color:var(--oh-ink)}.oh-biz>summary::-webkit-details-marker{display:none}.oh-biz>summary:after{content:" +"}.oh-biz[open]>summary:after{content:" −"}.oh-biz p{margin-top:6px}.oh-footer-mark{display:block;margin-top:clamp(24px,3vw,40px);padding-bottom:clamp(12px,1.5vw,24px);color:var(--oh-ink)}.oh-footer-mark svg{display:block;width:100%;height:auto}.oh-next{padding-block:clamp(40px,5vw,80px) clamp(24px,3vw,48px)}.oh-next .oh-row-link{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"idx arrow" "title arrow"}@media (min-width:700px){.oh-next .oh-row-link{grid-template-columns:minmax(0,1fr) minmax(0,3fr) auto;grid-template-areas:"idx title arrow"}}.oh-next .oh-row-title{font-size:clamp(26px,3vw,48px)}.oh-rail ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px}.oh-rail a{display:inline-flex;align-items:baseline;gap:6px;min-height:44px;color:var(--oh-ink-3);text-decoration:none;font-size:var(--oh-ui);line-height:var(--oh-ui-lh)}.oh-rail .is-current a,.oh-rail a:focus-visible,.oh-rail a:hover{color:var(--oh-ink)}@media (min-width:1040px){.oh-rail{display:block;position:sticky;top:calc(var(--oh-header-h) + 24px);align-self:start}.oh-rail ol{list-style:none;margin:0;padding:0;display:grid;gap:10px}.oh-rail a{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:baseline;min-height:0;transition:color var(--oh-ui-ms) var(--oh-ui-ease)}.oh-rail .is-current .oh-index{color:var(--oh-ink)}.oh-rail .oh-rail-label{word-break:keep-all}}.oh-row.is-target{background:var(--oh-surface);box-shadow:inset 3px 0 0 var(--oh-ink)}.oh-row.is-target>.oh-row-link{padding-inline:16px}@media (hover:hover){.oh-table tbody tr:hover>*{background:var(--oh-surface)}}.oh-links .oh-arrow{min-height:44px}.oh-preview{position:fixed;left:0;top:0;z-index:40;width:clamp(180px,18vw,280px);aspect-ratio:9/12;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.96);transition:opacity var(--oh-ui-ms) var(--oh-ui-ease);overflow:hidden;background:var(--oh-surface);will-change:transform}.oh-preview.is-on{opacity:1}.oh-preview img{display:block;width:100%;height:100%;object-fit:cover}@media (hover:none),(max-width:699px){.oh-preview{display:none}}.oh-media-live{display:block;position:relative;width:100%;height:100%}.oh-media-live>img,.oh-media-live>video{display:block;width:100%;height:100%;object-fit:cover}.oh-reveal-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;image-rendering:pixelated}.oh-disclosure-body{overflow:hidden}.oh-disclosure>summary{min-height:44px}.oh-site :is(section,details,article,li,h2,h3)[id]{scroll-margin-top:calc(var(--oh-header-h) + 16px)}details[data-state]>.oh-disclosure-body{will-change:height}.oh-header{transition:transform .32s var(--oh-ui-ease)}.oh-header.is-hidden{transform:translateY(-100%)}.oh-header.is-open,.oh-header:focus-within{transform:none}@media (prefers-reduced-motion:reduce){.oh-site *,.oh-site :after,.oh-site :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.oh-trace:after{animation:none}.oh-trace:focus-visible:after,.oh-trace:hover:after{transform:translateX(0)}}