@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Manrope:wght@300;400;500&display=swap');:root{--bg:#f5f3ef;--ink:#282824;--muted:#77756e;--line:#d8d4cc;--dark:#292925}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-weight:300}a{color:inherit;text-decoration:none}header{display:flex;align-items:center;justify-content:space-between;padding:29px 6%;border-bottom:1px solid var(--line);gap:30px}.brand{font-size:16px;font-weight:500;letter-spacing:.25em;white-space:nowrap}nav{display:flex;flex-wrap:wrap;gap:clamp(12px,2.2vw,34px)}nav a,.eyebrow,.link,.smallcaps{font-size:11px;text-transform:uppercase;letter-spacing:.17em}nav a:hover,.link:hover{opacity:.55}nav a[aria-current=page]{border-bottom:1px solid;padding-bottom:6px}.hero{padding:clamp(85px,12vw,170px) 6% clamp(85px,12vw,170px)}.eyebrow{color:#817e76;font-weight:500}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em}h1{font-size:clamp(55px,9vw,142px);line-height:1.02;margin:24px 0 35px}h2{font-size:clamp(38px,5vw,74px);line-height:1.13;margin:20px 0 35px}h3{font-size:clamp(25px,3vw,39px);margin:17px 0 8px}p{line-height:1.85;font-size:15px;color:#65635d;max-width:660px}.hero p{max-width:520px}.link{display:inline-block;border-bottom:1px solid var(--ink);padding:12px 0;margin-top:22px;font-weight:500}.section{padding:85px 6% 125px;border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:35px}.section-head h2{margin-bottom:0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.project{display:block}.project:hover .visual{filter:brightness(.96)}.visual{background:linear-gradient(140deg,#b5b2ab,#e0dcd4 50%,#bdb9b1);display:flex;align-items:center;justify-content:center;min-height:260px;aspect-ratio:4/3;position:relative;overflow:hidden}.visual:before{content:'';position:absolute;inset:13%;border:1px solid rgba(255,255,255,.34)}.visual span{font-family:Georgia,serif;font-size:clamp(28px,5vw,66px);color:#f8f6f0;letter-spacing:.08em;position:relative}.visual small{position:absolute;bottom:20px;left:24px;color:#fff;font-size:10px;letter-spacing:.15em;text-transform:uppercase}.meta{font-size:11px;color:#77756e;text-transform:uppercase;letter-spacing:.15em}.pagehead{padding:105px 6% 75px}.pagehead h1{margin-bottom:20px}.split{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.gallery .visual:first-child{grid-column:span 2;aspect-ratio:16/8}.gallery .visual:not(:first-child){aspect-ratio:5/4}.gallery .visual span{font-size:clamp(21px,3vw,38px)}.service{padding:28px 0;border-top:1px solid var(--line)}.service h3{font-size:29px}.note{font-size:13px;margin-top:28px}.contact-form{display:grid;gap:15px;max-width:650px}.contact-form label{font-size:11px;letter-spacing:.13em;text-transform:uppercase}.contact-form input,.contact-form textarea{width:100%;padding:16px;border:1px solid #c8c3b9;background:transparent;border-radius:0;font:inherit;color:var(--ink);margin-top:7px}.contact-form button{border:0;background:var(--dark);color:white;padding:19px 25px;text-align:left;cursor:pointer;font:500 11px 'DM Sans',sans-serif;letter-spacing:.18em;text-transform:uppercase}.contact-form button:hover{opacity:.86}footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:40px 6%;border-top:1px solid var(--line);font-size:11px;letter-spacing:.12em;color:#77756e;text-transform:uppercase}.footer-links{display:flex;gap:22px}@media(max-width:760px){header{flex-direction:column;align-items:flex-start;padding:25px 6%}nav{gap:15px}.grid,.split,.gallery{grid-template-columns:1fr}.gallery .visual:first-child{grid-column:auto;aspect-ratio:4/3}.hero{padding-top:90px}.section{padding-top:65px;padding-bottom:85px}.pagehead{padding-top:75px}.section-head{display:block}}
.brand{display:inline-flex;align-items:center;gap:14px}.brand-logo{width:39px;height:39px;object-fit:contain;display:block}@media(max-width:760px){.brand-logo{width:34px;height:34px}.brand{font-size:13px;letter-spacing:.17em}}

.photo-hero{display:grid;grid-template-columns:43% 57%;align-items:center;min-height:650px;padding:0 0 0 6%;background:#22211f;color:#f4f0e9}.photo-hero .hero-copy{padding:80px 7% 80px 0}.photo-hero .eyebrow{color:#bcb3a8}.photo-hero h1{font-size:clamp(52px,6vw,100px)}.photo-hero p{color:#c9c2b9}.photo-hero .link{border-color:#eee}.photo-hero img{width:100%;height:650px;object-fit:cover;display:block}.photo-visual{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#aaa}.gallery img{width:100%;aspect-ratio:5/4;object-fit:cover;display:block}.gallery img:first-child{grid-column:span 2;aspect-ratio:16/8}.gallery figure{margin:0}.gallery figure:first-child{grid-column:span 2}.gallery figure:first-child img{aspect-ratio:16/8}.gallery figcaption{padding:12px 0 4px;font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#817e76}.preview-note{font-size:12px;line-height:1.7;color:#837b72;margin-top:14px}@media(max-width:760px){.photo-hero{display:block;padding:0}.photo-hero .hero-copy{padding:65px 6%}.photo-hero img{height:360px}.gallery figure:first-child{grid-column:auto}.gallery figure:first-child img{aspect-ratio:5/4}}
