/* ==========================================================================
   Tucson AC Repair Pros — brand stylesheet ("ta")
   Static build. Fonts loaded via <link> in each page <head><meta charset="utf-8"> (Archivo 800, Inter 400/600).
   Derived from wichitagaragedoorrepairpros.com/assets/wg.css (structure identical, palette swapped).
   ========================================================================== */

html{background:#1C2A32}
body{margin:0;padding:0;background:#f7f6f2}

.ta{font-family:'Inter',Arial,sans-serif;color:#1C2A32;background:#f7f6f2;
  --accent:#0E7C86;--accentD:#0a5860;--amber:#F4762C;--amberD:#D95F1B;
  --alt:#efece4;--dark:#1C2A32;--card:#fff}
.ta *{box-sizing:border-box}
.ta h1,.ta h2,.ta h3,.ta .disp{font-family:'Archivo',Arial,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.01em;text-wrap:balance}
.ta p{text-wrap:pretty}
.ta a{color:inherit}
.ta img{display:block}

.ta-wrap{max-width:1180px;margin:0 auto;padding:0 24px}

/* ---------- nav ---------- */
.ta-nav{position:sticky;top:0;z-index:900;background:rgba(247,246,242,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid var(--accent)}
.ta-nav-in{max-width:1180px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.ta-logo{display:flex;align-items:center;gap:10px;text-align:center}
.ta-logo{font-family:'Archivo',Arial,sans-serif;font-weight:800;font-size:19px;color:var(--dark);text-decoration:none;text-transform:uppercase;letter-spacing:.02em;line-height:1.15;max-width:260px}
.ta-logo span{color:var(--accent)}
.ta-links{display:flex;gap:18px;align-items:center;list-style:none;margin:0;padding:0}
.ta-links a{color:#3c4a58;text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;transition:color .2s;white-space:nowrap}
.ta-links a:hover,.ta-links a.on{color:var(--accent)}
@media(max-width:760px){.ta-links li:not(:last-child){display:none}}

/* ---------- buttons ---------- */
.ta-btn{display:inline-block;background:var(--amber);color:var(--dark)!important;text-decoration:none;font-family:'Archivo',Arial,sans-serif;font-weight:800;font-size:14.5px;letter-spacing:.03em;text-transform:uppercase;padding:13px 26px;border-radius:6px;transition:background .2s,transform .2s;border:2px solid var(--amber)}
.ta-btn:hover{background:var(--amberD);border-color:var(--amberD);transform:translateY(-2px)}
.ta-btn-line{display:inline-block;color:var(--dark)!important;background:transparent;text-decoration:none;font-family:'Archivo',Arial,sans-serif;font-weight:800;font-size:14.5px;letter-spacing:.03em;text-transform:uppercase;padding:13px 26px;border-radius:6px;border:2px solid rgba(28,42,50,.25);transition:all .2s}
.ta-btn-line:hover{border-color:var(--accent);color:var(--accent)!important}
.ta-hero .ta-btn-line,.ta-phero .ta-btn-line{color:#fff!important;border-color:rgba(255,255,255,.4)}
.ta-hero .ta-btn-line:hover,.ta-phero .ta-btn-line:hover{border-color:var(--amber);color:var(--amber)!important}
.ta-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px}
.ta-ctas2{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-top:28px}

/* ---------- home hero (dark-photo variant) ---------- */
.ta-hero{position:relative;height:clamp(400px,52vh,560px);min-height:0;display:flex;align-items:center;overflow:hidden}
.ta-hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ta-hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(28,42,50,.93) 0%,rgba(28,42,50,.74) 45%,rgba(28,42,50,.28) 82%)}
.ta-hero-in{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:88px 24px;width:100%;min-width:0}
.ta-kick{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);margin-bottom:16px}
.ta-kick:before{content:"";width:17px;height:17px;background:url(/assets/img/logo-mark-ta.svg) center/contain no-repeat;display:block}
.ta-hero h1{font-size:clamp(36px,6vw,64px);line-height:1.03;margin:0 0 18px;color:#fff}
.ta-hero h1 span{color:var(--amber)}
.ta-hero .ta-lead{color:rgba(255,255,255,.85);max-width:480px;margin:0 0 30px}

/* ---------- inner page hero ---------- */
.ta-phero{background:var(--dark);color:#fff;padding:64px 24px 52px;text-align:center}
.ta-phero .ta-kick{justify-content:center}
.ta-phero h1{font-size:clamp(30px,5.2vw,50px);line-height:1.06;margin:0 0 14px;color:#fff}
.ta-phero h1 span{color:var(--amber)}
.ta-phero .ta-lead{max-width:560px;margin:0 auto;color:rgba(255,255,255,.8)}

/* ---------- trust chip strip ---------- */
.ta-chipstrip{background:var(--alt);padding:20px 0;border-bottom:1px solid rgba(28,42,50,.08)}
.ta-chipstrip .ta-wrap{display:flex;gap:26px;flex-wrap:wrap;justify-content:center}
.ta-chip{color:var(--dark);font-weight:700;font-size:12.5px;letter-spacing:.03em;display:flex;align-items:center;gap:8px}
.ta-chip:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);display:block;flex:none}

/* ---------- section / heading / lead ---------- */
.ta-sec{padding:68px 0}
.ta-h2{font-size:clamp(27px,4vw,42px);line-height:1.06;margin:0 0 14px;color:var(--dark)}
.ta-h2 span{color:var(--accent)}
.ta-lead{font-size:15.5px;line-height:1.65;color:#4a5760;max-width:560px}
.ta-center{text-align:center}
.ta-center .ta-lead{margin:0 auto}

/* ---------- cards ---------- */
.ta-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}
@media(max-width:900px){.ta-cards{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto}}
.ta-card{background:var(--card);border-radius:6px;border-left:3px solid var(--accent);box-shadow:0 2px 10px rgba(28,42,50,.06);overflow:hidden;transition:transform .3s,box-shadow .3s;min-width:0}
.ta-card:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(28,42,50,.14)}
.ta-photo{height:185px;overflow:hidden}
.ta-photo img{width:100%;height:100%;object-fit:cover;display:block}
.ta-card-in{padding:22px 24px 26px}
.ta-card-in h3{font-size:20px;margin:0 0 8px;color:var(--dark)}
.ta-card-in p{font-size:14px;line-height:1.6;color:#54606d;margin:0 0 14px}
.ta-meta{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}

/* ---------- split ---------- */
.ta-split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;min-width:0}
@media(max-width:880px){.ta-split{grid-template-columns:1fr;gap:32px}}
.ta-split h2,.ta-split p{text-align:left}
.ta-split .ta-lead{margin:0 0 18px;max-width:none}
.ta-img{position:relative;overflow:hidden;border-radius:6px;border-left:4px solid var(--accent);min-width:0}
.ta-img img{width:100%;min-height:340px;object-fit:cover;display:block;max-width:100%}

/* ---------- checks ---------- */
.ta-checks{list-style:none;margin:22px 0 0;padding:0;text-align:left}
.ta-checks li{padding:11px 0 11px 30px;position:relative;font-size:14.5px;color:#3c4a58;border-bottom:1px solid rgba(28,42,50,.08)}
.ta-checks li:before{content:"";position:absolute;left:2px;top:16px;width:9px;height:5px;border-left:3px solid var(--accent);border-bottom:3px solid var(--accent);transform:rotate(-45deg)}

/* ---------- steps ---------- */
.ta-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}
@media(max-width:900px){.ta-steps{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto}}
.ta-step{background:#fff;border-radius:6px;border-top:3px solid var(--accent);padding:26px 24px;text-align:center;box-shadow:0 2px 10px rgba(28,42,50,.05);min-width:0}
.ta-step b{font-family:'Archivo',Arial,sans-serif;font-weight:800;font-size:28px;color:var(--accent);display:block;margin-bottom:6px}
.ta-step h3{font-size:18px;margin:0 0 8px;color:var(--dark)}
.ta-step p{font-size:14px;line-height:1.6;color:#54606d;margin:0}

/* ---------- common-problems grid (home) ---------- */
.ta-probs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}
@media(max-width:900px){.ta-probs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.ta-probs{grid-template-columns:1fr}}
.ta-prob{background:#fff;border-radius:6px;border-left:3px solid var(--amber);padding:20px 22px;box-shadow:0 2px 8px rgba(28,42,50,.05);min-width:0}
.ta-prob h3{font-size:16px;margin:0 0 6px;color:var(--dark);text-transform:none;letter-spacing:0}
.ta-prob p{font-size:13.5px;line-height:1.55;color:#54606d;margin:0}

/* ---------- stats ---------- */
.ta-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px;min-width:0}
.ta-stat{background:#fff;padding:20px 14px;text-align:center;border-bottom:3px solid var(--accent);border-radius:6px;min-width:0}
.ta-stat b{display:block;font-family:'Archivo',Arial,sans-serif;font-weight:800;font-size:28px;color:var(--accent)}
.ta-stat span{font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#5c6774}

/* ---------- offer-list / cost rows ---------- */
.ta-menu{margin-top:16px}
.ta-mcat{font-size:23px;margin:40px 0 4px;color:var(--dark)}
.ta-mcat:first-child{margin-top:0}
.ta-msub{font-size:13.5px;color:#5c6774;margin:0 0 16px;text-transform:none;letter-spacing:0;font-family:'Inter',Arial,sans-serif;font-weight:400}
.ta-mrow{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:16px 0;border-bottom:1px dashed rgba(28,42,50,.2);min-width:0}
.ta-mrow div{min-width:0}
.ta-mrow h4{font-size:16px;margin:0 0 4px;color:var(--dark);font-family:'Inter',Arial,sans-serif;font-weight:600;text-transform:none;letter-spacing:0}
.ta-mrow p{font-size:13.5px;line-height:1.55;color:#57646f;margin:0}
.ta-mprice{font-family:'Archivo',Arial,sans-serif;font-weight:800;color:var(--accent);font-size:16.5px;white-space:nowrap;flex:none}
@media(max-width:380px){.ta-mrow{flex-direction:column}.ta-mprice{margin-top:4px}}

/* ---------- FAQ ---------- */
.ta-faq details{background:#fff;border-radius:6px;border-left:3px solid var(--accent);margin-bottom:12px;padding:2px 22px;box-shadow:0 2px 8px rgba(28,42,50,.05)}
.ta-faq summary{cursor:pointer;padding:16px 34px 16px 0;font-family:'Archivo',Arial,sans-serif;font-weight:800;font-size:15px;color:var(--dark);position:relative;list-style:none;text-transform:none;letter-spacing:0}
.ta-faq summary::-webkit-details-marker{display:none}
.ta-faq summary::marker{display:none;content:""}
.ta-faq summary:after{content:"+";position:absolute;right:2px;top:11px;font-size:22px;color:var(--accent);transition:transform .25s;font-family:'Archivo',Arial,sans-serif}
.ta-faq details[open] summary:after{transform:rotate(45deg)}
.ta-faq summary:focus{outline:none}
.ta-faq p{margin:0 0 18px;font-size:14px;line-height:1.65;color:#4a5766}

/* ---------- service-area strip / list ---------- */
.ta-areas{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:22px}
.ta-areas a,.ta-areas span{background:#fff;border:1px solid rgba(28,42,50,.14);padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;color:var(--dark);text-decoration:none;transition:border-color .2s,color .2s}
.ta-areas a:hover{border-color:var(--accent);color:var(--accent)}
.ta-area-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:44px}
@media(max-width:700px){.ta-area-cards{grid-template-columns:1fr}}
.ta-area-card{background:#fff;border-radius:6px;border-left:3px solid var(--accent);padding:22px 24px;box-shadow:0 2px 8px rgba(28,42,50,.05);min-width:0}
.ta-area-card h3{font-size:18px;margin:0 0 8px;color:var(--dark)}
.ta-area-card p{font-size:14px;line-height:1.6;color:#54606d;margin:0}

/* ---------- CTA band ---------- */
.ta-band{position:relative;overflow:hidden;padding:64px 40px;text-align:center;background:linear-gradient(135deg,rgba(14,124,134,.09),rgba(244,118,44,.07));border:1px solid rgba(14,124,134,.16);border-radius:6px;min-width:0}
.ta-band h2{margin-bottom:12px}

/* ---------- contact page ---------- */
.ta-callpanel{background:var(--dark);border-radius:6px;padding:48px 40px;text-align:center;color:#fff}
.ta-bignum{display:inline-block;font-family:'Archivo',Arial,sans-serif;font-weight:800;font-size:clamp(34px,6vw,56px);color:var(--amber);text-decoration:none;letter-spacing:.01em;white-space:nowrap}
.ta-hours{margin-top:18px;color:rgba(255,255,255,.75);font-size:14.5px}

/* ---------- footer ---------- */
.ta-foot{background:var(--dark);color:rgba(255,255,255,.62);padding:48px 24px 100px;text-align:center;font-size:13px}
.ta-foot .disp{font-size:21px;color:#fff;display:block;margin-bottom:10px;font-family:'Archivo',Arial,sans-serif;font-weight:800;text-transform:uppercase}
.ta-foot .disp span{color:var(--amber)}
.ta-foot-links{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin:18px 0;list-style:none;padding:0}
.ta-foot-links a{color:rgba(255,255,255,.7);text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.ta-foot-links a:hover{color:var(--amber)}
.ta-foot p{max-width:640px;margin:14px auto;line-height:1.6;color:rgba(255,255,255,.5)}
.ta-foot .ta-copy{font-size:12px;color:rgba(255,255,255,.4);margin-top:18px}
@media(max-width:760px){.ta-foot{padding-bottom:100px}}

/* ---------- sticky mobile call bar ---------- */
.ta-callbar{display:none}
@media(max-width:760px){
  .ta-callbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:950;background:var(--amber);color:var(--dark)!important;text-decoration:none;justify-content:center;align-items:center;gap:8px;padding:15px 20px;font-family:'Archivo',Arial,sans-serif;font-weight:800;font-size:14.5px;text-transform:uppercase;letter-spacing:.03em;box-shadow:0 -4px 18px rgba(0,0,0,.18)}
}

/* ==========================================================================
   Overflow-guard — 320px floor (Website-Guidelines_v2 §1), scoped .ta
   ========================================================================== */
.ta [class*="-hero"]>*,.ta [class*="-split"]>*,.ta [class*="-two"]>*,.ta [class*="-stats"]>*,.ta [class*="-cards"]>*,.ta [class*="-steps"]>*{min-width:0}
.ta img,.ta [class*="-img"]{max-width:100%}
@media(max-width:380px){
  .ta [class*="-band"]{padding-left:20px;padding-right:20px}
  .ta h1,.ta h2,.ta h3{max-width:none;width:auto}
  .ta [class*="-stats"]{grid-template-columns:1fr}
  .ta [class*="-hero"],.ta [class*="-split"],.ta [class*="-two"],.ta [class*="-cards"],.ta [class*="-steps"],.ta [class*="-probs"],.ta [class*="-area-cards"]{grid-template-columns:1fr}
  .ta [class*="-mrow"]{flex-direction:column}
  .ta-logo{font-size:16px;max-width:190px}
  .ta-nav-in{gap:10px}
  .ta-callpanel{padding:34px 20px}
}

@media(max-width:380px){.ta-bignum{font-size:24px}}

.ta-card-in h3,.ta-prob h3,.ta-area-card h3,.ta-card-in .ta-meta{text-align:center}
.ta-card-in p{text-align:center}

.ta-logo{line-height:1.12}

.ta-logo>span{line-height:1.12}.ta-logo>span span:last-child{color:var(--accent)}

@media(max-width:380px){.ta-nav-in{padding:10px 12px;gap:8px}.ta-logo{font-size:12px;gap:7px}.ta-logo img{width:26px!important;height:26px!important}.ta-links{gap:8px}.ta-links .ta-btn{padding:9px 13px;font-size:12px}}

.ta-logo>span span:last-child,.ta-foot .disp span{background:linear-gradient(94deg,#FFB27A 0%,#F4762C 45%,#D95F1B 100%);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.ta-hero h1 span,.ta-phero h1 span{background:linear-gradient(94deg,#FFB27A 0%,#F4762C 45%,#D95F1B 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
/* ta-grad marker */

html{overflow-y:scroll;scrollbar-gutter:stable}

/* ---------- 2026-07-14: mobile menu, badge alignment, keep-together ---------- */
.ta-burger{display:none;background:none;border:0;cursor:pointer;padding:6px;flex-direction:column;gap:5px;flex:none}
.ta-burger span{display:block;width:22px;height:3px;border-radius:2px;background:var(--dark)}
.ta-mnav{display:none}
@media(max-width:760px){
  .ta-burger{display:flex}
  .ta-nav.open .ta-mnav{display:block;border-top:1px solid #e4e0d5;background:rgba(247,246,242,.98)}
  .ta-mnav a{display:block;text-align:center;padding:12px 0;font-weight:700;color:var(--dark);text-decoration:none;font-size:15px}
  .ta-mnav a+a{border-top:1px solid #eeeae0}
}
.ta-card{display:flex;flex-direction:column}
.ta-card-in{display:flex;flex-direction:column;flex:1;width:100%}
.ta-card-in .ta-meta{margin-top:auto}
.ta-keep{display:inline-block}

/* ---------- 2026-07-14b: 320px clip fixes ---------- */
img[src*="diagram"]{object-fit:contain;background:#efece4;height:auto;min-height:0;aspect-ratio:800/500}
@media(max-width:380px){
  .ta .ta-h2{font-size:22px}
  .ta .ta-band{padding:48px 14px}
}

/* 2026-07-14d: hero must grow with content (320px was clipping CTA buttons) */
.ta .ta-hero{height:auto;min-height:clamp(400px,52vh,560px)}

/* 2026-07-14e: balance city chips (no single-orphan row) */
@media(min-width:700px){.ta-areas{max-width:680px;margin-left:auto;margin-right:auto}}

/* 2026-07-14h: nav = single row always; logo flexes + truncates; overlap impossible */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.ta-nav-in{flex-wrap:nowrap}
.ta-logo{flex:1 1 auto;min-width:0;overflow:hidden}
.ta-logo>span{min-width:0;overflow:hidden}
.ta-logo>span>span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.ta-logo{font-size:clamp(11px,3.4vw,16px)}}

/* 2026-07-14i: free nav space ≤480 so wordmark fits untruncated on standard phones */
@media(max-width:480px){.ta-nav-in{padding-left:14px;padding-right:14px;gap:10px}.ta-links{gap:8px}}

/* 2026-07-14j: wordmark spans are blocks now — the old <br> adds a phantom blank line, kill it */
.ta-logo>span br{display:none}

/* 2026-07-14k: callpanel — kicker on its own line, phone number centered beneath */
.ta-callpanel .ta-kick{display:flex;justify-content:center;margin-bottom:10px}
.ta-callpanel .ta-bignum{display:block}

/* 2026-07-14n: colored phrase spans in headings move as one unit, never split */
.ta-h2 span,.ta-hero h1 span,.ta-phero h1 span{display:inline-block}
