@font-face{font-family:Manrope;src:url('/assets/manrope-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/manrope-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/manrope-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/manrope-700.ttf') format('truetype');font-weight:700;font-display:swap}
body.studio-public{--stock:#fafaf9;--paper:#fafaf9;--paper-deep:#e8e8e5;--ink:#23221f;--muted:#63635f;--white:#fff;--pink:#e8e8e5;--sun:#e8e8e5;--aqua:#e8e8e5;--grass:#23221f;--amber:#e8e8e5;--accent:#23221f;--op-red:#23221f;--op-green:#23221f;--op-indigo:#23221f;--font:Manrope,Arial,sans-serif;--sans:Manrope,Arial,sans-serif;--heading:Manrope,Arial,sans-serif;--head:Manrope,Arial,sans-serif;--thin:400;--mid:500;--fat:600;--edge:1px;--drop:0px;--pad:clamp(22px,5vw,80px);--line:#d8d8d3;--radius-control:10px;--radius-panel:20px;margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:clip}
.studio-public [hidden]{display:none!important}
.public-wrap{box-sizing:border-box;width:calc(100% - clamp(36px,8vw,144px));max-width:1600px;margin-inline:auto}
.studio-public .public-header{position:sticky;top:0;z-index:80;display:block;padding:20px 0;background:#fafaf9;color:#23221f;border:0;margin:0;box-shadow:none}
.public-header .public-header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0}
.public-menu-pill{display:flex;align-items:center;gap:18px;flex:none;padding:10px 12px 10px 20px;border-radius:28px;background:#23221f;color:#fafaf9;box-shadow:0 8px 24px #23221f14}
.public-header .public-brand{display:flex;align-items:center;gap:7px;min-height:36px;padding:0;font-family:Manrope,Arial,sans-serif;text-decoration:none;color:#fafaf9;white-space:nowrap}
.public-brand .brand-jp{font-size:28px;font-weight:700;letter-spacing:-2px;line-height:1}
.public-brand .brand-studio{font-size:12px;font-weight:600;letter-spacing:0}
.public-brand .brand-dot{height:6px;width:6px;border-radius:100%;background:currentColor;opacity:.5;margin-left:1px}
.public-menu-toggle{width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:transparent;color:#fafaf9;border:1px solid #ffffff30;border-radius:12px;cursor:pointer;padding:0;box-shadow:none;transform:none}
.public-menu-toggle span{display:block;width:19px;height:1px;background:currentColor;transition:transform .2s}
.public-menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.public-menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.public-header-actions{display:flex;align-items:center;gap:28px}
.public-header .studio-language{display:flex;align-items:center;gap:2px;margin:0;position:static;background:none;border:0;box-shadow:none;padding:0}
.public-header .studio-language a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;font:500 11px Manrope,Arial,sans-serif;text-decoration:none;color:#23221f;border:0;background:transparent;padding:0;border-radius:8px}
.public-header .studio-language a[aria-current=page]{font-weight:700}
.public-header .public-contact{min-height:44px;display:inline-flex;align-items:center;padding:0;font:500 13px Manrope,Arial,sans-serif;text-decoration:none;border-bottom:1px solid transparent;color:#23221f}
.public-header .public-contact:hover{border-color:#23221f}
.public-header .public-nav{position:absolute;left:0;top:calc(100% + 12px);display:grid;width:min(350px,100%);padding:18px;gap:0;background:#23221f;color:#fafaf9;border-radius:20px;box-shadow:0 12px 30px #23221f26;z-index:81}
.public-header .public-nav a{display:flex;align-items:center;min-height:48px;font:500 18px/1.4 Manrope,Arial,sans-serif;padding:10px 12px;color:#fafaf9;text-decoration:none;border:0;background:none;border-radius:8px}
.public-header .public-nav a:hover{background:#ffffff12}
.studio-public :focus-visible{outline:2px solid currentColor;outline-offset:4px}
.studio-public .public-footer{display:block;background:#23221f;color:#fafaf9;border:0;padding:64px 0 28px;margin:0;font:400 13px/1.7 Manrope,Arial,sans-serif}
.public-footer .public-footer-top{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);gap:60px;margin-bottom:52px}
.public-footer .public-footer-mark{align-self:start;text-decoration:none;color:#fafaf9;font-size:52px;font-weight:600;letter-spacing:-3px;line-height:1}
.public-footer-mark span{font-size:18px;letter-spacing:-.5px;font-weight:500}
.public-footer .public-footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 24px}
.public-footer a{color:#fafaf9;text-underline-offset:4px;display:inline;min-height:0;font-weight:400}
.public-footer .public-footer-links a{display:flex;align-items:center;min-height:34px;text-decoration:none;letter-spacing:0}
.public-footer .public-footer-links a:hover{text-decoration:underline}
.public-footer .public-footer-legal{border-top:1px solid #ffffff24;padding-top:22px;display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;font-size:10px;line-height:1.8;color:#fafaf9b3}
.studio-public .intake-dialog{font-family:Manrope,Arial,sans-serif;color:#23221f;background:#fafaf9;--paper:#fafaf9;--ink:#23221f;--accent:#23221f}
.studio-public .intake-dialog :is(h2,h3,p,button,input,textarea){transform:none;letter-spacing:inherit}
body.studio-public .intake-dialog :is(section,header){padding:0;margin:0;background:transparent;color:#23221f;border:0;box-shadow:none}
body.studio-public .intake-dialog .intake-field{margin-bottom:20px}
body.studio-public .intake-dialog .intake-heading h2{font-size:clamp(28px,3.4vw,38px);font-weight:500;line-height:1.15;letter-spacing:-.055em;margin:0}
@media(max-width:700px){.studio-public .public-header{padding:14px 0}.public-wrap{width:calc(100% - 36px)}.public-menu-pill{gap:12px;padding:8px 9px 8px 15px;border-radius:24px}.public-brand .brand-jp{font-size:26px}.public-brand .brand-studio{font-size:10px}.public-header-actions{gap:0}.public-header .public-contact{display:none}.public-header .studio-language a{width:38px}.public-footer .public-footer-top{grid-template-columns:1fr;gap:30px;margin-bottom:30px}.public-footer .public-footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}.public-footer .public-footer-legal{display:block}.public-footer-legal span{display:block;margin-top:6px}}
@media(prefers-reduced-motion:reduce){.public-menu-toggle span{transition:none}}
