:root{--paper:#f6f7f4;--surface:#fff;--ink:#17202b;--muted:#68717d;--faint:#8d96a3;--line:#dfe3e8;--accent:#4f5ff7;--accent-dark:#3d4be0;--accent-soft:#eef0ff;--positive:#16745c;--dark:#17202b;--max-width:1180px;--content-width:760px;--radius-sm:.65rem;--radius-md:1rem;--radius-lg:1.5rem;--shadow-soft:0 20px 55px #17202b1f;--ease:cubic-bezier(.22, 1, .36, 1);--icon-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 12 12 4M6 4h6v6' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6'/%3E%3C/svg%3E")}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--faint) var(--paper);background:var(--paper)}body{color:var(--ink);background:var(--paper);text-rendering:optimizelegibility;margin:0;font-family:IBM Plex Sans,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:1rem;line-height:1.7;overflow-x:clip}body:has(.mobile-menu[data-open=true]){overflow:hidden}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}img{max-width:100%;display:block}::selection{color:var(--surface);background:var(--accent)}.skip-link{z-index:100;border-radius:var(--radius-sm);color:var(--surface);background:var(--ink);transition:transform .18s var(--ease);padding:.65rem .9rem;font-size:.85rem;font-weight:700;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-shell{min-height:100vh;overflow:hidden}.container{width:min(calc(100% - 3rem), var(--max-width));margin-inline:auto}.narrow-container{width:min(calc(100% - 3rem), var(--content-width));margin-inline:auto}.display-heading{letter-spacing:-.04em;text-wrap:balance;margin:0;font-family:Instrument Sans,PingFang SC,Hiragino Sans GB,sans-serif;font-size:clamp(2.9rem,6vw,5.6rem);font-weight:600;line-height:.98}.section-heading{letter-spacing:-.035em;text-wrap:balance;max-width:680px;margin:0;font-family:Instrument Sans,PingFang SC,Hiragino Sans GB,sans-serif;font-size:clamp(2rem,4vw,3.4rem);font-weight:600;line-height:1.05}.lede{max-width:600px;color:var(--muted);margin:0;font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.75}.muted{color:var(--muted)}.page-section{padding-block:clamp(5.5rem,9vw,7rem)}.section-intro{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem;display:flex}.section-intro .text-link{flex-shrink:0}.text-link{color:var(--accent-dark);transition:gap .22s var(--ease), color .22s ease;align-items:center;gap:.65rem;font-size:.9rem;font-weight:700;display:inline-flex}.text-link:after{content:"";width:.8rem;height:.8rem;mask:var(--icon-arrow) center / contain no-repeat;transition:transform .22s var(--ease);background:currentColor}.text-link:hover{color:var(--ink);gap:.95rem}.text-link:hover:after{transform:translate(.15rem,-.15rem)}.button-row{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.button{min-height:3.1rem;transition:transform .22s var(--ease), background-color .22s ease, border-color .22s ease, color .22s ease;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.65rem;padding:.75rem 1.2rem;font-size:.9rem;font-weight:700;line-height:1;display:inline-flex}.button:after{content:"";width:.82rem;height:.82rem;mask:var(--icon-arrow) center / contain no-repeat;transition:transform .22s var(--ease);background:currentColor}.button:hover{transform:translateY(-2px)}.button:hover:after{transform:translate(.13rem,-.13rem)}.button-primary{color:var(--surface);background:var(--accent)}.button-primary:hover{background:var(--accent-dark)}.button-secondary{color:var(--ink);border-color:var(--line);background:var(--surface)}.button-secondary:hover{border-color:var(--ink)}.site-header{z-index:20;backdrop-filter:blur(16px);background:#f6f7f4db;padding-block:.85rem;position:sticky;top:0}.header-inner{background:#ffffffc7;border:1px solid #dfe3e8d1;border-radius:999px;justify-content:space-between;align-items:center;min-height:4.1rem;padding:.45rem .55rem .45rem 1.2rem;display:flex;box-shadow:0 10px 30px #1f293709}.brand{letter-spacing:-.02em;align-items:center;gap:.7rem;font-family:Instrument Sans,sans-serif;font-size:.92rem;font-weight:700;display:inline-flex}.brand-mark{width:2.35rem;height:2.35rem;color:var(--surface);background:var(--ink);letter-spacing:.03em;border-radius:.75rem;place-items:center;font-size:.72rem;display:grid}.desktop-nav{align-items:center;gap:.25rem;display:flex}.nav-link{color:var(--muted);border-radius:999px;padding:.65rem .85rem;font-size:.84rem;font-weight:600;transition:color .18s,background-color .18s}.nav-link:hover,.nav-link[aria-current=page]{color:var(--ink);background:var(--paper)}.language-switch{min-height:2.35rem;color:var(--muted);letter-spacing:.03em;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.45rem .7rem .45rem .58rem;font-family:Instrument Sans,sans-serif;font-size:.72rem;font-weight:700;transition:color .18s,background-color .18s,border-color .18s;display:inline-flex}.language-switch:hover{color:var(--ink);border-color:var(--line);background:var(--paper)}.language-icon{width:1.05rem;height:1.05rem;color:var(--accent);transition:transform .24s var(--ease)}.language-code{line-height:1}.language-arrow{background:var(--accent);width:.75rem;height:.75rem;mask:var(--icon-arrow) center / contain no-repeat;transition:transform .24s var(--ease)}.language-switch:hover .language-icon{transform:rotate(12deg)}.language-switch:hover .language-arrow{transform:translate(2px,-2px)}.header-cta{min-height:2.65rem;padding-inline:1rem;font-size:.82rem}.menu-toggle{border:1px solid var(--line);width:2.7rem;height:2.7rem;color:var(--ink);background:var(--surface);cursor:pointer;border-radius:50%;display:none}.menu-icon,.menu-icon:before,.menu-icon:after{width:1rem;height:1px;transition:transform .22s var(--ease);background:currentColor;margin:auto;display:block}.menu-icon{position:relative}.menu-icon:before,.menu-icon:after{content:"";position:absolute}.menu-icon:before{transform:translateY(-.3rem)}.menu-icon:after{transform:translateY(.3rem)}.menu-toggle[aria-expanded=true] .menu-icon{background:0 0}.menu-toggle[aria-expanded=true] .menu-icon:before{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon:after{transform:rotate(-45deg)}.mobile-menu{display:none}.site-footer{color:var(--muted);background:var(--dark);padding-block:3rem 1.5rem}.footer-top{justify-content:space-between;align-items:start;gap:2rem;padding-bottom:4rem;display:flex}.footer-brand{gap:1rem;max-width:330px;display:grid}.footer-brand .brand{color:var(--surface)}.footer-brand p{margin:0;font-size:.95rem}.footer-links{flex-wrap:wrap;justify-content:end;gap:.75rem 1.25rem;display:flex}.footer-links a{color:#d7dbe2;font-size:.9rem;transition:color .18s}.footer-links a:hover{color:var(--surface)}.footer-bottom{border-top:1px solid #ffffff1f;justify-content:space-between;gap:1rem;padding-top:1.25rem;font-size:.78rem;display:flex}.footer-bottom p{margin:0}.reveal{animation:reveal .76s var(--ease) both}.reveal-delay-1{animation-delay:90ms}.reveal-delay-2{animation-delay:.18s}.reveal-delay-3{animation-delay:.27s}@keyframes reveal{0%{opacity:.01;filter:blur(7px);transform:translateY(14px)}to{opacity:1;filter:blur();transform:translateY(0)}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (width<=850px){.desktop-nav,.header-cta,.header-inner>.language-switch{display:none}.menu-toggle{place-items:center;display:grid}.mobile-menu{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-soft);padding:.65rem;display:none;position:absolute;top:5.7rem;left:1.5rem;right:1.5rem}.mobile-menu[data-open=true]{display:grid}.mobile-menu a{color:var(--muted);border-radius:.7rem;padding:.9rem 1rem;font-weight:600}.mobile-menu a:hover,.mobile-menu a[aria-current=page]{color:var(--ink);background:var(--paper)}.mobile-menu .mobile-language-switch{justify-content:start;margin-top:.25rem;padding-inline:1rem}.mobile-menu .button{color:var(--surface);margin-top:.4rem}}@media (width<=640px){.container,.narrow-container{width:min(calc(100% - 2rem), var(--max-width))}.site-header{padding-block:.55rem}.header-inner{padding-left:.9rem}.page-section{padding-block:5rem}.section-intro,.footer-top,.footer-bottom{align-items:start;display:grid}.section-intro{margin-bottom:2rem}.footer-links{justify-content:start}.footer-bottom{gap:.35rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.hero-section{padding:clamp(5rem,9vw,7rem) 0 clamp(5rem,8vw,6.5rem);position:relative}.hero-section:before{top:7%;right:max(1.5rem, calc((100vw - var(--max-width)) / 2));background:var(--line);width:5.5rem;height:1px;box-shadow:1.1rem 0 0 var(--accent), 2.2rem 0 0 var(--line);content:"";position:absolute}.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(300px,.75fr);align-items:center;gap:clamp(3rem,8vw,8rem);display:grid}.hero-copy{justify-items:start;gap:1.65rem;display:grid}.hero-copy h1{max-width:800px}.hero-copy h1 span{color:var(--accent)}.hero-kicker{color:var(--positive);align-items:center;gap:.55rem;font-size:.82rem;font-weight:700;display:inline-flex}.status-dot{background:#40b995;border-radius:50%;width:.55rem;height:.55rem;box-shadow:0 0 0 5px #40b9951f}.hero-proof{color:var(--muted);flex-wrap:wrap;gap:.65rem;padding-top:.35rem;font-size:.78rem;display:flex}.hero-proof span{border-right:1px solid var(--line);padding-right:.65rem}.hero-proof span:last-child{border-right:0}.hero-visual{border-radius:var(--radius-lg);min-height:480px;color:var(--surface);background-color:var(--dark);background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:3rem 3rem;flex-direction:column;padding:1.35rem;display:flex;position:relative;overflow:hidden;box-shadow:0 32px 80px #17202b2e}.hero-visual:before{content:"";border:1px solid #717cff73;border-radius:50%;width:13rem;height:13rem;position:absolute;top:5.5rem;right:-3rem;box-shadow:inset 0 0 0 3.1rem #4f5ff709}.visual-topline{z-index:1;color:#aeb7c5;letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;gap:1rem;font-family:Instrument Sans,sans-serif;font-size:.68rem;display:flex;position:relative}.visual-main{z-index:1;max-width:19rem;margin-top:5rem;position:relative}.visual-label{color:var(--surface);letter-spacing:-.025em;margin-bottom:1rem;font-family:Instrument Sans,sans-serif;font-size:1.25rem;font-weight:600;line-height:1.25;display:block}.visual-main p{color:#b8c1d0;margin:0;font-size:.88rem;line-height:1.7}.visual-flow{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:auto 0 0;padding:0;list-style:none;display:grid;position:relative}.visual-flow li{border-top:1px solid #ffffff2e;grid-template-columns:auto minmax(0,1fr);gap:.65rem;padding:1rem .65rem 0 0;display:grid;position:relative}.visual-flow li:before{background:var(--dark);content:"";border:1px solid #7d8795;border-radius:50%;width:.45rem;height:.45rem;position:absolute;top:-.25rem;left:0}.visual-flow li.is-active{border-top-color:var(--accent)}.visual-flow li.is-active:before{border-color:var(--surface);background:var(--accent);box-shadow:0 0 0 .3rem #4f5ff733}.visual-flow li>span{color:#7d8795;font-variant-numeric:tabular-nums;font-family:Instrument Sans,sans-serif;font-size:.65rem}.visual-flow li div{gap:.15rem;display:grid}.visual-flow strong,.visual-flow small{font-family:Instrument Sans,sans-serif;line-height:1.2}.visual-flow strong{color:var(--surface);letter-spacing:.06em;font-size:.67rem}.visual-flow small{color:#8f99a8;font-size:.58rem}.marquee-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);overflow:hidden}.marquee-track{align-items:center;gap:2.2rem;width:max-content;padding:1.1rem 0;animation:28s linear infinite marquee;display:flex}.marquee-strip:hover .marquee-track{animation-play-state:paused}.marquee-track span{color:var(--muted);letter-spacing:.05em;white-space:nowrap;align-items:center;gap:2.2rem;font-family:Instrument Sans,PingFang SC,sans-serif;font-size:.8rem;font-weight:600;display:inline-flex}.marquee-track i{border:1px solid var(--accent);width:.38rem;height:.38rem;transform:rotate(45deg)}@keyframes marquee{to{transform:translate(-50%)}}.work-section{background:var(--surface)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;display:grid}.project-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);transition:border-color .22s ease, transform .22s var(--ease), box-shadow .22s ease;grid-template-rows:auto 1fr;display:grid;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-soft);border-color:#0000;transform:translateY(-5px)}.project-card-visual{background-color:var(--accent-soft);background-image:linear-gradient(#4f5ff713 1px,#0000 1px),linear-gradient(90deg,#4f5ff713 1px,#0000 1px);background-size:2.5rem 2.5rem;min-height:255px;position:relative;overflow:hidden}.visual-index{color:var(--accent-dark);letter-spacing:.08em;font-family:Instrument Sans,sans-serif;font-size:.68rem;font-weight:700;position:absolute;top:1.25rem;left:1.25rem}.delivery-diagram{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid;position:absolute;bottom:18%;left:9%;right:9%}.delivery-node{z-index:1;min-height:4.4rem;color:var(--accent-dark);letter-spacing:.08em;background:#ffffffc2;border:1px solid #4f5ff74d;border-radius:.65rem;place-items:center;font-family:Instrument Sans,sans-serif;font-size:.63rem;font-weight:700;display:grid;position:relative}.delivery-node:before{background:var(--accent);content:"";border-radius:50%;width:.34rem;height:.34rem;position:absolute;top:.6rem;left:.6rem}.delivery-rail{z-index:0;background:var(--accent);height:1px;position:absolute;top:50%;left:8%;right:8%}.signal-diagram{border-bottom:1px solid #4f5ff759;height:9rem;position:absolute;bottom:16%;left:9%;right:9%}.signal-baseline{background:#4f5ff740;height:1px;position:absolute;top:50%;left:0;right:0}.signal-bar{background:var(--accent);border-radius:.35rem .35rem 0 0;width:.7rem;position:absolute;bottom:0}.bar-one{opacity:.42;height:45%;left:10%}.bar-two{opacity:.68;height:72%;left:31%}.bar-three{opacity:.5;height:54%;left:52%}.bar-four{height:88%;left:73%}.signal-status{color:var(--positive);letter-spacing:.06em;background:#ffffffd1;border-radius:.45rem;padding:.45rem .6rem;font-family:Instrument Sans,sans-serif;font-size:.6rem;font-weight:700;position:absolute;top:0;right:0}.project-card-body{align-content:start;gap:1rem;padding:1.35rem;display:grid}.project-card-meta,.article-card-top,.article-card-bottom{color:var(--faint);justify-content:space-between;gap:1rem;font-size:.72rem;display:flex}.project-card-meta span:first-child{color:var(--accent-dark);font-weight:700}.project-card h3,.article-card h3,.service-row h3,.process-card h3{letter-spacing:-.03em;margin:0;font-family:Instrument Sans,PingFang SC,sans-serif;font-size:1.45rem;font-weight:600;line-height:1.2}.project-card p,.article-card p,.service-row p,.process-card p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.75}.tag-list{flex-wrap:wrap;gap:.45rem;display:flex}.tag{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.32rem .55rem;font-size:.7rem;line-height:1}.project-card-link{color:var(--accent-dark);align-items:center;gap:.45rem;font-size:.8rem;font-weight:700;display:inline-flex}.project-card-link span{width:.76rem;height:.76rem;mask:var(--icon-arrow) center / contain no-repeat;transition:transform .22s var(--ease);background:currentColor}.project-card:hover .project-card-link span{transform:translate(3px,-3px)}.services-section{background:var(--paper)}.services-layout,.faq-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(3rem,8vw,8rem);display:grid}.services-lead{align-content:start;justify-items:start;gap:1.35rem;display:grid;position:sticky;top:7.5rem}.service-list{border-top:1px solid var(--line)}.service-row{border-bottom:1px solid var(--line);grid-template-columns:2.1rem minmax(0,1fr) 1.5rem;gap:1.1rem;padding:1.35rem 0;display:grid}.service-number,.process-card>span{color:var(--accent);font-family:Instrument Sans,sans-serif;font-size:.76rem;font-weight:700}.service-row>div{gap:.65rem;display:grid}.service-row h3{font-size:1.15rem}.service-arrow{background:var(--accent-dark);width:.8rem;height:.8rem;mask:var(--icon-arrow) center / contain no-repeat;align-self:start;margin-top:.3rem}.process-section{color:var(--surface);background:var(--dark)}.process-section .section-heading{color:var(--surface)}.section-aside{color:#aeb7c5;max-width:220px;margin:0;font-size:.9rem}.process-grid{border-radius:var(--radius-md);border:1px solid #ffffff21;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.process-card{background:#ffffff08;border-right:1px solid #ffffff21;min-height:250px;padding:1.5rem}.process-card:last-child{border-right:0}.process-card h3{color:var(--surface);margin-top:5rem;font-size:1.3rem}.process-card p{color:#aeb7c5}.writing-section{background:var(--surface)}.article-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;display:grid}.article-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);min-height:300px;transition:border-color .22s ease, transform .22s var(--ease), box-shadow .22s ease;align-content:space-between;gap:2.6rem;padding:1.35rem;display:grid}.article-card:hover{box-shadow:var(--shadow-soft);border-color:#0000;transform:translateY(-5px)}.article-card.featured{color:var(--surface);border-color:var(--dark);background:var(--dark)}.article-card.featured p,.article-card.featured .article-card-top,.article-card.featured .article-card-bottom{color:#aeb7c5}.article-card h3{margin-top:1rem}.article-card-bottom{align-items:end}.article-card.featured .tag{border-color:#ffffff2e}.faq-section{background:var(--paper)}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 0;font-size:.98rem;font-weight:700;list-style:none;transition:color .18s;display:flex}.faq-list summary:hover{color:var(--accent-dark)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{width:1rem;height:1rem;transition:transform .22s var(--ease);position:relative}.faq-list summary span:before,.faq-list summary span:after{background:var(--accent);content:"";width:.75rem;height:1.5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.faq-list summary span:after{transform:translate(-50%,-50%)rotate(90deg)}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:580px;color:var(--muted);margin:-.35rem 0 1.25rem;font-size:.9rem}.cta-section{background:var(--paper);padding:2rem 0 7.5rem}.cta-panel{border-radius:var(--radius-lg);color:var(--surface);background:var(--accent);grid-template-columns:minmax(0,1fr) minmax(250px,.65fr);align-items:end;gap:3rem;padding:clamp(2rem,5vw,4.5rem);display:grid}.cta-panel h2{letter-spacing:-.04em;max-width:600px;margin:1rem 0 0;font-family:Instrument Sans,PingFang SC,sans-serif;font-size:clamp(2.3rem,5vw,4.8rem);font-weight:600;line-height:1}.cta-panel>div:last-child{justify-items:start;gap:1.3rem;display:grid}.cta-panel>div:last-child p{color:#e0e4ff;margin:0;font-size:.95rem}.cta-panel .button-primary{color:var(--accent);background:var(--surface)}.cta-panel .button-primary:hover{background:#f0f1ff}@media (width<=850px){.hero-grid,.services-layout,.faq-layout,.cta-panel{grid-template-columns:1fr}.hero-section{padding-top:5rem}.hero-visual{min-height:380px}.services-layout,.faq-layout{gap:3.5rem}.services-lead{position:static}.section-aside{max-width:none}.cta-panel{align-items:start}}@media (width<=640px){.hero-section:before{display:none}.hero-section{padding-block:4rem 4.5rem}.hero-copy{gap:1.3rem}.hero-visual{min-height:430px}.visual-main{margin-top:4rem}.visual-flow li{grid-template-columns:1fr;gap:.3rem}.visual-flow li>span{display:none}.project-grid,.article-grid,.process-grid{grid-template-columns:1fr}.project-card-visual{min-height:210px}.process-card{border-bottom:1px solid #ffffff21;border-right:0;min-height:auto}.process-card:last-child{border-bottom:0}.process-card h3{margin-top:2.5rem}.article-card{min-height:260px}.cta-section{padding-bottom:5rem}}@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}.page-hero{border-bottom:1px solid var(--line);background:var(--paper);padding:7rem 0 5rem}.page-hero-inner{justify-items:start;gap:1.35rem;display:grid}.page-hero .display-heading{max-width:920px}.work-index-section,.writing-index-section,.service-detail-section,.about-section,.resume-document-section,.contact-section{background:var(--surface)}.work-index-toolbar{color:var(--faint);justify-content:space-between;gap:1rem;margin-bottom:1.5rem;font-size:.78rem;display:flex}.work-index-toolbar span:first-child{color:var(--accent-dark);font-weight:700}.page-hero+.page-section{padding-top:5rem}.case-header{background:var(--paper);padding:2rem 0 6rem}.case-header-inner{justify-items:start;gap:1.5rem;display:grid}.back-link{color:var(--muted);font-size:.84rem;font-weight:600;transition:color .18s}.back-link:hover{color:var(--ink)}.case-meta,.article-header-meta{color:var(--faint);flex-wrap:wrap;gap:.65rem 1.1rem;font-size:.75rem;display:flex}.case-meta span:first-child{color:var(--accent-dark);font-weight:700}.case-summary{max-width:680px;color:var(--muted);margin:0;font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.65}.case-layout{grid-template-columns:230px minmax(0, var(--content-width));justify-content:space-between;gap:4rem;padding-block:5rem 7.5rem;display:grid}.case-sidebar{align-content:start;gap:2rem;display:grid}.case-sidebar>div{gap:.6rem;display:grid}.sidebar-label{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;font-family:Instrument Sans,sans-serif;font-size:.7rem;font-weight:700}.case-sidebar p{color:var(--ink);margin:0;font-size:.9rem;line-height:1.7}.case-links{justify-items:start;gap:.75rem;display:grid}.prose{color:var(--ink);font-size:1.03rem;line-height:1.9}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose h2{letter-spacing:-.035em;margin:3.5rem 0 1rem;font-family:Instrument Sans,PingFang SC,sans-serif;font-size:1.8rem;line-height:1.2}.prose h3{letter-spacing:-.035em;margin:2.5rem 0 .75rem;font-family:Instrument Sans,PingFang SC,sans-serif;font-size:1.35rem;line-height:1.3}.prose p{margin:1.2rem 0}.prose ul,.prose ol{padding-left:1.35rem}.prose li{margin:.55rem 0}.prose a{color:var(--accent-dark);text-underline-offset:.2em;text-decoration:underline #4f5ff759}.prose blockquote{border-left:1px solid var(--accent);color:var(--muted);margin:2rem 0;padding:.25rem 0 .25rem 1.25rem}.prose code{color:var(--accent-dark);background:var(--accent-soft);border-radius:.35rem;padding:.15rem .35rem;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.87em}.prose pre{border-radius:var(--radius-sm);color:#e8ebf0;background:var(--dark);margin:2rem 0;padding:1.25rem;overflow-x:auto}.prose pre code{color:inherit;background:0 0;padding:0}.article-page{background:var(--surface)}.article-header{background:var(--paper);padding:2rem 0 4.5rem}.article-header .narrow-container{justify-items:start;gap:1.3rem;display:grid}.article-header h1{letter-spacing:-.04em;max-width:760px;margin:1rem 0 0;font-family:Instrument Sans,PingFang SC,sans-serif;font-size:clamp(2.4rem,6vw,5.2rem);font-weight:600;line-height:1}.article-header p{max-width:650px;color:var(--muted);margin:0;font-size:1.15rem;line-height:1.75}.article-prose{padding-block:5rem 7.5rem}.article-index-list{gap:1rem;display:grid}.article-index-list .article-card{min-height:220px}.writing-index-layout{grid-template-columns:220px minmax(0,1fr);gap:5rem;display:grid}.writing-sidebar,.about-note{align-content:start;justify-items:start;gap:.75rem;display:grid}.writing-sidebar p,.about-note p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.8}.article-count{color:var(--accent-dark);margin-top:1rem;font-size:.78rem;font-weight:700}.service-detail-list{border-top:1px solid var(--line)}.service-detail-row{border-bottom:1px solid var(--line);grid-template-columns:5rem minmax(0,1fr);gap:2rem;padding:2.5rem 0;display:grid}.service-detail-row>div{gap:1rem;max-width:660px;display:grid}.service-detail-row h2{letter-spacing:-.035em;margin:0;font-family:Instrument Sans,PingFang SC,sans-serif;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.1}.service-detail-row p{max-width:560px;color:var(--muted);margin:0;font-size:1.05rem}.capability-section{background:var(--paper)}.capability-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:start;gap:4rem;display:grid}.capability-cloud{flex-wrap:wrap;gap:.65rem;display:flex}.capability-cloud span{border:1px solid var(--line);color:var(--muted);background:var(--surface);border-radius:999px;padding:.7rem .9rem;font-size:.85rem}.capability-cloud .capability-featured{color:var(--surface);border-color:var(--dark);background:var(--dark)}.about-layout,.resume-layout,.contact-layout{grid-template-columns:220px minmax(0,1fr);gap:5rem;display:grid}.about-prose{max-width:680px}.about-prose .button{margin-top:1.5rem}.resume-section{background:var(--paper)}.timeline,.resume-experience{border-top:1px solid var(--line);gap:0;display:grid}.timeline-item,.resume-experience-row{border-bottom:1px solid var(--line);grid-template-columns:5.5rem minmax(0,1fr);gap:1.5rem;padding:1.35rem 0;display:grid}.timeline-item>span,.resume-experience-row>span{color:var(--faint);font-size:.76rem}.timeline-item h3,.resume-experience-row h3{letter-spacing:-.03em;margin:0;font-family:Instrument Sans,PingFang SC,sans-serif;font-size:1.1rem}.timeline-item p,.resume-experience-row p{color:var(--muted);margin:.45rem 0 0;font-size:.88rem}.timeline .button{justify-self:start;margin-top:1.5rem}.resume-hero{padding-bottom:4rem}.resume-heading-row{justify-content:space-between;align-items:end;gap:2rem;width:100%;display:flex}.availability-badge{color:var(--positive);background:#effaf6;border:1px solid #b6e5d6;border-radius:999px;align-items:center;gap:.6rem;padding:.65rem .85rem;font-size:.78rem;font-weight:700;display:inline-flex}.availability-badge .status-dot{width:.4rem;height:.4rem;box-shadow:none}.resume-document{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);gap:3.5rem;padding:clamp(1.5rem,5vw,4rem);display:grid}.resume-document-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:2rem;padding-bottom:2rem;display:flex}.resume-document-header h2{letter-spacing:-.035em;max-width:610px;margin:.7rem 0 0;font-family:Instrument Sans,PingFang SC,sans-serif;font-size:clamp(1.7rem,4vw,3rem);line-height:1.1}.resume-columns{grid-template-columns:.8fr 1.2fr;gap:3rem;display:grid}.resume-tags{flex-wrap:wrap;gap:.55rem;margin-top:1rem;display:flex}.resume-tags span{color:var(--muted);background:var(--paper);border-radius:.5rem;padding:.5rem .7rem;font-size:.78rem}.resume-copy{max-width:520px;color:var(--muted);margin:1rem 0 0;font-size:.95rem}.resume-experience{gap:0}.resume-experience>.sidebar-label{margin-bottom:.75rem}.contact-section{padding-top:5rem}.contact-info,.contact-brief{align-content:start;justify-items:start;gap:1rem;display:grid}.contact-email{color:var(--accent-dark);letter-spacing:-.04em;overflow-wrap:anywhere;font-family:Instrument Sans,sans-serif;font-size:clamp(1.3rem,3vw,2rem);font-weight:600}.contact-info p{color:var(--muted);margin:0;font-size:.9rem}.contact-socials{flex-wrap:wrap;gap:1rem;margin-top:1rem;display:flex}.contact-brief{max-width:660px}.contact-brief h2{letter-spacing:-.035em;margin:0;font-family:Instrument Sans,PingFang SC,sans-serif;font-size:clamp(1.8rem,4vw,3rem);line-height:1.1}.contact-brief ul{color:var(--muted);gap:.75rem;margin:.5rem 0 1rem;padding-left:1.2rem;display:grid}@media (width<=850px){.case-layout,.writing-index-layout,.about-layout,.resume-layout,.contact-layout,.capability-layout{grid-template-columns:1fr;gap:3rem}.case-sidebar{grid-template-columns:1fr 1fr}.case-links{justify-items:end}.resume-columns{grid-template-columns:1fr}}@media (width<=640px){.page-hero{padding-block:4.5rem 3.5rem}.work-index-toolbar{gap:.4rem;display:grid}.case-header{padding-bottom:4rem}.case-layout,.article-prose{padding-block:3.5rem 5rem}.case-sidebar{grid-template-columns:1fr}.case-links{justify-items:start}.service-detail-row{grid-template-columns:2rem minmax(0,1fr);gap:1rem;padding-block:1.75rem}.resume-heading-row,.resume-document-header{align-items:start;display:grid}.resume-document{gap:2.5rem}.timeline-item,.resume-experience-row{grid-template-columns:4rem minmax(0,1fr);gap:1rem}}
