:root{--paper:#f6f3ec;--ink:#292d26;--muted:#686b62;--line:#d7d9cd;--lime:#e5edaa;--white:#fffefb;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}button,a,input{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #a64a2a;outline-offset:5px}a{color:inherit;text-decoration:none}button{cursor:pointer}img{max-width:100%;display:block}figure,p,h1,h2,h3{margin:0}::selection{background:#d3df81;color:var(--ink)}.wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}.site-header{height:106px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{display:flex;align-items:center;gap:16px;font-size:27px;letter-spacing:-1.2px;font-family:var(--serif);white-space:nowrap}.wordmark span{font-family:var(--sans);font-size:29px}.site-header nav{display:flex;gap:35px;align-items:center;font-size:13px}.site-header nav a:not(.nav-contact){padding:12px 0}.site-header nav a:hover{text-decoration:underline;text-underline-offset:5px}.nav-contact{padding:13px 18px;border:1px solid var(--ink);border-radius:30px}.nav-contact span{margin-left:12px;font-size:18px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:38px;padding-top:76px;padding-bottom:76px;align-items:center;min-height:700px}.eyebrow{text-transform:uppercase;letter-spacing:1.7px;font-size:10px;font-weight:600;line-height:1.7}.dot{display:inline-block;background:#738248;width:7px;height:7px;border-radius:50%;margin-right:8px}.hero h1{font-size:clamp(48px,5.8vw,85px);letter-spacing:-4.7px;line-height:1.045;font-weight:400;margin:28px 0 25px}em{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}.hero-description{font-size:16px;color:#5e6358;line-height:1.7;max-width:400px;margin-bottom:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border-radius:40px;padding:18px 24px;font-size:13px;font-weight:500;transition:transform .2s,background .2s}.button span{font-size:22px;line-height:1}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--ink);color:var(--paper)}.button-light{background:var(--lime);color:var(--ink)}.hero-byline{font-size:10px;letter-spacing:.2px;color:#717568;margin-top:27px}.hero-byline span{margin:0 6px}.hero-art{height:510px;position:relative;isolation:isolate}.art-orbit{position:absolute;border:1px solid #d0d6c1;inset:25px -4px 8px 15px;border-radius:50%;transform:rotate(-20deg)}.hero-piece{position:absolute;background:var(--white);padding:11px 11px 0;box-shadow:0 14px 28px #26312112;box-sizing:border-box;width:61%;border:1px solid #e7e8df}.hero-piece img{aspect-ratio:1;object-fit:cover;width:100%}.hero-piece figcaption{font-family:var(--serif);font-style:italic;font-size:16px;padding:13px 3px 14px}.hero-piece-bowles{top:113px;left:-3%;transform:rotate(-9deg);z-index:2}.hero-piece-wilmy{top:8px;right:-1%;transform:rotate(8deg)}.art-sticker{position:absolute;right:2%;bottom:25px;transform:rotate(-6deg);line-height:1.25;font-family:var(--serif);font-style:italic;font-size:20px}.art-sticker svg{width:65px;display:block;margin:9px 0 0 50px;fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.practice-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0}.practice-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}.practice-strip span{font-size:12px;letter-spacing:1px}.practice-strip i{font-style:normal;font-size:22px;color:#7e855e}.section{padding-top:104px;padding-bottom:100px}.section-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:35px;gap:20px}.section-note{font-size:12px;line-height:1.6;color:var(--muted);max-width:230px}.work-heading-row{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:46px}h2{font-size:clamp(36px,4vw,58px);font-weight:400;line-height:1.1;letter-spacing:-2.3px}.filters{display:flex;align-items:center;gap:6px;padding-bottom:4px;flex-wrap:wrap}.filters button{border:1px solid transparent;background:transparent;border-radius:30px;padding:10px 14px;font-size:11px}.filters button.active{border-color:var(--ink);background:var(--ink);color:var(--paper)}.filters button:hover:not(.active){border-color:var(--line)}.filters sup{font-size:8px;margin-left:3px;opacity:.7}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px 28px}.project-card{background:none;border:0;padding:0;text-align:left;display:block;min-width:0}.project-card[hidden]{display:none}.project-image{display:block;position:relative;overflow:hidden;aspect-ratio:1.24;background:#e7e7e1}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.6,.2,1)}.project-platform .project-image img{object-fit:contain;background:#eae9e5}.project-sizzix .project-image img{object-fit:contain;background:#fff}.project-card:hover .project-image img{transform:scale(1.035)}.project-open{position:absolute;right:18px;bottom:18px;width:42px;height:42px;border-radius:50%;background:var(--white);display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 3px 10px #00000009;transition:background .2s,transform .2s}.project-card:hover .project-open{background:var(--lime);transform:rotate(45deg)}.project-num{position:absolute;left:17px;top:17px;font-size:10px;background:#fffefbd9;padding:8px 9px;border-radius:20px;backdrop-filter:blur(4px)}.project-caption{display:flex;align-items:start;justify-content:space-between;gap:12px;padding-top:19px}.project-caption strong{font-size:20px;letter-spacing:-.55px;font-weight:400;display:block;line-height:1.25}.project-caption small{display:block;font-size:11px;color:var(--muted);margin-top:7px;line-height:1.5}.project-tag{font-size:9px;line-height:1.5;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-top:5px;white-space:nowrap}.work-footnote{font-size:11px;color:var(--muted);margin-top:42px;line-height:1.7}.services-section{background:#e9eddf}.star{font-size:50px;line-height:.8}.services-intro{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:49px}.services-intro>p{max-width:300px;font-size:14px;line-height:1.7;color:var(--muted);padding-bottom:4px}.service{border-top:1px solid #c9d0bf;display:grid;grid-template-columns:45px 1fr 1.15fr 25px;gap:22px;padding:31px 0;align-items:start}.service-number{font-size:10px;margin-top:7px;color:var(--muted)}.service h3{font-weight:400;font-size:24px;letter-spacing:-.6px;line-height:1.3}.service p{max-width:435px;color:#606756;font-size:13px;line-height:1.75}.service ul{list-style:none;padding:0;margin:14px 0 0;display:flex;gap:7px;flex-wrap:wrap}.service li{font-size:10px;border:1px solid #c5cebb;border-radius:20px;padding:7px 9px}.service-icon{font-size:25px}.text-link{font-size:12px;display:inline-flex;align-items:center;gap:25px;border-bottom:1px solid currentColor;padding:8px 0;line-height:1.5}.text-link span{font-size:20px}.text-link:hover{color:#747f42}.services-section .text-link{margin-top:20px}.about-section{display:grid;grid-template-columns:.88fr 1.12fr;gap:100px;align-items:center;padding-top:125px;padding-bottom:125px}.about-art{background:var(--lime);aspect-ratio:.91;padding:48px 42px 27px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.about-art:before{content:'';position:absolute;left:-100px;right:-90px;height:270px;bottom:-155px;border:1px solid #aebc6b;border-radius:50%;transform:rotate(-20deg)}.experience>span{font-family:var(--serif);font-size:clamp(100px,12vw,170px);letter-spacing:-12px;line-height:1}.experience>span>span{font-size:.45em;vertical-align:top;line-height:1.2;letter-spacing:-4px}.experience p{font-size:21px;line-height:1.35;margin-top:18px;letter-spacing:-.5px}.about-art-bottom{display:flex;justify-content:space-between;align-items:end;gap:20px}.about-art-bottom>span:first-child{font-size:10px;line-height:1.6}.about-art-bottom>span:last-child{font-size:64px;line-height:.85}.about-copy .eyebrow{margin-bottom:23px}.about-copy h2{font-size:43px;margin-bottom:25px}.about-copy p:not(.eyebrow){font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:15px;max-width:480px}.about-copy .about-lead{font-size:17px!important;color:var(--ink)!important}.about-copy .text-link{margin-top:10px}.process-section{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:76px;padding-bottom:91px}.process-heading .eyebrow{margin-bottom:27px}.process-heading h2{font-size:43px}.process-list{list-style:none;margin:0;padding:0}.process-list li{margin-bottom:25px;padding-bottom:25px;border-bottom:1px solid var(--line)}.process-list li:last-child{border:0;margin:0;padding:0}.process-list span{font-size:9px;text-transform:uppercase;letter-spacing:1.4px;color:var(--muted)}.process-list h3{font-weight:400;font-size:19px;letter-spacing:-.4px;margin:10px 0}.process-list p{font-size:12px;line-height:1.7;color:var(--muted);max-width:420px}.contact-section{background:var(--ink);color:var(--paper);padding:77px 0 67px}.contact-inner{position:relative}.contact-section .eyebrow{color:#c6ccbc;margin-bottom:28px}.contact-section h2{font-size:clamp(66px,7.5vw,108px);letter-spacing:-4px;line-height:.99}.contact-section h2>span{position:absolute;right:6%;top:20px;font-size:148px;color:var(--lime);font-family:var(--sans)}.contact-bottom{border-top:1px solid #545c4b;margin-top:40px;padding-top:30px;display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-bottom p{font-size:13px;line-height:1.75;color:#c5cbbe}.contact-email{font-size:12px;color:#d1d5ca;margin-top:20px;text-align:right}.contact-email a:hover{text-decoration:underline;text-underline-offset:4px}.site-footer{padding-top:32px;padding-bottom:29px;display:grid;grid-template-columns:1fr 1.2fr auto;align-items:center;gap:25px}.site-footer .wordmark{font-size:22px}.site-footer .wordmark span{font-size:23px}.site-footer p{font-size:10px;color:var(--muted);text-align:center}.site-footer>a:last-of-type{font-size:11px}.site-footer>a:last-of-type span{margin-left:13px}.site-footer small{grid-column:1/-1;font-size:9px;color:var(--muted);margin-top:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-70px;left:20px;padding:15px;background:var(--ink);color:var(--paper);z-index:30}.skip-link:focus{top:10px}dialog{border:0;padding:0;background:var(--paper);color:var(--ink);width:min(1120px,calc(100% - 70px));max-height:calc(100dvh - 64px);border-radius:4px;overflow:auto;overscroll-behavior:contain;box-shadow:0 25px 100px #0004}dialog::backdrop{background:#172012b3;backdrop-filter:blur(8px)}.dialog-close{position:sticky;z-index:2;top:20px;float:right;margin:20px 24px 0 0;border:1px solid #cfd3c7;border-radius:30px;background:var(--paper);font-size:11px;padding:10px 12px 10px 17px;display:flex;align-items:center;gap:20px}.dialog-close span{font-size:23px;line-height:1}.project-detail-head{padding:72px 58px 36px}.project-detail-head .eyebrow{margin-bottom:20px}.project-detail-head h2{font-size:60px;max-width:830px}.project-detail-head>p:last-of-type{font-size:17px;line-height:1.6;color:var(--muted);max-width:680px;margin-top:17px}.detail-meta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;margin-top:33px;padding-top:20px;border-top:1px solid var(--line)}.detail-meta dt{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.detail-meta dd{font-size:12px;line-height:1.5;margin:0}.detail-hero{margin:0 40px;background:#e9e9e2}.detail-hero img{width:100%;max-height:600px;object-fit:contain}.detail-story{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:45px 58px}.detail-story h3{font-size:24px;font-weight:400;letter-spacing:-.5px}.detail-story p{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:16px}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:0 40px}.detail-gallery img{width:100%;height:440px;object-fit:contain;background:#e9e9e2}.detail-gallery figcaption{font-size:10px;color:var(--muted);margin-top:10px;line-height:1.5}.detail-footer{padding:42px 58px;display:flex;align-items:center;justify-content:space-between;gap:25px}.detail-next{border:0;border-bottom:1px solid;background:transparent;display:flex;gap:30px;padding:12px 0;font-size:13px;text-align:left}.detail-next span{font-size:20px}.detail-footer>a{font-size:11px}.detail-footer>a:hover{text-decoration:underline}
@media(min-width:1500px){.hero h1{font-size:92px}.hero{gap:72px}.hero-art{height:550px}.hero-piece-bowles{top:130px}.art-sticker{bottom:30px}}
@media(max-width:1100px){.wrap{width:calc(100% - 70px)}.hero{gap:20px;min-height:640px}.hero h1{letter-spacing:-3px;font-size:clamp(44px,5.8vw,64px)}.hero-art{height:430px}.hero-piece-bowles{top:100px;left:0}.art-sticker{font-size:17px;bottom:5px}.hero-description{font-size:14px;max-width:350px}.about-section{gap:55px}.work-heading-row{align-items:start;flex-direction:column}.filters{padding:0}.section{padding-top:80px;padding-bottom:80px}.service{grid-template-columns:27px .9fr 1.1fr 20px;gap:18px}.service h3{font-size:22px}.about-copy h2,.process-heading h2{font-size:37px}.about-art{padding:40px 30px;aspect-ratio:.8}.about-art-bottom>span:last-child{font-size:50px}.project-tag{display:none}.process-section{gap:60px}.site-footer p{font-size:9px}.project-detail-head h2{font-size:50px}.detail-gallery img{height:340px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{height:82px}.wordmark{font-size:24px;gap:12px}.wordmark span{font-size:26px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;background:none;border:1px solid var(--line);border-radius:50%;width:43px;height:43px;align-items:center}.menu-toggle span{height:1px;width:18px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.site-header nav{display:none;position:absolute;top:81px;left:0;right:0;z-index:10;background:var(--paper);padding:18px 20px 26px;border-bottom:1px solid var(--line);box-shadow:0 20px 20px #292d2608;gap:4px;align-items:stretch}.site-header nav.is-open{display:flex;flex-direction:column}.site-header nav a{font-size:16px;padding:14px 4px!important}.site-header .nav-contact{border:0;display:flex;justify-content:space-between;border-radius:0}.hero{grid-template-columns:1fr;padding-top:43px;padding-bottom:27px;gap:20px;min-height:0}.eyebrow{font-size:9px;letter-spacing:1.3px}.hero h1{font-size:clamp(48px,10vw,70px);line-height:1.02;letter-spacing:-3px;margin:23px 0}.hero-description{font-size:14px;max-width:340px;line-height:1.7;margin-bottom:24px}.button{font-size:12px;padding:16px 21px;gap:30px}.hero-byline{font-size:9px;margin-top:20px}.hero-art{width:100%;max-width:460px;justify-self:center;height:400px;margin-top:10px}.hero-piece{width:57%}.hero-piece-bowles{top:85px;left:4%}.hero-piece-wilmy{right:3%;top:10px}.hero-piece figcaption{font-size:13px;padding:11px 1px}.art-orbit{inset:20px 16px 15px}.art-sticker{font-size:15px;right:8%;bottom:0}.art-sticker svg{width:48px;margin-top:0}.practice-strip{padding:20px 0}.practice-strip .wrap{gap:12px;flex-wrap:wrap;justify-content:center}.practice-strip span{font-size:9px;letter-spacing:.4px}.practice-strip i{font-size:14px}.practice-strip i:last-of-type{display:none}.practice-strip span:last-child{display:none}.section{padding-top:62px;padding-bottom:62px}.section-top{margin-bottom:25px}.section-note{font-size:10px;max-width:150px}h2{font-size:42px;letter-spacing:-1.8px}.work-heading-row{gap:26px;margin-bottom:26px}.filters{gap:4px}.filters button{font-size:10px;padding:9px 12px}.project-grid{grid-template-columns:1fr;gap:32px}.project-image{aspect-ratio:1.2}.project-caption{padding-top:14px}.project-caption strong{font-size:20px}.project-caption small{font-size:11px;margin-top:6px}.project-tag{display:block;font-size:8px}.project-open{height:38px;width:38px;font-size:21px;right:13px;bottom:13px}.project-num{left:13px;top:13px}.work-footnote{font-size:10px;margin-top:30px;max-width:330px}.services-intro{display:block;margin-bottom:33px}.services-intro h2{font-size:37px}.services-intro>p{margin-top:22px;max-width:330px;font-size:13px}.star{font-size:36px}.service{grid-template-columns:21px 1fr 17px;gap:14px;padding:25px 0}.service h3{font-size:23px}.service>div{grid-column:2/3}.service p{font-size:12px}.service-icon{grid-column:3;grid-row:1;font-size:21px}.service ul{gap:6px;margin-top:13px}.service li{font-size:9px;padding:7px 9px}.service-number{margin-top:6px}.services-section .text-link{font-size:11px;margin-top:10px}.about-section{grid-template-columns:1fr;gap:34px}.about-art{aspect-ratio:1.45;padding:32px;max-height:340px}.experience{display:flex;align-items:center;gap:40px}.experience>span{font-size:115px;letter-spacing:-9px}.experience p{font-size:18px;line-height:1.3;margin:0}.about-art-bottom>span:last-child{font-size:47px}.about-art-bottom>span:first-child{font-size:9px}.about-art:before{bottom:-210px}.about-copy h2{font-size:38px}.about-copy .eyebrow{margin-bottom:20px}.about-copy p:not(.eyebrow){font-size:13px;max-width:100%}.process-section{grid-template-columns:1fr;gap:33px}.process-heading h2{font-size:38px}.process-heading .eyebrow{margin-bottom:22px}.process-list{padding-left:30px}.process-list li{padding-bottom:22px;margin-bottom:22px}.process-list h3{font-size:19px}.process-list p{font-size:12px}.contact-section{padding:52px 0 43px}.contact-section .eyebrow{margin-bottom:25px}.contact-section h2{font-size:59px;letter-spacing:-2.5px}.contact-section h2>span{font-size:58px;right:0;top:1px}.contact-bottom{margin-top:30px;padding-top:24px;display:block}.contact-bottom p{font-size:12px}.contact-bottom .button{margin-top:24px}.contact-email{text-align:left}.site-footer{padding-top:26px;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.site-footer .wordmark{font-size:22px}.site-footer p{order:3;flex-basis:100%;text-align:left;font-size:9px}.site-footer small{order:4;flex-basis:100%;margin-top:-6px;font-size:9px}.site-footer>a:last-of-type{font-size:10px}dialog{width:calc(100% - 18px);max-height:calc(100dvh - 20px)}.dialog-close{top:12px;margin:12px 12px 0 0;padding:10px 12px 10px 15px;gap:18px}.project-detail-head{padding:73px 22px 24px}.project-detail-head h2{font-size:40px;letter-spacing:-1.7px}.project-detail-head>p:last-of-type{font-size:14px}.detail-meta{grid-template-columns:1fr;gap:16px;margin-top:22px;padding-top:18px}.detail-meta dt{font-size:8px;margin-bottom:5px}.detail-meta dd{font-size:11px}.detail-hero{margin:0 14px}.detail-story{grid-template-columns:1fr;padding:29px 22px;gap:17px}.detail-story h3{font-size:24px}.detail-story p{font-size:12px;margin-bottom:12px}.detail-gallery{grid-template-columns:1fr;padding:0 14px;gap:23px}.detail-gallery img{height:auto;max-height:520px;aspect-ratio:1;object-fit:contain}.detail-gallery figcaption{padding:0 6px}.detail-footer{padding:27px 22px;display:block}.detail-next{font-size:12px;width:100%;justify-content:space-between}.detail-footer>a{display:inline-block;margin-top:24px}}
@media(max-width:380px){.hero h1{font-size:46px}.hero-art{height:355px}.hero-piece figcaption{font-size:12px}.art-sticker{bottom:3px}.project-tag{display:none}.about-art{padding:25px}.experience{gap:26px}.experience>span{font-size:100px}.experience p{font-size:16px}.contact-section h2{font-size:53px}.contact-section h2>span{font-size:45px}.filters button{padding:9px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.about-portrait{position:relative}.about-portrait>img{width:100%;aspect-ratio:.86;object-fit:cover;object-position:center 48%}.portrait-caption{display:flex;justify-content:space-between;gap:15px;font-size:9px;color:var(--muted);margin-top:13px}.experience-badge{position:absolute;right:-25px;bottom:61px;background:var(--lime);width:142px;height:142px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:9px;transform:rotate(8deg)}.experience-badge strong{font-family:var(--serif);font-weight:400;font-size:48px;letter-spacing:-3px}.experience-badge span{font-size:10px;line-height:1.5}@media(max-width:760px){.about-portrait{max-width:440px;margin-right:12px}.about-portrait>img{aspect-ratio:1;object-position:center 40%}.experience-badge{width:115px;height:115px;right:-12px;bottom:53px}.experience-badge strong{font-size:39px;letter-spacing:-2px}.experience-badge span{font-size:9px}.portrait-caption{font-size:8px}}

/* User's original monogram: CSS-only color and transparent-padding display crop.
   Original PNG bytes and logo geometry are unchanged. Image/filter works in offline files. */
.monogram{position:relative;display:inline-block;overflow:hidden;width:22px;height:39px;flex-shrink:0;vertical-align:middle}
.monogram img{position:absolute;left:-83.9161%;top:-29.7855%;width:286.4336%;height:162.6688%;max-width:none;object-fit:fill;filter:brightness(0) invert(16%)}
.wordmark .monogram{margin-left:1px}
.site-footer .wordmark .monogram{width:19px;height:34px}
.practice-strip .strip-mark{width:12px;height:22px}
.section-mark{width:34px;height:60px}
.contact-section h2>.monogram{width:84px;height:148px;position:absolute;right:6%;top:20px}
.contact-section .monogram img{filter:brightness(0) invert(94%)}
.about-portrait>img{aspect-ratio:3/4;height:auto;object-fit:contain;object-position:center}
/* Both hero artworks are complete, with no overlapping cards or image cropping. */
.hero-art{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;height:auto;min-height:440px;padding:20px 0 60px}
.hero-piece{position:relative;inset:auto;width:100%;transform:none;padding:10px 10px 0}
.hero-piece img{aspect-ratio:auto;height:auto;width:100%;object-fit:contain}
.hero-piece-bowles{margin-top:86px}
.hero-piece-wilmy{margin-top:0}
.art-orbit{inset:7px -10px 20px 0}
.art-sticker{right:0;bottom:0}
.project-image img{object-fit:contain}
.project-card:hover .project-image img{transform:none}
@media(min-width:1500px){.hero-art{height:auto;min-height:470px}.hero-piece-bowles{top:auto;margin-top:95px}}
@media(max-width:1100px){.hero-art{height:auto;min-height:380px;gap:13px}.hero-piece-bowles{top:auto;left:auto;margin-top:65px}.hero-piece figcaption{font-size:14px}.art-sticker{bottom:0}}
@media(max-width:760px){.hero-art{height:auto;min-height:320px;margin-top:16px;padding:12px 0 55px;gap:12px;max-width:460px}.hero-piece{width:100%;padding:7px 7px 0;top:auto;left:auto;right:auto}.hero-piece-bowles{margin-top:48px}.hero-piece-wilmy{margin-top:0}.hero-piece figcaption{font-size:12px;padding:11px 0}.art-sticker{right:0;bottom:0;font-size:14px}.art-orbit{inset:5px -4px 15px}.section-mark{width:27px;height:47px}.contact-section h2>.monogram{width:34px;height:61px;right:0;top:0}.practice-strip .strip-mark:nth-child(6){display:none}.about-portrait>img{aspect-ratio:3/4;object-fit:contain;object-position:center}}
@media(max-width:380px){.hero-art{height:auto;min-height:295px}.hero-piece figcaption{font-size:11px}.contact-section h2>.monogram{width:29px;height:52px}}

/* Lighter monogram uses the exact light S geometry supplied in the alternate logo.
   Rendering removes only the surrounding purple field; original PNG stays unchanged. */
.brand-filters{position:absolute;pointer-events:none;overflow:hidden}
.monogram{width:24px;height:43px}
.monogram img{left:-89.7810%;top:-31.7331%;width:298.9781%;height:166.6395%;filter:url(#monogram-ink)}
.site-footer .wordmark .monogram{width:22px;height:39px}
.contact-section .monogram img{filter:url(#monogram-paper)}
.practice-strip .strip-divider{font-family:var(--serif);font-size:19px;color:#89917d;font-style:italic}
.about-portrait{max-width:380px;width:100%;justify-self:start}
.portrait-frame{aspect-ratio:1.15;overflow:hidden;background:#e6e4de}
.portrait-frame>img{width:100%;height:100%;object-fit:cover;object-position:center 13%}
.experience-badge{position:static;width:100%;height:auto;margin-top:21px;padding:17px 0 0;border-top:1px solid var(--line);background:none;border-radius:0;transform:none;display:flex;justify-content:flex-start;align-items:center;gap:20px}
.experience-badge strong{font-family:var(--serif);font-weight:400;font-size:62px;line-height:1;letter-spacing:-3px}
.experience-badge span{font-size:10px;line-height:1.65;text-transform:uppercase;letter-spacing:1.3px}
@media(max-width:760px){.about-portrait{max-width:360px;margin-right:0}.experience-badge{width:100%;height:auto;margin-top:19px;padding-top:15px;gap:19px}.experience-badge strong{font-size:56px}.experience-badge span{font-size:9px}.practice-strip .strip-divider:nth-child(6){display:none}.portrait-caption{font-size:9px}}

.portrait-frame{aspect-ratio:1.3}.portrait-frame>img{object-position:center top}

.detail-gallery .gallery-wide{grid-column:1/-1}
.detail-gallery .gallery-wide img{height:auto;max-height:720px;object-fit:contain}
.detail-gallery .gallery-tall img{height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
.detail-gallery a{display:block}
.detail-gallery a:hover{outline:1px solid #aab39b;outline-offset:4px}
@media(max-width:760px){.detail-gallery .gallery-wide img{aspect-ratio:auto;height:auto}.detail-gallery .gallery-tall img{aspect-ratio:auto;height:auto}}

/* A compact green experience pop-out, sized to the portrait rather than a modal. */
.about-portrait{padding-bottom:6px}
.experience-badge{position:absolute;right:-22px;top:calc(min(100vw - 40px,380px)/1.3 - 60px);bottom:auto;margin:0;padding:18px 21px;width:176px;height:108px;border:1px solid #d3df93;border-radius:5px;background:var(--lime);box-shadow:0 8px 22px #292d2614;display:flex;justify-content:flex-start;align-items:center;gap:13px;transform:rotate(-3deg)}
.experience-badge strong{font-size:47px;letter-spacing:-2px;line-height:1;white-space:nowrap}
.experience-badge strong>span{display:inline;font-family:var(--serif);font-size:27px;font-weight:400;letter-spacing:-1px;vertical-align:top;line-height:1.25}
.experience-badge>span{font-size:8px;line-height:1.55;letter-spacing:.65px;text-transform:uppercase}
.portrait-caption{padding-right:0;margin-top:64px}
@media(max-width:1100px) and (min-width:761px){.experience-badge{top:auto;bottom:41px;right:-16px;width:166px;height:100px;padding:17px;gap:12px}.experience-badge strong{font-size:44px}}
@media(max-width:760px){.about-portrait{width:calc(100% - 12px);max-width:360px;margin-right:12px;padding-bottom:5px}.experience-badge{top:auto;bottom:42px;right:-12px;width:164px;height:101px;padding:17px 19px;gap:12px}.experience-badge strong{font-size:44px}.experience-badge strong>span{font-size:25px}.experience-badge>span{font-size:8px;letter-spacing:.5px}.portrait-caption{margin-top:63px}}

/* Final approved experience circle: centered type, with breathing room. */
.experience-badge{width:136px;height:136px;border-radius:50%;padding:17px 13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transform:rotate(-3deg);right:-20px;top:calc(min(100vw - 40px,380px)/1.3 - 76px);box-shadow:0 8px 22px #292d2614}
.experience-badge strong{font-size:45px;line-height:.95;letter-spacing:-2px}
.experience-badge strong>span{font-size:26px;line-height:1.15}
.experience-badge>span{font-size:8px;line-height:1.5;letter-spacing:.7px;text-align:center}
.portrait-caption{margin-top:75px}
@media(max-width:1100px) and (min-width:761px){.experience-badge{top:auto;bottom:41px;right:-16px;width:126px;height:126px;padding:14px 12px;gap:6px}.experience-badge strong{font-size:43px}}
@media(max-width:760px){.experience-badge{top:auto;bottom:42px;right:-12px;width:126px;height:126px;padding:14px 12px;gap:6px}.experience-badge strong{font-size:43px}.experience-badge strong>span{font-size:25px}.experience-badge>span{font-size:8px;letter-spacing:.6px}.portrait-caption{margin-top:74px}}

.ui-arrow{display:inline-block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex-shrink:0}.nav-contact .ui-arrow,.site-footer .ui-arrow{width:17px;height:17px}.detail-contact .ui-arrow{width:16px;height:16px;margin-left:5px}

/* Decorative hero orbit must not create horizontal page scrolling. */
body{overflow-x:clip}
html{overflow-x:clip}
