:root{--ink:#18201d;--muted:#68706b;--cream:#f4f0e8;--paper:#fbfaf7;--accent:#a66a35;--line:#ddd7cc;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:DM Sans,Arial,sans-serif;line-height:1.6}a{text-decoration:none;color:inherit}.container{width:min(1120px,92%);margin:auto}.site-header{position:absolute;top:0;left:0;width:100%;z-index:5;color:#fff}.nav-wrap{justify-content:space-between;padding:22px 0}.brand,.nav-wrap{display:flex;align-items:center}.brand{gap:11px}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:1px solid hsla(0,0%,100%,.6);font-weight:700;letter-spacing:-1px}.brand small,.brand strong{display:block;line-height:1.05}.brand small{font-size:10px;text-transform:uppercase;letter-spacing:2px;margin-top:5px;opacity:.8}.site-header nav{display:flex;align-items:center;gap:28px;font-size:14px}.nav-cta{border:1px solid hsla(0,0%,100%,.65);padding:10px 16px}.hero{min-height:720px;display:grid;align-items:center;position:relative;background:url(/images/project-1.jpg) 50%/cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,15,13,.84),rgba(8,15,13,.33) 65%,rgba(8,15,13,.15))}.hero-content{position:relative;color:#fff;padding:140px 0 80px}.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:700;margin:0 0 15px;opacity:.8}.about h2,.contact h2,.cta-band h2,.hero h1,.section-heading h2{font-size:clamp(42px,6vw,76px);line-height:1.02;letter-spacing:-2px;margin:0 0 24px}.about h2 em,.contact h2 em,.cta-band h2 em,.hero h1 em,.section-heading h2 em{font-family:Playfair Display,serif;font-weight:600}.hero-copy{max-width:610px;font-size:18px;color:hsla(0,0%,100%,.88)}.hero-buttons{display:flex;gap:12px;margin-top:30px}.button{display:inline-flex;justify-content:center;align-items:center;padding:14px 22px;font-weight:700;border:1px solid transparent;cursor:pointer;font-family:inherit;font-size:inherit}.button.primary{background:var(--accent);color:#fff}.button.ghost{border-color:hsla(0,0%,100%,.55);color:#fff}.button.light{background:#fff;color:var(--ink)}.hero-note{font-size:12px;letter-spacing:.5px;margin-top:25px;color:hsla(0,0%,100%,.72)}.trust-strip{background:#1c2622;color:#fff}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:22px 0}.trust-grid div{padding:0 28px;border-left:1px solid hsla(0,0%,100%,.14)}.trust-grid div:first-child{border:0;padding-left:0}.trust-grid b,.trust-grid span{display:block}.trust-grid b{font-size:15px}.trust-grid span{font-size:12px;color:#aeb7b1;margin-top:2px}.section{padding:105px 0}.section-heading{max-width:700px;margin-bottom:55px}.about h2,.contact h2,.section-heading h2{font-size:clamp(38px,5vw,60px)}.about p,.contact p,.section-heading>p:last-child{color:var(--muted);max-width:650px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);padding:30px;min-height:260px}.icon{display:grid;place-items:center;width:45px;height:45px;border:1px solid var(--line);font-size:20px;color:var(--accent);margin-bottom:35px}.card h3{margin:0 0 10px;font-size:19px}.card p{color:var(--muted);font-size:14px;margin:0}.projects-section{background:var(--cream)}.section-heading.split{max-width:none;display:flex;justify-content:space-between;align-items:end;gap:50px}.section-heading.split>p{max-width:430px;margin:0 0 8px}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:270px 270px 270px 270px;gap:12px}.gallery-item{overflow:hidden;background:#ddd}.gallery-item.large{grid-row:span 2}.gallery img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .45s}.gallery-item:hover img{transform:scale(1.04)}.about{background:#fff}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.check-list{list-style:none;padding:0;margin:28px 0 0}.check-list li{padding:13px 0;border-bottom:1px solid var(--line);font-weight:600}.check-list li:before{content:"✓";color:var(--accent);margin-right:12px}.reviews-section{background:#fff}.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:50px}.testimonial{background:var(--paper);border:1px solid var(--line);padding:32px;display:flex;flex-direction:column;gap:16px}.stars{color:var(--accent);font-size:18px;letter-spacing:2px}.testimonial p{color:var(--ink);font-size:15px;line-height:1.7;margin:0;font-style:italic}.reviewer{font-size:13px;font-weight:700;color:var(--muted);margin-top:auto}.review-cta{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.review-cta p{color:var(--muted);margin:0;font-size:15px}.cta-band{background:#27322d;color:#fff;padding:75px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta-band h2{font-size:clamp(35px,4vw,54px);margin:0}.contact{background:var(--cream)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact-details{margin-top:35px;display:grid;gap:17px}.contact-details a{font-weight:700}.contact-details span{display:block;font-size:10px;letter-spacing:2px;color:var(--muted);margin-bottom:2px}.contact-form{background:#fff;padding:35px;border:1px solid var(--line);display:grid;gap:16px}.contact-form label{font-size:12px;font-weight:700}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:6px;border:1px solid #ccc7bd;padding:13px;font:inherit;background:#fff}.contact-form textarea{resize:vertical}.contact-form small{color:var(--muted)}.form-success{background:#e8f5e9;border:1px solid #a5d6a7;padding:16px 20px;color:#2e7d32;font-weight:600;font-size:15px}.form-error{background:#fce4ec;border:1px solid #ef9a9a;padding:16px 20px;color:#c62828;font-size:14px}footer{background:#141b18;color:#d9dfdb;padding:26px 0}.footer-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}.footer-brand{color:#fff}.footer-wrap>a{color:#fff;font-weight:700}.site-header.solid{position:fixed;background:#1c2622}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px}.album-card{display:block;background:#fff;border:1px solid var(--line);overflow:hidden;transition:transform .2s,box-shadow .2s}.album-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.1)}.album-cover{position:relative;aspect-ratio:16/10;overflow:hidden}.album-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .4s;display:block}.album-card:hover .album-cover img{transform:scale(1.04)}.album-count{position:absolute;bottom:10px;right:10px;background:rgba(0,0,0,.6);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;letter-spacing:.5px}.album-info{padding:18px 22px 22px}.home-albums{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-bottom:32px}.view-all-link{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;color:var(--accent);letter-spacing:.5px}.view-all-link:hover{text-decoration:underline}.pg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.pg-thumb{position:relative;background:none;border:none;padding:0;cursor:pointer;overflow:hidden;aspect-ratio:4/3}.pg-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .35s;display:block}.pg-thumb:hover img{transform:scale(1.04)}.pg-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.65));color:#fff;font-size:12px;font-weight:600;padding:20px 12px 10px;text-align:left}.lb-overlay{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:1000;display:grid;place-items:center}.lb-box{position:relative;max-width:min(92vw,1100px);width:100%;gap:16px}.lb-box,.lb-img-wrap{display:flex;align-items:center}.lb-img-wrap{flex:1;flex-direction:column}.lb-img-wrap img{max-height:82vh;max-width:100%;-o-object-fit:contain;object-fit:contain;display:block}.lb-caption{color:hsla(0,0%,100%,.75);font-size:13px;margin:10px 0 0;text-align:center}.lb-close{position:absolute;top:-44px;right:0;background:none;border:1px solid hsla(0,0%,100%,.3);font-size:18px;width:36px;height:36px;place-items:center}.lb-close,.lb-next,.lb-prev{color:#fff;cursor:pointer;display:grid}.lb-next,.lb-prev{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);font-size:32px;width:50px;height:60px;place-items:center;flex-shrink:0;transition:background .2s}.lb-next:hover,.lb-prev:hover{background:hsla(0,0%,100%,.2)}.lb-counter{position:absolute;bottom:-36px;left:50%;transform:translateX(-50%);color:hsla(0,0%,100%,.5);font-size:12px;margin:0}.back-link{display:inline-flex;align-items:center;font-size:13px;font-weight:700;color:var(--accent);letter-spacing:.5px}.back-link:hover{text-decoration:underline}.nav-tab{position:relative;padding:6px 0;font-weight:500;opacity:.85;transition:opacity .2s}.nav-tab:hover{opacity:1}.nav-tab.active{opacity:1;font-weight:700}.nav-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--accent)}.faq-list{max-width:760px;margin-top:16px}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;background:none;border:none;font:inherit;cursor:pointer;color:var(--ink);display:flex;justify-content:space-between;align-items:center;padding:20px 0;font-size:16px;font-weight:600;text-align:left;gap:20px}.faq-arrow{flex-shrink:0;font-size:22px;color:var(--accent);font-weight:300}.faq-answer{color:var(--muted);padding:0 0 20px;font-size:15px;line-height:1.7;max-width:660px}@media (max-width:850px){.testimonials{grid-template-columns:1fr}.site-header nav{gap:16px;font-size:13px}.nav-wrap{flex-wrap:wrap;gap:12px}.nav-cta{padding:8px 12px}.hero{min-height:650px}.cards{grid-template-columns:1fr 1fr}.section{padding:75px 0}.about-grid,.contact-grid,.cta-inner,.section-heading.split{display:grid;grid-template-columns:1fr;gap:25px}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:repeat(6,240px)}.gallery-item.large{grid-row:span 2}.trust-grid{grid-template-columns:1fr;gap:12px}.trust-grid div,.trust-grid div:first-child{border-left:0;padding:5px 0}.footer-wrap{flex-direction:column;align-items:flex-start}}@media (max-width:520px){.hero h1{font-size:45px}.hero-copy{font-size:16px}.hero-buttons{flex-direction:column;align-items:stretch}.cards{grid-template-columns:1fr}.gallery{display:block}.gallery-item{height:260px;margin-bottom:10px}.gallery-item.large{height:330px}.footer-wrap{gap:10px}}.brand-logo{height:64px;width:auto;display:block}.footer-logo{height:56px;width:auto;display:block}.site-header.solid .nav-wrap{padding:10px 0}@media (max-width:520px){.brand-logo{height:52px}}