
:root{--black:#0d0d0c;--paper:#f4f0e9;--paper2:#ebe5dc;--text:#111;--muted:#6d675f;--line:#d3cbc0}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
.container{width:min(1440px,92vw);margin:auto}.serif{font-family:Georgia,"Times New Roman",serif}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:11px}
header{height:84px;background:var(--black);color:white;position:sticky;top:0;z-index:50}.nav{height:84px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo img{height:70px;width:auto;object-fit:contain}
nav{display:flex;align-items:center;gap:32px;font-size:11px;letter-spacing:.16em;text-transform:uppercase}nav a{opacity:.82}nav a:hover,.active{opacity:1;border-bottom:1px solid #fff;padding-bottom:7px}.btn{display:inline-block;padding:14px 21px;border:1px solid currentColor;text-transform:uppercase;letter-spacing:.16em;font-size:10px}.btn.dark{background:#111;color:#fff;border-color:#111}
.hero{display:grid;grid-template-columns:.82fr 1.18fr;min-height:660px;background:#f7f4ef}.hero-copy{padding:80px 6vw;display:flex;flex-direction:column;justify-content:center}.hero-copy h1{font-size:clamp(52px,5vw,84px);line-height:.97;font-weight:400;margin:23px 0}.hero-copy p{max-width:520px;line-height:1.7;font-size:14px}.hero-media{min-height:660px}.hero-media img{width:100%;height:100%;object-fit:cover}
.home-services{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.home-services article{padding:33px;border-right:1px solid var(--line)}.home-services article:last-child{border-right:0}.home-services h3{font-size:12px;letter-spacing:.14em;text-transform:uppercase}.home-services p{font-size:13px;color:#5e5851;line-height:1.55}
.section{padding:90px 0}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:42px}.section h2,.project-intro h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,4vw,66px);font-weight:400;line-height:1;margin:8px 0 18px}.lead{max-width:640px;color:#615b54;line-height:1.7}
.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.project-card{background:#fff;border:1px solid var(--line)}.project-card img{width:100%;height:420px;object-fit:cover}.project-card .copy{padding:24px}.project-card h3{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:9px 0}.project-card p{font-size:13px;color:#5f5951;line-height:1.65}.project-card:hover img{filter:brightness(.96)}
.project-intro{padding:85px 0 36px}.project-meta{display:flex;gap:14px;flex-wrap:wrap;color:#69625a;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.slider-wrap{padding:25px 0 85px}.slider{position:relative;background:#111;min-height:650px;overflow:hidden}.slide{display:none;width:100%;height:72vh;min-height:600px;max-height:850px;align-items:center;justify-content:center;background:#111}.slide.active{display:flex}.slide img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:rgba(0,0,0,.45);color:#fff;font-size:26px;cursor:pointer}.prev{left:20px}.next{right:20px}.counter{position:absolute;right:22px;bottom:18px;color:#fff;background:rgba(0,0,0,.55);padding:9px 12px;font-size:11px;letter-spacing:.12em}.caption{position:absolute;left:22px;bottom:18px;color:#fff;background:rgba(0,0,0,.55);padding:9px 12px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.project-nav{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:28px;margin-top:28px}.project-nav a{font-family:Georgia,serif;font-size:24px}
.band{background:#111;color:#f4f0e9;padding:85px 0}.band .columns{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:center}.band img{width:100%;max-height:600px;object-fit:cover}
.columns{display:grid;grid-template-columns:1fr 1fr;gap:70px}.list{border-top:1px solid var(--line)}.list div{padding:20px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.contact-form{display:grid;gap:14px}input,textarea{padding:16px;border:1px solid var(--line);background:#faf8f4;font:inherit}textarea{min-height:150px}
footer{background:#0d0d0c;color:#fff;padding:52px 0}.footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:45px}.footer-logo{width:230px}.footer p,.footer a{font-size:13px;line-height:1.8;color:#c8c3bd}
.mobile{display:none}
@media(max-width:900px){header,.nav{height:70px}.logo img{height:58px}.mobile{display:block;background:none;border:0;color:#fff;font-size:24px}nav{display:none;position:absolute;left:0;right:0;top:70px;background:#111;flex-direction:column;align-items:flex-start;padding:25px}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-media{min-height:480px}.home-services{grid-template-columns:1fr 1fr}.home-services article:nth-child(2){border-right:0}.project-grid,.columns,.band .columns,.footer{grid-template-columns:1fr}.project-card img{height:340px}.slide{height:65vh;min-height:420px}.arrow{width:42px;height:42px}.section{padding:65px 0}}
@media(max-width:560px){.home-services{grid-template-columns:1fr}.home-services article{border-right:0}.project-card img{height:280px}.slide{min-height:350px;height:58vh}.hero-copy{padding:60px 6vw}.hero-copy h1{font-size:48px}}


.project-card img{background:#eee}
.slide img{max-width:100%;max-height:100%;object-fit:contain}


.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.team-card{background:#fff;border:1px solid var(--line);padding:28px;min-height:250px}
.team-card h3{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:10px 0 6px}
.team-card .role{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#6d675f;margin-bottom:18px}
.team-card p{font-size:13px;line-height:1.7;color:#5f5951}
.location-band{padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;letter-spacing:.18em;text-transform:uppercase;font-size:12px}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.service-card{background:#fff;border:1px solid var(--line);padding:30px}
.service-card h3{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:0 0 18px}
.service-card ul{margin:0;padding-left:20px;line-height:1.9;font-size:14px}
@media(max-width:900px){.team-grid,.service-grid{grid-template-columns:1fr}}
