:root{--paper:#FAF9F6;--ink:#141311;--grey:#615F59;--line:#CFCCC3;--panel:#EEEBE3;--white:#FFFFFF;--gold:#615F59;box-sizing:border-box}
@media(prefers-color-scheme:dark){:root{--paper:#141311;--ink:#F3F1EC;--grey:#B4B1A8;--line:#3A3833;--panel:#1D1C19;--white:#1D1C19;--gold:#B4B1A8}}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{background:var(--paper);color:var(--ink);font:16px/1.65 'Inter',sans-serif;-webkit-font-smoothing:antialiased;padding-top:env(safe-area-inset-top,0)}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}
h1,h2,h3,.serif{font-family:'Fraunces',serif;font-weight:400;line-height:1.12}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 32px;max-width:1240px;margin:0 auto}
.mark{font-family:'Fraunces',serif;font-size:19px;letter-spacing:.06em;line-height:1.2}
.mark small{display:block;font:500 9.5px 'Inter',sans-serif;letter-spacing:.16em;color:var(--grey);margin-top:3px}
.navlinks{display:flex;gap:32px;font-size:12.5px;letter-spacing:.14em}
.navlinks a{padding:6px 0;border-bottom:1px solid transparent}.navlinks a:hover,.navlinks a.on{border-color:var(--ink)}
.btn{display:inline-block;padding:15px 30px;font-size:12.5px;letter-spacing:.14em;border:1px solid currentColor;cursor:pointer;background:none;font-family:inherit}
.btn.solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn.solid:hover{opacity:.85}
.btn.light{color:#fff}.btn.light:hover{background:#000000;color:var(--ink)}
.btn.solid.on-dark{background:#000000;color:#FFFFFF;border-color:#000000}
section{padding:110px 0}
.head{max-width:640px;margin-bottom:56px}.head h2{font-size:clamp(30px,4vw,46px)}.head p{color:var(--grey);margin-top:18px}
/* hero */
.hero{position:relative;min-height:calc(100svh - 62px);display:flex;align-items:flex-end;color:#fff;background:#222;padding:0}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(10,9,8,.15) 25%,rgba(10,9,8,.78))}
.hero .wrap{position:relative;z-index:1;padding-bottom:72px;padding-top:120px;width:100%}
.hero .eyebrow{color:#D8D5CC}
.hero h1{font-size:clamp(38px,6.4vw,84px);max-width:900px}
.hero p{max-width:560px;margin:24px 0 36px;font-size:18px;color:#EDE9E0}
.btns{display:flex;gap:14px;flex-wrap:wrap}
/* credibility */
.cred{padding:0;border-bottom:1px solid var(--line)}
.cred .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.cred div{padding:34px 20px;border-right:1px solid var(--line);text-align:center}.cred div:last-child{border:0}
.cred b{display:block;font:400 26px 'Fraunces',serif}.cred span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}
.tbc{outline:1px dashed #C0392B;outline-offset:3px}
/* project cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.card{display:block}.card .im{aspect-ratio:4/5;overflow:hidden;background:var(--panel)}
.card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.card:hover img{transform:scale(1.03)}
.card h3{font-size:22px;margin:16px 0 4px}.card span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}
.card.wide{grid-column:span 2}.card.wide .im{aspect-ratio:8/5}
.more{margin-top:56px;text-align:center}
/* services */
.svc{background:var(--panel)}
.svcgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.svcgrid div{padding:34px 32px 34px 0;border-bottom:1px solid var(--line)}
.svcgrid h3{font-size:22px;margin-bottom:10px}.svcgrid p{color:var(--grey);font-size:15px}
/* about */
.about .g{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}
.about .ph{aspect-ratio:4/5;background:var(--panel);overflow:hidden}.about .ph img{width:100%;height:100%;object-fit:cover}
.about h2{font-size:clamp(30px,4vw,46px);margin-bottom:26px}.about p{color:var(--grey);margin-bottom:18px;max-width:540px}
.about p.lead{font:400 22px/1.5 'Fraunces',serif;color:var(--ink)}
/* testimonials */
.quotes{background:#141311;color:#EDE9E0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.quotes .g{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.quotes blockquote{font:400 22px/1.5 'Fraunces',serif}.quotes cite{display:block;margin-top:16px;font:12px 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#A9A398}
/* contact */
.cg{display:grid;grid-template-columns:1.1fr .9fr;gap:80px}
.cg h2{font-size:clamp(30px,4vw,46px);margin-bottom:18px}.cg>div>p{color:var(--grey);max-width:460px}
form{margin-top:32px;max-width:480px}.f{margin-bottom:16px}
label{display:block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);margin-bottom:6px}
input,textarea,select{width:100%;padding:13px 14px;font:15px 'Inter',sans-serif;background:var(--white);border:1px solid var(--line);color:var(--ink)}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--ink)}textarea{min-height:110px;resize:vertical}.hp{position:absolute;left:-9999px}
.info div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:15px}.info span:first-child{color:var(--grey)}
#note{margin-top:12px;font-size:14px}
footer{border-top:1px solid var(--line);padding:28px 0;font-size:12.5px;color:var(--grey)}footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
@media(max-width:860px){
 .wrap{padding:0 20px}.nav{padding:12px 20px;flex-wrap:wrap;gap:10px}.mark small{display:none}
 .navlinks{width:100%;justify-content:space-between;gap:8px;font-size:11px;letter-spacing:.08em;overflow-x:auto}
 html{scroll-padding-top:100px}section{padding:72px 0}.head{margin-bottom:36px}
 .hero{min-height:calc(100svh - 96px)}.hero .wrap{padding-bottom:44px}.hero p{font-size:16px}
 .cred .wrap{grid-template-columns:1fr 1fr}.cred div:nth-child(2){border-right:0}.cred div:nth-child(-n+2){border-bottom:1px solid var(--line)}
 .cards,.svcgrid,.about .g,.quotes .g,.cg{grid-template-columns:1fr;gap:32px}.card.wide{grid-column:auto}.card.wide .im{aspect-ratio:4/5}
 .svcgrid div{padding-right:0}.btn{width:100%;text-align:center}
}

/* services (photo-led) */
.sr{display:grid;grid-template-columns:7fr 5fr;gap:72px;align-items:center;padding:0 0 88px}
.sr:nth-of-type(even){grid-template-columns:5fr 7fr}.sr:nth-of-type(even) .im{order:2}
.sr .im{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--panel)}.sr .im img{width:100%;height:100%;object-fit:cover}
.sr .n{font:400 15px 'Fraunces',serif;color:var(--grey);display:block;margin-bottom:14px}
.sr h3{font-size:clamp(26px,3vw,38px);margin-bottom:16px}.sr p{color:var(--grey);max-width:420px}
.lk{display:inline-block;margin-top:26px;font-size:12px;letter-spacing:.16em;border-bottom:1px solid var(--ink);padding-bottom:3px}
.also{border-top:1px solid var(--ink);padding-top:28px}.also ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;column-gap:72px}
.also li{display:flex;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}
.also h3{font-size:19px;white-space:nowrap}.also p{color:var(--grey);font-size:14.5px;text-align:right;max-width:280px}
@media(max-width:860px){.sr,.sr:nth-of-type(even){grid-template-columns:1fr;gap:24px;padding-bottom:56px}.sr:nth-of-type(even) .im{order:0}
.also ul{grid-template-columns:1fr}.also li{flex-direction:column;gap:6px}.also h3{white-space:normal}.also p{text-align:left;max-width:none}}
