:root{--color-primary: #4a3b32;--color-secondary: #2d4a3e;--color-accent: #d98e32;--color-bg: #f4f1ea;--color-text: #2c2c2c;--color-white: #ffffff;--color-light-gray: #e0e0e0;--font-heading: "Oswald", sans-serif;--font-body: "Inter", sans-serif;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--transition-speed: .3s}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:1.6}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}h1,h2,h3{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1px}img{max-width:100%;display:block}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-sm)}.btn{display:inline-block;padding:12px 24px;border:none;cursor:pointer;font-weight:700;text-decoration:none;text-transform:uppercase;transition:background-color var(--transition-speed)}.btn-primary{background-color:var(--color-accent);color:var(--color-white)}.btn-primary:hover{background-color:#c07a20}.btn-secondary{background-color:transparent;border:2px solid var(--color-white);color:var(--color-white)}.btn-secondary:hover{background-color:var(--color-white);color:var(--color-secondary)}header{display:flex;justify-content:space-between;align-items:center;padding:1rem var(--spacing-sm);background:var(--color-bg);box-shadow:0 2px 10px #0000001a;color:var(--color-primary);position:sticky;top:0;z-index:1000}.logo-link{display:flex;align-items:center}.logo-img{height:80px;width:auto;transition:transform .3s ease}.logo-img:hover{transform:scale(1.05)}.logo-text{font-family:var(--font-heading);font-size:1.5rem;margin-left:1rem;color:var(--color-primary);text-transform:uppercase;font-weight:700;display:flex;align-items:center}nav ul{display:none;list-style:none}nav ul.active{display:flex;flex-direction:column;position:absolute;top:100%;left:0;width:100%;background:var(--color-bg);box-shadow:0 4px 6px #0000001a;padding:1rem}nav ul li{margin:.5rem 0}nav ul li a{color:var(--color-primary);text-decoration:none;font-weight:600;text-transform:uppercase;letter-spacing:.5px;position:relative;font-size:1.5rem;padding:.5rem;display:inline-block}nav ul li a:after{content:"";position:absolute;width:0;height:2px;bottom:-5px;left:0;background-color:var(--color-accent);transition:width .3s}nav ul li a:hover:after{width:100%}.cta-nav{color:var(--color-accent)!important;font-weight:700!important}#mobile-menu-btn{background:none;border:none;color:var(--color-primary);font-size:2rem;cursor:pointer}@media(min-width:768px){nav ul{display:flex;flex-direction:row;gap:2rem}nav ul.active{position:static;flex-direction:row;padding:0}#mobile-menu-btn{display:none}}#references{padding-top:6rem}#hero{display:flex;flex-direction:column;height:100vh;height:100dvh;position:relative}.split{flex:1;position:relative;display:flex;justify-content:center;align-items:center;text-align:center;overflow:hidden}.split.left{background-color:#f7e8d5;background-image:url(/assets/nova_pergola-FL8EyBXo.png);background-size:cover;background-position:center}.split.right{background-color:#2d4a3e;background-image:url(/assets/IMG_0948-D1M-UgM4.webp);background-size:cover;background-position:center}.split .overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0000004d;z-index:1}.split .content{position:relative;z-index:2;color:var(--color-white);padding:1rem}.split h1,.split h2{font-size:2.5rem;margin-bottom:.5rem}@media(min-width:768px){#hero{flex-direction:row}}.about-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);padding:var(--spacing-lg) 0}.about-img .placeholder-img{width:100%;height:300px;background-color:#ccc;display:flex;justify-content:center;align-items:center;font-weight:700;color:#555}@media(min-width:768px){.about-grid{grid-template-columns:1fr 1fr;align-items:start}}.about-text p{font-size:1.1rem;margin-bottom:1.5rem;line-height:1.6}.about-text h2{margin-bottom:1.5rem;font-size:2rem}section{padding:var(--spacing-lg) 0}.section-dark{background-color:var(--color-primary);color:var(--color-white)}.section-green{background-color:var(--color-secondary);color:var(--color-white)}.section-light{background-color:var(--color-white)}.section-title{font-size:2rem;text-align:center;margin-bottom:1rem}.section-subtitle{text-align:center;margin-bottom:var(--spacing-md);opacity:.9;font-size:1.84rem}#new .section-subtitle{font-size:2.1rem}.features-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}.feature-card{background:#ffffff0d;padding:var(--spacing-md);border:1px solid rgba(255,255,255,.1)}.feature-card h3{margin-bottom:1rem;color:var(--color-accent);font-size:1.4rem}.feature-card p{font-size:1.4rem;line-height:1.5}@media(min-width:768px){.features-grid{grid-template-columns:repeat(3,1fr)}}.renovation-content{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}.placeholder-technical{height:300px;background:#0003;border:2px dashed rgba(255,255,255,.3);display:flex;justify-content:center;align-items:center}.renovation-text ul{font-size:2.1rem;margin-top:2rem;padding-left:1.5rem;line-height:1.6}.renovation-text p{font-size:2.1rem;line-height:1.6}.renovation-text li{margin-bottom:.5rem}.renovation-visual img{max-height:400px;object-fit:cover;width:100%}@media(min-width:768px){.renovation-content{grid-template-columns:1fr 1fr;align-items:center}}.before-after-container{max-width:800px;margin:0 auto;position:relative}.ba-slider{position:relative;width:100%;height:400px;overflow:hidden}.ba-image-before,.ba-image-after{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center}.ba-image-before{background-image:url(https://placehold.co/800x400/8b4513/ffffff?text=OLD+ROOF);width:50%;border-right:2px solid var(--color-white)}.ba-image-after{background-image:url(https://placehold.co/800x400/4a3b32/ffffff?text=NEW+ROOF);z-index:-1}.ba-range{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:col-resize;z-index:10;margin:0}.ba-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;background:var(--color-white);border-radius:50%;z-index:5;pointer-events:none;display:flex;justify-content:center;align-items:center}.ba-handle:after{content:"↔";color:var(--color-primary);font-weight:700}.ba-caption{text-align:center;margin-top:1rem;font-style:italic;color:#666}.gallery-masonry{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:3rem}.gallery-item{background:var(--color-light-gray);border-radius:4px;overflow:hidden;box-shadow:0 4px 6px #0000001a;transition:transform .3s ease;aspect-ratio:4/3}.gallery-item:hover{transform:translateY(-5px)}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block}.reviews{margin-top:var(--spacing-lg);text-align:center}blockquote{font-size:1.2rem;max-width:600px;margin:0 auto}blockquote cite{display:block;margin-top:1rem;font-size:.9rem;color:var(--color-primary);font-weight:700}.contact-wrapper{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}.contact-info{text-align:center}.contact-info h2{font-size:2rem;margin-bottom:1rem}.contact-info p{font-size:1rem;line-height:normal;margin-bottom:.5rem}.contact-info a{font-size:1rem}.phone-link{display:block;font-size:2rem!important;font-weight:700;color:var(--color-accent);text-decoration:none;margin:.5rem 0}.contact-form{background:#ffffff0d;padding:var(--spacing-md)}.contact-info a:not(.phone-link){color:var(--color-white);text-decoration:underline;transition:color var(--transition-speed)}.contact-info a:not(.phone-link):hover{color:var(--color-accent)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.8rem;border:none;border-radius:4px}.form-group textarea{resize:vertical;min-height:120px}.submit-btn{width:100%}@media(min-width:768px){.contact-wrapper{grid-template-columns:1fr 1fr;text-align:left;align-items:stretch}.contact-info{text-align:left;order:2;height:100%}.contact-form{order:1;height:100%}}.contact-info{background:#ffffff0d;padding:var(--spacing-md);box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;justify-content:center}#pricing .timeline .step{font-size:1.5rem;font-weight:700;margin:1rem 0}#pricing .pricing-box p{font-size:1.5rem!important;line-height:1.4;margin-bottom:2rem}footer{background:#222;color:#888;text-align:center;padding:3rem 0;display:flex;flex-direction:column;align-items:center}.pricing-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;align-items:start;margin-top:3rem}.process-steps{display:flex;flex-direction:column;gap:2rem;margin-bottom:2.5rem}.process-step{display:flex;align-items:flex-start;gap:1.5rem}.step-number{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--color-accent);color:#fff;font-weight:700;border-radius:50%;flex-shrink:0;font-size:1.2rem;box-shadow:0 4px 6px #0000001a}.step-info h3{margin:0;font-size:1.25rem;color:var(--color-primary);margin-bottom:.25rem}.step-info p{margin:0;color:var(--color-text-light);font-size:.95rem;line-height:1.5}.pricing-highlight{background-color:#ffffff80;padding:2rem;border-left:4px solid var(--color-accent);border-radius:0 8px 8px 0}.pricing-highlight p{font-size:1.05rem;font-weight:500;margin-bottom:1.5rem;color:var(--color-text)}.pricing-visual{position:relative;border-radius:12px;overflow:hidden;box-shadow:0 20px 40px #00000026}.pricing-visual img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:3/4;transition:transform .5s ease}.pricing-visual:hover img{transform:scale(1.03)}.lightbox{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;overflow:hidden;background-color:#000000e6;align-items:center;justify-content:center}.lightbox.active{display:flex}.lightbox-content{max-width:90%;max-height:90vh;object-fit:contain;border-radius:4px;box-shadow:0 4px 15px #00000080;animation:zoomIn .3s ease}.lightbox-close{position:absolute;top:20px;right:35px;color:#fff;font-size:40px;font-weight:700;cursor:pointer;z-index:2001;transition:color .3s}.lightbox-close:hover,.lightbox-close:focus{color:var(--color-accent)}@keyframes zoomIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.gallery-item img{cursor:pointer}.image-caption{position:absolute;bottom:0;left:0;width:100%;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);color:#fff;padding:2rem 1.5rem 1rem;text-align:center}.image-caption p{margin:0;font-weight:500;font-size:.9rem;letter-spacing:.5px;text-transform:uppercase}@media(max-width:900px){.pricing-grid{grid-template-columns:1fr;gap:3rem}.pricing-visual img{aspect-ratio:16/9}.pricing-highlight{text-align:center;border-left:none;border-top:4px solid var(--color-accent);border-radius:0 0 8px 8px}}
