@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');:root{--paper:#f6f3ec;--ink:#252824;--muted:#676963;--line:#d6d7cc;--accent:#9b7843}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}header{height:112px;padding:0 5%;display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;font-weight:700;font-size:12px;letter-spacing:1px;line-height:1.5}.brand small{display:block;font-size:18px;letter-spacing:4px}.mark{font-family:Georgia,serif;border:1px solid #7b8277;padding:8px;font-size:25px;letter-spacing:-3px}.mark span{font-size:17px}nav{display:flex;gap:27px;margin-left:auto;font-size:13px}nav a{padding:10px 0}nav a[aria-current]{border-bottom:1px solid var(--accent)}.header-phone{font-size:13px;border-left:1px solid var(--line);padding-left:25px}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:690px}.hero-copy{padding:82px 9% 30px 10%}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--accent);margin:0 0 23px}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.05;letter-spacing:-1.5px}h1{font-size:clamp(54px,5.4vw,84px);margin:0 0 25px}h1 em{font-weight:400;color:var(--accent)}h2{font-size:clamp(38px,4vw,58px);margin:0 0 25px}h3{font-size:21px;font-weight:500;line-height:1.4}.hero-copy>p:not(.eyebrow){max-width:455px;color:var(--muted);font-size:14px}.hero-copy .hero-sub{font-size:17px!important;color:var(--ink)!important;margin-bottom:18px}.button{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;background:var(--ink);color:white;padding:15px 22px;font-size:12px;font-weight:500;border:0;cursor:pointer}.button:hover{background:#415247}.text-link{font-size:12px;border-bottom:1px solid var(--accent);padding-bottom:5px}.hero-copy .button{margin:20px 20px 0 0}.hero-foot{font-size:9px;letter-spacing:2px;border-top:1px solid var(--line);padding-top:24px;margin-top:58px}.hero-photo{position:relative;min-width:0;overflow:hidden}.hero-photo img{height:100%;width:100%;object-fit:cover;object-position:50% 42%;position:absolute}.photo-label{position:absolute;bottom:30px;left:30px;background:var(--paper);padding:10px 15px;font-size:9px;letter-spacing:2px}.trust{display:flex;justify-content:space-around;border-block:1px solid var(--line);padding:29px 5%;gap:20px}.trust span{font-size:11px;color:var(--muted)}.trust strong{font-size:16px;color:var(--ink);display:block}.section{padding:90px 6%}.section-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:40px}.section-head>p{max-width:350px;color:var(--muted);font-size:14px}.section-head h2{margin-bottom:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.service{position:relative;padding:35px 35px 55px 0}.service+.service{border-left:1px solid var(--line);padding-left:35px}.service p{font-size:14px;color:var(--muted);max-width:290px}.number{color:var(--accent);font-size:11px}.arrow{position:absolute;right:30px;bottom:22px}.service:hover h3{color:var(--accent)}.story{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;background:#eae8df}.story img{width:100%;height:530px;object-fit:cover}.story p{font-size:14px;color:var(--muted)}.story .text-link{display:inline-block;margin-top:20px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-grid img{width:100%;height:360px;object-fit:cover}.project-grid h3{font-size:15px}.project-grid span{float:right}.muted{color:var(--muted);font-size:12px}.closing{text-align:center;padding:85px 20px;background:var(--ink);color:var(--paper)}.closing .eyebrow{color:#c6a380}.closing p{font-size:14px}.closing .button{background:var(--paper);color:var(--ink);margin-top:15px}footer{padding:45px 6% 30px}footer>p,footer small{font-size:11px;color:var(--muted)}footer div{display:flex;gap:30px;font-size:13px;margin:20px 0 35px}.whatsapp{position:fixed;bottom:22px;right:24px;background:#365341;color:white;padding:11px 19px;font-size:12px;border:1px solid #a1b2a3;z-index:5;box-shadow:0 3px 15px #0002}.page-intro{padding:75px 6% 65px;border-bottom:1px solid var(--line)}.page-intro h1{font-size:clamp(55px,6vw,85px)}.page-intro>p:last-child{max-width:630px;color:var(--muted)}.services-list{padding-top:20px}.services-list article{display:grid;grid-template-columns:80px 1fr;padding:50px 0;border-bottom:1px solid var(--line);scroll-margin-top:20px}.services-list h2{font-size:39px}.services-list ul{display:grid;grid-template-columns:1fr 1fr;gap:8px 40px;padding-left:18px;font-size:14px;color:var(--muted)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:40px 25px}.gallery-item{background:none;border:0;padding:0;text-align:left;color:var(--ink);cursor:pointer}.gallery-item img{width:100%;height:460px;object-fit:cover}.gallery-item span{display:block;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}.gallery-item b{float:right}.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:8%}.contact-grid aside p{font-size:14px;color:var(--muted)}.contact-grid aside .eyebrow{margin:30px 0 7px;font-size:10px}.contact-phone{font-size:30px}.email{font-size:13px;overflow-wrap:anywhere}.contact-grid h2{font-size:39px}form{padding:35px;background:#eae8df}label{display:block;font-size:12px;margin-bottom:20px}input,textarea{display:block;width:100%;padding:12px;border:1px solid #bbbfb3;background:var(--paper);border-radius:0;margin-top:7px;color:var(--ink)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-note,#form-status{font-size:12px;color:var(--muted)}dialog{border:0;background:var(--paper);max-width:90vw;max-height:95vh;padding:20px}dialog::backdrop{background:#101c16e8}dialog img{display:block;max-height:75vh;max-width:80vw}dialog button{display:block;margin:0 0 12px auto;background:none;border:0;cursor:pointer}dialog p{font-size:13px}.skip{position:absolute;top:-100px}.skip:focus{top:5px;z-index:99;background:white;padding:10px}@media(min-width:1500px){body{max-width:1700px;margin:auto}}@media(max-width:1050px){header{gap:20px}.header-phone{display:none}.hero-copy{padding-top:60px}.hero-copy .text-link{display:inline-block;margin-top:20px}.hero-foot{margin-top:30px}}@media(max-width:700px){header{height:90px;padding:0 6%;justify-content:space-between;position:relative}.brand{font-size:9px;gap:9px}.brand small{font-size:14px;letter-spacing:3px}.mark{font-size:23px}.menu{display:block;background:none;border:1px solid var(--line);padding:8px;font-size:12px}nav{display:none;position:absolute;top:90px;left:0;right:0;background:var(--paper);padding:20px 6%;z-index:20;border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column;gap:4px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6% 25px}.hero h1{font-size:64px}.hero-photo{height:400px}.hero-foot{margin-top:30px}.trust{flex-wrap:wrap;justify-content:flex-start;padding:25px 6%;gap:20px 35px}.section{padding:55px 6%}.section-head{display:block}.section-head>.text-link{display:inline-block;margin-top:20px}.service-grid{grid-template-columns:1fr}.service,.service+.service{padding:25px 0 35px;border-left:0;border-bottom:1px solid var(--line)}.service p{max-width:90%}.story{grid-template-columns:1fr;gap:35px}.story img{height:390px}.project-grid{grid-template-columns:1fr}.project-grid img{height:390px}.page-intro{padding:50px 6%}.page-intro h1{font-size:59px}.services-list article{grid-template-columns:35px 1fr}.services-list h2{font-size:33px}.services-list ul{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.gallery-item img{height:420px}.contact-grid{grid-template-columns:1fr;gap:35px}form{padding:25px 18px}.field-row{grid-template-columns:1fr;gap:0}footer div{flex-wrap:wrap;gap:15px}.closing{padding:60px 6%}.eyebrow{letter-spacing:1.5px}.whatsapp{bottom:14px;right:14px}}
/* Charcoal, ivory and gold identity */
header{background:#202220;color:#f5f0e5;border-bottom-color:#544a36;height:124px}.brand-badge{width:88px;height:88px;object-fit:contain;border-radius:50%}.brand{font-family:Georgia,serif;font-weight:400;letter-spacing:1.1px}.brand small{color:#c8a66b;font-size:17px;letter-spacing:4px}header nav{font-family:'DM Sans',Arial,sans-serif}header .menu{color:#f5f0e5;border-color:#82765e}header nav a[aria-current]{border-color:#c8a66b}.header-phone{border-color:#544a36}.hero-copy{background:#202220;color:#f5f0e5}.hero-copy h1{font-size:clamp(54px,5.1vw,80px)}.hero-copy .eyebrow,.hero-copy h1 em{color:#c8a66b}.hero-copy>p:not(.eyebrow){color:#cbc9bf}.hero-copy .hero-sub{color:#eee7d9!important}.hero-copy .button{background:#c8a66b;color:#202220}.hero-copy .text-link{border-color:#c8a66b}.hero-foot{border-color:#575443;color:#c7bba0}.button:hover{background:#80643e;color:white}.hero-photo img{object-position:50% 40%}.photo-label{background:#202220;color:#e7d5b5}.closing{background:#202220}.story{background:#e9e4da}.about-logo{object-fit:contain!important;background:#000;padding:20px}.gallery-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:38px}.gallery-filters button{padding:10px 17px;border:1px solid #c8c0b0;background:transparent;color:var(--ink);cursor:pointer;font-size:12px}.gallery-filters button[aria-pressed=true]{background:var(--ink);color:#f5f0e5;border-color:var(--ink)}.gallery-item[hidden]{display:none}.gallery-item img{transition:filter .2s}.gallery-item:hover img{filter:brightness(.9)}.gallery-item:focus-visible{outline-offset:6px}#lightbox{background:#202220;color:#f5f0e5}#lightbox button{color:inherit}.whatsapp{background:#252824;border-color:#c8a66b}.story img{object-position:center}.gallery{align-items:start}.gallery-item img{height:470px}.project-grid img{height:390px}.brand-badge{flex-shrink:0}footer .brand{font-size:18px}footer{padding-bottom:80px}
@media(max-width:1050px){header{gap:18px}.brand-badge{width:70px;height:70px}header nav{gap:20px}.brand{font-size:10px}.brand small{font-size:14px}}
@media(max-width:700px){header{height:102px}.brand-badge{width:64px;height:64px}.brand{font-size:9px;letter-spacing:.5px}.brand small{font-size:12px;letter-spacing:2px}nav{top:102px;background:#202220;color:#f5f0e5;border-color:#544a36}.hero-copy h1{font-size:60px}.hero-photo{height:430px}.hero-copy{padding-bottom:30px}.gallery-item img{height:420px}.about-logo{height:auto!important;aspect-ratio:1}.gallery-filters{gap:7px}.gallery-filters button{padding:9px 12px}.photo-label{left:18px;bottom:18px;font-size:8px}dialog img{max-width:82vw}.page-intro h1{font-size:52px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Homepage: full brand emblem takes pride of place. */
.hero-brand{background:#000;display:flex;align-items:center;justify-content:center;padding:30px;min-height:650px}.hero-brand img{position:static;display:block;width:100%;height:auto;max-height:650px;object-fit:contain}.hero:has(.hero-brand){grid-template-columns:1fr 1fr}.hero-brand+.photo-label{display:none}@media(max-width:700px){.hero:has(.hero-brand){grid-template-columns:1fr}.hero-brand{height:auto;min-height:0;padding:24px 6%}.hero-brand img{max-height:none;width:100%;height:auto}}

.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
