.exp-dialog{--exp-paper:var(--paper,#f7f5ef);--exp-ink:var(--ink,#20352e);--exp-green:var(--green,#214d3c);--exp-lime:var(--lime,#d5ea8a);--exp-line:var(--line,#d1d4c9);border:1px solid var(--exp-line);background:var(--exp-paper);width:min(850px,100vw - 64px);max-width:none;max-height:min(900px,100dvh - 64px);color:var(--exp-ink);border-radius:4px;margin:auto;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,sans-serif;overflow:visible}.exp-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#16271f9e}.exp-dialog[open]{animation:.22s ease-out exp-enter}.exp-dialog *,.exp-dialog :before,.exp-dialog :after{box-sizing:border-box}.exp-dialog button,.exp-dialog input,.exp-dialog textarea,.exp-dialog select{font:inherit}.exp-dialog button{cursor:pointer}.exp-dialog button:disabled{cursor:not-allowed;opacity:.4}.exp-dialog :focus-visible{outline:2px solid var(--exp-green);outline-offset:4px}.exp-dialog h2:focus,.exp-question legend:focus{outline:none}.exp-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;border-radius:4px;max-height:min(898px,100dvh - 66px);overflow:hidden auto}.exp-dialog-header{border-bottom:1px solid var(--exp-line);justify-content:space-between;align-items:center;padding:23px 40px;display:flex}.exp-dialog-brand{letter-spacing:-1.5px;font-size:24px;font-weight:800;line-height:1}.exp-dialog-brand>span{color:#738b49}.exp-close{min-height:44px;color:inherit;background:0 0;border:0;align-items:center;gap:12px;padding:0 4px 0 12px;display:flex}.exp-close-label{letter-spacing:1px;font-size:12px}.exp-close>span:last-child{font-size:32px;font-weight:300;line-height:1}.exp-dialog-content{padding:40px 52px 32px}.exp-kicker{letter-spacing:1.5px;color:#56705f;margin-bottom:19px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;line-height:1.6}.exp-dialog h2{letter-spacing:-1.6px;text-wrap:balance;margin:0;font-size:clamp(27px,3.7vw,40px);font-weight:600;line-height:1.45}.exp-intro{color:#56645a;max-width:610px;margin:18px 0 28px;font-size:14px;line-height:1.9}.exp-intro-short{margin-bottom:32px}.exp-button{border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;gap:20px;min-height:48px;padding:13px 20px;line-height:1.5;text-decoration:none;transition:background .18s,color .18s,border-color .18s;display:inline-flex;font-size:13px!important}.exp-button>span{font-size:19px;line-height:1}.exp-button-primary{background:var(--exp-green);color:var(--exp-paper)}.exp-button-primary:hover:not(:disabled){background:#153828}.exp-button-outline{color:var(--exp-ink);background:0 0;border-color:#aeb8ac}.exp-button-outline:hover:not(:disabled){background:#e9ecdf}.exp-button-text{color:var(--exp-ink);background:0 0;padding-inline:10px}.exp-button-text:hover:not(:disabled){background:#e9ecdf}.exp-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px;display:flex}.exp-progress-label{color:#687467;justify-content:space-between;align-items:center;gap:16px;font-size:11px;display:flex}.exp-progress-label>span:first-child{color:var(--exp-green);white-space:nowrap;font-family:ui-monospace,monospace}.exp-progress{grid-template-columns:repeat(5,1fr);gap:6px;margin-top:12px;display:grid}.exp-progress>span{background:#dfe3d6;height:3px;transition:background .2s}.exp-progress>span.is-filled{background:#769251}.exp-question{border:0;min-width:0;margin:31px 0 0;padding:0}.exp-question legend{letter-spacing:-.5px;width:100%;margin-bottom:22px;padding:0;font-size:21px;font-weight:550;line-height:1.6}.exp-options{gap:10px;display:grid}.exp-option{border:1px solid var(--exp-line);cursor:pointer;background:0 0;align-items:center;gap:15px;min-height:72px;padding:17px 18px;font-size:13px;line-height:1.75;transition:background .15s,border-color .15s;display:flex;position:relative}.exp-option:hover{background:#edf0e4;border-color:#8a9f78}.exp-option.is-selected{background:#e4edce;border-color:#658351}.exp-option:has(input:focus-visible){outline:2px solid var(--exp-green);outline-offset:3px}.exp-option>input{opacity:0;width:1px;height:1px;position:absolute}.exp-option-letter{color:#718166;flex-shrink:0;font-family:ui-monospace,monospace;font-size:11px}.exp-option>span:nth-last-child(2){flex:1}.exp-option-check{color:#456339;width:16px;font-weight:600}.exp-question-actions{justify-content:space-between}.exp-footnote{color:#647060;margin:20px 0 0;font-size:11px;line-height:1.8}.exp-result-steps{border-top:1px solid var(--exp-line);margin:30px 0;padding:0;list-style:none}.exp-result-steps>li{border-bottom:1px solid var(--exp-line);align-items:baseline;gap:21px;padding:20px 0;font-size:14px;line-height:1.8;display:flex}.exp-step-number{color:#72884f;font-family:ui-monospace,monospace;font-size:12px}.exp-service-match{flex-wrap:wrap;align-items:baseline;gap:12px;margin:24px 0;display:flex}.exp-service-match>span{color:#63715e;font-size:11px}.exp-service-match>strong{font-size:15px;font-weight:500}.exp-rule-details{border-block:1px solid var(--exp-line);color:#596651;padding:16px 0;font-size:12px;line-height:1.9}.exp-rule-details>summary{cursor:pointer;color:var(--exp-ink);font-size:12px}.exp-rule-details p{margin:14px 0 0}.exp-rule-details ol{margin:12px 0 0;padding-left:20px}.exp-rule-details li+li{margin-top:7px}.exp-gaps{background:#e9eedf;padding:17px 20px}.exp-gaps h3{margin:0 0 8px;font-size:13px;font-weight:550}.exp-gaps ul{margin:0;padding-left:18px;font-size:12px;line-height:1.8}.exp-restart{color:#63715e;background:0 0;border:0;border-bottom:1px solid #bac3b0;min-height:40px;margin-top:20px;padding:0;font-size:11px!important}.exp-local-notice{color:#526548;background:#eaf0de;align-items:flex-start;gap:11px;margin:0 0 28px;padding:15px 17px;font-size:11px;line-height:1.9;display:flex}.exp-local-notice strong{color:#314e30;font-weight:550}.exp-notice-dot{background:#638244;border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-top:8px}.exp-saved-draft{color:#5d6e55;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:0 0 22px;font-size:11px;display:flex}.exp-saved-draft button{color:var(--exp-green);text-underline-offset:5px;background:0 0;border:0;padding:8px 0;text-decoration:underline}.exp-form-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.exp-field{flex-direction:column;align-items:stretch;gap:9px;min-width:0;font-size:12px;line-height:1.6;display:flex}.exp-field-full{grid-column:1/-1}.exp-required{color:#597835;padding-left:3px}.exp-optional{color:#677260;margin-left:7px;font-size:10px}.exp-field input,.exp-field textarea,.exp-field select{width:100%;min-width:0;color:var(--exp-ink);background:#fbfaf5;border:1px solid #bfc7b6;border-radius:2px;padding:12px 14px;font-size:13px;line-height:1.7;transition:border-color .15s}.exp-field input{min-height:48px}.exp-field select{min-height:48px;padding-right:28px}.exp-field textarea{resize:vertical;min-height:104px}.exp-field input::placeholder,.exp-field textarea::placeholder{color:#78816f;opacity:1;font-size:12px}.exp-field input:focus,.exp-field textarea:focus,.exp-field select:focus{outline-offset:2px;border-color:#5c7a44;outline:2px solid #b4ca92}.exp-field input[aria-invalid=true],.exp-field textarea[aria-invalid=true]{border-color:#a94730}.exp-field-hint{color:#63715d;font-size:10px}.exp-field-error{color:#9e3f2d;font-size:11px}.exp-diagnosis-attached{color:#52683e;border-bottom:1px solid var(--exp-line);margin:14px 0 0;padding:16px 0;font-size:11px;line-height:1.8}.exp-draft-actions{flex-wrap:wrap;gap:23px;margin-top:24px;display:flex}.exp-draft-actions>button{color:#4e6440;text-underline-offset:5px;background:0 0;border:0;min-height:40px;padding:6px 0;font-size:11px;text-decoration:underline}.exp-draft-actions+.exp-footnote{margin-top:0}.exp-required-note{color:#69775e;font-size:11px}.exp-status{color:#4c683c;min-height:20px;margin:18px 0 0;font-size:12px;line-height:1.8}.exp-preview-topline{letter-spacing:1px;border-bottom:1px solid var(--exp-line);color:#667759;justify-content:space-between;gap:10px;padding-bottom:13px;font-family:ui-monospace,monospace;font-size:10px;display:flex}.exp-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;border-bottom:1px solid var(--exp-line);color:#3a4e35;margin:0;padding:25px 0;font:13px/2 system-ui,PingFang SC,sans-serif}.exp-copy-helper{position:fixed;top:0;left:-9999px}.exp-tabs{border-bottom:1px solid #abb7a0;grid-template-columns:repeat(3,1fr);margin-top:35px;display:grid}.exp-tabs>button{color:#6b795f;background:0 0;border:0;border-bottom:3px solid #0000;justify-content:center;align-items:center;gap:10px;min-height:58px;margin-bottom:-1px;padding:15px 6px;font-size:13px;display:flex}.exp-tabs>button>span{font-family:ui-monospace,monospace;font-size:10px}.exp-tabs>button[aria-selected=true]{border-bottom-color:var(--exp-green);color:var(--exp-green);background:#e8eddc}.exp-workshop-panel{padding:31px 0 0}.exp-workshop-panel .exp-kicker{margin-bottom:12px;font-size:9px}.exp-workshop-panel h3{letter-spacing:-.5px;margin:0;font-size:21px;font-weight:550;line-height:1.65}.exp-workshop-panel>p:not(.exp-workshop-note){color:#596751;margin:14px 0 25px;font-size:13px;line-height:1.9}.exp-learning-flow{border-top:1px solid var(--exp-line);margin:0}.exp-learning-flow>div{border-bottom:1px solid var(--exp-line);grid-template-columns:76px 1fr;gap:18px;padding:19px 0;display:grid}.exp-learning-flow dt{color:#657750;padding-top:3px;font-size:11px}.exp-learning-flow dd{margin:0;font-size:13px;line-height:1.9}.exp-workshop-note{color:#405b34;background:#e6eed6;margin:25px 0 0;padding:17px 19px;font-size:12px;line-height:1.9}.exp-article-meta{color:#6c765e;gap:22px;margin:23px 0 32px;font-size:11px;line-height:1.8;display:flex}.exp-article-deck{border-top:1px solid var(--exp-line);border-bottom:1px solid var(--exp-line);color:#4a6241;margin:0 0 30px;padding:23px 0;font-size:16px;line-height:1.9}.exp-article-body{max-width:620px}.exp-article-body p{color:#35482f;text-align:left;margin:0 0 25px;font-size:15px;line-height:2.15}.exp-article-end{border-block:1px solid var(--exp-line);align-items:center;gap:18px;margin-top:32px;padding:20px 0;display:flex}.exp-article-end>span{color:#7c934e;font-size:40px;line-height:1}.exp-article-end p{color:#526944;margin:0;font-size:12px;line-height:1.9}@keyframes exp-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.exp-dialog{border-radius:3px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.exp-scroll{scrollbar-gutter:auto;max-height:calc(100dvh - 26px)}.exp-dialog-header{padding:12px 22px}.exp-dialog-content{padding:28px 22px 24px}.exp-dialog h2{letter-spacing:-1px;font-size:28px}.exp-kicker{letter-spacing:1px;margin-bottom:16px;font-size:9px}.exp-intro{margin-bottom:24px;font-size:13px}.exp-progress-label>span:last-child{display:none}.exp-question{margin-top:26px}.exp-question legend{margin-bottom:18px;font-size:19px}.exp-option{gap:12px;min-height:76px;padding:14px 13px;font-size:12px}.exp-button{gap:13px;padding:12px 16px;font-size:12px!important}.exp-actions{gap:10px;margin-top:25px}.exp-result-steps>li{gap:14px;padding:17px 0;font-size:13px}.exp-form-grid{grid-template-columns:1fr;gap:20px}.exp-field input,.exp-field textarea,.exp-field select{font-size:16px}.exp-preview .exp-actions>.exp-button-primary,.exp-preview .exp-actions>.exp-button-outline{flex:1}.exp-preview pre{font-size:12px;line-height:1.95}.exp-tabs>button{gap:6px;min-height:56px;font-size:11px}.exp-tabs>button>span{font-size:9px}.exp-workshop-panel h3{font-size:19px}.exp-learning-flow>div{grid-template-columns:58px 1fr;gap:12px}.exp-learning-flow dt{font-size:10px}.exp-learning-flow dd{font-size:12px}.exp-workshop>.exp-actions{flex-direction:column;align-items:stretch}.exp-article-body p{font-size:14px;line-height:2.1}.exp-article-deck{font-size:15px}.exp-article .exp-actions{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){.exp-dialog[open]{animation:none}.exp-dialog *,.exp-dialog :before,.exp-dialog :after{scroll-behavior:auto!important;transition:none!important}}.portfolio-section{background:#eeeee5;padding-bottom:72px}.portfolio-heading{justify-content:space-between;align-items:flex-end;gap:50px;margin:48px 0 42px;display:flex}.portfolio-eyebrow{letter-spacing:1.8px;color:var(--muted);margin-bottom:20px;font-size:10px}.portfolio-heading h2{letter-spacing:-.055em;font-size:clamp(45px,5.4vw,78px);font-weight:500;line-height:1.28}.portfolio-heading h2 span{color:#6b8236}.portfolio-intro{max-width:360px;padding-bottom:4px}.portfolio-intro>p{font-size:18px;line-height:1.9}.portfolio-total{letter-spacing:1px;align-items:center;gap:25px;margin-top:25px;font-size:10px;display:flex}.portfolio-total>span{font:36px/1 Georgia,serif}.portfolio-toolbar{border-top:1px solid #aeb8aa;justify-content:space-between;align-items:center;gap:20px;padding:16px 0 28px;display:flex}.portfolio-filters{flex-wrap:wrap;gap:10px;display:flex}.portfolio-filters button{border:1px solid #0000;border-radius:3px;align-items:center;gap:13px;min-height:44px;padding:11px 17px;font-size:14px;transition:background .2s,color .2s;display:inline-flex}.portfolio-filters button[aria-pressed=true]{background:var(--green);color:var(--paper)}.portfolio-filters button:hover{border-color:#9cae95}.portfolio-filters button span{opacity:.7;font-size:10px}.portfolio-count{color:var(--muted);white-space:nowrap;font-size:11px}.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px;display:grid}.portfolio-card{background:var(--paper);border:1px solid #d0d4c8;border-radius:5px;flex-direction:column;transition:transform .25s,box-shadow .25s;display:flex;overflow:hidden}.portfolio-card:hover{transform:translateY(-5px);box-shadow:0 14px 24px #213b2710}.portfolio-cover{aspect-ratio:8/5;background:#d7dfce;border-bottom:1px solid #d0d4c8;position:relative;overflow:hidden}.portfolio-cover img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.portfolio-card:hover .portfolio-cover img{transform:scale(1.035)}.portfolio-number{width:31px;height:31px;color:var(--green);background:#f7f5efed;border:1px solid #214d3c20;border-radius:50%;place-items:center;font-size:11px;display:grid;position:absolute;top:14px;left:14px}.portfolio-launch{color:var(--lime);background:#214d3ce8;border:1px solid #f7f5ef40;border-radius:50%;place-items:center;width:37px;height:37px;font-size:23px;display:grid;position:absolute;bottom:14px;right:14px}.portfolio-card-body{flex-direction:column;flex:1;padding:23px 24px 20px;display:flex}.portfolio-kind{letter-spacing:.04em;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.portfolio-live{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.portfolio-live:before{content:"";background:#739647;border-radius:50%;width:5px;height:5px}.portfolio-card h3{letter-spacing:-.035em;margin:13px 0 9px;font-size:23px;font-weight:600;line-height:1.5}.portfolio-description{color:#596b60;margin-bottom:24px;font-size:14px;line-height:1.85}.portfolio-card-foot{color:var(--muted);border-top:1px solid #d8dcce;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:16px;font-size:11px;display:flex}.portfolio-card-foot strong{color:var(--green);white-space:nowrap;font-size:13px;font-weight:500}.portfolio-card-foot strong span{padding-left:7px}.portfolio-endnote{justify-content:space-between;align-items:center;gap:20px;margin-top:8px;padding-top:30px;display:flex}.portfolio-endnote .mono{letter-spacing:.7px;color:var(--muted);font-size:9px}.portfolio-endnote p{font-size:14px}@media (max-width:1100px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-heading{gap:35px}.portfolio-intro>p{font-size:16px}}@media (max-width:640px){.portfolio-heading{margin-top:30px;margin-bottom:26px;display:block}.portfolio-eyebrow{letter-spacing:1px;margin-bottom:16px;font-size:8px}.portfolio-heading h2{font-size:44px}.portfolio-intro{max-width:none;margin-top:23px}.portfolio-intro>p{font-size:14px;line-height:1.8}.wide-break,.portfolio-total{display:none}.portfolio-toolbar{gap:0;padding:14px 0 22px}.portfolio-filters{justify-content:space-between;gap:3px;width:100%}.portfolio-filters button{gap:6px;padding:8px 9px;font-size:12px}.portfolio-filters button span{font-size:9px}.portfolio-count{display:none}.portfolio-grid{grid-template-columns:1fr;gap:22px}.portfolio-card-body{padding:20px}.portfolio-card h3{font-size:23px}.portfolio-description{margin-bottom:20px;font-size:14px}.portfolio-endnote{padding-top:24px;display:block}.portfolio-endnote .mono{font-size:7px}.portfolio-endnote p{margin-top:13px;font-size:13px}}@media (prefers-reduced-motion:reduce){.portfolio-card,.portfolio-cover img{transition:none}}:root{--paper:#f7f5ef;--ink:#182c27;--green:#214d3c;--lime:#d5ea8a;--line:#c5cabe;--muted:#647067;--font:Inter,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-family:var(--font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;scroll-behavior:smooth;scroll-padding-top:110px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{background:0 0;border:0}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:5px;outline:3px solid #759929}::selection{background:var(--lime);color:var(--green)}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}.shell{width:calc(100% - 112px);max-width:1440px;margin-inline:auto}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-weight:400}.arrow{flex-shrink:0;width:26px;height:26px;transition:transform .25s}.arrow-up{transform:rotate(-45deg)}.arrow-down{transform:rotate(90deg)}.arrow-upward{transform:rotate(-90deg)}.button{white-space:nowrap;border-radius:4px;justify-content:center;align-items:center;gap:15px;min-height:58px;padding:15px 24px;font-size:18px;font-weight:500;line-height:1.4;transition:background .2s,color .2s,transform .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--green);color:var(--paper)}.button-primary:hover{background:#163d2e}.button-outline{border:1px solid var(--ink);background:0 0}.button-outline:hover{background:var(--green);color:var(--paper)}.button-lime{background:var(--lime);color:var(--green)}.button-lime:hover{background:#e2f3ad}.text-link{border-bottom:1px solid;align-items:center;gap:12px;width:-moz-fit-content;width:fit-content;padding:7px 0;font-size:18px;line-height:1.4;display:inline-flex}.text-link:hover .arrow{transform:translate(4px)}.text-link:hover .arrow-down{transform:rotate(90deg)translate(4px)}.text-link:hover .arrow-up{transform:rotate(-45deg)translate(4px)}.skip-link{z-index:100;background:var(--lime);padding:15px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}.site-header{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#f7f5eff5;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:24px;height:86px;display:flex}.wordmark{letter-spacing:-1px;white-space:nowrap;font-size:30px;font-weight:750}.wordmark span{letter-spacing:2px;margin-left:5px}.desktop-nav{align-items:center;gap:50px;margin-left:64px;font-size:17px;display:flex}.desktop-nav a{padding:12px 0;position:relative}.desktop-nav a:after{content:"";background:var(--green);width:0;height:1px;transition:width .25s;position:absolute;bottom:4px;left:0}.desktop-nav a:hover:after{width:100%}.header-contact{min-height:46px;padding:10px 20px;font-size:16px}.header-contact .arrow{width:20px;height:20px}.menu-toggle,.mobile-contact{display:none}.hero-main{align-items:center;min-height:806px;display:flex;position:relative}.hero-copy{z-index:2;pointer-events:none;width:58%;padding:56px 0 70px;position:relative}.hero-copy>*{pointer-events:auto}.hero h1{letter-spacing:-.05em;font-size:clamp(72px,7.9vw,124px);font-weight:650;line-height:1.18}.hero h1 span{color:var(--green)}.hero-copy p{letter-spacing:.005em;margin-top:32px;font-size:clamp(17px,1.55vw,24px);line-height:1.9}.hero-actions{align-items:center;gap:42px;margin-top:38px;display:flex}.hero-actions .button{min-height:66px;padding:17px 29px;font-size:22px}.hero-art{pointer-events:none;width:67%;height:calc(100% - 24px);position:absolute;top:18px;right:-56px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 7% 98%,#0000),linear-gradient(#0000,#000 7% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 7% 98%,#0000),linear-gradient(#0000,#000 7% 94%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.hero-art img{object-fit:cover;object-position:47% center;width:100%;height:100%}.hero-index{border-top:1px solid #9ca89d;grid-template-columns:1fr 1fr 1.1fr auto;align-items:center;gap:38px;min-height:122px;display:grid}.hero-index a{border-right:1px solid #aab3a9;align-items:center;gap:38px;min-height:48px;font-size:18px;transition:color .2s;display:flex}.hero-index a:nth-child(3){border:0}.hero-index a:hover{color:#698923}.hero-index .mono{font-size:17px}.hero-signature{letter-spacing:3px;font-size:12px!important}.section-pad{padding-top:112px;padding-bottom:112px}.section-label{letter-spacing:.03em;align-items:center;gap:18px;margin-bottom:42px;font-size:15px;display:flex}.label-line{background:var(--line);flex:1;height:1px}.label-english{letter-spacing:1.8px;font-size:10px;line-height:1.5}.section-heading{margin-bottom:42px}.section-heading h2{letter-spacing:-.05em;font-size:clamp(32px,5.2vw,82px);font-weight:600;line-height:1.25}.section-heading p{color:#555f55;margin-top:20px;font-size:21px;line-height:1.7}.services-section{padding-bottom:0}.service-list{border-top:1px solid #a9b3a7}.service{border-bottom:1px solid #a9b3a7}.service-row{text-align:left;grid-template-columns:60px 210px minmax(240px,1fr) 245px 32px;align-items:center;gap:28px;width:100%;padding:23px 0;transition:background .2s;display:grid}.service-row:hover{background:#eeeee5}.service-number{letter-spacing:-2px;font-size:35px}.service-row img{object-fit:cover;width:210px;height:124px;transition:filter .3s}.service-row:hover img{filter:brightness(1.04)}.service-copy{flex-direction:column;gap:10px;display:flex}.service-title{letter-spacing:-.03em;font-size:30px;font-weight:600;line-height:1.5}.service-summary{color:#565e54;font-size:17px;line-height:1.75}.service-audience{border-left:1px solid var(--line);color:#5b6259;flex-direction:column;gap:9px;padding-left:26px;font-size:15px;line-height:1.7;display:flex}.service-audience strong{color:var(--ink);font-size:14px;font-weight:600}.service-arrow{width:32px;height:32px}.service-open .service-arrow{transform:rotate(90deg)}.service-detail{grid-template-columns:1fr 1fr;gap:45px;padding:18px 60px 35px 298px;font-size:17px;line-height:1.8;display:grid}.service-detail[hidden]{display:none}.small-label{letter-spacing:2px;color:var(--muted);font-size:12px}.service-detail ul{margin:12px 0 0;padding-left:22px}.service-detail .text-link{margin-top:14px;font-size:16px}.process-band{background:var(--green);color:var(--lime);margin-top:44px;padding:46px 0}.process-inner{align-items:center;display:flex}.process-step{flex:1;align-items:center;gap:25px;display:flex}.process-step>span{white-space:nowrap;align-items:center;gap:17px;font-size:28px;display:flex}.process-step small{opacity:.68;font-size:11px}.process-step .arrow{flex:1;width:90px;max-width:120px;height:25px;margin-right:30px}.process-step:last-child{flex:0}.practice-section{padding-bottom:70px}.practice-toolbar{justify-content:space-between;align-items:flex-end;margin-bottom:22px;display:flex}.filters{align-items:center;gap:34px;display:flex}.filters button{border-bottom:2px solid #0000;padding:10px 0;font-size:16px;transition:border .2s;position:relative}.filters button.active{border-color:var(--green);font-weight:650}.filters button:hover{color:#748d37}.practice-note{letter-spacing:1px;align-items:center;gap:32px;font-size:10px;line-height:1.7;display:flex}.practice-note .arrow{width:30px;height:30px}.filter-result{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.projects{grid-template-columns:3fr 2fr;gap:20px;display:grid}.project{text-align:left;flex-direction:column;padding:0;transition:transform .35s;display:flex;position:relative;overflow:hidden}.project:hover{transform:translateY(-5px)}.project picture{width:100%;display:block}.project-workshop picture img{object-fit:contain}.project img{object-fit:cover;object-position:center;width:100%;height:302px;transition:transform .5s}.project:hover img{transform:scale(1.025)}.project-workshop{background:var(--green);color:var(--paper)}.project-diagnostic{background:var(--lime);color:var(--green)}.project-caption{justify-content:space-between;align-items:center;gap:12px;padding:24px 30px 28px;display:flex;position:relative}.project-caption strong{font-size:23px;font-weight:600;line-height:1.4;display:block}.project-caption small{letter-spacing:.02em;margin-top:9px;font-size:14px;display:block}.project-caption .arrow{width:30px;height:30px}.projects-filtered{grid-template-columns:minmax(0,800px)}.projects-filtered .project{max-width:850px}.journal{margin-top:36px}.journal-heading{border-top:1px solid #a2ad9f;border-bottom:1px solid #a2ad9f;justify-content:space-between;align-items:center;padding:23px 0;display:flex}.journal-heading h3{letter-spacing:-.04em;font-size:32px;font-weight:600}.journal-heading>.mono{letter-spacing:1px;font-size:10px;line-height:1.6}.article-row{text-align:left;border-bottom:1px solid var(--line);align-items:center;gap:26px;width:100%;padding:24px 0;transition:padding .2s,background .2s;display:flex}.article-row:hover{background:#eeeee5;padding-inline:14px}.article-num{color:var(--muted);font-size:11px}.article-title{flex:1;font-size:21px}.article-meta{color:var(--muted);white-space:nowrap;font-size:12px}.article-meta span{margin:0 8px}.article-row .arrow{margin-left:12px}.about-section{padding-top:70px;padding-bottom:92px}.about-grid{grid-template-columns:1.1fr 1fr;gap:90px;display:grid}.about-grid h2{letter-spacing:-.045em;font-size:clamp(36px,5vw,77px);font-weight:500;line-height:1.4}.about-copy{padding-top:12px;font-size:21px;line-height:1.9}.about-copy p+p{margin-top:26px}.about-signature{margin-top:30px;font-size:25px;font-weight:600;display:block}.about-signature .mono{letter-spacing:3px;margin-left:14px;font-size:13px}.contact-section{background:var(--green);color:var(--paper);border-radius:8px 8px 0 0;padding-top:76px}.contact-section h2{color:var(--lime);letter-spacing:-.05em;font-size:clamp(38px,6.2vw,94px);font-weight:500;line-height:1.3}.contact-lead{letter-spacing:-.035em;margin-top:14px;font-size:clamp(23px,3.3vw,50px);line-height:1.4}.contact-actions{align-items:center;gap:44px;margin-top:40px;margin-bottom:70px;display:flex}.contact-actions .button{padding:20px 30px;font-size:22px}.contact-actions p{color:#b9cbbd;border-left:1px solid #92ac91;padding-left:32px;font-size:15px;line-height:1.8}.footer{border-top:1px solid #829b80;justify-content:space-between;align-items:center;gap:20px;min-height:105px;display:flex}.footer .wordmark{font-size:20px;font-weight:500}.footer .wordmark span{letter-spacing:3px;font-size:15px}.back-top{align-items:center;gap:10px;font-size:14px;display:flex}.back-top .arrow{width:19px;height:19px}.footer>span{letter-spacing:.04em;color:#d2dfd5;font-size:13px}.footer i{margin:0 12px;font-style:normal}@media (min-width:1700px){.hero-art{right:-70px}.hero-main{min-height:820px}.hero-copy{width:60%}}@media (max-width:1200px){.shell{width:calc(100% - 72px)}.desktop-nav{gap:30px;margin-left:0}.hero-main{min-height:680px}.hero-copy{width:65%}.hero-art{width:65%;right:-36px}.hero h1{font-size:8vw}.hero-copy p{font-size:17px}.hero-actions{gap:24px}.hero-actions .button{min-height:58px;padding:15px 24px;font-size:18px}.hero-index{gap:20px}.hero-index a{gap:22px;font-size:15px}.hero-signature{font-size:10px!important}.service-row{grid-template-columns:45px 160px 1fr 190px 28px;gap:18px}.service-row img{width:160px;height:110px}.service-title{font-size:26px}.service-summary{font-size:15px}.service-audience{padding-left:20px;font-size:13px}.service-detail{padding-left:225px}.process-step>span{font-size:23px}.process-step .arrow{margin-right:18px}.project-caption{padding:24px}.project-caption strong{font-size:20px}.project img{height:270px}.about-grid{gap:60px}.about-copy{font-size:18px}}@media (max-width:900px){.header-inner{height:75px}.wordmark{font-size:24px}.desktop-nav{gap:22px;font-size:14px}.header-contact{gap:10px;min-height:42px;padding:9px 14px;font-size:14px}.hero-main{min-height:610px}.hero-copy{width:70%}.hero-copy p{font-size:15px}.hero-actions{gap:20px}.hero-actions .button,.hero-actions .text-link{font-size:15px}.hero-art{opacity:.92;width:66%;right:-36px}.hero-index{grid-template-columns:1fr 1fr 1.2fr;gap:20px;min-height:100px}.hero-signature{display:none}.hero-index a{gap:16px;font-size:13px}.section-pad{padding-top:80px;padding-bottom:80px}.services-section{padding-bottom:0}.section-heading p{font-size:17px}.service-row{grid-template-columns:35px 140px 1fr 24px;gap:20px}.service-audience{display:none}.service-number{font-size:27px}.service-row img{width:140px;height:100px}.service-title{font-size:24px}.service-detail{gap:20px;padding-left:195px;padding-right:15px;font-size:15px}.process-step small{display:none}.process-step>span{font-size:20px}.process-step .arrow{max-width:60px;margin-right:10px}.process-step{gap:12px}.process-band{padding:36px 0}.projects{grid-template-columns:1fr 1fr;gap:16px}.project img{height:245px}.project-caption{align-items:flex-end;padding:20px}.project-caption strong{font-size:19px}.project-caption small{font-size:12px}.journal-heading h3{font-size:28px}.article-title{font-size:18px}.article-row{gap:20px}.article-meta{display:none}.about-grid{gap:40px}.about-grid h2{font-size:40px}.about-copy{font-size:17px}.about-signature{font-size:22px}.contact-section{padding-top:58px}.contact-actions .button{font-size:18px}.contact-actions{gap:30px}.footer>span{font-size:11px}.footer i{margin:0 6px}}@media (max-width:640px){:root{scroll-padding-top:85px}.shell{width:calc(100% - 40px)}.header-inner{gap:15px;height:70px}.wordmark{font-size:23px}.header-contact{gap:5px;min-height:36px;margin-left:auto;padding:7px 10px;font-size:13px}.header-contact .arrow{width:17px;height:17px}.menu-toggle{flex-direction:column;justify-content:center;gap:6px;width:30px;height:38px;padding:9px 0 9px 7px;display:flex}.menu-toggle span{background:var(--ink);width:22px;height:1px;transition:transform .2s}.menu-toggle.is-open span:first-child{transform:translateY(3.5px)rotate(45deg)}.menu-toggle.is-open span:last-child{transform:translateY(-3.5px)rotate(-45deg)}.desktop-nav{background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:6px;width:100%;padding:22px;font-size:20px;display:none;position:absolute;top:70px;left:0}.desktop-nav.is-open{display:flex}.desktop-nav a{padding:16px 0}.mobile-contact{border-top:1px solid var(--line);text-align:left;justify-content:space-between;align-items:center;padding:18px 0;display:flex}.hero-main{flex-direction:column;min-height:0;padding-top:36px;display:flex}.hero-copy{align-self:stretch;width:100%;padding:0}.hero h1{letter-spacing:-.055em;font-size:clamp(48px,12.6vw,78px);font-weight:650;line-height:1.2}.hero-copy p{letter-spacing:-.02em;max-width:100%;margin-top:24px;font-size:14px;line-height:1.9}.hero-copy p br{display:none}.hero-actions{gap:23px;margin-top:24px}.hero-actions .button{gap:8px;min-height:50px;padding:14px 15px;font-size:14px}.hero-actions .button .arrow{width:20px;height:20px}.hero-actions .text-link{gap:8px;font-size:14px}.hero-actions .text-link .arrow{width:20px;height:20px}.hero-art{aspect-ratio:1.4;opacity:1;width:calc(100% + 40px);height:auto;margin:2px -20px -4px;position:relative;top:auto;right:auto;-webkit-mask-image:linear-gradient(#0000,#000 13% 84%,#0000);mask-image:linear-gradient(#0000,#000 13% 84%,#0000)}.hero-art img{object-fit:cover;object-position:center 48%;height:100%}.hero-index{grid-template-columns:1fr 1fr 1.18fr;gap:12px;min-height:83px;padding:18px 0}.hero-index a{flex-direction:column;align-items:flex-start;gap:6px;min-height:38px;font-size:11px;line-height:1.4}.hero-index .mono{font-size:10px}.section-pad{padding-top:62px;padding-bottom:62px}.section-label{gap:14px;margin-bottom:28px;font-size:12px}.label-english{letter-spacing:.6px;text-align:right;max-width:105px;font-size:8px}.section-heading{margin-bottom:28px}.section-heading h2{letter-spacing:-.06em;font-size:31px;line-height:1.35}.section-heading p{margin-top:14px;font-size:15px;line-height:1.8}.services-section{padding-bottom:0}.service-row{grid-template-columns:24px 82px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:22px 0}.service-number{letter-spacing:-1px;font-size:18px}.service-row img{width:82px;height:98px}.service-title{font-size:19px;line-height:1.4}.service-summary{font-size:12px;line-height:1.75}.service-copy{gap:8px}.service-arrow{width:20px;height:20px}.service-detail{grid-template-columns:1fr;gap:15px;padding:0 0 24px 36px;font-size:14px}.service-detail ul{grid-template-columns:1fr 1fr;gap:5px;font-size:12px;display:grid}.service-detail .text-link{font-size:14px}.process-band{margin-top:28px;padding:26px 0}.process-inner{grid-template-columns:1fr 1fr;gap:27px 30px;display:grid}.process-step{justify-content:space-between}.process-step>span{gap:9px;font-size:18px}.process-step small{font-size:9px;display:inline}.process-step .arrow{width:25px;max-width:25px;margin:0}.process-step:nth-child(2) .arrow{display:none}.practice-section{padding-bottom:42px}.practice-toolbar{margin-bottom:20px}.filters{justify-content:space-between;gap:24px;width:100%}.filters button{white-space:nowrap;padding:8px 0;font-size:13px}.practice-note{display:none}.projects{grid-template-columns:1fr;gap:22px}.project img{object-fit:cover;height:250px}.project-caption{padding:22px}.project-caption strong{font-size:19px;line-height:1.5}.project-caption small{font-size:12px}.project-caption .arrow{width:25px;height:25px}.journal{margin-top:30px}.journal-heading{padding:20px 0}.journal-heading h3{font-size:23px}.journal-heading>.mono{display:none}.article-row{gap:12px;padding:21px 0}.article-num{font-size:10px}.article-title{font-size:15px;line-height:1.6}.article-row .arrow{width:22px;height:22px;margin:0}.about-section{padding-top:32px;padding-bottom:54px}.about-grid{grid-template-columns:1fr;gap:28px}.about-grid h2{font-size:37px;line-height:1.45}.about-copy{padding-top:0;font-size:16px;line-height:1.9}.about-copy p+p{margin-top:18px}.about-signature{margin-top:24px}.contact-section{border-radius:5px 5px 0 0;padding-top:48px}.contact-section h2{letter-spacing:-.06em;max-width:360px;font-size:35px;line-height:1.5}.contact-lead{max-width:290px;margin-top:14px;font-size:22px;line-height:1.6}.contact-actions{flex-direction:column;align-items:flex-start;gap:26px;margin-top:30px;margin-bottom:44px}.contact-actions .button{min-height:59px;padding:18px 22px;font-size:17px}.contact-actions p{padding-left:15px;font-size:12px}.footer{flex-wrap:wrap;gap:24px 10px;min-height:144px;padding:24px 0}.footer .wordmark{font-size:20px}.footer .wordmark span{font-size:13px}.footer>span{width:100%;font-size:10px}.back-top{font-size:12px}.button:hover,.project:hover{transform:none}}@media (max-width:370px){.shell{width:calc(100% - 32px)}.hero-art{width:calc(100% + 32px);margin-inline:-16px}.hero h1{font-size:12.3vw}.hero-actions{gap:15px}.hero-actions .button{padding-inline:12px;font-size:12px}.hero-actions .text-link{font-size:12px}.filters{gap:18px}.service-row{grid-template-columns:20px 70px minmax(0,1fr) 18px;gap:10px}.service-row img{width:70px}.service-title{font-size:17px}.contact-section h2{font-size:31px}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media print{.site-header,.hero-art,.hero-actions,.filters,.contact-actions,.skip-link{display:none}.shell{width:100%}.section-pad{padding:25px 0}.hero-main{min-height:0}.hero-copy{width:100%;padding:0}.hero h1{font-size:42px}.hero-index{min-height:75px}.projects{break-inside:avoid}.contact-section{color:var(--ink);background:#fff}.contact-section h2{color:var(--ink);font-size:38px}.contact-lead{font-size:20px}}
