*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--charcoal: #1f2937;--charcoal-light: #374151;--blue: #0ea5e9;--blue-dark: #0284c7;--white: #ffffff;--gray-100: #f3f4f6;--gray-300: #d1d5db;--gray-500: #6b7280}html{scroll-behavior:smooth}body{font-family:Outfit,sans-serif;color:var(--charcoal);line-height:1.6}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.container{max-width:1100px;margin:0 auto;padding:0 24px}.header{background:var(--white);padding:20px 0;position:sticky;top:0;z-index:100;box-shadow:0 1px 0 var(--gray-300)}.header-inner{display:flex;justify-content:space-between;align-items:center}.logo{font-size:24px;font-weight:700;color:var(--charcoal);letter-spacing:-1px}.logo span{color:var(--blue)}.nav{display:none;gap:32px}.nav a{font-weight:500;color:var(--gray-500);transition:color .2s}.nav a:hover{color:var(--charcoal)}.header-cta{background:var(--blue);color:var(--white);padding:10px 20px;border-radius:6px;font-weight:600;transition:background .2s}.header-cta:hover{background:var(--blue-dark)}.hero{position:relative;background:var(--charcoal);padding:100px 0;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url(https://images.unsplash.com/photo-1449824913935-59a10b8d2000?w=1600&h=900&fit=crop) center/cover;opacity:.2}.hero-content{position:relative;z-index:1;max-width:600px}.hero-tag{display:inline-block;background:var(--blue);color:var(--white);padding:6px 14px;border-radius:50px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:20px}.hero h1{font-size:clamp(40px,6vw,64px);font-weight:700;color:var(--white);line-height:1.1;margin-bottom:20px;letter-spacing:-2px}.hero p{font-size:18px;color:var(--gray-300);margin-bottom:32px}.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:48px}.btn-primary{background:var(--blue);color:var(--white);padding:14px 28px;border-radius:6px;font-weight:600;transition:background .2s}.btn-primary:hover{background:var(--blue-dark)}.btn-secondary{border:2px solid var(--gray-500);color:var(--white);padding:12px 24px;border-radius:6px;font-weight:600;transition:border-color .2s}.btn-secondary:hover{border-color:var(--white)}.hero-stats{display:flex;gap:40px;padding-top:32px;border-top:1px solid var(--charcoal-light)}.stat strong{display:block;font-size:28px;color:var(--blue)}.stat span{font-size:13px;color:var(--gray-500)}.services{padding:80px 0;background:var(--white)}.services h2{font-size:32px;font-weight:700;margin-bottom:48px;letter-spacing:-1px}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px}.service{padding:24px 0;border-top:2px solid var(--gray-100)}.service-num{display:block;font-size:12px;color:var(--blue);font-weight:600;margin-bottom:12px}.service h3{font-size:20px;font-weight:600;margin-bottom:8px}.service p{font-size:15px;color:var(--gray-500)}.about{padding:80px 0;background:var(--gray-100)}.about-grid{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}.about-img img{border-radius:12px}.section-tag{display:inline-block;background:var(--blue);color:var(--white);padding:4px 12px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;margin-bottom:12px}.about-content h2{font-size:32px;font-weight:700;margin-bottom:16px;letter-spacing:-1px}.about-content p{font-size:16px;color:var(--gray-500);margin-bottom:24px}.about-list{list-style:none;margin-bottom:24px}.about-list li{font-size:15px;color:var(--charcoal);padding:8px 0 8px 24px;position:relative}.about-list li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:700}.link-arrow{color:var(--blue);font-weight:600;font-size:14px}.quote{padding:80px 0;background:var(--charcoal)}.quote-grid{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}.quote-content h2{font-size:32px;font-weight:700;color:var(--white);margin-bottom:12px;letter-spacing:-1px}.quote-content p{font-size:16px;color:var(--gray-500)}.quote-form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr;gap:16px}.quote-form input,.quote-form select,.quote-form textarea{padding:14px;border:none;border-radius:6px;font-size:15px;font-family:inherit}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:2px solid var(--blue)}.quote-form button{background:var(--blue);color:var(--white);padding:16px;border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.quote-form button:hover{background:var(--blue-dark)}.footer{background:var(--charcoal);padding:60px 0 0;color:var(--gray-500)}.footer-grid{display:grid;grid-template-columns:1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid var(--charcoal-light)}.footer-brand .logo{margin-bottom:12px}.footer-brand .logo,.footer-brand .logo span{color:var(--white)}.footer-links h4,.footer-contact h4{color:var(--white);font-size:14px;margin-bottom:16px}.footer-links a{display:block;font-size:14px;margin-bottom:8px;transition:color .2s}.footer-links a:hover{color:var(--white)}.footer-contact p{font-size:14px;margin-bottom:8px}.footer-bottom{padding:20px 0;text-align:center;font-size:13px}@media (min-width: 768px){.nav{display:flex}.about-grid,.quote-grid,.form-row{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:2fr 1fr 1fr}}.roofo-banner{position:fixed;bottom:0;left:0;right:0;background:#1e3a5f;padding:16px 20px;z-index:9999;box-shadow:0 -4px 20px #00000026}.roofo-banner-inner{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.roofo-brand{display:flex;align-items:center;gap:8px;color:#fff}.roofo-icon{width:20px;height:20px}.roofo-name{font-size:18px;font-weight:700}.roofo-headline{font-size:15px;color:#fff;margin:0}.roofo-features{font-size:13px;color:#ffffffb3;margin:4px 0 0}.roofo-btn{background:#fff;color:#1e3a5f;padding:10px 24px;border-radius:6px;font-size:14px;font-weight:600;text-decoration:none}@media (min-width: 768px){.roofo-banner-inner{flex-direction:row;text-align:left;gap:24px}}body{padding-bottom:100px}@media (min-width: 768px){body{padding-bottom:70px}}
