@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-full-italic.BHALq22K.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-full-italic.B8-t4Nou.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-full-italic.D2JnYqd-.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #14120f;--ink-2: #1a1713;--paper: #f3ecdd;--paper-2: #e7ddc8;--soft-on-ink: #a39a89;--soft-on-paper: #5f574a;--dim-on-ink: #6f6757;--line-ink: #3a342b;--line-paper: #14120f;--accent: #b8420f;--glow: #f4b95a;--serif: "Fraunces Variable", Georgia, serif;--sans: "DM Sans Variable", system-ui, sans-serif;--margin: clamp(1.25rem, 4.4vw, 4rem);--gap: clamp(1rem, 1.7vw, 1.5rem);--max: 1600px;--ease: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:4.5rem;background:var(--ink)}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-optical-sizing:auto;font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}img,svg,canvas{display:block;max-width:100%}a{color:inherit}h1,h2,h3,p,ul,ol{margin:0;padding:0}ul,ol{list-style:none}button{font:inherit;color:inherit}h1,h2,h3{font-family:var(--serif);font-optical-sizing:auto;font-weight:300;font-variation-settings:"SOFT" 100,"WONK" 0;letter-spacing:-.02em;line-height:1;text-wrap:balance}p{text-wrap:pretty}:focus-visible{outline:2px solid var(--glow);outline-offset:4px;border-radius:2px}.lit-room :focus-visible{outline-color:var(--accent)}.sec{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);max-width:var(--max);margin-inline:auto;padding-inline:var(--margin)}.rail{grid-column:1 / 4}.main{grid-column:4 / 13;min-width:0}@media(max-width:860px){.sec{display:block}.rail{margin-bottom:1.5rem}}.idx{font-size:.8125rem;font-weight:500;letter-spacing:.08em;font-variant-numeric:tabular-nums;color:var(--soft-on-ink)}.lit-room .idx{color:var(--soft-on-paper)}.t-display{font-size:clamp(3.1rem,9.2vw,8.25rem);line-height:.95;letter-spacing:-.02em}.t-h2{font-size:clamp(2.4rem,5.6vw,5.5rem);line-height:1;letter-spacing:-.018em}.t-h3{font-size:clamp(1.6rem,2.8vw,2.5rem);font-weight:400;line-height:1.08;letter-spacing:-.012em}.lede{font-size:clamp(1.1rem,1.55vw,1.375rem);line-height:1.5;color:var(--soft-on-ink);max-width:38em}.lit-room .lede{color:var(--soft-on-paper)}.room{position:relative;padding-block:clamp(5rem,11vw,9.5rem)}.lit-room{background:var(--paper);color:var(--ink)}.link{display:inline-flex;align-items:center;gap:.55rem;padding:0 0 .3rem;background:none;border:0;border-bottom:1px solid var(--glow);color:var(--paper);font-weight:500;font-size:1.0625rem;text-decoration:none;cursor:pointer;transition:gap .35s var(--ease),border-color .25s}.link svg{width:1.05rem;height:1.05rem;transition:transform .35s var(--ease)}.link:hover{gap:.85rem}.link.quiet{border-color:transparent;color:var(--soft-on-ink);font-weight:400}.link.quiet:hover{color:var(--paper);border-color:var(--line-ink)}.lit-room .link{color:var(--ink);border-color:var(--accent)}.nav{position:fixed;inset:0 0 auto;z-index:30;transition:transform .5s var(--ease),background .3s,border-color .3s;border-bottom:1px solid transparent}.nav.scrolled{background:color-mix(in srgb,var(--ink) 92%,transparent);border-color:var(--line-ink)}.nav.hide{transform:translateY(-100%)}.nav .bar{display:flex;align-items:center;justify-content:space-between;max-width:var(--max);margin-inline:auto;height:4.5rem;padding-inline:var(--margin)}.brand{text-decoration:none;display:inline-flex;align-items:center;gap:.65rem;line-height:1}.brand .mark{width:1.45rem;height:1.45rem;flex:none}.brand .wm{font-family:var(--serif);font-size:1.65rem;font-weight:300;font-variation-settings:"SOFT" 100,"WONK" 0;letter-spacing:-.04em}.brand .wm-sub{font-size:.6875rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--soft-on-ink)}.nav ul{display:flex;align-items:center;gap:2.25rem;font-size:.95rem}.nav ul a{text-decoration:none;color:var(--soft-on-ink);transition:color .2s}.nav ul a:hover{color:var(--paper)}.nav ul a.cta{color:var(--glow);font-weight:500;border-bottom:1px solid var(--glow);padding-bottom:.2rem}@media(max-width:760px){.nav ul li:not(:last-child){display:none}.brand .wm-sub{display:none}}.hero{--floor: 6.5rem;position:relative;min-height:100svh;display:grid;grid-template-rows:1fr auto;overflow:hidden;--p: 0}.hero-art{position:absolute;inset:0;pointer-events:none}.arch{--w: clamp(15rem, 26vw, 25rem);position:absolute;right:var(--margin);bottom:var(--floor);width:var(--w);height:calc(var(--w) * 1.4);border-radius:calc(var(--w) / 2) calc(var(--w) / 2) 0 0;background:radial-gradient(ellipse 70% 62% at 50% 38%,#fff0cf,#f4b95a 38%,#8a4a1a);transform:translateY(calc(var(--p) * 6vh)) scale(calc(1 + var(--p) * .25));transform-origin:50% 100%}.arch:before{content:"";position:absolute;inset:-1.5rem -1.5rem 0;border:1.5px solid rgba(243,236,221,.22);border-bottom:0;border-radius:calc(var(--w) / 2 + 1.5rem) calc(var(--w) / 2 + 1.5rem) 0 0}.arch:after{content:"";position:absolute;left:50%;top:32%;width:190%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(244,185,90,.2),transparent 62%);opacity:calc(.55 + var(--p) * .45);z-index:-1}.arch-gl{position:absolute;max-width:none;left:calc(var(--w) * -.35);top:calc(var(--w) * -.35);width:calc(var(--w) * 1.7);height:calc(var(--w) * 1.75);pointer-events:none;opacity:0;animation:glin 1.2s var(--ease) .1s forwards}.arch.gl-done{background:none}.arch.gl:after{opacity:calc(.25 + var(--p) * .3)}@keyframes glin{to{opacity:1}}.floor{position:absolute;left:0;right:0;bottom:var(--floor);height:1px;background:var(--line-ink)}.hero>.sec{width:100%}.hero-copy{align-self:end;padding-bottom:calc(var(--floor) + 2.75rem);position:relative}.hero h1{font-size:clamp(3.3rem,8vw,8rem);line-height:.95;letter-spacing:-.022em;margin-bottom:2.25rem}.hero h1 .line{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}.hero h1 .line>span{display:block}.hero h1 .lit{color:var(--glow)}.js .hero h1 .line>span{transform:translateY(105%);animation:rise 1.1s var(--ease) forwards;animation-delay:calc(var(--i) * .11s + .12s)}@keyframes rise{to{transform:none}}.hero .lede{margin-bottom:2rem}.hero .actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2.25rem}.hero-foot{position:relative;display:flex;justify-content:space-between;padding-block:1.9rem 2rem}.hero-foot.sec{max-width:var(--max)}.js .fade{opacity:0;animation:fadeup 1s var(--ease) forwards;animation-delay:var(--d, .6s)}@keyframes fadeup{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.hero-copy .t-copy{grid-column:1 / 9}@media(min-width:861px){.hero-copy .lede{max-width:30em}}@media(max-width:860px){.arch{--w: 46vw;right:calc(var(--margin) + 1.5rem);bottom:auto;top:6.5rem}.floor{display:none}.hero{min-height:100svh}.hero-copy{padding-top:calc(6.5rem + 46vw * 1.4 + 1.5rem);padding-bottom:2rem}.hero h1{font-size:clamp(2.9rem,13vw,4.6rem)}}.js .reveal{opacity:0;transform:translateY(14px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d, 0ms)}.js .reveal.in{opacity:1;transform:none}.preview .t-h2{max-width:12em}.preview .lede{margin-top:1.75rem}.compare{margin:clamp(2.5rem,5vw,4rem) 0 0}.compare-frame{position:relative;width:100%;height:380px;overflow:hidden;background:#fff;user-select:none;--pos: 50%;border:1px solid var(--line-paper)}@media(min-width:800px){.compare-frame{height:auto;aspect-ratio:16 / 8.2}}.compare-frame>.layer{position:absolute;inset:0;overflow:hidden}.compare-frame>.before{clip-path:inset(0 calc(100% - var(--pos)) 0 0)}.cmp-label{position:absolute;top:.9rem;z-index:3;font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .6rem;background:var(--ink);color:var(--paper)}.cmp-label.l{left:.9rem}.cmp-label.r{right:.9rem;background:var(--accent)}.handle{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:var(--ink);z-index:4;transform:translate(-1px);pointer-events:none}.handle:after{content:"";position:absolute;top:50%;left:50%;width:2.75rem;height:2.75rem;margin:-1.375rem;border-radius:50%;background:var(--ink);background-image:linear-gradient(var(--paper),var(--paper)),linear-gradient(var(--paper),var(--paper));background-size:.7rem 1.5px,.7rem 1.5px;background-repeat:no-repeat;background-position:50% 42%,50% 58%}.compare-frame input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:5;margin:0}.compare-frame:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.compare figcaption{margin-top:1rem;font-size:.875rem;color:var(--soft-on-paper)}.mock-old{font-family:Times New Roman,serif;background:#eeeef8;color:#1a1a6e;padding:1rem 1.25rem;height:100%}.mock-old .bar-o{background:#1a1a6e;color:#ffe94d;padding:.4rem;text-align:center;font-weight:700;font-size:.85rem}.mock-old h4{margin:.7rem 0 .3rem;font-size:1.5rem;color:#b00;text-decoration:underline}.mock-old p{font-size:.8rem;line-height:1.25;margin:0 0 .4rem}.mock-old .marq{background:#ffe94d;color:#b00;font-size:.75rem;padding:.2rem .4rem;margin:.5rem 0;font-weight:700}.mock-old .grid-o{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.mock-old .grid-o span{background:#bbb;border:2px outset #eee;font-size:.7rem;padding:.2rem;text-align:center}.mock-new{background:#fbf6ee;color:#1c1a16;display:grid;grid-template-columns:1.1fr 1fr;height:100%;font-family:var(--sans)}.mock-new .copy-m{padding:clamp(1rem,3vw,2.6rem);display:flex;flex-direction:column;justify-content:center;gap:.8rem}.mock-new small{color:#6b5f4f;font-size:.78rem}.mock-new h4{font-family:var(--serif);font-size:clamp(1.4rem,3.4vw,2.8rem);line-height:1.05;margin:0;font-weight:300;font-variation-settings:"SOFT" 100,"WONK" 0}.mock-new .cta-m{align-self:flex-start;background:#2f5d46;color:#fff;padding:.6rem 1.1rem;font-size:.82rem;font-weight:600}.mock-new .pic{background:radial-gradient(circle at 30% 30%,#f1c08a,#c9733d 55%,#8a3f1f)}@media(max-width:560px){.mock-new{grid-template-columns:1fr;grid-template-rows:auto 7rem}.mock-new .pic{order:2}}.work .head h2{max-width:11em}.work .head .lede{margin-top:1.75rem}.index{margin-top:clamp(3rem,6vw,5rem);border-bottom:1px solid var(--line-paper)}.index details{border-top:1px solid var(--line-paper)}.index summary{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:center;padding-block:clamp(1.2rem,2.2vw,1.9rem);cursor:pointer;list-style:none}.index summary::-webkit-details-marker{display:none}.index .n{grid-column:1 / 4}.index .name{grid-column:4 / 11;font-family:var(--serif);font-variation-settings:"SOFT" 100,"WONK" 0;font-weight:300;font-size:clamp(2.1rem,4.6vw,4.25rem);line-height:1.02;letter-spacing:-.018em;color:var(--soft-on-paper);transition:color .3s}.index .cat{grid-column:11 / 13;justify-self:end;display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:var(--soft-on-paper)}.index .cat svg{width:1.2rem;height:1.2rem;transition:transform .4s var(--ease)}.index summary:hover .name,.index details[open] .name{color:var(--ink)}.index details[open] .name{font-weight:400}.index details[open] .cat svg{transform:rotate(90deg);color:var(--accent)}.panel{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);padding-bottom:clamp(2.5rem,5vw,4rem)}.panel .copy{grid-column:4 / 13;display:grid;gap:1.75rem;min-width:0}.panel .copy>p{font-size:clamp(1.1rem,1.5vw,1.3rem);color:var(--soft-on-paper);max-width:34em;line-height:1.5}.panel .link{justify-self:start}.panel .cap{font-size:.8125rem;font-weight:500;letter-spacing:.04em;color:var(--soft-on-paper)}@media(max-width:860px){.index summary{grid-template-columns:1fr auto;row-gap:.4rem}.index .n{grid-column:1 / 3}.index .name{grid-column:1 / 2}.index .cat{grid-column:2 / 3}.panel{display:block}}.concept{position:relative;aspect-ratio:16 / 8.6;overflow:hidden;background:var(--bg)}.s1{--bg: #2f5d46;--fg: #f4ecd8;--pop: #f0c75e}.s2{--bg: #f0c75e;--fg: #2b2210;--pop: #2f5d46}.s3{--bg: #e9c9c1;--fg: #4a1d12;--pop: #b8420f}.concept .page{position:absolute;left:5%;top:10%;width:66%;height:78%;background:#fffaf1;color:#1c1a16;padding:clamp(.9rem,3vw,2.4rem);display:grid;align-content:start;gap:.5rem;overflow:hidden}.concept .page b{font-family:var(--serif);font-variation-settings:"SOFT" 100,"WONK" 0;font-weight:300;font-size:clamp(1.4rem,4.2vw,3.4rem);line-height:1;letter-spacing:-.02em}.concept .page small{color:#6b5f4f;font-size:clamp(.7rem,1.2vw,.95rem)}.concept .page i{justify-self:start;margin-top:.6rem;background:var(--bg);color:var(--fg);font-style:normal;font-size:clamp(.65rem,1.1vw,.85rem);font-weight:600;padding:.5rem .9rem}.concept .page:after{content:"";position:absolute;right:0;top:0;bottom:0;width:34%;background:linear-gradient(160deg,var(--pop),var(--bg));opacity:.85}.concept .phone{position:absolute;right:6%;bottom:-8%;width:22%;aspect-ratio:9 / 17;background:#fffaf1;color:#1c1a16;border:5px solid #1c1a16;border-radius:1.2rem;padding:.7rem;display:grid;align-content:start;gap:.35rem}.concept .phone b{font-family:var(--serif);font-weight:300;font-size:clamp(.9rem,2vw,1.5rem);line-height:1}.concept .phone small{font-size:clamp(.5rem,.9vw,.75rem);color:#6b5f4f}.concept .phone i{margin-top:.3rem;background:var(--bg);color:var(--fg);height:1.5rem}.proc{position:relative;height:calc(var(--n) * 72svh + 100svh);background:var(--ink)}.proc-pin{position:sticky;top:0;height:100svh;display:grid;align-items:center;overflow:hidden}.proc-pin:before{content:"";position:absolute;right:8vw;top:50%;width:70vmin;height:70vmin;transform:translateY(-42%);border-radius:50%;background:radial-gradient(circle,rgba(244,185,90,.22),transparent 64%);opacity:var(--fill, .2);pointer-events:none}.proc .sec{position:relative;width:100%;align-items:center}.proc .rail{align-self:start;padding-top:.5rem}.steps{display:grid}.steps li{border-top:1px solid var(--line-ink)}.steps li:first-child{border-top:0}.step-btn{display:flex;align-items:baseline;gap:1.1rem;width:100%;padding:.55rem 0;background:none;border:0;text-align:left;cursor:pointer}.step-btn .num{font-size:.8125rem;font-weight:500;letter-spacing:.08em;font-variant-numeric:tabular-nums;color:var(--soft-on-ink);min-width:1.7rem}.step-btn .ttl{font-family:var(--serif);font-variation-settings:"SOFT" 100,"WONK" 0;font-weight:300;font-size:clamp(2rem,3.6vw,3.1rem);line-height:1.05;letter-spacing:-.018em;color:var(--dim-on-ink);transition:color .4s,font-size .6s var(--ease)}.step-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}.step-body>div{overflow:hidden}.step-body p{padding:.2rem 0 1.5rem 2.8rem;color:var(--soft-on-ink);max-width:30em;font-size:1.125rem;line-height:1.5}.steps li.on .ttl{color:var(--paper);font-size:clamp(3rem,6.4vw,6rem)}.steps li.on .num{color:var(--glow)}.steps li.on .step-body{grid-template-rows:1fr}.proc-art{grid-column:9 / 13;justify-self:end;display:grid;place-items:center;width:100%}.proc-art svg{height:min(64svh,34rem);width:auto;max-width:100%;overflow:visible}.proc-art .fill{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(var(--fill, .1))}.proc-art .orb{transform-box:fill-box;transform-origin:center;transform:scale(var(--orb, .4));opacity:var(--orb-o, .2)}.proc .main{grid-column:4 / 9}.proc-count{position:absolute;left:0;right:0;bottom:2rem}@media(max-width:860px){.proc{height:calc(var(--n) * 62svh + 100svh)}.proc .sec{display:grid;grid-template-columns:1fr;gap:1rem;align-content:center}.proc .rail{margin-bottom:0}.proc-art{order:-1;grid-column:auto;justify-self:center}.proc-art svg{height:min(24svh,12rem)}.proc .main{grid-column:auto}.step-btn .ttl{font-size:1.5rem}.steps li.on .ttl{font-size:2.6rem}.step-body p{padding-left:2.8rem;font-size:1rem;padding-bottom:.8rem}.steps li:not(.on) .step-btn{padding-block:.3rem}}html:not(.js) .proc,.proc.static{height:auto}html:not(.js) .proc-pin,.proc.static .proc-pin{position:relative;height:auto;padding-block:6rem}html:not(.js) .step-body,.proc.static .step-body{grid-template-rows:1fr}html:not(.js) .step-btn .ttl,.proc.static .step-btn .ttl{color:var(--paper);font-size:clamp(2rem,4vw,3rem)}html:not(.js) .proc-art .fill,.proc.static .proc-art .fill{transform:none}html:not(.js) .proc-art .orb,.proc.static .proc-art .orb{transform:none;opacity:.9}.group{border-top:1px solid var(--line-paper);padding-block:clamp(1.6rem,3vw,2.4rem)}.group:last-child{border-bottom:1px solid var(--line-paper)}.svc-list{display:grid}.svc-list li{display:grid;grid-template-columns:1fr;gap:.25rem 2rem;padding-block:1rem;border-top:1px solid rgba(20,18,15,.14)}.svc-list li:first-child{border-top:0;padding-top:0}@media(min-width:860px){.svc-list li{grid-template-columns:5fr 6fr;align-items:baseline}}.svc-list h3{font-size:clamp(1.4rem,2.2vw,1.9rem);font-weight:400;line-height:1.12}.svc-list p{color:var(--soft-on-paper)}.services .head h2{max-width:11em;margin-bottom:clamp(2.5rem,5vw,4rem)}.contact{background:var(--ink-2);padding-bottom:0}.contact h2{max-width:9em}.contact .lede{margin-top:2.5rem}.mail{display:inline-block;margin-top:clamp(2rem,4vw,3rem);font-family:var(--serif);font-variation-settings:"SOFT" 100,"WONK" 0;font-weight:300;font-size:clamp(1.7rem,5vw,4.25rem);letter-spacing:-.02em;line-height:1.1;color:var(--glow);text-decoration:none;border-bottom:1.5px solid var(--glow);padding-bottom:.15em;overflow-wrap:anywhere}.form{display:grid;gap:1.75rem var(--gap);margin-top:clamp(3rem,6vw,4.5rem);grid-template-columns:repeat(3,minmax(0,1fr));max-width:62rem}@media(max-width:860px){.form{grid-template-columns:1fr}}.form label{display:grid;gap:.6rem;font-size:.8125rem;font-weight:500;letter-spacing:.06em;color:var(--soft-on-ink)}.form .wide{grid-column:1 / -1}.form input,.form textarea{font:inherit;font-size:1.0625rem;letter-spacing:0;color:var(--paper);background:transparent;border:0;border-bottom:1px solid #5c5448;border-radius:0;padding:.5rem 0 .7rem;transition:border-color .25s;resize:vertical}.form input:focus,.form textarea:focus{outline:none;border-color:var(--glow)}.form .link{justify-self:start}.form-note{font-size:.8125rem;color:var(--soft-on-ink)}.form-ok{display:none;grid-column:1 / -1;padding:1rem 0;border-top:1px solid var(--glow);color:var(--paper)}.form.sent .form-ok{display:block}.foot-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem;margin-top:clamp(5rem,10vw,8rem);padding-block:1.75rem 2rem;border-top:1px solid var(--line-ink);font-size:.8125rem;color:var(--soft-on-ink);max-width:var(--max);margin-inline:auto}.foot-wrap{padding-inline:var(--margin)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.arch{transform:none}.arch-gl{animation:none;opacity:1}.js .hero h1 .line>span{transform:none;animation:none}.js .fade{opacity:1;animation:none}.js .reveal{opacity:1;transform:none;transition:none}.link,.link svg,.step-body,.step-btn .ttl{transition:none}}
