@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400 500;font-display:swap;src:url(/fonts/fd3893c623c32b6d-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400 500;font-display:swap;src:url(/fonts/ea896c3885e026c1-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400 500;font-display:swap;src:url(/fonts/024ead497118aa23-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400 500;font-display:swap;src:url(/fonts/e74f24ed7f0e4323-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400 500;font-display:swap;src:url(/fonts/e18f83c737786aa7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/393d45a2251e223a-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/8715d2ed531152f4-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/c48b38fe8bb532f3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/48410f3df60da620-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/7b89a4fd5e90ede0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond Fallback;src:local("Times New Roman");ascent-override:95.27%;descent-override:29.59%;line-gap-override:0.00%;size-adjust:96.98%}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/875ae681bfde4580-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}:root{--milk:#f2ede5;--milk-tint:#e8e1d5;--mat:#faf7f2;--graphite:#161514;--graphite-soft:#262422;--ink:#1b1917;--muted:#6d655c;--on-dark:#f2ede5;--on-dark-muted:rgb(242 237 229/0.64);--line:rgb(27 25 23/0.14);--line-dark:rgb(242 237 229/0.16);--accent:#8e2433;--accent-light:#d98c97;--display:"Cormorant Garamond","Cormorant Garamond Fallback",Georgia,serif;--sans:"Manrope","Manrope Fallback",system-ui,sans-serif;--fs-hero:clamp(64px,8.4vw,136px);--fs-h2:clamp(40px,5vw,80px);--fs-h3:clamp(24px,2.1vw,32px);--fs-lead:clamp(17px,1.3vw,19px);--fs-body:16px;--fs-small:14px;--fs-label:11px;--gutter:clamp(16px,4vw,56px);--gap:clamp(8px,1vw,16px);--stack:clamp(24px,3vw,48px);--section:clamp(64px,8vw,120px);--container:1520px;--header:72px;--ease:cubic-bezier(0.2,0.7,0.2,1)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 16px);scrollbar-color:var(--muted) var(--milk)}html:has(dialog[open]){overflow:hidden}html:has(.lightbox[open]){scrollbar-color:var(--on-dark-muted) var(--graphite)}::selection{background:var(--accent);color:var(--on-dark)}body{margin:0;background:var(--milk);color:var(--ink);font:400 var(--fs-body)/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{display:block;max-width:100%;height:auto}a{text-underline-offset:4px}a,button{color:inherit}button{font:inherit;cursor:pointer}h1,h2,h3,h4{margin:0;font-family:var(--display);font-weight:400;line-height:1;letter-spacing:-.01em}h1 em,h2 em{font-style:italic}p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.archive :focus-visible,.chapter-dark :focus-visible,.contact :focus-visible,.footer :focus-visible,.header:not([data-scrolled]) :focus-visible,.hero :focus-visible,.lightbox :focus-visible,.menu :focus-visible{outline-color:var(--on-dark)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:16px;top:-60px;z-index:50;padding:10px 16px;background:var(--ink);color:var(--milk);text-decoration:none}.skip-link:focus{top:12px}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.eyebrow{font-size:var(--fs-label);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;background:var(--ink);color:var(--milk);border:1px solid var(--ink);font-size:var(--fs-small);font-weight:600;letter-spacing:.04em;text-decoration:none;white-space:nowrap;transition:background .3s,border-color .3s,color .3s}.button:hover{background:var(--accent);border-color:var(--accent)}.button-light{background:var(--on-dark);color:var(--ink);border-color:var(--on-dark)}.button-light:hover{background:var(--accent);border-color:var(--accent);color:var(--on-dark)}.text-link{padding:0 0 3px;border:0;background:linear-gradient(currentColor,currentColor) 0 100% /100% 1px no-repeat;font-size:var(--fs-small);font-weight:600;letter-spacing:.03em;text-decoration:none;text-align:left;transition:background-size .4s var(--ease),color .3s}.text-link:hover{background-size:40% 1px;color:var(--accent)}.text-link-light:hover{color:var(--accent-light)}.icon-button{display:grid;place-items:center;width:48px;height:48px;background:transparent;border:1px solid;border-radius:50%}.icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}.frame{display:block;width:100%;padding:0;border:0;overflow:hidden;background:var(--milk-tint);cursor:zoom-in}.frame img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;transition:transform 1.2s var(--ease),opacity .8s var(--ease)}.frame:hover img{transform:scale(1.03)}.frame img.is-loading{opacity:0}.mat{margin:0;padding:clamp(10px,1.4vw,20px);background:var(--mat);box-shadow:0 1px 0 var(--line)}[data-reveal]{transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal-ready [data-reveal]:not(.is-visible){opacity:0;transform:translateY(28px)}.header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:40px;height:var(--header);padding:0 var(--gutter);background:color-mix(in srgb,var(--milk) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:background .4s,color .4s,border-color .4s}.header:not([data-scrolled]){background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-color:transparent;color:var(--on-dark)}.wordmark{display:inline-flex;align-items:baseline;gap:10px;text-decoration:none;white-space:nowrap;line-height:1;text-transform:uppercase}.wordmark-main{font-family:var(--display);font-size:24px;font-weight:500;letter-spacing:.14em}.wordmark-sub{font-size:10px;font-weight:600;letter-spacing:.34em;opacity:.7}.header-nav{display:flex;gap:32px;margin-left:auto}.header-cta,.header-nav a{position:relative;font-size:var(--fs-small);text-decoration:none;padding-block:6px}.header-nav a{opacity:.72;transition:opacity .3s}.header-nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}.header:not([data-scrolled]) .header-nav a:after{background:currentColor}.header-nav a:hover,.header-nav a[aria-current=location]{opacity:1}.header-nav a:hover:after,.header-nav a[aria-current=location]:after{transform:scaleX(1)}.header-cta{font-weight:600;border-bottom:1px solid;padding-bottom:2px}.menu-button{display:none;min-height:44px;margin:0 -8px 0 auto;padding:0 8px;background:none;border:0}.menu-button-label{font-size:var(--fs-label);font-weight:600;letter-spacing:.18em;text-transform:uppercase}.menu{width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:var(--graphite);color:var(--on-dark)}.menu[open]{animation:fade-in .4s var(--ease)}.menu::backdrop{background:rgb(0 0 0/.4)}.menu-inner{display:flex;flex-direction:column;min-height:100%;padding:12px var(--gutter) 32px}.menu-close{align-self:flex-end;border-color:var(--line-dark)}.menu-brand{display:inline-flex;align-items:baseline;gap:10px;margin-top:8px;text-transform:uppercase}.menu nav{display:flex;flex-direction:column;margin:32px 0 40px;border-top:1px solid var(--line-dark)}.menu nav a{display:flex;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--line-dark);font-family:var(--display);font-size:38px;line-height:1.1;text-decoration:none}.menu-index{font-family:var(--sans);font-size:11px;color:var(--accent-light);min-width:1.8em}.menu .button{margin-top:auto;background:var(--on-dark);color:var(--ink);border-color:var(--on-dark)}.hero{--hero-h:clamp(640px,100svh,1040px);position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;height:var(--hero-h);margin-top:calc(-1 * var(--header));background:var(--graphite);color:var(--on-dark);overflow:hidden}.hero-photo{grid-column:2;grid-row:1;position:relative;height:100%;width:min(calc(var(--hero-h) * var(--ratio, .667)),60vw);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%);mask-image:linear-gradient(90deg,transparent 0,#000 22%)}.hero-photo:after{content:"";position:absolute;inset:0 0 auto;height:30%;background:linear-gradient(rgb(22 21 20/.7),transparent)}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;animation:hero-in 1.8s var(--ease) both}.hero-copy{grid-column:1;grid-row:1;position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:calc(var(--header) + var(--stack)) 0 clamp(40px,5vw,72px) max(var(--gutter),calc((100vw - var(--container)) / 2 + var(--gutter)));margin-right:-12vw}.hero .eyebrow{color:var(--on-dark-muted)}.hero h1{margin-top:22px;font-size:var(--fs-hero);line-height:.92;letter-spacing:-.02em}.hero h1 em{display:block;padding-left:.6em}.hero-lead{max-width:27em;margin-top:28px;font-size:var(--fs-lead);color:var(--on-dark-muted)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:36px}@keyframes hero-in{0%{opacity:0;transform:scale(1.03)}}.chapter{padding-block:var(--section)}.chapter-dark{background:var(--graphite);color:var(--on-dark)}.chapter-tinted{background:var(--milk-tint)}.chapter-dark .frame{background:var(--graphite-soft)}.chapter-head{display:flex;flex-direction:column;align-items:flex-start;gap:16px;max-width:34em}.chapter-head h2{font-size:var(--fs-h2)}.chapter-kind{display:flex;align-items:baseline;gap:14px;font-size:var(--fs-small);color:var(--muted)}.chapter-index{font-family:var(--display);font-size:20px;font-style:italic;color:var(--accent)}.chapter-dark .chapter-index{color:var(--accent-light)}.chapter-dark .chapter-kind{color:var(--on-dark-muted)}.chapter-text{color:var(--muted)}.chapter-dark .chapter-text{color:var(--on-dark-muted)}.chapter-head .text-link{margin-top:8px}.feature-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--stack)}.feature-main{aspect-ratio:4/5;align-self:stretch;height:100%}.feature-side{display:flex;flex-direction:column;gap:var(--gap)}.feature-side .chapter-head{margin-bottom:auto;padding-bottom:var(--stack)}.pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}.pair .frame{aspect-ratio:4/5}.wide{aspect-ratio:3/2}.chapter-mosaic .chapter-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:none;gap:16px var(--stack);align-items:end;margin-bottom:var(--stack)}.chapter-mosaic .chapter-head .chapter-kind{grid-column:1;grid-row:1}.chapter-mosaic .chapter-head h2{grid-column:1;grid-row:2}.chapter-mosaic .chapter-head .chapter-text{grid-column:2;grid-row:1/3;align-self:end;max-width:34em}.chapter-mosaic .chapter-head .text-link{grid-column:2;margin-top:0;justify-self:start}.mosaic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}.mosaic-grid .frame{aspect-ratio:4/5}.mosaic-grid .mosaic-pano{grid-column:1/-1;aspect-ratio:21/8}.diptych{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px)}.diptych-item{display:flex;flex-direction:column;gap:var(--stack)}.diptych .mat{display:grid;grid-template-columns:1fr 1fr;gap:clamp(8px,1vw,14px)}.diptych .frame{aspect-ratio:4/5}.diptych .chapter-head h2{font-size:clamp(36px,3.8vw,56px)}.story-top{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:var(--stack);align-items:end}.story-main{aspect-ratio:3/2}.story-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);margin-top:var(--gap)}.story-row .frame{aspect-ratio:4/5}.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px var(--stack);align-items:end;margin-bottom:var(--stack)}.section-head h2{margin-top:16px;font-size:var(--fs-h2)}.section-head-copy{max-width:34em;color:var(--muted)}.archive{padding-block:var(--section);background:var(--graphite);color:var(--on-dark)}.archive .eyebrow,.archive .section-head-copy{color:var(--on-dark-muted)}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.filters button{min-height:44px;padding:0 18px;background:transparent;color:var(--on-dark-muted);border:1px solid var(--line-dark);border-radius:999px;font-size:var(--fs-small);transition:color .3s,border-color .3s,background .3s}.filters button:hover{color:var(--on-dark);border-color:var(--on-dark-muted)}.filters button[aria-pressed=true]{background:var(--on-dark);border-color:var(--on-dark);color:var(--ink)}.archive-status{margin:0 0 24px;color:var(--on-dark-muted);font-size:var(--fs-small);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.archive-empty{max-width:42ch;color:var(--on-dark)}.filters span{margin-left:4px;font-size:11px;opacity:.6}.masonry{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:var(--gap);align-items:start}.masonry-column{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--gap)}.tile{display:block;width:100%;padding:0;border:0;overflow:hidden;background:var(--graphite-soft);cursor:zoom-in}.tile img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),opacity .4s;animation:fade-in .8s var(--ease) both}.tile:hover img{transform:scale(1.03)}.masonry:has(.tile:hover) .tile:not(:hover) img{opacity:.7}.more{display:flex;justify-content:center;margin-top:var(--stack)}.more .button{background:transparent;color:var(--on-dark);border-color:var(--line-dark)}.more .button:hover{background:var(--on-dark);color:var(--ink);border-color:var(--on-dark)}.about{padding-block:var(--section)}.about-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--stack) clamp(32px,6vw,96px);align-items:start}.about-photo{grid-row:1/3}.about-frame{overflow:hidden}.about-frame img{width:100%;height:100%;object-fit:cover}.about-photo figcaption{padding:14px 4px 2px;font-size:12px;color:var(--muted)}.about-head h2{margin-top:16px;font-size:var(--fs-h2)}.about-grid-text .about-head{grid-column:1}.about-grid-text .about-copy{grid-column:2;padding-top:30px}.about-lead{margin-top:28px;max-width:14em;font-family:var(--display);font-size:clamp(26px,2.4vw,38px);font-style:italic;line-height:1.2;color:var(--accent)}.principles{list-style:none;margin:clamp(56px,7vw,104px) 0 0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--stack)}.principles li{padding-top:18px;border-top:1px solid var(--ink)}.principles h3{margin-top:10px;font-size:var(--fs-h3)}.principles p{margin-top:12px;font-size:var(--fs-small);line-height:1.65;color:var(--muted)}.about-text{display:flex;flex-direction:column;gap:16px;max-width:32em;font-size:var(--fs-lead);line-height:1.7}.facts{margin:var(--stack) 0 0;max-width:34em}.facts div{display:grid;grid-template-columns:7.5em 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--line)}.facts div:last-child{border-bottom:1px solid var(--line)}.facts dt{font-size:var(--fs-label);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding-top:3px}.facts dd{margin:0;font-size:15px}.facts a{text-decoration:none;border-bottom:1px solid var(--line);transition:color .3s,border-color .3s}.facts a:hover{color:var(--accent);border-color:currentColor}.services{padding-block:var(--section);background:var(--milk-tint)}.service-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}.service-list li{display:grid;grid-template-columns:3em 110px minmax(0,1fr) auto;gap:16px var(--stack);align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}.service-index{align-self:start;padding-top:2px;font-family:var(--display);font-size:20px;font-style:italic;color:var(--accent)}.service-photo{aspect-ratio:4/5}.service-copy h3{font-size:var(--fs-h3);margin-bottom:12px}.service-copy p{max-width:36em;color:var(--muted)}.service-examples{white-space:nowrap;justify-self:start}.steps-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--stack);margin-top:clamp(48px,6vw,80px)}.steps-head h3{font-size:var(--fs-h3)}.steps-head p{margin-top:12px;color:var(--muted);max-width:22em}.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--stack)}.steps li{padding-top:16px;border-top:1px solid var(--line)}.step-index{font-family:var(--display);font-size:18px;font-style:italic;color:var(--accent)}.steps h4{font-family:var(--sans);font-weight:600;letter-spacing:.02em}.steps h4,.steps p{margin-top:8px;font-size:var(--fs-small)}.steps p{color:var(--muted)}.prices{padding-block:var(--section);background:var(--mat)}.price-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}.price-list>li{display:flex;flex-direction:column;padding:32px clamp(20px,2.6vw,44px) 8px;border-left:1px solid var(--line)}.price-list>li:first-child{padding-left:0;border-left:0}.price-list h3{font-family:var(--sans);font-size:var(--fs-label);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.price-list .price{margin:18px 0 26px;font-family:var(--display);font-size:clamp(44px,4.4vw,68px);line-height:1;font-feature-settings:"lnum";font-variant-numeric:lining-nums}.price-list>li:nth-child(2) .price{color:var(--accent)}.price-list .price-description{margin:-12px 0 22px;font-size:var(--fs-small);color:var(--muted)}.price-list ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.price-list ul li{padding:11px 0;border-bottom:1px solid var(--line);font-size:var(--fs-small)}.price-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px var(--stack);margin-top:var(--stack)}.price-notes{display:flex;flex-direction:column;gap:8px;max-width:46em;font-size:var(--fs-small);color:var(--muted)}.contact{padding-block:var(--section);background:var(--graphite);color:var(--on-dark)}.contact .eyebrow,.contact .facts dt{color:var(--on-dark-muted)}.contact .facts a,.contact .facts div{border-color:var(--line-dark)}.contact .facts a:hover{color:var(--accent-light)}.contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:center}.contact-copy{display:flex;flex-direction:column;align-items:flex-start}.contact-copy h2{margin-top:16px;font-size:var(--fs-h2)}.contact-text{margin:20px 0 32px;max-width:30em;color:var(--on-dark-muted)}.contact-copy .facts{width:100%}.contact-photo{aspect-ratio:4/3;background:var(--graphite-soft)}.footer{background:var(--graphite);color:var(--on-dark-muted);font-size:13px}.footer-inner{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 32px;padding-block:24px;border-top:1px solid var(--line-dark)}.footer-brand{font-family:var(--display);font-size:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark)}.footer-legal{gap:8px 24px}.footer-legal,.footer-meta{display:flex;flex-wrap:wrap}.footer-meta{justify-content:space-between;gap:8px 32px;padding-block:0 28px;font-size:12px}.footer-credit{letter-spacing:.02em}.footer-credit a{color:var(--on-dark);letter-spacing:.08em;border-bottom:1px solid var(--line-dark);transition:border-color .3s}.footer-credit a:hover{border-color:currentColor}.footer a{text-decoration:none}.footer a:hover{color:var(--on-dark)}.privacy-note{background:var(--graphite);color:var(--on-dark-muted);border-top:1px solid var(--line-dark)}.privacy-note-inner{display:flex;align-items:center;justify-content:space-between;gap:16px 40px;padding-block:20px}.privacy-note p{max-width:62em;font-size:13px;line-height:1.6}.privacy-note strong{font-weight:600;color:var(--on-dark)}.privacy-note a{color:var(--on-dark);text-underline-offset:3px;text-decoration-color:var(--line-dark)}.privacy-note a:hover{color:var(--accent-light)}.privacy-note-close{flex:none;min-height:44px;padding:0 18px;background:transparent;color:var(--on-dark);border:1px solid var(--line-dark);font-size:12px;font-weight:600;letter-spacing:.04em;transition:background .3s,color .3s}.privacy-note-close:hover{background:var(--on-dark);color:var(--ink)}.privacy-note :focus-visible{outline-color:var(--on-dark)}.legal-header{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--header);padding:0 var(--gutter);border-bottom:1px solid var(--line)}.legal{padding:clamp(48px,7vw,104px) var(--gutter) var(--section)}.legal-layout{max-width:1200px;margin-inline:auto;display:grid;grid-template-columns:minmax(200px,260px) minmax(0,44em);column-gap:clamp(32px,5vw,80px);grid-template-areas:"sidebar heading" "sidebar article";align-items:start}.legal-heading{grid-area:heading;margin-bottom:28px;overflow-wrap:anywhere}.legal-sidebar{grid-area:sidebar;position:sticky;top:32px;font-size:13px}.legal-documents{display:flex;flex-direction:column;border-top:1px solid var(--line)}.legal-documents a{padding:14px 0;min-height:44px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--muted)}.legal-documents a[aria-current=page]{color:var(--accent);font-weight:600}.legal-contents a:hover,.legal-documents a:hover{color:var(--accent);text-decoration:underline}.legal-contents{margin-top:28px}.legal-contents summary{min-height:44px;cursor:pointer;font-weight:600}.legal-contents ul{list-style:none;margin:0;padding:0}.legal-contents a{display:block;padding:10px 0;min-height:44px;color:var(--muted);text-decoration:none}.legal-article{grid-area:article;min-width:0;max-width:44em;overflow-wrap:anywhere}.legal-article h2:target{color:var(--accent)}@media (max-width:900px){.legal-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "sidebar" "article";gap:28px}.legal-heading{margin-bottom:0}.legal-sidebar{grid-area:sidebar;position:static}.legal-contents{margin-top:20px}}.legal-heading h1{margin-top:0;font-size:clamp(40px,5vw,72px)}.legal-revision{margin-top:16px;font-size:13px;color:var(--muted)}.legal-lead{margin-top:var(--stack);font-family:var(--display);font-size:clamp(22px,2vw,28px);font-style:italic;line-height:1.35}.legal-article h2{margin:clamp(36px,4vw,52px) 0 14px;font-size:clamp(24px,2.2vw,32px)}.legal-article li,.legal-article p{color:#3d3833;line-height:1.75}.legal-article p+p,.legal-article p+ul,.legal-article ul+p{margin-top:12px}.legal-article ul{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:8px}.legal-article li::marker{color:var(--accent)}.legal-article a{color:var(--ink);text-decoration-color:var(--line)}.legal-article a:hover{color:var(--accent)}.lightbox{width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#0f0e0d;color:var(--on-dark)}.lightbox[open]{animation:fade-in .4s var(--ease)}.lightbox::backdrop{background:#0f0e0d}.lightbox figure{display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;height:100%;margin:0;padding:72px 88px 24px}.lightbox-image{position:relative;display:grid;place-items:center;min-height:0;width:100%;height:100%;overflow:hidden}.lightbox-image[data-status=loading] img{opacity:0}.lightbox-status{position:absolute;padding:24px;text-align:center;font-size:var(--fs-small);color:var(--on-dark-muted)}.lightbox-image[data-status=error] img{display:none}.lightbox img{max-width:100%;max-height:100%;width:100%;height:100%;min-height:0;object-fit:contain;animation:fade-in .5s ease}.lightbox figcaption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:8px 20px;margin-top:16px;max-width:100%;max-height:25dvh;overflow-y:auto;overflow-wrap:anywhere}.lightbox-title{font-family:var(--display);font-size:20px;font-style:italic}.lightbox-description{max-width:40em;font-size:13px;color:var(--on-dark-muted)}.lightbox .counter{font-size:12px;letter-spacing:.12em;color:var(--on-dark-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lightbox .icon-button{position:absolute;border-color:rgb(255 255 255/.3);background:rgb(15 14 13/.5)}.lightbox .icon-button:hover{border-color:#fff}.lightbox-close{top:16px;right:16px}.lightbox-next,.lightbox-prev{top:50%;transform:translateY(-50%)}.lightbox-prev{left:20px}.lightbox-next{right:20px}@keyframes fade-in{0%{opacity:0}}.not-found{display:grid;place-content:center;justify-items:start;gap:24px;min-height:100svh;padding:48px var(--gutter)}.not-found h1{font-size:clamp(48px,8vw,104px)}.not-found p:not(.eyebrow){max-width:440px;color:var(--muted)}@media (max-width:1100px){.header-nav{gap:22px}.service-list li{grid-template-columns:2.5em 110px minmax(0,1fr)}.service-examples{grid-column:3}.steps-block{grid-template-columns:1fr}.principles{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){:root{--header:60px}.header-cta,.header-nav{display:none}.menu-button{display:block}.wordmark-main{font-size:20px}.hero{--photo-w:min(100vw,calc(78svh * var(--ratio, 0.667)));display:flex;flex-direction:column;height:auto}.hero-photo{width:var(--photo-w);height:auto;aspect-ratio:var(--ratio,.667);margin-inline:auto;-webkit-mask-image:linear-gradient(#000 62%,transparent);mask-image:linear-gradient(#000 62%,transparent)}.hero-copy{margin:calc(var(--photo-w) / var(--ratio, .667) * -.2) 0 0;padding:0 var(--gutter) 48px}.hero h1{font-size:clamp(56px,17vw,96px)}.hero-lead{margin-top:20px}.hero-actions{margin-top:28px}.feature-grid{display:flex;flex-direction:column;gap:var(--gap)}.feature-side{display:contents}.feature-side .chapter-head{order:-1;margin:0 0 var(--stack);padding:0}.feature-main{height:auto}.chapter-mosaic .chapter-head{display:flex;align-items:flex-start}.mosaic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mosaic-grid .mosaic-pano{aspect-ratio:16/9}.diptych{grid-template-columns:1fr;gap:var(--section)}.story-top{display:flex;flex-direction:column-reverse;align-items:stretch}.story-row{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid,.contact-grid,.section-head{grid-template-columns:1fr}.about-photo{grid-row:auto}.about-grid-text .about-copy,.about-grid-text .about-head{grid-column:1;padding-top:0}.contact-photo{order:-1;aspect-ratio:3/2}.price-list{grid-template-columns:1fr;border-top:0}.price-list>li,.price-list>li:first-child{padding:28px 0 8px;border-left:0;border-top:1px solid var(--ink)}.lightbox figure{padding:72px 16px 88px}.lightbox figcaption{text-align:center}.lightbox-description{flex-basis:100%;order:1}.lightbox-next,.lightbox-prev{top:auto;bottom:16px;transform:none}.lightbox-prev{left:calc(50% - 64px)}.lightbox-next{right:calc(50% - 64px)}}@media (min-width:641px) and (max-width:900px){.hero-photo{-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent),linear-gradient(#000 62%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent),linear-gradient(#000 62%,transparent);-webkit-mask-composite:source-in,xor;mask-composite:intersect}}@media (max-width:640px){:root{--fs-body:15px}.privacy-note-inner{flex-direction:column;align-items:flex-start}.hero-copy{margin-top:calc(var(--photo-w) / var(--ratio, .667) * -.08)}.steps{gap:0}.principles,.steps{grid-template-columns:1fr}.principles{grid-auto-flow:row;gap:28px}.steps li{padding-bottom:16px}.facts div{grid-template-columns:1fr;gap:4px}.filters button{flex:none;padding-inline:14px;font-size:13px}.service-list li{grid-template-columns:80px minmax(0,1fr);column-gap:20px;align-items:start}.service-index{display:none}.service-photo{grid-row:1/3}.service-examples{grid-column:2;font-size:12px}.service-copy h3{font-size:28px}.service-copy p{font-size:14px}.hero-actions{gap:18px}.hero-actions .button{padding-inline:20px}.masonry:has(.tile:hover) .tile:not(:hover) img{opacity:1}.footer-inner,.footer-legal{flex-direction:column}.footer-legal{gap:10px}}@media (hover:none){.frame:hover img,.tile:hover img{transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}