/* gh: design CSS used by this page (tools/page_css.cjs), loaded only on this page */
a:not([class]):hover{color:inherit}
@property --ang{syntax:'<angle>';inherits:false;initial-value:0deg}
@property --n{syntax:'<integer>';inherits:false;initial-value:0}
.ico{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,color-mix(in oklab,var(--accent) 30%,#1c1c1f),#1c1c1f 70%);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);color:var(--accent)}
@property --dent{syntax:'<length>';inherits:true;initial-value:0px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:#8e8e93}
.crumbs a{color:#a1a1a6;text-decoration:none}
.crumbs a:hover{color:#f5f4f1}
.crumbs [aria-current]{color:#f5f4f1}
.sl-faq details{border-top:1px solid rgba(10,10,11,.1)}
.sl-faq details:last-child{border-bottom:1px solid rgba(10,10,11,.1)}
.sl-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:clamp(17px,1.5vw,20px);font-weight:600;letter-spacing:-0.015em;color:#0a0a0b}
.sl-faq summary::-webkit-details-marker{display:none}
.sl-faq summary::after{content:"+";flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(10,10,11,.2);font-weight:400;font-size:21px;transition:transform .35s,background-color .3s,color .3s}
.sl-faq details[open] summary::after{transform:rotate(45deg);background:#f26322;border-color:#f26322;color:#ffffff}
.sl-faq details p{margin:0;padding:0 54px 24px 0;color:#48484d;font-size:17px;line-height:1.65}
button.pp-pill{cursor:pointer;font:inherit;font-size:17px;background:none}
button.pp-pill.pp-pill-on{background:#f26322}
button.pp-pill{cursor:pointer;font:inherit;font-size:17px;background:none}
.xg,.xgs{background:#ffffff;color:#1d1d1f}
.xg .wrap,.xgs .wrap{max-width:1180px}
.xg-hero{background:#0a0a0b;color:#f5f4f1}
.xb-h1{margin:0;font-size:clamp(44px,6vw,88px);line-height:.98;letter-spacing:-0.05em;font-weight:600;color:#f5f4f1}
.xb-h1 .serif{color:var(--accent);font-size:1.06em;display:inline-block;padding:0 .08em .2em .12em;margin:0 -.02em -.2em -.12em}
.xb-cats{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.xb-cats a{padding:9px 16px;border-radius:999px;border:1px solid rgba(245,244,241,.18);color:#d2d2d7;font-size:14.5px;text-decoration:none;transition:background .25s,border-color .25s,color .25s}
.xb-cats a:hover{border-color:rgba(242,99,34,.7);color:#ffffff}
.xb-cats a.on{background:#f5f4f1;border-color:#f5f4f1;color:#0a0a0b}
.xa-progress{position:fixed;left:0;top:0;z-index:200;height:3px;width:100%;background:linear-gradient(90deg,#ff9a5c,#f26322);transform-origin:0 50%;transform:scaleX(var(--rp,0))}
.xa-h1{margin:0;font-size:clamp(38px,5vw,72px);line-height:1.02;letter-spacing:-0.045em;font-weight:600;color:#f5f4f1;text-wrap:balance}
.xa-body{padding:70px 0 40px}
.xa-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:64px;align-items:start}
.xa-text{max-width:720px;font-size:18.5px;line-height:1.78;color:#3a3a3d}
.xa-text p{margin:0 0 24px}
.xa-lead{font-size:23px !important;line-height:1.55 !important;color:#1d1d1f;letter-spacing:-0.012em}
.xa-lead::first-letter{float:left;margin:8px 14px 0 0;font-family:'Instrument Serif','Instrument Serif Fallback',Georgia,serif;font-size:84px;line-height:.78;color:#f26322}
.xa-text h2{margin:60px 0 18px;font-size:clamp(26px,2.4vw,32px);line-height:1.18;letter-spacing:-0.03em;color:#1d1d1f;scroll-margin-top:110px}
.xa-toc{position:sticky;top:110px;display:flex;flex-direction:column;gap:6px}
.xa-toc ol{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:2px;border-left:1px solid #e5e5ea}
.xa-toc a{display:block;padding:7px 0 7px 14px;margin-left:-1px;border-left:2px solid transparent;color:#6e6e73;font-size:14px;line-height:1.35;text-decoration:none;transition:color .2s,border-color .2s}
.xa-toc a:hover{color:#c2410c;border-left-color:#f26322}
.xa-cta{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin:44px 0;padding:24px 26px;border-radius:24px;background:#0a0a0b;color:#f5f4f1}
.xa-cta>div{flex:1;min-width:220px}
.xa-cta b{display:block;font-size:18px}
.xa-cta span{display:block;font-size:15px;line-height:1.5;color:#a1a1a6}
.xa-cta-ic{display:grid !important;place-items:center;width:52px;height:52px;border-radius:16px;background:#f26322;color:#ffffff !important;font-size:24px !important;font-weight:700}
.xc-h2{margin:0 0 18px;font-size:26px;letter-spacing:-0.025em;color:#1d1d1f}
.xg-gp{display:block;height:8px;border-radius:99px;background:#e5e5ea;overflow:hidden}
.xg-gp i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#ff9a5c,#f26322);transition:width .8s cubic-bezier(.2,.7,.1,1)}
.xg-hero{padding:120px 0 56px}
.xg-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:40px;align-items:center}
.xg-hero-grid>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.xg-ring{position:relative;width:200px;height:200px}
.xg-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.xg-ring circle{fill:none;stroke-width:8}
.xg-ring .bg{stroke:rgba(245,244,241,.1)}
.xg-ring .fg{stroke:#f26322;stroke-linecap:round;transition:stroke-dasharray .9s cubic-bezier(.2,.7,.1,1);filter:drop-shadow(0 0 10px rgba(242,99,34,.6))}
.xg-ring span{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:13px;color:#a1a1a6}
.xg-ring b{font-size:48px;letter-spacing:-0.04em;color:#f5f4f1;line-height:1}
.xg-body{padding:40px 0 110px;background:#f5f5f7}
.xg-bar{position:sticky;top:76px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;padding:10px 0;background:#f5f5f7}
.xg-filters{display:flex;gap:6px;padding:4px;border-radius:999px;background:#ffffff;box-shadow:0 0 0 1px rgba(0,0,0,.05)}
.xg-filters button{height:38px;padding:0 16px;border:0;border-radius:999px;background:none;font:inherit;font-size:14px;font-weight:600;color:#6e6e73;cursor:pointer;transition:background .25s,color .25s}
.xg-filters button.on{background:#0a0a0b;color:#ffffff}
.xg-reset{border:0;background:none;font:inherit;font-size:14px;color:#86868b;cursor:pointer;text-decoration:underline}
.xg-group{margin-bottom:34px}
.xg-gh{display:grid;grid-template-columns:auto minmax(80px,220px) auto;gap:14px;align-items:center;margin-bottom:12px}
.xg-gh h2{margin:0;font-size:24px;letter-spacing:-0.025em}
.xg-gh small{font-size:13px;color:#86868b}
.xg-list{display:flex;flex-direction:column;border-radius:22px;background:#ffffff;box-shadow:0 0 0 1px rgba(0,0,0,.04);overflow:hidden}
.xg-item{display:grid;grid-template-columns:36px minmax(0,1fr) 170px 170px 20px;gap:18px;align-items:center;padding:16px 22px;border-bottom:1px solid #f0f0f2;color:#1d1d1f;text-decoration:none;transition:background .25s}
.xg-item:last-child{border-bottom:0}
.xg-item:hover{background:#fffaf6}
.xg-item b{font-size:16px;font-weight:600;transition:color .25s}
.xg-item.done b{color:#86868b;text-decoration:line-through;text-decoration-color:rgba(242,99,34,.6)}
.xg-chk{display:grid;place-items:center;width:30px;height:30px;padding:0;border-radius:10px;border:1.5px solid #d2d2d7;background:#ffffff;cursor:pointer;transition:all .3s cubic-bezier(.3,1.6,.5,1)}
.xg-chk svg{width:18px;height:18px;fill:none;stroke:#ffffff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .4s ease .05s}
.xg-item.done .xg-chk{background:#f26322;border-color:#f26322;transform:scale(1.08)}
.xg-item.done .xg-chk svg{stroke-dashoffset:0}
.xg-m{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center}
.xg-m small{grid-column:1 / -1;font-size:11.5px;color:#86868b;text-transform:uppercase;letter-spacing:.05em}
.xg-m em{font-style:normal;font-size:13px;color:#515154}
.xg-meter{display:block;width:64px;height:6px;border-radius:99px;background:#eeeef0;overflow:hidden}
.xg-meter i{display:block;height:100%;border-radius:99px}
.xg-meter.imp i{background:linear-gradient(90deg,#ffb38a,#f26322)}
.xg-meter.eff i{background:#1d1d1f}
.xg-go{color:#c2410c;font-weight:700;transition:transform .3s}
.xg-item:hover .xg-go{transform:translateX(4px)}
.xgs-meters{display:flex;flex-wrap:wrap;align-items:center;gap:26px;margin-top:22px}
.xgs-meters div{display:grid;grid-template-columns:auto auto;gap:4px 12px;align-items:center}
.xgs-meters small{grid-column:1 / -1;font-size:12px;color:#86868b;text-transform:uppercase;letter-spacing:.05em}
.xgs-meters .xg-meter{width:120px;background:rgba(245,244,241,.12)}
.xgs-meters .xg-meter.eff i{background:#f5f4f1}
.xgs-meters b{color:#f5f4f1;font-size:15px}
.xgs-done{height:44px;padding:0 20px;border-radius:999px;border:1px solid rgba(245,244,241,.3);background:none;color:#f5f4f1;font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s}
.xgs-done.on{background:#34c759;border-color:#34c759;color:#0a0a0b}
.xgs-steps{list-style:none;padding:0;border:0 !important;gap:4px !important}
.xgs-steps a{display:flex !important;gap:10px;border:0 !important;border-radius:12px;padding:9px 10px !important}
.xgs-steps i{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#f0f0f2;font-style:normal;font-size:12px;font-weight:700;color:#6e6e73}
.xgs-steps li.on a{background:#fff1e8;color:#c2410c !important}
.xgs-steps li.on i{background:#f26322;color:#ffffff}
.xgs-ex{position:relative;margin:4px 0 26px;padding:20px 22px 18px;border-radius:18px;background:#fff7f2;box-shadow:inset 3px 0 0 #f26322}
.xgs-ex span{display:block;margin-bottom:6px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#c2410c}
.xgs-ex p{margin:0 !important;font-size:16.5px;line-height:1.65}
.xgs-src{display:flex;flex-direction:column;gap:4px;margin-top:30px;font-size:14px;color:#86868b}
.xgs-src span{font-weight:700;color:#1d1d1f}
.xgs-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:34px}
.xgs-nav a{display:flex;flex-direction:column;gap:4px;padding:18px 20px;border-radius:18px;background:#f5f5f7;color:#1d1d1f;text-decoration:none;font-size:15px;transition:background .25s}
.xgs-nav a:hover{background:#fff1e8}
.xgs-nav a.r{text-align:right}
.xgs-nav small{color:#86868b;font-size:12.5px}
@media (max-width: 1000px){
  .xg-item{grid-template-columns:36px minmax(0,1fr) 20px}
  .xg-m{display:none}
}
@media (max-width: 900px){
  .xg-hero{padding:100px 0 44px}
  .xa-grid,.xg-hero-grid{grid-template-columns:minmax(0,1fr)}
  .xa-text{font-size:17.5px}
  .xa-lead{font-size:20px !important}
  .xa-toc{position:static}
  .xa-toc{display:none}
  .xg-ring{width:150px;height:150px}
  .xg-filters{max-width:100%;overflow-x:auto}
  .xg-filters button{white-space:nowrap}
  .xg-gh{grid-template-columns:minmax(0,1fr) auto}
  .xg-gp{display:none}
  .xg-gh h2{font-size:21px}
}
.hx-host{position:relative;isolation:isolate;overflow:hidden}
.hx-host>*:not(.hx-bg){position:relative;z-index:1}
.hx-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;--mx:70%;--my:30%}
.hx-bg i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.42;mix-blend-mode:screen}
.hx-a{width:46vw;height:46vw;max-width:720px;max-height:720px;left:52%;top:-30%;background:radial-gradient(circle,#f26322,rgba(242,99,34,0) 68%)}
.hx-b{width:34vw;height:34vw;max-width:520px;max-height:520px;left:-8%;top:30%;background:radial-gradient(circle,#c4834a,rgba(196,131,74,0) 68%);opacity:.35}
.hx-c{width:26vw;height:26vw;max-width:420px;max-height:420px;left:30%;top:60%;background:radial-gradient(circle,#ff9a5c,rgba(255,154,92,0) 70%);opacity:.25}
.motion .hx-a{animation:hxA 22s ease-in-out infinite}
.motion .hx-b{animation:hxB 28s ease-in-out infinite}
.motion .hx-c{animation:hxC 18s ease-in-out infinite}
@keyframes hxA{50%{transform:translate(-14vw,12vh) scale(1.15)}}
@keyframes hxB{50%{transform:translate(18vw,-10vh) scale(.9)}}
@keyframes hxC{50%{transform:translate(12vw,-16vh) scale(1.2)}}
.hx-floor{position:absolute;left:-50%;right:-50%;bottom:-2px;height:58%;transform-origin:50% 100%;transform:perspective(520px) rotateX(64deg);background-image:linear-gradient(rgba(245,244,241,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(245,244,241,.09) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 60%,rgba(0,0,0,.4) 100%)}
.motion .hx-floor{animation:hxFloor 6s linear infinite}
@keyframes hxFloor{to{background-position:0 64px,0 0}}
.hx-grain{position:absolute;inset:-50%;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.motion .hx-grain{animation:hxGrain 1.2s steps(4) infinite}
@keyframes hxGrain{25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-2%)}}
.hx-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(420px 320px at var(--mx) var(--my),rgba(255,180,120,.13),transparent 70%);transition:background .2s}
@media (prefers-reduced-motion: reduce){.hx-bg *{animation:none !important}}
@keyframes count{from{--n:0}to{--n:var(--to)}}
