@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800;900&family=Oswald:wght@500;600;700&display=swap";:root{--navy:#071a31;--navy-2:#0b2748;--blue:#1787cf;--blue-2:#5fb7ee;--steel:#627083;--wood:#b98a54;--sand:#f4efe7;--paper:#fff;--ink:#111827;--muted:#5b6572;--line:#071a311f;--shadow:0 22px 70px #071a312e;color:var(--ink);background:var(--sand);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--sand);min-width:320px;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%;display:block}svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.05em;height:1.05em}.container{width:min(1160px,100% - 40px);margin:0 auto}.site-header{z-index:40;color:#fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#050f1be6;border:1px solid #ffffff2e;border-radius:24px;align-items:center;gap:22px;width:min(1180px,100% - 28px);min-height:76px;padding:10px 12px 10px 20px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 18px 55px #00000040}.brand{flex:none;align-items:center;width:165px;height:56px;display:flex}.brand img{object-fit:contain;filter:drop-shadow(0 8px 18px #0000002e);width:100%;max-height:56px}.desktop-nav{color:#ffffffd1;align-items:center;gap:24px;margin-left:auto;font-size:.88rem;font-weight:800;display:flex}.desktop-nav a,.mobile-nav a{transition:color .2s}.desktop-nav a:hover,.desktop-nav a.active,.mobile-nav a.active{color:var(--blue-2)}.header-call{background:var(--blue);color:#fff;white-space:nowrap;border-radius:16px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:0 18px;font-weight:900;display:inline-flex}.menu-btn{color:#fff;background:#ffffff1f;border:0;border-radius:15px;width:48px;height:48px;display:none}.mobile-nav{width:min(320px,100%);box-shadow:var(--shadow);background:#050f1bf7;border-radius:20px;gap:12px;padding:16px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.mobile-nav a{color:#ffffffe6;background:#ffffff14;border-radius:14px;padding:12px 14px;font-weight:900}.hero{color:#fff;background:var(--navy);min-height:800px;padding:150px 0 78px;position:relative;overflow:hidden}.hero-bg,.hero-overlay{position:absolute;inset:0}.hero-bg{background:linear-gradient(90deg,#071a31fa,#071a31d1 44%,#071a316b),url(/hero.jpg) 50%/cover;transform:scale(1.02)}.hero-overlay{opacity:.9;background:radial-gradient(circle at 18% 24%,#1787cf4d,#0000 34%),linear-gradient(135deg,#ffffff0d 0 1px,#0000 1px 38px)}.hero-grid{grid-template-columns:minmax(0,1.05fr) 420px;align-items:center;gap:58px;display:grid;position:relative}.eyebrow{color:var(--blue-2);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:9px;margin:0 0 20px;font-size:.78rem;font-weight:950;display:inline-flex}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.055em;line-height:.95}.hero h1{max-width:760px;margin-bottom:28px;font-size:clamp(3.35rem,8vw,6.15rem)}.hero-text{color:#ffffffd1;max-width:680px;margin-bottom:34px;font-size:clamp(1.04rem,2vw,1.26rem);font-weight:650;line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.btn{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:58px;padding:0 24px;font-weight:950;transition:transform .2s,background .2s,border-color .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn.primary{background:linear-gradient(135deg, var(--blue), var(--blue-2));color:#fff;box-shadow:0 18px 32px #1787cf40}.btn.ghost{color:#fff;background:#ffffff0f;border-color:#ffffff57}.btn.ghost.light{border-color:#ffffff73}.btn.outline{color:var(--navy);background:0 0;border-color:#071a3138}.trust-row{flex-wrap:wrap;gap:12px;margin-top:38px;display:flex}.trust-row span{color:#ffffffe0;background:#ffffff17;border:1px solid #ffffff2e;border-radius:999px;padding:13px 18px;font-size:.88rem;font-weight:900}.hero-card{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff1a;border:1px solid #ffffff38;border-radius:34px;align-self:stretch;overflow:hidden}.hero-card img{object-fit:cover;width:100%;height:520px}.hero-card div{color:var(--navy);background:#fff;padding:26px}.hero-card span,.work-card span,.service-card span,.detail-card .eyebrow{color:var(--blue);letter-spacing:.14em;text-transform:uppercase;font-size:.76rem;font-weight:950}.hero-card strong{margin-top:8px;font-size:1.35rem;line-height:1.15;display:block}.stats-strip .container{grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.stats-strip span{text-align:center;letter-spacing:.02em;background:#ffffff14;padding:22px 18px;font-weight:950}.section.light{background:var(--sand)}.section.dark{background:var(--navy);color:#fff}.section.muted{background:#eaf1f8}.split-heading,.section-heading{grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);align-items:end;gap:48px;margin-bottom:48px;display:grid}.section-heading a{color:var(--navy);justify-self:end;align-items:center;gap:8px;font-weight:950;display:inline-flex}.split-heading h2,.section-heading h2,.feature-grid h2,.cta-band h2,.contact-card h2{color:inherit;margin-bottom:0;font-size:clamp(2.2rem,5vw,4.2rem)}.split-heading>p,.feature-grid p,.contact-card p,.page-hero p{color:var(--muted);font-size:1.08rem;font-weight:650;line-height:1.75}.section.dark .feature-grid p{color:#ffffffb8}.service-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.service-card{border:1px solid var(--line);background:#fff;border-radius:30px;overflow:hidden;box-shadow:0 14px 34px #071a3114}.service-card img{object-fit:cover;width:100%;height:230px}.service-card h3,.detail-card h3,.work-card h3,.review-card h3{letter-spacing:-.04em;margin:10px 0 12px;font-size:1.45rem;line-height:1.05}.service-card p,.detail-card p,.review-card p{color:var(--muted);font-weight:600;line-height:1.65}.feature-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:52px;display:grid}.feature-grid .btn{margin-top:18px}.feature-image{box-shadow:var(--shadow);border:1px solid #ffffff2e;border-radius:34px;overflow:hidden}.feature-image img{object-fit:cover;width:100%;height:430px}.gallery-preview,.work-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.work-grid{grid-template-columns:repeat(3,1fr)}.work-card{border:1px solid var(--line);background:#fff;border-radius:30px;overflow:hidden;box-shadow:0 15px 40px #071a3114}.work-card img{object-fit:cover;width:100%;height:265px;transition:transform .35s}.work-card:hover img{transform:scale(1.05)}.work-card div{padding:22px}.work-card.large img{height:340px}.review-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.review-grid.compact{grid-template-columns:repeat(3,1fr)}.review-card{background:#fff;border:1px solid #071a311a;border-radius:28px;padding:30px;box-shadow:0 15px 38px #071a3112}.review-card span{color:var(--wood);letter-spacing:.12em;font-size:.82rem}.cta-band{color:#fff;background:linear-gradient(90deg,#071a31f2,#071a31c7),url(/deck-rails.jpg) 50%/cover;padding:84px 0}.cta-band .container{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:36px;display:grid}.cta-band h2{max-width:780px}.cta-band p{color:#ffffffc2;margin:16px 0 0;font-weight:650;line-height:1.6}.page-hero{color:#fff;background:linear-gradient(90deg,#071a31f5,#071a31bd),url(/hero.jpg) 50%/cover;padding:170px 0 86px}.page-hero h1{max-width:900px;margin-bottom:24px;font-size:clamp(2.8rem,7vw,5.3rem)}.page-hero p{color:#ffffffc7;max-width:680px}.service-list{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.service-pill-card{border:1px solid var(--line);background:#fff;border-radius:22px;align-items:center;gap:12px;min-height:82px;padding:20px;font-weight:900;display:flex;box-shadow:0 10px 26px #071a310f}.service-pill-card svg{color:var(--blue);flex:none}.detail-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.detail-card{background:#ffffff0f;border:1px solid #ffffff21;border-radius:30px;grid-template-columns:210px 1fr;display:grid;overflow:hidden}.detail-card img{object-fit:cover;width:100%;height:100%;min-height:250px}.detail-card div{padding:28px}.detail-card p{color:#ffffffb3}.contact-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:36px;display:grid}.contact-card,.quote-form{border:1px solid var(--line);background:#fff;border-radius:32px;box-shadow:0 18px 48px #071a3114}.contact-card{padding:38px}.contact-card h2{margin-bottom:20px}.contact-methods{gap:14px;margin-top:30px;display:grid}.contact-methods a,.contact-methods span{color:var(--navy);align-items:center;gap:12px;font-weight:900;display:flex}.quote-form{gap:18px;padding:28px;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}label{color:var(--navy);gap:8px;font-weight:900;display:grid}input,select,textarea{width:100%;color:var(--ink);background:#f8fafc;border:1px solid #071a3129;border-radius:18px;outline:none;padding:15px 16px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px #1787cf1f}.upload-box{cursor:pointer;background:#1787cf0f;border:1px dashed #1787cf73;border-radius:24px;padding:22px;position:relative}.upload-box svg{color:var(--blue);width:30px;height:30px}.upload-box span{font-size:1.08rem}.upload-box small{color:var(--muted);line-height:1.5}.upload-box input{opacity:0;cursor:pointer;position:absolute;inset:0}.footer{color:#fff;background:#050f1b;padding:70px 0 28px}.footer-grid{grid-template-columns:minmax(0,1.4fr) .55fr .85fr;gap:50px;display:grid}.footer img{object-fit:contain;width:180px;max-height:80px;margin-bottom:18px}.footer p{color:#ffffffa8;max-width:470px;font-weight:600;line-height:1.7}.footer h3{letter-spacing:0;margin:0 0 18px;font-size:1.1rem}.footer a,.footer span{color:#ffffffb8;margin-bottom:12px;font-weight:750;display:block}.footer-bottom{color:#ffffff8c;border-top:1px solid #ffffff1f;justify-content:space-between;gap:20px;margin-top:52px;padding-top:24px;font-size:.9rem;display:flex}@media (width<=1040px){.desktop-nav,.header-call{display:none}.menu-btn{place-items:center;margin-left:auto;display:inline-grid}.hero-grid,.feature-grid,.contact-grid{grid-template-columns:1fr}.hero-card{max-width:520px}.service-grid,.gallery-preview,.review-grid,.work-grid,.service-list{grid-template-columns:repeat(2,1fr)}.cta-band .container,.split-heading,.section-heading{grid-template-columns:1fr}.section-heading a{justify-self:start}}@media (width<=720px){.container{width:min(100% - 28px,1160px)}.site-header{border-radius:20px;width:calc(100% - 18px);min-height:66px;padding:8px 10px 8px 14px;top:10px}.brand{width:130px;height:48px}.brand img{max-height:48px}.hero{min-height:auto;padding:124px 0 54px}.hero-bg{background:linear-gradient(#071a31fa,#071a31db 55%,#071a31bd),url(/hero.jpg) 50%/cover}.eyebrow{font-size:.7rem;line-height:1.45}.hero h1{font-size:clamp(2.65rem,14vw,4.2rem)}.hero-text{font-size:1rem;line-height:1.55}.btn{width:100%;min-height:56px}.trust-row{gap:8px}.trust-row span{text-align:center;width:100%}.hero-card img{height:330px}.stats-strip .container{grid-template-columns:1fr 1fr}.stats-strip span{padding:16px 10px;font-size:.86rem}.section{padding:68px 0}.page-hero{padding:132px 0 64px}.page-hero h1,.split-heading h2,.section-heading h2,.feature-grid h2,.cta-band h2,.contact-card h2{font-size:clamp(2.05rem,10vw,3.15rem);line-height:1}.service-grid,.gallery-preview,.review-grid,.work-grid,.service-list,.detail-grid,.footer-grid,.form-row,.detail-card{grid-template-columns:1fr}.detail-card img{height:260px;min-height:auto}.feature-image img,.work-card.large img,.work-card img{height:280px}.contact-card,.quote-form,.review-card{border-radius:24px;padding:24px}.footer-bottom{display:grid}}@media (width<=430px){.brand{width:116px}.hero h1{font-size:2.8rem}.hero-card img{height:285px}}body{font-family:DM Sans,sans-serif}h1,h2,h3{text-transform:uppercase;letter-spacing:.01em;font-family:Oswald,sans-serif;font-weight:600}em{color:var(--blue);font-style:normal}.site-header{border:0;border-bottom:3px solid var(--blue);color:#fff;width:100%;min-height:96px;box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050f1bf5;border-radius:0;padding:0 5vw;top:0;left:0;transform:none}.brand{width:auto;height:auto;box-shadow:none;background:0 0;border-radius:0;justify-content:center;padding:0}.brand img{object-fit:contain;filter:drop-shadow(0 2px 8px #0000008c);width:auto;height:74px;max-height:74px}.desktop-nav{text-transform:uppercase;letter-spacing:.05em;color:#ffffffc7;gap:28px;font-size:14px}.desktop-nav a{padding:9px 0;position:relative}.desktop-nav a:after{content:"";background:var(--blue-2);height:2px;transition:right .3s;position:absolute;bottom:0;left:0;right:100%}.desktop-nav a:hover:after,.desktop-nav a.active:after{right:0}.header-call{background:var(--blue);border-radius:4px;min-height:auto;padding:12px 20px}.menu-btn{border-radius:4px}.hero{background:#101114;align-items:center;min-height:780px;padding:190px 6vw 110px;display:flex}.hero-bg{background:url(/hero.jpg) 50%/cover no-repeat;animation:16s ease-in-out infinite alternate hero-breathe;transform:none}.hero:after{content:"";z-index:0;background:linear-gradient(100deg,#0d0e10f2 0%,#0d0e10cc 42%,#0d0e1057 100%),linear-gradient(#0000 45%,#0d0e10d9);position:absolute;inset:0}.hero-overlay{display:none}.shade{z-index:1;pointer-events:none;background:repeating-linear-gradient(-45deg,#ffffff06 0 2px,#0000 2px 24px);position:absolute;inset:0}.hero-grid{z-index:2;width:min(1500px,100%);margin:0 auto;display:block;position:relative}.hero-copy{max-width:800px}.hero h1{max-width:820px;margin-bottom:24px;font-size:clamp(52px,7.2vw,100px);line-height:.95}.hero-text{color:#ffffffd1;max-width:660px;font-size:19px;font-weight:600;line-height:1.7}.eyebrow{letter-spacing:.22em;color:var(--blue-2);font-size:12px;font-weight:800}.btn{border-radius:4px;min-height:auto;padding:16px 24px}.btn.primary{background:var(--blue);box-shadow:none}.btn.primary:hover{background:var(--navy-2)}.btn.ghost{background:0 0;border-color:#fff6}.trust-row{gap:22px;margin-top:28px}.trust-row span{color:#ffffffc7;background:0 0;border:0;border-radius:0;align-items:center;gap:9px;padding:0;font-size:13px;display:flex}.trust-row svg{color:var(--blue-2)}.hero-card{display:none}.stats-strip{background:var(--blue);color:#fff}.stats-strip>div{text-transform:uppercase;letter-spacing:.02em;flex-wrap:wrap;justify-content:center;align-items:center;gap:4vw;padding:22px 5vw;font-family:Oswald,sans-serif;font-size:19px;display:flex}.stats-strip small{color:#ffffffc7;letter-spacing:.22em;font-family:DM Sans,sans-serif;font-size:12px;font-weight:800}.stats-strip strong{font-weight:600}.section{padding:115px 0}.split-heading,.section-heading{align-items:end;margin-bottom:52px}.split-heading h2,.section-heading h2,.feature-grid h2,.cta-band h2,.contact-card h2{font-size:clamp(42px,5vw,72px);line-height:1}.service-grid{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:0;display:grid}.service-card{isolation:isolate;border:1px solid var(--line);min-height:355px;box-shadow:none;background:#fff;border-radius:0;transition:color .35s,transform .35s,box-shadow .35s;position:relative;overflow:hidden}.service-card:before{content:"";z-index:-2;background:var(--service-bg) center / cover no-repeat;opacity:0;transition:opacity .4s,transform .65s;position:absolute;inset:0;transform:scale(1.08)}.service-card:after{content:"";z-index:-1;opacity:0;background:linear-gradient(150deg,#101114f2,#17181cdb);transition:opacity .4s;position:absolute;inset:0}.service-card:hover:before{opacity:1;transform:scale(1)}.service-card:hover:after{opacity:1}.service-card:hover{color:#fff;z-index:2;transform:translateY(-7px);box-shadow:0 22px 48px #16171a3b}.service-card>img{display:none}.service-card div{padding:38px}.service-card h3{margin:62px 0 18px;font-size:30px;line-height:1.05}.service-card p{color:var(--muted)}.service-card:hover p,.service-card:hover span,.service-card:hover a{color:#ffffffe0}.service-card a{color:var(--blue);align-items:center;gap:8px;margin-top:16px;font-weight:900;display:inline-flex}.feature-band{background:#17181c}.work-card,.review-card,.contact-card,.quote-form{border-radius:0}.cta-band{background:linear-gradient(100deg,#0d0e10f2,#0d0e10bd),url(/deck-rails.jpg) 50%/cover}@keyframes hero-breathe{0%{transform:scale(1)}to{transform:scale(1.04)}}@media (width<=1040px){.site-header{min-height:84px}.mobile-nav{background:#050f1bfa;border-radius:0}.service-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.site-header{border-radius:0;width:100%;min-height:74px;padding:0 18px;top:0}.brand{width:auto;height:auto;padding:0}.brand img{height:60px;max-height:60px}.menu-btn{width:46px;height:46px}.hero{padding:130px 22px 72px}.hero h1{font-size:clamp(44px,14vw,68px)}.hero-text{font-size:17px;line-height:1.65}.btn{width:auto}.trust-row span{text-align:left;width:auto}.stats-strip>div{justify-content:flex-start;gap:18px 28px}.service-grid{grid-template-columns:1fr}.service-card{min-height:300px}.service-card div{padding:30px}}
