/* © 2026 First Page Co · firstpageco.com
   Ridgeway Kitchen & Bath — Chapel Hill, NC
   Palette: Warm brown + deep teal + cream
   Fonts: Libre Baskerville (headings) + Outfit (body)
   Hero: Full-bleed kitchen photo with floating consultation card */

:root {
  --brown: #3C2415;
  --brown-light: #5A3A28;
  --terra: #0D7377;
  --terra-hover: #0A5F6240;
  --terra-solid-hover: #0A5F62;
  --terra-soft: rgba(13,115,119,0.08);
  --terra-border: rgba(13,115,119,0.2);
  --cream: #FAF8F5;
  --warm-white: #F5F0EB;
  --greige: #B8A898;
  --greige-light: #D4C9BD;
  --white: #FFFFFF;
  --text: #2C1810;
  --text-muted: #6B5D52;
  --gray-100: #E8E2DC;
  --gray-400: #9A8E83;
  --heading: 'Libre Baskerville', Georgia, 'Times New Roman', serif;
  --body: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
  --radius: 6px;
  --radius-lg: 10px;
  --shadow: 0 1px 3px rgba(60,36,21,0.06), 0 1px 2px rgba(60,36,21,0.04);
  --shadow-md: 0 4px 16px rgba(60,36,21,0.08);
  --shadow-lg: 0 10px 40px rgba(60,36,21,0.12);
}

/* ===== RESET ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{/* scroll handled by JS */background-color:#3C2415;}
body{font-family:var(--body);font-size:16px;line-height:1.65;color:var(--text);background:#3C2415;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
ul{list-style:none}
h1,h2,h3,h4{font-family:var(--heading);font-weight:700;line-height:1.2}
.container{max-width:1120px;margin:0 auto;padding:0 24px}
button{font-family:var(--body)}
.skip-link{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:fixed;left:1rem;top:1rem;width:auto;height:auto;padding:.75rem 1.5rem;background:var(--brown);color:var(--white);z-index:99999;text-decoration:none;border-radius:var(--radius)}

/* ===== DEMO BANNER ===== */
.demo-banner{position:fixed;top:0;left:0;right:0;z-index:9999;background:var(--brown);color:rgba(255,255,255,.85);text-align:center;padding:6px 16px;font-size:13px;font-weight:500;letter-spacing:.01em}
.demo-banner a{color:var(--white);text-decoration:underline;font-weight:700}

/* ===== TOP BAR ===== */
.top-bar{background:var(--cream);color:var(--text-muted);padding:8px 0;font-size:13px;font-weight:500;margin-top:60px;border-bottom:1px solid var(--gray-100)}
.top-bar-flex{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.top-bar-left{display:flex;align-items:center;gap:12px}
.top-bar-link{display:flex;align-items:center;gap:5px;color:var(--brown);font-weight:600;transition:opacity .2s}
.top-bar-link:hover{opacity:.7}
.top-bar-link svg{opacity:.7}
.top-bar-divider{width:1px;height:14px;background:var(--greige-light)}
.top-bar-text{opacity:.7}
.top-bar-right{opacity:.7;font-size:12px}

/* ===== NAV ===== */
.main-nav{background:var(--white);border-bottom:1px solid var(--gray-100);position:sticky;top:43px;z-index:1000}
.nav-flex{display:flex;align-items:center;justify-content:space-between;height:60px}
.nav-logo{display:flex;align-items:center;gap:8px;font-family:var(--heading);font-weight:700;font-size:.95rem;color:var(--brown);white-space:nowrap}
.nav-links{display:flex;gap:24px}
.nav-links a{font-size:.9rem;font-weight:500;color:var(--text-muted);transition:color .2s}
.nav-links a:hover{color:var(--terra)}
.nav-actions{display:flex;align-items:center;gap:16px}
.nav-phone{font-size:.85rem;font-weight:600;color:var(--brown);display:none}
@media(min-width:1024px){.nav-phone{display:block}}

/* Hamburger */
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:none;cursor:pointer;padding:4px}
.hamburger span{display:block;width:22px;height:2px;background:var(--brown);border-radius:2px;transition:all .3s}
.hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--body);font-weight:600;border:none;border-radius:var(--radius);cursor:pointer;transition:all .2s;white-space:nowrap;text-decoration:none}
.btn-sm{padding:8px 18px;font-size:.875rem}
.btn-lg{padding:16px 32px;font-size:1rem}
.btn-accent{background:var(--terra);color:var(--white)}
.btn-accent:hover{background:var(--terra-solid-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(13,115,119,.3)}
.btn-outline{background:transparent;border:2px solid var(--terra);color:var(--terra)}
.btn-outline:hover{background:var(--terra);color:var(--white);transform:translateY(-1px);box-shadow:0 4px 12px rgba(13,115,119,.3)}
.btn-full{width:100%}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}

/* ===== HERO ===== */
.hero{position:relative;overflow:hidden;min-height:560px;display:flex;align-items:center;padding:60px 0}
.hero-bg{position:absolute;inset:0;background:url('../images/hero.jpg') center/cover no-repeat}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(44,24,16,.7) 0%,rgba(44,24,16,.35) 60%,rgba(44,24,16,.15) 100%)}
.hero-inner{position:relative;z-index:2;width:100%}
.hero-card{max-width:540px;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow-lg)}
.hero-badge{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:var(--terra-soft);border:1px solid var(--terra-border);color:var(--terra);padding:5px 12px;border-radius:100px;margin-bottom:16px}
.hero h1{font-size:2.2rem;font-weight:700;line-height:1.15;margin-bottom:12px;letter-spacing:-.01em;color:var(--brown)}
.hero-sub{font-size:.95rem;color:var(--text-muted);margin-bottom:20px;line-height:1.55}
.hero-trust{display:flex;align-items:center;gap:14px;margin-bottom:24px;flex-wrap:wrap}
.hero-trust-item{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-muted);font-weight:500}
.hero-stars{color:#D4A017;font-size:1rem}
.hero-trust-divider{width:1px;height:20px;background:var(--gray-100)}

/* ===== SECTION HEADERS ===== */
.section-head{text-align:center;margin-bottom:48px}
.section-head h2{font-size:1.8rem;font-weight:700;color:var(--brown);margin-bottom:6px}
.section-head p{font-size:1rem;color:var(--text-muted);font-family:var(--body)}

/* ===== PROJECT SHOWCASE ===== */
.projects-section{padding:80px 0;background:var(--white)}
.project-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.project-card{grid-column:span 2}
.project-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;cursor:default}
.project-card img{width:100%;height:280px;object-fit:cover;display:block;transition:transform .4s ease}
.project-card:hover img{transform:scale(1.03)}
.project-large{grid-column:span 4}
.project-half{grid-column:span 3}
.project-large img{height:340px}
.project-label{position:absolute;bottom:0;left:0;right:0;padding:20px;background:linear-gradient(transparent,rgba(44,24,16,.85));color:var(--white)}
.project-tag{display:inline-block;background:var(--terra);color:var(--white);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:3px 10px;border-radius:100px;margin-bottom:6px}
.project-label h3{font-size:1rem;font-weight:700;margin-bottom:2px}
.project-label p{font-size:.82rem;opacity:.8;font-family:var(--body)}

/* ===== SERVICES ===== */
.services-section{padding:80px 0;background:var(--cream)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:28px 24px;transition:all .2s}
.service-card:hover{border-color:var(--terra);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.service-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--terra-soft);border-radius:var(--radius);margin-bottom:14px;color:var(--terra)}
.service-card h3{font-size:1.05rem;margin-bottom:8px;color:var(--brown)}
.service-card p{font-size:.88rem;color:var(--text-muted);line-height:1.55}

/* ===== PROCESS ===== */
.process-section{padding:80px 0;background:var(--white)}
.process-steps{display:flex;flex-direction:column;gap:0;max-width:700px;margin:0 auto}
.step{display:flex;gap:24px;align-items:flex-start;padding:28px 0;border-bottom:1px solid var(--gray-100)}
.step:last-child{border-bottom:none}
.step-num{font-family:var(--heading);font-size:1.6rem;font-weight:700;color:var(--terra);min-width:48px;line-height:1}
.step-content h3{font-size:1.05rem;margin-bottom:6px;color:var(--brown)}
.step-content p{font-size:.9rem;color:var(--text-muted);line-height:1.55}

/* ===== WHY US ===== */
.why-section{padding:80px 0;background:var(--cream)}
.why-grid{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.why-item{display:flex;gap:14px;align-items:flex-start}
.why-check{width:32px;height:32px;min-width:32px;display:flex;align-items:center;justify-content:center;background:var(--terra-soft);border-radius:50%;color:var(--terra);margin-top:2px}
.why-item strong{display:block;font-size:.95rem;color:var(--brown);margin-bottom:2px;font-family:var(--body);font-weight:600}
.why-item span{font-size:.88rem;color:var(--text-muted);line-height:1.5}

/* ===== SOCIAL PROOF ===== */
.proof-section{padding:80px 0;background:var(--brown);color:var(--white)}
.proof-header{text-align:center;margin-bottom:40px}
.proof-stars{font-size:1.5rem;color:#D4A017}
.proof-score{font-size:1.2rem;font-weight:700;margin-left:8px}
.proof-count{font-size:.9rem;opacity:.6;margin-top:4px}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,360px));gap:24px;justify-content:center}
.testimonial{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:28px}
.testimonial-stars{color:#D4A017;font-size:1rem;margin-bottom:12px}
.testimonial p{font-size:.9rem;line-height:1.6;opacity:.9;margin-bottom:16px}
.testimonial cite{font-size:.8rem;font-style:normal;opacity:.55;font-weight:500}

/* ===== IMAGE BREAK ===== */
.img-break{overflow:hidden;max-height:340px}
.img-break img{width:100%;height:340px;object-fit:cover;object-position:center 40%}

/* ===== ABOUT ===== */
.about-section{padding:80px 0;background:var(--white)}
.about-grid{display:grid;grid-template-columns:320px 1fr;gap:48px;align-items:start}
.about-photo img{width:100%;height:400px;object-fit:cover;border-radius:var(--radius-lg)}
.about-text h2{font-size:1.6rem;color:var(--brown);margin-bottom:16px}
.about-text p{font-size:.92rem;color:var(--text-muted);margin-bottom:14px;line-height:1.6}
.about-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.about-badges span{background:var(--terra-soft);border:1px solid var(--terra-border);color:var(--terra);font-size:.78rem;font-weight:600;padding:5px 12px;border-radius:100px}

/* ===== CREDENTIALS STRIP ===== */
.credentials-strip{padding:40px 0;background:var(--cream);border-top:1px solid var(--greige-light);border-bottom:1px solid var(--greige-light)}
.credentials-row{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:24px}
.credential-badge{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;color:var(--brown)}
.credential-badge svg{color:var(--terra);min-width:20px;flex-shrink:0}

/* ===== SERVICE DETAIL CARDS ===== */
.svc-detail-section{padding:80px 0;background:var(--white)}
.svc-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.svc-detail-card{background:var(--white);border:1px solid var(--greige-light);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column}
.svc-detail-icon{background:var(--brown);height:100px;display:flex;align-items:center;justify-content:center;color:var(--white)}
.svc-detail-card h3{font-size:1.1rem;color:var(--brown);padding:24px 24px 12px;margin:0}
.svc-detail-list{padding:0 24px;list-style:none;margin-bottom:20px;flex-grow:1}
.svc-detail-list li{font-size:.88rem;color:var(--text-muted);margin-bottom:12px;padding-left:0;line-height:1.5;position:relative;padding-left:18px}
.svc-detail-list li:before{content:'•';color:var(--terra);font-weight:bold;position:absolute;left:0}
.svc-detail-cta{display:block;padding:0 24px 24px;font-size:.9rem;font-weight:600;color:var(--terra);text-decoration:none;transition:color .2s}
.svc-detail-cta:hover{color:var(--terra-solid-hover)}

/* ===== FINANCING SECTION ===== */
.financing-section{padding:80px 0;background:var(--terra)}
.financing-box{background:var(--terra);color:var(--white);padding:48px 40px;border-radius:var(--radius-lg);max-width:700px;margin:0 auto;text-align:center}
.financing-box h2{font-size:1.6rem;color:var(--white);margin-bottom:16px}
.financing-box p{font-size:.95rem;line-height:1.6;margin-bottom:28px;opacity:.95}

/* ===== SERVICE AREA ===== */
.area-section{padding:48px 0;background:var(--cream);text-align:center}
.area-section h2{font-size:1.3rem;color:var(--brown);margin-bottom:8px}
.area-section p{font-size:.9rem;color:var(--text-muted);max-width:700px;margin:0 auto;line-height:1.6}

/* ===== FAQ ===== */
.faq-section{padding:80px 0;background:var(--white)}
.faq-list{max-width:720px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--gray-100)}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;padding:18px 0;background:none;border:none;font-family:var(--body);font-size:.95rem;font-weight:600;color:var(--brown);cursor:pointer;text-align:left;gap:16px;transition:color .2s}
.faq-q:hover{color:var(--terra)}
.faq-icon{font-size:1.3rem;font-weight:300;color:var(--terra);transition:transform .2s;flex-shrink:0}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-a p{padding:0 0 18px;font-size:.9rem;color:var(--text-muted);line-height:1.6}
.faq-item.open .faq-a{max-height:300px}
.faq-item.open .faq-icon{transform:rotate(45deg)}

/* ===== CONTACT ===== */
.contact-section{padding:80px 0;background:var(--cream)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.contact-info h2{font-size:1.6rem;color:var(--brown);margin-bottom:8px}
.contact-info>p{font-size:.92rem;color:var(--text-muted);margin-bottom:24px;line-height:1.5}
.contact-methods{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}
.contact-method{display:flex;align-items:flex-start;gap:12px;font-size:.88rem;color:var(--text-muted)}
.contact-method svg{margin-top:2px;color:var(--terra);flex-shrink:0}
.contact-method strong{display:block;color:var(--brown);font-size:.92rem}
.contact-method span{font-size:.8rem;opacity:.65}
.contact-map iframe{border-radius:var(--radius)}
.contact-form-wrap{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:28px}
.contact-form-wrap h3{font-size:1.1rem;font-family:var(--heading);font-weight:700;color:var(--brown);margin-bottom:16px}
.contact-form{display:flex;flex-direction:column;gap:12px}
.form-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-field{display:flex;flex-direction:column;gap:3px}
.form-field label{font-size:.82rem;font-weight:600;color:var(--brown)}
.form-field input,.form-field select,.form-field textarea{font-family:var(--body);font-size:16px;padding:10px 12px;border:1px solid var(--gray-100);border-radius:var(--radius);background:var(--cream);color:var(--text);transition:border-color .2s}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--terra)}
.form-field textarea{resize:vertical}
.form-fine{font-size:.75rem;color:var(--gray-400);text-align:center;margin-top:4px}

/* ===== FOOTER ===== */
.site-footer{background:var(--brown);color:rgba(255,255,255,.75);padding:48px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:36px;margin-bottom:28px}
.site-footer h4{font-family:var(--heading);font-size:.95rem;font-weight:700;color:var(--white);margin-bottom:10px}
.site-footer p,.footer-col ul li{font-size:.85rem;line-height:1.6}
.footer-col ul{display:flex;flex-direction:column;gap:5px}
.footer-col ul li{color:rgba(255,255,255,.5)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:16px;text-align:center;font-size:.78rem;color:rgba(255,255,255,.35)}

/* ===== MOBILE STICKY CTA ===== */
.mobile-cta{display:none}

/* ===== ANIMATIONS ===== */

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .project-grid{grid-template-columns:repeat(2,1fr)}
  .project-card{grid-column:span 1}
  .project-large{grid-column:span 2}
  .project-half{grid-column:span 1}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .svc-detail-grid{grid-template-columns:repeat(2,1fr)}
  .about-grid{grid-template-columns:1fr}
  .about-photo img{height:300px}
  .testimonial-grid{grid-template-columns:1fr}
  .testimonial-grid-bottom{flex-direction:column !important;align-items:center}
  .testimonial-grid-bottom .testimonial{max-width:100% !important}
  .footer-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:768px){
  body{padding-top:0}
  html{scroll-padding-top:175px}
  .top-bar{margin-top:0;padding-top:55px}
  .main-nav{top:55px}

  .top-bar-flex{justify-content:center}
  .top-bar-right{display:none}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);flex-direction:column;padding:16px 24px;border-bottom:1px solid var(--gray-100);gap:10px;box-shadow:var(--shadow-md)}
  .nav-links.open{display:flex}
  .nav-actions .btn{display:none}
  .hamburger{display:flex}

  .hero{min-height:70vh;padding:32px 0;display:flex;align-items:center;justify-content:center}
  .hero-overlay{background:linear-gradient(180deg,rgba(44,24,16,.5) 0%,rgba(44,24,16,.25) 50%,rgba(44,24,16,.5) 100%)}
  .hero-card{padding:20px;background:rgba(255,255,255,.82);max-width:90%;margin:0 auto}
  .hero h1{font-size:1.5rem}
  .hero-sub{font-size:.9rem}

  .projects-section{padding:40px 0}
  .project-grid{grid-template-columns:1fr 1fr;gap:12px}
  .project-card{grid-column:span 1}
  .project-large{grid-column:span 2}
  .project-half{grid-column:span 1}
  .project-card img{height:200px}
  .project-large img{height:240px}
  .project-grid>.project-card:last-child:nth-child(odd){grid-column:1 / -1}
  .project-label{padding:14px}
  .project-label h3{font-size:.88rem}

  .credentials-row{gap:16px;padding:0 12px}
  .credential-badge{font-size:.8rem;gap:6px}

  .services-section{padding:40px 0}
  .services-grid{grid-template-columns:1fr;gap:16px}
  .service-card{padding:22px 20px}

  .process-section{padding:40px 0}
  .step{gap:16px;padding:20px 0}

  .why-section{padding:40px 0}
  .why-grid{gap:16px}

  .proof-section{padding:40px 0}
  .proof-header{margin-bottom:32px}
  .testimonial-grid{gap:16px}
  .testimonial{padding:20px}

  .svc-detail-section{padding:40px 0}
  .svc-detail-grid{grid-template-columns:1fr;gap:20px}

  .financing-section{padding:40px 0}
  .financing-box{padding:36px 28px}
  .financing-box h2{font-size:1.3rem}

  .area-section{padding:32px 0}

  .faq-section{padding:40px 0}
  .faq-list{max-width:100%}
  .faq-q{padding:14px 0}

  .about-section{padding:40px 0}
  .about-grid{gap:24px}
  .about-photo img{height:300px}
  .about-text h2{font-size:1.4rem;margin-bottom:12px}

  .contact-section{padding:40px 0}
  .contact-section .container{padding-left:16px;padding-right:16px}
  .contact-grid{grid-template-columns:1fr;gap:24px}
  .contact-form-wrap{order:-1;width:92%;margin-left:auto;margin-right:auto;padding:20px;box-sizing:border-box}
  .contact-map iframe{height:160px}
  .contact-form button[type="submit"]{width:100% !important;display:block !important;margin:0 auto !important}

  .site-footer{padding:40px 0 16px}
  .footer-grid{grid-template-columns:1fr;gap:24px}

  /* Mobile sticky CTA */
  body{padding-bottom:48px}
  footer{margin-bottom:0}
  .mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:9998;background:var(--brown);padding:12px 16px;gap:12px;align-items:center;justify-content:space-between;box-shadow:0 -2px 12px rgba(0,0,0,.25)}
  .mobile-cta-phone{display:flex;align-items:center;gap:8px;color:var(--white);font-size:.9rem;font-weight:600;white-space:nowrap}
  .mobile-cta-btn{padding:12px 20px;font-size:.9rem;font-weight:700;flex-shrink:0}

  .section-head{margin-bottom:32px}
  .section-head h2{font-size:1.4rem;margin-bottom:6px}
}

@media(max-width:540px){
  body{padding-top:0}
  html{scroll-padding-top:170px}
  .top-bar{margin-top:0;padding-top:55px}
  .main-nav{top:55px}

  .hero{padding:24px 0;min-height:65vh}
  .hero h1{font-size:1.35rem}
  .hero-card{padding:16px;background:rgba(255,255,255,.82);max-width:85%;margin:0 auto}
  .hero-sub{font-size:.85rem;margin-bottom:12px}

  .projects-section{padding:32px 0}
  .project-grid{grid-template-columns:1fr;gap:10px}
  .project-large{grid-column:span 1}
  .project-card img,.project-large img{height:220px}
  .project-label{padding:12px}
  .project-label h3{font-size:.8rem}

  .services-section{padding:32px 0}
  .service-card{padding:18px 16px;gap:8px}
  .service-icon{width:40px;height:40px;margin-bottom:10px}

  .process-section{padding:32px 0}
  .step{gap:12px;padding:16px 0}
  .step-num{font-size:1.4rem}

  .why-section{padding:32px 0}
  .why-grid{gap:14px}
  .why-item{gap:12px}

  .proof-section{padding:32px 0}
  .proof-header{margin-bottom:24px}
  .testimonial-grid{gap:12px}
  .testimonial{padding:16px}
  .testimonial p{font-size:.85rem}

  .svc-detail-section{padding:32px 0}
  .svc-detail-card{border-radius:var(--radius)}
  .svc-detail-icon{height:80px}
  .svc-detail-card h3{font-size:.95rem;padding:16px 16px 8px}
  .svc-detail-list{padding:0 16px;margin-bottom:16px}
  .svc-detail-list li{font-size:.82rem;margin-bottom:10px}
  .svc-detail-cta{padding:0 16px 16px;font-size:.85rem}

  .credentials-row{flex-direction:column;gap:12px;align-items:flex-start;padding:0}
  .credential-badge{font-size:.75rem;gap:5px}

  .financing-section{padding:32px 0}
  .financing-box{padding:28px 20px}
  .financing-box h2{font-size:1.15rem}
  .financing-box p{font-size:.88rem;margin-bottom:20px}

  .area-section{padding:24px 0}
  .area-section h2{font-size:1.1rem;margin-bottom:6px}
  .area-section p{font-size:.82rem}

  .faq-section{padding:32px 0}
  .faq-q{padding:12px 0;font-size:.9rem}
  .faq-a p{font-size:.82rem;padding:0 0 12px}

  .about-section{padding:32px 0}
  .about-grid{gap:20px}
  .about-photo img{height:250px}
  .about-text h2{font-size:1.3rem;margin-bottom:10px}
  .about-text p{font-size:.88rem;margin-bottom:10px}

  .contact-section{padding:32px 0}
  .contact-info h2{font-size:1.3rem;margin-bottom:6px}
  .contact-info>p{font-size:.82rem;margin-bottom:16px}
  .contact-method{gap:10px;font-size:.8rem}
  .contact-form-wrap{padding:20px}
  .contact-form-wrap h3{font-size:.95rem;margin-bottom:12px}
  .form-field label{font-size:.75rem}
  .form-field input,.form-field select,.form-field textarea{font-size:16px;padding:8px 10px}
  .contact-map iframe{height:200px}

  .site-footer{padding:32px 0 12px}
  .footer-grid{gap:16px}
  .site-footer h4{font-size:.85rem;margin-bottom:8px}
  .site-footer p,.footer-col ul li{font-size:.8rem}
  .footer-bottom{font-size:.7rem;padding-top:12px}

  .hero-trust{flex-direction:column;gap:8px;align-items:flex-start}
  .hero-trust-divider{width:40px;height:1px;background:var(--gray-100)}
  .hero-trust-item{font-size:.8rem}

  .section-head{margin-bottom:24px}
  .section-head h2{font-size:1.2rem}
  .section-head p{font-size:.85rem}

  .form-2col{grid-template-columns:1fr}
}

@media(max-width:375px){
  body{padding-top:0}
  html{scroll-padding-top:168px}
  .top-bar{margin-top:0;padding-top:58px}
  .main-nav{top:58px}

  .hero h1{font-size:1.3rem}
  .hero-card{padding:18px}
  .container{padding:0 16px}
  .project-grid{gap:8px}

  .services-section{padding:28px 0}
  .service-card{padding:16px 14px}
  .service-icon{width:36px;height:36px;margin-bottom:8px}

  .section-head h2{font-size:1.1rem}
}
