@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/fraunces-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/fonts/fraunces-latin-wght-italic.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Georgia);size-adjust:106%;ascent-override:93%;descent-override:27%;line-gap-override:0%}:root{--bg-base:#faf6f0;--bg-raised:#fff;--bg-inset:#f1ebe3;--ink-hi:#211d19;--ink-mid:#5b544c;--ink-lo:#6e655a;--accent-ember:#b4441f;--accent-ember-deep:#8f3417;--accent-ash:#a9a29a;--line:#e4dcd1;--font-heading-en:"Fraunces", "Fraunces Fallback", ui-serif, Georgia, "Times New Roman", serif;--font-heading-ja:"Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-body:"Zen Old Mincho", system-ui, -apple-system, "Hiragino Sans", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--t-display:4.5rem;--t-display-en:2.75rem;--t-h1:2.5rem;--t-h2:2.25rem;--t-h3:1.75rem;--t-h4:1.375rem;--t-lead:1.125rem;--t-body:1.0625rem;--t-body-sm:1rem;--t-caption:.8125rem;--t-label:.8125rem;--s-0:0;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:80px;--s-9:128px;--s-10:160px;--s-11:200px;--s-gutter:120px;--s-gutter-mobile:24px;--mw-lp:1200px;--mw-legal:960px;--mw-privacy:720px;--mw-contact:640px;--transition-fast:.2s ease-out}@media (width<=768px){:root{--t-display:2.5rem;--t-display-en:1.5rem;--t-h1:1.75rem;--t-h2:1.5rem;--t-h3:1.5rem;--t-h4:1.25rem;--t-lead:1.0625rem;--t-body:1rem;--t-body-sm:.9375rem;--t-label:.75rem}}*,:before,:after{box-sizing:border-box}html{text-size-adjust:100%;overflow-x:hidden}body{background-color:var(--bg-base);color:var(--ink-hi);font-family:var(--font-body);font-size:var(--t-body);letter-spacing:.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-weight:400;line-height:1.9;overflow-x:hidden}h1,h2,h3,h4,h5,h6,p,figure,ul,ol{margin:0;padding:0}ul,ol{list-style:none}img,picture,canvas,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}:focus{outline:none}:focus-visible{outline:2px solid var(--accent-ember);outline-offset:3px;border-radius:2px}.t-label{font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mid);font-weight:500;line-height:1.4}.t-caption{font-size:var(--t-caption);letter-spacing:.02em;color:var(--ink-lo);line-height:1.65}.t-lead{font-size:var(--t-lead);letter-spacing:.01em;color:var(--ink-mid);line-height:1.85}.container{max-width:var(--mw-lp);padding-left:var(--s-gutter);padding-right:var(--s-gutter);margin:0 auto}.container-legal{max-width:var(--mw-legal);padding-left:var(--s-gutter);padding-right:var(--s-gutter);margin:0 auto}.container-privacy{max-width:var(--mw-privacy);padding-left:var(--s-gutter);padding-right:var(--s-gutter);margin:0 auto}.container-contact{max-width:var(--mw-contact);padding-left:var(--s-gutter);padding-right:var(--s-gutter);margin:0 auto}@media (width<=1024px){.container,.container-legal,.container-privacy,.container-contact{padding-left:var(--s-gutter-mobile);padding-right:var(--s-gutter-mobile)}}.nav{z-index:100;-webkit-backdrop-filter:saturate(1.1)blur(6px);border-bottom:1px solid var(--line);background:#faf6f0eb;height:72px;position:sticky;top:0}.nav__inner{justify-content:space-between;align-items:center;gap:var(--s-5);height:100%;display:flex}.nav__brand{font-family:var(--font-heading-en);letter-spacing:.02em;color:var(--ink-hi);min-height:44px;padding:var(--s-2) var(--s-1);align-items:center;font-size:1.25rem;font-weight:500;line-height:1;display:inline-flex}.nav__links{gap:var(--s-6);display:flex}.nav__link{font-family:var(--font-body);color:var(--ink-mid);min-height:44px;padding:var(--s-2) var(--s-1);transition:color var(--transition-fast);align-items:center;font-size:.875rem;line-height:1.4;display:inline-flex}.nav__link:hover{color:var(--accent-ember)}@media (width<=768px){.nav{height:56px}.nav__brand{font-size:1.0625rem}.nav__links{gap:var(--s-4)}.nav__link{font-size:.8125rem}}.hero{min-height:100dvh;padding-top:var(--s-8);padding-bottom:var(--s-8);align-items:center;display:flex;position:relative;overflow:hidden}@media (width<=768px){.hero{min-height:640px}}.ember-canvas{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero__inner{z-index:1;width:100%;position:relative}.hero__content{max-width:66%}@media (width<=1024px){.hero__content{max-width:100%}}.hero__eyebrow{margin-bottom:var(--s-6);padding-bottom:var(--s-2);border-bottom:4px solid var(--accent-ember);display:inline-block}.hero__h1{font-family:var(--font-heading-en);font-size:var(--t-display);letter-spacing:.01em;color:var(--ink-hi);margin-bottom:var(--s-5);font-weight:500;line-height:1.15}.hero__h1-en{font-family:var(--font-heading-en);font-size:var(--t-display-en);letter-spacing:-.01em;color:var(--ink-mid);opacity:.72;margin-bottom:var(--s-6);font-style:italic;font-weight:400;line-height:1.2}.hero__sub{font-family:var(--font-body);font-size:var(--t-lead);color:var(--ink-mid);max-width:46em;margin-bottom:var(--s-7);line-height:1.9}.hero__cta{gap:var(--s-4);flex-wrap:wrap;display:flex}@media (width<=768px){.hero__cta{flex-direction:column;align-items:stretch}}.btn{justify-content:center;align-items:center;gap:var(--s-2);border:1px solid var(--ink-hi);min-height:44px;color:var(--ink-hi);font-family:var(--font-body);font-size:var(--t-body-sm);letter-spacing:.02em;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;padding:14px 28px;line-height:1;display:inline-flex}.btn:hover{color:var(--accent-ember);border-color:var(--accent-ember)}.section{padding-top:var(--s-10);padding-bottom:var(--s-10)}@media (width<=768px){.section{padding-top:var(--s-9);padding-bottom:var(--s-9)}}.section-contact{padding-top:var(--s-11);padding-bottom:var(--s-11)}.section-heading{margin-bottom:var(--s-8)}.section-heading__label{margin-bottom:var(--s-5);display:inline-block}.section-heading__label-tick{color:var(--accent-ember);margin-right:.4em}.section-heading__h2{font-family:var(--font-heading-ja);font-size:var(--t-h2);letter-spacing:.005em;color:var(--ink-hi);font-weight:500;line-height:1.45}.studio__grid{gap:var(--s-8);grid-template-columns:60% 40%;align-items:start;display:grid}@media (width<=1024px){.studio__grid{gap:var(--s-7);grid-template-columns:1fr}}.studio__text{max-width:34em}.studio__text p{margin-bottom:var(--s-5)}.studio__text p:last-child{margin-bottom:0}.studio__illust{display:block}.studio__illust img{aspect-ratio:4/5;object-fit:cover;opacity:.72;mix-blend-mode:multiply;width:100%;height:auto}.studio__caption{margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--accent-ash);max-width:32ch}.studio__caption-name{font-family:var(--font-mono);font-size:var(--t-caption);letter-spacing:.08em;color:var(--ink-lo)}.approach__grid{grid-template-columns:30% 70%;align-items:start;gap:96px;display:grid}@media (width<=1024px){.approach__grid{gap:var(--s-6);grid-template-columns:1fr}}.approach__heading{position:sticky;top:96px}@media (width<=1024px){.approach__heading{position:static}}.approach__heading-h2{font-family:var(--font-heading-ja);color:var(--ink-hi);font-size:2rem;font-weight:500;line-height:1.5}.approach__entries>*+*{margin-top:var(--s-7);padding-top:var(--s-7);border-top:1px solid var(--line)}.approach__entry-num{font-family:var(--font-heading-en);color:var(--ink-mid);margin-right:.4em;font-size:1.5rem;font-style:italic}.approach__entry-num-tick{color:var(--accent-ember);margin-right:.4em}.approach__entry-h3{font-family:var(--font-heading-ja);font-size:var(--t-h3);color:var(--ink-hi);margin-bottom:var(--s-4);font-weight:500;line-height:1.4}.approach__entry-body{color:var(--ink-mid);max-width:42em}.works__label{gap:var(--s-4);margin-bottom:var(--s-8);align-items:baseline;display:flex}.works__grid{gap:var(--s-6);grid-template-columns:1fr;display:grid}@media (width>=1024px){.works__grid{grid-template-columns:55% 45%;gap:40px 0}.works__card--1{grid-area:1/1/2/2}.works__card--2{grid-area:2/2/3/3;margin-top:80px}.works__card--3{grid-area:3/1/4/2;margin-top:40px}}.works__card{border:1px solid var(--line);padding:var(--s-5);background:var(--bg-raised)}.works__card-h3{font-family:var(--font-heading-ja);font-size:var(--t-h4);color:var(--ink-hi);margin-bottom:var(--s-4);font-weight:500;line-height:1.5}.works__card-body{font-size:var(--t-body-sm);color:var(--ink-mid);margin-bottom:var(--s-4);line-height:1.9}.works__tags{gap:var(--s-2);flex-wrap:wrap;display:flex}.tag{padding:var(--s-1) var(--s-3);border:1px solid var(--line);font-family:var(--font-mono);font-size:var(--t-caption);letter-spacing:.08em;color:var(--ink-mid);align-items:center;display:inline-flex}.works__note{margin-top:var(--s-6);padding-top:var(--s-4);border-top:1px solid var(--accent-ash)}.writing__grid{gap:var(--s-8);grid-template-columns:70% 30%;align-items:start;display:grid}@media (width<=1024px){.writing__grid{gap:var(--s-7);grid-template-columns:1fr}}.writing__featured-label{margin-bottom:var(--s-5);color:var(--accent-ember);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;font-size:.75rem;display:inline-block}.writing__featured-h3{font-family:var(--font-heading-ja);font-size:var(--t-h3);color:var(--ink-hi);margin-bottom:var(--s-5);font-weight:500;line-height:1.4}.writing__featured-body{color:var(--ink-mid);margin-bottom:var(--s-5);max-width:42em}.writing__intro{color:var(--ink-mid);margin-bottom:var(--s-8);max-width:42em}.follow-list__label{margin-bottom:var(--s-4);display:block}.follow-list__item{padding:var(--s-3) 0;min-height:44px;color:var(--ink-hi);transition:color var(--transition-fast);font-size:.9375rem;line-height:1.9;display:block}.follow-list__item:hover{color:var(--accent-ember)}.follow-list__arrow{color:var(--accent-ember);margin-right:var(--s-2)}.team__grid{grid-template-columns:40% 60%;align-items:start;gap:96px;display:grid}@media (width<=1024px){.team__grid{gap:var(--s-6);grid-template-columns:1fr}}.team__heading-h2{font-family:var(--font-heading-ja);color:var(--ink-hi);font-size:2.25rem;font-weight:500;line-height:1.5}.team__entry+.team__entry{margin-top:var(--s-6);padding-top:var(--s-6);border-top:1px solid var(--accent-ash)}.team__entry-name{font-family:var(--font-heading-ja);font-size:var(--t-h4);color:var(--ink-hi);margin-bottom:var(--s-2);font-weight:500;line-height:1.5}.team__entry-role{margin-bottom:var(--s-4);display:block}.team__entry-body{color:var(--ink-mid);max-width:40em}.contact{text-align:center}.contact__lead{font-family:var(--font-heading-ja);color:var(--ink-hi);margin-bottom:var(--s-7);font-size:2rem;font-weight:500;line-height:1.6}@media (width<=768px){.contact__lead{font-size:1.375rem}}.contact__rows{gap:var(--s-4);flex-direction:column;align-items:center;display:flex}.contact__row{align-items:baseline;gap:var(--s-4);min-height:44px;padding:var(--s-2) 0;font-size:1.125rem;display:inline-flex}.contact__row-label{font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-lo);text-align:left;min-width:4em}.contact__row-value{color:var(--ink-hi);border-bottom:1px solid var(--ink-hi);min-height:44px;transition:color var(--transition-fast), border-color var(--transition-fast);align-items:center;padding-bottom:2px;display:inline-flex}.contact__row-value:hover{color:var(--accent-ember);border-color:var(--accent-ember)}.contact__arrow{color:var(--accent-ember);margin-left:var(--s-2)}.contact__hair{background:var(--accent-ember);width:48ch;max-width:100%;height:1px;margin:var(--s-8) auto 0;opacity:.6;display:block}.footer{border-top:1px solid var(--line);padding-top:96px;padding-bottom:96px}.footer__inner{gap:var(--s-6);grid-template-columns:1fr auto auto;align-items:baseline;display:grid}@media (width<=768px){.footer__inner{gap:var(--s-5);grid-template-columns:1fr}}.footer__brand{font-family:var(--font-heading-en);letter-spacing:.02em;color:var(--ink-hi);font-size:1.25rem;font-weight:500}.footer__copy{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-lo);margin-top:var(--s-2);font-size:.75rem}.footer__links{gap:var(--s-5);display:flex}.footer__link{color:var(--ink-lo);min-height:44px;padding:var(--s-2) 0;transition:color var(--transition-fast);align-items:center;font-size:.8125rem;display:inline-flex}.footer__link:hover{color:var(--accent-ember)}.footer__meta{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-lo);font-size:.75rem}.legal__title{margin-bottom:var(--s-5)}.legal__h1{font-family:var(--font-heading-ja);font-size:var(--t-h1);color:var(--ink-hi);margin-bottom:var(--s-6);font-weight:500;line-height:1.4}.legal__hair{background:var(--accent-ash);height:1px;margin-bottom:var(--s-8)}.legal-table{border-collapse:collapse;width:100%}.legal-table th,.legal-table td{text-align:left;padding:var(--s-5) var(--s-4);border-bottom:1px solid var(--line);vertical-align:top;font-weight:400}.legal-table th{width:30%;font-family:var(--font-mono);font-size:var(--t-caption);letter-spacing:.08em;color:var(--ink-mid)}.legal-table td{color:var(--ink-hi);font-size:var(--t-body);line-height:1.85}@media (width<=768px){.legal-table,.legal-table thead,.legal-table tbody,.legal-table tr,.legal-table th,.legal-table td{width:100%;display:block}.legal-table tr{border-bottom:1px solid var(--line);padding:var(--s-4) 0}.legal-table th,.legal-table td{padding:var(--s-2) 0;border-bottom:0}.legal-table th{font-size:.75rem}.legal-table td{font-size:.9375rem;line-height:1.85}}.legal__note{margin-top:var(--s-6);color:var(--ink-lo);font-size:var(--t-caption);line-height:1.65}.privacy__h1{font-family:var(--font-heading-ja);font-size:var(--t-h1);color:var(--ink-hi);margin-bottom:var(--s-6);font-weight:500;line-height:1.4}.privacy__hair{background:var(--accent-ash);height:1px;margin-bottom:var(--s-7)}.privacy__body p{font-size:var(--t-body);color:var(--ink-hi);margin-bottom:var(--s-6);max-width:100%;line-height:1.95}@media (width<=768px){.privacy__body p{font-size:1rem;line-height:1.9}}.js-ready [data-reveal]{opacity:0;will-change:opacity, transform;transform:translateY(24px)}@media (prefers-reduced-motion:reduce){.js-ready [data-reveal]{opacity:1!important;transition:none!important;transform:none!important}}
