:root{font-family:'DM Sans',sans-serif;color:#253b2d;background:#f7f6f0;color-scheme:light;scroll-behavior:smooth;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #466743;outline-offset:5px}.skip{position:fixed;top:-70px;left:16px;background:white;padding:15px;z-index:100}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.masthead{position:sticky;top:0;z-index:10;background:#f7f6f0f7;backdrop-filter:blur(12px);border-bottom:1px solid #dfe3d8;display:flex;justify-content:space-between;align-items:center;padding:20px max(6vw,calc((100vw - 1120px)/2));gap:25px}.brand{text-decoration:none;font:italic 34px/1 Georgia,serif;letter-spacing:-2px}.brand span{display:block;font:8px/1.5 'DM Sans',sans-serif;letter-spacing:1.4px;margin-top:7px;color:#737f6b}.primary-nav{display:flex;gap:30px}.primary-nav a{font-size:13px;text-decoration:none;min-height:44px;display:flex;align-items:center;border-bottom:2px solid transparent}.primary-nav a[aria-current]{border-color:#526e4b}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:2px;transform-origin:left;background:#809872;z-index:20}main{max-width:1120px;margin:auto;padding:0 0 60px}.portfolio-cover{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:center;padding:52px 0 46px;scroll-margin-top:110px}.eyebrow{font-size:11px;letter-spacing:1.3px;text-transform:uppercase;color:#6d7e62;margin:0 0 18px}.cover-copy h1{font:400 clamp(43px,5vw,66px)/1.07 Georgia,serif;letter-spacing:-2.5px;margin:0 0 21px}.cover-copy>p:not(.eyebrow){font-size:15px;line-height:1.85;color:#5e6b57;max-width:470px;margin:0}.action,.practice-primary{display:inline-flex;gap:22px;align-items:center;justify-content:space-between;background:#3c583d;color:white;padding:13px 18px;min-height:46px;text-decoration:none;font-size:13px;border:1px solid #3c583d;transition:background .25s}.action{margin-top:25px}.action:hover,.practice-primary:hover{background:#526e4b}.cover-image{margin:0;aspect-ratio:1.4;overflow:hidden;background:#dfdfd1}.cover-image img{width:100%;height:100%;object-fit:cover;transform:scale(1.06)}.practices{border-top:1px solid #d1d8ca;padding-top:33px;scroll-margin-top:110px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:25px}h2{font:400 32px/1.2 Georgia,serif;letter-spacing:-.8px;margin:0}.section-heading>p{font-size:12px;color:#717c67;margin:0}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.practice-card{background:#fffef9;border:1px solid #d9dfd0;padding:28px;display:flex;flex-direction:column;scroll-margin-top:110px}.card-heading{display:flex;align-items:center;gap:16px}.number{font:400 30px Georgia,serif;color:#8a9b7e;flex-shrink:0}.practice-type{font-size:11px;color:#6b7b60;margin:0 0 6px}.card-heading h3{font:500 24px/1.2 'DM Sans',sans-serif;letter-spacing:-.5px;margin:0}.pending{font-size:10px;padding:5px 8px;background:#eee9d9;color:#7c6948;margin-left:auto}.description{font-size:14px;line-height:1.8;color:#5b6855;margin:21px 0 23px;flex-grow:1}.practice-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.practice-context{font-size:13px;line-height:1.6;text-underline-offset:5px;min-height:44px;display:inline-flex;align-items:center;color:#496442}.practice-primary.outline{background:transparent;color:#5d6b52;border-color:#bac5af}.practice-primary.outline:hover{background:#e9eddf}details{border-top:1px solid #e0e5d8;margin-top:23px;padding-top:4px}summary{font-size:12px;line-height:1.7;color:#6c7b61;cursor:pointer;padding:11px 0;min-height:42px}details p,details a{font-size:12px;line-height:1.85;color:#65735b}details p{margin:4px 0 10px}.process{display:grid;grid-template-columns:1.4fr 1fr;gap:65px;border-top:1px solid #d1d8ca;margin-top:42px;padding-top:34px;scroll-margin-top:110px}.process .eyebrow{font-size:10px;margin-bottom:11px}.process h2{font-size:28px}.process>div>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#65735b}.process>details{align-self:start;margin-top:0;border:1px solid #d9dfd0;padding:3px 16px;background:#f0f2e8}.process summary{font-size:13px}footer{max-width:1120px;margin:auto;padding:22px 0 30px;border-top:1px solid #dfe3d8;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#75806b;font-size:11px}footer a{text-underline-offset:4px}.motion{font:11px 'DM Sans',sans-serif;color:#6a7a60;background:transparent;border:1px solid #d1dac8;min-height:40px;padding:9px 12px;cursor:pointer}.reduced-motion{scroll-behavior:auto}.reduced-motion *{transition:none!important;scroll-behavior:auto!important}.reduced-motion .cover-image img{transform:none!important}
@media(max-width:1260px){main,footer{margin-left:6vw;margin-right:6vw}.portfolio-cover{gap:40px}}
@media(max-width:700px){.masthead{padding:13px 6vw;gap:12px}.brand{font-size:29px}.brand span{font-size:6px;letter-spacing:.8px}.primary-nav{gap:17px}.primary-nav a{font-size:11px}.portfolio-cover{grid-template-columns:1fr;gap:25px;padding:32px 0}.cover-copy h1{font-size:43px;letter-spacing:-1.7px;margin-bottom:17px}.cover-copy>p:not(.eyebrow){font-size:14px;line-height:1.8}.eyebrow{font-size:9px;margin-bottom:14px}.cover-image{aspect-ratio:2}.action{margin-top:20px;font-size:12px}.section-heading{display:block;margin-bottom:20px}h2{font-size:29px}.section-heading>p{margin-top:10px;font-size:11px}.practices{padding-top:26px}.practice-grid{grid-template-columns:1fr;gap:16px}.practice-card{padding:23px}.card-heading{gap:13px}.card-heading h3{font-size:22px}.number{font-size:28px}.practice-type{font-size:10px}.description{font-size:13px;margin:18px 0 20px}.practice-primary,.practice-context{font-size:12px}.practice-links{gap:18px}.pending{font-size:9px;padding:4px 6px}.process{grid-template-columns:1fr;gap:20px;margin-top:30px;padding-top:27px}.process h2{font-size:27px}.process>div>p:not(.eyebrow){font-size:13px}.portfolio-cover,.practices,.practice-card,.process{scroll-margin-top:90px}main{padding-bottom:30px}footer{flex-wrap:wrap;font-size:10px;gap:13px}.motion{font-size:10px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}.cover-image img{transform:none!important}}
@media print{.masthead,.scroll-progress,.cover-image,#motion{display:none}main,footer{margin:0}.portfolio-cover,.process{display:block;padding:15px 0}.practice-card{break-inside:avoid}.practice-grid{display:block}.practice-card{margin-bottom:15px}details{display:block}body{background:white}}
/* Independent edition: the opening artwork shares the portfolio's paper palette. */
.cover-image{position:relative;border-radius:3px;background:#e8eadd;isolation:isolate}
.cover-image canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .8s ease;pointer-events:none}
.cover-image.has-scene canvas{opacity:1}.cover-image.has-scene img{opacity:0;transition:opacity .8s ease}
.practice-card{transition:border-color .25s,box-shadow .25s;position:relative}
@media(hover:hover){.practice-card:hover{border-color:#a7b69a;box-shadow:0 12px 32px -24px #35503950}.practice-primary span{transition:transform .25s}.practice-primary:hover span{transform:translate(2px,-2px)}}
@media print{.cover-image canvas{display:none}}

.process{grid-template-columns:1fr}.process>div{max-width:740px}

.process-record{margin-top:24px}.process-record details{background:#fffef9;border:1px solid #d9dfd0;padding:6px 20px;margin:12px 0}.process-record summary{font-size:14px;color:#3c583d}.process-record details p{font-size:13px;line-height:1.85}.process-record a{overflow-wrap:anywhere}.process-record strong{font-weight:600}.process-record details[open]{padding-bottom:14px}
