@font-face{font-family:Montserrat;src:url('/fonts/montserrat-latin.woff2') format('woff2');font-weight:400 800;font-display:swap}@font-face{font-family:'Open Sans';src:url('/fonts/open-sans-latin.woff2') format('woff2');font-weight:400 700;font-display:swap}

:root{--dark:#1e293b;--accent:#f43f5e;--hover:#e11d48;--light:#f8fafc;--muted:#475569;--line:#e2e8f0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:white;color:var(--dark);font-family:'Open Sans',sans-serif;line-height:1.75}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4,.brand{font-family:Montserrat,sans-serif}h1,h2{font-weight:800;line-height:1.13;letter-spacing:-1.4px}h2{font-size:clamp(30px,3.2vw,44px)}h3{font-size:20px;line-height:1.35;font-weight:700}p{color:var(--muted);font-size:15px}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}img{display:block;width:100%;object-fit:cover;max-width:100%}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.wrap{width:min(1240px,calc(100% - 80px));margin:auto}.section{padding:88px 0}.light{background:var(--light)}.eyebrow{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:1.7px;text-transform:uppercase;margin-bottom:15px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:15px 24px;background:var(--accent);color:white;border:0;border-radius:7px;font-weight:700;font-size:14px;line-height:1.5;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:var(--hover);color:white;transform:translateY(-1px)}.button span{font-size:20px}.button.ghost{background:#ffffff10;border:1px solid #ffffff80}.button.ghost:hover{background:white;color:var(--dark)}.text-link{display:inline-flex;align-items:center;gap:16px;font-size:13px;font-weight:700;border-bottom:1px solid var(--accent);padding-bottom:4px}.preview-bar{background:#0f172a;text-align:center;color:#cbd5e1;font-size:10px;letter-spacing:1px;padding:5px 12px}.header{position:sticky;top:0;background:var(--dark);z-index:20;color:white;box-shadow:0 4px 20px #0f172a12}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:82px}.brand{display:inline-flex;flex-direction:column;flex-shrink:0}.brand strong{font-weight:800;font-size:29px;letter-spacing:-.8px;color:var(--accent);line-height:1.15}.brand small{font-size:10px;font-weight:400;letter-spacing:2px;color:#d1d5db;margin-top:5px}.nav-links{display:flex;gap:23px;font-size:12px;font-weight:600}.nav .button{font-size:12px;padding:12px 17px}.menu-toggle{display:none;color:white;border:1px solid #64748b;background:transparent;padding:8px 12px;border-radius:4px}.hero{position:relative;isolation:isolate;min-height:690px;display:flex;align-items:center;background:var(--dark);color:white}.hero-image{position:absolute;inset:0;height:100%;z-index:-2;object-position:55% center}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,23,42,.88),rgba(15,23,42,.57) 43%,rgba(15,23,42,.09) 85%)}.hero-copy{padding:80px 0 110px}.hero .eyebrow{color:white;display:inline-block;background:var(--accent);padding:5px 12px;border-radius:3px;font-size:10px;margin-bottom:24px}.hero h1{font-size:clamp(46px,5.2vw,72px);max-width:810px;letter-spacing:-2.5px;line-height:1.05}.hero h1 span{display:block;color:var(--accent)}.hero p{font-size:17px;color:#f1f5f9;max-width:530px;margin:25px 0 30px}.hero-actions{display:flex;gap:15px;flex-wrap:wrap}.hero-bottom{position:absolute;bottom:25px;left:0;right:0}.hero-bottom .wrap{display:flex;justify-content:space-between;align-items:end;gap:15px;font-size:11px;color:#e2e8f0}.concept{font-size:9px;background:#0f172ab3;padding:3px 8px}.proof-strip{background:var(--accent);color:white}.proof-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);padding:21px 0;gap:18px;text-align:center;font-size:12px;font-weight:700}.proof-strip span+span{border-left:1px solid #ffffff50}.section-head{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end;margin-bottom:38px}.section-head p{max-width:480px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.intro p+p{margin-top:18px}.quick-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:23px}.feature{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.feature+.feature{margin-top:90px}.feature-media{position:relative}.feature-media img{height:590px;border-radius:10px}.feature-media figcaption{position:absolute;left:22px;bottom:22px;background:white;border-left:4px solid var(--accent);padding:13px 18px;font-size:12px;font-weight:700;border-radius:4px}.feature p{margin-top:20px}.feature ul{list-style:none;padding:0;margin:22px 0}.feature li{position:relative;padding:6px 0 6px 25px;font-size:14px;color:var(--muted)}.feature li:before{content:'✓';position:absolute;left:0;color:var(--accent);font-weight:800}.feature .text-link{margin-top:4px}.feature.reverse .feature-media{order:2}.small-note{border-left:3px solid var(--accent);background:#fff;padding:13px 17px;font-size:13px!important}.together{display:grid;grid-template-columns:180px 1fr auto;gap:35px;align-items:center;margin-top:65px;background:var(--dark);color:white;border-radius:10px;overflow:hidden;padding:28px}.together img{height:180px;border-radius:7px}.together h3{font-size:27px}.together p{color:#cbd5e1;margin-top:10px;font-size:14px}.together .eyebrow{margin-bottom:9px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:32px 22px}.project a{display:block;position:relative;overflow:hidden;border-radius:8px;background:var(--light)}.project img{height:285px;transition:transform .25s}.project a:hover img{transform:scale(1.035)}.photo-open{position:absolute;bottom:12px;right:12px;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;background:white;color:var(--dark)}.project figcaption{padding:16px 1px 0}.project h3{font-size:17px}.project p{font-size:12px;margin-top:8px;line-height:1.7}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{background:white;border:1px solid var(--line);border-radius:8px;padding:29px;display:flex;flex-direction:column;align-items:start}.number{font-family:Montserrat,sans-serif;color:var(--accent);font-size:13px;font-weight:700;margin-bottom:20px}.service-card p{font-size:13px;margin:17px 0 25px;flex:1}.service-card .text-link{font-size:12px}.about{background:var(--dark);color:white}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:center}.about-image{position:relative}.about-image img{height:520px;border-radius:8px}.about-image figcaption{position:absolute;bottom:20px;left:20px;right:20px;padding:12px 16px;background:#0f172acf;font-size:12px;border-left:3px solid var(--accent)}.about p{color:#cbd5e1;margin-top:22px}.signature{border-top:1px solid #475569;margin-top:25px;padding-top:22px;font-family:Montserrat,sans-serif}.signature strong{font-size:23px;font-weight:800;color:white}.signature small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#cbd5e1}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:50px;border-top:1px solid #475569;padding-top:34px}.trust-grid strong{display:block;font-family:Montserrat,sans-serif;font-size:22px;font-weight:800;color:white}.trust-grid span{display:block;font-size:12px;color:#cbd5e1;margin-top:5px}.values-head{max-width:650px;margin-bottom:35px}.values-head p{margin-top:20px}.values{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.values article{border-top:3px solid var(--accent);padding-top:24px}.values h3{font-size:17px}.values p{font-size:13px;margin-top:15px}.commercial{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;background:var(--light);border:1px solid var(--line);padding:42px;border-radius:10px;margin-top:58px}.commercial h2{font-size:33px}.commercial p{margin-top:20px;font-size:14px}.client-list{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.client-list span{font-family:Montserrat,sans-serif;font-size:14px;font-weight:700;padding:9px 14px;border:1px solid #cbd5e1;border-radius:4px;background:white}.capabilities{display:grid;grid-template-columns:1fr 1fr;gap:16px}.capabilities div{background:white;border-radius:6px;padding:22px;border:1px solid var(--line)}.capabilities strong{display:block;font-size:15px;line-height:1.4}.capabilities p{font-size:12px;margin-top:8px}.local-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.local-grid p{margin-top:20px}.towns{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.towns span{background:white;border:1px solid var(--line);padding:9px 15px;font-weight:600;font-size:13px;border-radius:4px}.steps{display:grid;gap:22px}.step{display:grid;grid-template-columns:42px 1fr;gap:18px}.step b{font-family:Montserrat,sans-serif;color:var(--accent);font-size:23px}.step h3{font-size:16px}.step p{margin:7px 0 0;font-size:13px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-intro p{margin-top:23px}.faq details{border-bottom:1px solid var(--line);padding:19px 0}.faq details:first-child{padding-top:0}.faq summary{display:flex;justify-content:space-between;align-items:center;gap:22px;font-weight:600;font-size:14px;cursor:pointer;list-style:none;line-height:1.6}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';color:var(--accent);font-size:24px}.faq details[open] summary:after{content:'−'}.faq details p{font-size:13px;margin-top:15px}.contact{background:var(--dark);color:white}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:start}.contact h2{font-size:clamp(34px,4vw,52px)}.contact-copy p{color:#cbd5e1;margin-top:24px;max-width:460px}.contact-info{margin-top:32px}.contact-info a{display:block;width:fit-content;margin:12px 0}.phone{font-family:Montserrat,sans-serif;font-size:28px;font-weight:700}.email{font-size:14px;border-bottom:1px solid #64748b}.contact-note{font-size:12px!important}.contact-form{background:white;color:var(--dark);border-radius:9px;padding:32px}.form-title{font-family:Montserrat,sans-serif;font-size:22px;font-weight:700;line-height:1.4}.demo-note{font-size:11px;color:var(--muted);margin:8px 0 22px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-form label{display:block;font-size:11px;font-weight:700;margin-bottom:15px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;min-width:0;border:1px solid #cbd5e1;border-radius:4px;padding:10px;background:var(--light);font-size:13px;color:var(--dark);margin-top:6px}.contact-form textarea{resize:vertical;min-height:92px}.contact-form .button{width:100%}#form-status{font-size:12px;margin-top:14px}#form-status:empty{display:none}.footer{background:#0f172a;color:#cbd5e1;padding:40px 0}.footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer p{color:#94a3b8;font-size:11px}.footer-links{display:flex;gap:20px;font-size:12px}.skip-link{position:fixed;top:-100px;left:15px;padding:12px;background:white;z-index:100}.skip-link:focus{top:10px}@media(max-width:1100px){.wrap{width:calc(100% - 48px)}.nav-links{gap:16px;font-size:11px}.nav .button{display:none}.feature,.about-grid,.intro,.contact-grid{gap:40px}.gallery{grid-template-columns:repeat(4,1fr);gap:25px 16px}.project img{height:240px}.together{grid-template-columns:130px 1fr}.together img{height:150px;grid-row:span 2}.together .button{justify-self:start}.commercial{gap:35px;padding:30px}.section-head{gap:40px}.values{gap:22px}}@media(max-width:760px){html{scroll-padding-top:95px}.wrap{width:calc(100% - 40px)}.section{padding:60px 0}.preview-bar{font-size:8px;letter-spacing:.3px}.nav{min-height:76px}.brand strong{font-size:26px}.brand small{font-size:9px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;left:0;right:0;top:76px;background:var(--dark);border-top:1px solid #475569;padding:14px 20px;flex-direction:column;gap:0;font-size:14px;box-shadow:0 12px 20px #0f172a35}.nav-links.open{display:flex}.nav-links a{padding:11px 5px}.hero{min-height:690px}.hero-copy{padding:62px 0 110px}.hero h1{font-size:46px;letter-spacing:-1.8px;line-height:1.08}.hero .eyebrow{font-size:8px;letter-spacing:1px;padding:5px 8px;max-width:100%}.hero p{font-size:15px;max-width:340px;margin:25px 0}.hero-image{object-position:62% center}.hero:after{background:linear-gradient(90deg,#0f172ae6,#0f172a73),linear-gradient(0deg,#0f172a99,transparent)}.hero-actions{gap:12px}.hero-actions .button{font-size:12px;padding:13px 17px}.hero-bottom .wrap{flex-direction:column;align-items:start;gap:8px;font-size:10px}.proof-strip .wrap{grid-template-columns:1fr 1fr;gap:13px 10px;font-size:10px;padding:20px 0}.proof-strip span+span{border:0}.proof-strip span:nth-child(2n){border-left:1px solid #ffffff50}.intro,.section-head,.feature,.about-grid,.local-grid,.faq,.contact-grid{grid-template-columns:1fr;gap:30px}.intro h2{font-size:32px}.section-head{margin-bottom:30px}.feature-media img{height:410px}.feature.reverse .feature-media{order:0}.feature+.feature{margin-top:60px}.feature p{font-size:14px}.feature li{font-size:13px}.feature h2{font-size:33px}.together{grid-template-columns:80px 1fr;gap:18px;padding:22px;margin-top:45px}.together img{height:100px;grid-row:auto;align-self:start}.together h3{font-size:22px}.together p{font-size:13px}.together .eyebrow{font-size:8px}.together .button{grid-column:1/-1;width:100%}.gallery{grid-template-columns:1fr 1fr;gap:27px 15px}.project img{height:230px}.project h3{font-size:15px}.project p{font-size:11px}.service-grid{grid-template-columns:1fr;gap:15px}.service-card{padding:25px}.service-card h3{font-size:21px}.number{margin-bottom:13px}.about-image img{height:360px}.about p{font-size:14px}.trust-grid{grid-template-columns:1fr 1fr;gap:25px;margin-top:35px}.trust-grid strong{font-size:20px}.trust-grid span{font-size:11px}.values{grid-template-columns:1fr 1fr;gap:28px 22px}.values h3{font-size:16px}.values p{font-size:12px}.commercial{grid-template-columns:1fr;padding:24px;gap:28px;margin-top:40px}.commercial h2{font-size:29px}.capabilities{gap:10px}.capabilities div{padding:16px}.capabilities strong{font-size:13px}.local-grid{gap:37px}.faq{gap:34px}.faq summary{font-size:13px}.contact-form{padding:24px}.phone{font-size:25px}.email{font-size:13px}.footer-grid{align-items:start;flex-direction:column}.footer-links{flex-wrap:wrap}.footer p{font-size:10px}}@media(max-width:370px){.hero h1{font-size:41px}.gallery{gap:22px 12px}.project img{height:205px}.form-row{grid-template-columns:1fr;gap:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.button svg,.quick-contact svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.button.whatsapp{background:#087d3e;color:#fff;gap:10px}.button.whatsapp:hover{background:#05632f}.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.contact-actions .button{font-size:13px;padding:13px 18px;gap:10px}.social-links{display:flex;gap:24px;font-size:13px;font-weight:700;margin-top:25px}.social-links a{border-bottom:1px solid #64748b}.quick-contact{position:fixed;bottom:20px;right:22px;z-index:30;display:flex;box-shadow:0 6px 25px #0f172a30;border-radius:8px;overflow:hidden}.quick-contact a{display:flex;align-items:center;justify-content:center;gap:9px;padding:13px 17px;font-size:12px;font-weight:700;color:white}.quick-call{background:var(--dark)}.quick-whatsapp{background:#087d3e}.quick-contact a:hover{filter:brightness(1.12)}.footer{padding-bottom:85px}.footer-grid{flex-wrap:wrap}.footer-links{flex-wrap:wrap;gap:15px}.project figcaption .detail-photo-link{display:inline-block;border-radius:0;background:none;font-size:11px;color:var(--accent);margin-top:8px}.build-detail{background:#fff}.build-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.build-grid img{height:380px;border-radius:8px}.build-grid figcaption{padding-top:20px}.build-grid h3{font-size:18px}.build-grid p{font-size:13px;margin-top:8px}.about-image img{object-position:center 64%}.rating-summary{text-align:right}.rating-summary strong{font-family:Montserrat,sans-serif;font-size:48px;font-weight:800;line-height:1.2}.rating-summary strong span{font-size:18px;color:var(--muted);font-weight:600}.rating-summary p{font-size:12px}.stars{color:#b66a00;letter-spacing:2px;font-size:20px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.review-card{background:white;border:1px solid var(--line);padding:27px;border-radius:8px;display:flex;flex-direction:column}.review-source{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:10px;color:var(--muted)}.review-source .stars{font-size:14px;letter-spacing:1px}.review-card blockquote{font-family:Montserrat,sans-serif;font-size:20px;font-weight:600;line-height:1.55;margin:25px 0;flex:1}.review-card figcaption{display:flex;flex-direction:column;font-size:13px;gap:7px}.review-card figcaption a{font-size:11px;color:var(--muted);width:fit-content;border-bottom:1px solid var(--line)}.review-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}.review-footer p{font-size:11px}.hero-actions{max-width:740px}.hero-actions .button{font-size:13px;padding:14px 18px;gap:10px}@media(max-width:1100px){.nav-links{gap:14px}.review-source{align-items:start;flex-direction:column}.review-card{padding:22px}.build-grid img{height:310px}}@media(max-width:760px){html{scroll-padding-bottom:85px}.quick-contact{bottom:0;left:0;right:0;border-radius:0;padding:8px 10px max(8px,env(safe-area-inset-bottom));gap:8px;background:white;border-top:1px solid var(--line);box-shadow:0 -4px 20px #0f172a16}.quick-contact a{flex:1;border-radius:5px;font-size:13px;padding:12px 10px}.footer{padding-bottom:105px}.hero-actions{gap:10px}.hero-actions .button{font-size:11px;padding:12px 15px}.hero-copy{padding-bottom:125px}.hero-bottom{bottom:25px}.hero-bottom .wrap{max-width:100%;font-size:9px}.review-grid{grid-template-columns:1fr;gap:16px}.review-source{flex-direction:row;align-items:center}.review-card blockquote{font-size:20px}.rating-summary{text-align:left}.rating-summary strong{font-size:40px}.review-footer{flex-direction:column;align-items:start}.build-grid{grid-template-columns:1fr;gap:28px}.build-grid img{height:360px}.build-grid h3{font-size:18px}.contact-actions{gap:10px}.contact-actions .button{font-size:12px;padding:12px 14px}.contact-info .email{overflow-wrap:anywhere}.social-links{gap:20px}.footer-links{font-size:11px}}

/* Real project photographs give the page room to breathe. */
.photo-panel{position:relative;isolation:isolate;overflow:hidden;background:var(--dark);color:white}
.photo-panel::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,23,42,.91),rgba(15,23,42,.64) 52%,rgba(15,23,42,.12))}
.photo-panel .panel-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0;z-index:-2}
.together.photo-panel{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;min-height:400px;padding:46px}
.together.photo-panel>div{max-width:510px}.together.photo-panel h3{font-size:36px}.together.photo-panel p{color:#fff;max-width:360px}.together.photo-panel .button{flex-shrink:0}
.values-head.photo-panel{max-width:none;border-radius:10px;padding:55px;min-height:350px;display:flex;flex-direction:column;justify-content:center;margin-bottom:40px}
.values-head.photo-panel h2{max-width:650px}.values-head.photo-panel p{max-width:470px;color:#fff}.values-head.photo-panel .eyebrow{color:#ff8aa1}.values-head .panel-photo{object-position:center 40%}
.contact{position:relative;isolation:isolate;overflow:hidden}.contact-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.contact::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,42,.93),rgba(15,23,42,.75));z-index:-1}.contact-copy p{color:#f1f5f9}
@media(max-width:760px){.together.photo-panel{min-height:380px;padding:28px;display:flex;flex-direction:column;align-items:start;justify-content:end;gap:22px}.together.photo-panel h3{font-size:29px}.values-head.photo-panel{padding:32px 25px;min-height:320px}.values-head.photo-panel h2{font-size:33px}.photo-panel::after{background:linear-gradient(90deg,rgba(15,23,42,.87),rgba(15,23,42,.48))}.contact::before{background:rgba(15,23,42,.86)}}

/* Production pages share the approved brand. */
body{overflow-wrap:break-word}.button,.text-link,.footer-links a,.nav-links a{min-height:44px}.text-link{align-items:center}.nav-links a{display:flex;align-items:center}.footer-links a{display:inline-flex;align-items:center}.eyebrow,.number{color:#b92041}.hero .eyebrow{background:#b92041}.button{background:#e11d48}.button:hover{background:#ab1735}.hero h1 span,.brand strong{color:var(--accent)}.proof-strip{background:#b92041}.about .eyebrow,.contact .eyebrow,.together .eyebrow{color:#ff8aa1}.page-hero{padding:65px 0;background:var(--light)}.page-hero h1{font-size:clamp(35px,4.2vw,56px);max-width:800px}.page-hero p{margin-top:20px;max-width:740px}.page-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center}.page-hero-grid img{height:420px;border-radius:10px}.breadcrumbs{display:flex;gap:9px;flex-wrap:wrap;font-size:12px;margin-bottom:24px;color:var(--muted)}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.page-content{max-width:850px}.page-content h2{font-size:30px;margin:40px 0 20px}.page-content h2:first-child{margin-top:0}.page-content p+p{margin-top:18px}.page-content ul{padding-left:22px;color:var(--muted);font-size:15px}.page-content li{margin:10px 0}.service-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(230px,.8fr);gap:75px;align-items:start}.service-aside{padding:27px;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:6px;background:var(--light)}.service-aside p{font-size:13px;margin:15px 0}.service-aside ul{font-size:13px;padding-left:18px}.service-aside li{margin-bottom:10px}.service-aside .button{margin-top:15px;width:100%;font-size:12px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}.related-card{border:1px solid var(--line);border-radius:8px;padding:24px;background:white}.related-card h3{font-size:19px}.related-card p{font-size:13px;margin:15px 0}.service-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.service-photos img{height:300px;border-radius:8px}.service-photos figcaption{font-size:12px;margin-top:12px;color:var(--muted)}.service-area-line{font-size:13px;margin-top:25px!important}.cta-band{background:var(--dark);color:white;padding:50px 0}.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:35px}.cta-band h2{font-size:32px}.cta-band p{color:#cbd5e1;margin-top:15px;max-width:700px}.cta-band .button{flex-shrink:0}.page-faq{padding-top:50px}.form-note{font-size:11px;margin:8px 0 20px}.form-note a{text-decoration:underline}.form-error{color:#9f1239}.footer-legal{display:flex;gap:18px;flex-wrap:wrap;font-size:11px;margin-top:20px}.footer-legal a{color:#cbd5e1;text-decoration:underline;min-height:28px}.cookie-panel{position:fixed;left:20px;bottom:85px;z-index:50;max-width:440px;width:calc(100% - 40px);background:#fff;padding:24px;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 8px 40px #0f172a35}.cookie-panel[hidden]{display:none}.cookie-panel p{font-size:13px}.cookie-panel h2{font-size:22px;margin-bottom:12px}.cookie-actions{display:flex;gap:10px;margin-top:18px}.cookie-actions button{flex:1;padding:12px;border-radius:5px;border:1px solid var(--dark);background:var(--dark);color:#fff;cursor:pointer;font-size:12px;font-weight:700}.cookie-actions button:first-child{background:#fff;color:var(--dark)}.cookie-panel a{font-size:12px;text-decoration:underline}.cookie-settings{background:none;color:inherit;border:0;text-decoration:underline;font:inherit;cursor:pointer;padding:0;min-height:28px}.photo-note{font-size:12px;margin-top:20px}.section-jump{display:flex;gap:16px;flex-wrap:wrap;margin-top:24px}.section-jump a{text-decoration:underline;font-size:13px}.nav-links a[aria-current=page]{color:#ff8aa1}.page-hero .button{margin-top:24px}.footer .brand strong{color:var(--accent)}.service-intro-photo{position:relative}.service-intro-photo figcaption{font-size:11px;margin-top:10px}.stars{color:#966000}.review-source,.project p,.review-footer p{color:#475569}.project figcaption .detail-photo-link{color:#a91636}.build-detail+.light{border-top:1px solid var(--line)}.privacy-content h2{font-size:25px}.thanks{min-height:50vh;padding:90px 0}.thanks p{margin:22px 0;max-width:650px}.error-main{min-height:50vh}.service-index{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-index a{display:block;border:1px solid var(--line);border-radius:8px;padding:22px}.service-index h3{margin-bottom:14px}.service-index p{font-size:13px}.gallery-project-links{display:flex;flex-wrap:wrap;gap:18px;margin:25px 0 0}.gallery-project-links a{text-decoration:underline;font-size:13px}.form-status{margin-top:15px;font-size:13px}.form-status:empty{display:none}.business-facts{font-size:14px;display:grid;gap:12px;margin-top:25px}.footer{scroll-margin-bottom:70px}@media(max-width:760px){.page-hero{padding:40px 0}.page-hero-grid,.service-layout{grid-template-columns:1fr;gap:30px}.page-hero-grid img{height:300px}.service-aside{order:2}.related-grid,.service-index{grid-template-columns:1fr}.service-photos{grid-template-columns:1fr 1fr;gap:15px}.service-photos img{height:235px}.service-photos figure:last-child:nth-child(odd){grid-column:1/-1}.cta-band .wrap{flex-direction:column;align-items:start}.page-content h2{font-size:26px}.cookie-panel{bottom:80px;padding:20px}.hero{min-height:720px}.hero h1{font-size:43px}.hero .eyebrow{font-size:8px}.contact-actions .button,.hero-actions .button{min-height:46px}.page-hero h1{font-size:36px}.review-card blockquote{font-size:19px}}

.guide-checklist{padding:22px;border-left:4px solid var(--accent);background:var(--light);margin-top:20px}.guide-checklist p{line-height:2.1}.page-content ol{padding-left:24px;color:var(--muted);font-size:15px}.page-content a:not(.button){text-decoration:underline;text-underline-offset:3px}.guide-card-image{height:200px;border-radius:6px;margin-bottom:22px}.guide-aside a{display:block;font-size:13px;margin:14px 0;text-decoration:underline}.guide-date{font-size:12px;margin-bottom:24px}.guide-card h2{font-size:19px}

/* Homepage proportions; detailed service and gallery pages keep their layouts. */
.home-page .section{padding:clamp(32px,5svh,52px) 0}
.home-page main h2{font-size:clamp(28px,3vw,40px);line-height:1.14}
.home-page .eyebrow{margin-bottom:12px}
.home-page .section-head{gap:40px;margin-bottom:24px}
.home-page .hero{min-height:0;min-height:calc(100svh - 82px);max-height:none}
.home-page .hero-copy{padding:44px 0 82px}
.home-page .hero h1{font-size:clamp(40px,4.6vw,64px);max-width:780px}
.home-page .hero p{margin:20px 0 24px;max-width:490px;font-size:16px}
.home-page .hero .eyebrow{margin-bottom:20px}
.home-page .intro{gap:50px;align-items:center}
.home-page .quick-links{margin-top:15px;gap:8px 22px}
.home-page .feature{gap:50px}
.home-page .feature-media img{height:clamp(280px,57svh,460px)}
.home-page .feature p{margin-top:16px}
.home-page .feature ul{margin:16px 0}
.home-page .feature li{padding-top:4px;padding-bottom:4px}
.home-page .feature-media figcaption{left:16px;bottom:16px;padding:10px 13px}
.home-page .together.photo-panel{margin:0;min-height:clamp(250px,43svh,360px);padding:32px}
.home-page .together.photo-panel h3{font-size:30px}
.home-page .gallery{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 54px)/4);grid-template-columns:none;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:2px;padding:4px 2px 16px;touch-action:auto}
.home-page .project{min-width:0;scroll-snap-align:start}
.home-page .project img{height:clamp(210px,35svh,280px)}
.home-page .project figcaption{padding-top:12px}
.home-page .project h3{font-size:16px}
.home-page .gallery-hint{font-size:12px;margin:-8px 0 12px}
.home-page .gallery-project-links{margin-top:12px;gap:8px 20px}
.home-page .gallery-project-links a{display:inline-flex;align-items:center;min-height:44px}
.home-page .build-grid img{height:clamp(190px,31svh,270px)}
.home-page .build-grid figcaption{padding-top:14px}
.home-page .service-grid{gap:14px}
.home-page .service-photo-tile{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(175px,25svh,210px);padding:22px;justify-content:flex-end;background:var(--dark);border:0;color:#fff}
.home-page .service-photo-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(15,23,42,.1) 15%,rgba(15,23,42,.28) 40%,rgba(15,23,42,.9) 100%)}
.home-page .service-card-photo{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;z-index:-2;transition:transform .3s ease}
.home-page .service-photo-tile h3{font-size:20px;color:#fff;line-height:1.25;max-width:95%;text-shadow:0 1px 5px #0f172a80}
.home-page .service-photo-tile:hover,.home-page .service-photo-tile:focus-visible{color:#fff}
.home-page .service-photo-tile:hover .service-card-photo,.home-page .service-photo-tile:focus-visible .service-card-photo{transform:scale(1.035)}
.home-page .service-card-arrow{position:absolute;right:14px;top:14px;width:32px;height:32px;display:grid;place-items:center;background:#1e293bcc;border:1px solid #ffffff80;border-radius:50%}
.home-page .service-card-arrow svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-page .service-photo-note{position:absolute;left:14px;top:14px;padding:3px 6px;border-radius:3px;background:#1e293bcc;color:#fff;font-size:11px;line-height:1.4}
.home-page .tile-joinery .service-card-photo{object-position:center 60%}
.home-page .tile-media-walls .service-card-photo{object-position:56% 35%}
.home-page .tile-extensions .service-card-photo{object-position:center 45%}
.home-page .tile-kitchens .service-card-photo{object-position:center 55%}
.home-page .tile-renovations .service-card-photo{object-position:center 55%}
.home-page .tile-commercial .service-card-photo{object-position:50% 85%}
.home-page .about-grid{grid-template-columns:minmax(210px,.65fr) minmax(0,1.35fr);gap:48px;max-width:1000px;margin-inline:auto}
.home-page .about-image{width:min(100%,280px);justify-self:center}
.home-page .about-image img{height:auto;aspect-ratio:4/5;object-position:center 80%;border-radius:8px}
.home-page .about-image figcaption{position:static;border:0;background:transparent;padding:10px 0 0;color:#cbd5e1;font-size:11px;line-height:1.5}
.home-page .about p{margin-top:16px}
.home-page .about .text-link{margin-top:12px}
.home-page .signature{padding-top:14px;margin-top:16px}
.home-page .trust-grid{margin-top:24px;padding-top:22px;gap:20px}
.home-page .trust-grid strong{font-size:19px}
.home-page .values-head.photo-panel{min-height:230px;padding:32px;margin-bottom:24px}
.home-page .values article{padding-top:16px}
.home-page .values p{margin-top:10px}
.home-page .commercial{margin-top:0;padding:28px;gap:40px}
.home-page .commercial p{margin-top:16px}
.home-page .client-list{margin:16px 0}
.home-page .capabilities div{padding:18px}
.home-page .local-grid{gap:50px}
.home-page .local-grid p{margin-top:15px}
.home-page .towns{gap:8px;margin-top:18px}
.home-page .towns span{padding:5px 10px;font-size:12px}
.home-page .step p{margin-top:6px}
.home-page .review-card{padding:22px}
.home-page .review-card blockquote{font-size:18px;margin:18px 0}
.home-page .review-footer{margin-top:16px}
.home-page .faq{gap:50px}
.home-page .faq-intro p{margin-top:16px}
.home-page .faq-intro .text-link{margin-top:12px}
.home-page .faq details{padding:15px 0}
.home-page .contact-grid{gap:50px;align-items:center}
.home-page .contact-copy p{margin-top:16px}
.home-page .contact-info{margin-top:20px}
.home-page .contact-actions,.home-page .social-links{margin-top:20px}
.home-page .contact-form{padding:24px}
.home-page .contact-form label{margin:0 0 12px!important}
.home-page .contact-form textarea{min-height:80px}
.home-page .contact-form .form-note{margin-bottom:16px}
@media(max-width:760px){
 .home-page .wrap{width:calc(100% - 36px)}
 .home-page .hero{min-height:calc(100svh - 142px)}
 .home-page .hero-copy{padding:36px 0 88px}
 .home-page .hero h1{font-size:clamp(35px,9.5vw,47px);letter-spacing:-1.5px;line-height:1.08}
 .home-page .hero p{font-size:15px;margin:18px 0 20px;max-width:330px}
 .home-page .hero .eyebrow{font-size:8px;letter-spacing:.7px;margin-bottom:18px}
 .home-page .hero-actions{gap:8px}
 .home-page .hero-actions .button{font-size:12px;padding:11px 12px}
 .home-page .hero-actions .button.ghost{background:transparent;color:#fff;border:0;padding:5px 0;flex-basis:100%;justify-content:start;min-height:36px}
 .home-page .hero-bottom{bottom:20px}
 .home-page .section{padding:32px 0}
 .home-page .section-head,.home-page .intro,.home-page .feature,.home-page .about-grid,.home-page .local-grid,.home-page .faq,.home-page .contact-grid{gap:20px}
 .home-page .section-head{margin-bottom:20px}
 .home-page .feature-media img{height:clamp(190px,27svh,250px)}
 .home-page .feature h2{font-size:29px}
 .home-page .feature-media figcaption{font-size:10px;padding:7px 10px;left:12px;bottom:12px}
 .home-page .feature p{margin-top:12px}
 .home-page .feature ul{margin:12px 0}
 .home-page .feature .quick-links{margin-top:8px;gap:2px 16px}
 .home-page .feature .text-link{font-size:12px}
 .home-page .together.photo-panel{min-height:310px;padding:24px;gap:18px}
 .home-page .together.photo-panel h3{font-size:28px}
 .home-page .gallery{grid-auto-columns:78%;gap:14px}
 .home-page .project img{height:280px}
 .home-page .gallery-project-links a{font-size:12px}
 .home-page .build-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 .home-page .build-grid img{height:150px}
 .home-page .build-grid h3{font-size:13px;line-height:1.4}
 .home-page .build-grid p{display:none}
 .home-page .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .home-page .service-photo-tile{min-height:156px;padding:14px}
 .home-page .service-photo-note{left:10px;top:10px;font-size:10px}
 .home-page .tile-joinery .service-card-photo{object-position:center 55%}
 .home-page .tile-media-walls .service-card-photo{object-position:56% 40%}
 .home-page .tile-extensions .service-card-photo{object-position:center 50%}
 .home-page .service-photo-tile h3{font-size:16px;max-width:100%}
 .home-page .service-card-arrow{width:28px;height:28px;right:10px;top:10px}
 .home-page #about{padding:28px 0}
 .home-page .about-grid{grid-template-columns:minmax(96px,.45fr) minmax(0,1fr);align-items:start}
 .home-page .about-image img{height:auto;aspect-ratio:563/1000;object-position:center}
 .home-page .about-image figcaption{font-size:10px;padding:8px 0 0}
 .home-page .about h2{font-size:28px}
 .home-page .about p{margin-top:12px}
 .home-page .signature{display:flex;flex-wrap:wrap;align-items:center;gap:5px 16px;padding-top:12px;margin-top:12px}
 .home-page .signature strong{font-size:20px}
 .home-page .signature small{font-size:9px}
 .home-page .trust-grid{gap:14px;margin-top:20px;padding-top:18px}
 .home-page .trust-grid strong{font-size:17px}
 .home-page .trust-grid span{margin-top:3px}
 .home-page .values-head.photo-panel{padding:24px;min-height:220px}
 .home-page .values-head.photo-panel h2{font-size:31px}
 .home-page .values{gap:18px}
 .home-page .commercial{padding:22px;gap:20px}
 .home-page .commercial h2{font-size:29px}
 .home-page .commercial .eyebrow{font-size:9px}
 .home-page .capabilities{gap:10px}
 .home-page .capabilities div{padding:14px}
 .home-page .capabilities p{display:none}
 .home-page .steps{gap:16px}
 .home-page .step{gap:12px;grid-template-columns:32px 1fr}
 .home-page .review-grid{gap:12px;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:88%;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 2px 12px;touch-action:auto}
 .home-page .review-card{scroll-snap-align:start}
 .home-page .review-card{padding:18px}
 .home-page .review-card blockquote{font-size:16px;line-height:1.5;margin:12px 0}
 .home-page .review-card figcaption{flex-direction:row;justify-content:space-between;gap:12px}
 .home-page .reviews .section-head{grid-template-columns:1fr auto;gap:16px;align-items:center}
 .home-page .reviews h2{font-size:26px}
 .home-page .rating-summary strong{font-size:32px}
 .home-page .rating-summary p{max-width:110px;font-size:10px}
 .home-page .rating-summary .stars{font-size:16px}
 .home-page .review-footer{gap:8px}
 .home-page .contact-form{padding:20px}
 .home-page .contact-form input,.home-page .contact-form select,.home-page .contact-form textarea{font-size:16px;padding:9px}
}
@media(max-width:370px){.home-page .service-card{padding:12px}.home-page .service-card h3{font-size:15px}.home-page .form-row{grid-template-columns:1fr}.home-page .reviews .section-head{grid-template-columns:1fr}.home-page .hero .eyebrow{font-size:7px}}
@media(prefers-reduced-motion:reduce){.home-page .service-photo-tile .service-card-photo{transition:none!important;transform:none!important}}

/* Clear chapter boundaries, with one subject per section. */
.home-page main>section:not(.hero){border-top:1px solid #dce2ea}
.home-page .build-detail{background:#eef2f6}
.home-page #services{background:#fff}
.home-page .section-title::after{content:"";display:block;width:48px;height:3px;background:var(--accent);margin-top:15px;transform-origin:left}
.home-page .coverage-section{background:#fff}
.home-page .coverage-grid{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:60px}
.home-page .coverage-grid p{max-width:550px}
.home-page .coverage-grid .text-link{margin-top:12px}
.home-page .process-section{background:#fff3f5;border-top-color:#f6c8d1!important}
.home-page .process-heading{margin-bottom:28px}
.home-page .project-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.home-page .project-steps li{display:grid;grid-template-columns:38px 1fr;gap:12px}
.home-page .project-steps li>span{font-family:Montserrat,sans-serif;font-weight:700;font-size:20px;color:#b92041}
.home-page .project-steps h3{font-size:18px}
.home-page .project-steps p{font-size:14px;margin-top:7px;max-width:270px}
.home-page #reviews{background:var(--dark);color:#fff;border-top:0}
.home-page #reviews .eyebrow{color:#ff8aa1}
.home-page #reviews .rating-summary strong{font-size:36px}
.home-page #reviews .rating-summary p,.home-page #reviews .rating-summary strong span,.home-page #reviews .review-footer p{color:#cbd5e1}
.home-page #reviews .stars{color:#fbbc04;font-size:21px;letter-spacing:1px;line-height:1.3}
.home-page #reviews .google-mark{width:24px;height:24px;flex-shrink:0}
.home-page #reviews .google-review-brand{display:flex;align-items:center;justify-content:flex-end;gap:8px;font-size:15px;font-weight:600;margin-bottom:8px}
.home-page #reviews .google-review-brand .google-mark{background:#fff;border-radius:50%;padding:4px;width:30px;height:30px}
.home-page #reviews .review-card{display:flex;flex-direction:column;gap:16px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;color:#202124;padding:24px;box-shadow:0 3px 12px #0f172a18}
.home-page #reviews .review-card figcaption{display:flex;flex-direction:row;align-items:center;gap:12px;color:#202124;margin:0}
.home-page #reviews .review-avatar{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:50%;color:#fff;font-family:Arial,sans-serif;font-size:20px;font-weight:500}
.home-page #reviews .avatar-teal{background:#00796b}
.home-page #reviews .avatar-purple{background:#7b1fa2}
.home-page #reviews .avatar-blue{background:#3367d6}
.home-page #reviews .review-author{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.4}
.home-page #reviews .review-author strong{font-size:14px;font-weight:700}
.home-page #reviews .review-author>span{font-size:12px;color:#5f6368;margin-top:3px}
.home-page #reviews .review-card blockquote{font-family:'Open Sans',sans-serif;font-size:15px;font-weight:400;line-height:1.65;margin:0;letter-spacing:0;flex:1}
.home-page #reviews .google-review-link a{font-size:12px;color:#1967d2;border-bottom:1px solid transparent;padding-bottom:2px}
.home-page #reviews .google-review-link a:hover{border-bottom-color:currentColor}
.home-page #reviews .review-footer{border-top:1px solid #475569;padding-top:18px;margin-top:26px}
.home-page #reviews .review-footer .text-link{color:#fff}
.home-page .about p strong{font-weight:700;color:#fff}
@keyframes home-title-enter{from{transform:translateY(12px);opacity:.65}to{transform:translateY(0);opacity:1}}
@keyframes home-title-line{from{transform:scaleX(.2)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:no-preference){
 .home-page .section-title.title-entered{animation:home-title-enter .65s cubic-bezier(.2,.65,.3,1) both}
 .home-page .section-title.title-entered::after{animation:home-title-line .8s cubic-bezier(.2,.65,.3,1) both}
}
@media(prefers-reduced-motion:reduce){.home-page .section-title,.home-page .section-title::after{animation:none!important;transform:none!important;opacity:1!important}}
@media(max-width:760px){
 .home-page .coverage-grid{grid-template-columns:1fr;gap:18px}
 .home-page .project-steps{grid-template-columns:1fr;gap:22px}
 .home-page .project-steps p{max-width:none}
 .home-page .project-steps h3{font-size:17px}
 .home-page .process-heading{margin-bottom:24px}
 .home-page .about h2{font-size:26px}
 .home-page .about .eyebrow{font-size:9px;letter-spacing:1px}
 .home-page .about p{font-size:13px;line-height:1.7}
 .home-page .about .text-link{font-size:12px}
 .home-page #reviews .review-card{padding:20px;gap:14px}
 .home-page #reviews .review-card blockquote{font-size:14px}
 .home-page #reviews .section-head{grid-template-columns:1fr;gap:20px}
 .home-page #reviews .rating-summary{text-align:left}
 .home-page #reviews .rating-summary>a{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center}
 .home-page #reviews .google-review-brand{grid-column:1/-1;justify-content:flex-start;margin-bottom:2px}
 .home-page #reviews .rating-summary p{grid-column:1/-1;max-width:none}
 .home-page #reviews .rating-summary .stars{justify-self:start}
 .home-page #reviews .review-card figcaption{justify-content:initial}
 .home-page #reviews .review-footer{margin-top:18px;padding-top:14px}
 .home-page #reviews .rating-summary strong{font-size:30px}
}

.area-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.area-buttons a{display:flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid #cbd5e1;background:white;border-radius:5px;font-size:13px}.area-content .page-content figure{margin-top:30px}.area-content .page-content figure img{max-height:420px;border-radius:7px}.area-content figcaption{font-size:12px;margin-top:10px;color:#475569}.local-resource{margin-top:30px;padding:24px;background:#f8fafc;border-left:3px solid #f43f5e}.local-resource p{font-size:14px;margin:12px 0}.local-resource .small-note{font-size:12px}.area-hub{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}@media(max-width:760px){.area-hub{grid-template-columns:1fr}.area-content .page-content figure img{max-height:320px}}
