@font-face{font-family:Fraunces;src:url('/assets/fraunces-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:DM Sans;src:url('/assets/dm-sans-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:DM Sans;src:url('/assets/dm-sans-600.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--paper:#f7f2e9;--ink:#30271e;--muted:#655a4e;--rust:#92452f;--sage:#e4e7d8;--cream:#eee5d4;--line:#d6ccbb;--serif:Fraunces,Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}figure,p,dl{margin:0}p+p{margin-top:1.2em}p{color:var(--muted)}h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.045em;line-height:1.1;margin:0;color:var(--ink)}h1{font-size:clamp(3.1rem,5.3vw,5.4rem);text-wrap:balance}h2{font-size:clamp(2.3rem,3.7vw,3.65rem);text-wrap:balance}h3{font-size:1.55rem;letter-spacing:-.025em}::selection{background:#dbc0a2;color:var(--ink)}:focus-visible{outline:3px solid var(--rust);outline-offset:5px;border-radius:2px}.wrap{width:min(1240px,calc(100% - 88px));margin-inline:auto}.accent{color:var(--rust)}.eyebrow{font-family:var(--sans);font-size:.72rem;font-weight:600;line-height:1.55;letter-spacing:.14em;text-transform:uppercase;color:var(--rust);margin:0 0 1.1rem}.lead{font-size:1.18rem;line-height:1.65;max-width:620px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:18px;top:-80px;background:var(--ink);color:white;padding:14px 22px;z-index:1000}.skip:focus{top:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--rust);border:1px solid var(--rust);color:#fff9f0;padding:15px 24px;line-height:1.35;font-weight:600;font-size:.9rem;min-height:52px;transition:background .2s;text-align:center}.button:hover{background:#793725;border-color:#793725}.button-cream{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button-cream:hover{background:white;border-color:white}.text-link{display:inline-block;font-size:.9rem;font-weight:600;line-height:1.5;border-bottom:1px solid currentColor;padding:5px 0;color:var(--rust)}.text-link:hover{color:var(--ink)}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}
.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:30}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:106px;gap:22px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{width:69px;height:59px;object-fit:contain}.brand>span{font-family:var(--serif);font-size:1.55rem;line-height:1.1;letter-spacing:-.04em}.brand small{display:block;font:600 .65rem/1.8 var(--sans);letter-spacing:.21em;text-transform:uppercase;margin-top:3px}.desktop-nav{display:flex;align-items:center;gap:28px;font-size:.86rem;font-weight:600}.desktop-nav a:not(.nav-contact){padding:13px 0;border-bottom:2px solid transparent}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{border-color:var(--rust);color:var(--rust)}.desktop-nav .nav-contact{background:var(--ink);color:var(--paper);padding:11px 21px}.desktop-nav .nav-contact:hover,.desktop-nav .nav-contact[aria-current=page]{background:var(--rust);color:var(--paper)}.mobile-menu{display:none}
.home-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:45px;align-items:center;min-height:660px;padding-block:70px 80px}.hero-copy h1{font-size:clamp(3rem,4.8vw,4.6rem);letter-spacing:-.053em;line-height:1.11}.hero-copy .eyebrow{font-size:.65rem;margin-bottom:24px}.hero-copy .lead{max-width:490px;margin-top:25px}.hero-gallery{height:455px;position:relative;isolation:isolate;margin-right:10px}.hero-piece{display:block;position:absolute;padding:9px;background:#fffaf2;box-shadow:0 12px 32px #30271e19;transition:transform .25s}.hero-piece img{width:100%;height:auto}.hero-piece-one{width:61%;left:0;top:13%;transform:rotate(-7deg);z-index:2}.hero-piece-two{width:48%;right:0;top:0;transform:rotate(6deg);z-index:1}.hero-piece-three{width:48%;right:0;bottom:0;transform:rotate(4deg);z-index:3}.hero-piece:hover{transform:rotate(0) translateY(-5px)}.service-band{background:var(--ink);color:var(--paper)}.service-band .wrap{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;padding-block:23px}.service-band span{font-size:.78rem;letter-spacing:.04em}
.section{padding-block:100px}.section-first{padding-top:0}.rule{border-top:1px solid var(--line)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:start}.intro-grid h2{max-width:590px}.intro-grid .text-link{margin-top:20px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px}.section-head>p{max-width:380px;font-size:.98rem}.section-head .text-link{flex-shrink:0}.selected-work,.related-work{background:#eee9df}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 35px}.project-card>a{display:block}.card-art{position:relative;display:flex;align-items:center;justify-content:center;height:440px;padding:34px;overflow:hidden;border:1px solid #30271e0c}.card-art img{width:100%;height:100%;object-fit:contain;transition:transform .35s}.project-card a:hover .card-art img{transform:scale(1.025)}.card-arrow{display:flex;align-items:center;justify-content:center;position:absolute;bottom:20px;right:20px;width:42px;height:42px;background:var(--paper);border-radius:50%;color:var(--ink)}.pink{background:#e8d9df}.sage{background:#dfe4d6}.blue{background:#dce5e9}.red{background:#e9d8d1}.gold{background:#e7dec9}.warm{background:#e8dac7}.cream{background:#e9e2d7}.card-copy{padding-top:23px}.card-copy .eyebrow{font-size:.65rem;margin-bottom:10px}.card-copy h2{font-size:2.05rem;letter-spacing:-.035em}.card-copy>p:not(.eyebrow){font-size:.95rem;margin-top:12px;max-width:500px}.card-copy .text-link{margin-top:15px}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:45px 1fr 1fr 25px;align-items:center;gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}.service-row:hover h3{color:var(--rust)}.service-row p{font-size:.9rem;max-width:390px}.service-row>span:last-child{font-size:1.5rem;color:var(--rust)}.service-number{font-size:.72rem;letter-spacing:.08em;color:var(--rust);font-weight:600}
.about-band{background:var(--sage)}.about-teaser,.about-story{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.about-teaser figure{max-width:450px}.about-teaser h2,.about-story h2{margin-bottom:25px}.about-teaser .text-link{margin-top:22px}figcaption{font-size:.75rem;color:var(--muted);padding-top:13px}.photography-teaser{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px;align-items:center}.photography-teaser h2{margin-bottom:25px}.photography-teaser .text-link{margin-top:24px}.photography-teaser img{width:100%}.cta{background:var(--rust);padding-block:82px;color:var(--paper)}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:60px}.cta h2{color:var(--paper);font-size:clamp(2.8rem,4.3vw,4.3rem)}.cta p{color:#f6e8d9;max-width:520px;margin-top:22px}.cta .eyebrow{margin-top:0;color:#f4e6d8}.cta .button{flex-shrink:0}.site-footer{background:var(--ink);color:var(--paper);padding:72px 0 24px}.footer-grid{display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:60px;padding-bottom:50px}.footer-brand{font-family:var(--serif);font-size:2.5rem;line-height:1.12;letter-spacing:-.04em;display:inline-block}.site-footer p{color:#c8bfb1;font-size:.85rem;margin-top:23px}.site-footer .eyebrow{margin-top:5px;color:#d4b996}.footer-links{display:flex;flex-direction:column;gap:10px;font-size:.85rem;overflow-wrap:anywhere}.footer-links a{width:fit-content}.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #675c4f;padding-top:25px;font-size:.72rem;color:#c8bfb1}
.breadcrumbs{padding-top:28px;display:flex;flex-wrap:wrap;gap:10px;font-size:.72rem;line-height:1.5;color:var(--muted)}.breadcrumbs a:hover{text-decoration:underline;text-underline-offset:4px}.page-heading{padding-block:78px 65px}.page-heading h1{max-width:900px}.page-heading .lead{margin-top:27px;max-width:660px}.service-directory{border-top:1px solid var(--line)}.service-preview{display:grid;grid-template-columns:65px 1fr;gap:25px;padding:40px 0;border-bottom:1px solid var(--line);scroll-margin-top:30px}.service-preview h2{font-size:2.5rem}.service-preview p{margin-top:17px;max-width:600px}.service-preview .text-link{margin-top:18px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:23px 0}.faq-list summary{cursor:pointer;font-weight:600;line-height:1.45;padding-right:25px}.faq-list details p{font-size:.95rem;margin-top:17px}.detail-hero,.project-hero,.about-hero{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center;padding-block:65px 85px}.detail-hero h1,.project-hero h1,.about-hero h1{font-size:clamp(3rem,4.8vw,4.7rem)}.detail-hero .lead,.project-hero .lead,.about-hero .lead{margin-top:28px}.detail-hero p:not(.eyebrow)+p,.project-hero p:not(.eyebrow)+p,.about-hero p:not(.eyebrow)+p{margin-top:22px}.detail-hero .button,.about-hero .button{margin-top:30px}.detail-art{background:var(--cream);padding:35px;min-height:400px;display:flex;align-items:center;justify-content:center}.detail-art img{width:100%;max-height:460px;object-fit:contain}.deliverables{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.deliverables li{padding:16px 0;border-bottom:1px solid var(--line);font-size:1.05rem}.scope-note{margin-top:25px;font-size:.9rem}.related-art{display:flex;align-items:center;justify-content:center;max-height:430px}.related-art img{max-height:430px;width:100%;object-fit:contain}
.category-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:45px;border-block:1px solid var(--line);padding:19px 0}.category-nav a{display:block;padding:9px 16px;font-size:.84rem;line-height:1.5;border:1px solid transparent}.category-nav a:hover{border-color:var(--line)}.category-nav a[aria-current=page]{background:var(--ink);color:var(--paper)}.photo-project{display:grid;grid-template-columns:1.1fr .9fr;background:var(--sage);align-items:center;margin-top:65px}.photo-project img{width:100%}.photo-project>div{padding:35px 45px}.photo-project h2{font-size:2.8rem}.photo-project p:not(.eyebrow){margin-top:20px}.photo-project .text-link{margin-top:20px}.portfolio-footnote{font-size:.75rem;margin-top:40px;max-width:760px}.project-cover{padding:34px;display:flex;align-items:center;justify-content:center;min-height:430px}.project-cover img{width:100%;max-height:490px;object-fit:contain}.project-info{margin-top:30px;border-top:1px solid var(--line)}.project-info>div{display:grid;grid-template-columns:80px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:16px 0}.project-info dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--rust);padding-top:3px}.project-info dd{margin:0;font-size:.85rem;color:var(--muted)}.artwork-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 35px;align-items:start}.gallery-link{display:block;background:#eae4d9;padding:24px;position:relative}.gallery-link img{width:100%;height:auto}.gallery-link:hover img{filter:brightness(.96)}.zoom-label{display:block;background:var(--ink);color:var(--paper);position:absolute;right:24px;bottom:24px;padding:8px 12px;font-size:.67rem;line-height:1.4;opacity:0;transition:opacity .2s}.gallery-link:hover .zoom-label,.gallery-link:focus-visible .zoom-label{opacity:1}.gallery-item figcaption{display:flex;align-items:start;gap:16px;font-size:.81rem;line-height:1.5;padding-top:17px}.piece-number{font-size:.63rem;color:var(--rust);padding-top:2px;min-width:20px}.photo-related{background:var(--sage)}.photo-related .intro-grid{align-items:center}.photo-related h2{margin-bottom:25px}.photo-related img{width:100%;max-height:540px;object-fit:contain}.project-next{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-block:60px}.project-next>a:last-child{text-align:right}.project-next .eyebrow{display:block;font-size:.65rem;margin-bottom:8px}.project-next strong{font-family:var(--serif);font-size:1.75rem;letter-spacing:-.025em;line-height:1.2}.photo-gallery{columns:3;column-gap:24px}.photo-gallery .gallery-item{break-inside:avoid;margin:0 0 34px}.photo-gallery .gallery-link{padding:0;background:none}.photo-gallery .zoom-label{right:12px;bottom:12px}.photo-gallery figcaption{padding-top:12px}.photo-credit{display:flex;justify-content:space-between;gap:30px;align-items:center;border-top:1px solid var(--line);padding-top:25px;margin-top:35px;font-size:.8rem}
.about-portrait img{width:100%;max-height:660px;object-fit:contain;background:var(--cream)}.values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px;margin-top:50px}.values-grid p{font-size:.95rem;margin-top:18px}.about-story{grid-template-columns:.6fr 1.4fr}.about-story img{max-height:530px;width:100%;object-fit:contain}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;padding-block:75px 65px;align-items:start}.contact-main>p:not(.eyebrow){margin-top:28px;max-width:530px;font-size:1.1rem}.contact-checklist{list-style:none;padding:0;margin:30px 0}.contact-checklist li{display:flex;align-items:start;gap:24px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.92rem}.contact-checklist li>span{font-size:.67rem;font-weight:600;color:var(--rust);padding-top:4px}.contact-email{margin-top:35px;overflow-wrap:anywhere}.contact-email p{font-size:.85rem;margin-bottom:6px}.contact-panel{background:var(--cream);padding:30px 35px 35px}.contact-panel h2{font-size:2.7rem;margin-top:26px}.contact-panel>p{margin-top:20px;font-size:.95rem}.contact-panel .button{margin-top:25px;width:100%}.contact-portrait{width:100%}.contact-panel .form-note{font-size:.72rem;line-height:1.5}.contact-bottom{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid var(--line);padding-block:35px 90px}.contact-bottom h2{font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:15px}.contact-bottom p{font-size:.95rem}.contact-social{display:flex;gap:25px}.not-found-actions{padding-bottom:100px;margin-top:0}
.art-dialog{width:min(1100px,calc(100vw - 36px));max-height:calc(100dvh - 36px);padding:0;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 20px 70px #0005;overflow:auto}.art-dialog::backdrop{background:#17130fd9}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:22px 28px;border-bottom:1px solid var(--line)}.dialog-head .eyebrow{font-size:.6rem;margin-bottom:5px}.dialog-head h2{font-size:1.35rem;letter-spacing:-.025em}.dialog-close,.dialog-navigation button{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:10px 15px;min-height:44px;font-size:.8rem;font-weight:600;line-height:1.4;flex-shrink:0}.dialog-close:hover,.dialog-navigation button:hover{background:var(--cream)}.dialog-body{padding:20px;min-height:150px;background:#eae4d9}.dialog-body img{width:100%;height:auto;max-height:calc(100dvh - 235px);object-fit:contain}.dialog-error{padding:30px;text-align:center}.dialog-error a{text-decoration:underline}.dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 28px;border-top:1px solid var(--line)}.dialog-position{font-size:.75rem}.dialog-navigation{display:flex;gap:10px}[hidden]{display:none!important}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.desktop-nav{gap:19px;font-size:.8rem}.brand>span{font-size:1.35rem}.home-hero{gap:25px;min-height:610px}.hero-copy h1{font-size:3.65rem}.hero-gallery{height:380px}.intro-grid,.detail-hero,.project-hero,.about-hero{gap:50px}.card-art{height:380px;padding:27px}.about-teaser,.about-story,.photography-teaser{gap:55px}.contact-grid{gap:50px}.footer-grid{gap:35px}.service-row{grid-template-columns:35px 1.1fr 1fr 22px;gap:18px}}
@media(max-width:900px){.desktop-nav{display:none}.mobile-menu{display:block}.mobile-menu summary{list-style:none;cursor:pointer;padding:12px 16px;border:1px solid var(--line);font-weight:600;font-size:.8rem;min-height:44px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu[open] summary{background:var(--ink);color:var(--paper)}.mobile-menu nav{position:absolute;left:0;right:0;top:100%;padding:15px 32px 25px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 22px #30271e12;display:flex;flex-direction:column;gap:3px}.mobile-menu nav a{padding:13px 10px;min-height:46px;font-size:.95rem;border-bottom:1px solid var(--line)}.mobile-menu nav a[aria-current=page]{color:var(--rust);font-weight:600}.home-hero{grid-template-columns:1fr;gap:40px;padding-top:55px;padding-bottom:50px}.hero-copy{max-width:650px}.hero-copy h1{font-size:clamp(3.3rem,7.5vw,4.6rem)}.hero-gallery{width:min(570px,100%);height:460px;margin-inline:auto}.section{padding-block:75px}.section-first{padding-top:0}.card-art{height:330px;padding:22px}.intro-grid{gap:35px}.intro-grid h2{font-size:2.6rem}.service-row{grid-template-columns:35px 1fr 22px;gap:20px;row-gap:10px}.service-row p{grid-column:2;grid-row:2}.service-row>span:last-child{grid-column:3;grid-row:1/3}.about-teaser,.photography-teaser{gap:40px}.about-teaser h2,.photography-teaser h2{font-size:2.7rem}.cta-inner{gap:35px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px}.footer-grid>div:first-child{grid-column:1/-1}.detail-hero,.project-hero,.about-hero{gap:35px}.detail-hero h1,.project-hero h1,.about-hero h1{font-size:3.15rem}.project-cover,.detail-art{padding:24px;min-height:330px}.photo-gallery{columns:2}.photo-project>div{padding:25px}.photo-project h2{font-size:2.15rem}.faq{gap:40px}.contact-grid{gap:35px}.contact-panel{padding:22px}.values-grid{gap:30px}.values-grid h3{font-size:1.3rem}}
@media(max-width:700px){body{font-size:16px}.wrap{width:calc(100% - 36px)}.header-inner{min-height:90px}.brand img{width:57px;height:49px}.brand>span{font-size:1.3rem}.brand small{font-size:.6rem}.brand{gap:9px}.mobile-menu nav{padding-inline:18px}.home-hero{padding-top:45px;gap:42px}.hero-copy .eyebrow{font-size:.58rem}.hero-copy h1{font-size:clamp(2.8rem,8.5vw,3.9rem)}.hero-copy .lead{font-size:1.05rem;margin-top:22px}.actions{gap:18px;margin-top:26px}.button{font-size:.83rem;padding:14px 20px;min-height:50px}.text-link{font-size:.84rem}.hero-gallery{height:calc((100vw - 36px)*.82);max-height:455px;margin-right:auto;width:calc(100% - 12px)}.hero-piece{padding:6px}.hero-piece-one{top:10%}.service-band .wrap{justify-content:center;gap:14px 22px;padding-block:20px}.service-band span{font-size:.67rem}.section{padding-block:60px}.section-first{padding-top:0}.intro-grid,.about-teaser,.about-story,.photography-teaser,.faq,.detail-hero,.project-hero,.about-hero,.contact-grid{grid-template-columns:1fr;gap:32px}.intro-grid h2{font-size:2.55rem}.section-head{display:block;margin-bottom:32px}.section-head>p,.section-head>.text-link{margin-top:20px}.project-grid{grid-template-columns:1fr;gap:42px}.card-art{height:390px;padding:25px}.card-copy{padding-top:18px}.card-copy h2{font-size:2.15rem}.card-copy .eyebrow{font-size:.62rem}.card-copy>p:not(.eyebrow){font-size:.91rem}.service-row{grid-template-columns:25px 1fr 20px;gap:14px;padding:24px 0;row-gap:10px}.service-row h3{font-size:1.4rem}.service-row p{font-size:.86rem}.about-teaser figure{max-width:none}.about-teaser h2,.about-story h2,.photography-teaser h2{font-size:2.8rem}.about-story figure{max-width:340px;margin-inline:auto}.photography-teaser{gap:30px}.cta{padding-block:58px}.cta-inner{display:block}.cta h2{font-size:3rem}.cta .button{margin-top:28px}.site-footer{padding-top:52px}.footer-grid{grid-template-columns:1fr;gap:35px;padding-bottom:35px}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{font-size:.64rem;align-items:start}.page-heading{padding-block:50px 42px}.page-heading h1{font-size:3.3rem}.page-heading .lead{font-size:1.04rem;margin-top:23px}.service-preview{grid-template-columns:28px 1fr;gap:16px;padding:30px 0}.service-preview h2{font-size:2rem}.faq{gap:35px}.detail-hero,.project-hero,.about-hero{padding-block:40px 55px}.detail-hero h1,.project-hero h1,.about-hero h1{font-size:3.2rem}.detail-hero .lead,.project-hero .lead,.about-hero .lead{font-size:1.1rem;margin-top:22px}.project-cover,.detail-art{padding:25px;min-height:320px}.project-cover img,.detail-art img{max-height:440px}.category-nav{gap:5px;margin-bottom:30px;padding:12px 0}.category-nav a{font-size:.72rem;padding:10px 11px;min-height:44px}.photo-project{grid-template-columns:1fr;margin-top:50px}.photo-project>div{padding:30px}.photo-project h2{font-size:2.6rem}.artwork-gallery{grid-template-columns:1fr;gap:35px}.gallery-link{padding:18px}.gallery-item figcaption{font-size:.78rem;padding-top:13px}.zoom-label{right:18px;bottom:18px}.photo-gallery{columns:2;column-gap:16px}.photo-gallery .gallery-item{margin-bottom:25px}.photo-gallery figcaption{font-size:.67rem;gap:8px}.photo-gallery .piece-number{min-width:14px;font-size:.55rem}.photo-credit{display:block;font-size:.76rem;margin-top:18px}.photo-credit .text-link{margin-top:14px}.photo-gallery .zoom-label{display:none}.portfolio-footnote{font-size:.7rem;margin-top:28px}.project-next{padding-block:40px;gap:24px}.project-next strong{font-size:1.25rem}.project-next .text-link{font-size:.72rem}.project-next .eyebrow{font-size:.56rem}.values-grid{grid-template-columns:1fr;gap:32px;margin-top:35px}.values-grid h3{font-size:1.5rem}.values-grid p{margin-top:13px}.about-portrait img{max-height:650px}.contact-grid{padding-block:45px 50px}.contact-panel{padding:25px}.contact-panel .contact-portrait{max-height:330px;object-fit:contain}.contact-bottom{grid-template-columns:1fr;gap:30px;padding-bottom:60px}.breadcrumbs{font-size:.64rem;gap:7px;padding-top:22px}.art-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.dialog-head{padding:17px;gap:15px}.dialog-head h2{font-size:1.05rem}.dialog-close{padding:9px 12px;font-size:.72rem}.dialog-body{padding:10px}.dialog-body img{max-height:calc(100dvh - 235px)}.dialog-foot{padding:14px;gap:10px}.dialog-navigation{gap:7px}.dialog-navigation button{font-size:.7rem;padding:9px 10px}.dialog-position{font-size:.67rem}}
@media(max-width:380px){.brand>span{font-size:1.15rem}.brand img{width:49px;height:42px}.hero-copy h1{font-size:2.75rem}.card-art{height:340px}.page-heading h1,.detail-hero h1,.project-hero h1,.about-hero h1{font-size:2.85rem}.photo-gallery{columns:1}.photo-gallery figcaption{font-size:.78rem}.dialog-foot{flex-wrap:wrap}.dialog-navigation{margin-left:auto}}
.direct-contact{margin-top:25px;display:flex;flex-direction:column;align-items:start;gap:8px;font-size:.86rem}.direct-contact a{border-bottom:1px solid var(--rust);padding:5px 0;overflow-wrap:anywhere}.direct-contact p{font-size:.75rem}.process-steps{border-top:1px solid var(--line)}.process-steps article{display:grid;grid-template-columns:45px 1fr;gap:24px;padding:35px 0;border-bottom:1px solid var(--line)}.process-steps h2{font-size:2.2rem}.process-steps p{margin-top:18px;max-width:720px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Logo and supplied brand artwork. */
.brand img{width:64px;height:64px;flex-shrink:0}
.footer-brand{display:inline-flex;align-items:center;gap:15px}
.footer-brand img{width:64px;height:64px;flex-shrink:0}
.brand-story{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:70px;max-width:1000px}
.brand-story h2{margin-bottom:22px}
.brand-story .text-link{margin-top:18px}
.brand-promo{width:100%;max-width:340px}
.brand-promo .gallery-link{padding:0;background:transparent;border:0}
.brand-promo .gallery-item img{max-height:none}
.brand-promo .piece-number{display:none}
.brand-promo figcaption{padding-top:12px}
@media(max-width:700px){
  .brand img{width:46px;height:46px}
  .footer-brand img{width:54px;height:54px}
  .footer-brand{gap:12px}
  .brand-story{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px}
  .brand-story h2{font-size:1.6rem;margin-bottom:12px}
  .brand-story p:not(.eyebrow){font-size:1rem;line-height:1.5}
  .brand-story .text-link{margin-top:10px}
  .brand-promo figcaption{font-size:.8125rem}
  .brand-promo .zoom-label{display:none}
}
@media(max-width:380px){.brand-story{grid-template-columns:1fr}.brand-promo{max-width:190px;margin-inline:auto}}

/* Compact phone layouts keep the work within reach and full images in the viewer. */
@media(max-width:900px){
  .home-hero{min-height:0}
}
@media(max-width:700px){
  body{font-size:1rem;line-height:1.5}
  .wrap{width:calc(100% - 32px)}
  h1,.page-heading h1,.detail-hero h1,.project-hero h1,.about-hero h1{font-size:clamp(2rem,7.5vw,2.5rem);line-height:1.12}
  h2,.intro-grid h2,.about-teaser h2,.about-story h2,.photography-teaser h2{font-size:1.8rem;line-height:1.15}
  p+p{margin-top:.85em}
  .eyebrow,.hero-copy .eyebrow{font-size:.75rem;line-height:1.4;letter-spacing:.08em;margin-bottom:12px}
  .lead,.page-heading .lead,.hero-copy .lead,.detail-hero .lead,.project-hero .lead,.about-hero .lead{font-size:1rem;line-height:1.5;margin-top:14px}
  .header-inner{min-height:68px;gap:12px}
  .brand{gap:8px}
  .brand img{width:46px;height:46px}
  .brand>span{font-size:1.2rem}
  .brand small{font-size:.75rem;letter-spacing:.1em;line-height:1.3;margin-top:4px}
  .mobile-menu summary{padding:10px 12px;font-size:.875rem;line-height:1.5;min-height:44px}
  .mobile-menu nav{padding:8px 16px 16px}
  .mobile-menu nav a{padding:10px 8px;font-size:.875rem;min-height:44px}
  .home-hero{min-height:0;padding-block:26px 28px;gap:20px}
  .hero-copy h1{font-size:clamp(1.9rem,7.8vw,2.45rem);line-height:1.13}
  .hero-copy .eyebrow{margin-bottom:12px}
  .actions{gap:12px;margin-top:18px}
  .button{font-size:.875rem;padding:11px 14px;min-height:44px;gap:10px}
  .button>span[aria-hidden]{display:none}
  .text-link{font-size:.875rem;line-height:1.4;min-height:44px;display:inline-flex;align-items:center;padding-block:8px}
  .hero-copy .actions{gap:10px}
  .hero-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;height:auto;max-height:none;margin:0;align-items:start}
  .hero-piece,.hero-piece:hover{position:static;inset:auto;transform:none;width:auto;padding:4px;box-shadow:0 3px 10px #30271e12}
  .hero-piece img{width:100%;height:auto}
  .service-band .wrap{gap:8px 16px;padding-block:14px}
  .service-band span{font-size:.75rem;line-height:1.4}
  .section{padding-block:34px}
  .section-first{padding-top:0}
  .intro-grid,.about-teaser,.about-story,.photography-teaser,.faq,.detail-hero,.project-hero,.about-hero,.contact-grid{gap:22px;min-width:0}
  .intro-grid>*,.detail-hero>*,.project-hero>*,.about-hero>*,.contact-grid>*{min-width:0}
  .section-head{margin-bottom:22px}
  .section-head>p,.section-head>.text-link{margin-top:12px}
  .intro-grid .text-link,.about-teaser .text-link,.photography-teaser .text-link{margin-top:12px}
  .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}
  .project-card{min-width:0}
  .card-art{height:clamp(130px,37vw,225px);padding:10px}
  .card-arrow{display:none}
  .card-copy{padding-top:12px}
  .card-copy .eyebrow{font-size:.75rem;letter-spacing:.03em;line-height:1.4;margin-bottom:7px}
  .card-copy h2{font-size:1.2rem;line-height:1.2;overflow-wrap:anywhere}
  .card-copy>p:not(.eyebrow){display:none}
  .card-copy .text-link{font-size:.875rem;margin-top:6px}
  .service-row{padding:18px 0;gap:10px;row-gap:7px}
  .service-row h3{font-size:1.25rem}
  .service-row p{font-size:.875rem;line-height:1.5}
  .service-number{font-size:.75rem}
  .about-teaser h2,.about-story h2,.photography-teaser h2{margin-bottom:16px}
  .about-teaser img{width:100%;max-height:250px;object-fit:contain}
  .about-story figure{max-width:240px}
  .about-story img{max-height:290px}
  .about-portrait img{max-height:320px}
  figcaption{font-size:.8125rem;line-height:1.4;padding-top:9px}
  .cta{padding-block:34px}
  .cta h2{font-size:2rem}
  .cta p{margin-top:15px}
  .cta .button{margin-top:18px}
  .site-footer{padding:32px 0 20px}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;padding-bottom:26px}
  .footer-grid>div:first-child{grid-column:1/-1}
  .footer-brand{font-size:1.8rem}
  .site-footer p{font-size:.875rem;line-height:1.5;margin-top:14px}
  .site-footer .eyebrow{font-size:.75rem;margin-top:0;margin-bottom:12px}
  .footer-links{font-size:.875rem;line-height:1.45;gap:8px}
  .footer-links a{padding-block:3px;max-width:100%;overflow-wrap:anywhere}
  .footer-bottom{font-size:.75rem;line-height:1.5;padding-top:18px}
  .page-heading{padding-block:28px 26px}
  .breadcrumbs{font-size:.8125rem;padding-top:18px;gap:6px}
  .detail-hero,.project-hero,.about-hero{padding-block:24px 32px}
  .detail-hero p:not(.eyebrow)+p,.project-hero p:not(.eyebrow)+p,.about-hero p:not(.eyebrow)+p{margin-top:15px}
  .detail-hero .button,.about-hero .button{margin-top:18px}
  .project-cover,.detail-art{padding:16px;min-height:0}
  .project-cover img,.detail-art img{max-height:260px}
  .related-art,.related-art img{max-height:260px}
  .project-info{margin-top:20px}
  .project-info>div{grid-template-columns:62px 1fr;gap:14px;padding:12px 0}
  .project-info dt{font-size:.75rem}
  .project-info dd{font-size:.875rem;line-height:1.5}
  .category-nav{gap:4px;margin-bottom:22px;padding:9px 0}
  .category-nav a{font-size:.875rem;padding:10px 11px;min-height:44px}
  .photo-project{margin-top:30px}
  .photo-project img{max-height:220px;object-fit:contain}
  .photo-project>div{padding:22px}
  .photo-project h2{font-size:1.8rem}
  .photo-project p:not(.eyebrow),.photo-project .text-link{margin-top:12px}
  .artwork-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
  .gallery-item{min-width:0}
  .gallery-link{padding:8px}
  .gallery-item figcaption,.photo-gallery figcaption{font-size:.8125rem;line-height:1.4;padding-top:9px;overflow-wrap:anywhere}
  .gallery-item .piece-number{display:none}
  .zoom-label{display:none}
  .photo-gallery{columns:2;column-gap:14px}
  .photo-gallery .gallery-item{margin-bottom:20px}
  .photo-credit{margin-top:16px;padding-top:18px;font-size:.8125rem}
  .photo-credit .text-link{margin-top:8px}
  .portfolio-footnote{font-size:.8125rem;line-height:1.5;margin-top:24px}
  .photo-related img{max-height:300px}
  .project-next{padding-block:28px;gap:18px}
  .project-next strong{font-size:1.15rem}
  .project-next .eyebrow{font-size:.75rem}
  .project-next .text-link{font-size:.875rem}
  .service-preview{padding:22px 0;gap:14px}
  .service-preview h2{font-size:1.6rem}
  .service-preview p{margin-top:12px}
  .service-preview .text-link{margin-top:8px}
  .deliverables li{padding:12px 0;font-size:1rem}
  .scope-note{margin-top:18px}
  .faq-list details{padding:17px 0}
  .faq-list summary{font-size:1rem}
  .faq-list details p{font-size:1rem;margin-top:12px}
  .values-grid{gap:24px;margin-top:26px}
  .values-grid h3{font-size:1.4rem}
  .values-grid p{font-size:1rem;margin-top:12px}
  .contact-grid{padding-block:28px 34px}
  .contact-main>p:not(.eyebrow){font-size:1rem;margin-top:18px}
  .contact-checklist{margin-block:20px}
  .contact-checklist li{padding:11px 0;gap:14px;font-size:.875rem}
  .contact-checklist li>span{font-size:.75rem}
  .contact-email{margin-top:22px}
  .contact-email p{font-size:.875rem}
  .direct-contact{margin-top:18px;font-size:.875rem}
  .direct-contact p{font-size:.8125rem}
  .contact-panel{padding:20px}
  .contact-panel .contact-portrait{max-height:190px}
  .contact-panel h2{font-size:1.8rem;margin-top:18px}
  .contact-panel>p{font-size:1rem;margin-top:14px}
  .contact-panel .button{margin-top:18px}
  .contact-panel .form-note{font-size:.8125rem}
  .contact-bottom{gap:22px;padding-block:24px 34px}
  .contact-bottom h2{font-size:.75rem;margin-bottom:10px}
  .process-steps article{grid-template-columns:28px 1fr;gap:14px;padding:22px 0}
  .process-steps h2{font-size:1.6rem}
  .process-steps p{margin-top:12px}
  .not-found-actions{padding-bottom:50px}
  .dialog-head{padding:14px;gap:12px}
  .dialog-head .eyebrow{font-size:.75rem}
  .dialog-head h2{font-size:1.05rem;line-height:1.25}
  .dialog-close,.dialog-navigation button{font-size:.875rem;min-height:44px;padding:10px}
  .dialog-foot{padding:12px;gap:10px;flex-wrap:wrap}
  .dialog-position{font-size:.8125rem}
  .dialog-navigation{margin-left:auto}
}
