@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--blue:#4b9cd3;--ink:#080b0e;--paper:#f5f5f1;--muted:#a8afb5;--line:#293037}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}img{width:100%;height:100%;object-fit:cover;display:block}h1,h2,h3,.display{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;text-transform:uppercase;line-height:.98;letter-spacing:-.025em;margin:0;font-weight:700}h1{font-size:clamp(58px,7.7vw,118px)}h2{font-size:clamp(43px,5vw,72px)}h3{font-size:31px}p{margin:20px 0;color:#5e666c;max-width:660px}.wrap{width:min(1320px,90%);margin:auto}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;margin-bottom:20px;display:block}.eyebrow:before{content:'';display:inline-block;width:24px;height:2px;background:var(--blue);vertical-align:middle;margin-right:12px}.topbar{background:var(--blue);font-size:10px;text-align:center;padding:7px 15px;letter-spacing:.16em;font-weight:700;text-transform:uppercase}header{background:var(--ink);color:white;position:sticky;top:0;z-index:20;border-bottom:1px solid #262e35}nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brandmark{color:var(--blue);font:800 45px/.8 'Barlow Condensed',Impact,sans-serif;letter-spacing:-4px;border-right:1px solid #3b4145;padding-right:14px;transform:skew(-5deg)}.brandname{font:700 23px/1 'Barlow Condensed',Impact,sans-serif;letter-spacing:.06em}.brandname small{display:block;font:9px/1.3 'DM Sans',sans-serif;letter-spacing:.13em;margin-top:6px;color:#bec5ca}.navlinks{display:flex;align-items:center;gap:28px;font-size:12px}.navlinks>a:hover,.footlinks a:hover{color:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:17px 24px;background:var(--blue);color:var(--ink);font-size:12px;font-weight:700;border:1px solid transparent;cursor:pointer;line-height:1.4}.btn:after{content:'';font-size:19px;line-height:1}.btn:hover{background:#70b5e3}.btn.light{background:white}.btn.outline{border-color:#65727b;background:transparent;color:white}.menu{display:none;background:none;color:white;border:1px solid #555;padding:8px 12px}.hero{min-height:690px;display:grid;grid-template-columns:51% 49%;background:var(--ink);color:white;position:relative}.herocopy{padding:70px 5vw 60px max(5vw,calc((100vw - 1320px)/2));display:flex;flex-direction:column;justify-content:center}.hero h1 span{color:var(--blue)}.hero p{color:#b0b7bd;font-size:15px;max-width:410px}.actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:15px}.textlink{font-size:12px;text-decoration:underline;text-underline-offset:6px;padding:15px}.heroimage{position:relative;overflow:hidden}.heroimage img{object-position:50% 53%}.heroimage:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#080b0e20,transparent)}.photo-tag{position:absolute;bottom:28px;left:28px;right:28px;color:white;font-size:10px;letter-spacing:.15em;text-transform:uppercase;display:flex;justify-content:space-between;z-index:1;text-shadow:0 1px 5px black}.hero-note{margin-top:35px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#a9b3bb;display:flex;gap:25px}.hero-note b{color:var(--blue);margin-right:5px}.trust{background:#13191e;color:#c8ced3;display:grid;grid-template-columns:repeat(4,1fr);padding:27px 5%;gap:20px;font-size:11px;letter-spacing:.06em}.trust>div{display:flex;align-items:center;gap:12px;justify-content:center}.trust span{color:var(--blue);font-size:20px}.section{padding:96px 0}.sectionhead{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:40px}.sectionhead p{max-width:340px;font-size:14px;margin:0}.servicegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.servicecard{border-bottom:1px solid #bdc3c7;padding-bottom:22px}.servicecard .image{height:315px;overflow:hidden;margin-bottom:20px;background:#d3dadd}.servicecard img{transition:transform .5s}.servicecard:hover img{transform:scale(1.04)}.cardlabel{display:flex;justify-content:space-between;gap:12px}.cardlabel span{color:#3885b8;font-size:23px}.servicecard p{font-size:13px;max-width:350px;margin:13px 0}.morelinks{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}.chip{border:1px solid #c8cdd0;padding:10px 16px;font-size:12px;display:inline-block}.chip:hover{background:var(--blue);border-color:var(--blue);color:var(--ink)}.dark{background:var(--ink);color:white}.dark p{color:#a8b2bb}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split .photo{height:590px;position:relative}.photolabel{position:absolute;bottom:0;left:0;background:var(--blue);padding:23px 30px;font:600 26px/1 'Barlow Condensed',Impact,sans-serif;max-width:240px;color:var(--ink)}.promises{margin-top:35px}.promise{border-top:1px solid var(--line);padding:20px 0;display:grid;grid-template-columns:36px 1fr;gap:12px}.promise b{color:var(--blue);font-size:12px}.promise strong{font-size:14px}.promise p{font-size:12px;margin:7px 0 0}.gallerygrid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px}.gallerytile{height:360px;position:relative;border:0;padding:0;background:#ddd;cursor:zoom-in;overflow:hidden}.gallerytile:after{content:'';position:absolute;right:15px;bottom:15px;background:var(--blue);color:black;padding:6px 13px;font-size:20px}.gallerytile:first-child{height:460px}.gallerygrid.full{grid-template-columns:repeat(3,1fr)}.gallerygrid.full .gallerytile{height:380px}.filters{display:flex;gap:10px;margin:30px 0}.filter{border:1px solid #b6c1c9;padding:10px 20px;background:none;cursor:pointer;font-size:12px}.filter.active{background:var(--ink);color:white}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:50px}.step{border-top:1px solid #c6cdd2;padding-top:20px}.step .num{color:#3885b8;font-size:12px;display:block;margin-bottom:25px}.step p{font-size:13px}.blue{background:var(--blue)}.blue .eyebrow:before{background:var(--ink)}.blue p{color:#173246}.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0 30px;margin-top:35px}.area-grid a{border-bottom:1px solid #1a4c6c55;padding:17px 0;display:flex;justify-content:space-between;font-size:14px}.area-grid a:after{content:''}.area-grid a:hover{color:white}.faq{max-width:900px;margin:40px auto 0}details{border-bottom:1px solid #bfc7cd;padding:22px 0}summary{cursor:pointer;font-weight:600;font-size:15px;display:flex;justify-content:space-between;gap:20px;list-style:none}summary:after{content:'';color:#3281b5;font-size:24px;line-height:1}details[open] summary:after{content:''}details p{font-size:14px;max-width:760px}.cta{padding:70px 0}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font-size:65px}footer{padding:65px 0 25px;background:#080b0e;color:white}.footgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:45px}.footgrid p{font-size:12px;color:#a3adb5;max-width:250px}.footgrid h4{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#a8b0b6;margin:0 0 18px}.footlinks{display:grid;gap:9px;font-size:12px}.footbottom{border-top:1px solid #293037;display:flex;justify-content:space-between;margin-top:50px;padding-top:22px;font-size:10px;color:#8b969f;gap:20px}.pagehero{background:var(--ink);color:white;padding:38px 0 65px}.crumb{font-size:11px;color:#a5b3be;margin-bottom:40px;display:flex;gap:10px;flex-wrap:wrap}.pagehero h1{font-size:clamp(52px,6vw,88px);max-width:950px}.pagehero p{color:#b6c1c9;max-width:680px}.pagehero .wrap{position:relative}.interior{display:grid;grid-template-columns:1.65fr 1fr;gap:70px}.interior h2{font-size:46px}.interior h3{margin-top:35px;font-size:30px}.interior p,.bodycopy p{font-size:15px}.sideimage{height:440px;position:sticky;top:120px}.panel{background:white;border:1px solid #d4dce1;padding:28px}.linklist{display:grid;gap:12px;margin-top:25px}.linklist a{border-bottom:1px solid #d1d9df;padding:14px 0;font-size:15px;display:flex;justify-content:space-between}.linklist a:after{content:'';color:#3281b5}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}label{font-size:12px;font-weight:600;display:grid;gap:7px}.wide{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid #bac7cf;background:white;padding:13px 14px;border-radius:0;color:#080b0e}textarea{min-height:120px}form .btn{margin-top:20px}.formnote{font-size:12px}.contactdetails{display:grid;gap:24px;margin-top:35px}.contactdetails a{color:#2476ac}.contactdetails small{display:block;text-transform:uppercase;letter-spacing:.15em;font-size:10px}.matrix{width:100%;border-collapse:collapse;font-size:12px}.matrix th,.matrix td{border:1px solid #c6cdd2;padding:12px;text-align:left}.matrix a{color:#1b6b9f;text-decoration:underline}.scrolltable{overflow:auto}dialog{border:0;background:#0b0e11;color:white;padding:12px;max-width:90vw;width:900px}dialog::backdrop{background:#000c}dialog img{max-height:80vh;object-fit:contain}dialog button{position:absolute;right:20px;top:20px;background:white;border:0;padding:8px 15px;cursor:pointer}.mobilecall{display:none}.visuallyhidden{position:absolute;left:-9999px}.skip{position:absolute;top:-100px;background:white;color:black;padding:12px;z-index:99}.skip:focus{top:0}
@media(min-width:1500px){.herocopy{padding-right:70px}}@media(max-width:1000px){.navlinks{gap:15px}.navphone{display:none}.hero{min-height:610px}.herocopy{padding-top:55px;padding-bottom:50px}.hero-note{gap:12px;flex-wrap:wrap}.split{gap:40px}.footgrid{gap:25px}.servicecard .image{height:240px}}@media(max-width:760px){.topbar{font-size:8px}nav{height:74px}.menu{display:block}.navlinks{display:none;position:absolute;top:74px;left:0;right:0;background:#11181e;padding:25px 5%;flex-direction:column;align-items:stretch}.navlinks.open{display:flex}.hero{display:flex;flex-direction:column}.herocopy{padding:50px 6% 45px}.hero h1{font-size:76px}.heroimage{height:420px}.heroimage img{object-position:50% 50%}.trust{grid-template-columns:1fr 1fr;padding:22px 5%;font-size:9px;gap:17px}.trust>div{justify-content:flex-start}.section{padding:65px 0}.sectionhead{display:block}.sectionhead p{margin-top:22px;max-width:100%}.servicegrid{grid-template-columns:1fr}.servicecard .image{height:370px}.split{grid-template-columns:1fr;gap:40px}.split .photo{height:440px}.gallerygrid,.gallerygrid.full{grid-template-columns:1fr 1fr}.gallerytile,.gallerytile:first-child,.gallerygrid.full .gallerytile{height:280px}.gallerytile:first-child{grid-column:1/-1;height:400px}.process{grid-template-columns:1fr 1fr;gap:30px}.area-grid{grid-template-columns:1fr 1fr;gap:0 25px}.cta .wrap{display:block}.cta h2{font-size:55px}.cta .btn{margin-top:30px}.footgrid{grid-template-columns:1fr 1fr;gap:40px 20px}.footgrid>div:first-child{grid-column:1/-1}.footbottom{display:block;margin-bottom:40px}.interior{grid-template-columns:1fr;gap:35px}.sideimage{position:static;height:380px}.formgrid{grid-template-columns:1fr}.wide{grid-column:auto}.mobilecall{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;z-index:21;background:var(--ink);color:white;font-size:12px;text-align:center;border-top:1px solid #3c474f}.mobilecall a{padding:14px}.mobilecall a:last-child{background:var(--blue);color:black}.pagehero{padding:25px 0 50px}.crumb{margin-bottom:30px}.photo-tag{font-size:9px}.brandname{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* RC Deck Co. / Carolina blue, silver, black / vector artwork only */
:root{--silver:#c7cdd3;--silverlight:#eef1f4;--paper:#fafbfc;--line:#c6ced5}header{background:#fff;color:var(--ink);border-bottom:1px solid #d9e0e5}.topbar{background:#e3e8ec;color:#33414c}.brand{width:258px;max-width:42vw}.brand img{width:100%;height:auto;object-fit:contain}.logo-on-dark{display:none}.brand .logo-on-light{display:block}.navlinks{gap:22px}.navgroup{align-self:stretch;display:flex;align-items:center}.navtrigger{display:flex;align-items:center;gap:5px}.navtrigger>a{padding:28px 0}.navtoggle{display:grid;place-items:center;border:0;background:none;color:inherit;padding:7px 3px;cursor:pointer}.navtoggle svg{width:15px;height:15px;transition:transform .2s}.navtoggle[aria-expanded=true] svg{transform:rotate(180deg)}.megapanel{position:absolute;top:100%;left:5%;right:5%;background:#fff;box-shadow:0 24px 40px #11182022;border:1px solid #d6dfe5;border-top:3px solid var(--blue);padding:36px;display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:40px;color:var(--ink);max-height:calc(100vh - 140px);overflow:auto}.megapanel[hidden]{display:none}.megacol h4{font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin:0 0 15px;color:#586b78}.megacol>a{display:block;padding:8px 0;border-bottom:1px solid #edf0f2;font-size:13px}.megacol>a:hover{color:#1c6a9e;text-decoration:underline;text-underline-offset:4px}.megafeature{background:var(--silverlight);padding:25px;position:relative}.megafeature:after{content:'';position:absolute;width:40px;height:40px;right:15px;bottom:15px;border:1px solid #afbbc4;transform:rotate(45deg);pointer-events:none}.megafeature h3{font-size:35px}.megafeature p{font-size:12px}.megafeature>a{position:relative;z-index:1;text-decoration:underline;font-size:12px}.navphone{font-size:11px;white-space:nowrap}.navlinks .btn{padding:14px 17px;gap:15px;white-space:nowrap}.hero{background:#e8edf1;color:var(--ink)}.herocopy{position:relative;background:linear-gradient(135deg,#f3f6f8,#e0e6eb);isolation:isolate}.herocopy:before{content:'';position:absolute;left:18px;top:25px;bottom:25px;width:1px;background:#bbc9d355;z-index:-1}.hero h1 span{color:#1879b4}.hero p{color:#485c6a}.hero-note{color:#4c606e}.hero-note b{display:inline-block;width:6px;height:6px;background:#257cb5;transform:rotate(45deg);margin-right:8px}.hero-note b svg{display:none}.photo-tag{align-items:center}.heroimage{border-left:8px solid var(--silver)}.trust{background:#dbe2e8;color:#263d4d;border-bottom:1px solid #c7d2da}.trust span{color:#1e73aa;display:flex}.shape-icon{width:20px;height:20px;vertical-align:middle;display:inline-block;flex-shrink:0}.btn:after{content:'';width:17px;height:17px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 11h12l-5-5 1.4-1.4L20 12l-7.6 7.4L11 18l5-5H4z'/%3E%3C/svg%3E") center/contain no-repeat}.cardlabel span{display:flex}.dark{background:#e4e9ed;color:var(--ink)}.dark p{color:#4b5f6c}.promise b{color:#176da7}.promise{border-color:#bdcbd5}.blue{background:#dbeaf4}.blue .eyebrow:before{background:#398ac0}.blue p{color:#425e72}.area-grid a{border-color:#a5bfce;color:#172e3e}.area-grid a:after{content:'';width:17px;height:17px;display:block;align-self:center;background:#2874a8;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 11h12l-5-5 1.4-1.4L20 12l-7.6 7.4L11 18l5-5H4z'/%3E%3C/svg%3E") center/contain no-repeat}.area-grid a:hover{color:#075486}.pagehero{background:linear-gradient(115deg,#e5eaee,#f3f6f8);color:var(--ink);position:relative;overflow:hidden}.pagehero:after{content:'';position:absolute;right:-100px;bottom:-150px;width:500px;height:320px;border:1px solid #bccbd655;transform:rotate(-30deg);pointer-events:none;box-shadow:0 -30px 0 -29px #bccbd6,0 -60px 0 -59px #bccbd6,0 -90px 0 -89px #bccbd6}.pagehero .wrap{z-index:1}.pagehero p{color:#475e6e}.crumb{color:#506878}.crumb a:hover{color:#135f92;text-decoration:underline}.silver{background:var(--silverlight)}.localplanning{max-width:850px}.localplanning h3{margin-top:32px}.localplanning .eyebrow+h3{margin-top:0;font-size:42px}.localplanning p{max-width:800px}.linklist a:after{content:'';width:18px;height:18px;align-self:center;background:#1b75ae;clip-path:polygon(0 43%,72% 43%,48% 14%,57% 7%,100% 50%,57% 93%,48% 86%,72% 57%,0 57%)}.gallerytile:after{content:'';width:40px;height:40px;background:#4b9cd3;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.gallerytile:before{content:'';position:absolute;z-index:1;bottom:27px;right:27px;width:16px;height:16px;background:#080b0e;clip-path:polygon(0 43%,72% 43%,48% 14%,57% 7%,100% 50%,57% 93%,48% 86%,72% 57%,0 57%)}summary:after{content:'';display:block;width:15px;height:15px;background:linear-gradient(#2878aa,#2878aa) center/100% 2px no-repeat,linear-gradient(#2878aa,#2878aa) center/2px 100% no-repeat;flex-shrink:0}details[open] summary:after{content:'';background:linear-gradient(#2878aa,#2878aa) center/100% 2px no-repeat}.step .num{width:35px;height:35px;border:1px solid #8fabbf;display:grid;place-items:center;color:#195e8c}.cta.blue{background:var(--blue)}.cta .btn{background:var(--ink);color:white}.cta .btn:hover{background:#263b49}.cta .eyebrow:before{background:var(--ink)}footer{background:#0d141a}.footerintro{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:40px;border-bottom:1px solid #34434e;padding-bottom:40px;margin-bottom:40px}.footerintro .logo-on-light{display:none}.footerintro .logo-on-dark{display:block}.footerintro p{font-size:12px;color:#b7c3cc;margin:0}.footerphone{font-size:22px;font-weight:600;text-align:right}.footgrid{grid-template-columns:repeat(4,1fr)}.footgrid>div:first-child{grid-column:auto}.footgrid h4{color:#8eb3cd}.footlinks{gap:8px}.footbottom{color:#afbbc5}.navlinks>a:hover{color:#1b709f}.menu{border-color:#9aadb9;color:var(--ink)}.btn.outline{color:#172f40;border-color:#a7bbc8}.matrix th{background:#e8eef2}.matrix td{background:#fff}.formnote{max-width:100%}
@media(max-width:1200px){.navphone{display:none}.navlinks{gap:15px}.brand{width:235px}.navlinks .btn{padding:13px 14px}.navlinks>a{font-size:11px}}
@media(max-width:980px){.menu{display:block}.navlinks{display:none;position:absolute;top:88px;left:0;right:0;background:#fff;padding:15px 5% 25px;flex-direction:column;align-items:stretch;color:var(--ink);max-height:calc(100vh - 90px);overflow-y:auto;border-bottom:1px solid #d4dce3;gap:0}.navlinks.open{display:flex}.navlinks>a{font-size:14px;padding:15px 0;border-bottom:1px solid #e0e7ec}.navlinks>.btn{margin-top:15px}.navgroup{display:block;border-bottom:1px solid #e0e7ec}.navtrigger{justify-content:space-between}.navtrigger>a{padding:15px 0;font-size:14px;flex:1}.navtoggle{padding:15px}.megapanel{position:static;display:grid;grid-template-columns:1fr 1fr;box-shadow:none;border:0;background:#eff3f6;padding:20px;gap:25px;max-height:none}.megafeature{display:none}.megacol>a{font-size:12px}.megacol h4{font-size:9px}.footerintro{grid-template-columns:1fr 1fr}.footerphone{text-align:left}.footgrid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.navlinks{top:74px;max-height:calc(100vh - 74px)}.brand{width:238px;max-width:65vw}.heroimage{border-left:0;border-top:7px solid var(--silver)}.hero h1{font-size:76px}.footerintro{grid-template-columns:1fr;gap:25px}.footerintro .brand{max-width:260px}.footgrid>div:first-child{grid-column:auto}.footgrid{gap:35px 20px}.footgrid h4{font-size:9px}.footlinks a{font-size:11px}.megapanel{grid-template-columns:1fr}.megacol{min-width:0}.pagehero:after{width:300px;height:200px}.hero-note{font-size:9px}.section.silver{padding:50px 0}.trust .shape-icon{width:18px;height:18px}.gallerygrid[hidden],.gallerytile[hidden]{display:none}.hero-note .shape-diamond{display:inline-block}}
/* A single mobile scroll surface; expanded groups stay in normal document flow. */
@media(max-width:980px){
 header.menu-open{z-index:50}
 .navlinks{position:fixed;top:var(--mobile-nav-top,89px);right:0;bottom:0;left:0;height:auto;max-height:none;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;padding:16px 5% calc(30px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:30px}
 .navlinks.open{display:block}
 .navlinks>.navgroup,.navlinks>a{display:block;flex:none;flex-shrink:0}
 .navlinks>.btn{display:flex}
 .navlinks .megapanel{position:static;height:auto;max-height:none;overflow:visible;flex:none;box-shadow:none}
 .navlinks .navtrigger>a,.navlinks .navtoggle{min-height:48px}
 .navlinks .megacol>a{padding-top:12px;padding-bottom:12px}
}

/* Homepage inspiration photographs use equal frames at every breakpoint. */
.inspiration-gallery{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.inspiration-gallery .gallerytile,.inspiration-gallery .gallerytile:first-child{height:auto;aspect-ratio:4/5;grid-column:auto;min-width:0}
@media(max-width:760px){.inspiration-gallery{grid-template-columns:1fr}.inspiration-gallery .gallerytile,.inspiration-gallery .gallerytile:first-child{aspect-ratio:4/3}}
/* One complete, local-context project inquiry on every page. */
.project-request{background:#e3ebf0;border-top:1px solid #cedbe4;scroll-margin-top:85px}
.request-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.request-intro h2{font-size:clamp(48px,5vw,72px)}.request-intro>p{max-width:430px}.request-intro .request-phone{display:inline-block;font-size:15px;font-weight:600;color:#1b567e;margin-top:24px}
.request-note{display:flex;gap:16px;align-items:flex-start;margin-top:28px;max-width:420px}.request-note p{font-size:12px;margin:0;color:#4e6574}.request-line{width:26px;height:26px;border:1px solid #7298b1;transform:rotate(45deg);flex-shrink:0;margin:5px 5px 0}
.request-card{background:#fff;border:1px solid #c5d2dc;padding:36px;min-width:0;box-shadow:0 12px 35px #233e5010}
.request-progress{padding:0;margin:0 0 32px;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;border-bottom:1px solid #dae3e9;padding-bottom:22px}.request-progress li{font-size:10px;display:flex;gap:8px;align-items:center;color:#6c7d89}.request-progress span{width:23px;height:23px;border:1px solid #bacbd7;display:grid;place-items:center;flex-shrink:0}.request-progress li[aria-current=step]{color:#0b5789;font-weight:700}.request-progress li[aria-current=step] span{background:var(--blue);border-color:var(--blue);color:var(--ink)}.request-progress .complete span{background:#e6eff5;border-color:#6a9fc3;color:#1a608c}
.request-card fieldset{border:0;padding:0;margin:0;min-width:0}.request-card fieldset[hidden]{display:none}.request-card legend{font:600 35px/1.05 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;padding:0}.request-card .step-caption{font-size:13px;color:#5b6f7d;margin:13px 0 22px}.request-card .formgrid{gap:18px;margin-top:0}.request-card .optional{font-weight:400;color:#6e808d;font-size:10px;display:inline}.request-card textarea{min-height:145px;resize:vertical}.request-card .formnote{font-size:11px;line-height:1.6}.request-card .formnote a{color:#1b6494;text-decoration:underline;overflow-wrap:anywhere}
.request-controls{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-top:25px;padding-top:22px;border-top:1px solid #d9e1e7}.request-controls .btn{margin:0}.request-controls [hidden]{display:none}.request-stepcount{font-size:10px;color:#6a7c8a;margin-right:auto}.request-back{background:none;border:0;padding:12px 0;color:#36596f;text-decoration:underline;cursor:pointer;font-size:12px}.request-status{font-size:12px;color:#285b7d;margin:15px 0 0}.request-status:empty{display:none}.request-review{padding:18px;background:#f0f4f7;margin-top:22px}.request-review h3{font-size:22px}.request-review dl{font-size:12px;margin:13px 0 0;display:grid;grid-template-columns:90px 1fr;gap:6px 12px}.request-review dt{color:#607481}.request-review dd{margin:0;overflow-wrap:anywhere}.email-fallback{margin-top:20px}.email-fallback[hidden],.email-fallback [hidden]{display:none}.email-fallback .chip{font-size:11px;background:#fff;cursor:pointer;margin:0 8px 8px 0}.email-fallback .formnote{margin:8px 0 0}.email-fallback textarea{margin-top:12px}
.floating-call{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:40;background:var(--blue);color:#080b0e;border:1px solid #2e7fae;padding:16px 21px;display:flex;align-items:center;gap:10px;box-shadow:0 5px 20px #102b3d33;font-size:13px;font-weight:700;min-height:52px}.floating-call svg{width:21px;height:21px}.floating-call:hover{background:#72b7e5}.floating-call:focus-visible{outline:3px solid #132f42;outline-offset:4px}
.footbottom{padding-bottom:70px}
@media(max-width:980px){.request-layout{gap:35px;grid-template-columns:1fr 1.15fr}.request-card{padding:26px}.request-progress{gap:5px}.request-progress li{display:block;font-size:9px}.request-progress span{margin-bottom:7px}}
@media(max-width:760px){.request-layout{grid-template-columns:1fr;gap:30px}.request-card{padding:23px 19px}.request-intro h2{font-size:54px}.request-intro>p{font-size:14px}.request-note{margin-top:20px}.request-card legend{font-size:31px}.request-controls{gap:12px}.request-controls .btn{font-size:11px;padding:15px 17px;gap:14px}.request-progress li{font-size:10px}.request-review dl{grid-template-columns:75px 1fr}.floating-call{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));padding:13px 17px;font-size:12px}.project-request{scroll-margin-top:74px}.footbottom{margin-bottom:0;padding-bottom:85px}}
/* Branded call badge: handset medallion, architectural lines, silver frame. */
.floating-call{gap:13px;padding:10px 19px 10px 11px;background:#101b24;color:#fff;border:1px solid #b8cbd8;min-height:78px;box-shadow:0 8px 26px #0d263c40,0 0 0 4px #eef3f6aa;isolation:isolate;transition:transform .2s,box-shadow .2s}
.floating-call:before{content:'';position:absolute;inset:4px;border:1px solid #b9cedd20;pointer-events:none;z-index:-1}
.floating-call .call-emblem{display:grid;place-items:center;width:54px;height:54px;background:var(--blue);color:#071622;border:1px solid #9ec9e4;outline:1px solid #91acc155;outline-offset:4px;border-radius:50%;flex-shrink:0;transform:rotate(-7deg);transition:transform .2s;box-shadow:inset 0 0 0 4px #9dcbed22}
.floating-call .call-emblem svg{width:31px;height:31px}.call-copy{display:flex;flex-direction:column;gap:3px;position:relative;z-index:1}.call-kicker{font-size:8px;letter-spacing:.16em;line-height:1.4;text-transform:uppercase;color:#b3c9d8;font-weight:500}.call-title{font:600 30px/.95 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;letter-spacing:.025em}.floating-call .call-arrow{width:18px;height:18px;margin-left:4px;color:#75b7e1;align-self:center}.call-deck-lines{position:absolute;right:7px;bottom:6px;width:40px;height:9px;background:repeating-linear-gradient(125deg,transparent 0 5px,#4b9cd355 5px 7px,transparent 7px 11px);pointer-events:none;z-index:-1}
.floating-call:hover{background:#162936;transform:translateY(-3px);box-shadow:0 10px 32px #0d263c55,0 0 0 4px #d6e8f2bb}.floating-call:hover .call-emblem{transform:rotate(0deg)}.floating-call:focus-visible{outline:3px solid #4b9cd3;outline-offset:6px}
@media(max-width:760px){.floating-call{gap:11px;padding:9px 15px 9px 10px;min-height:65px;box-shadow:0 5px 22px #0d263c40,0 0 0 3px #eef3f6aa}.floating-call .call-emblem{width:43px;height:43px;outline-offset:3px}.floating-call .call-emblem svg{width:26px;height:26px}.call-title{font-size:26px}.call-kicker{font-size:7px;letter-spacing:.12em}.floating-call .call-arrow{width:15px;height:15px;margin-left:1px}}

/* Approved Compass Hex lockup: retain clear space within the existing navigation. */
header .brand img{height:74px;object-fit:contain;object-position:left center}
@media(max-width:760px){header .brand img{height:64px}}

/* Project photographs fill their frames without distortion. */
.heroimage{display:block;position:relative;overflow:hidden;padding:0;background:#c7d2d9}
.heroimage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%;aspect-ratio:auto}
.heroimage:after{display:none}
.gallerygrid,.gallerygrid.full,.inspiration-gallery{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:22px}
.gallerytile,.gallerytile:first-child,.gallerygrid.full .gallerytile,.inspiration-gallery .gallerytile,.inspiration-gallery .gallerytile:first-child{height:auto;aspect-ratio:4/3;grid-column:auto;min-width:0;position:relative;overflow:hidden;border:0;padding:0;cursor:zoom-in;text-align:left;background:#dfe6eb}
.gallerytile img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .25s ease}
.gallerytile:hover img{transform:scale(1.025)}
.gallerytile:before,.gallerytile:after{display:none}
.gallerytile[hidden]{display:none!important}
.filters{flex-wrap:wrap;gap:8px}
.filters .filter{white-space:normal}
.sideimage img{object-position:center}
.sideimage:has(img[src*="rc-6519"]),.sideimage:has(img[src*="rc-6514"]){height:auto;aspect-ratio:4/3;align-self:start}
.servicecard .image img,.sideimage img,.split .photo>img{width:100%;height:100%;object-fit:cover}
.split .photo:has(img[src*="rc-6533"]){height:auto;aspect-ratio:3/4}
dialog{max-height:94dvh;overflow:auto;width:min(1100px,94vw)}
dialog img{width:auto;height:auto;max-width:100%;max-height:83dvh;margin:auto;object-fit:contain}
dialog button{position:sticky;float:right;right:8px;top:0;z-index:1}
@media(max-width:1000px){.gallerygrid,.gallerygrid.full{grid-template-columns:repeat(2,minmax(0,1fr))}.inspiration-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.heroimage{height:auto;min-height:0;aspect-ratio:4/3;padding:0}.heroimage>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 60%}.gallerygrid,.gallerygrid.full,.inspiration-gallery{grid-template-columns:1fr}.gallerytile,.gallerytile:first-child,.gallerygrid.full .gallerytile,.inspiration-gallery .gallerytile,.inspiration-gallery .gallerytile:first-child{height:auto;aspect-ratio:4/3;grid-column:auto}.gallery-caption{font-size:13px}.sideimage{position:static}.filters{display:flex;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.gallerytile img{transition:none}.gallerytile:hover img{transform:none}}

/* Presentation audit: prevent narrow layouts and native controls from widening the page. */
.formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.formgrid>label,.interior>*,.split>*,.material-panel>*{min-width:0}
input,select,textarea{min-width:0;max-width:100%}
.pagehero h1{overflow-wrap:anywhere}
@media(max-width:760px){
 header nav{gap:12px}
 header .brand{max-width:calc(100% - 85px)}
 .menu{flex-shrink:0;min-height:44px}
 .formgrid{grid-template-columns:minmax(0,1fr)}
 .request-card input,.request-card select,.request-card textarea{font-size:16px}
 .request-card select{text-overflow:ellipsis}
}

/* Keep official planning resources distinct and readable. */
.local-resources{padding-left:20px;line-height:1.7}.local-resources li{margin:10px 0}.local-resources a{color:#185f8e;text-decoration:underline;text-underline-offset:3px}.local-resources a:focus-visible{outline:3px solid #4b9cd3}

/* Editorial recommendations and project details. */
.editorial-links a,.manufacturer-resources a,.section .wrap>p>a{color:#185f8e;text-decoration:underline;text-underline-offset:3px}
.manufacturer-resources{max-width:900px}.manufacturer-resources h3{font-size:32px}.manufacturer-resources p{max-width:850px}
.related-heading{margin-top:35px}.new-project{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media(max-width:760px){.new-project{grid-template-columns:minmax(0,1fr)!important}}

/* Attributed Google review snapshot */
.reviews-section{background:#f2f5f7}.review-badge{display:flex;gap:16px;align-items:center;padding:18px 22px;border:1px solid #cbd4dc;background:#fff;color:#080b0e;text-decoration:none;border-radius:8px;flex-shrink:0}.review-badge strong{font-size:30px;white-space:nowrap}.review-badge span{font-size:14px;line-height:1.5}.review-badge small{display:block;font-size:11px;color:#52616d}.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:22px}.review-card{padding:28px;background:#fff;border:1px solid #d6dee4;border-radius:8px;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.review-card-top{display:flex;gap:15px;align-items:center;font-size:12px;color:#52616d}.review-score{font-weight:700;color:#125179;border-bottom:3px solid #4b9cd3;padding-bottom:4px}.review-card h3{font-size:21px;margin:18px 0 12px}.review-card blockquote{margin:0 0 20px;line-height:1.75;font-size:16px}.review-card blockquote p{font-size:16px;line-height:1.75;margin:0 0 14px;color:#34424d}.review-card>a{font-size:12px;text-underline-offset:4px;margin-top:auto;color:#125179}.review-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}.review-archive{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.review-card details{width:100%;margin:0 0 20px}.review-card summary{cursor:pointer;color:#125179;font-size:15px;padding:0 0 12px}.review-summary{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;margin-bottom:64px}.rating-only{padding-top:60px}.rating-only ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;padding:0;gap:14px}.rating-only li{border-bottom:1px solid #d6dee4;padding:12px 0;display:flex;gap:16px;justify-content:space-between}.rating-only a{overflow-wrap:anywhere}.rating-only span{white-space:nowrap;color:#125179}@media(max-width:760px){.reviews-section .sectionhead{align-items:flex-start}.review-badge{align-self:flex-start}.review-archive,.review-summary,.rating-only ul{grid-template-columns:1fr}.review-summary{gap:24px}.review-card{padding:24px}.review-links{align-items:flex-start;gap:18px}}

.review-stars{display:inline-flex;gap:3px;color:#b97808;flex-shrink:0;vertical-align:middle;line-height:1}.review-stars svg{display:block;width:21px;height:21px;flex-shrink:0}.review-badge>.review-stars{gap:2px}.review-badge>.review-stars svg{width:20px;height:20px}.review-summary .review-stars{margin-bottom:18px}.review-summary .review-stars svg{width:30px;height:30px}.rating-only .review-stars svg{width:16px;height:16px}@media(max-width:380px){.review-badge{gap:12px;padding:16px}.review-badge>.review-stars svg{width:17px;height:17px}}
