@font-face{font-family:Cormorant;font-style:italic;font-weight:300 500;font-display:swap;src:url(/fonts/cormorant-italic.woff2)format("woff2")}@font-face{font-family:Cormorant;font-style:normal;font-weight:300 500;font-display:swap;src:url(/fonts/cormorant-normal.woff2)format("woff2")}@font-face{font-family:DM Sans;font-style:italic;font-weight:300 500;font-display:swap;src:url(/fonts/dmsans-italic.woff2)format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:300 500;font-display:swap;src:url(/fonts/dmsans-normal.woff2)format("woff2")}:root{--bg:#faf8f4;--surface:#f1eee6;--text:#161410;--text-dim:#161410b8;--text-dimmer:#16141080;--text-faint:#16141057;--accent:#cc2b1d;--accent-2:#3e5d4c;--status-delivered:var(--accent-2);--status-ongoing:#8a6512;--border:#1614101f;--border-soft:#16141012;--serif:"Cormorant",Georgia,serif;--sans:"DM Sans",-apple-system,sans-serif;--mono:ui-monospace,"SF Mono",Consolas,monospace}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-weight:300;overflow-x:hidden}a{color:inherit}::selection{background:var(--accent);color:var(--bg)}img{max-width:100%;display:block}.shell{max-width:1900px;min-height:100vh;margin:0 auto;display:flex}.rail{border-right:1px solid var(--border-soft);flex-direction:column;flex:none;justify-content:space-between;width:260px;min-height:100vh;padding:40px 30px;display:flex}.rail-name{font-family:var(--serif);color:var(--text);font-size:22px;font-style:italic;font-weight:400;text-decoration:none}.rail-name span{color:var(--accent);font-style:normal}.rail-nav{flex-direction:column;gap:2px;margin-top:34px;display:flex}.rail-nav a{letter-spacing:.12em;text-transform:uppercase;color:var(--text-dimmer);padding:9px 0;font-size:11px;text-decoration:none;transition:color .15s;position:relative}.rail-nav a:before{content:"";background:var(--accent);width:4px;height:0;transition:height .2s;position:absolute;top:50%;left:-14px;transform:translateY(-50%)}.rail-nav a:hover,.rail-nav a:focus-visible,.rail-nav a.active{color:var(--text)}.rail-nav a.active:before{height:14px}.rail-legend{color:var(--text-faint);font-size:10px;line-height:1.9}.rail-legend .dot{background:var(--accent);border-radius:50%;width:5px;height:5px;margin-right:7px;display:inline-block}.rail-foot{color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;font-size:10px}@media (width<=900px){.rail{display:none}}.mobile-bar{display:none}@media (width<=900px){.mobile-bar{z-index:40;backdrop-filter:blur(12px);border-bottom:1px solid var(--border-soft);-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#faf8f4eb;align-items:center;gap:16px;padding:14px 20px;display:flex;position:sticky;top:0;overflow-x:auto}.mobile-bar::-webkit-scrollbar{display:none}.mobile-bar .mb-name{font-family:var(--serif);white-space:nowrap;color:var(--text);flex:none;font-size:17px;font-style:italic;text-decoration:none}.mobile-bar .mb-name span{color:var(--accent);font-style:normal}.mobile-bar nav{flex:none;gap:14px;display:flex}.mobile-bar a{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dimmer);white-space:nowrap;padding:4px 0;font-size:9.5px;text-decoration:none}.mobile-bar a.active{color:var(--accent)}}main{flex:1;width:100%;min-width:0;max-width:1400px;padding:0 64px 140px}@media (width<=900px){main{padding:0 20px 80px}}@media (width<=480px){main{padding:0 16px 60px}}section{padding-top:110px;scroll-margin-top:40px}section:first-of-type{flex-direction:column;justify-content:center;min-height:100vh;padding-top:0;display:flex}@media (width<=900px){section{padding-top:64px;scroll-margin-top:56px}section:first-of-type{min-height:calc(100vh - 49px)}.hero h1{font-size:clamp(34px,10vw,52px)}}.eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;font-size:10.5px}.hero h1{font-family:var(--serif);letter-spacing:-.015em;max-width:13ch;margin:0 0 26px;font-size:clamp(46px,7vw,84px);font-style:italic;font-weight:400;line-height:1.04}.hero-in{opacity:0;animation:.7s forwards heroIn;transform:translateY(14px)}.hero-in.d1{animation-delay:50ms}.hero-in.d2{animation-delay:.18s}.hero-in.d3{animation-delay:.3s}.hero-in.d4{animation-delay:.4s}@keyframes heroIn{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.hero-in{opacity:1;animation:none;transform:none}}.hero p{color:var(--text-dim);max-width:52ch;margin:0 0 10px;font-size:16px;line-height:1.75}.hero .tag{color:var(--text-dimmer);margin-top:24px;font-size:12px}h2.head{font-family:var(--serif);margin:0 0 34px;font-size:clamp(26px,3vw,34px);font-style:italic;font-weight:400;line-height:1.15}.about p{color:var(--text-dim);max-width:62ch;margin:0 0 20px;font-size:15px;line-height:1.85}.about strong{color:var(--text);font-weight:400}.cap-list{flex-direction:column;gap:14px;display:flex}.pillar-label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:28px 0 2px;font-size:10.5px}.pillar-label:first-child{margin-top:0}.cap{background:var(--surface);border:1px solid var(--border-soft);border-radius:16px;grid-template-columns:200px minmax(0,1fr);gap:36px;padding:28px 30px;display:grid;overflow:hidden}.cap-name{font-family:var(--serif);padding-top:1px;font-size:18px;font-style:italic}.cap-body p{color:var(--text-dim);max-width:52ch;margin:0 0 10px;font-size:13.5px;line-height:1.7}.cap-projects{color:var(--text-dimmer);margin-bottom:12px;font-size:11.5px}.cap-projects b{color:var(--text);font-weight:400}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag-chip{font-family:var(--mono);color:var(--text-dimmer);border:1px solid var(--border);border-radius:3px;padding:4px 9px;font-size:10px;transition:border-color .15s,color .15s}.tag-chip:hover{border-color:var(--accent);color:var(--text)}@media (width<=640px){.cap{grid-template-columns:1fr;gap:10px}}.case{background:var(--surface);border:1px solid var(--border-soft);border-radius:18px;grid-template-columns:56px minmax(0,1fr);gap:28px;margin-bottom:16px;padding:38px 34px;display:grid;overflow:hidden}.case-num{font-family:var(--mono);color:var(--text-faint);font-variant-numeric:tabular-nums;padding-top:3px;font-size:12px}.case-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:18px;display:flex}.case-title{font-family:var(--serif);font-size:24px;font-style:italic;transition:color .2s}.status{font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;font-size:10px}.status.delivered{color:var(--status-delivered)}.status.ongoing{color:var(--status-ongoing)}.case-block{margin-bottom:16px}.case-block .lbl{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-bottom:7px;font-size:9.5px}.case-block p{color:var(--text-dim);max-width:62ch;margin:0;font-size:14px;line-height:1.75}.case-block.lesson p{color:var(--text);font-family:var(--serif);font-size:17px;font-style:italic;line-height:1.55}.case-block.lesson .lbl{color:var(--accent)}@media (width<=640px){.case{grid-template-columns:1fr}}.gallery{grid-template-columns:repeat(6,1fr);grid-auto-flow:dense;gap:14px;display:grid}.g-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:16px;flex-direction:column;grid-column:span 3;min-width:0;padding:28px 26px;display:flex;overflow:hidden}.g-card.wide{grid-column:span 4}.g-card.narrow{grid-column:span 2}.g-card.full{grid-column:span 6}.g-title{font-family:var(--serif);font-size:16.5px;font-style:italic;transition:color .2s}.g-card.wide .g-title,.g-card.full .g-title{font-size:20px}.g-industry{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin:10px 0;font-size:9px}.g-desc{color:var(--text-dim);margin:0;font-size:12px;line-height:1.6}.g-card.wide .g-desc,.g-card.full .g-desc{font-size:13px}@media (width>=1500px){.gallery{gap:18px}.cap{grid-template-columns:220px minmax(0,1fr);padding:32px 34px}}@media (width<=1000px){.gallery{grid-template-columns:repeat(4,1fr)}.g-card,.g-card.wide,.g-card.narrow{grid-column:span 2}.g-card.full{grid-column:span 4}}@media (width<=640px){.gallery{grid-template-columns:1fr;gap:12px}.g-card,.g-card.wide,.g-card.narrow,.g-card.full{grid-column:span 1}.g-card{padding:22px 20px}.g-card.wide .g-title,.g-card.full .g-title{font-size:17px}}.cap,.case,.g-card{transition:transform .25s,border-color .25s,box-shadow .25s}.cap:hover,.g-card:hover{border-color:var(--border);transform:translateY(-3px);box-shadow:0 14px 30px -18px #0009}.case:hover{border-color:var(--border);box-shadow:0 20px 40px -20px #000000a6}.cap:hover .cap-name,.g-card:hover .g-title,.case:hover .case-title{color:var(--accent)}.archive-block{border-top:1px solid var(--border-soft);margin-top:24px;padding-top:22px}.archive-title{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;font-size:10.5px}.archive-group{margin-top:24px;position:relative}.archive-group-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin-bottom:12px;font-size:9.5px}.archive-thumbs{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;gap:10px;margin-bottom:-6px;padding-bottom:14px;display:flex;overflow-x:auto}.archive-thumbs::-webkit-scrollbar{height:5px}.archive-thumbs::-webkit-scrollbar-track{background:0 0}.archive-thumbs::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.archive-thumbs::-webkit-scrollbar-thumb:hover{background:var(--accent)}.archive-thumbs::-webkit-scrollbar-button{width:0;height:0;display:none}.archive-group:after{content:"";pointer-events:none;background:linear-gradient(to right,transparent,var(--surface) 85%);width:36px;position:absolute;top:26px;bottom:20px;right:0}.thumb{scroll-snap-align:start;flex:none;width:140px}.thumb-frame{border:1px solid var(--border-soft);background:#e7e3d8;border-radius:8px;overflow:hidden}.thumb-frame img{object-fit:cover;opacity:.28;width:100%;height:140px;transition:transform .4s,opacity .3s;display:block}.thumb-frame img.loaded{opacity:1}.thumb:hover .thumb-frame img{transform:scale(1.08)}.thumb-cap{color:var(--text-faint);margin-top:5px;font-size:9px;line-height:1.35}.contact-links{flex-direction:column;gap:10px;margin-top:26px;display:flex}.contact-links a{font-family:var(--mono);color:var(--text-dim);border-bottom:1px solid var(--border);width:fit-content;padding-bottom:2px;font-size:14px;text-decoration:none;transition:color .15s,border-color .15s,transform .15s;display:inline-block}.contact-links a:hover{color:var(--accent);border-color:var(--accent);transform:translate(4px)}.contact-block h2.head{max-width:11ch;font-size:clamp(38px,6vw,72px)}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(18px)}.reveal.in{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}.cap,.case,.g-card,.contact-links a{transition:none}.thumb-frame img{opacity:1;transition:none}.thumb:hover .thumb-frame img{transform:none}}#scroll-progress{background:var(--accent);z-index:50;width:0%;height:2px;transition:width .1s linear;position:fixed;top:0;left:0}@media print{.rail,#scroll-progress{display:none}main{max-width:100%;padding:0 60px}section{break-after:page;page-break-after:always;margin:0;padding-top:60px;padding-bottom:60px}section:last-of-type{break-after:auto}.case,.g-card,.cap{break-inside:avoid}}.wmb-cursor[data-astro-cid-vhtrm4oj]{z-index:9999;pointer-events:none;will-change:transform;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0;transform:translate(-9999px,-9999px)}.wmb-cursor-dot[data-astro-cid-vhtrm4oj]{background:var(--accent);border-radius:50%;width:8px;height:8px;transition:width .15s,height .15s,background .15s}.wmb-cursor-label[data-astro-cid-vhtrm4oj]{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--bg);background:var(--accent);white-space:nowrap;opacity:0;border-radius:20px;padding:7px 14px;font-size:10px;transition:opacity .12s,transform .12s;transform:scale(.85)}.wmb-cursor[data-astro-cid-vhtrm4oj].is-active .wmb-cursor-label[data-astro-cid-vhtrm4oj]{opacity:1;transform:scale(1)}.wmb-cursor[data-astro-cid-vhtrm4oj]:not(.is-active) .wmb-cursor-label[data-astro-cid-vhtrm4oj]{display:none}.wmb-cursor[data-astro-cid-vhtrm4oj]:not(.is-active):before{content:"";background:var(--accent);opacity:.7;border-radius:50%;width:6px;height:6px;display:block}
