:root{--s-bg:#fbf8f3;--s-surface:#fff;--s-surface-alt:#f6f0e5;--s-shade:#f4eee1;--s-ink:#2a2520;--s-ink-strong:#1a1612;--s-ink-body:#5a5248;--s-ink-soft:#6a6155;--s-muted:#a89880;--s-muted-soft:#b8a98a;--s-line:#ebe3d4;--s-line-strong:#e5ddd0;--s-accent:#c9b18a;--s-accent-deep:#8a6e4f;--s-serif:var(--font-instrument-serif),var(--font-noto-serif-jp),"Noto Serif JP",serif;--s-sans:var(--font-manrope),var(--font-noto-sans),"Noto Sans JP",sans-serif;--s-mono:var(--font-jetbrains-mono),ui-monospace,monospace;--s-ease:cubic-bezier(.2,.7,.2,1);--s-dur:.5s;--s-shadow-card:0 24px 56px #3c28141a;--s-shadow-lift:0 18px 44px #3c28142e;--s-radius:8px;--s-radius-sm:4px;--s-maxw:1200px;--s-maxw-prose:720px;--s-gutter:56px}@media (max-width:880px){:root{--s-gutter:24px}}.site{background:var(--s-bg);color:var(--s-ink);font-family:var(--s-sans);flex-direction:column;min-height:100vh;display:flex;overflow-x:hidden}.site main{flex:1}.site-wrap{max-width:var(--s-maxw);padding-left:var(--s-gutter);padding-right:var(--s-gutter);margin:0 auto}.site-wrap-prose{max-width:var(--s-maxw-prose);padding-left:var(--s-gutter);padding-right:var(--s-gutter);margin:0 auto}.site-eyebrow{font-family:var(--s-mono);color:var(--s-muted);letter-spacing:.12em;margin:0 0 14px;font-size:12px}.site-h1,.site-h2,.site-h3{font-family:var(--s-serif);color:var(--s-ink);letter-spacing:-.02em;margin:0;font-weight:400}.site-h1{font-size:72px;line-height:1.02}.site-h2{font-size:56px;line-height:1.05}.site-h3{font-size:32px;line-height:1.15}.site-dot{color:var(--s-accent)}.site-lead{color:var(--s-ink-body);margin:0;font-size:17px;line-height:1.95}.site-rule{background:var(--s-line);border:0;height:1px;margin:0}.site-btn,.site-btn-outline{border-radius:var(--s-radius-sm);cursor:pointer;transition:transform .24s var(--s-ease),background .24s var(--s-ease);align-items:center;gap:8px;padding:15px 26px;font-family:inherit;font-size:14px;text-decoration:none;display:inline-flex}.site-btn{background:var(--s-ink);color:var(--s-bg);border:1px solid var(--s-ink)}.site-btn:hover{background:var(--s-ink-strong);transform:translateY(-2px)}.site-btn-outline{background:var(--s-bg);color:var(--s-ink);border:1px solid var(--s-line-strong)}.site-btn-outline:hover{background:var(--s-shade)}.site-btn:disabled,.site-btn-outline:disabled{opacity:.55;cursor:not-allowed;transform:none}.site-card{background:var(--s-surface);border:1px solid var(--s-line);border-radius:var(--s-radius);color:inherit;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}a.site-card{transition:transform var(--s-dur)var(--s-ease),box-shadow var(--s-dur)var(--s-ease)}a.site-card:hover{box-shadow:var(--s-shadow-card);transform:translateY(-6px)}.site-tag{color:var(--s-ink-body);background:var(--s-bg);border:1px solid var(--s-line-strong);white-space:nowrap;border-radius:999px;padding:6px 14px;font-size:12px;text-decoration:none;display:inline-block}a.site-tag{transition:background .24s var(--s-ease)}a.site-tag:hover{background:var(--s-shade)}.site-link{color:var(--s-ink-body);transition:color .24s var(--s-ease);text-decoration:none}.site-link:hover{color:var(--s-ink)}.site a:focus-visible,.site button:focus-visible,.site input:focus-visible,.site textarea:focus-visible,.site select:focus-visible,.site summary:focus-visible{outline:2px solid var(--s-accent-deep);outline-offset:3px;border-radius:2px}.site-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-skip{z-index:100;background:var(--s-ink);color:var(--s-bg);padding:12px 20px;font-size:14px;text-decoration:none;position:absolute;top:0;left:-9999px}.site-skip:focus{top:12px;left:12px}.site-nav{z-index:20;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--s-line);background:#fbf8f3db;position:sticky;top:0}.site-nav-inner{align-items:center;gap:32px;padding-top:18px;padding-bottom:18px;display:flex}.site-nav-brand{font-family:var(--s-serif);color:var(--s-ink);font-size:22px;line-height:1;text-decoration:none}.site-nav-links{gap:28px;margin-left:auto;display:flex}.site-nav-link{color:var(--s-ink-soft);transition:color .24s var(--s-ease),border-color .24s var(--s-ease);white-space:nowrap;border-bottom:1px solid #0000;padding-bottom:3px;font-size:13px;text-decoration:none}.site-nav-link:hover{color:var(--s-ink)}.site-nav-link[aria-current=page]{color:var(--s-ink);border-bottom-color:var(--s-accent)}.site-nav-tail{align-items:center;gap:16px;display:flex}.site-nav-cta{color:var(--s-bg);background:var(--s-ink);border-radius:var(--s-radius-sm);white-space:nowrap;transition:background .24s var(--s-ease);padding:9px 16px;font-size:13px;text-decoration:none}.site-nav-cta:hover{background:var(--s-ink-strong)}.site-nav-status{background:var(--s-bg);border:1px solid var(--s-line-strong);color:var(--s-accent-deep);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:5px 12px;font-size:12px;display:inline-flex}.site-nav-dot{background:var(--s-accent-deep);border-radius:50%;width:6px;height:6px}.site-nav-toggle{border:1px solid var(--s-line-strong);border-radius:var(--s-radius-sm);cursor:pointer;background:0 0;margin-left:auto;padding:10px 12px;display:none}.site-nav-bars{width:18px;display:block}.site-nav-bars span{background:var(--s-ink);height:1px;transition:transform .26s var(--s-ease),opacity .26s var(--s-ease);display:block}.site-nav-bars span+span{margin-top:5px}.site-nav-bars.is-open span:first-child{transform:translateY(3px)rotate(45deg)}.site-nav-bars.is-open span:last-child{transform:translateY(-3px)rotate(-45deg)}.site-nav-panel{border-top:1px solid var(--s-line);background:var(--s-bg);padding:12px 0 28px}.site-nav-panel-item{border-bottom:1px solid var(--s-line);padding:16px 0;text-decoration:none;display:block}.site-nav-panel-label{color:var(--s-ink);margin-bottom:4px;font-size:17px;display:block}.site-nav-panel-item[aria-current=page] .site-nav-panel-label{color:var(--s-accent-deep)}.site-nav-panel-summary{color:var(--s-ink-soft);font-size:13px;line-height:1.7;display:block}.site-nav-panel-cta{justify-content:center;width:100%;margin-top:24px}.site-breadcrumb ol{font-family:var(--s-mono);letter-spacing:.04em;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 32px;padding:0;font-size:11px;list-style:none;display:flex}.site-breadcrumb li{align-items:center;gap:8px;display:flex}.site-breadcrumb a{color:var(--s-muted);transition:color .24s var(--s-ease);text-decoration:none}.site-breadcrumb a:hover{color:var(--s-ink)}.site-breadcrumb span[aria-current=page]{color:var(--s-ink-body)}.site-breadcrumb-sep{color:var(--s-line-strong)}.site-pageheader{padding:56px 0 64px}.site-pageheader-lead{max-width:620px;margin-top:26px}.site-pageheader-aside{flex-wrap:wrap;align-items:center;gap:10px;margin-top:26px;display:flex}.site-cta{background:var(--s-surface-alt);border-top:1px solid var(--s-line);margin-top:96px;padding:96px 0}.site-cta-body{max-width:560px;margin-top:22px}.site-cta-actions{flex-wrap:wrap;gap:14px;margin-top:36px;display:flex}.site-footer{border-top:1px solid var(--s-line);padding:72px 0 48px}.site-footer-grid{grid-template-columns:1.6fr 1fr 1fr;gap:48px;display:grid}.site-footer-logo{font-family:var(--s-serif);color:var(--s-ink);margin-bottom:16px;font-size:24px}.site-footer-tagline{color:var(--s-ink-body);margin:0 0 20px;font-size:13px;line-height:2}.site-footer-contacts{flex-direction:column;gap:8px;font-size:13px;display:flex}.site-footer-heading{font-family:var(--s-mono);letter-spacing:.12em;color:var(--s-muted);margin:0 0 18px;font-size:11px;font-weight:400}.site-footer-col ul{flex-direction:column;gap:12px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.site-footer-base{border-top:1px solid var(--s-line);color:var(--s-muted);flex-wrap:wrap;align-items:baseline;gap:16px;margin-top:56px;padding-top:24px;font-size:12px;display:flex}.site-footer-copy{font-family:var(--s-mono);margin-left:auto;font-size:11px}.work-grid{grid-template-columns:1fr 1fr;gap:32px;margin:0;padding:0;list-style:none;display:grid}.work-card{height:100%}.work-cover{justify-content:center;height:400px;display:flex;position:relative;overflow:hidden}.work-cover-device{align-items:flex-end}.work-cover-device .work-cover-img{width:auto;height:380px;box-shadow:var(--s-shadow-lift);border-radius:26px;margin-bottom:-32px}.work-cover-icon{align-items:center}.work-cover-icon .work-cover-img{border-radius:25px;width:112px;height:112px;box-shadow:0 14px 32px #3c281433}.work-cover-img{display:block}.work-status{border:1px solid var(--s-line-strong);color:var(--s-accent-deep);background:#fbf8f3eb;border-radius:999px;padding:5px 12px;font-size:12px;position:absolute;top:16px;right:16px}.work-card-body{flex-direction:column;flex:1;padding:26px 28px;display:flex}.work-card-head{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:10px;display:flex}.work-card-name{font-family:var(--s-serif);color:var(--s-ink);margin:0;font-size:30px;font-weight:400;line-height:1.15}.work-card-meta{font-family:var(--s-mono);color:var(--s-muted);letter-spacing:.08em;font-size:11px}.work-card-installs{font-family:var(--s-mono);color:var(--s-accent-deep);letter-spacing:.04em;white-space:nowrap;margin-left:auto;font-size:11px}.work-card-summary{color:var(--s-ink-body);flex:1;margin:0 0 14px;font-size:14px;line-height:1.8}.work-card-stack{font-family:var(--s-mono);color:var(--s-muted-soft);letter-spacing:.04em;margin:0;font-size:11px}.work-hero{border:1px solid var(--s-line);border-radius:var(--s-radius);overflow:hidden}.work-facts{background:var(--s-line);border:1px solid var(--s-line);border-radius:var(--s-radius);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;margin:48px 0 0;display:grid;overflow:hidden}.work-fact{background:var(--s-surface);padding:24px 26px}.work-fact dt{font-family:var(--s-mono);color:var(--s-muted);letter-spacing:.08em;margin-bottom:10px;font-size:11px}.work-fact dd{color:var(--s-ink);margin:0;font-size:15px;line-height:1.7}.work-fact-number{font-family:var(--s-serif);letter-spacing:-.01em;font-size:30px;font-weight:400;line-height:1.1}.work-links{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.work-body{padding-top:88px}.work-section+.work-section{margin-top:64px}.work-section-heading{border-bottom:1px solid var(--s-line);margin-bottom:24px;padding-bottom:18px}.work-paragraph{color:var(--s-ink-body);margin:0 0 20px;font-size:16px;line-height:2.05}.work-paragraph:last-child{margin-bottom:0}.site-next{background:var(--s-surface);border:1px solid var(--s-line);border-radius:var(--s-radius);transition:transform var(--s-dur)var(--s-ease),box-shadow var(--s-dur)var(--s-ease);margin-top:88px;padding:36px 40px;text-decoration:none;display:block}.site-next:hover{box-shadow:var(--s-shadow-card);transform:translateY(-4px)}.site-next-label{margin-bottom:12px;display:block}.site-next-name{font-family:var(--s-serif);color:var(--s-ink);margin-bottom:8px;font-size:34px;line-height:1.2;display:block}.site-next-summary{color:var(--s-ink-body);font-size:14px;line-height:1.8;display:block}.service-list{background:var(--s-line);border:1px solid var(--s-line);border-radius:var(--s-radius);grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.service-item{background:var(--s-surface);padding:40px}.service-situation{font-family:var(--s-mono);color:var(--s-accent-deep);letter-spacing:.04em;margin:0 0 16px;font-size:12px}.service-title{margin-bottom:18px}.service-body{color:var(--s-ink-body);margin:0 0 24px;font-size:15px;line-height:2}.service-deliverables{border-top:1px solid var(--s-line);color:var(--s-ink-soft);flex-direction:column;gap:10px;margin:0;padding-top:22px;font-size:13px;line-height:1.8;list-style:none;display:flex}.service-deliverables li{padding-left:18px;position:relative}.service-deliverables li:before{content:"";background:var(--s-accent);width:6px;height:1px;position:absolute;top:.72em;left:0}.service-estimates-section{padding-top:96px}.service-estimates-lead{max-width:640px;margin-top:22px}.service-estimates{grid-template-columns:1fr 1fr;gap:24px;margin:48px 0 0;padding:0;list-style:none;display:grid}.service-estimate{background:var(--s-surface);border:1px solid var(--s-line);border-radius:var(--s-radius);padding:30px 32px}.service-estimate-head{border-bottom:1px solid var(--s-line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:18px;padding-bottom:18px;display:flex}.service-estimate-label{color:var(--s-ink);margin:0;font-size:17px;font-weight:600;line-height:1.5}.service-estimate-duration{font-family:var(--s-serif);color:var(--s-accent-deep);white-space:nowrap;margin:0;font-size:26px;line-height:1.1}.service-estimate-body{color:var(--s-ink-body);margin:0 0 16px;font-size:14px;line-height:2}.service-estimate-premise{font-family:var(--s-mono);letter-spacing:.04em;color:var(--s-muted);margin:0;font-size:11px;line-height:1.8}.service-estimates-note{color:var(--s-ink-soft);max-width:720px;margin:32px 0 0;font-size:14px;line-height:2}.service-steps-band{background:var(--s-surface-alt);border-top:1px solid var(--s-line);border-bottom:1px solid var(--s-line);margin-top:96px;padding:96px 0}.service-steps{margin:56px 0 0;padding:0;list-style:none}.service-step{border-top:1px solid var(--s-line);grid-template-columns:88px 1fr;gap:32px;padding:32px 0;display:grid}.service-step:last-child{border-bottom:1px solid var(--s-line)}.service-step-no{font-family:var(--s-serif);color:var(--s-accent);font-size:40px;line-height:1}.service-step-title{color:var(--s-ink);margin:0 0 10px;font-size:19px;font-weight:600}.service-step-body{color:var(--s-ink-body);max-width:640px;margin:0;font-size:15px;line-height:2}.service-gantt-title{font-family:var(--s-serif);color:var(--s-ink);letter-spacing:-.02em;margin:72px 0 16px;font-size:32px;font-weight:400;line-height:1.2}.service-gantt-lead{color:var(--s-ink-body);max-width:640px;margin:0 0 36px;font-size:15px;line-height:2}.gantt-wrap{background:var(--s-surface);border:1px solid var(--s-line);border-radius:var(--s-radius);padding:32px 34px 26px}.gantt{overflow-x:auto}.gantt-head,.gantt-row{grid-template-columns:230px minmax(400px,1fr);align-items:center;gap:24px;display:grid}.gantt-head{border-bottom:1px solid var(--s-line);margin-bottom:8px;padding-bottom:12px}.gantt-head-weeks,.gantt-track{grid-template-columns:repeat(var(--gantt-weeks),minmax(52px,1fr));gap:4px;display:grid}.gantt-week{font-family:var(--s-mono);color:var(--s-muted);text-align:center;font-size:11px}.gantt-rows{margin:0;padding:0;list-style:none}.gantt-row{padding:10px 0}.gantt-name{color:var(--s-ink);font-size:14px;line-height:1.5;display:block}.gantt-deliverable{color:var(--s-ink-soft);margin-top:5px;padding-left:12px;font-size:12px;line-height:1.65;display:block;position:relative}.gantt-deliverable:before{content:"";background:var(--s-accent);width:6px;height:1px;position:absolute;top:.62em;left:0}.gantt-bar{grid-column:var(--start)/span var(--span);background:var(--s-shade);border:1px solid var(--s-line-strong);border-left:3px solid var(--s-accent);border-radius:var(--s-radius-sm);align-items:center;min-height:40px;padding:8px 14px;display:flex}.gantt-bar-text{font-family:var(--s-mono);letter-spacing:.02em;color:var(--s-ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.5;overflow:hidden}.gantt-caption{font-family:var(--s-mono);letter-spacing:.04em;color:var(--s-muted);margin:22px 0 0;font-size:11px}.service-links{padding-top:96px}.service-links-actions{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.faq-body{max-width:880px}.faq-group+.faq-group{margin-top:72px}.faq-category{font-family:var(--s-mono);letter-spacing:.12em;color:var(--s-accent-deep);margin:0 0 24px;font-size:12px;font-weight:400}.faq-list{border-top:1px solid var(--s-line);margin:0;padding:0;list-style:none}.faq-item{border-bottom:1px solid var(--s-line)}.faq-question{cursor:pointer;color:var(--s-ink);justify-content:space-between;align-items:flex-start;gap:24px;padding:26px 0;font-size:17px;line-height:1.7;list-style:none;display:flex}.faq-question::-webkit-details-marker{display:none}.faq-marker{flex:none;width:14px;height:14px;margin-top:7px;position:relative}.faq-marker:before,.faq-marker:after{content:"";background:var(--s-accent-deep);transition:transform .26s var(--s-ease),opacity .26s var(--s-ease);position:absolute}.faq-marker:before{width:14px;height:1px;top:6px;left:0}.faq-marker:after{width:1px;height:14px;top:0;left:6px}.faq-item[open] .faq-marker:after{opacity:0;transform:rotate(90deg)}.faq-answer{max-width:680px;padding:0 0 28px}.faq-answer p{color:var(--s-ink-body);margin:0 0 16px;font-size:15px;line-height:2.05}.faq-answer p:last-child{margin-bottom:0}.about-intro{grid-template-columns:320px 1fr;align-items:start;gap:64px;display:grid}.about-portrait{background:var(--s-surface);border:1px solid var(--s-line);border-radius:var(--s-radius);justify-content:center;align-items:center;padding:48px;display:flex;overflow:hidden}.about-portrait img{width:100%;max-width:200px;height:auto;display:block}.about-lede p{color:var(--s-ink-body);margin:0 0 24px;font-size:16px;line-height:2.1}.about-lede p:last-child{margin-bottom:0}.about-section{padding-top:96px}.about-stack{grid-template-columns:repeat(2,1fr);gap:40px;margin-top:48px;display:grid}.about-stack-area{border-bottom:1px solid var(--s-line);font-family:var(--s-mono);letter-spacing:.1em;color:var(--s-muted);margin:0 0 18px;padding-bottom:14px;font-size:12px;font-weight:400}.about-stack-group ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.about-note{color:var(--s-ink-soft);max-width:640px;margin:40px 0 0;font-size:14px;line-height:2}.about-career-lead{margin-top:22px}.about-career{border-top:1px solid var(--s-line);margin:48px 0 0;padding:0;list-style:none}.about-role{border-bottom:1px solid var(--s-line);grid-template-columns:220px minmax(0,1fr);gap:40px;padding:40px 0;display:grid}.about-role-period{font-family:var(--s-mono);letter-spacing:.06em;color:var(--s-accent-deep);margin:0 0 10px;font-size:12px}.about-role-org{color:var(--s-ink-soft);margin:0;font-size:13px;line-height:1.8}.about-role-title{font-family:var(--s-serif);color:var(--s-ink);letter-spacing:-.01em;margin:0 0 6px;font-size:28px;font-weight:400;line-height:1.25}.about-role-position{font-family:var(--s-mono);letter-spacing:.08em;color:var(--s-muted);margin:0 0 20px;font-size:11px}.about-role-body{color:var(--s-ink-body);max-width:640px;margin:0 0 18px;font-size:15px;line-height:2.05}.about-role-highlights{margin-top:24px;padding-top:22px}.about-role-stack{font-family:var(--s-mono);letter-spacing:.04em;color:var(--s-muted-soft);margin:22px 0 0;font-size:11px}.about-awards{grid-template-columns:1fr 1fr;gap:32px;margin-top:56px;display:grid}.about-award{background:var(--s-surface);border:1px solid var(--s-line);border-radius:var(--s-radius);padding:32px 34px}.about-award-title{color:var(--s-ink);margin:0 0 14px;font-size:17px;font-weight:600;line-height:1.6}.about-award-body{color:var(--s-ink-body);margin:0;font-size:14px;line-height:2}.about-principles-band{background:var(--s-surface-alt);border-top:1px solid var(--s-line);border-bottom:1px solid var(--s-line);margin-top:96px;padding:96px 0}.about-principles-lead{max-width:560px;margin-top:22px}.about-principles{grid-template-columns:1fr 1fr;gap:40px;margin:56px 0 0;padding:0;list-style:none;display:grid}.about-principle{background:var(--s-surface);border:1px solid var(--s-line);border-radius:var(--s-radius);padding:32px 36px}.about-principle-title{color:var(--s-ink);margin:0 0 14px;font-size:18px;font-weight:600;line-height:1.6}.about-principle-body{color:var(--s-ink-body);margin:0;font-size:14px;line-height:2}.contact-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:64px;padding-bottom:96px;display:grid}.contact-form{background:var(--s-surface);border:1px solid var(--s-line);border-radius:var(--s-radius);flex-direction:column;gap:26px;padding:40px;display:flex}.contact-row{grid-template-columns:1fr 1fr;gap:26px;display:grid}.contact-field{flex-direction:column;display:flex}.contact-field label{font-family:var(--s-mono);letter-spacing:.08em;color:var(--s-muted);align-items:center;gap:10px;margin-bottom:10px;font-size:11px;display:flex}.contact-required{font-family:var(--s-sans);letter-spacing:0;color:var(--s-accent-deep);border:1px solid var(--s-line-strong);border-radius:3px;padding:2px 6px;font-size:10px}.contact-field input,.contact-field select,.contact-field textarea{width:100%;color:var(--s-ink);background:var(--s-bg);border:1px solid var(--s-line-strong);box-sizing:border-box;transition:border-color .24s var(--s-ease);border-radius:6px;padding:13px 14px;font-family:inherit;font-size:15px}.contact-field input:hover,.contact-field select:hover,.contact-field textarea:hover{border-color:var(--s-accent)}.contact-field select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--s-muted)50%),linear-gradient(135deg,var(--s-muted)50%,transparent 50%);background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px;background-repeat:no-repeat;background-size:5px 5px;padding-right:40px}.contact-field textarea{resize:vertical;line-height:1.85}.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--s-muted-soft)}.contact-hint{color:var(--s-ink-soft);margin:10px 0 0;font-size:12px;line-height:1.8}.contact-hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.contact-turnstile{min-height:65px}.contact-error{border-radius:var(--s-radius-sm);color:#a35f5f;background:#fbf1f1;border:1px solid #eddada;margin:0;padding:12px 16px;font-size:13px}.contact-submit{border:0;align-self:flex-start}.contact-done{background:var(--s-surface);border:1px solid var(--s-line);border-radius:var(--s-radius);padding:48px 40px}.contact-done-title{font-family:var(--s-serif);color:var(--s-ink);margin:0 0 14px;font-size:36px;line-height:1.2}.contact-done-body{color:var(--s-ink-body);margin:0;font-size:15px;line-height:2}.contact-aside-block+.contact-aside-block{border-top:1px solid var(--s-line);margin-top:40px;padding-top:40px}.contact-aside-body{color:var(--s-ink-body);margin:0 0 16px;font-size:13px;line-height:2}.contact-aside-links{flex-direction:column;gap:10px;font-size:13px;display:flex}.contact-flow{color:var(--s-ink);flex-direction:column;gap:12px;margin:0 0 20px;padding:0;font-size:14px;list-style:none;display:flex}.contact-flow li{align-items:baseline;gap:14px;display:flex}.contact-flow-no{font-family:var(--s-mono);color:var(--s-accent);font-size:11px}.home-hero{grid-template-columns:1.25fr 1fr;align-items:end;gap:72px;padding-top:96px;padding-bottom:88px;display:grid}.home-hero-title{font-family:var(--s-serif);color:var(--s-ink);letter-spacing:-.025em;margin:0 0 24px;font-size:124px;font-weight:400;line-height:.92}.home-hero-rule{background:var(--s-line-strong);border:0;width:160px;height:1px;margin:0 0 28px}.home-hero-lead{max-width:520px;margin-bottom:36px}.home-hero-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.home-hero-portrait{background:var(--s-surface);border:1px solid var(--s-line);border-radius:6px;justify-content:center;align-items:center;width:100%;height:540px;display:flex;overflow:hidden;box-shadow:0 24px 60px #3c28141f}.home-hero-portrait img{width:58%;max-width:300px;height:auto;display:block}.home-facts-band{background:var(--s-surface-alt);border-top:1px solid var(--s-line);border-bottom:1px solid var(--s-line);padding:44px 0}.home-facts{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:32px;margin:0;display:grid}.home-fact dt{font-family:var(--s-mono);letter-spacing:.1em;color:var(--s-muted);margin-bottom:10px;font-size:11px}.home-fact dd{color:var(--s-ink);margin:0;font-size:16px;line-height:1.6}.home-fact-number{font-family:var(--s-serif);letter-spacing:-.01em;margin-right:2px;font-size:28px;font-weight:400}.home-section{padding-top:96px}.home-section-head{margin-bottom:48px}.home-section-lead{max-width:560px;margin-top:22px}.home-more{margin-top:48px}.home-services-band{background:var(--s-surface-alt);border-top:1px solid var(--s-line);border-bottom:1px solid var(--s-line);margin-top:96px;padding:96px 0}.home-services{grid-template-columns:1fr 1fr;gap:32px;margin:0;padding:0;list-style:none;display:grid}.home-service{background:var(--s-surface);border:1px solid var(--s-line);border-radius:var(--s-radius);padding:32px 34px}.home-service-title{font-family:var(--s-serif);color:var(--s-ink);margin:0 0 14px;font-size:26px;font-weight:400;line-height:1.25}.home-service-body{color:var(--s-ink-body);margin:0;font-size:14px;line-height:2}.home-faq{max-width:880px}@media (max-width:1040px){.site-nav-links{gap:20px}.site-nav-status{display:none}}@media (max-width:880px){.site-h1{font-size:48px}.site-h2{font-size:40px}.site-h3{font-size:26px}.site-nav-links,.site-nav-tail{display:none}.site-nav-toggle{display:block}.site-footer-grid{grid-template-columns:1fr;gap:40px}.site-cta{margin-top:72px;padding:72px 0}.site-pageheader{padding:36px 0 44px}.work-grid{grid-template-columns:1fr}.work-facts{grid-template-columns:1fr 1fr}.work-body{padding-top:64px}.site-next{margin-top:64px;padding:28px 24px}.service-list,.service-estimates{grid-template-columns:1fr}.service-item{padding:32px 24px}.service-estimates-section{padding-top:72px}.service-estimate{padding:26px 24px}.service-estimate-duration{font-size:22px}.gantt-wrap{padding:24px 20px 20px}.service-gantt-title{margin-top:56px;font-size:26px}.service-steps-band,.about-principles-band{margin-top:72px;padding:72px 0}.service-step{grid-template-columns:56px 1fr;gap:20px}.service-step-no{font-size:30px}.service-links,.about-section{padding-top:72px}.about-intro{grid-template-columns:1fr;gap:40px}.about-portrait{padding:40px}.about-stack,.about-principles,.about-awards{grid-template-columns:1fr;gap:28px}.about-role{grid-template-columns:1fr;gap:20px;padding:32px 0}.about-role-title{font-size:24px}.about-award,.about-principle{padding:26px 24px}.contact-layout{grid-template-columns:1fr;gap:48px;padding-bottom:72px}.contact-form{padding:28px 24px}.contact-row{grid-template-columns:1fr;gap:26px}.contact-done{padding:36px 24px}.contact-done-title{font-size:28px}.home-hero{grid-template-columns:1fr;gap:44px;padding-top:56px;padding-bottom:64px}.home-hero-title{font-size:88px}.home-hero-portrait{height:380px}.home-facts{grid-template-columns:1fr 1fr;gap:28px}.home-section{padding-top:72px}.home-services-band{margin-top:72px;padding:72px 0}.home-services{grid-template-columns:1fr}.home-service{padding:26px 24px}}@media (max-width:560px){.work-cover{height:340px}.work-cover-device .work-cover-img{height:320px}.work-facts{grid-template-columns:1fr}.site-next-name{font-size:26px}.site-h1{font-size:40px}.site-h2{font-size:32px}.site-footer-copy{width:100%;margin-left:0}.home-hero-title{font-size:64px}.home-facts{grid-template-columns:1fr;gap:22px}}@media (prefers-reduced-motion:reduce){.site *,.site :before,.site :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
