@font-face{font-family:Gambetta;font-weight:600;font-display:swap;src:url(/home/Gambetta-Semibold-rBXdkVJp.woff2)format("woff2")}@font-face{font-family:Gambetta;font-weight:600;font-style:italic;font-display:swap;src:url(/home/Gambetta-SemiboldItalic-BA94Nm0M.woff2)format("woff2")}@font-face{font-family:Satoshi;font-weight:300 900;font-display:swap;src:url(/home/Satoshi-Variable-CFg-z2ne.woff2)format("woff2")}:root{--ground:#ecebe7;--paper:#f6f5f2;--ink:#141414;--ink-2:#141414bd;--ink-3:#1414146b;--blue:#2f4bf5;--on-blue:#f6f5f2;--serif:Gambetta, Georgia, serif;--sans:Satoshi, system-ui, sans-serif;--gutter:clamp(20px, 3.4vw, 48px);--radius:clamp(20px, 2vw, 28px);--ease:cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box;margin:0}html{background:var(--ground);color:var(--ink);-webkit-font-smoothing:antialiased}body{font-family:var(--sans);background:var(--ground);line-height:1.5}::selection{background:var(--blue);color:var(--on-blue)}img,svg{display:block}:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.top{z-index:5;padding:calc(var(--gutter) * .8) var(--gutter);position:absolute;inset:0 0 auto}.top .mark{font:600 24px / 1 var(--serif);letter-spacing:-.01em;color:var(--ink);text-decoration:none}.hero{height:max(100svh,700px);position:relative;overflow:clip}.word{left:var(--gutter);right:var(--gutter);top:calc(var(--gutter) * 2.4);font-family:var(--serif);letter-spacing:-.045em;color:var(--blue);white-space:nowrap;font-size:12.4vw;font-weight:600;line-height:.8;position:absolute}.word span{display:inline-block}.word span+span{margin-left:.2em}.figure{display:contents}.arch{background:var(--blue);border-top-left-radius:100%;width:70%;height:66%;position:absolute;bottom:0;right:0}.photo{width:62%;height:auto;position:absolute;bottom:0;right:0}.side{left:var(--gutter);top:var(--side-top,40%);gap:28px;width:min(31vw,460px);display:grid;position:absolute}.sub{font:italic 600 clamp(34px, 3.4vw, 56px) / 1 var(--serif);letter-spacing:-.025em;color:var(--blue);text-wrap:balance}.lede{max-width:30ch;color:var(--ink-2);text-wrap:pretty;font-size:clamp(19px,1.65vw,24px);line-height:1.45}.cta{background:var(--ink);height:60px;color:var(--paper);font:500 17px / 1 var(--sans);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:14px;padding:0 10px 0 28px;display:inline-flex}.cta .dot{background:var(--blue);width:40px;height:40px;color:var(--on-blue);transition:transform .35s var(--ease);border-radius:50%;place-items:center;display:grid}.cta:hover .dot{transform:rotate(-45deg)}.cta svg{width:16px;height:16px}.cta:disabled{opacity:.5;cursor:progress}.projects{padding:clamp(72px, 9vw, 128px) var(--gutter) clamp(40px, 5vw, 72px)}.projects h2{font:600 clamp(30px, 2.8vw, 44px) / 1.05 var(--serif);letter-spacing:-.02em;margin-bottom:clamp(24px,2.6vw,40px)}.grid{--mark:clamp(104px, 8.8vw, 136px);grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.2vw,20px);display:grid}.card{border-radius:var(--radius);background:var(--paper);min-height:clamp(340px,27vw,400px);color:var(--ink);transition:transform .4s var(--ease), box-shadow .4s var(--ease);flex-direction:column;padding:clamp(24px,2.2vw,32px);text-decoration:none;display:flex;position:relative}a.card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -22px #1414144d}.card .head{justify-content:space-between;align-items:center;min-height:36px;display:flex}.card .via{letter-spacing:.01em;color:var(--ink-2);font-size:13px;font-weight:500}.card .id{flex:1;place-items:center;padding:20px 0 28px;display:grid}.card h3{font:600 clamp(20px, 1.6vw, 24px) / 1.15 var(--serif);letter-spacing:-.01em}.card .what{color:var(--ink-2);margin-top:4px;font-size:15px;line-height:1.35}.card .arrow{border:1px solid;border-radius:50%;place-items:center;width:36px;height:36px;transition:background .3s,color .3s;display:grid}.card .arrow svg{width:14px;height:14px}.c-rasanara .id svg{height:var(--mark);width:auto;color:var(--blue)}.c-rasanara .id .on{stroke:var(--paper)}.c-rasanara .arrow{color:var(--blue)}.c-rasanara:hover .arrow{background:var(--blue);border-color:var(--blue);color:var(--on-blue)}.c-sto .wm{font:800 calc(var(--mark) * .72) / .9 var(--sans);letter-spacing:-.04em;color:var(--blue)}.c-sto .tl{font:500 calc(var(--mark) * .105) / 1 var(--sans);letter-spacing:-.01em;color:var(--ink-2);margin-top:.6em}.c-sto .arrow{color:var(--blue)}.c-sto:hover .arrow{background:var(--blue);border-color:var(--blue);color:var(--on-blue)}.c-coping .id{padding-bottom:20px}.cc-mark{width:var(--mark);aspect-ratio:1;position:relative}.cc-mark b{background:var(--blue);color:var(--on-blue);font:700 calc(var(--mark) * .1) / 1.25 var(--sans);letter-spacing:.2em;text-align:center;text-indent:.2em;border-radius:50%;place-content:center;display:grid;position:absolute;inset:0}.cc-mark b small{letter-spacing:.3em;font-size:.62em}.c-coping .arrow{color:var(--blue)}.c-coping:hover .arrow{background:var(--blue);border-color:var(--blue);color:var(--on-blue)}.soon{color:var(--ink-3);background:0 0;border:1px solid #14141424}.soon .via{border:1px dashed #1414144d;border-radius:999px;padding:7px 12px}.soon h3,.soon .what{color:#1414148c}.soon .id span{font:600 calc(var(--mark) * .36) / 1 var(--serif);letter-spacing:-.03em;color:#2f4bf54d;text-align:center;text-wrap:balance}.foot{padding:0 var(--gutter) calc(var(--gutter) * .8);color:var(--ink-3);justify-content:space-between;font-size:13px;display:flex}dialog{background:var(--paper);width:min(520px,100vw);max-width:none;height:100dvh;max-height:none;color:var(--ink);border:0;margin:0 0 0 auto;padding:clamp(24px,3vw,44px);box-shadow:-30px 0 80px -30px #14141459}dialog::backdrop{background:#14141459}dialog h2{font:600 40px / 1 var(--serif);letter-spacing:-.03em;color:var(--blue);margin:40px 0 12px}dialog .note{color:var(--ink-2);margin-bottom:32px}dialog .close{width:40px;height:40px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #14141424;border-radius:50%;place-items:center;display:grid;position:absolute;top:20px;right:20px}dialog .close svg{width:14px;height:14px}label{margin-bottom:8px;font-size:14px;font-weight:500;display:block}input,textarea{background:var(--ground);width:100%;color:var(--ink);font:400 17px / 1.4 var(--sans);caret-color:var(--blue);border:1px solid #0000;border-radius:14px;margin-bottom:20px;padding:14px 16px}input:focus,textarea:focus{border-color:var(--blue);background:#fff;outline:none}textarea{resize:vertical;min-height:160px}.status{min-height:1.5em;color:var(--ink-2);margin-top:16px;font-size:15px}@media (width<=1100px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.hero{height:auto;padding-top:84px}.word{padding:0 var(--gutter);position:relative;inset:auto}.word span{width:max-content;display:block}.word span+span{margin-left:0}.figure{margin-top:-14vw;display:block;position:relative}.arch{width:82%;height:70%}.photo{width:100%;position:relative}.side{width:auto;padding:32px var(--gutter) 0;gap:22px;position:static}.lede{font-size:19px}.grid{--mark:28vw;grid-template-columns:1fr}.card{min-height:0}.card .id{padding:28px 0 32px}.foot{flex-direction:column;gap:4px}}
