:root{--ink:#111616;--accent:#73dc39;--blue:#0aa6be;--paper:#f5f6f3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:6px}header{background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;padding:20px 5%;gap:24px}.brand img{display:block;width:195px;height:64px;object-fit:contain}nav{display:flex;gap:32px;align-items:center;font-size:15px}nav a:hover,.text-link:hover{text-decoration:underline}.nav-contact{border:1px solid #ffffff65;padding:10px 20px}.hero{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;min-height:680px;padding:24px 5% 60px;gap:50px}.hero-copy{padding-top:52px}.eyebrow{font-size:13px;letter-spacing:.16em;font-weight:700;margin:0 0 20px}.hero .eyebrow{color:var(--accent)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(58px,6.5vw,104px);letter-spacing:-.055em;line-height:1.02;margin-bottom:28px}h1 span,.contact h2 span{color:var(--accent)}.intro{max-width:380px;font-size:19px;color:#cdd2d0;line-height:1.65}.actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:32px}.button{display:inline-block;background:var(--accent);color:var(--ink);padding:15px 24px;font-weight:bold}.button:hover{background:#92ed5c}.text-link{font-weight:700;border-bottom:1px solid;padding-bottom:4px;font-size:15px}.small-note{font-size:14px;color:#9aa6a1;margin-top:45px}.hero-image{position:relative;margin:0;min-height:550px}.hero-image>img{height:100%;width:100%;object-fit:cover;object-position:center 55%;max-height:680px}.hero-image figcaption{background:var(--blue);padding:18px 22px;display:flex;justify-content:space-between;gap:16px;color:var(--ink);position:absolute;bottom:0;left:0;right:0;font-size:12px;letter-spacing:.07em;font-weight:bold}.ribbon{display:flex;justify-content:space-around;gap:24px;padding:24px 5%;background:var(--accent);font-size:14px;font-weight:700}.section{padding:100px 5%;max-width:1600px;margin:auto}h2{font-size:clamp(36px,4vw,60px);line-height:1.12;letter-spacing:-.04em;margin-bottom:28px}h3{font-size:23px;line-height:1.25;letter-spacing:-.02em}.services{display:grid;grid-template-columns:.9fr 1.1fr;gap:12%}.section-heading>p:last-child{max-width:360px;color:#52605b}.service-list article{display:flex;gap:28px;border-top:1px solid #b7c1bb;padding:26px 0}.service-list article:last-child{border-bottom:1px solid #b7c1bb}.number{color:#557466;font-size:14px;padding-top:3px}.service-list p{color:#52605b;max-width:470px;margin-bottom:0}.service-list h3{margin-bottom:10px}.work{padding-top:25px}.work-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:32px}.work-heading h2{margin:0}.work-heading>p{color:#52605b;margin:0}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-bottom:30px}.project{cursor:zoom-in;border:0;padding:0;text-align:left;background:transparent;color:var(--ink);min-width:0}.project img{width:100%;height:410px;object-fit:cover;display:block;transition:filter .2s}.project:hover img{filter:brightness(.92)}.project-tall img{height:410px}.project span{display:flex;justify-content:space-between;gap:14px;padding-top:15px;align-items:baseline}.project b{font-size:17px}.project small{font-size:13px;color:#52605b}.process{background:#e5ebe6;max-width:none}.process .eyebrow,.process h2{max-width:1440px;margin-left:auto;margin-right:auto}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;max-width:1440px;margin:48px auto 0}.steps span{display:block;font-size:12px;letter-spacing:.09em;margin-bottom:24px;color:#4b6858;font-weight:bold}.steps p{color:#52605b;max-width:360px}.contact{background:var(--ink);color:white;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact .eyebrow{color:#a2aaa7}.contact h2{font-size:clamp(45px,5.5vw,80px)}.contact p{color:#bfcac4}.contact-details{padding-top:40px}.contact-details>a{display:block;border-bottom:1px solid #48544d;padding:0 0 24px;margin-bottom:30px}.contact-details span{display:block;font-size:12px;letter-spacing:.12em;color:#a2aaa7;margin-bottom:8px}.contact-details b{font-size:clamp(21px,2.4vw,36px);font-weight:500;overflow-wrap:anywhere}.socials{display:flex;flex-wrap:wrap;gap:25px;font-size:14px}.socials a:hover{text-decoration:underline}footer{background:var(--ink);color:#9ca8a1;padding:28px 5%;border-top:1px solid #334039;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:14px}footer img{width:150px}footer p{margin:0}dialog{border:0;background:#111616;color:white;padding:30px;max-width:95vw;max-height:95vh}dialog::backdrop{background:#000c}dialog img{display:block;max-width:80vw;max-height:75vh;object-fit:contain}dialog p{margin:12px 0 0}.close{position:absolute;right:4px;top:0;font-size:30px;border:0;color:white;background:transparent;cursor:pointer}@media(max-width:900px){.hero{gap:25px}.hero-image{min-height:500px}.services{gap:7%}.gallery{gap:15px}.project img,.project-tall img{height:360px}.project span{display:block}.project small{display:block}.contact{gap:5%}}@media(max-width:650px){header{padding:15px 5%;gap:10px}.brand img{width:125px;height:45px}nav{gap:14px;font-size:14px}.nav-contact{padding:7px 10px}nav>a:first-child{display:none}.hero{grid-template-columns:1fr;padding-bottom:30px;gap:20px}.hero-copy{padding-top:30px}h1{font-size:64px}.hero-image{height:460px;min-height:0}.hero-image>img{height:460px}.small-note{margin:25px 0 8px}.ribbon{flex-direction:column;gap:8px;text-align:center;padding:20px}.section{padding:65px 5%}.services{grid-template-columns:1fr;gap:30px}.section-heading>p:last-child{max-width:none}.work-heading{display:block}.work-heading>p{margin-top:22px}.gallery{grid-template-columns:1fr 1fr}.project:first-child{grid-column:auto}.project img{height:260px}.project-tall img{height:260px}.project b{font-size:15px}.steps{grid-template-columns:1fr;gap:26px;margin-top:30px}.steps span{margin-bottom:12px}.steps p{max-width:none}.contact{grid-template-columns:1fr;gap:15px}.contact-details{padding-top:10px}footer{flex-wrap:wrap}footer p{width:100%;order:3}.hero-image figcaption{font-size:11px}dialog{padding:25px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.gallery-social-links{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
