:root{--ink:#101713;--green:#173d2e;--green2:#2f5b45;--gold:#c59a57;--cream:#f3efe5;--paper:#fbfaf7;--muted:#65706a;--line:#ddd6c8;--shadow:0 16px 42px rgba(16,36,27,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}body.menu-open{overflow:hidden}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:.98}h1{font-size:clamp(3.2rem,7vw,6.8rem);letter-spacing:-.045em}h2{font-size:clamp(2.35rem,4.5vw,4.6rem);letter-spacing:-.035em}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:850;color:var(--gold);margin-bottom:.75rem}.lead{font-size:1.18rem;max-width:860px;color:var(--muted)}
.site-header{height:78px;position:sticky;top:0;z-index:80;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,5vw,72px);background:rgba(251,250,247,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(36,63,49,.1)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand img{width:47px;height:47px;object-fit:contain}.brand span{display:flex;flex-direction:column}.brand strong{font:500 1.25rem/1 Georgia,serif;letter-spacing:.02em}.brand small{text-transform:uppercase;letter-spacing:.25em;font-size:.58rem;color:var(--green2);margin-top:5px}.site-header nav{display:flex;align-items:center;gap:24px}.site-header nav a{text-decoration:none;font-size:.82rem;font-weight:800}.nav-cta{padding:.72rem 1rem;border-radius:999px;background:var(--green);color:#fff!important}.menu-button{display:none;border:0;background:transparent;font:800 1rem/1 inherit;color:#1687ee;padding:12px}
.hero{min-height:720px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#111}.hero-photo{position:absolute;inset:0;object-position:center 44%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,7,.94) 0%,rgba(4,10,7,.77) 37%,rgba(4,10,7,.28) 70%,rgba(4,10,7,.06) 100%)}.hero-copy{position:relative;z-index:2;color:white;width:min(920px,92vw);padding:clamp(46px,7vw,96px) clamp(22px,7vw,105px)}.hero-copy .eyebrow{color:#e6c89d}.hero-copy h1{margin-bottom:20px}.hero-lead{max-width:760px;font-size:clamp(1.03rem,1.7vw,1.3rem);color:#eef3f0;margin-bottom:20px}.service-line{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}.service-line span{border:1px solid rgba(255,255,255,.35);background:rgba(16,39,29,.35);backdrop-filter:blur(5px);padding:.42rem .7rem;border-radius:999px;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.hero-actions{display:flex;gap:11px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.2rem;border-radius:10px;text-decoration:none;font-weight:850;border:1px solid transparent;font:inherit;cursor:pointer}.primary{background:var(--gold);color:#111}.ghost{border-color:rgba(255,255,255,.52);color:#fff;background:rgba(255,255,255,.06)}
.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--green);color:white}.proof-strip span{text-align:center;padding:18px 12px;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:850;border-right:1px solid rgba(255,255,255,.15)}
.urgent-band{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center;padding:34px clamp(20px,7vw,110px);background:#eadfc9;border-bottom:1px solid #d5c5aa}.urgent-band .eyebrow{color:#7a5424;margin-bottom:5px}.urgent-band h2{font-size:clamp(1.8rem,3.4vw,3.3rem);margin-bottom:10px}.urgent-band p:last-child{max-width:820px;color:#5f5a51;margin:0}.urgent-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.urgent-call{background:var(--green);color:white}.urgent-text{border-color:var(--green);color:var(--green);background:transparent}
.section{padding:clamp(72px,8vw,118px) clamp(20px,7vw,110px)}.section-heading{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:end;margin-bottom:36px}.section-heading>p{color:var(--muted);font-size:1.05rem;margin-bottom:0}.services-overview{background:#fff}.service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.service-cards article{position:relative;padding:27px 23px;border:1px solid var(--line);border-radius:18px;background:var(--paper);min-height:245px}.service-cards h3{font:500 1.55rem/1.08 Georgia,serif;margin:12px 0}.service-cards p{margin:0;color:var(--muted);font-size:.94rem}.service-num{font-size:.7rem;font-weight:900;color:var(--gold);letter-spacing:.08em}.service-cards .service-emergency{background:var(--green);color:white;border-color:var(--green)}.service-cards .service-emergency p{color:#d6e0da}.service-cards .service-emergency .service-num{color:#e3be85}
.work-intro{max-width:1100px;padding-bottom:30px}.work-intro h2{margin-bottom:1rem}.flagship{padding-top:30px}.project-heading{display:grid;grid-template-columns:1.12fr .88fr;gap:58px;align-items:end;margin-bottom:34px}.project-heading>p{margin:0;color:var(--muted);font-size:1.04rem}.project-number{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--green);color:white;font-weight:900;margin-bottom:14px}.flagship-grid{display:grid;grid-template-columns:1.45fr .55fr;grid-template-rows:1fr 1fr;gap:14px}.flagship-grid figure{margin:0;position:relative;overflow:hidden;border-radius:18px;min-height:270px;background:#ddd;box-shadow:var(--shadow)}.flagship-grid .flagship-main{grid-row:1/span 2;min-height:650px}.flagship-grid figcaption,.three-image-grid figcaption{position:absolute;left:12px;bottom:12px;background:rgba(13,24,18,.86);color:#fff;padding:.45rem .7rem;border-radius:999px;font-size:.75rem;font-weight:800}.chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.chips span{border:1px solid var(--line);background:white;padding:.5rem .75rem;border-radius:999px;font-size:.76rem;font-weight:800}.project-row{border-top:1px solid var(--line)}.project-row.alt{background:var(--cream)}.before-after{display:grid;grid-template-columns:1fr 1fr;gap:16px}.before-after figure{margin:0;position:relative;overflow:hidden;border-radius:18px;background:#ddd;min-height:580px;box-shadow:var(--shadow)}.before-after figure img{object-position:center 36%}.label{position:absolute;z-index:2;left:14px;top:14px;background:rgba(10,18,14,.88);color:white;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:850;padding:.45rem .65rem;border-radius:999px}.three-image-grid{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:1fr 1fr;gap:14px}.three-image-grid figure{margin:0;position:relative;min-height:280px;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.three-image-grid .wide{grid-row:1/span 2;min-height:610px}
.project-heading.compact{gap:40px;margin-bottom:26px}.project-heading.compact h2{font-size:clamp(2rem,3.6vw,3.4rem)}.door-project{position:relative;border-top:3px solid var(--gold)}
.italian-tile-project{background:linear-gradient(180deg,#f8f5ed 0%,#fff 100%)}.tile-story{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:22px}.tile-story figure{margin:0;overflow:hidden;border-radius:22px;background:#fff;border:1px solid #ddd5c6;box-shadow:var(--shadow)}.tile-hero{position:relative;min-height:560px}.tile-hero img{min-height:560px}.tile-hero figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 22px 18px;background:linear-gradient(transparent,rgba(0,0,0,.74));color:#fff;font-weight:650}.tile-process-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tile-process-grid figure{position:relative;min-height:270px}.tile-process-grid img{min-height:270px}.tile-process-grid figcaption{position:absolute;left:10px;bottom:10px;padding:7px 10px;border-radius:999px;background:rgba(15,34,27,.9);color:#fff;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.capability-band{background:#fff;border-top:1px solid var(--line)}.small-projects{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.small-projects article{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden}.small-projects img{height:300px}.small-projects div{padding:22px}.small-projects h3{font:500 1.6rem/1.1 Georgia,serif}.small-projects p{color:var(--muted);margin-bottom:0}.mini-kicker{margin:0 0 5px!important;color:var(--green2)!important;font-size:.7rem!important;font-weight:850;text-transform:uppercase;letter-spacing:.12em}
.gallery-section{background:var(--cream);border-top:1px solid var(--line)}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.gallery-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--paper);box-shadow:var(--shadow)}.gallery-pair{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line)}.gallery-pair figure{margin:0;position:relative;height:350px;overflow:hidden;background:#ddd}.gallery-pair figure span{position:absolute;z-index:2;left:12px;top:12px;background:rgba(10,18,14,.88);color:#fff;padding:.42rem .62rem;border-radius:999px;text-transform:uppercase;letter-spacing:.09em;font-size:.64rem;font-weight:850}.gallery-copy{padding:22px}.gallery-copy h3{font:500 1.55rem/1.08 Georgia,serif;margin-bottom:9px}.gallery-copy p{margin:0;color:var(--muted)}.gallery-footer{text-align:center;margin-top:30px}.instagram-button{background:var(--green);color:white}
.reviews-section{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.reviews-featured{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.reviews-section blockquote{margin:0;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow)}.review-large{padding:34px;display:flex;flex-direction:column;justify-content:space-between;min-height:430px}.review-large p{font:500 clamp(1.65rem,3vw,2.6rem)/1.25 Georgia,serif;margin:0 0 30px}.reviews-section cite{font-style:normal;color:var(--green2);font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.review-stack{display:grid;gap:12px}.review-stack blockquote{padding:22px}.review-stack p{font:500 1.2rem/1.34 Georgia,serif;margin:0 0 16px}.quick-praise{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.quick-praise span{padding:18px;border-left:3px solid var(--gold);background:var(--cream);font-family:Georgia,serif}.quick-praise strong{display:block;margin-top:8px;font:800 .68rem/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--green2)}
.why{background:var(--cream)}.why-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #d7cebd;border-bottom:1px solid #d7cebd}.why-grid article{padding:26px 22px;border-right:1px solid #d7cebd}.why-grid article:last-child{border-right:0}.why-grid span{font-weight:900;color:var(--gold);font-size:.8rem}.why-grid h3{font:500 1.42rem/1.1 Georgia,serif;margin:8px 0 10px}.why-grid p{color:var(--muted);font-size:.9rem;margin:0}.service-area{background:#fff}.service-area h2{margin-bottom:18px}.pro-note{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:.92rem;max-width:760px}.pro-note a{color:var(--green2);font-weight:800;text-decoration:none;white-space:nowrap;margin-left:4px}.pro-note a:hover{text-decoration:underline}
.contact-section{padding:clamp(72px,8vw,118px) clamp(20px,7vw,110px);display:grid;grid-template-columns:.78fr 1.22fr;gap:66px;background:var(--ink);color:white}.contact-copy>p:not(.eyebrow){color:#cbd3cf;font-size:1.06rem}.urgent-contact-note{display:flex;flex-direction:column;border:1px solid rgba(197,154,87,.55);background:rgba(197,154,87,.09);padding:14px 16px;border-radius:12px;margin:26px 0}.urgent-contact-note strong{color:#e7c48e}.urgent-contact-note span{color:#d6ded9}.contact-links{display:grid;gap:12px;margin-top:24px}.contact-links a{display:flex;flex-direction:column;text-decoration:none;padding-left:12px;border-left:3px solid var(--gold);word-break:break-word}.contact-links small{text-transform:uppercase;letter-spacing:.12em;color:#aeb7b2;font-size:.65rem}.contact-section form{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-content:start}.form-intro{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:2px}.form-intro strong{font:500 1.55rem Georgia,serif}.form-intro span{color:#aeb7b2;font-size:.82rem}.contact-section label{display:flex;flex-direction:column;gap:7px;font-size:.76rem;font-weight:850}.contact-section input,.contact-section textarea,.contact-section select{width:100%;padding:14px;border-radius:10px;border:1px solid #66716c;background:#202c27;color:#fff;font:inherit}.contact-section input:focus,.contact-section textarea:focus,.contact-section select:focus{outline:2px solid var(--gold);outline-offset:1px}.contact-section select option{color:#111}.full{grid-column:1/-1}.honeypot{position:absolute!important;left:-9999px!important}.form-helper{font-size:.79rem;color:#aeb7b2;margin:0}.form-helper a{color:#fff}.form-status{min-height:22px;margin:0;color:#dfe7e2;font-size:.9rem}.form-status.success{color:#b9e2c5}.form-status.error{color:#ffd0ca}.contact-section button:disabled{opacity:.65;cursor:wait}
footer{padding:42px clamp(20px,7vw,110px);display:grid;gap:12px;background:#0a100d;color:#d8dfdb}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:50px;height:50px;object-fit:contain}.footer-brand div{display:flex;flex-direction:column}.footer-brand strong{font:500 1.2rem Georgia,serif;color:#fff}.footer-brand span{color:#b8c1bc;font-size:.72rem}footer p,footer small{margin:0}footer a{text-decoration:none}.mobile-bar{display:none}
@media(max-width:1080px){.service-cards{grid-template-columns:repeat(2,1fr)}.why-grid{grid-template-columns:repeat(3,1fr)}.why-grid article:nth-child(3){border-right:0}.why-grid article:nth-child(-n+3){border-bottom:1px solid #d7cebd}.why-grid article:nth-child(5){border-right:0}.urgent-band{grid-template-columns:1fr;gap:18px}.urgent-actions{justify-content:flex-start}}
@media(max-width:980px){.menu-button{display:block}.site-header nav{display:none;position:absolute;left:0;right:0;top:78px;background:var(--paper);padding:18px 20px 24px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);box-shadow:0 20px 30px rgba(0,0,0,.08)}.site-header nav.open{display:flex}.hero{min-height:690px}.hero-shade{background:linear-gradient(0deg,rgba(5,11,8,.96),rgba(5,11,8,.28) 72%,rgba(5,11,8,.1))}.section-heading,.project-heading,.contact-section{grid-template-columns:1fr;gap:18px}.flagship-grid,.three-image-grid{grid-template-columns:1fr;grid-template-rows:auto}.flagship-grid .flagship-main,.three-image-grid .wide{grid-row:auto;min-height:520px}.flagship-grid figure,.three-image-grid figure{min-height:340px}.tile-story{grid-template-columns:1fr}.reviews-featured{grid-template-columns:1fr}.review-large{min-height:0}.quick-praise{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.mobile-bar{display:grid;grid-template-columns:1fr 1fr 1.3fr;position:fixed;z-index:90;left:0;right:0;bottom:0;background:var(--green);color:#fff}.mobile-bar a{text-align:center;padding:13px 6px;text-decoration:none;font-size:.8rem;font-weight:850;border-right:1px solid rgba(255,255,255,.15)}body{padding-bottom:48px}}
@media(max-width:650px){.site-header{height:68px;padding:0 14px}.site-header nav{top:68px}.brand img{width:39px;height:39px}.brand strong{font-size:1rem}.hero{min-height:calc(100svh - 68px);height:auto}.hero-copy{padding:44px 18px 38px}.hero-copy h1{font-size:clamp(3rem,14vw,4.5rem)}.hero-actions{flex-direction:column;align-items:stretch}.proof-strip{grid-template-columns:1fr 1fr}.proof-strip span{font-size:.61rem}.urgent-band{padding:28px 18px}.urgent-actions{display:grid;grid-template-columns:1fr}.section,.contact-section{padding:66px 18px}.service-cards{grid-template-columns:1fr}.service-cards article{min-height:0}.before-after{grid-template-columns:1fr}.before-after figure{min-height:470px}.flagship-grid .flagship-main,.three-image-grid .wide{min-height:430px}.flagship-grid figure,.three-image-grid figure{min-height:285px}.tile-hero,.tile-hero img{min-height:430px}.tile-process-grid{gap:8px}.tile-process-grid figure,.tile-process-grid img{min-height:170px}.small-projects{grid-template-columns:1fr}.small-projects img{height:260px}.gallery-pair figure{height:260px}.gallery-copy{padding:18px}.why-grid{grid-template-columns:1fr}.why-grid article,.why-grid article:nth-child(3),.why-grid article:nth-child(5){border-right:0;border-bottom:1px solid #d7cebd}.why-grid article:last-child{border-bottom:0}.contact-section form{grid-template-columns:1fr}.full{grid-column:auto}.form-intro{flex-direction:column;gap:2px}.footer-brand{align-items:flex-start}}

/* V23 hero refinement: preserve bright center hallway while darkening only text zones. */
.hero{min-height:720px;align-items:flex-end}
.hero-photo{object-position:center 44%}
.hero-shade{background:
  linear-gradient(90deg,rgba(4,10,7,.88) 0%,rgba(4,10,7,.70) 30%,rgba(4,10,7,.22) 52%,rgba(4,10,7,.05) 66%,rgba(4,10,7,.24) 100%),
  linear-gradient(0deg,rgba(4,10,7,.58) 0%,rgba(4,10,7,.10) 46%,rgba(4,10,7,.18) 100%)}
.hero-copy{width:min(760px,92vw);padding-bottom:clamp(48px,7vw,88px)}
.hero-copy h1{max-width:680px;margin-bottom:8px;text-wrap:balance}
.hero-tagline{font:500 clamp(1.55rem,2.8vw,2.45rem)/1.08 Georgia,"Times New Roman",serif;margin:0 0 15px;color:#fff}
.hero-lead{max-width:650px;margin-bottom:26px}
.hero-actions .button{min-width:190px}
@media(max-width:980px){
  .hero-shade{background:
    linear-gradient(0deg,rgba(4,10,7,.90) 0%,rgba(4,10,7,.64) 37%,rgba(4,10,7,.10) 67%,rgba(4,10,7,.08) 100%),
    linear-gradient(90deg,rgba(4,10,7,.30) 0%,rgba(4,10,7,.04) 58%,rgba(4,10,7,.16) 100%)}
  .hero-copy{width:min(720px,94vw)}
}
@media(max-width:650px){
  .hero{min-height:calc(100svh - 68px)}
  .hero-photo{object-position:center 43%}
  .hero-copy{padding:34px 18px 30px}
  .hero-copy .eyebrow{max-width:330px;margin-bottom:12px}
  .hero-copy h1{font-size:clamp(3.35rem,15vw,4.75rem);line-height:.91;max-width:520px;margin-bottom:10px}
  .hero-tagline{font-size:clamp(1.45rem,6vw,1.9rem);margin-bottom:12px}
  .hero-lead{font-size:1rem;line-height:1.45;max-width:520px;margin-bottom:20px}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .hero-actions .button{min-width:0;padding:.9rem .75rem}
}
