.okaruto-site{--accent:#ffa629;--accent-soft:color-mix(in oklab,var(--accent) 18%,transparent);--accent-ink:#160a02;--maxw:1180px;--gutter:clamp(20px,5vw,64px);--radius:4px;--ease:cubic-bezier(0.22,0.61,0.36,1);--bg:#131418;--bg-2:#1a1c21;--bg-3:#22242b;--panel-border:rgba(255,255,255,0.09);--line:rgba(255,255,255,0.1);--line-strong:rgba(255,255,255,0.18);--ink:#eceae4;--ink-dim:#a7a49c;--ink-faint:#6e6c66;--font-display:var(--font-spectral),Georgia,"Times New Roman",serif;--font-body:var(--font-source-serif),Georgia,serif;--font-label:var(--font-jetbrains-mono),ui-monospace,monospace;--display-weight:500;--display-spacing:-0.01em;--label-spacing:0.22em;--fs-d1:clamp(2.4rem,5.2vw,4.2rem);--fs-d2:clamp(1.8rem,3.2vw,2.6rem);--fs-d3:1.5rem;--fs-d4:1.2rem;--fs-b1:clamp(1.15rem,1.7vw,1.4rem);--fs-b2:1.125rem;--fs-b3:1rem;--fs-b4:0.875rem;--fs-l1:0.875rem;--fs-l2:0.8rem;--fs-l3:0.72rem;--fs-l4:0.65rem;--fs-wordmark:clamp(2.6rem,6.6vw,5rem);background:var(--bg)}.okaruto-page{color:var(--ink);font-family:var(--font-body);font-size:var(--fs-b2);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.okaruto-site ::-moz-selection{background:var(--accent);color:var(--accent-ink)}.okaruto-site ::selection{background:var(--accent);color:var(--accent-ink)}.okaruto-page img{display:block;max-width:100%}.okaruto-site .img-ph{position:relative}.okaruto-site .img-ph:after{content:"☾";position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-display);font-size:var(--fs-d2);color:var(--accent);opacity:.35;background:var(--bg-3)}.okaruto-site .wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}.okaruto-site .wrap-narrow{max-width:760px;margin:0 auto;padding-inline:var(--gutter)}.okaruto-page h1,.okaruto-page h2,.okaruto-page h3{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-spacing);line-height:1.08;margin:0;text-wrap:balance}.okaruto-page p{margin:0 0 1em;text-wrap:pretty}.okaruto-site .eyebrow{font-family:var(--font-label);text-transform:uppercase;letter-spacing:var(--label-spacing);font-size:var(--fs-l3);font-weight:500;color:var(--ink-dim);display:inline-flex;align-items:center;gap:.7em}.okaruto-site .eyebrow:before{content:"";width:1.8em;height:1px;background:var(--accent);opacity:.9}.okaruto-site .eyebrow.no-rule:before{display:none}.okaruto-site .section{padding-block:clamp(64px,9vw,132px);position:relative}.okaruto-site .section-head{display:flex;flex-direction:column;gap:18px;margin-bottom:clamp(36px,5vw,60px)}.okaruto-site .hr{height:1px;background:var(--line);border:0;margin:0}.okaruto-site .asterism{display:none;text-align:center;color:var(--accent);font-size:var(--fs-d3);letter-spacing:.4em;padding:8px 0;opacity:.8}.okaruto-site .btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.14em;font-size:var(--fs-l2);font-weight:600;padding:15px 26px;border-radius:var(--radius);transition:transform .25s var(--ease),background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);border:1px solid transparent;white-space:nowrap;cursor:pointer}.okaruto-site .btn-primary{background:var(--accent);color:var(--accent-ink)}.okaruto-site .btn-primary:hover{transform:translateY(-2px);filter:brightness(1.06)}.okaruto-site .btn-ghost{border-color:var(--line-strong);color:var(--ink)}.okaruto-site .btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.okaruto-site .btn-text{padding:0;letter-spacing:.12em;color:var(--ink-dim);background:none}.okaruto-site .btn-text:hover{color:var(--accent)}.okaruto-site .btn-lg{padding:18px 34px;font-size:var(--fs-l1)}.okaruto-site .btn-block{width:100%}.okaruto-site .btn-sm{padding:12px 16px;font-size:var(--fs-l3);letter-spacing:.1em}.okaruto-site .ulink{position:relative;color:var(--ink)}.okaruto-site .ulink:after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:1px;background:var(--accent);transition:right .35s var(--ease)}.okaruto-site .ulink:hover:after{right:0}.okaruto-header{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--bg) 82%,transparent);backdrop-filter:blur(14px) saturate(1.1);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top)}.okaruto-header .bar{display:flex;align-items:center;justify-content:space-between;height:72px}.okaruto-header .brand{display:inline-flex;align-items:center;gap:11px;cursor:pointer}.okaruto-header .brand-lockup{height:38px;width:auto;transition:opacity .2s}.okaruto-header .brand:hover .brand-lockup{opacity:.82}@media (max-width:420px){.okaruto-header .brand-lockup{height:32px}}.okaruto-header .nav-links a{font-family:var(--font-label);font-size:var(--fs-l2);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;color:var(--ink-dim);transition:color .2s}.okaruto-header .nav-links a.active,.okaruto-header .nav-links a:hover{color:var(--ink)}.okaruto-header .btn{padding:11px 16px;letter-spacing:.08em}.okaruto-header .btn-ghost{border-color:var(--accent);color:var(--accent)}.okaruto-site .hero{position:relative;padding-top:clamp(28px,4vw,60px);padding-bottom:clamp(32px,4.5vw,64px);overflow:hidden}.okaruto-site .hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(36px,6vw,80px);align-items:center;position:relative;z-index:1}.okaruto-site .hero h1{font-size:var(--fs-wordmark);line-height:.98;margin:22px 0 0;font-weight:500;white-space:nowrap}.okaruto-site .hero .hero-wordmark{display:inline-block;vertical-align:baseline;width:min(calc(100% - .42em),6.67em);height:auto;overflow:visible;fill:currentColor}.okaruto-site .hero h1 .accent{color:var(--accent)}.okaruto-site .hero .lede{font-size:var(--fs-b1);color:var(--ink-dim);max-width:46ch;margin-top:28px}.okaruto-site .hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:38px}.okaruto-site .hero-visual{position:relative;aspect-ratio:4/5;display:grid;place-items:center}.okaruto-site .hero-lantern{height:75%;width:auto;max-width:100%;-o-object-fit:contain;object-fit:contain}.okaruto-site .manifesto{background:var(--bg-2);border-block:1px solid var(--line)}.okaruto-site .manifesto-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(36px,6vw,90px);align-items:start}.okaruto-site .manifesto-body{font-size:var(--fs-b1);line-height:1.62}.okaruto-site .manifesto-body em{color:var(--accent);font-style:italic}.okaruto-site .manifesto-aside{font-family:var(--font-label);font-size:var(--fs-l2);letter-spacing:.08em;color:var(--ink-faint);line-height:1.9}.okaruto-site .course-photo{border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;background:var(--bg-2);line-height:0}.okaruto-site .course-photo img{display:block;width:100%;height:auto}.okaruto-site .catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:28px}.okaruto-site .course-card{position:relative;background:var(--bg-2);border:1px solid var(--panel-border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .3s var(--ease),border-color .3s var(--ease)}.okaruto-site .course-card:hover{transform:translateY(-4px);border-color:var(--accent)}.okaruto-site .course-card .thumb{aspect-ratio:1/1;overflow:hidden;position:relative;background:var(--bg-3)}.okaruto-site .course-card .thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s var(--ease);filter:grayscale(.15)}.okaruto-site .course-card:hover .thumb img{transform:scale(1.05)}.okaruto-site .course-card .price-badge{position:absolute;top:14px;left:14px;background:var(--accent);color:var(--accent-ink);font-family:var(--font-label);font-size:var(--fs-l3);letter-spacing:.1em;text-transform:uppercase;padding:6px 11px;border-radius:3px;font-weight:600;z-index:1}.okaruto-site .course-card .price-badge.free{background:var(--ink)}.okaruto-site .course-card .card-body{padding:26px;display:flex;flex-direction:column;gap:14px;flex:1}.okaruto-site .course-card .card-tag{font-family:var(--font-label);font-size:var(--fs-l3);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint)}.okaruto-site .course-card h3{font-size:var(--fs-d3)}.okaruto-site .course-card .card-link{color:inherit}.okaruto-site .course-card:hover .card-link{color:var(--accent)}.okaruto-site .course-card .card-link:after{content:"";position:absolute;inset:0;z-index:1}.okaruto-site .course-card .card-desc{color:var(--ink-dim);font-size:var(--fs-b3);margin:0}.okaruto-site .course-card .card-foot{position:relative;z-index:2;margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:stretch;gap:14px}.okaruto-site .course-card .card-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));align-items:stretch;gap:10px}.okaruto-site .course-card .card-actions>*{min-width:0}.okaruto-site .course-card .card-actions .btn{width:100%;white-space:normal;text-align:center}.okaruto-site .course-card .card-actions .buy-slot{display:flex;flex-direction:column;gap:8px}.okaruto-site .course-card .card-actions .buy-slot>.btn{flex:1}.okaruto-site .price{display:flex;align-items:baseline;gap:10px;font-family:var(--font-display);white-space:nowrap}.okaruto-site .price .now{font-size:var(--fs-d3);color:var(--ink)}.okaruto-site .price .old{font-size:var(--fs-d4);color:var(--ink-faint);text-decoration:line-through}.okaruto-site .price .free-word{font-size:var(--fs-d3);color:var(--accent)}.okaruto-site .process-cta{display:flex;justify-content:center;margin-top:clamp(36px,5vw,56px)}.okaruto-site .tabs{display:inline-flex;gap:4px;padding:5px;border:1px solid var(--line);border-radius:999px}.okaruto-site .tabs button{padding:9px 20px;border-radius:999px;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.12em;font-size:var(--fs-l2);color:var(--ink-dim);background:none;border:none;cursor:pointer;transition:.2s}.okaruto-site .tabs button.active{background:var(--accent);color:var(--accent-ink)}.okaruto-site .empty-state{text-align:center;padding:80px 20px;color:var(--ink-faint);border:1px dashed var(--line-strong);border-radius:var(--radius)}.okaruto-site .empty-state .glyph{font-family:var(--font-display);font-size:var(--fs-d2);color:var(--accent);opacity:.5}.okaruto-site .frow{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}.okaruto-site .frow+.frow{margin-top:clamp(40px,6vw,80px)}.okaruto-site .frow .f-title{font-family:var(--font-display);font-size:var(--fs-d3);margin:16px 0 14px}.okaruto-site .frow .f-text{color:var(--ink-dim);margin:0}.okaruto-site .team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.okaruto-site .member{background:var(--bg);display:flex;flex-direction:column}.okaruto-site .member .portrait{aspect-ratio:1/1;overflow:hidden;background:var(--bg-3);position:relative}.okaruto-site .member .portrait img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.okaruto-site .member .m-body{padding:26px 26px 30px}.okaruto-site .member .m-name{font-family:var(--font-display);font-size:var(--fs-d3);margin-bottom:6px}.okaruto-site .member .m-role{font-family:var(--font-label);font-size:var(--fs-l4);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.okaruto-site .member .m-bio{color:var(--ink-dim);font-size:var(--fs-b3);line-height:1.55;margin:0}.okaruto-site .course-hero{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,64px);align-items:center}.okaruto-site .course-hero .ch-media{aspect-ratio:1/1;width:min(100%,340px);margin-inline:auto;border:1px solid var(--line-strong);border-radius:50%;overflow:hidden;background:var(--bg-3);position:relative}.okaruto-site .course-hero .ch-media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.okaruto-site .course-hero h1{font-size:var(--fs-d2);line-height:1.15;text-wrap:balance;margin:18px 0 0}.okaruto-site .course-hero .ch-lede{color:var(--ink-dim);font-size:var(--fs-b1);margin-top:22px;max-width:44ch}.okaruto-site .course-facts{display:flex;flex-wrap:wrap;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.okaruto-site .course-facts .fact{flex:1 1 220px;min-width:0;background:var(--bg-2);padding:22px 24px}.okaruto-site .course-facts .fact .l{font-family:var(--font-label);font-size:var(--fs-l4);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint)}.okaruto-site .course-facts .fact .v{font-family:var(--font-display);font-size:var(--fs-d4);line-height:1.25;margin-top:8px;text-wrap:pretty}.okaruto-site .program{display:grid;gap:0;border-top:1px solid var(--line)}.okaruto-site .lecture{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:baseline;padding:24px 0;border-bottom:1px solid var(--line)}.okaruto-site .lecture .lx-num{font-family:var(--font-label);color:var(--accent);font-size:var(--fs-l1)}.okaruto-site .lecture .lx-title{font-family:var(--font-display);font-size:var(--fs-d3)}.okaruto-site .lecture .lx-desc{color:var(--ink-dim);font-size:var(--fs-b3);margin:8px 0 0;grid-column:2}.okaruto-site .lecture .lx-dur{font-family:var(--font-label);font-size:var(--fs-l2);color:var(--ink-faint);letter-spacing:.1em}.okaruto-site .buy-card{background:var(--bg-2);border:1px solid var(--panel-border);border-radius:var(--radius);padding:30px;position:sticky;top:96px}.okaruto-site .buy-card .bc-price{display:flex;align-items:baseline;gap:12px;margin-bottom:6px}.okaruto-site .buy-card .bc-price .now{font-family:var(--font-display);font-size:var(--fs-d2)}.okaruto-site .buy-card .bc-price .old{color:var(--ink-faint);text-decoration:line-through;font-size:var(--fs-d4)}.okaruto-site .buy-card .bc-note{color:var(--ink-dim);font-size:var(--fs-b3);margin-bottom:22px}.okaruto-site .buy-card ul{list-style:none;margin:22px 0;padding:0;display:grid;gap:12px}.okaruto-site .buy-card li{display:flex;gap:12px;font-size:var(--fs-b3);color:var(--ink-dim);align-items:baseline}.okaruto-site .buy-card li:before{content:"✦";color:var(--accent);font-size:.8em}.okaruto-site .mobile-buy-bar{display:none}@media (max-width:900px){.okaruto-site .mobile-buy-bar{display:block;position:sticky;bottom:0;z-index:20;background:var(--bg-2);border-top:1px solid var(--line);padding:12px var(--gutter);padding-bottom:calc(12px + env(safe-area-inset-bottom))}}.okaruto-site .course-layout{display:grid;grid-template-columns:1fr 360px;gap:clamp(36px,5vw,64px);align-items:start}.okaruto-site .course-layout>aside{align-self:stretch}.okaruto-site .crumb{display:flex;gap:10px;align-items:center;font-family:var(--font-label);font-size:var(--fs-l3);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);flex-wrap:wrap}.okaruto-site .crumb a{cursor:pointer}.okaruto-site .crumb a:hover{color:var(--accent)}.okaruto-site .lecturer{display:flex;gap:24px;align-items:flex-start;margin-top:20px;background:var(--bg-2);border:1px solid var(--panel-border);border-radius:var(--radius);padding:26px}.okaruto-site .lecturer .l-photo{width:96px;height:96px;flex-shrink:0;border-radius:50%;overflow:hidden;background:var(--bg-3);position:relative}.okaruto-site .lecturer .l-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:grayscale(.3)}.okaruto-site .lecturer .l-name{font-family:var(--font-display);font-size:var(--fs-d3)}.okaruto-site .lecturer .l-role{font-family:var(--font-label);font-size:var(--fs-l4);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:6px 0 12px}.okaruto-site .lecturer .l-bio{color:var(--ink-dim);margin:0;font-size:var(--fs-b3);line-height:1.55;white-space:pre-line}.okaruto-footer{background:var(--bg-2);border-top:1px solid var(--line);padding-block:clamp(56px,7vw,88px);color:var(--ink);font-family:var(--font-body)}.okaruto-footer .footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid var(--line)}.okaruto-footer h4{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.18em;font-size:var(--fs-l3);color:var(--ink-faint);margin:0 0 18px;font-weight:500}.okaruto-footer .socials{display:flex;flex-direction:column;gap:12px}.okaruto-footer a{color:var(--ink-dim);transition:color .2s;cursor:pointer}.okaruto-footer a:hover{color:var(--accent)}.okaruto-footer .footer-lockup{height:58px;width:auto}.okaruto-footer .footer-brand p{color:var(--ink-dim);max-width:34ch;margin-top:18px;font-size:var(--fs-b3)}.okaruto-footer .footer-bottom{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;padding-top:28px;font-size:var(--fs-b4);color:var(--ink-faint)}.okaruto-footer .footer-bottom .tag18{border:1px solid var(--line-strong);border-radius:3px;padding:3px 9px;font-family:var(--font-label);font-size:var(--fs-l3)}@media (max-width:900px){.okaruto-site .hero-grid{grid-template-columns:1fr}.okaruto-site .hero-visual{display:none}.okaruto-site .course-hero,.okaruto-site .course-layout,.okaruto-site .manifesto-grid,.okaruto-site .team-grid{grid-template-columns:1fr}.okaruto-site .buy-card{position:static}.okaruto-site .frow{grid-template-columns:1fr;gap:24px}.okaruto-footer .footer-top{grid-template-columns:1fr;gap:32px}}@media (max-width:560px){.okaruto-site .lecture{grid-template-columns:auto 1fr}.okaruto-site .lecture .lx-dur{display:none}.okaruto-site .lecture .lx-desc,.okaruto-site .lecture .lx-topics{grid-column:1/-1}}.okaruto-site .lecture .lx-topics{list-style:none;margin:8px 0 0;padding:0;grid-column:2;display:grid;gap:5px}.okaruto-site .lecture .lx-topics li{display:grid;grid-template-columns:auto 1fr;gap:10px;color:var(--ink-dim);font-size:var(--fs-b3);line-height:1.5}.okaruto-site .lecture .lx-topics li:before{content:"·";color:var(--accent)}.okaruto-site .info-list{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:16px}.okaruto-site .info-list li{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:baseline;color:var(--ink-dim)}.okaruto-site .info-list li .n{font-family:var(--font-label);color:var(--accent);font-size:var(--fs-l1)}.okaruto-site .bullet-list{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}.okaruto-site .bullet-list li{display:flex;gap:12px;align-items:baseline;color:var(--ink-dim)}.okaruto-site .bullet-list li:before{content:"✦";color:var(--accent);font-size:.8em}