@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--ink:#252521;--muted:#77766f;--paper:#f7f6f2;--line:#deddd6;--accent:#a49b86}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#fff;color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-weight:300;line-height:1.7}a{color:inherit;text-decoration:none}.site-header{height:92px;padding:12px 6vw;display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #eee}.brand img{width:170px;height:66px;object-fit:contain}.main-nav{display:flex;gap:27px;align-items:center}.main-nav a{font-size:12px;letter-spacing:.08em;text-transform:uppercase}.main-nav a:hover,.site-footer a:hover{color:#9a8e75}.menu-toggle{display:none;background:none;border:0;font-size:25px}.section-wrap{padding:100px 10vw}.eyebrow{font-size:10px;letter-spacing:.32em;color:var(--muted);text-transform:uppercase;margin:0 0 20px}h1,h2,h3{font-family:"Playfair Display",Georgia,serif;font-weight:400;line-height:1.12;margin:0 0 22px}h1{font-size:clamp(48px,7vw,88px)}h2{font-size:clamp(34px,4vw,52px)}h3{font-size:27px}.hero{min-height:610px;display:grid;grid-template-columns:.85fr 1.15fr;gap:6vw;align-items:center;padding-top:70px;padding-bottom:70px}.hero-copy{padding:30px 0}.hero h1 em,.contact h2 em{font-weight:400;color:#9c927f}.lead{font-size:17px;color:var(--muted);margin:0 0 32px}.text-link{display:inline-block;border-bottom:1px solid var(--ink);padding:8px 0;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.text-link span{margin-left:16px}.image-placeholder{background:linear-gradient(135deg,#e8e6df,#d4d0c5);display:flex;align-items:center;justify-content:center;min-height:340px;color:#777;letter-spacing:.2em;font-size:10px;text-align:center;padding:20px}.hero-image{height:470px}.intro{text-align:center;background:var(--paper);padding-top:105px;padding-bottom:105px}.intro p:last-child{max-width:560px;margin:0 auto;color:var(--muted)}.expertise .section-heading{text-align:center;margin-bottom:50px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-bottom:55px}.service-grid article{border-top:1px solid var(--line);padding-top:20px}.service-grid article span{font-size:11px;color:var(--accent)}.service-grid h3{margin:18px 0 12px}.service-grid p,.why-copy,.approach p,.partners p,.section-lead{color:var(--muted);font-size:14px}.outline-link{display:inline-block;border:1px solid var(--ink);padding:13px 24px;font-size:10px;letter-spacing:.18em;text-align:center}.expertise>.outline-link{display:table;margin:auto}.why{background:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start}.why-copy{max-width:520px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.approach-image{height:400px}.portfolio{background:#fff}.portfolio>h2,.portfolio>.eyebrow,.portfolio>.section-lead{text-align:center}.section-lead{margin:0 auto 32px;max-width:600px}.filters{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:35px 0}.filter{background:transparent;border:1px solid var(--line);padding:10px 17px;font:inherit;font-size:11px;cursor:pointer}.filter.active,.filter:hover{background:var(--ink);border-color:var(--ink);color:#fff}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card{min-width:0}.project-card img,.project-card .empty-photo{width:100%;aspect-ratio:4/3;object-fit:cover;display:flex;align-items:center;justify-content:center;background:var(--paper);color:#999;font-size:10px;letter-spacing:.15em}.project-card p{font-family:"Playfair Display",Georgia,serif;font-size:20px;margin:10px 0 0}.gallery-note{font-size:12px;color:var(--muted);text-align:center;margin-top:28px}.about{background:var(--paper)}.about-body{max-width:760px;font-size:15px;color:var(--muted)}.partners{text-align:center}.partner-strip{display:flex;justify-content:center;gap:clamp(25px,8vw,100px);flex-wrap:wrap;margin-top:45px;color:#8d897f;font-size:12px;letter-spacing:.2em}.contact{background:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact-copy>p:not(.eyebrow){font-size:14px;color:var(--muted)}.contact-copy .outline-link{margin-top:15px}.enquiry-form{display:grid;gap:15px}.enquiry-form label{font-size:11px;letter-spacing:.08em;text-transform:uppercase}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid var(--line);background:#fff;font:14px "DM Sans",sans-serif;color:var(--ink)}.solid-button{border:0;background:var(--ink);color:#fff;padding:15px;letter-spacing:.15em;font-size:11px;cursor:pointer}.form-help{font-size:11px;color:var(--muted);margin:0}.policy{max-width:1050px}.policy p{max-width:800px;color:var(--muted);font-size:14px}.site-footer{text-align:center;padding:55px 20px 35px;border-top:1px solid var(--line)}.site-footer img{width:190px;height:80px;object-fit:contain}.site-footer p{font-size:11px;letter-spacing:.2em}.site-footer div{display:flex;justify-content:center;gap:25px;margin:24px 0}.site-footer a,.site-footer small{font-size:10px;color:var(--muted)}
@media(max-width:800px){.site-header{height:78px;padding:8px 5vw}.brand img{width:140px;height:58px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:22px 7vw 28px;flex-direction:column;align-items:flex-start;gap:17px;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.section-wrap{padding:70px 7vw}.hero{grid-template-columns:1fr;gap:25px;min-height:0}.hero-copy{padding:10px 0}.hero-image{height:330px;min-height:280px}.service-grid{grid-template-columns:repeat(2,1fr);gap:28px 20px}.why,.approach,.contact{grid-template-columns:1fr;gap:35px}.approach-image{height:300px}.project-grid{grid-template-columns:repeat(2,1fr)}.partner-strip{gap:25px}.contact{padding-top:70px}.site-footer div{gap:15px;flex-wrap:wrap}}
@media(max-width:420px){.project-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.section-wrap{padding-left:6vw;padding-right:6vw}}
