:root{--navy:#2f3d55;--navy-dark:#1d293b;--navy-soft:#42536e;--white:#fff;--off:#f5f6f7;--sand:#d8c6a5;--wood:#a96f3f;--text:#202a36;--muted:#66717f;--line:#dfe3e7;--shadow:0 18px 50px rgba(24,35,50,.14);--radius:18px;--container:min(1180px,calc(100% - 40px))}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:var(--white);line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:var(--container);margin-inline:auto}.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;padding:10px 14px;z-index:999}.skip-link:focus{left:8px}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(29,41,59,.08)}.nav-wrap{height:82px;display:flex;align-items:center;gap:28px}.brand{width:205px;overflow:hidden}.brand img{width:100%;height:66px;object-fit:cover;object-position:center;background:var(--navy)}.site-nav{display:flex;gap:30px;margin-left:auto}.site-nav a{font-weight:700;font-size:.92rem}.site-nav a:hover{color:var(--wood)}.header-phone{align-self:stretch;display:flex;align-items:center;gap:10px;background:#eaf1fb;padding:0 24px;font-family:Montserrat,sans-serif;font-weight:800;color:var(--navy-dark)}.phone-icon{font-size:1.1rem}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:26px;height:2px;background:var(--navy);margin:5px}.hero{min-height:760px;position:relative;display:grid;align-items:center;overflow:hidden;background:var(--navy-dark)}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,29,44,.93) 0%,rgba(28,42,60,.74) 43%,rgba(25,34,47,.24) 72%,rgba(25,34,47,.15) 100%)}.hero-content{position:relative;z-index:2;color:#fff;padding:100px 0;max-width:1180px}.hero-content>*{max-width:700px}.eyebrow{font-family:Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.15em;font-weight:800;font-size:.78rem;color:#e4d2ae;margin:0 0 16px}.eyebrow.dark{color:var(--wood)}h1,h2,h3{font-family:Montserrat,Arial,sans-serif;line-height:1.08;margin-top:0}h1{font-size:clamp(3rem,6.5vw,6rem);letter-spacing:-.055em;margin-bottom:24px}h2{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.04em;margin-bottom:20px}h3{font-size:1.2rem}.hero-copy{font-size:1.18rem;max-width:620px;margin:0 0 32px;color:rgba(255,255,255,.88)}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 24px;border-radius:5px;text-transform:uppercase;letter-spacing:.055em;font-family:Montserrat,sans-serif;font-weight:800;font-size:.84rem;border:1px solid transparent;cursor:pointer;transition:.2s ease}.button-primary{background:var(--wood);color:#fff}.button-primary:hover{background:#8f572d;transform:translateY(-2px)}.button-secondary{border-color:rgba(255,255,255,.7);color:#fff;background:rgba(255,255,255,.05)}.button-secondary:hover{background:#fff;color:var(--navy-dark)}.hero-trust{display:flex;gap:26px;list-style:none;padding:0;margin:44px 0 0;font-size:.88rem;color:rgba(255,255,255,.78)}.hero-trust li:before{content:'✓';margin-right:8px;color:#e4d2ae;font-weight:800}.section{padding:104px 0}.intro{background:#fff}.intro-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:90px;align-items:end}.intro-copy p,.section-heading>p:last-child{color:var(--muted);font-size:1.05rem}.text-link{font-weight:800;color:var(--navy);display:inline-flex;gap:10px;margin-top:12px}.centered{text-align:center;max-width:760px;margin:0 auto 48px}.services{background:var(--off)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{background:#fff;border:1px solid var(--line);padding:30px 26px;min-height:250px;transition:.25s ease}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}.service-card>span{display:block;font-family:Montserrat,sans-serif;font-weight:800;color:var(--wood);margin-bottom:38px}.service-card p{color:var(--muted);font-size:.92rem;margin-bottom:0}.projects{background:#fff}.projects .section-heading{max-width:760px;margin-bottom:42px}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.project{position:relative;min-height:390px;margin:0;overflow:hidden;border-radius:var(--radius);background:var(--navy)}.project-large{grid-row:span 2;min-height:800px}.project img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project:hover img{transform:scale(1.035)}.project:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(15,25,38,.9))}.project figcaption{position:absolute;z-index:2;left:28px;right:28px;bottom:24px;color:#fff}.project figcaption span,.project-placeholder span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;color:#e7d4ae}.project figcaption strong,.project-placeholder strong{display:block;font-family:Montserrat,sans-serif;font-size:1.35rem}.project-placeholder{min-height:390px;border-radius:var(--radius);border:2px dashed #aeb7c0;background:repeating-linear-gradient(135deg,#f4f5f6,#f4f5f6 12px,#eef0f2 12px,#eef0f2 24px);display:grid;place-items:center;text-align:center;padding:30px;color:var(--navy)}.project-placeholder small{display:block;color:var(--muted);margin-top:8px}.about{background:var(--navy);color:#fff}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}.about-visual{background:#25334a;border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}.about-visual img{border-radius:12px}.about-copy p:not(.eyebrow){color:rgba(255,255,255,.76)}.about-points{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}.about-points div{border-top:1px solid rgba(255,255,255,.22);padding-top:16px}.about-points strong,.about-points span{display:block}.about-points span{font-size:.82rem;color:rgba(255,255,255,.63);margin-top:5px}.process{background:#fff}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;list-style:none;padding:0;margin:40px 0 0}.process-grid li{padding:34px 30px;border-top:4px solid var(--navy);background:var(--off)}.process-grid li>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;margin-bottom:40px}.process-grid p{color:var(--muted)}.contact{background:var(--navy-dark);color:#fff}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:76px;align-items:start}.contact-copy>p:not(.eyebrow){color:rgba(255,255,255,.7)}.contact-details{display:grid;gap:12px;margin:32px 0}.contact-details a,.contact-details>div{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.15)}.contact-details span,.contact-details strong{display:block}.contact-details span{text-transform:uppercase;letter-spacing:.12em;color:#d8c6a5;font-size:.7rem}.contact-details strong{font-size:.98rem;overflow-wrap:anywhere}.social-links{display:flex;gap:18px;font-weight:700}.estimate-form{background:#fff;color:var(--text);padding:36px;border-radius:var(--radius);box-shadow:var(--shadow)}.estimate-form label{display:grid;gap:8px;font-weight:700;font-size:.88rem;margin-bottom:16px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.estimate-form input,.estimate-form select,.estimate-form textarea{width:100%;border:1px solid #ccd2d8;border-radius:5px;padding:13px 14px;background:#fff}.estimate-form input:focus,.estimate-form select:focus,.estimate-form textarea:focus{outline:3px solid rgba(169,111,63,.18);border-color:var(--wood)}.form-button{width:100%;border:0}.form-note{font-size:.76rem;color:var(--muted);margin-bottom:0}.hidden{display:none}.site-footer{background:#111b29;color:#fff;padding:64px 0 24px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-brand img{width:240px;background:var(--navy);margin-bottom:20px}.footer-brand p{color:rgba(255,255,255,.58);max-width:450px}.footer-grid h3{font-size:.9rem;text-transform:uppercase;letter-spacing:.1em}.footer-grid>div:not(.footer-brand) a{display:block;color:rgba(255,255,255,.65);margin:8px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:45px;padding-top:22px;display:flex;justify-content:space-between;color:rgba(255,255,255,.52);font-size:.8rem}.mobile-call{display:none}.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.site-nav{position:fixed;top:82px;left:0;right:0;background:#fff;padding:20px;display:none;flex-direction:column;border-bottom:1px solid var(--line)}.site-nav.open{display:flex}.menu-toggle{display:block;margin-left:auto}.header-phone{padding:0 16px}.header-phone .phone-icon{display:none}.intro-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:46px}.service-grid{grid-template-columns:repeat(2,1fr)}.project-large{min-height:650px}.about-visual{max-width:650px}.process-grid{grid-template-columns:1fr}.hero{min-height:680px}}
@media(max-width:680px){:root{--container:min(100% - 28px,1180px)}.nav-wrap{height:70px}.brand{width:160px}.brand img{height:54px}.site-nav{top:70px}.header-phone{display:none}.hero{min-height:720px;align-items:end}.hero-image{object-position:62% center}.hero-overlay{background:linear-gradient(0deg,rgba(17,28,42,.96) 0%,rgba(17,28,42,.72) 62%,rgba(17,28,42,.25) 100%)}.hero-content{padding:100px 0 86px}.hero-actions{display:grid}.hero-actions .button{width:100%}.hero-trust{display:grid;gap:8px;margin-top:28px}.section{padding:76px 0}.intro-grid{gap:26px}.service-grid,.project-grid,.about-points,.field-row,.footer-grid{grid-template-columns:1fr}.service-card{min-height:auto}.project,.project-large,.project-placeholder{min-height:430px;grid-row:auto}.about-visual{padding:16px}.estimate-form{padding:24px}.footer-bottom{gap:20px;align-items:flex-start;flex-direction:column}.mobile-call{display:block;position:fixed;z-index:90;left:14px;right:14px;bottom:12px;background:var(--wood);color:#fff;text-align:center;padding:14px;border-radius:6px;font-family:Montserrat,sans-serif;font-weight:800;box-shadow:0 8px 30px rgba(0,0,0,.28)}body{padding-bottom:70px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.project img,.button{transition:none}}
.brand{overflow:visible}.brand img{object-fit:contain;object-position:left center;background:transparent}.footer-brand img{height:auto;background:transparent}
