/*
Theme Name: Ultra Roof Care
Theme URI: https://example.com/ultra-roof-care
Author: Digital Business Solutions
Description: Premium responsive WordPress theme for Ultra Roof Care.
Version: 1.1.0
Text Domain: ultra-roof-care
*/
:root{--orange:#ff5a00;--orange2:#ff8500;--charcoal:#20252a;--grey:#5f666d;--light:#f5f6f7;--white:#fff;--max:1220px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--charcoal);background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.topbar{background:#20252a;color:#fff;font-size:14px}.topbar .wrap{display:flex;justify-content:space-between;padding:9px 0}.site-header{background:#fff;position:sticky;top:0;z-index:30;box-shadow:0 5px 24px #0000000d}.header-inner{height:88px;display:flex;align-items:center;gap:28px}.brand img{width:245px;display:block}.nav{margin-left:auto}.nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0;align-items:center}.nav a{font-weight:700;font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:8px;background:linear-gradient(135deg,var(--orange),var(--orange2));color:#fff;font-weight:800;box-shadow:0 8px 20px #ff65002b}.hero{min-height:680px;display:grid;align-items:center;background:linear-gradient(90deg,#15191eea 0%,#15191ebf 45%,#15191e3b 100%),url('assets/images/hero.jpg') center/cover no-repeat;color:#fff;position:relative}.hero.no-photo{background:linear-gradient(135deg,#171b20 0%,#343b42 58%,#ff5a00 160%)}.hero-content{max-width:760px;padding:90px 0}.eyebrow{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#ff8a3c;font-weight:800}.hero h1{font-size:clamp(46px,6vw,78px);line-height:1.02;margin:15px 0 22px;letter-spacing:-.04em}.hero p{font-size:20px;color:#e9ecef;max-width:650px}.hero-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}.btn.alt{background:#fff;color:#222;box-shadow:none}.trust{margin-top:-44px;position:relative;z-index:3}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:14px;box-shadow:0 18px 50px #0002;overflow:hidden}.trust-item{padding:26px;border-right:1px solid #eee}.trust-item:last-child{border:0}.trust-item strong{display:block;font-size:16px}.trust-item span{font-size:13px;color:#697078}.section{padding:90px 0}.section.grey{background:var(--light)}.section-head{max-width:720px;margin-bottom:42px}.section-head h2{font-size:clamp(34px,4vw,50px);line-height:1.08;margin:10px 0 14px;letter-spacing:-.03em}.section-head p{color:#697078;font-size:18px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:#fff;border:1px solid #e8eaec;border-radius:14px;padding:32px;transition:.25s}.card:hover{transform:translateY(-5px);box-shadow:0 18px 45px #0001}.icon{width:54px;height:54px;border-radius:12px;background:#fff1e8;color:var(--orange);display:grid;place-items:center;font-size:27px;font-weight:900}.card h3{font-size:23px;margin:18px 0 8px}.card p{color:#687078;margin:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.visual{min-height:480px;border-radius:18px;background:linear-gradient(135deg,#2c3339,#171b1f);position:relative;overflow:hidden}.visual:after{content:'ULTRA';position:absolute;right:-15px;bottom:-42px;font-size:140px;font-weight:900;color:#ffffff0b}.ticks{display:grid;gap:14px;margin-top:24px}.tick:before{content:'✓';color:#fff;background:var(--orange);width:25px;height:25px;border-radius:50%;display:inline-grid;place-items:center;margin-right:10px;font-weight:900}.cta{background:linear-gradient(120deg,#20252a,#343b42);color:#fff;border-radius:20px;padding:50px;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font-size:38px;margin:0 0 8px}.footer{background:#15191d;color:#c9ced3;padding:60px 0 20px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px}.footer h4{color:#fff}.footer ul{list-style:none;padding:0}.footer li{margin:9px 0}.copy{border-top:1px solid #ffffff14;margin-top:40px;padding-top:20px;font-size:13px}.page-hero{padding:90px 0;background:linear-gradient(135deg,#1b2025,#343b42);color:#fff}.page-hero h1{font-size:56px;margin:0}.content{padding:70px 0}.mobile-toggle{display:none;margin-left:auto;border:0;background:none;font-size:30px}.contact-form{display:grid;gap:14px}.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:15px;border:1px solid #dfe2e5;border-radius:8px;font:inherit}.contact-form textarea{min-height:150px}.contact-form button{border:0;cursor:pointer}@media(max-width:850px){.topbar .wrap{justify-content:center}.topbar .wrap span:last-child{display:none}.header-inner{height:74px}.brand img{width:185px}.mobile-toggle{display:block}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:#fff;padding:20px}.nav.open{display:block}.nav ul{display:grid;gap:14px}.header-inner>.btn{display:none}.hero{min-height:570px}.hero-content{padding:70px 0}.trust{margin-top:0}.trust-grid,.cards,.split,.footer-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid #eee}.cta{padding:35px;display:block}.cta .btn{margin-top:18px}.page-hero h1{font-size:42px}}
/* About page */
.about-hero{padding:90px 0;background:radial-gradient(circle at 85% 15%,#ff6a001f,transparent 30%),linear-gradient(135deg,#171b20,#2b3137);color:#fff;overflow:hidden}.about-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.about-hero h1{font-size:clamp(52px,7vw,82px);line-height:1;margin:14px 0 22px;letter-spacing:-.045em}.about-hero p{font-size:20px;color:#d9dde0;max-width:620px}.about-mark{background:#fff;border-radius:24px;padding:42px;transform:rotate(2deg);box-shadow:0 30px 80px #0005}.about-mark img{display:block;width:100%}.display-title{font-size:clamp(38px,4.5vw,54px);line-height:1.06;letter-spacing:-.035em;margin:12px 0 20px}.lead{font-size:20px;color:#505860}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}.about-stats div{border-top:3px solid var(--orange);padding-top:14px}.about-stats strong{display:block;font-size:27px}.about-stats span{font-size:13px;color:#6b737a}.roof-panel{min-height:500px;border-radius:20px;background:linear-gradient(145deg,#15191d,#343b42);padding:45px;display:flex;align-items:flex-end;gap:20px;position:relative;overflow:hidden}.roof-panel:before{content:'';position:absolute;width:420px;height:220px;border-top:30px solid var(--orange);border-right:30px solid var(--orange);transform:rotate(-45deg);top:75px;left:50px}.roof-panel:after{content:'ULTRA';position:absolute;font-weight:900;font-size:115px;color:#fff08;bottom:80px;left:35px}.roof-panel span{position:relative;z-index:2;color:#fff;font-size:12px;font-weight:800;letter-spacing:.16em;border-left:2px solid var(--orange);padding-left:10px}.text-link{display:inline-block;margin-top:20px;color:var(--orange);font-weight:800}.dark-section{background:#191e23;color:#fff}.dark-section p{color:#bfc5ca}.why-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.why-list{border-top:1px solid #ffffff20}.why-list>div{display:grid;grid-template-columns:70px 1fr;gap:18px;padding:23px 0;border-bottom:1px solid #ffffff20}.why-list b{color:var(--orange);font-size:14px}.why-list h3{margin:0 0 5px;font-size:22px}.why-list p{margin:0}.promise{border:1px solid #e3e6e8;border-radius:20px;padding:50px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:50px}.promise h2{font-size:40px;line-height:1.1;margin:10px 0}.promise p{color:#697078;max-width:700px}.promise-badge{width:190px;height:190px;border-radius:50%;border:8px solid var(--charcoal);outline:5px solid var(--orange);display:grid;place-content:center;text-align:center;font-size:31px;font-weight:900;line-height:1}.promise-badge span{display:block;color:var(--orange);font-size:15px;margin-top:8px;letter-spacing:.08em}@media(max-width:850px){.about-hero{padding:65px 0}.about-hero-grid,.why-grid,.promise{grid-template-columns:1fr}.about-mark{padding:25px}.about-stats{grid-template-columns:1fr}.roof-panel{min-height:360px}.promise{padding:32px}.promise-badge{width:150px;height:150px}.about-service-cards{grid-template-columns:1fr}}

/* Roof Repairs page */
.repair-hero{padding:92px 0 78px;background:linear-gradient(135deg,#111820 0%,#2d343a 62%,#f36a0a 180%);color:#fff;overflow:hidden}.repair-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}.repair-hero h1{font-size:clamp(48px,7vw,88px);line-height:.94;margin:12px 0 24px;letter-spacing:-.055em}.repair-hero p{font-size:20px;line-height:1.65;color:#d9dde0;max-width:680px}.repair-hero .eyebrow{color:#ff7417}.repair-visual{min-height:420px;position:relative;border-radius:28px;background:linear-gradient(145deg,#f4f5f6,#d8dbde);box-shadow:0 30px 70px rgba(0,0,0,.25);overflow:hidden}.repair-visual:before{content:"";position:absolute;width:115%;height:180px;left:-8%;top:80px;background:#30363b;transform:skewY(-20deg);box-shadow:0 12px 0 #ff6900}.repair-visual:after{content:"ROOF REPAIRS";position:absolute;left:34px;bottom:34px;color:#20262b;font-weight:900;letter-spacing:.18em;font-size:14px}.repair-badge{position:absolute;right:28px;bottom:26px;width:86px;height:86px;border-radius:50%;background:#ff6900;color:#fff;display:grid;place-items:center;font-size:36px;font-weight:900;box-shadow:0 14px 30px rgba(243,106,10,.28)}
.repair-strip{background:#ff6900;color:#fff}.repair-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr)}.repair-strip div div{padding:22px 18px;text-align:center;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-right:1px solid rgba(255,255,255,.3)}.repair-strip div div:last-child{border-right:0}.repair-types{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}.repair-type{padding:30px;border:1px solid #e4e6e8;border-radius:20px;background:#fff}.repair-type .num{color:#ff6900;font-weight:900;font-size:13px;letter-spacing:.14em}.repair-type h3{font-size:22px;margin:12px 0 8px}.repair-type p{color:#62686d;margin:0;line-height:1.65}.repair-checks{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}.repair-check-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.repair-check-list div{padding:17px 18px;background:#fff;border:1px solid #e5e7e9;border-radius:12px;font-weight:700}.repair-check-list div:before{content:"✓";color:#ff6900;margin-right:10px;font-weight:900}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:38px}.process-step{padding:30px;border-top:2px solid #ff6900;position:relative}.process-step b{display:block;font-size:38px;color:#ff6900;margin-bottom:12px}.process-step h3{margin:0 0 9px}.process-step p{color:#666d72;line-height:1.6;margin:0}.repair-alert{display:grid;grid-template-columns:auto 1fr auto;gap:26px;align-items:center;background:#20262b;color:#fff;border-radius:22px;padding:34px 38px}.repair-alert .alert-icon{width:64px;height:64px;border-radius:16px;background:#ff6900;display:grid;place-items:center;font-size:30px}.repair-alert h2{margin:0 0 5px}.repair-alert p{margin:0;color:#cfd3d6}.repair-faq{max-width:900px;margin:36px auto 0}.repair-faq details{border-bottom:1px solid #ddd;padding:20px 0}.repair-faq summary{font-weight:800;font-size:18px;cursor:pointer}.repair-faq p{color:#62686d;line-height:1.7;padding-right:40px}
@media(max-width:900px){.repair-hero-grid,.repair-checks{grid-template-columns:1fr}.repair-visual{min-height:300px}.repair-strip .wrap,.repair-types,.process-grid{grid-template-columns:1fr 1fr}.repair-alert{grid-template-columns:auto 1fr}.repair-alert .btn{grid-column:1/-1;text-align:center}}@media(max-width:600px){.repair-hero{padding:60px 0}.repair-strip .wrap,.repair-types,.process-grid,.repair-check-list{grid-template-columns:1fr}.repair-strip div div{border-right:0;border-bottom:1px solid rgba(255,255,255,.25)}.repair-alert{grid-template-columns:1fr}.repair-alert .alert-icon{width:54px;height:54px}}
