:root{--black:#080808;--ink:#151515;--cream:#f4f1eb;--white:#fff;--line:#d8d3cb;--muted:#5a5752;--max:1480px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}img{display:block;max-width:100%}a{color:inherit}.shell{width:min(calc(100% - 64px),var(--max));margin-inline:auto}.site-header{height:92px;background:var(--black);display:flex;align-items:center;padding:0 32px;gap:28px;position:sticky;top:0;z-index:50;border-bottom:1px solid #262626}.brand{width:150px;flex:0 0 auto}.brand img{width:150px;height:66px;object-fit:contain}.desktop-nav{display:flex;gap:28px;margin-left:auto}.desktop-nav a,.phone{color:#eee;text-decoration:none;text-transform:uppercase;font-size:12px;letter-spacing:1.5px;white-space:nowrap}.desktop-nav a{padding:10px 0;border-bottom:1px solid transparent}.desktop-nav a:hover,.desktop-nav a.active{border-color:#fff}.header-actions{display:flex;align-items:center;gap:18px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;text-decoration:none;text-transform:uppercase;letter-spacing:1.25px;font-size:12px;border:1px solid transparent;transition:.2s ease}.button-light{background:var(--cream);color:#111}.button-outline,.button-ghost{border-color:rgba(255,255,255,.75);color:#fff;background:transparent}.button:hover{transform:translateY(-1px)}.menu-button{display:none;background:none;border:0;width:42px;height:42px;padding:9px;cursor:pointer}.menu-button span{display:block;height:1px;background:#fff;margin:6px 0}.hero{height:min(820px,calc(100vh - 92px));min-height:660px;position:relative;overflow:hidden;background:#111}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.55) 38%,rgba(0,0,0,.14) 72%,rgba(0,0,0,.04) 100%)}.hero-content{position:relative;z-index:2;padding-top:160px;color:#fff}.kicker{margin:0 0 18px;font-size:12px;text-transform:uppercase;letter-spacing:3px}.kicker.light{color:#f2f2f2}.hero h1{font-size:clamp(48px,5.7vw,92px);line-height:.98;font-weight:300;letter-spacing:.5px;text-transform:uppercase;margin:0 0 28px;max-width:920px}.hero-lead{font-size:clamp(18px,1.5vw,24px);line-height:1.55;max-width:610px;margin:0 0 34px;color:#f2f2f2}.hero-buttons{display:flex;gap:14px;flex-wrap:wrap}.hero-location{position:absolute;z-index:2;bottom:30px;left:50%;transform:translateX(-50%);color:#fff;text-transform:uppercase;letter-spacing:2px;font-size:11px}.trust-strip{background:var(--black);color:#fff;display:grid;grid-template-columns:repeat(4,1fr);min-height:88px;border-top:1px solid #242424}.trust-strip div{display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;border-right:1px solid #292929;text-transform:uppercase;letter-spacing:1.45px;font-size:11px}.trust-strip div:last-child{border:0}.section{padding-block:100px}.intro{display:grid;grid-template-columns:1fr .92fr;gap:78px;align-items:center}.intro-copy h2,.section-heading h2,.details-copy h2,.contact-inner h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.05;margin:0 0 26px;font-size:clamp(42px,4.3vw,68px)}.intro-copy>p:not(.kicker){font-size:17px;line-height:1.75;color:#46413b;max-width:660px}.text-link{display:inline-flex;gap:10px;text-decoration:none;text-transform:uppercase;letter-spacing:1.4px;font-size:12px;margin-top:15px;border-bottom:1px solid #222;padding-bottom:7px}.intro-media{margin:0;height:540px;overflow:hidden}.intro-media img{width:100%;height:100%;object-fit:cover;object-position:center}.services{background:#faf8f4}.section-heading.split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:80px;align-items:end;margin-bottom:44px}.section-heading.split>div{min-width:0}.section-heading.split h2{font-size:clamp(38px,3.7vw,60px);line-height:1.08;overflow-wrap:normal;word-break:normal}.section-heading.split>p{font-size:16px;line-height:1.7;color:#56514a;margin:0 0 9px;max-width:500px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{height:430px;position:relative;overflow:hidden;background:#222;color:#fff;text-decoration:none}.service-card img{width:100%;height:100%;object-fit:cover}.service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.05) 64%)}.service-card span{position:absolute;z-index:2;left:24px;right:24px;bottom:24px;font-size:20px;line-height:1.2;text-transform:uppercase;letter-spacing:.6px}.details-banner{height:570px;position:relative;overflow:hidden;background:#111;color:#fff}.details-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}.details-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.85),rgba(0,0,0,.38) 54%,rgba(0,0,0,.05))}.details-copy{position:relative;z-index:2;padding-top:110px}.details-copy h2{font-size:clamp(48px,5vw,76px)}.details-copy p{max-width:650px;font-size:18px;line-height:1.7;margin:0 0 30px;color:#eee}.projects-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.projects-heading h2{margin-bottom:0}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.project-card{margin:0;position:relative;height:360px;overflow:hidden;background:#ddd}.project-card img{width:100%;height:100%;object-fit:cover}.project-card figcaption{position:absolute;left:16px;bottom:16px;background:rgba(0,0,0,.72);color:#fff;padding:10px 12px;text-transform:uppercase;letter-spacing:1px;font-size:11px}.project-types{background:var(--black);color:#fff;min-height:105px;display:grid;grid-template-columns:repeat(4,1fr)}.project-types div{display:flex;align-items:center;justify-content:center;border-right:1px solid #292929;text-transform:uppercase;letter-spacing:1.6px;font-size:12px}.project-types div:last-child{border:0}.contact-cta{min-height:470px;position:relative;overflow:hidden;background:#111;color:#fff}.contact-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.38)}.contact-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.32),rgba(0,0,0,.72))}.contact-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;min-height:470px}.contact-inner h2{font-size:clamp(40px,4vw,60px)}.contact-inner p:not(.kicker){font-size:17px;line-height:1.7;color:#e6e3de;max-width:620px}.contact-card{justify-self:end;max-width:560px}.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.footer{background:#050505;color:#aaa}.footer-inner{min-height:118px;display:flex;align-items:center;gap:30px}.footer img{width:112px;height:62px;object-fit:contain}.footer p{margin-left:auto;font-size:12px}.footer a{color:#ddd;text-decoration:none;font-size:13px}.mobile-menu{position:fixed;top:76px;left:0;right:0;background:#090909;color:#fff;z-index:49;padding:28px 32px 40px;border-top:1px solid #242424}.mobile-menu a{display:block;color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:1.4px;font-size:13px;padding:14px 0;border-bottom:1px solid #222}
@media(max-width:1100px){.desktop-nav,.phone{display:none}.header-actions{margin-left:auto}.menu-button{display:block}.site-header{height:78px}.brand,.brand img{width:130px}.brand img{height:58px}.hero{height:760px;min-height:650px}.hero-content{padding-top:145px}.section-heading.split{grid-template-columns:1fr;gap:15px}.service-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}.contact-inner{gap:50px}}
@media(max-width:760px){.shell{width:min(calc(100% - 36px),var(--max))}.site-header{padding:0 18px;height:72px}.brand,.brand img{width:112px}.brand img{height:52px}.header-quote{display:none}.hero{height:calc(100svh - 72px);min-height:620px}.hero-image{object-position:61% center}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.79),rgba(0,0,0,.28)),linear-gradient(0deg,rgba(0,0,0,.25),transparent 45%)}.hero-content{padding-top:112px}.hero h1{font-size:44px;line-height:1.02}.hero-lead{font-size:17px;max-width:92%}.hero-location{bottom:20px}.trust-strip{grid-template-columns:repeat(2,1fr)}.trust-strip div:nth-child(2){border-right:0}.trust-strip div:nth-child(-n+2){border-bottom:1px solid #292929}.section{padding-block:72px}.intro{grid-template-columns:1fr;gap:42px}.intro-media{height:430px}.section-heading.split{margin-bottom:28px;gap:22px}.section-heading.split h2{font-size:clamp(36px,10vw,48px);line-height:1.08;margin-bottom:0}.section-heading.split>p{margin-top:0}.service-grid{grid-template-columns:1fr}.service-card{height:420px}.details-banner{height:620px}.details-banner>img{object-position:65% center}.details-copy{padding-top:85px}.projects-heading{align-items:flex-start;gap:30px}.project-grid{grid-template-columns:1fr}.project-card{height:430px}.project-types{grid-template-columns:repeat(2,1fr)}.project-types div{min-height:84px;border-bottom:1px solid #292929}.project-types div:nth-child(2n){border-right:0}.contact-inner{grid-template-columns:1fr;gap:26px;padding-block:72px}.contact-card{justify-self:start}.footer-inner{padding-block:26px;min-height:auto;flex-wrap:wrap}.footer p{margin-left:0;width:100%;order:3}.mobile-menu{top:72px}}
@media(max-width:430px){.hero h1{font-size:39px}.hero-buttons{display:grid;grid-template-columns:1fr 1fr}.hero-buttons .button{padding-inline:12px}.intro-media{height:370px}.service-card,.project-card{height:360px}.contact-actions{display:grid}.contact-actions .button{width:100%}}

/* Launch polish */
.hero-break{display:block}.footer-contact{display:flex;gap:22px;align-items:center}.footer-contact a{white-space:nowrap}
.menu-button span{transition:transform .22s ease,opacity .18s ease}.menu-button[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-button[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-button[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:760px){
  .site-header{height:64px;padding:0 18px}.brand,.brand img{width:104px}.brand img{height:46px}.menu-button{width:40px;height:40px}.hero{height:calc(100svh - 64px);min-height:600px}.hero-content{padding-top:96px}.hero h1{font-size:42px;line-height:1.01;max-width:620px}.hero-break{display:block}.mobile-menu{top:64px;bottom:0;min-height:calc(100svh - 64px);padding:34px 32px 30px;display:flex;flex-direction:column;overflow:auto;border-top:1px solid #242424}.mobile-menu[hidden]{display:none}.mobile-menu nav a{font-size:14px;letter-spacing:2px;padding:18px 0}.mobile-menu-actions{margin-top:auto;padding-top:24px}.mobile-menu-actions a{border-bottom:0}.mobile-phone{font-size:15px!important;letter-spacing:2px!important;padding:12px 0!important}.mobile-quote{font-size:12px!important;letter-spacing:1.8px!important;padding:17px 0 8px!important;display:flex!important;justify-content:space-between}.footer-inner{align-items:center}.footer-contact{margin-left:auto;flex-direction:column;align-items:flex-end;gap:8px}.footer p{order:3;width:100%;margin:0}.footer-contact a{font-size:12px}.intro-copy>p:not(.kicker){font-size:16px;line-height:1.68}.contact-actions .button{min-height:54px}
}
@media(max-width:430px){.hero h1{font-size:40px;letter-spacing:0}.hero-content{padding-top:90px}.footer-contact{width:auto}.footer img{width:100px}}

/* v4 additions */
.commercial { background:#eee9df; }
.commercial-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:18px; margin-top:34px; }
.commercial-card { margin:0; background:#0b0b0b; color:#fff; overflow:hidden; }
.commercial-card img { width:100%; height:360px; object-fit:cover; display:block; }
.commercial-card figcaption { padding:18px 20px 21px; display:flex; flex-direction:column; gap:5px; }
.commercial-card strong { font-size:15px; letter-spacing:.06em; text-transform:uppercase; }
.commercial-card span { font-size:13px; opacity:.72; }
.footer-social { display:flex; gap:18px; flex-wrap:wrap; }
.footer-social a { color:inherit; text-decoration:none; font-size:12px; text-transform:uppercase; letter-spacing:.12em; opacity:.78; }
.footer-social a:hover { opacity:1; }
@media (max-width: 800px) {
  .commercial-grid { grid-template-columns:1fr; }
  .commercial-card img { height:300px; }
  .footer-social { width:100%; justify-content:center; margin-top:4px; }
}

/* v6 quote form */
.contact-cta{min-height:760px}.contact-inner{min-height:760px;grid-template-columns:.78fr 1.22fr;gap:72px}.contact-card{max-width:720px;width:100%}.quote-form{margin-top:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}.quote-form label{display:flex;flex-direction:column;gap:7px}.quote-form label>span{font-size:10px;letter-spacing:1.45px;text-transform:uppercase;color:#ddd}.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:1px solid rgba(255,255,255,.32);background:rgba(0,0,0,.22);color:#fff;border-radius:0;padding:13px 14px;font:inherit;font-size:15px;outline:none}.quote-form input,.quote-form select{min-height:48px}.quote-form textarea{resize:vertical;min-height:128px}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:#fff;background:rgba(0,0,0,.34)}.quote-form select option{color:#111}.quote-form ::placeholder{color:#aaa}.form-wide{grid-column:1/-1}.file-field input{padding:10px}.file-field small{font-size:11px;color:#bbb}.form-submit-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:22px}.quote-form button{border:0;cursor:pointer}.form-call{color:#fff;text-decoration:none;font-size:12px;letter-spacing:.7px}.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-card>p:not(.kicker){max-width:690px}
@media(max-width:760px){.contact-cta{min-height:auto}.contact-inner{min-height:auto;grid-template-columns:1fr}.form-grid{grid-template-columns:1fr;gap:15px}.form-wide{grid-column:auto}.quote-form input,.quote-form select{min-height:50px}.form-submit-row{display:grid;gap:14px}.form-submit-row .button{width:100%}.form-call{text-align:center}.contact-card{max-width:none}}

.form-status{margin:0;font-size:.85rem;line-height:1.4;max-width:28rem;color:#f2f0eb}.quote-form button:disabled{opacity:.65;cursor:wait}

/* Netlify supports one uploaded file per form field. */
.upload-fields{display:grid;gap:10px;margin-top:10px}.upload-fields label{display:block}.upload-fields input[type="file"]{width:100%}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* v9 WhatsApp contact */
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:60;display:inline-flex;align-items:center;gap:9px;min-height:50px;padding:0 17px;border-radius:999px;background:#25D366;color:#071b0d;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;box-shadow:0 8px 28px rgba(0,0,0,.28);transition:transform .2s ease,box-shadow .2s ease}.whatsapp-float:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(0,0,0,.34)}.whatsapp-icon{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border:2px solid currentColor;border-radius:50%;font-size:15px;line-height:1}@media(max-width:760px){.whatsapp-float{right:14px;bottom:14px;min-height:48px;padding:0 14px;font-size:11px}}
