@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#1e302b;--gold:#d2b27d;--paper:#f7f8f6;--muted:#626963}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--green);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--gold);outline-offset:6px}header{height:108px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dedfdc}.logo{font-family:Manrope,Arial,sans-serif;font-size:30px;font-weight:800;letter-spacing:-1px;line-height:1.1}.logo span{color:#a97f41}.logo small{display:block;font-size:10px;letter-spacing:2.1px;font-weight:600;margin-top:9px}nav{display:flex;gap:36px;align-items:center;font-size:14px}.nav-contact{border:1px solid #bcc4bd;padding:11px 24px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.hero-copy{padding:68px 8% 36px 12%}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;margin:0 0 25px}.hero h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(40px,4.5vw,72px);line-height:1.12;font-weight:500;letter-spacing:-3px;margin:0 0 27px}em{font-family:Georgia,serif;font-weight:400;color:#947446}.intro{max-width:440px;color:var(--muted);margin-bottom:30px}.button{display:inline-block;background:var(--green);color:white;padding:15px 26px;font-size:14px}.button:hover{background:#345146}.hero-caption{display:flex;gap:22px;align-items:center;margin-top:60px;font-size:12px}.hero-caption span{color:#8b7960;border-top:1px solid;padding-top:8px}.hero-caption p{line-height:1.5;color:var(--muted)}.hero-image{position:relative;overflow:hidden;min-height:590px}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover}.image-label{position:absolute;bottom:24px;left:26px;background:#ffffffde;padding:12px 18px;font-size:11px;letter-spacing:2px}.service-band{background:var(--green);color:#fff;display:flex;align-items:center;justify-content:space-around;padding:24px 6%;font-size:18px}.service-band b{color:var(--gold);font-size:15px}.section{padding:90px 6%}.section-top{display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.section-top>.eyebrow{grid-column:1/-1}h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(30px,3.2vw,46px);font-weight:500;letter-spacing:-1.5px;line-height:1.2;margin:0 0 24px}.section-top>p:last-child{max-width:430px;justify-self:end;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:45px;border-top:1px solid #cfd4cf}.service-grid article{padding:32px 28px 0;border-right:1px solid #d7ddd7}.service-grid article:first-child{padding-left:0}.service-grid article:last-child{border:0}.number{color:#977342;font-size:14px}.service-grid h3{font-size:25px;font-weight:500;margin:20px 0 14px}.service-grid p{font-size:15px;color:var(--muted)}ul{list-style:none;padding:0;margin-top:25px}li{font-size:13px;padding:5px 0;border-bottom:1px solid #e1e5df}.about{background:#e9eeea;display:grid;grid-template-columns:1fr 1fr;gap:70px}.about p{color:#5b665f}.about .large-text{font-size:24px;line-height:1.55;margin-top:0;color:var(--green)}.signature{font-family:Georgia,serif;font-size:26px;margin-top:28px}.signature span{font-family:'DM Sans',sans-serif;font-size:12px;display:block;color:#626963}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:40px}.steps>div{border-top:1px solid #cfd4cf;padding-top:22px}.steps span{color:#947446;font-size:14px}.steps h3{font-size:21px;font-weight:500}.steps p{color:var(--muted);font-size:15px}.contact{background:var(--green);color:#fff;padding:76px 6%}.contact .eyebrow{color:var(--gold)}.contact h2{font-size:clamp(34px,4vw,54px)}.contact>p:not(.eyebrow){max-width:590px;color:#c6d0c9}.contact-bottom{border-top:1px solid #4e6056;margin-top:38px;padding-top:30px;display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-bottom strong{font-size:23px;font-weight:500}.contact-bottom span{display:block;color:#c6d0c9;font-size:14px}.pending{font-size:14px;color:#c6d0c9}footer{display:flex;justify-content:space-between;align-items:center;padding:34px 6%;gap:20px}footer p,footer>span{font-size:12px;color:var(--muted)}@media(max-width:800px){header{height:90px;padding:0 6%}.logo{font-size:25px}nav{gap:15px}nav>a:not(.nav-contact){display:none}.nav-contact{font-size:13px;padding:9px 14px}.hero{grid-template-columns:1fr}.hero-copy{padding:44px 6% 22px}.hero h1{font-size:48px;letter-spacing:-2px}.hero-caption{margin-top:25px}.hero-image{min-height:390px}.service-band{font-size:14px;padding:20px 4%}.service-band b{font-size:10px}.section{padding:58px 6%}.section-top,.about{grid-template-columns:1fr;gap:16px}.section-top>p:last-child{justify-self:start;max-width:none;margin:0}.service-grid{grid-template-columns:1fr 1fr}.service-grid article{padding:24px 16px!important}.service-grid article:nth-child(2){border-right:0}.service-grid article:nth-child(n+3){border-top:1px solid #cfd4cf}.service-grid h3{font-size:22px}.steps{grid-template-columns:1fr;gap:18px}.steps h3{margin:12px 0}.contact{padding:56px 6%}.contact-bottom{display:block}.pending{margin-top:22px}footer{flex-wrap:wrap}footer p{width:100%;order:3;margin:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

header{height:130px}.logo{display:block;flex-shrink:0;background:transparent}.logo img{display:block;width:116px;height:116px;object-fit:contain}footer .logo img{width:100px;height:100px}@media(max-width:800px){header{height:116px}.logo img{width:100px;height:100px}}

.service-grid .specialty{font-size:12px;font-weight:700;letter-spacing:1px;color:#947446;margin:12px 0 0}.service-grid .specialty+h3{margin-top:6px}@media(max-width:800px){.service-band{flex-wrap:wrap;gap:12px}.service-band span:first-child{font-weight:700}}

.hero-image img{object-position:45% 65%}

.service-grid h3{overflow-wrap:break-word}.service-band{gap:14px;flex-wrap:wrap}

.hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.services-link{font-size:14px;text-decoration:underline;text-underline-offset:4px}.phone-button{display:inline-block;border:1px solid #d2b27d;padding:16px 26px;font-size:26px;line-height:1.4;color:#fff}.phone-button small{display:block;font-size:12px;letter-spacing:1.5px;color:#d2b27d}.phone-button:hover{background:#345146}@media(max-width:800px){.phone-button{margin-top:24px}}

.service-grid .examples-label{font-size:14px;font-weight:600;color:var(--green);margin:24px 0 10px}.service-grid ul{margin-top:0}.service-grid li{font-size:14px;line-height:1.6;padding:9px 0}

.gallery{touch-action:pan-y}.gallery-top{position:absolute;top:24px;left:24px;right:24px;color:white;font-size:12px;letter-spacing:1px;text-shadow:0 1px 6px #000;background:#1e302ba8;padding:10px 14px;width:fit-content}.gallery-controls{position:absolute;bottom:20px;left:20px;right:20px;background:#1e302be8;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:15px;gap:10px}.gallery-controls button{font:inherit;font-size:14px;cursor:pointer;background:transparent;border:1px solid #ffffff70;color:white;padding:9px 12px;min-height:44px}.gallery-controls button:hover{background:#ffffff20}.gallery-controls button:focus-visible{outline:3px solid #d2b27d;outline-offset:3px}.gallery-center{text-align:center}.gallery-center>span{font-size:14px}.gallery-dots{display:flex;justify-content:center;gap:4px}.gallery-dots button{position:relative;width:22px;min-height:26px;padding:0;border:0}.gallery-dots button:after{content:'';display:block;width:7px;height:7px;margin:auto;border:1px solid white;border-radius:50%}.gallery-dots button[aria-pressed=true]:after{background:#d2b27d;border-color:#d2b27d}@media(max-width:800px){.gallery{min-height:450px}.gallery-controls{left:12px;right:12px;bottom:12px;padding:10px}.gallery-top{left:12px;top:12px;font-size:12px}}

.legal{max-width:980px;margin:auto}.legal h1{font-size:42px;line-height:1.2}.legal h2{font-size:25px;margin-top:38px;letter-spacing:-.5px}.legal-note{padding:18px;border:1px solid #cfd4cf}.legal dl{display:grid;grid-template-columns:190px 1fr;gap:10px 24px}.legal dt{font-weight:600}.legal dd{margin:0}.legal a,footer a:not(.logo){text-decoration:underline;text-underline-offset:3px}.legal-updated{color:var(--muted);margin-top:40px}@media(max-width:600px){.legal dl{grid-template-columns:1fr;gap:5px}.legal dd{margin-bottom:12px}}

.email-contact{display:block;color:#fff;font-size:16px;margin-top:12px;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}

.email-project{border-top:1px solid #4e6056;margin-top:45px;padding-top:40px;max-width:750px}.email-project h3{font-size:30px;font-weight:500;margin:0}.email-project>p:not(.eyebrow){color:#c6d0c9}.submit-quote{display:inline-block;background:#d2b27d;color:#1e302b;padding:14px 24px;font-weight:600;margin:12px 0}.submit-quote:hover{background:#e5c995}.email-help{font-size:14px}.email-help a{text-decoration:underline;overflow-wrap:anywhere}

/* A dedicated phone layout, retaining the desktop composition. */
.menu-toggle,.mobile-call{display:none}
@media(max-width:800px){
  html{scroll-padding-top:24px}
  body:has(.mobile-call){padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  header:has(.menu-toggle){position:relative;height:100px;padding:0 6%;z-index:10}
  header:has(.menu-toggle) .logo img{width:88px;height:88px}
  .menu-toggle{display:flex;align-items:center;gap:12px;min-height:44px;border:1px solid #bcc4bd;border-radius:4px;padding:10px 16px;background:transparent;color:var(--green);font:inherit;font-size:14px;cursor:pointer}
  .menu-toggle span{font-size:20px;line-height:1}
  .menu-toggle:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
  #main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:14px 6% 22px;box-shadow:0 15px 24px #1e302b18;border-bottom:1px solid #cfd4cf}
  .menu-toggle[aria-expanded=true]+#main-nav{display:flex;flex-direction:column;align-items:stretch;gap:4px}
  #main-nav>a:not(.nav-contact),#main-nav>a{display:block;font-size:16px;padding:14px 10px;min-height:48px}
  #main-nav .nav-contact{margin-top:6px;text-align:center;background:var(--green);color:white;border-color:var(--green)}
  .hero{min-height:0}
  .hero-copy{padding:30px 6% 28px}
  .hero-copy .eyebrow{font-size:12px;letter-spacing:1.4px;margin-bottom:16px}
  .hero h1{font-size:clamp(34px,8.5vw,52px);letter-spacing:-1.5px;line-height:1.14;margin-bottom:18px}
  .intro{font-size:16px;line-height:1.6;margin:0 0 20px;max-width:560px}
  .hero-actions{gap:16px}
  .hero-actions .button{font-size:15px;padding:13px 18px;min-height:48px}
  .services-link{font-size:14px;min-height:44px;display:flex;align-items:center}
  .hero-caption{display:none}
  .hero-image.gallery{min-height:0;height:clamp(340px,90vw,480px)}
  .hero-image img{object-position:50% 66%}
  .gallery-top{max-width:calc(100% - 24px);font-size:12px;letter-spacing:.5px;padding:8px 10px}
  .gallery-controls{gap:6px;padding:8px}
  .gallery-controls button{font-size:14px;padding:9px 10px}
  .gallery-dots button{width:22px;padding:0}
  .service-band{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;padding:22px 6%;font-size:14px;line-height:1.5}
  .service-band b{display:none}
  .service-band span:first-child{grid-column:1/-1;font-size:17px;color:var(--gold)}
  .section{padding:48px 6%}
  .section .eyebrow,.contact .eyebrow{letter-spacing:1.4px;font-size:12px;margin-bottom:16px}
  .service-grid{grid-template-columns:1fr;margin-top:30px}
  .service-grid article{padding:26px 0!important;border-right:0;border-bottom:1px solid #cfd4cf}
  .service-grid article:nth-child(n+3){border-top:0}
  .service-grid article:last-child{padding-bottom:0!important}
  .service-grid h3{font-size:26px;margin:12px 0}
  .service-grid p,.steps p{font-size:16px}
  .service-grid li{font-size:15px}
  .about{gap:10px}
  .about .large-text{font-size:21px}
  .contact{padding:48px 6%}
  .contact h2{font-size:clamp(30px,7.7vw,42px);letter-spacing:-1px}
  .phone-button{font-size:24px;width:100%;text-align:center;padding:14px}
  .email-project{margin-top:32px;padding-top:28px}
  .email-project h3{font-size:26px}
  .submit-quote{width:100%;text-align:center;min-height:48px}
  footer{align-items:flex-start;padding:28px 6%;gap:16px}
  footer>span{font-size:14px;line-height:1.8;flex:1;min-width:160px}
  footer p{font-size:14px}
  .legal h1{font-size:32px}
  .mobile-call{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--green);color:white;border-top:1px solid #d2b27d;padding:16px 6% calc(16px + env(safe-area-inset-bottom));min-height:70px;box-shadow:0 -4px 20px #1e302b20;font-size:15px}
  .mobile-call strong{color:var(--gold);font-size:17px;white-space:nowrap}
}
@media(max-width:360px){.mobile-call{gap:8px;padding-left:4%;padding-right:4%;font-size:14px}.mobile-call strong{font-size:16px}.gallery-controls button{padding:9px 7px;font-size:13px}}
