:root{--burgundy:#531716;--paper:#fff;--muted:#765e5b;--line:#e9ddda;font-family:"Jost",Arial,sans-serif;color:var(--burgundy);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}img{display:block;max-width:100%}a{color:inherit}a:focus-visible{outline:2px solid var(--burgundy);outline-offset:5px}.wrap{width:min(1240px,calc(100% - 80px));margin:auto}.site-header{min-height:114px;display:flex;align-items:center;justify-content:space-between;padding:22px max(40px,calc((100vw - 1240px)/2));gap:20px;border-bottom:1px solid var(--line)}.identity{display:flex;align-items:center;gap:18px;text-decoration:none}.identity img{width:51px;height:51px;object-fit:contain}.identity span{display:flex;flex-direction:column;gap:5px}.identity strong{font-size:25px;font-weight:500;letter-spacing:.19em;line-height:1}.identity small{font-size:11px;letter-spacing:.17em}.site-header nav{display:flex;gap:34px}.site-header nav a{text-decoration:none;font-size:15px;letter-spacing:.06em}.site-header nav a:hover,.footer a:hover{text-decoration:underline;text-underline-offset:5px}.intro{padding-top:100px;padding-bottom:94px}.eyebrow{font-size:12px;letter-spacing:.19em;font-weight:600}.intro h1{font-size:clamp(48px,6.4vw,102px);line-height:1.02;font-weight:400;letter-spacing:-.035em;margin:30px 0 26px}.intro h1 em{font-style:normal;font-weight:300}.intro p{font-size:clamp(18px,2vw,23px);line-height:1.5;max-width:710px;margin:0 0 32px}.text-link{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:6px;font-size:16px}.text-link span{padding-left:20px}.hero-image{width:100%;height:min(58vw,740px);min-height:330px;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}.work{padding-top:110px;padding-bottom:120px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:45px}.section-heading h2,.services h2,.contact h2{font-weight:400;letter-spacing:-.025em;font-size:clamp(39px,5vw,68px);line-height:1.05;margin:18px 0 0}.section-heading p{font-size:18px;line-height:1.45;max-width:330px;margin:0}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 28px}.tile{margin:0;min-width:0}.tile img{width:100%;height:360px;object-fit:cover;background:#f2f0ed}.tile.portrait img{height:530px;object-position:center}.tile figcaption{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:14px 0 12px;font-size:16px}.tile figcaption span{font-size:12px;color:var(--muted)}.services{background:#f8f5f3;padding:105px 0}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.services-grid p{font-size:21px;line-height:1.5;margin:0 0 32px}.services ul{padding:0;list-style:none;margin:0}.services li{font-size:20px;padding:17px 0;border-top:1px solid #ddcfcb}.services li:last-child{border-bottom:1px solid #ddcfcb}.contact{padding-top:125px;padding-bottom:130px}.contact h2{margin-bottom:24px}.contact>p{font-size:20px;line-height:1.5;max-width:650px}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:55px}.contact-links a{font-size:clamp(23px,3.6vw,46px);text-decoration:none;border-bottom:1px solid var(--burgundy);padding-bottom:7px;overflow-wrap:anywhere}.contact-links span{font-size:.6em;vertical-align:top}.contact .location{font-size:16px;margin-top:70px}.footer{border-top:1px solid var(--line);padding-top:24px;padding-bottom:34px;display:flex;justify-content:space-between;gap:20px;font-size:13px}.footer a{text-decoration:none}@media(max-width:760px){.wrap{width:calc(100% - 38px)}.site-header{padding:18px 19px;min-height:90px;align-items:flex-start}.identity{gap:11px}.identity img{width:40px;height:40px}.identity strong{font-size:18px;letter-spacing:.13em}.identity small{font-size:8px;letter-spacing:.12em}.site-header nav{gap:15px;padding-top:13px}.site-header nav a{font-size:12px}.intro{padding-top:70px;padding-bottom:70px}.intro h1{margin-top:25px}.hero-image{height:65vw;min-height:270px}.work{padding-top:75px;padding-bottom:85px}.section-heading{display:block;margin-bottom:28px}.section-heading p{margin-top:18px}.gallery{gap:30px 16px}.tile img{height:230px}.tile.portrait img{height:330px}.tile figcaption{font-size:13px}.services{padding:75px 0}.services-grid{grid-template-columns:1fr;gap:34px}.services-grid p{font-size:19px}.contact{padding-top:85px;padding-bottom:80px}.contact-links{margin-top:35px}.contact .location{margin-top:55px}.footer{flex-direction:column}}@media(max-width:480px){.site-header{flex-wrap:wrap;gap:12px}.site-header nav{width:100%;justify-content:flex-end;padding-top:0}.intro h1{font-size:46px}.gallery{grid-template-columns:1fr;gap:32px}.tile img,.tile.portrait img{height:auto;max-height:520px;object-fit:contain}.tile figcaption{font-size:15px}.footer{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Header refinement v2: left-aligned two-tier identity and navigation */
.site-header{min-height:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:15px;padding-top:19px;padding-bottom:16px}
.identity{align-self:flex-start;align-items:flex-end;gap:13px}
.identity img{width:46px;height:46px;flex:none}
.identity span{gap:4px;padding-bottom:1px}
.identity strong{line-height:1;white-space:nowrap}
.identity small{line-height:1.15;white-space:nowrap}
.site-header nav{align-self:flex-start;display:flex;gap:29px;padding:0 0 0 59px}
.site-header nav a{font-size:13px;letter-spacing:.08em}
.intro{padding-top:72px}
@media(max-width:760px){
 .site-header{min-height:0;flex-wrap:nowrap;align-items:stretch;gap:13px;padding:16px 19px 14px}
 .identity{gap:11px;align-items:flex-end}
 .identity img{width:39px;height:39px}
 .identity span{gap:4px;padding-bottom:1px}
 .identity strong{font-size:18px}
 .identity small{font-size:8px}
 .site-header nav{width:auto;align-self:flex-start;justify-content:flex-start;gap:25px;padding:0 0 0 50px}
 .site-header nav a{font-size:12px}
 .intro{padding-top:51px}
}
@media(max-width:480px){.site-header{flex-wrap:nowrap}.site-header nav{width:auto;justify-content:flex-start}}

/* V3: centred business-card-inspired identity */
.site-header{min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:25px 20px 17px;border-bottom:1px solid var(--line)}
.identity{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:center;gap:10px;text-align:center;text-decoration:none}
.identity img{width:65px;height:60px;object-fit:contain;flex:none}
.identity span{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0}
.identity strong{font-size:27px;font-weight:500;letter-spacing:.23em;line-height:1.15;white-space:nowrap;padding-left:.23em}
.identity small{font-size:11px;letter-spacing:.15em;line-height:1.3;white-space:nowrap}
.site-header nav{width:auto;align-self:center;display:flex;justify-content:center;gap:36px;padding:20px 0 0}
.site-header nav a{font-size:14px;letter-spacing:.08em;text-decoration:none}
.intro{padding-top:48px}
@media(max-width:760px){
 .site-header{min-height:0;display:flex;flex-wrap:nowrap;align-items:center;gap:0;padding:21px 12px 15px}
 .identity{align-self:center;align-items:center;gap:8px}
 .identity img{width:57px;height:53px}
 .identity span{gap:7px;padding:0}
 .identity strong{font-size:22px;letter-spacing:.19em;padding-left:.19em}
 .identity small{font-size:9px;letter-spacing:.115em}
 .site-header nav{width:auto;align-self:center;justify-content:center;gap:32px;padding:18px 0 0}
 .site-header nav a{font-size:13px}
 .intro{padding-top:38px}
}
@media(max-width:480px){.site-header{flex-wrap:nowrap}.site-header nav{width:auto;justify-content:center}.identity strong{font-size:21px}}

/* V4: responsive, centred location signature */
.intro .eyebrow{text-align:center;font-size:clamp(10px,1.1vw,12px);letter-spacing:.12em;line-height:1.5;}
@media(max-width:760px){.intro .eyebrow{font-size:clamp(9px,2.45vw,11px);letter-spacing:.055em;white-space:nowrap;}}
@media(max-width:340px){.intro .eyebrow{font-size:8px;letter-spacing:0;}}

/* V5: mobile-first hero and reduced top spacing */
.intro{padding-top:25px;padding-bottom:23px}
.intro h1{font-size:clamp(43px,5.4vw,80px);line-height:1.17;letter-spacing:-.025em;margin:24px 0 0}
.hero-image{width:min(1240px,calc(100% - 80px));height:auto;min-height:0;margin:0 auto;overflow:visible}
.hero-image img{width:100%;height:auto;aspect-ratio:1536/710;object-fit:contain}
.hero-caption{padding-top:29px;padding-bottom:35px}
.hero-caption p{font-size:clamp(18px,2vw,23px);line-height:1.55;max-width:750px;margin:0 0 24px}
.work{padding-top:58px}
@media(max-width:760px){
 .intro{padding-top:20px;padding-bottom:19px}
 .intro h1{font-size:clamp(35px,8.5vw,49px);line-height:1.19;letter-spacing:-.025em;margin:19px 0 0}
 .hero-image{width:calc(100% - 38px);height:auto;min-height:0}
 .hero-image img{height:auto;object-fit:contain}
 .hero-caption{padding-top:22px;padding-bottom:18px}
 .hero-caption p{font-size:19px;line-height:1.55}
 .work{padding-top:47px}
 .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 15px}
 .tile img,.tile.portrait img{height:auto;aspect-ratio:1/1;object-fit:cover;max-height:none}
}
@media(max-width:480px){
 .intro h1{font-size:clamp(34px,8.4vw,41px)}
 .gallery{grid-template-columns:1fr;gap:30px}
 .tile img,.tile.portrait img{height:auto;aspect-ratio:1/1;object-fit:cover;max-height:none}
}

/* V6: photograph before headline, 3:2 supporting gallery */
.intro{padding-top:17px;padding-bottom:16px}
.hero-caption{padding-top:25px;padding-bottom:38px}
.hero-caption h1{font-size:clamp(43px,5.4vw,80px);line-height:1.2;font-weight:400;letter-spacing:-.025em;margin:0 0 24px}
.hero-caption h1 em{font-style:normal;font-weight:300}
.hero-caption p{margin:0 0 18px}
.hero-caption .text-link{display:inline-block;margin-top:10px}
.tile img,.tile.portrait img{height:auto;aspect-ratio:3/2;object-fit:cover;max-height:none}
@media(max-width:760px){.intro{padding-top:14px;padding-bottom:13px}.hero-caption{padding-top:21px;padding-bottom:25px}.hero-caption h1{font-size:clamp(35px,8.5vw,49px);line-height:1.22;margin-bottom:21px}.tile img,.tile.portrait img{aspect-ratio:3/2;object-fit:cover}}
@media(max-width:480px){.hero-caption h1{font-size:clamp(34px,8.4vw,41px)}.tile img,.tile.portrait img{aspect-ratio:3/2;object-fit:cover}}

/* V7: selected balanced 3:2 hero photograph, no cropping */
.hero-image img{aspect-ratio:3/2;object-fit:contain}
