: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:--font-body;background-color:var(--color-bg);color:var(--color-text);line-height:1.6}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)}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}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}}#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{font-size:2.5rem;margin-bottom:.5rem}.center-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;background:#fff;padding:1rem 2rem;border-radius:2px;box-shadow:0 4px 6px #0000001a;display:none}@media(min-width:768px){#hero{flex-direction:row}.center-text{display:block}}.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:center}}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}.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)}@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}@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}.phone-link{display:block;font-size:2rem;font-weight:700;color:var(--color-accent);text-decoration:none;margin:1rem 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}.contact-info{text-align:left}}footer{background:#222;color:#888;text-align:center;padding:3rem 0;display:flex;flex-direction:column;align-items:center}.footer-logo{margin-bottom:1.5rem}.footer-logo-img{height:60px;opacity:.8;filter:grayscale(100%);transition:all .3s}.footer-logo-img:hover{opacity:1;filter:none}
