
:root{
  --ink:#111317;--muted:#646b74;--line:#e7e9ed;--yellow:#ffd400;--yellow2:#ffbf00;
  --bg:#f7f8fa;--white:#fff;--dark:#0d1015;--radius:22px;
  --shadow:0 18px 50px rgba(16,18,22,.10)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.55}
img{max-width:100%}
a{color:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-wrap{height:82px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;line-height:1}
.brand-icon{width:34px;height:46px;border:3px solid var(--ink);border-radius:7px;display:grid;place-items:center;font-size:0;position:relative}
.brand-icon:after{content:"";width:6px;height:6px;background:var(--yellow);border-radius:50%;position:absolute;bottom:4px}
.brand strong,.brand b{display:block;font-size:16px;letter-spacing:.02em}
.brand b{color:#b88600}
.desktop-nav{display:flex;gap:22px;margin-left:auto;align-items:center}
.desktop-nav a{text-decoration:none;font-weight:700;font-size:14px}
.desktop-nav a:hover,.desktop-nav a.active{color:#9a7600}
.btn{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;font-weight:800;border-radius:13px;padding:13px 18px;transition:.2s ease;border:1px solid transparent;cursor:pointer}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--yellow);color:#111}
.btn-primary:hover{background:var(--yellow2)}
.btn-secondary{background:#fff;border-color:#d9dde3}
.btn-light{background:#fff;color:#111}
.btn-lg{padding:16px 22px}
.btn-xl{padding:18px 24px;font-size:18px}
.hero{padding:72px 0 60px;background:linear-gradient(135deg,#fff 0,#fff 56%,#fff8d7 100%)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}
.eyebrow,.kicker{font-size:12px;letter-spacing:.14em;font-weight:900;color:#8a6800}
.yellow{color:var(--yellow)}
h1{font-size:clamp(48px,6vw,78px);line-height:.98;letter-spacing:-.055em;margin:16px 0 22px}
h1 span{background:linear-gradient(transparent 64%,var(--yellow) 64%)}
.hero-lead{font-size:20px;color:#4f5660;max-width:680px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}
.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}
.trust-row div{padding:14px 0;border-top:1px solid var(--line)}
.trust-row strong,.trust-row span{display:block}
.trust-row strong{font-size:15px}
.trust-row span{font-size:12px;color:var(--muted);margin-top:3px}
.hero-media{position:relative}
.hero-media img{width:100%;display:block;border-radius:30px;box-shadow:var(--shadow);aspect-ratio:1/1;object-fit:cover}
.floating-card{position:absolute;left:-28px;bottom:28px;background:#fff;border-radius:17px;box-shadow:var(--shadow);padding:15px 18px;display:flex;gap:12px;align-items:center;max-width:290px}
.floating-card>span{width:36px;height:36px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;font-weight:900}
.floating-card b,.floating-card small{display:block}
.floating-card small{color:var(--muted);margin-top:2px}
.brand-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.brand-list{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;font-weight:900;color:#515761}
.section{padding:92px 0}
.section-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end;margin-bottom:40px}
.section-heading h2,.split-grid h2,.reviews-top h2,.faq-section h2,.cta-section h2,.page-hero h1,.content-grid h2{font-size:clamp(34px,4vw,54px);line-height:1.05;letter-spacing:-.04em;margin:8px 0}
.section-heading p,.split-grid p,.reviews-top p,.content-grid p{color:var(--muted);font-size:18px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:#fff;transition:.2s}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.service-icon{font-size:28px;width:48px;height:48px;border-radius:14px;background:#fff4bc;display:grid;place-items:center}
.service-card h3{font-size:21px;margin:18px 0 8px}
.service-card p{color:var(--muted);min-height:72px}
.service-card a{font-weight:800;text-decoration:none}
.dark-section{background:var(--dark);color:#fff}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.dark-section p{color:#c3c8d0}
.check-list{list-style:none;padding:0;margin:28px 0}
.check-list li{margin:12px 0;padding-left:30px;position:relative}
.check-list li:before{content:"✓";position:absolute;left:0;color:var(--yellow);font-weight:900}
.phone-showcase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.phone-card{height:210px;border-radius:24px;background:linear-gradient(145deg,#20252e,#101318);border:1px solid #2e3440;display:grid;place-items:center;font-size:26px;font-weight:900;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.phone-card:nth-child(2),.phone-card:nth-child(3){transform:none}
.reviews-section{background:#fff}
.reviews-top{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:34px}
.rating-badge{display:flex;gap:14px;align-items:center;padding:18px 24px;border-radius:18px;background:#111;color:#fff}
.rating-badge>strong{font-size:44px;line-height:1}
.rating-badge div{color:var(--yellow);font-size:20px}
.rating-badge small{display:block;color:#c7cbd1;font-size:11px;margin-top:4px}
.review-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.review-stat{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.review-stat strong{font-size:28px;display:block}
.review-stat span{color:var(--muted)}
.soft-section{background:var(--bg)}
.about-photo img{width:100%;border-radius:28px;display:block;box-shadow:var(--shadow);aspect-ratio:1/1;object-fit:cover}
.mini-info{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}
.mini-info div{padding:18px;border:1px solid #dde1e6;background:#fff;border-radius:16px}
.mini-info b,.mini-info span{display:block}
.mini-info span{color:var(--muted);margin-top:5px}
.narrow{max-width:860px}
.faq-section h2{margin-bottom:30px}
.faq-section details{border-top:1px solid var(--line);padding:20px 0}
.faq-section details:last-child{border-bottom:1px solid var(--line)}
.faq-section summary{font-size:19px;font-weight:800;cursor:pointer}
.faq-section details p{color:var(--muted)}
.cta-section{background:#171a20;color:#fff;padding:78px 0}
.cta-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.cta-section p{color:#c4c9d1;font-size:18px}
.cta-actions{display:flex;flex-direction:column;gap:12px}
.page-hero{padding:72px 0;background:linear-gradient(135deg,#fff,#fff8d7)}
.page-hero .container{max-width:980px}
.page-hero p{font-size:20px;color:var(--muted);max-width:780px}
.breadcrumbs{font-size:14px;color:#7a7f87;margin-bottom:16px}
.breadcrumbs a{color:#111317;text-decoration:none;font-weight:900}
.breadcrumbs a:hover{text-decoration:underline;text-underline-offset:3px}
.content-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:start}
.content-card{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:#fff}
.content-card h3{margin-top:0}
.content-card + .content-card{margin-top:18px}
.callout{padding:24px;border-radius:20px;background:#fff4bc;margin:26px 0}
.callout strong{display:block;font-size:20px;margin-bottom:6px}
.step-list{counter-reset:step;list-style:none;padding:0}
.step-list li{counter-increment:step;padding:16px 0 16px 52px;border-bottom:1px solid var(--line);position:relative}
.step-list li:before{content:counter(step);position:absolute;left:0;top:14px;width:34px;height:34px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;font-weight:900}
.price-note{font-size:13px;color:var(--muted)}
.local-areas{display:flex;flex-wrap:wrap;gap:10px}
.local-areas span{border:1px solid var(--line);padding:8px 12px;border-radius:999px;background:#fff}
.map-card iframe{width:100%;height:340px;border:0;border-radius:20px}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px}
.contact-box{border:1px solid var(--line);border-radius:22px;padding:28px}
.contact-box h3{margin-top:0}
.contact-box a{text-decoration:none;font-weight:800}
.contact-list{list-style:none;padding:0;margin:0}
.contact-list li{padding:10px 0;border-bottom:1px solid var(--line)}
.contact-list li:last-child{border-bottom:0}
footer{background:#0b0d11;color:#d7dbe1;padding:52px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .7fr .9fr;gap:30px}
.footer-brand{color:#fff}
.footer-brand .brand-icon{border-color:#fff}
.footer-grid p{color:#9299a3}
.footer-grid a{color:#fff;text-decoration:none}
.footer-links a{display:block;margin:7px 0;color:#d7dbe1}
.footer-bottom{border-top:1px solid #232730;margin-top:32px;padding-top:20px;display:flex;justify-content:space-between;color:#767d87;font-size:12px}
.mobile-call{display:none}
@media(max-width:980px){
  .desktop-nav,.nav-call{display:none}
  .hero{padding-top:42px}
  .hero-grid,.split-grid,.section-heading,.cta-grid,.content-grid,.contact-grid{grid-template-columns:1fr}
  .hero-grid{gap:34px}.hero-media{order:-1}
  .floating-card{left:14px;bottom:14px}
  .service-grid,.review-stat-grid{grid-template-columns:1fr 1fr}
  .section{padding:72px 0}
  .reviews-top{align-items:flex-start;flex-direction:column}
  .phone-card:nth-child(2),.phone-card:nth-child(3){transform:none}
  .footer-grid{grid-template-columns:1fr 1fr}
  .mobile-call{display:block;position:fixed;bottom:12px;left:12px;right:12px;background:var(--yellow);color:#111;text-align:center;padding:16px;border-radius:14px;text-decoration:none;font-weight:900;z-index:80;box-shadow:0 10px 30px rgba(0,0,0,.25)}
  body{padding-bottom:76px}
}
@media(max-width:600px){
  .container{width:min(100% - 26px,1180px)}
  .nav-wrap{height:70px}
  .brand strong,.brand b{font-size:14px}
  .hero h1,.page-hero h1{font-size:46px}
  .hero-lead,.page-hero p{font-size:17px}
  .hero-actions{display:grid}
  .trust-row{grid-template-columns:1fr}
  .brand-list{justify-content:center;padding:18px 0}
  .service-grid,.review-stat-grid,.phone-showcase{grid-template-columns:1fr}
  .service-card p{min-height:auto}
  .section{padding:58px 0}
  .mini-info,.footer-grid{grid-template-columns:1fr}
  .rating-badge{width:100%;justify-content:center}
  .footer-bottom{flex-direction:column;gap:8px}
}


/* Repair quote form */
.quote-section{background:#f7f8fa}
.quote-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:34px;align-items:start}
.quote-intro{padding:8px 0}
.quote-intro h2{font-size:clamp(34px,4vw,54px);line-height:1.05;letter-spacing:-.04em;margin:8px 0 16px}
.quote-intro p{font-size:18px;color:var(--muted)}
.quote-points{list-style:none;padding:0;margin:26px 0}
.quote-points li{position:relative;padding-left:28px;margin:11px 0}
.quote-points li:before{content:"✓";position:absolute;left:0;color:#b78600;font-weight:900}
.quote-form{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:0 14px 40px rgba(16,18,22,.07)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-group{display:flex;flex-direction:column;gap:7px}
.form-group.full{grid-column:1/-1}
.form-group label{font-weight:800;font-size:14px}
.form-group input,.form-group select,.form-group textarea{width:100%;border:1px solid #cfd4da;border-radius:12px;padding:13px 14px;font:inherit;color:var(--ink);background:#fff;outline:none}
.form-group textarea{min-height:135px;resize:vertical}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#9f7b00;box-shadow:0 0 0 3px rgba(255,212,0,.22)}
.required{color:#9a0000}
.form-note{font-size:12px;color:var(--muted);margin:12px 0 0}
.form-status{display:none;border-radius:12px;padding:13px 15px;margin-bottom:18px;font-weight:700}
.form-status.success{display:block;background:#e9f8ee;color:#176b35;border:1px solid #b9e7c8}
.form-status.error{display:block;background:#fff0f0;color:#8a1f1f;border:1px solid #efc7c7}
.hp-field{position:absolute!important;left:-9999px!important;opacity:0!important;height:1px!important;width:1px!important;overflow:hidden!important}
.quote-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
@media(max-width:980px){.quote-wrap{grid-template-columns:1fr}}
@media(max-width:600px){.form-grid{grid-template-columns:1fr}.quote-form{padding:22px}.quote-actions{display:grid}}

/* V4: force perfectly aligned phone brand cards */
.phone-showcase{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-auto-rows:210px !important;
  gap:18px !important;
  align-items:stretch !important;
}
.phone-showcase .phone-card{
  width:100% !important;
  height:210px !important;
  min-height:210px !important;
  margin:0 !important;
  transform:none !important;
  align-self:stretch !important;
  justify-self:stretch !important;
}
.phone-showcase .phone-card:nth-child(n){
  transform:none !important;
  margin:0 !important;
}
@media(max-width:600px){
  .phone-showcase{
    grid-template-columns:1fr !important;
    grid-auto-rows:auto !important;
  }
  .phone-showcase .phone-card{
    height:150px !important;
    min-height:150px !important;
  }
}

/* V5 mobile polish */
@media(max-width:800px){
  .mobile-call{bottom:10px;left:14px;right:14px;padding:12px 14px;font-size:15px;line-height:1.2;border-radius:12px}
  body{padding-bottom:88px}
  .review-stat-grid{grid-template-columns:1fr}
}
