@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Sora:wght@600;700;800&display=swap');
/* Chattanooga Drywall Repair Co — lightweight static styles */
:root{
  --bg:#f5f6f8; --surface:#ffffff; --surface-dark:#1f3a4d; --text:#111827; --muted:#526370; --accent:#c4622d; --border:rgba(31,58,77,0.10); --radius:20px; --shadow:0 20px 48px rgba(31,58,77,0.06);
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
.container{width:min(1120px,calc(100% - 32px));margin:0 auto}
.topbar{background:var(--surface-dark);color:#e6eef6;padding:8px 0;font-size:0.92rem;font-weight:600}
.topbar .container{display:flex;justify-content:center;text-align:center;gap:12px;align-items:center}
.header{background:var(--surface);border-bottom:1px solid var(--border)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:8px 0}
.logo img{height:48px}
.nav-links{display:flex;gap:18px;font-weight:600}
.hero{padding:44px 0}
.hero-grid{display:grid;grid-template-columns:1fr 360px;gap:28px;align-items:start}
.hero h1{font-size:clamp(28px,6vw,48px);line-height:1.03;margin:0}
.badges{display:flex;gap:10px;margin-top:18px}
.badge{background:var(--surface-dark);color:#f3f7fb;padding:10px 14px;border-radius:999px;font-weight:700}
.form-card{background:var(--surface);padding:20px;border-radius:18px;border:1px solid var(--border);box-shadow:var(--shadow)}
.form-field{margin-bottom:12px}
.form-field label{display:block;font-weight:700;margin-bottom:6px}
.input,textarea,select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px}
.textarea{min-height:110px}
.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;background:var(--accent);color:var(--surface-dark);font-weight:800;border:none;cursor:pointer}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}
.stat{background:var(--surface);padding:20px;border-radius:16px;border:1px solid var(--border);text-align:center}
.section{padding:48px 0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.card{background:var(--surface);padding:18px;border-radius:14px;border:1px solid var(--border);display:flex;flex-direction:column}
.card .button{margin-top:auto}
.cta-block{background:linear-gradient(135deg,var(--surface-dark),#1f2933);color:#eaf1fb;padding:28px;border-radius:20px;display:flex;justify-content:space-between;align-items:center}
.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.footer{background:var(--surface-dark);color:#e6eef6;padding:24px 0;margin-top:30px}
.footer .container{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}
.breadcrumb{font-size:0.95rem;color:var(--muted);margin-bottom:14px}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;}.nav-links{display:none}.stats{grid-template-columns:1fr}.footer .container{grid-template-columns:1fr}}
/* ===== Typography scale & spacing fixes ===== */
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{font-family:'Sora',system-ui,sans-serif;letter-spacing:-0.01em}
h2{font-size:clamp(24px,4vw,34px);line-height:1.15;font-weight:800;margin-bottom:14px}
h3{font-size:clamp(18px,2.5vw,22px);line-height:1.2;font-weight:700;margin-bottom:8px}
p{line-height:1.65;color:var(--muted)}
.section p{max-width:70ch}

/* Eyebrow label — small uppercase tag above section headings */
.eyebrow{font-size:12.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;display:block}

/* Tighter, intentional rhythm between sections */
.section{padding:36px 0}
.section + .section{padding-top:0}
.section-header{margin-bottom:28px}

/* Depth consistency across all cards */
.card,.stat{box-shadow:0 10px 24px rgba(44,52,64,0.05);transition:transform 0.15s ease, box-shadow 0.15s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(44,52,64,0.09)}
.card h3{color:var(--text)}
.card p{font-size:0.95rem}

/* Icon support for trust badges */
.badge{display:inline-flex;align-items:center;gap:8px}
.badge-icon{width:16px;height:16px;flex-shrink:0}
.badge-icon svg{width:100%;height:100%;fill:var(--accent)}

/* Icon support for stat cards */
.stat{display:flex;flex-direction:column;align-items:center;gap:8px}
.stat-icon{width:28px;height:28px}
.stat-icon svg{width:100%;height:100%;stroke:var(--accent);fill:none;stroke-width:2}
.stat-number{font-size:1.4rem;font-weight:800;color:var(--text);font-family:'Sora',sans-serif}
.stat-label{font-size:0.85rem;color:var(--muted)}

/* Fix CTA block on mobile */
@media(max-width:900px){
  .cta-block{flex-direction:column;text-align:center;gap:16px}
  .section{padding:28px 0}
}

/* ===== NEW: How It Works — process steps ===== */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.process-card{background:var(--surface);padding:20px;border-radius:14px;border:1px solid var(--border);border-top:3px solid var(--accent)}
.process-number{display:block;font-family:'Sora',sans-serif;font-weight:800;font-size:1.1rem;color:var(--accent);margin-bottom:10px}
.process-card h3{color:var(--text);margin-bottom:6px}
.process-card p{font-size:0.92rem}

/* ===== NEW: Dark services section ===== */
.dark-section{background:var(--surface-dark);padding:48px 0;margin-top:36px}
.text-light{color:#f3f7fb}
.text-light-muted{color:#aab6c4}
.eyebrow-light{color:var(--accent)}
.card-dark{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);padding:20px;border-radius:14px}
.card-dark h3{color:#f3f7fb}
.card-dark p{color:#aab6c4;font-size:0.92rem}
.icon-box{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:rgba(224,169,64,0.15);margin-bottom:14px}
.icon-box svg{width:22px;height:22px;stroke:var(--accent);fill:none;stroke-width:1.8}
.link-arrow{display:inline-block;margin-top:12px;color:var(--accent);font-weight:700;text-decoration:none;font-size:0.92rem}
.link-arrow:hover{text-decoration:underline}

/* ===== NEW: Gallery preview ===== */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gallery-item{aspect-ratio:4/3;background:var(--surface);border:1px dashed var(--border);border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:0.9rem}

/* ===== NEW: Testimonial ===== */
.testimonial{display:grid;grid-template-columns:220px 1fr;gap:28px;align-items:center;background:var(--surface);padding:28px;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow)}
.testimonial-avatar{aspect-ratio:1;background:var(--surface-dark);border-radius:14px;display:flex;align-items:center;justify-content:center;color:#aab6c4;font-size:0.85rem}
.stars{color:var(--accent);font-size:1.1rem;letter-spacing:2px;margin-bottom:10px}
.testimonial h3{margin-bottom:10px}
.testimonial p{margin-bottom:10px}

/* ===== NEW: Service Area Directory ===== */
.area-directory{background:var(--surface-dark);padding:32px;border-radius:var(--radius)}
.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.area-card{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);padding:16px;border-radius:12px;text-decoration:none;color:#f3f7fb;transition:background 0.15s ease}
.area-card:hover{background:rgba(255,255,255,0.08)}
.area-pin{width:18px;height:18px;flex-shrink:0}
.area-pin svg{width:100%;height:100%;fill:var(--accent)}

/* ===== NEW: Accordion FAQ ===== */
.accordion{display:grid;gap:2px}
.accordion-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px}
.accordion-item + .accordion-item{margin-top:8px}
.accordion-item summary{cursor:pointer;font-weight:700;font-family:'Sora',sans-serif;list-style:none;display:flex;justify-content:space-between;align-items:center}
.accordion-item summary::-webkit-details-marker{display:none}
.accordion-item summary::after{content:'+';font-size:1.3rem;color:var(--accent);flex-shrink:0;margin-left:12px;transition:transform 0.15s ease}
.accordion-item[open] summary::after{transform:rotate(45deg)}
.accordion-item p{margin-top:12px;font-size:0.95rem}

/* ===== NEW: CTA banner ===== */
.cta-banner{background:linear-gradient(135deg,var(--accent),#c98f34);padding:40px;border-radius:var(--radius);text-align:center}
.cta-banner h2{color:var(--surface-dark)}
.cta-banner p{color:rgba(44,52,64,0.75);max-width:100%;margin:8px auto 20px}
.cta-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.button-dark{background:var(--surface-dark);color:#f3f7fb}
.button-outline{background:transparent;border:2px solid var(--surface-dark);color:var(--surface-dark)}

/* ===== NEW: Richer footer ===== */
.footer .container.footer-grid{grid-template-columns:repeat(4,1fr)}
.footer-col h3{color:#f3f7fb;font-size:0.95rem;margin-bottom:12px}
.footer-col p{color:#aab6c4;font-size:0.9rem}
.footer-col a{color:#aab6c4;text-decoration:none;font-size:0.9rem}
.footer-col a:hover{color:var(--accent)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,0.08);font-size:0.85rem;color:#aab6c4}

/* ===== Mobile responsiveness for new components ===== */
@media(max-width:900px){
  .process-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr}
  .area-grid{grid-template-columns:1fr}
  .testimonial{grid-template-columns:1fr;text-align:center}
  .testimonial-avatar{max-width:180px;margin:0 auto}
  .footer .container.footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;text-align:center}
  .cta-banner{padding:28px}
}

/* ===== NEW: Header fixes — sticky, bigger logo, nav sizing, dropdowns, phone badge ===== */
.header{box-shadow:0 2px 12px rgba(44,52,64,0.06)}
.header-spacer{display:none}
.header.header-fixed{position:fixed;top:0;left:0;right:0;z-index:100}
.logo img{height:102px}
.nav{align-items:center}
.nav-links{align-items:center;font-size:1rem}
.nav-links > a{color:var(--text);text-decoration:none;padding:8px 0}
.nav-links > a:hover{color:var(--accent)}

/* CSS-only dropdown menus */
.nav-dropdown{position:relative}
.nav-dropdown > a{color:var(--text);text-decoration:none;padding:8px 0;cursor:pointer}
.nav-dropdown > a:hover{color:var(--accent)}
.dropdown-menu{display:none;position:absolute;top:100%;left:0;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:8px;min-width:220px;flex-direction:column;gap:2px;z-index:50}
.nav-dropdown:hover .dropdown-menu{display:flex}
.dropdown-menu a{color:var(--text);text-decoration:none;padding:8px 12px;border-radius:8px;font-weight:600;font-size:0.92rem}
.dropdown-menu a:hover{background:var(--bg);color:var(--accent)}

/* Phone badge with green live dot, like VE reference */
.phone-badge{display:inline-flex;align-items:center;gap:8px;background:var(--surface-dark);color:#f3f7fb;padding:10px 16px;border-radius:999px;font-weight:700;text-decoration:none;white-space:nowrap}
.phone-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex-shrink:0}

@media(max-width:900px){
  .logo img{height:56px}
  .phone-badge{display:none}
}
/* ===== Gallery images with captions ===== */
.gallery-figure{margin:0;display:flex;flex-direction:column}
.gallery-figure .gallery-item{flex-direction:column;padding:0;overflow:hidden}
.gallery-figure img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-figure figcaption{margin-top:10px;font-size:0.9rem;color:var(--muted);text-align:center}

/* ===== Drywall Calculator ===== */
.calculator{background:var(--surface);padding:28px;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow)}
.calc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.calc-field label{display:block;font-weight:700;margin-bottom:6px;font-size:0.9rem}
.calc-field input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px}
.calc-checkbox{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:0.95rem}
.calc-result{margin-top:20px;padding:20px;background:var(--bg);border-radius:14px;display:none}
.calc-result.show{display:block}
.calc-result-number{font-size:1.8rem;font-weight:800;font-family:'Sora',sans-serif;color:var(--text)}
.calc-result-label{font-size:0.9rem;color:var(--muted);margin-top:4px}
.calc-note{font-size:0.85rem;color:var(--muted);margin-top:12px}
@media(max-width:900px){.calc-grid{grid-template-columns:1fr}}

/* ===== NEW: Common Drywall Problems section ===== */
.problem-card{background:var(--surface);padding:20px;border-radius:14px;border:1px solid var(--border);border-left:3px solid var(--accent)}
.problem-card h3{color:var(--text);margin-bottom:8px}
.problem-card p{font-size:0.92rem;margin-bottom:10px}

/* ===== Section 5: Materials and Solutions ===== */
.materials-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:24px}
.materials-grid .card h3{margin-bottom:8px}
@media(max-width:900px){.materials-grid{grid-template-columns:1fr}}

/* ===== Section 10: Reviews header/rating (kept) ===== */
.reviews-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;margin-top:8px}
.reviews-rating{display:flex;align-items:center;gap:14px}
.reviews-rating-number{font-size:2.2rem;font-weight:800;font-family:'Sora',sans-serif;color:var(--text)}
.reviews-rating-stars{display:flex;flex-direction:column;gap:2px}
.reviews-rating-stars .stars{font-size:1rem;margin:0}
.reviews-rating-count{font-size:0.85rem;color:var(--muted)}
.reviews-write-btn{background:#1a73e8;color:#fff;border:none;padding:12px 22px;border-radius:8px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}
.review-card{background:var(--surface);padding:18px;border-radius:14px;border:1px solid var(--border);display:flex;flex-direction:column}
.review-card-summary{background:var(--bg)}
.review-card-badge{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:0.9rem;margin-bottom:10px;color:var(--text)}
.review-card .stars{font-size:0.9rem;margin-bottom:4px}
.review-card-date{font-size:0.78rem;color:var(--muted);float:right}
.review-card-text{font-size:0.88rem;color:var(--muted);margin-top:8px;flex-grow:1}
.review-card-more{color:var(--accent);font-weight:600;text-decoration:none;font-size:0.85rem}
.review-card-footer{display:flex;align-items:center;gap:8px;margin-top:14px}
.review-avatar{width:28px;height:28px;border-radius:50%;background:var(--surface-dark);color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:700;flex-shrink:0}
.review-name{font-size:0.85rem;font-weight:600;color:var(--text);flex-grow:1}
.reviews-footer-credit{text-align:right;font-size:0.75rem;color:var(--muted);margin-top:10px}
@media(max-width:900px){.reviews-header{flex-direction:column;align-items:flex-start}}

/* ===== About page: value icons + mission/vision ===== */
.value-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:rgba(224,169,64,0.12);margin-bottom:14px}
.value-icon svg{width:22px;height:22px;stroke:var(--accent);fill:none;stroke-width:1.8}
.mission-vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:36px}
.mission-vision-grid h2{margin-bottom:10px}
@media(max-width:900px){.mission-vision-grid{grid-template-columns:1fr}}

/* ===== Service page layout upgrade ===== */
.included-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}
.included-card{background:var(--surface);padding:20px;border-radius:14px;border:1px solid var(--border);box-shadow:0 10px 24px rgba(44,52,64,0.05)}
.included-card .icon-box{margin-bottom:12px}
.included-card p{font-size:0.92rem;margin:0}
.service-dark-section{background:var(--surface-dark);padding:40px;border-radius:var(--radius);margin-top:32px}
.service-dark-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:20px}
.service-dark-card .icon-box{background:rgba(224,169,64,0.15);margin-bottom:14px}
.service-dark-card h3{color:#f3f7fb}
.service-dark-card p{color:#aab6c4;font-size:0.92rem;margin-bottom:10px}
@media(max-width:900px){.included-grid{grid-template-columns:1fr}.service-dark-grid{grid-template-columns:1fr}.service-dark-section{padding:24px}}

/* ===== Reviews carousel (was missing, this is the actual fix) ===== */
.reviews-carousel{display:flex !important;align-items:center;gap:10px;margin-top:24px;width:100%}
.reviews-track{display:flex !important;flex-direction:row !important;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;flex:1 1 auto;min-width:0}
.reviews-track::-webkit-scrollbar{display:none}
.reviews-track{-ms-overflow-style:none;scrollbar-width:none}
.reviews-track > .review-card{flex:0 0 calc(33.333% - 11px) !important;scroll-snap-align:start;min-width:0}
.reviews-nav{flex-shrink:0;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:1.2rem;color:var(--text);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(44,52,64,0.06)}
.reviews-nav:hover{background:var(--bg)}
.reviews-pagination{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:24px;color:var(--muted);font-size:0.9rem}
.reviews-pagination span{cursor:pointer;padding:4px 6px}
.reviews-pagination .active{color:var(--accent);font-weight:700}
@media(max-width:900px){
  .reviews-track > .review-card{flex:0 0 85% !important}
}