.so-page{--so-ink:rgba(255,255,255,0.92);--so-ink-2:rgba(255,255,255,0.72);--so-ink-3:rgba(255,255,255,0.56);--so-rule:rgba(255,255,255,0.1);--so-rule-2:rgba(255,255,255,0.22);--so-well:rgba(255,255,255,0.03);--so-lime:#bcf053;--so-steel:#86a3b3;--so-tick:12px;--so-ease:cubic-bezier(0.22,1,0.36,1)}.so-wrap{width:100%;max-width:1200px;margin-inline:auto;padding-inline:16px}.so-num{font-variant-numeric:tabular-nums}.so-label{font-size:14px;line-height:1.4;color:var(--so-ink-3)}.so-h1,.so-h3{font-weight:400;color:var(--so-ink);text-wrap:balance;overflow-wrap:break-word;min-width:0}.so-h1{margin:0;font-size:40px;line-height:1.04;letter-spacing:-.03em}.so-lead{margin:20px 0 0;max-width:34rem;font-size:18px;line-height:1.5;color:var(--so-ink-2);text-wrap:pretty}.so-h3{margin:0;font-size:20px;line-height:1.25;letter-spacing:-.01em}.so-body{margin:0;font-size:16px;line-height:1.55;color:var(--so-ink-2);text-wrap:pretty}.so-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:16px;color:var(--so-ink);text-decoration:underline;text-decoration-color:var(--so-rule-2);text-underline-offset:6px;transition:text-decoration-color .22s var(--so-ease)}.so-link:hover{text-decoration-color:var(--so-ink)}.so-link:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:4px}.so-hero{position:relative;padding-top:112px;padding-bottom:var(--so-gap)}.so-hero-grid{display:grid;gap:40px}.so-hero-text{min-width:0}.so-hero-act{margin-top:32px}.so-swarm{position:relative;margin:0;aspect-ratio:6/5;min-width:0}.so-swarm:before{content:"";border:1px solid var(--so-rule-2);-webkit-mask:conic-gradient(at var(--so-tick) var(--so-tick),transparent 75%,#000 0) 0 0 /calc(100% - var(--so-tick)) calc(100% - var(--so-tick));mask:conic-gradient(at var(--so-tick) var(--so-tick),transparent 75%,#000 0) 0 0 /calc(100% - var(--so-tick)) calc(100% - var(--so-tick))}.so-swarm-host,.so-swarm:before{position:absolute;inset:0;pointer-events:none}.so-swarm-host canvas{display:block;width:100%;height:100%}.so-call{position:absolute;display:flex;align-items:center;gap:8px;max-width:46%;font-size:13px;line-height:1.3;color:var(--so-ink-2);pointer-events:none}.so-call:before{content:"";flex:none;width:5px;height:5px;border-radius:50%;background:var(--so-steel)}.so-call[data-found]:before{background:var(--so-lime)}.so-call[data-at=end]{flex-direction:row-reverse;text-align:right}.so-call i{flex:none;width:24px;height:1px;background:var(--so-rule-2)}.so-page{--so-gap:56px}.so-page section:not(.so-hero){padding-block:var(--so-gap)}.so-statement-h{max-width:26ch}.so-statement-rows{margin:48px 0 0;padding:0;list-style:none}.so-statement-rows li{padding:20px 0;border-top:1px solid var(--so-rule);font-size:18px;line-height:1.5;color:var(--so-ink-2);text-wrap:pretty}.so-statement-rows li:last-child{border-bottom:1px solid var(--so-rule)}.so-table{width:100%;margin-top:48px;border-collapse:collapse;text-align:left}.so-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.so-table tr{display:block;padding:24px 0;border-top:1px solid var(--so-rule)}.so-table tbody tr:last-child{border-bottom:1px solid var(--so-rule)}.so-table td,.so-table th{display:block;padding:0;font-weight:400}.so-table td{margin-top:8px;font-size:16px;line-height:1.55;color:var(--so-ink-2)}.so-table td[data-label]{display:flex;gap:12px;color:var(--so-ink)}.so-table td[data-label]:before{content:attr(data-label);min-width:7.5rem;color:var(--so-ink-3)}.so-axis,.so-axis-sec{position:relative}.so-axis{margin:48px 0 0;padding:0 0 0 28px;list-style:none}.so-axis:before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:1px;background:var(--so-rule-2);transform-origin:top}.so-axis-band,.so-axis-marks,.so-axis-tail,.so-axis-ticks{display:none}.so-stage{position:relative;padding:0 0 32px}.so-stage:nth-last-child(2){padding-bottom:0}.so-axis-draw{display:contents}.so-stage:before{content:"";position:absolute;left:-22px;top:8px;width:14px;height:1px;background:var(--so-ink)}.so-stage .so-label{display:block;margin-bottom:6px}.so-stage .so-body{margin-top:6px;max-width:34ch}.so-axis-foot{margin:40px 0 0;font-size:16px;color:var(--so-ink-2)}.so-show{margin:0}.so-show img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;object-position:top;border-radius:16px;border:1px solid var(--so-rule)}.so-cap{margin-top:12px;font-size:14px;color:var(--so-ink-3)}.so-show-foot{display:grid;gap:32px;margin-top:48px}.so-quote{margin:0}.so-quote blockquote{margin:0 0 20px;font-size:19px;line-height:1.55;color:var(--so-ink-2);text-wrap:pretty}.so-index{margin:48px 0 0;padding:0;list-style:none;border-bottom:1px solid var(--so-rule)}.so-idx{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:center;padding:20px 0;border-top:1px solid var(--so-rule);color:inherit;text-decoration:none;transition:background-color .22s var(--so-ease)}.so-idx:hover{background:var(--so-well)}.so-idx:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:6px}.so-idx img{display:block;width:96px;height:60px;object-fit:cover;border-radius:6px;border:1px solid var(--so-rule)}.so-idx-text{display:grid;gap:4px;min-width:0}.so-idx-client{font-size:18px;color:var(--so-ink)}.so-idx-built{color:var(--so-ink)}.so-idx-built,.so-idx-result{font-size:15px;line-height:1.45}.so-idx-result{color:var(--so-ink-2)}.so-idx-go{display:none}.so-kinds{display:grid;gap:20px;margin:48px 0 0;padding-top:24px;border-top:1px solid var(--so-rule)}.so-kinds div{min-width:0}.so-kinds dt{font-size:16px;color:var(--so-ink)}.so-kinds dd{margin:4px 0 0;font-size:15px;line-height:1.5;color:var(--so-ink-2)}.so-split{display:grid;gap:32px;align-items:center}.so-split figure{margin:0;display:grid;justify-items:center}.so-phone-cap{max-width:300px;text-align:center}.so-split-text>*+*{margin-top:20px}.so-faq{display:grid;gap:40px}.so-qs{margin:0;padding:0;list-style:none;border-bottom:1px solid var(--so-rule)}.so-qs>li{border-top:1px solid var(--so-rule)}.so-q summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px;padding:16px 0;font-size:19px;line-height:1.35;color:var(--so-ink);cursor:pointer;list-style:none}.so-q summary::-webkit-details-marker{display:none}.so-q summary:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:6px}.so-q-icon{flex:none;width:20px;height:20px;color:var(--so-ink-2);transition:transform .22s var(--so-ease)}.so-q[open] .so-q-icon{transform:rotate(45deg)}.so-q-a{padding:0 48px 24px 0;font-size:17px;line-height:1.6;color:var(--so-ink-2);text-wrap:pretty}.so-q-a a{color:var(--so-ink);text-decoration:underline;text-underline-offset:3px}.so-more{margin-top:0}.so-more>summary{display:inline-flex;align-items:center;gap:10px;min-height:48px;margin-top:16px;font-size:16px;color:var(--so-ink);cursor:pointer;list-style:none}.so-more>summary::-webkit-details-marker{display:none}.so-more>summary:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:6px}.so-more[open]>summary .so-q-icon{transform:rotate(45deg)}.so-more .so-qs{margin-top:8px}@media (max-width:419px){.so-h1{font-size:34px;line-height:1.06}}@media (min-width:640px){.so-wrap{padding-inline:24px}.so-h1{font-size:48px}.so-lead{font-size:19px}.so-swarm{aspect-ratio:16/11}.so-call{font-size:14px}.so-table thead{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal;display:table-header-group}.so-table tr{display:table-row;padding:0}.so-table td,.so-table th{display:table-cell;vertical-align:top;padding:28px 24px 28px 0}.so-table td{margin:0}.so-table td[data-label]{display:table-cell;color:var(--so-ink)}.so-table td[data-label]:before{content:none}.so-table thead th{padding:0 24px 14px 0;font-size:14px;color:var(--so-ink-3)}.so-table thead tr{border-top:0}.so-table tbody tr{border-top:1px solid var(--so-rule)}.so-table tbody th{width:22%;font-size:20px;line-height:1.3;color:var(--so-ink)}.so-table .so-c-what{width:42%}.so-table .so-c-often{width:16%}.so-idx{grid-template-columns:160px minmax(0,1fr);gap:24px}.so-idx img{width:160px;height:100px}.so-kinds{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}}@media (min-width:1024px){.so-wrap{padding-inline:32px}.so-page{--so-gap:80px}.so-hero{display:flex;align-items:center;min-height:min(100svh,1040px);padding-top:104px;padding-bottom:var(--so-gap)}.so-hero>.so-wrap{width:100%}.so-hero-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:center}.so-h1{font-size:clamp(48px,3.9vw,58px)}.so-swarm{aspect-ratio:auto;height:clamp(440px,62svh,580px)}.so-statement-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}.so-statement-rows li,.so-statement-rows li:last-child{border-bottom:0;padding-right:32px}.so-show-foot{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:end}.so-idx{grid-template-columns:160px minmax(0,3fr) minmax(0,4fr) minmax(0,4fr) 24px;gap:32px;min-height:120px;padding:10px 0}.so-idx-text{display:contents}.so-idx-client{font-size:20px}.so-idx-built,.so-idx-result{font-size:16px}.so-idx-go{display:block;width:20px;height:20px;color:var(--so-ink-3);transition:transform .22s var(--so-ease),color .22s var(--so-ease)}.so-idx:hover .so-idx-go{color:var(--so-ink);transform:translate(2px,-2px)}.so-split{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:64px}.so-faq{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:32px;align-items:start}.so-q summary{font-size:20px}.so-axis{height:360px;padding:0;margin-inline:8px 24px}.so-axis:before{left:0;right:0;top:180px;bottom:auto;width:auto;height:1px;transform-origin:left}.so-axis-ticks{display:block;position:absolute;inset:0;margin:0;padding:0;list-style:none}.so-axis-ticks li{position:absolute;top:174px;left:calc(var(--at) * var(--track));width:1px;height:13px;background:var(--so-rule-2);transform-origin:center}.so-axis-marks{display:block;position:absolute;left:0;right:0;top:196px;height:20px;margin:0;padding:0;list-style:none;font-size:13px;color:var(--so-ink-3)}.so-axis-marks li{position:absolute;left:calc(var(--at) * var(--track));transform:translateX(-50%)}.so-axis-marks li[data-unit]{transform:none}.so-stage{position:absolute;width:260px;padding:0}.so-stage[data-tier=a]{bottom:222px}.so-stage[data-tier=b]{top:232px}.so-stage[data-align=start]{left:calc(var(--from) * var(--track))}.so-stage[data-align=center]{left:calc((var(--from) + var(--to)) / 2 * var(--track) - 130px);text-align:center}.so-stage[data-align=end]{right:calc(100% - var(--from) * var(--track));text-align:right}.so-stage .so-body{max-width:none}.so-stage:before{left:0;top:auto;width:1px;height:40px;background:var(--so-ink)}.so-stage[data-tier=a]:before{bottom:-42px}.so-stage[data-tier=b]:before{top:-52px}.so-stage[data-align=end]:before{left:auto;right:0}.so-stage[data-align=center]:before{left:50%}.so-axis-band{display:block;position:absolute;top:172px;left:calc(var(--from) * var(--track));width:calc((var(--to) - var(--from)) * var(--track));height:8px;border-top:1px solid var(--so-ink);background:rgba(255,255,255,.06);transform-origin:left}.so-axis[data-tail]:before{right:auto;width:calc(var(--span) * var(--track))}.so-axis-tail{display:block;position:absolute;top:180px;right:0;width:calc(100% - var(--span) * var(--track));height:1px;background:repeating-linear-gradient(to right,var(--so-rule-2) 0 4px,transparent 4px 10px)}}@media (prefers-reduced-motion:no-preference){.so-axis[data-armed]:not([data-drawn]):before{transform:scaleX(0)}.so-axis[data-armed]:not([data-drawn]) .so-axis-ticks li{transform:scaleY(0)}.so-axis[data-armed]:not([data-drawn]) .so-axis-band{transform:scaleX(0)}.so-axis[data-armed]:not([data-drawn]) .so-axis-marks,.so-axis[data-armed]:not([data-drawn]) .so-axis-tail,.so-axis[data-armed]:not([data-drawn]) .so-stage{opacity:0}.so-axis[data-armed]:not([data-drawn]) .so-stage{transform:translateY(10px)}.so-axis[data-drawn]:before{transition:transform .9s var(--so-ease)}.so-axis[data-drawn] .so-axis-ticks li{transition:transform .45s var(--so-ease) calc(.15s + var(--at) / var(--span) * .7s)}.so-axis[data-drawn] .so-axis-band{transition:transform .8s var(--so-ease) .3s}.so-axis[data-drawn] .so-axis-marks,.so-axis[data-drawn] .so-axis-tail{transition:opacity .6s var(--so-ease) .5s}.so-axis[data-drawn] .so-stage{transition:opacity .6s var(--so-ease) calc(.35s + var(--from-at) * .7s),transform .6s var(--so-ease) calc(.35s + var(--from-at) * .7s)}@media (max-width:1023px){.so-axis[data-armed]:not([data-drawn]):before{transform:scaleY(0)}}}.so-call[data-at=center]{max-width:80%;transform:translateX(-50%);justify-content:center;text-align:center}.ws-h1>span{display:block}.ws-act{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}.ws-price{margin:0;font-size:16px;color:var(--so-ink-2)}.ws-price .so-num{font-size:28px;letter-spacing:-.01em;color:var(--so-ink)}.ws-photo{margin:0;min-width:0}.ws-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:20px;border:1px solid var(--so-rule);box-shadow:0 0 56px -14px rgba(182,145,84,.6)}.ws-offers{display:grid;gap:24px;margin-top:48px}.ws-offer{display:flex;flex-direction:column;gap:12px;padding:32px;border:1px solid var(--so-rule);border-radius:24px}.ws-offer-price{margin:12px 0 0;font-size:56px;line-height:1;letter-spacing:-.03em;color:var(--so-ink)}.ws-offer-quote{font-size:32px;line-height:1.75;letter-spacing:-.015em}.ws-offer-act{margin-top:auto;padding-top:16px}.ws-ghost{display:inline-flex;align-items:center;min-height:44px;padding:12px 32px;border:1.5px solid var(--so-rule-2);border-radius:100px;font-size:14px;font-weight:600;color:var(--so-ink);transition:border-color .22s var(--so-ease)}.ws-ghost:hover{border-color:rgba(255,255,255,.6)}.ws-ghost:focus-visible{outline:2px solid #fff;outline-offset:3px}.ws-day{display:grid;gap:40px}.ws-blocks{margin:48px 0 0;padding:0;list-style:none;counter-reset:ws}.ws-blocks li{position:relative;display:grid;gap:6px;padding:20px 0 20px 44px;border-top:1px solid var(--so-rule);counter-increment:ws;transition:background-color .22s var(--so-ease)}.ws-blocks li:last-child{border-bottom:1px solid var(--so-rule)}.ws-blocks li:before{content:counter(ws);position:absolute;left:0;top:22px;font-size:16px;font-variant-numeric:tabular-nums;color:var(--so-ink-3)}.ws-blocks li[data-lit]:before{color:var(--so-lime)}.ws-stack{aspect-ratio:1/1}.ws-table-wrap{margin-top:48px;overflow-x:auto}.ws-table-wrap:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:6px}.ws-table{width:100%;min-width:760px;border-collapse:collapse;text-align:left}.ws-table td,.ws-table th{padding:18px 20px 18px 0;vertical-align:top;border-top:1px solid var(--so-rule);font-size:15px;line-height:1.5;font-weight:400;color:var(--so-ink-2)}.ws-table thead th{border-top:0;padding-bottom:20px;color:var(--so-ink-3)}.ws-table tbody th{width:24%;color:var(--so-ink)}.ws-tool{display:block;font-size:20px;color:var(--so-ink)}.ws-tool-price{display:block;margin-top:4px;font-size:14px;color:var(--so-ink-3)}.ws-tool-body{display:block;margin-top:10px;max-width:26ch;font-size:15px;line-height:1.45;color:var(--so-ink-2)}.ws-table .ws-note td,.ws-table .ws-note th{font-size:14px;color:var(--so-ink-3)}.ws-ready-lead{margin-top:20px;max-width:30rem}.ws-rows{margin:0;padding:0;list-style:none;border-bottom:1px solid var(--so-rule)}.ws-rows li{display:grid;gap:6px;padding:20px 0;border-top:1px solid var(--so-rule)}.ws-teacher figure{margin:0;max-width:420px}.ws-teacher img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center 22%;border-radius:20px;box-shadow:0 0 56px -14px var(--glow,transparent)}.ws-teacher-body{max-width:36rem;font-size:17px}@media (min-width:640px){.ws-offers{grid-template-columns:repeat(2,minmax(0,1fr))}.ws-rows li{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px}}@media (min-width:1024px){.ws-hero .so-hero-grid{grid-template-columns:minmax(0,6fr) minmax(0,6fr)}.ws-photo img{aspect-ratio:auto;height:clamp(420px,60svh,540px)}.ws-day{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:center}.ws-stack{height:auto;aspect-ratio:1/1}.ws-teacher{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.ws-teacher figure{max-width:none}.ws-blocks li{padding-left:52px}@media (hover:hover){.ws-blocks li:hover{background:var(--so-well)}}}@media (prefers-reduced-motion:reduce){.so-idx,.so-idx-go,.so-link,.so-q-icon,.ws-blocks li,.ws-ghost{transition:none}}.so-phone-wrap{overflow:hidden}.so-phone,.so-phone-wrap{display:block;position:relative;width:var(--pw)}.so-phone{padding:calc(var(--pw) * .034);border-radius:calc(var(--pw) * .165);background:#121316;box-shadow:inset 0 0 0 calc(var(--pw) * .006) #4a4d53,inset 0 0 0 calc(var(--pw) * .014) #1b1c20,0 0 0 1px rgba(255,255,255,.06)}.so-phone img{display:block;width:100%;height:auto;border-radius:calc(var(--pw) * .132)}.so-phone-island{position:absolute;z-index:1;top:calc(var(--pw) * .058);left:50%;width:31%;height:calc(var(--pw) * .085);border-radius:999px;background:#000;transform:translateX(-50%)}.so-phone:after,.so-phone:before{content:"";position:absolute;width:calc(var(--pw) * .012);border-radius:2px;background:#2a2c31}.so-phone:before{left:calc(var(--pw) * -.008);top:22%;height:7%;box-shadow:0 calc(var(--pw) * .2) 0 #2a2c31}.so-phone:after{right:calc(var(--pw) * -.008);top:27%;height:11%}.so-split .so-phone-wrap{margin-inline:auto}.so-idx-phone{display:flex;justify-content:center;width:96px;height:60px;overflow:hidden;border-radius:6px;border:1px solid var(--so-rule);background:#0b0c0e}.so-idx-phone .so-phone-wrap{margin-top:6px}@media (min-width:640px){.so-idx-phone{width:160px;height:100px}}