:root{--paper:#f6f3ed;--ink:#28271f;--muted:#77756b;--line:#d9d5cb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:15px Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}header{padding:30px 5%;display:flex;justify-content:space-between;align-items:center}.logo{font:30px Georgia,serif;letter-spacing:1px}.logo span{display:block;font:10px Arial,sans-serif;letter-spacing:6px;margin-top:9px}nav{display:flex;gap:40px;font-size:12px}a:hover{text-decoration:underline}p{line-height:1.6}.hero{padding:0 3%}.hero-top{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:16px 2%}.hero-top p{margin:0;font-size:11px;letter-spacing:2px}.hero-top p:last-child{font:italic 16px Georgia;letter-spacing:0}.collage{display:grid;grid-template-columns:1fr 1.25fr 1fr .85fr;gap:10px;height:490px}.collage img{width:100%;height:100%;object-fit:cover;min-width:0}.hero-bottom{padding:42px 2% 72px;display:flex;align-items:end;justify-content:space-between}h1,h2,h3{font-family:Georgia,serif;font-weight:400;margin:0}h1{font-size:clamp(50px,6.3vw,96px);letter-spacing:-3px;line-height:1.02}em{font-weight:400}.hero-bottom>div{width:230px}.hero-bottom p{font-size:18px}.text-link{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid;font-size:10px;letter-spacing:2px}.work{padding:70px 5%;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.eyebrow{font-size:10px;letter-spacing:2px;margin:0 0 20px}h2{font-size:clamp(42px,5vw,72px);line-height:1.08;letter-spacing:-2px}.filters{display:flex;gap:24px}.filters button{background:none;border:0;padding:10px 0;color:var(--muted);font-size:12px}.filters button[aria-pressed=true]{color:var(--ink);border-bottom:1px solid}.gallery{columns:3;column-gap:22px}.photo{display:block;width:100%;padding:0;background:none;border:0;break-inside:avoid;margin-bottom:26px;text-align:left}.photo img{width:100%;display:block}.photo span{display:block;font-size:10px;letter-spacing:1px;padding:12px 0;color:var(--muted)}.photo:hover img{opacity:.92}.approach{background:#e8e6dc;padding:85px 8%}.intro{max-width:460px;margin:30px 0 60px;color:#57574b;font-size:17px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.services article{border-top:1px solid #aaa99b;padding-top:20px}.services span{font-size:11px;color:var(--muted)}h3{font-size:34px;margin:25px 0 15px}.services p{max-width:270px;color:#57574b}.services a{display:block;font-size:12px;margin-top:32px}.contact{text-align:center;padding:110px 20px}.contact>p:not(.eyebrow){color:var(--muted)}.preview-note{font-size:12px;margin-top:30px}footer{border-top:1px solid var(--line);padding:35px 5%;display:flex;justify-content:space-between;align-items:center}footer p,footer>a:last-child{font-size:11px;color:var(--muted)}dialog{border:0;background:#171713;color:white;width:95vw;max-width:none;height:94vh;padding:30px;overflow:hidden}dialog::backdrop{background:#000d}dialog[open]{display:grid;grid-template-columns:50px 1fr 50px;align-items:center}dialog img{max-width:100%;max-height:80vh;justify-self:center;object-fit:contain}dialog button{background:none;color:white;border:0;font-size:28px;padding:10px}#close{position:absolute;right:10px;top:5px}#caption{position:absolute;bottom:0;left:0;width:100%;text-align:center;font-size:12px}:focus-visible{outline:2px solid #8f572d;outline-offset:5px}@media(max-width:700px){header{padding:24px 5%;align-items:start}.logo{font-size:21px}.logo span{font-size:8px;letter-spacing:4px}nav{gap:13px;font-size:10px;flex-wrap:wrap;width:150px;justify-content:end}.hero-top p{font-size:8px;letter-spacing:1px}.collage{height:420px;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:6px}.collage img{min-height:0}.hero-bottom{padding:30px 2% 50px;display:block}h1{letter-spacing:-2px}.hero-bottom>div{width:100%;display:flex;justify-content:space-between;align-items:center;margin-top:24px}.hero-bottom p{font-size:14px}.text-link{width:155px}.work{padding:45px 5%}.section-heading{display:block}.filters{gap:20px;margin-top:25px}.gallery{columns:2;column-gap:12px}.photo{margin-bottom:12px}.photo span{font-size:8px}.approach{padding:55px 6%}.services{grid-template-columns:1fr;gap:35px}.services p{max-width:none}.services a{margin-top:20px}.contact{padding:70px 20px}footer{gap:25px;flex-wrap:wrap}footer p{display:none}dialog{padding:20px 5px;grid-template-columns:35px 1fr 35px}dialog button{font-size:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.collage .featured-portrait{object-position:25% center}

.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8%;padding:85px 8%;align-items:center;border-top:1px solid var(--line)}.about>img{display:block;width:100%;height:auto;max-height:650px;object-fit:cover;object-position:center 35%}.about-copy>p:not(.eyebrow){max-width:490px;font-size:16px;color:#57574b;line-height:1.8}.about-copy h2{margin-bottom:28px}.about-copy .text-link{max-width:300px;margin-top:30px}.contact-email{display:inline-block;font:clamp(19px,3vw,32px) Georgia,serif;border-bottom:1px solid var(--ink);padding-bottom:8px;margin:22px 0 12px;overflow-wrap:anywhere}.contact .quote-note{font-size:15px}.inquiry-guidance{font-size:13px}.instagram{display:inline-block;font-size:10px;letter-spacing:1.5px;margin-top:26px}@media(max-width:700px){.about{grid-template-columns:1fr;padding:50px 6%;gap:35px}.about>img{max-height:520px;width:100%;object-position:center 30%}.about .eyebrow{line-height:1.7}.inquiry-guidance br{display:none}}

.photo img{height:auto}

.hero-bottom>div>p{font-family:Georgia,serif;font-size:20px;line-height:1.45;letter-spacing:0}@media(max-width:700px){.hero-bottom>div>p{font-size:17px}}

.arrow-icon{display:inline-block;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.12em;flex-shrink:0}

/* Read the saved arrangement across each row, matching the arranger. */
.gallery{columns:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 22px;align-items:start}.gallery .photo{margin-bottom:0;min-width:0}@media(max-width:700px){.gallery{columns:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
