@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
:root{--tg-accent:#78be20;--tg-dark:#101410;--ink:#111711;--muted:#687168;--paper:#f6f8f4;--line:#dfe6db;--white:#fff;--radius:22px;--shadow:0 22px 70px rgba(21,29,20,.12)}
*{box-sizing:border-box}html{
behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}svg{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.narrow{width:min(860px,calc(100% - 40px));margin:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:20px;top:20px;z-index:999;background:#fff;padding:10px}.site-header{position:fixed;z-index:100;inset:0 0 auto;background:rgba(246,248,244,.82);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:.25s}.site-header.scrolled{border-color:var(--line);box-shadow:0 8px 28px rgba(0,0,0,.05)}.header-inner{height:82px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.custom-logo-link{display:flex}.custom-logo{max-height:48px;width:auto}.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:var(--tg-accent);color:#0a1008;border-radius:9px;font-size:13px;font-weight:900}.brand-name{font-size:18px;letter-spacing:.08em;font-weight:900}.brand-name b{color:var(--tg-accent)}.nav-list{display:flex;gap:26px;list-style:none;margin:0;padding:0;font-size:14px;font-weight:700}.nav-list a{transition:.2s}.nav-list a:hover{color:#4c7f09}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:0 22px;border:1px solid var(--tg-accent);border-radius:12px;background:var(--tg-accent);color:#101410;font-size:14px;font-weight:800;box-shadow:0 10px 30px rgba(120,190,32,.2);transition:.22s;cursor:pointer}.btn:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(120,190,32,.28)}.btn-small{min-height:42px;padding:0 16px}.btn-ghost{background:transparent;border-color:#bdc8b9;box-shadow:none}.btn-ghost:hover{border-color:var(--tg-accent);box-shadow:none}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span:not(.screen-reader-text){display:block;width:23px;height:2px;background:var(--ink);margin:5px}.screen-reader-text{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}.hero{position:relative;overflow:hidden;padding:160px 0 86px;background:linear-gradient(135deg,#f8faf6 0%,#eef4e8 100%)}.hero-grid-bg{position:absolute;inset:0;opacity:.45;background-image:linear-gradient(rgba(37,57,30,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(37,57,30,.055) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to bottom,black,transparent)}.hero-layout{position:relative;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:70px}.eyebrow,.kicker{display:flex;align-items:center;gap:9px;color:#567b25;font-size:13px;line-height:1.3;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.pulse{width:8px;height:8px;border-radius:50%;background:var(--tg-accent);box-shadow:0 0 0 7px rgba(120,190,32,.14)}h1,h2,h3{line-height:1.08;margin:0 0 18px;letter-spacing:-.035em}.hero h1,.brand-hero h1{font-size:clamp(49px,6vw,82px);font-weight:900;margin-top:22px}.hero h1 span,.brand-hero h1 span{color:#5e8f1e}.hero-lead,.brand-hero p{font-size:18px;color:#546052;max-width:670px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 26px}.hero-trust{display:flex;flex-wrap:wrap;gap:20px;color:#4d594c;font-size:13px;font-weight:700}.hero-trust span{display:flex;align-items:center;gap:6px}.hero-trust svg{color:#5f9917}.hero-card{position:relative;min-height:490px;border-radius:32px;background:#111711;box-shadow:var(--shadow);overflow:hidden}.hero-card:before{content:"";position:absolute;width:350px;height:350px;border-radius:50%;background:var(--tg-accent);filter:blur(80px);opacity:.16;right:-90px;top:-80px}.device-stack{position:absolute;inset:70px 40px 100px;display:flex;align-items:flex-end;justify-content:center}.device{position:absolute;background:#222b20;border:2px solid #5f6d5b;box-shadow:0 18px 35px rgba(0,0,0,.35)}.device div{position:absolute;inset:7px;background:radial-gradient(circle at 70% 20%,rgba(120,190,32,.7),transparent 28%),linear-gradient(145deg,#202c1b,#0c110b);border-radius:inherit}.phone{width:118px;height:236px;border-radius:26px;z-index:3;left:50%;transform:translateX(-50%) rotate(-5deg);bottom:14px}.tablet{width:205px;height:295px;border-radius:20px;z-index:2;right:35px;bottom:5px;transform:rotate(7deg)}.laptop{width:300px;height:180px;border-radius:13px;left:0;bottom:8px;transform:rotate(-5deg)}.laptop:after{content:"";position:absolute;width:340px;height:12px;background:#353f31;left:-20px;bottom:-13px;border-radius:2px 2px 14px 14px}.route-card{position:absolute;left:28px;right:28px;bottom:22px;z-index:6;padding:16px 18px;display:flex;gap:13px;align-items:center;border:1px solid #35412f;border-radius:14px;background:rgba(25,32,23,.92);color:white}.route-card .route-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:var(--tg-accent);color:#111}.route-card div{display:flex;flex-direction:column}.route-card small{color:#aeb8aa}.hero-badge{position:absolute;right:24px;top:24px;z-index:7;display:flex;flex-direction:column;align-items:flex-end;color:#fff}.hero-badge b{font-size:13px;letter-spacing:.14em}.hero-badge span{font-size:13px;letter-spacing:.16em;color:var(--tg-accent)}.service-strip{background:#101410;color:#fff;border-top:1px solid #263121}.strip-inner{display:grid;grid-template-columns:repeat(4,1fr)}.strip-inner>div{display:flex;align-items:center;gap:12px;padding:22px 18px;border-right:1px solid #273225}.strip-inner>div:last-child{border:0}.strip-inner svg{font-size:25px;color:var(--tg-accent)}.strip-inner span{display:flex;flex-direction:column}.strip-inner b{font-size:13px}.strip-inner small{font-size:13px;color:#9ba796}.section{padding:100px 0}.section-heading{max-width:710px;margin-bottom:44px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card{position:relative;min-height:360px;padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff;transition:.25s}.service-card:hover{transform:translateY(-6px);border-color:#b7cf9a;box-shadow:0 20px 45px rgba(37,58,31,.08)}.service-card .num{display:block;margin-bottom:60px;color:#7b8977;font-size:13px;font-weight:800}.service-card h3{font-size:27px}.service-card p{color:#697368;font-size:14px}.service-card small{display:block;color:#4e594c;font-size:13px;line-height:1.6}.service-card a{position:absolute;left:28px;bottom:25px;display:flex;align-items:center;gap:8px;color:#4f8410;font-size:13px;font-weight:900}.process{background:var(--paper)}.process-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}.text-link{display:inline-flex;gap:7px;align-items:center;color:#4f8410;font-size:13px;font-weight:900}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:21px;top:25px;bottom:25px;width:1px;background:#c8d6c1}.timeline>div{position:relative;display:flex;gap:24px;padding:0 0 35px}.timeline b{position:relative;z-index:2;display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:50%;background:#101410;color:var(--tg-accent);font-size:13px}.timeline span{display:flex;flex-direction:column;padding-top:2px}.timeline strong{font-size:16px}.timeline small{margin-top:5px;color:#697368;font-size:13px}.expertise{background:#fff}.brands{background:#f8faf6}.brand-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.brand-chip{display:flex;justify-content:space-between;align-items:center;min-height:66px;padding:0 18px;border:1px solid var(--line);border-radius:11px;background:#fff;font-size:13px;font-weight:800;transition:.2s}.brand-chip:hover{border-color:var(--tg-accent);transform:translateY(-2px)}.brand-chip svg{color:#669f20}.cta-section{padding:0 0 100px}.cta-card{padding:65px;border-radius:30px;background:linear-gradient(135deg,#6aaa1b,var(--tg-accent));color:#0d130b;position:relative;overflow:hidden}.cta-card:before{content:"";position:absolute;right:-80px;top:-170px;width:500px;height:500px;border:1px solid rgba(0,0,0,.1);border-radius:50%;box-shadow:0 0 0 60px rgba(255,255,255,.05),0 0 0 120px rgba(255,255,255,.04)}.cta-card>*{position:relative;z-index:1}.cta-card .kicker{color:#213512}.cta-card p{color:#29411b;max-width:580px}.cta-card .btn{background:#101410;color:#fff;border-color:#101410}.cta-card .btn-ghost.light{background:transparent;color:#101410;border-color:rgba(0,0,0,.35)}.site-footer{background:#0d110c;color:#c9d1c6;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:50px}.footer-brand{font-weight:900;letter-spacing:.08em;color:#fff}.footer-brand strong{color:var(--tg-accent)}.footer-grid p{max-width:330px;color:#879184;font-size:13px}.footer-grid h3{font-size:13px;color:#fff;margin-bottom:16px}.footer-grid a{display:block;margin:9px 0;color:#9aa496;font-size:13px}.footer-grid a:hover{color:var(--tg-accent)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:55px;padding-top:20px;border-top:1px solid #272e25;color:#687066;font-size:13px}.mobile-book{display:none}.brand-hero{position:relative;padding:165px 0 95px;background:linear-gradient(135deg,#f8faf6,#eef4e8);overflow:hidden}.brand-hero.compact{padding-bottom:65px}.brand-hero .narrow{position:relative}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px}.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.tag-row span{padding:8px 11px;background:#eef4e8;border-radius:20px;color:#54781f;font-size:13px;font-weight:800}.issue-list{padding:34px;border:1px solid var(--line);border-radius:20px;background:#fff}.issue-list h3{font-size:22px}.issue-list>div{display:flex;gap:10px;align-items:center;padding:15px 0;border-top:1px solid #edf0ea;font-size:13px}.issue-list svg{color:#5d9814}.faq-card{max-width:900px;margin:auto}.faq-card details{border-bottom:1px solid var(--line);padding:20px 0}.faq-card summary{cursor:pointer;font-weight:800;font-size:15px}.faq-card details p{color:var(--muted);font-size:14px}.page-hero{padding:150px 0 55px;background:var(--paper)}.page-hero h1{font-size:55px}.content{font-size:16px}.form-layout{display:grid;grid-template-columns:1.45fr .75fr;gap:32px;align-items:start}.form-card,.contact-card{padding:34px;border:1px solid var(--line);border-radius:20px;background:#fff}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}input,select,textarea{width:100%;border:1px solid #ccd5c8;border-radius:10px;background:#fdfefd;padding:13px 14px;font:inherit;font-size:14px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--tg-accent);box-shadow:0 0 0 3px rgba(120,190,32,.12)}textarea{resize:vertical}.hp{position:absolute;left:-9999px}.form-note{font-size:13px;color:#798277}.notice{padding:13px 15px;border-radius:10px;margin-bottom:18px;font-size:13px}.success{background:#edf7e2;color:#345b08}.error{background:#fff0ef;color:#8b2420}.contact-card{background:#101410;color:#fff}.contact-card h2{font-size:35px}.contact-link{display:flex;align-items:center;gap:15px;padding:18px 0;border-top:1px solid #323a2f}.contact-link>svg{font-size:22px;color:var(--tg-accent)}.contact-link span{display:flex;flex-direction:column}.contact-link small{color:#8f998b;font-size:13px}.contact-link strong{font-size:16px}.area-box{margin-top:20px;padding:17px;border-radius:12px;background:#1b2319}.area-box b{display:flex;gap:7px;align-items:center;font-size:13px}.area-box p{font-size:13px;color:#9aa496}.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.primary-nav,.header-cta{display:none}.menu-toggle{display:block}.primary-nav.open{display:block;position:absolute;top:81px;left:0;right:0;padding:18px 20px;background:#fff;border-bottom:1px solid var(--line)}.primary-nav.open .nav-list{flex-direction:column;gap:6px}.primary-nav.open .nav-list a{display:block;padding:12px}.hero-card{min-height:430px}.service-grid{grid-template-columns:1fr 1fr}.brand-grid{grid-template-columns:repeat(3,1fr)}.strip-inner{grid-template-columns:1fr 1fr}.strip-inner>div:nth-child(2){border-right:0}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}.process-layout{gap:35px}}
@media(max-width:640px){.wrap,.narrow{width:min(100% - 28px,1180px)}.header-inner{height:70px}.custom-logo{max-height:40px}.hero{padding:125px 0 65px}.hero-lead,.brand-hero p{font-size:16px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}.hero-card{min-height:355px}.device-stack{inset:55px 20px 92px}.phone{width:90px;height:185px}.tablet{width:150px;height:220px;right:10px}.laptop{width:220px;height:135px}.laptop:after{width:250px}.route-card{left:14px;right:14px;bottom:13px}.service-strip{display:none}.section{padding:70px 0}.service-grid{grid-template-columns:1fr}.service-card{min-height:285px}.service-card .num{margin-bottom:35px}.brand-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.mobile-book{display:block;position:fixed;z-index:99;left:14px;right:14px;bottom:14px;padding:14px;text-align:center;border-radius:11px;background:var(--tg-accent);font-size:13px;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.2)}body{padding-bottom:66px}.brand-hero{padding:125px 0 70px}.field-row{grid-template-columns:1fr}}

/* RepairBeacon Booking integration */
.tg-booking-section{background:linear-gradient(180deg,#fff 0%,#f5f7f5 100%)}
.booking-intro-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:42px;align-items:end;margin-bottom:34px}
.booking-intro-grid h2{margin:.35rem 0 .7rem}
.booking-trust{display:grid;gap:10px;padding:22px;border:1px solid rgba(16,20,16,.1);border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(16,20,16,.06)}
.booking-trust span{display:flex;align-items:center;gap:9px;font-weight:700;color:var(--tg-dark)}
.booking-trust svg{width:18px;height:18px;fill:none;stroke:var(--tg-accent);stroke-width:2.3}
.tg-repairbeacon-embed{max-width:1100px;margin:0 auto}
.tg-repairbeacon-embed .wfab-root{--wfab-accent:var(--tg-accent)}
@media(max-width:800px){.booking-intro-grid{grid-template-columns:1fr;gap:22px}}.footer-logo{display:block;width:min(250px,100%);height:auto;margin-bottom:14px}.about-story-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:start}.about-copy h2{font-size:clamp(34px,4vw,54px);margin-top:16px}.about-copy p{color:var(--muted);font-size:16px}.about-service-grid .service-card{color:var(--ink)}.legal-updated{font-size:13px;color:var(--muted)}.legal-note{padding:24px;border-left:4px solid var(--tg-accent);border-radius:0 14px 14px 0;background:#f3f7ef}.legal-note strong{font-size:17px}.legal-note p{margin-bottom:0}.legal-contact{margin-top:48px;padding:30px;border-radius:22px;background:#101410;color:#fff}.legal-contact h2{color:#fff;margin-top:0}.legal-contact p{color:#aeb7aa}.legal-contact .btn-ghost{color:#fff;border-color:#53604f}@media(max-width:980px){.about-story-grid{grid-template-columns:1fr;gap:35px}}@media(max-width:640px){.footer-logo{max-width:220px}.legal-content h2{font-size:21px}}

.hero-logo-badge{align-items:flex-end}.hero-logo-badge img{display:block;width:170px;height:auto}.hero-logo-badge span{margin-top:5px}@media(max-width:640px){.hero-logo-badge img{width:135px}}

.legal-content{font-size:15px;line-height:1.8}.legal-content h2{margin:42px 0 15px;font-size:28px}.legal-content h2:first-child{margin-top:0}.legal-content h3{margin:25px 0 10px;font-size:19px}.legal-content p{margin:0 0 16px;color:#485247}.legal-warranty-block{margin:18px 0;padding:20px;border:1px solid var(--line);border-radius:14px;background:#f8faf6}.legal-warranty-block h3{margin:0 0 7px}.legal-warranty-block p{margin:0}.legal-contact{margin-top:48px;padding:30px;border-radius:20px;background:#101410;color:#fff}


/* v1.4.2 layout and rendering hardening */
img,svg{max-width:100%}
h1,h2,h3,p,a,strong,small,span{overflow-wrap:break-word}
.btn{max-width:100%;white-space:normal;text-align:center;line-height:1.25;padding-top:12px;padding-bottom:12px}
.service-card{display:flex;flex-direction:column;height:auto;min-height:360px}
.service-card .num{margin-bottom:40px}
.service-card a{position:static;margin-top:auto;padding-top:22px;line-height:1.35}
.brand-chip span,.contact-link span,.timeline span{min-width:0}
.contact-link strong,.footer-grid a{overflow-wrap:anywhere}
.legal-content{opacity:1!important;transform:none!important}
.legal-content h2,.legal-content h3{overflow-wrap:anywhere}
.legal-warranty-block{overflow:hidden}
.primary-nav.open{max-height:calc(100vh - 70px);overflow-y:auto}
@media(max-width:980px){.header-inner{gap:16px}.service-card{min-height:0}.footer-grid{gap:34px}}
@media(max-width:640px){
  .wrap,.narrow{width:min(calc(100% - 28px),1180px)}
  .brand{min-width:0}.custom-logo-link{min-width:0}.custom-logo{max-width:min(220px,65vw);height:auto}
  .hero h1,.brand-hero h1{font-size:clamp(38px,13vw,48px);line-height:1.02}
  .page-hero h1{font-size:clamp(36px,12vw,48px)}
  .brand-grid{grid-template-columns:1fr}
  .service-card{padding:24px;min-height:0}.service-card .num{margin-bottom:24px}.service-card a{padding-top:18px}
  .issue-list,.form-card,.contact-card,.legal-contact{padding:24px 20px}
  .legal-content{font-size:14px;line-height:1.72}.legal-content h2{font-size:21px;line-height:1.18}.legal-content h3{font-size:17px;line-height:1.25}
  .legal-warranty-block{padding:17px}
  .route-card{gap:10px;padding:13px}.route-card .route-icon{flex:0 0 38px;width:38px;height:38px}.route-card small{line-height:1.3}
  .hero-badge{right:16px;top:16px}.hero-logo-badge img{max-width:120px}
  .footer-grid{grid-template-columns:1fr;gap:24px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* v1.5.0 visual storytelling, beacon motion, and local-service polish */
.eyebrow{position:relative}.pulse{position:relative;isolation:isolate;flex:0 0 9px;width:9px;height:9px;box-shadow:0 0 12px rgba(120,190,32,.72)}
.pulse:before,.pulse:after{content:"";position:absolute;inset:-1px;border:1.5px solid rgba(120,190,32,.62);border-radius:50%;z-index:-1;animation:tgBeaconPulse 2.6s cubic-bezier(.2,.65,.35,1) infinite}
.pulse:after{animation-delay:1.3s}
@keyframes tgBeaconPulse{0%{transform:scale(.8);opacity:.95}70%,100%{transform:scale(4.2);opacity:0}}
.mini-beacon{position:relative;display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--tg-accent);box-shadow:0 0 10px rgba(120,190,32,.75);margin-right:8px}.mini-beacon:after{content:"";position:absolute;inset:-4px;border:1px solid rgba(120,190,32,.35);border-radius:50%;animation:tgMiniBeacon 2.8s ease-out infinite}@keyframes tgMiniBeacon{0%,30%{transform:scale(.6);opacity:0}45%{opacity:1}100%{transform:scale(2);opacity:0}}
.visual-hero{position:relative;overflow:hidden}.visual-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:58px;align-items:center}.brand-hero.visual-hero .visual-hero-grid{width:min(1180px,calc(100% - 40px));margin:auto}.page-hero.visual-hero .visual-hero-grid{width:min(1180px,calc(100% - 40px));margin:auto}.visual-hero .hero-visual{margin:0}
.visual-card{--tilt-x:0deg;--tilt-y:0deg;position:relative;margin:0;border:1px solid rgba(65,84,58,.13);border-radius:26px;background:#fff;box-shadow:0 24px 70px rgba(25,36,22,.12);overflow:hidden;transform:perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.visual-card:hover{border-color:rgba(120,190,32,.45);box-shadow:0 30px 80px rgba(25,36,22,.16),0 0 0 1px rgba(120,190,32,.08)}.visual-card img{display:block;width:100%;height:auto}.visual-card figcaption{display:flex;align-items:center;min-height:50px;padding:12px 17px;background:#101410;color:#dce4d8;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.float-soft{animation:tgFloat 7s ease-in-out infinite}@keyframes tgFloat{0%,100%{transform:perspective(900px) translateY(0) rotateX(var(--tilt-x)) rotateY(var(--tilt-y))}50%{transform:perspective(900px) translateY(-8px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y))}}
.ambient-card:after{content:"";position:absolute;inset:auto -25% -45% 25%;height:65%;background:radial-gradient(circle,rgba(120,190,32,.23),transparent 68%);pointer-events:none;animation:tgGlowDrift 8s ease-in-out infinite alternate}@keyframes tgGlowDrift{to{transform:translate(-9%,-8%) scale(1.14)}}
.home-hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.86}.hero-card .home-hero-art{filter:saturate(.92) contrast(1.02)}
.visual-service-grid .visual-service-card{padding-top:0;overflow:hidden}.visual-service-card .num{margin-bottom:18px}
.image-break-section{padding-top:86px;padding-bottom:86px;background:linear-gradient(180deg,#fff,#f7faf4)}.image-break-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:center}.image-break-grid.reverse{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.image-break-grid.reverse figure{order:2}.image-break-grid .section-heading{margin-bottom:0}.local-copy{font-weight:700;color:#4d6443!important;border-left:3px solid var(--tg-accent);padding-left:16px}.signal-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:24px;color:#354331;font-size:13px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.signal-line>span{width:9px;height:9px;border-radius:50%;background:var(--tg-accent);box-shadow:0 0 0 5px rgba(120,190,32,.13)}.signal-line i{width:28px;height:1px;background:linear-gradient(90deg,var(--tg-accent),#c8d5c1)}
.expertise-image{display:block;width:100%;max-width:500px;margin-top:28px;border:1px solid #303a2d;border-radius:16px;opacity:.82}.contact-card-art{display:block;width:100%;margin:-10px 0 24px;border-radius:14px;opacity:.92}.legal-visual{max-width:480px;justify-self:end}
.btn{position:relative;overflow:hidden}.btn:after{content:"";position:absolute;inset:-70% auto -70% -35%;width:30%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);transition:left .55s ease}.btn:hover:after{left:115%}
.reveal{transition-delay:var(--reveal-delay,0ms)}.reveal.visible{transition-delay:var(--reveal-delay,0ms)}
.footer-nearby{font-size:13px!important;color:#9ca797!important}.site-footer strong{color:#fff}
@media(max-width:980px){.visual-hero-grid,.image-break-grid,.image-break-grid.reverse{grid-template-columns:1fr;gap:34px}.visual-hero .hero-visual{max-width:720px}.image-break-grid.reverse figure{order:0}.legal-visual{justify-self:stretch;max-width:720px}}
@media(max-width:640px){.brand-hero.visual-hero .visual-hero-grid,.page-hero.visual-hero .visual-hero-grid{width:min(calc(100% - 28px),1180px)}.visual-hero-grid{gap:24px}.visual-card{border-radius:19px}.visual-card figcaption{font-size:13px;padding:10px 13px}.image-break-section{padding:64px 0}.image-break-grid{gap:28px}.home-hero-art{opacity:.78}.hero-card{min-height:365px}.hero-logo-badge{z-index:8}.route-card{z-index:8}.signal-line i{width:14px}}
@media(prefers-reduced-motion:reduce){html{
behavior:auto}.pulse:before,.pulse:after,.mini-beacon:after,.float-soft,.ambient-card:after{animation:none!important}.visual-card,.btn,.visual-card{transform:none!important}.reveal{transition:none!important}}

/* v1.5.2 regression-safe visual polish */
.site-header{overflow:visible}.tg-
signal{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden;pointer-events:none}.tg-
signal span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#5c9514,var(--tg-accent),#9ee64b);transform:scaleX(var(--tg-
progress,0));transform-origin:left center;box-shadow:0 0 12px rgba(120,190,32,.55);will-change:transform}
.nav-list a{position:relative}.nav-list a:after{content:"";position:absolute;left:50%;right:50%;bottom:-5px;height:2px;border-radius:4px;background:var(--tg-accent);transition:left .22s ease,right .22s ease,opacity .22s ease;opacity:0}.nav-list a:hover:after,.nav-list .current-menu-item>a:after,.nav-list .current_page_item>a:after{left:0;right:0;opacity:1}
.visual-hero:after{content:"";position:absolute;z-index:0;right:-12vw;top:8%;width:min(46vw,620px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(120,190,32,.11),rgba(120,190,32,.035) 42%,transparent 70%);filter:blur(3px);pointer-events:none}.visual-hero-grid{z-index:1}
/* Local feature: deliberate framed artwork instead of decorative pseudo-boxes. */
.local-feature-section{background:linear-gradient(180deg,#fff 0%,#f5f8f1 100%)}.local-feature-grid{grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);gap:72px}.local-feature-copy{position:relative;padding:12px 0}.local-feature-copy h2{max-width:680px}.local-copy{margin-top:22px;padding:14px 16px;border-left:3px solid var(--tg-accent);border-radius:0 10px 10px 0;background:rgba(120,190,32,.065);font-weight:700;color:#43563b!important}.local-signal{display:flex;align-items:center;gap:11px;margin-top:20px;color:#52624e;font-size:13px;font-weight:800}.local-signal>span{position:relative;width:9px;height:9px;border-radius:50%;background:var(--tg-accent);box-shadow:0 0 0 6px rgba(120,190,32,.11),0 0 14px rgba(120,190,32,.35)}.expertise-copy{align-self:center}.expertise-copy p{max-width:590px}.expertise-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.expertise-tags span{padding:8px 11px;border:1px solid #34402f;border-radius:999px;background:#171f15;color:#c8d2c4;font-size:13px;font-weight:800;letter-spacing:.03em}
.cta-card{box-shadow:0 28px 72px rgba(77,127,9,.18)}
@media(max-width:980px){.visual-hero:after{width:78vw;right:-36vw;top:22%}.local-feature-grid{grid-template-columns:1fr;gap:34px}}
@media(max-width:700px){
  .repairs-signature-hero{padding-top:52px}.local-feature-copy{padding-top:0}}
@media(max-width:640px){.tg-
signal{height:2px}.local-feature-grid{gap:26px}.local-copy{font-size:13px}.expertise-tags{gap:6px}.expertise-tags span{font-size:13px}.nav-list a:after{display:none}}
@media(prefers-reduced-motion:reduce){.tg-
signal span,.nav-list a:after{transition:none!important}}

/* v1.5.3 — landing hero interaction restoration */
.hero-card/* v1.6.0 crawlable model repair directory + model SEO pages */
.model-picker-section{background:linear-gradient(180deg,#fff 0%,#f7faf4 100%);border-top:1px solid rgba(65,84,58,.08);border-bottom:1px solid rgba(65,84,58,.08)}
.model-search-wrap{max-width:760px;margin:-18px 0 34px}.model-search-wrap>label{display:block;margin-bottom:9px;color:#53654d;font-size:13px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.model-search-box{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:56px;padding:0 16px;border:1px solid #d6dfd1;border-radius:14px;background:#fff;box-shadow:0 12px 32px rgba(25,36,22,.06);transition:border-color .2s,box-shadow .2s}.model-search-box:focus-within{border-color:rgba(120,190,32,.7);box-shadow:0 14px 38px rgba(25,36,22,.08),0 0 0 3px rgba(120,190,32,.10)}.model-search-box>span{color:#5e8f1e;font-size:24px;line-height:1}.model-search{min-width:0;width:100%;height:52px;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:15px}.model-search-box small{white-space:nowrap;color:#7a8676;font-size:13px}.model-search-box small b{color:#4f771f}.model-picker{display:grid;gap:38px}.model-type-group{display:grid;gap:16px}.model-type-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:11px;border-bottom:1px solid var(--line)}.model-type-heading h3{margin:0;font-size:22px}.model-type-heading span{color:#788475;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.model-grid{margin-top:0}.model-chip{min-height:64px;align-items:center}.model-chip span{font-size:13px;line-height:1.25}.model-chip[hidden],.model-type-group[hidden]{display:none!important}.model-no-results{padding:28px;border:1px dashed #c9d5c2;border-radius:16px;background:#fff;color:#5a6756;text-align:center;font-weight:700}
.model-repair-page .model-hero .eyebrow{max-width:760px}.model-breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:22px;color:#758071;font-size:13px;font-weight:800}.model-breadcrumb a{color:#4f771f}.model-breadcrumb span{opacity:.5}.model-breadcrumb b{color:#485445}.model-services-section{background:#101410;color:#fff}.model-services-section .section-heading h2{color:#fff}.model-services-section .section-heading p{color:#aeb7aa}.model-services-section .kicker{color:#8fd22f}.model-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.model-service-card{position:relative;display:flex;flex-direction:column;min-height:300px;padding:25px;border:1px solid #303a2d;border-radius:18px;background:linear-gradient(145deg,#171d16,#111610);overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.model-service-card:before{content:"";position:absolute;right:-40px;top:-55px;width:150px;height:150px;border-radius:50%;background:rgba(120,190,32,.08);filter:blur(16px)}.model-service-card:hover{transform:translateY(-4px);border-color:rgba(120,190,32,.55);box-shadow:0 18px 44px rgba(0,0,0,.22)}.model-service-icon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:22px;border:1px solid rgba(120,190,32,.35);border-radius:11px;background:rgba(120,190,32,.09);color:var(--tg-accent)}.model-service-card h3{position:relative;margin-bottom:12px;color:#fff;font-size:18px;line-height:1.2;letter-spacing:-.02em}.model-service-card p{position:relative;margin:0 0 20px;color:#aeb7aa;font-size:13px;line-height:1.65}.model-service-card a{position:relative;display:inline-flex;align-items:center;gap:7px;margin-top:auto;color:#9ddd4b;font-size:13px;font-weight:900}.model-service-card a svg{transition:transform .2s}.model-service-card a:hover svg{transform:translateX(4px)}.model-related .wrap{display:flex;align-items:end;justify-content:space-between;gap:30px}.model-related .section-heading{margin-bottom:0;max-width:760px}
@media(max-width:980px){.model-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.model-related .wrap{display:block}.model-related .btn{margin-top:24px}}
@media(max-width:640px){.model-search-box{grid-template-columns:auto 1fr}.model-search-box small{grid-column:2}.model-type-heading{align-items:flex-start}.model-type-heading h3{font-size:20px}.model-service-grid{grid-template-columns:1fr}.model-service-card{min-height:0}.model-breadcrumb{font-size:13px}}


/* v1.6.1 — Repairs page hero card refinement */



.repairs-hero-media{position:relative;overflow:hidden;background:#111711}
.visual-hero 

.repairs-hero-media:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 54%,rgba(12,17,11,.36) 100%),radial-gradient(circle at 82% 18%,rgba(120,190,32,.13),transparent 34%);
}
.repairs-hero-status{
  position:absolute;
  z-index:3;
  left:18px;
  top:18px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(163,208,108,.22);
  border-radius:999px;
  background:rgba(14,20,13,.80);
  backdrop-filter:blur(12px);
  color:#e8eee4;
  font-size:13px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  transform:translateZ(28px);
}
.repairs-hero-status .mini-beacon{flex:0 0 auto}
@media(prefers-reduced-motion:reduce){
.home-expertise-card .home-expertise-media>img{
  transform:scale(1.015) translate3d(var(--home-art-x),var(--home-art-y),0);
}
.home-expertise-card:hover .home-expertise-media>img{
  transform:scale(1.035) translate3d(var(--home-art-x),var(--home-art-y),0);
}
}
@media(max-width:899px){
  .home-expertise-card .home-expertise-media>img,
  .home-expertise-card:hover .home-expertise-media>img{transform:scale(1.01)}
}


.repair-compare-card{margin:0;position:relative;overflow:hidden;border-radius:30px;background:#101410;box-shadow:0 28px 80px rgba(18,28,15,.2);border:1px solid rgba(120,190,32,.22)}
.repair-compare-stage{position:relative;aspect-ratio:4/3;overflow:hidden;touch-action:none;user-select:none;background:#0e120d}
.repair-compare-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.repair-compare-before{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 calc(100% - var(--compare-position)) 0 0);z-index:2}
.repair-compare-before .repair-compare-img{max-width:none}
.compare-label{position:absolute;top:20px;z-index:5;padding:7px 11px;border-radius:999px;background:rgba(10,14,9,.78);backdrop-filter:blur(8px);color:#fff;font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;border:1px solid rgba(255,255,255,.15)}
.compare-before-label{left:20px}.compare-after-label{right:20px}
.compare-handle{position:absolute;z-index:6;left:var(--compare-position);top:0;bottom:0;width:48px;padding:0;border:0;background:transparent;transform:translateX(-50%);cursor:ew-resize;color:#101410}
.compare-line{position:absolute;left:50%;top:0;bottom:0;width:3px;background:#fff;transform:translateX(-50%);box-shadow:0 0 14px rgba(0,0,0,.25)}
.compare-grip{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--tg-accent);border:4px solid #fff;box-shadow:0 8px 25px rgba(0,0,0,.32);transform:translate(-50%,-50%);font-size:19px;font-weight:900;letter-spacing:3px}
.repair-compare-card figcaption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;color:#fff;background:#101410}
.repair-compare-card figcaption b{font-size:13px}.repair-compare-card figcaption small{color:#aeb8aa}


@media(max-width:700px){.repair-compare-stage{aspect-ratio:1/1.12}.repair-compare-card figcaption{align-items:flex-start;flex-direction:column;gap:2px}

/* Generic real-device hero sizing. */






  
  
}


/* Generic real-device heroes are deliberately smaller too. */








/* Category/manufacturer real-device hero */







/* Exact model device hero */





/* If PHP GD is unavailable, make the original transparent mockup less visually empty. */


@media(max-width:980px){
  .visual-hero-grid{grid-template-columns:1fr;gap:30px}
  
  
  
  
}


/* This sits behind the transparent screen opening. The device PNG/WebP remains untouched. */


/* Default phone screen window. Tight sizing prevents any spill past bezels. */













/* Wider device families should fill the available hero height while remaining contained. */
.visual-hero-grid 


/* Keep the caption out of the phone image and centered below it. */


.visual-hero-grid 

/* Wider device families get their own reduced maximums too. */
.visual-hero-grid 







/*
  Desktop target:
  - phone top visually aligns near the top of the second title line ("14"/"17 Pro Max")
  - phone bottom visually aligns near the bottom of the CTA buttons
  The device scales by height and width follows naturally from its aspect ratio.
*/



















/* iPhone */



/*
  Critical sizing rule:
  Never force both dimensions. The image always keeps its natural aspect ratio.
*/




/* Per-type maximums, still preserving natural aspect ratio */


/* v2.0.7 — SINGLE universal hero system, intrinsic device sizing */
.universal-device-hero{
  margin:0;
  width:100%;
  background:transparent;
  border:0;
  box-shadow:none;
  overflow:visible;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.universal-device-stage{
  width:100%;
  min-height:390px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 0 6px;
  overflow:visible;
}

/*
  The shell and image are width-driven only.
  No fixed height is allowed, so source aspect ratio always wins.
*/
.universal-device-shell{
  position:relative;
  display:inline-block;
  width:auto;
  height:auto;
  max-width:100%;
  isolation:isolate;
}

.universal-device-image{
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  height:auto !important;
  max-width:100%;
  max-height:none !important;
  object-fit:contain;
  object-position:center;
  padding:0;
  margin:0 auto;
  filter:drop-shadow(0 14px 22px rgba(0,0,0,.18));
}

/* Type-specific width only. */
.universal-type-smartphone .universal-device-shell{width:min(300px,42%)}
.universal-type-tablet .universal-device-shell{width:min(520px,72%)}
.universal-type-laptop .universal-device-shell,
.universal-type-desktop .universal-device-shell{width:min(560px,78%)}
.universal-type-watch .universal-device-shell{width:min(220px,30%)}
.universal-type-console .universal-device-shell{width:min(540px,76%)}




.universal-device-hero figcaption{
  position:static;
  width:auto;
  min-height:20px;
  margin:8px 0 0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:transparent;
  border:0;
  color:#53634f;
  font-size:12px;
  font-weight:700;
  line-height:1.25;
  text-align:center;
}
.universal-label-beacon{
  position:relative;
  display:inline-block;
  isolation:isolate;
  flex:0 0 7px;
  width:7px;
  height:7px;
  margin:0;
  border-radius:50%;
  background:var(--tg-accent);
  box-shadow:0 0 10px rgba(120,190,32,.75);
  overflow:visible;
}
.universal-label-beacon::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:50%;
  top:50%;
  width:13px;
  height:13px;
  margin:-6.5px 0 0 -6.5px;
  border:1px solid rgba(120,190,32,.38);
  border-radius:50%;
  transform-origin:center;
  animation:tgMiniBeacon 2.8s ease-out infinite;
  pointer-events:none;
}

@media(max-width:980px){
  .universal-device-stage{min-height:320px}
  .universal-type-smartphone .universal-device-shell{width:min(260px,44%)}
  .universal-type-tablet .universal-device-shell{width:min(460px,72%)}
  .universal-type-laptop .universal-device-shell,
  .universal-type-desktop .universal-device-shell{width:min(500px,80%)}
  .universal-type-watch .universal-device-shell{width:min(190px,32%)}
  .universal-type-console .universal-device-shell{width:min(470px,78%)}
}
@media(max-width:700px){
  .universal-device-stage{min-height:250px}
  .universal-type-smartphone .universal-device-shell{width:min(210px,50%)}
  .universal-type-tablet .universal-device-shell{width:min(360px,82%)}
  .universal-type-laptop .universal-device-shell,
  .universal-type-desktop .universal-device-shell{width:min(390px,90%)}
  .universal-type-watch .universal-device-shell{width:min(160px,40%)}
  .universal-type-console .universal-device-shell{width:min(360px,84%)}
  .universal-device-hero figcaption{font-size:11px}
}


/* Keep the copy column readable while letting the screenshot feel larger. */






/* Reset generic visual-card constraints just for the diagnostics screenshot. */






/* Text remains readable and doesn't expand to fill the extra canvas. */








/* v2.0.11 — SINGLE diagnostics screenshot layout for all computer pages */
.image-break-section .computer-diagnostics-grid{
  width:min(1460px,calc(100% - 36px));
  max-width:1460px;
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(0,1.72fr) minmax(360px,.88fr);
  gap:50px;
  align-items:center;
}

.image-break-section .computer-diagnostics-visual{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  border:0;
  border-radius:22px;
  background:#071923;
  box-shadow:0 22px 58px rgba(18,28,15,.13);
  overflow:hidden;
  transform:none;
  justify-self:stretch;
}

.image-break-section .computer-diagnostics-visual:hover{
  border:0;
  transform:none;
  box-shadow:0 22px 58px rgba(18,28,15,.13);
}

/* Higher specificity than the generic .visual-card img rule. */
.image-break-section .computer-diagnostics-visual > .computer-diagnostics-section-image{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  max-height:none;
  margin:0;
  padding:0;
  object-fit:contain;
  object-position:center;
}

.image-break-section .computer-diagnostics-grid > .section-heading{
  width:100%;
  max-width:560px;
  justify-self:start;
  margin-bottom:0;
}

@media(max-width:1260px){
  .image-break-section .computer-diagnostics-grid{
    width:min(1220px,calc(100% - 36px));
    grid-template-columns:minmax(0,1.48fr) minmax(340px,.92fr);
    gap:42px;
  }
}

@media(max-width:980px){
  .image-break-section .computer-diagnostics-grid{
    width:min(920px,calc(100% - 32px));
    grid-template-columns:1fr;
    gap:30px;
  }
  .image-break-section .computer-diagnostics-grid > .section-heading{
    max-width:760px;
  }
}

@media(max-width:640px){
  .image-break-section .computer-diagnostics-grid{
    width:min(900px,calc(100% - 28px));
  }
}

/* Keep each device class visually balanced while preserving natural proportions. */






@media(max-width:640px){
  
}

/* v2.0.14 — Repairs page signature advanced-repair feature */

.repair-depth-feature:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(91,111,84,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(91,111,84,.045) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to right,rgba(0,0,0,.55),transparent 78%);
}


.repair-depth-kicker{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:24px;
  color:#2f7f0f;
  font-size:13px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.repair-depth-line{
  width:38px;
  height:3px;
  border-radius:999px;
  background:var(--tg-accent);
  box-shadow:0 0 14px rgba(120,190,32,.45);
}
.repair-depth-copy h2{
  margin:0 0 24px;
  font-size:clamp(48px,5.1vw,76px);
  line-height:.96;
  letter-spacing:-.045em;
  color:#0d130d;
}
.repair-depth-copy h2 span{
  color:var(--tg-accent);
}
.repair-depth-copy>p{
  margin:0 0 30px;
  max-width:640px;
  color:#53634f;
  font-size:18px;
  line-height:1.62;
}
.repair-depth-services{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 22px;
  margin:0 0 30px;
}
.repair-depth-service{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.repair-depth-icon{
  flex:0 0 52px;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  border:1px solid rgba(120,190,32,.22);
  box-shadow:0 10px 30px rgba(35,50,30,.08);
  color:#54a71d;
}
.repair-depth-icon svg{
  width:24px;
  height:24px;
}
.repair-depth-service span:last-child{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.repair-depth-service strong{
  color:#142014;
  font-size:15px;
  line-height:1.2;
}
.repair-depth-service small{
  margin-top:2px;
  color:#667263;
  font-size:13px;
  line-height:1.25;
}
.repair-depth-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:22px;
}
.repair-depth-btn{
  min-width:210px;
  justify-content:center;
}
.repair-depth-note{
  display:flex;
  align-items:center;
  gap:9px;
  color:#677463;
  font-size:13px;
  font-weight:700;
}
.repair-depth-note svg{
  width:18px;
  height:18px;
  color:#2f7f0f;
}





@media(max-width:700px){
  
  .repair-depth-services{
    grid-template-columns:1fr;
  }
  .repair-depth-copy h2{
    font-size:clamp(42px,13vw,58px);
  }
  .repair-depth-copy>p{
    font-size:16px;
  }
  .repair-depth-actions{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* v2.0.15 — exact approved repair-lab visual composition */




/*
  The image is intentionally larger than its grid column.
  It flows left over the copy column and is layered above it,
  matching the approved concept instead of being boxed into the right column.
*/







/* v2.0.19 — transparent workstation visual with safe intentional overlap */
.repair-depth-feature{
  position:relative;
  overflow:visible;
  padding:96px 0 96px;
  background:
    radial-gradient(circle at 78% 48%,rgba(120,190,32,.08),transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#f7faf4 100%);
}

.repair-depth-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(560px,1.08fr);
  gap:28px;
  align-items:center;
  overflow:visible;
}

.repair-depth-copy{
  position:relative;
  z-index:5;
  max-width:620px;
  min-width:0;
  padding-right:34px;
}

/* Keep the actual words in a protected readable lane. */
.repair-depth-copy h2,
.repair-depth-copy > p,
.repair-depth-services,
.repair-depth-actions,
.repair-depth-kicker{
  position:relative;
  z-index:6;
}

.repair-depth-visual{
  position:relative;
  z-index:4;
  min-width:0;
  min-height:520px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  overflow:visible;
  pointer-events:none;
}

/*
  The transparent visual is allowed to overlap into the left column.
  The leftward shift stops before the protected text lane.
*/
.repair-depth-visual img{
  position:relative;
  z-index:1;
  display:block;
  width:132%;
  height:auto;
  max-width:none;
  margin-left:-16%;
  margin-right:-10%;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 28px 42px rgba(14,22,12,.15));
}




@media(max-width:1300px){
  .repair-depth-grid{
    grid-template-columns:minmax(0,1fr) minmax(500px,1fr);
    gap:22px;
  }
  .repair-depth-copy{
    max-width:600px;
    padding-right:28px;
  }
  .repair-depth-visual img{
    width:124%;
    margin-left:-12%;
    margin-right:-8%;
  }
}

@media(max-width:1100px){
  .repair-depth-grid{
    grid-template-columns:1fr;
    gap:32px;
  }
  .repair-depth-copy{
    max-width:760px;
    padding-right:0;
  }
  
  .repair-depth-visual{
    min-height:0;
    justify-content:center;
  }
  .repair-depth-visual img{
    width:100%;
    max-width:980px;
    margin:0 auto;
  }
}

/* v2.0.20 — remove center seam from repair feature */
.repair-depth-copy{
  background:transparent;
}

/* Keep the workstation large without allowing it to obscure the live hero copy. */

/* v2.0.25 — Repairs hero: original Tech Guru light palette + reduced workstation */
.repairs-signature-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:700px;
color:#0b130d;
  background:
    radial-gradient(circle at 92% 8%,rgba(102,198,48,.10),transparent 31%),
    linear-gradient(180deg,#f7faf4 0%,#f3f8f0 100%);
  border-bottom:1px solid rgba(62,111,47,.12);
  margin-top:0;
  padding-top:96px;
}
.repairs-signature-hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(36,74,45,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(36,74,45,.035) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),transparent 90%);
}
.repairs-signature-inner{
  position:relative;
  z-index:3;
  min-height:700px;
  display:flex;
  align-items:center;
}
.repairs-signature-copy{
  position:relative;
  z-index:5;
  width:min(720px,51%);
  padding:28px 0 38px;
}
.repairs-signature-copy h1{
  margin:0;
  color:#0b130d;
  font-size:clamp(60px,5.5vw,98px);
  line-height:1.04;
  letter-spacing:-.055em;
  font-weight:950;
  text-shadow:none;
}
.repairs-signature-copy h1 em{
  display:inline-block;
  margin-top:9px;
  color:#559b2d;
  font-style:normal;
}
.repairs-signature-lead{
  margin:24px 0 26px;
  color:#365d69;
  font-size:clamp(18px,1.4vw,23px);
  line-height:1.44;
  font-weight:500;
}
.repairs-signature-services{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  width:min(720px,100%);
  margin-top:24px;
}
.repairs-signature-service{
  display:flex;
  flex-direction:column;
  align-items:center;
  color:#0b130d;
  text-decoration:none;
  text-align:center;
}
.repairs-service-icon{
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  margin-bottom:11px;
  border:2px solid #65c832;
  border-radius:50%;
  color:#559b2d;
  background:#fff;
  box-shadow:0 12px 30px rgba(48,90,45,.09);
}
.repairs-service-icon svg{
  width:40px;
  height:40px;
  fill:none;
  stroke:currentColor;
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.repairs-signature-service strong{
  color:#0b130d;
  font-size:14px;
  line-height:1.1;
  font-weight:900;
}
.repairs-signature-service small{
  margin-top:6px;
  color:#55706f;
  font-size:12px;
  line-height:1.28;
}
.repairs-signature-trust{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:min(720px,100%);
  margin-top:32px;
  padding-top:20px;
  border-top:1px solid rgba(45,82,48,.14);
}
.repairs-trust-item{
  display:grid;
  grid-template-columns:44px 1fr;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:0 16px;
  border-right:1px solid rgba(45,82,48,.14);
}
.repairs-trust-item:first-child{padding-left:0}
.repairs-trust-item:last-child{border-right:0;padding-right:0}
.repairs-trust-icon{
  display:grid;
  place-items:center;
  color:#5eb62e;
}
.repairs-trust-icon svg{
  width:38px;
  height:38px;
  fill:none;
  stroke:currentColor;
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.repairs-trust-item>span:last-child{display:flex;flex-direction:column}
.repairs-trust-item strong{
  color:#0b130d;
  font-size:13px;
  line-height:1.1;
  font-weight:900;
}
.repairs-trust-item small{
  margin-top:4px;
  color:#667a70;
  font-size:11px;
  line-height:1.1;
  font-weight:800;
  letter-spacing:.04em;
}

/* Smaller workstation with a hard visual boundary away from live copy. */
.repairs-signature-scene{
  position:absolute;
  z-index:2;
  right:clamp(8px,2vw,38px);
  top:50%;
  width:min(51vw,860px);
  transform:translateY(-49%);
  overflow:visible;
  pointer-events:none;
}
.repairs-signature-scene:before{content:none;display:none}
.repairs-signature-scene img{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 24px 34px rgba(25,43,29,.18));
}

@media(max-width:1180px) and (min-width:901px){
  .repairs-signature-hero,.repairs-signature-inner{min-height:680px}
  .repairs-signature-copy{width:54%}
  .repairs-signature-scene{right:0;width:min(48vw,720px)}
  .repairs-service-icon{width:64px;height:64px}
  .repairs-service-icon svg{width:36px;height:36px}
}
@media(max-width:900px){
  .repairs-signature-hero{min-height:auto;padding:68px 0 30px}
  .repairs-signature-inner{min-height:auto;display:block;padding-top:48px}
  .repairs-signature-copy{width:100%;max-width:760px;padding-top:18px}
  .repairs-signature-scene{
    position:relative;
    right:auto;
    top:auto;
    width:min(92%,760px);
    margin:24px auto 0;
    transform:none;
  }
}
@media(max-width:700px){
  
  .repairs-signature-copy h1{font-size:clamp(52px,14vw,76px)}
  .repairs-signature-lead br{display:none}
  .repairs-signature-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
  .repairs-signature-trust{grid-template-columns:1fr;gap:15px}
  .repairs-trust-item{padding:0;border-right:0}
}







.about-repair-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.about-repair-grid .visual-service-card{
  min-width:0;
}
@media(max-width:1100px){
  .about-repair-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .about-repair-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .about-repair-grid{grid-template-columns:1fr}
}



.about-repair-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1100px){.about-repair-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.about-repair-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.about-repair-grid{grid-template-columns:1fr}}


/* v2.0.37 — ONE canonical service-card layout + branded screen layer */






/* Explicit card sizing — prevents tall phone/tablet art from blowing up the card. */






@media(max-width:640px){
  
}


.service-device-visual{
  position:relative;
  height:150px;
  margin:0 -28px 24px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 68% 30%,rgba(120,190,32,.07),transparent 34%),
    linear-gradient(180deg,#f5f9f2,#eef4ea);
  border-bottom:1px solid var(--line);
}

.service-device-shell{
  position:relative;
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.service-device-image,
.service-device-shell > img{
  display:block;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 9px 16px rgba(20,30,18,.15));
}

.service-device-smartphone .service-device-image,
.service-device-smartphone .service-device-shell > img{
  max-width:38%;
  max-height:128px;
}
.service-device-tablet .service-device-image,
.service-device-tablet .service-device-shell > img{
  max-width:64%;
  max-height:116px;
}
.service-device-watch .service-device-image,
.service-device-watch .service-device-shell > img{
  max-width:34%;
  max-height:116px;
}
.service-device-laptop .service-device-image,
.service-device-desktop .service-device-image,
.service-device-laptop .service-device-shell > img,
.service-device-desktop .service-device-shell > img{
  max-width:72%;
  max-height:112px;
}
.service-device-console .service-device-image,
.service-device-console .service-device-shell > img{
  max-width:68%;
  max-height:118px;
}

@media(max-width:640px){
  .service-device-visual{
    height:150px;
    margin-left:-24px;
    margin-right:-24px;
    margin-bottom:20px;
  }
}

@media(max-width:780px){
}

@media(max-width:780px){
}

@media(max-width:780px){
}


/* v2.0.58 — Repairs hero direct-selector fix.
   These selectors always match page-repairs.php regardless of WordPress body classes. */
.repairs-signature-inner,
.repairs-signature-copy,
.repairs-signature-copy h1{
  overflow:visible;
}

.repairs-signature-copy{
  transform:none;
  top:auto;
}

.repairs-signature-copy h1{
  line-height:1.04;
  padding-top:.12em;
  transform:none;
  top:auto;
}


/* v2.0.58 — Repair service circle beacon pulse.
   Rings stay behind the icon circle and never cover the service text. */
.repairs-service-icon{
  position:relative;
  isolation:isolate;
  z-index:1;
  overflow:visible;
}

.repairs-service-icon svg{
  position:relative;
  z-index:3;
}

.repairs-service-icon::before,
.repairs-service-icon::after{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:0;
  border:1.5px solid rgba(101,200,50,.58);
  border-radius:50%;
  pointer-events:none;
  transform:scale(.92);
  opacity:0;
  animation:tgRepairServiceBeacon 2.8s cubic-bezier(.2,.65,.35,1) infinite;
}

.repairs-service-icon::after{
  animation-delay:1.4s;
}

@keyframes tgRepairServiceBeacon{
  0%{
    transform:scale(.92);
    opacity:.72;
  }
  72%,100%{
    transform:scale(1.52);
    opacity:0;
  }
}

@media(prefers-reduced-motion:reduce){
  .repairs-service-icon::before,
  .repairs-service-icon::after{
    animation:none;
    opacity:0;
  }
}


/* v2.0.59 — public hours + service-area map */
.about-service-area-section{
  background:linear-gradient(180deg,#f7faf4 0%,#fff 100%);
  border-top:1px solid rgba(65,84,58,.08);
  border-bottom:1px solid rgba(65,84,58,.08);
}
.about-service-area-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);
  gap:34px;
  align-items:stretch;
}
.about-map-card,
.about-hours-card{
  min-width:0;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 20px 55px rgba(25,36,22,.08);
}
.about-map-card{overflow:hidden}
.about-map-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:26px 28px 22px;
}
.about-map-head h2,
.about-hours-card h2{
  margin:8px 0 0;
  font-size:clamp(28px,3vw,42px);
}
.service-radius-badge{
  flex:0 0 auto;
  padding:8px 12px;
  border:1px solid rgba(101,200,50,.25);
  border-radius:999px;
  background:#f0f8eb;
  color:#397d20;
  font-size:12px;
  font-weight:900;
}
.tg-service-area-map{
  width:100%;
  min-height:430px;
  background:#edf3e9;
}
.tg-service-area-map iframe{
  display:block;
  width:100%;
  height:430px;
  border:0;
}
.tg-service-area-map-fallback{position:relative}
.map-radius-fallback-note{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:2;
  padding:11px 14px;
  border:1px solid rgba(255,255,255,.65);
  border-radius:12px;
  background:rgba(16,24,14,.83);
  backdrop-filter:blur(10px);
  color:#fff;
  font-size:12px;
  font-weight:800;
  text-align:center;
}
.about-hours-card{
  padding:30px;
  display:flex;
  flex-direction:column;
}
.about-hours-list{
  margin:24px 0;
  border-top:1px solid var(--line);
}
.about-hours-row{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:11px 0;
  border-bottom:1px solid var(--line);
  color:#445342;
  font-size:14px;
}
.about-hours-row strong{color:#172016}
.about-hours-row.is-closed span{color:#849080}
.about-location-note{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin:0 0 24px;
  padding:17px 18px;
  border-radius:14px;
  background:#f4f8f1;
}
.about-location-note strong{font-size:16px}
.about-location-note span{color:#4e5d4b}
.about-location-note small{color:#71806d;line-height:1.45}
.about-hours-card .btn{margin-top:auto;align-self:flex-start}

.footer-hours{
  display:grid;
  gap:5px;
  margin-top:14px;
  font-size:12px;
}
.footer-hours>div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding-bottom:5px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-hours span{color:#8e988c}
.footer-hours strong{color:#dce4d8;font-weight:700;text-align:right}

@media(max-width:900px){
  .about-service-area-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .about-map-head{align-items:flex-start;flex-direction:column}
  .tg-service-area-map,
  .tg-service-area-map iframe{min-height:340px;height:340px}
  .about-hours-card{padding:24px}
  .about-hours-row{font-size:13px}
}


.about-hero .about-mobile-service-hero{display:flex;align-items:flex-end;justify-content:center;min-width:0}
.about-hero .about-mobile-service-hero-img{display:block;width:min(100%,760px);height:auto;max-height:620px;object-fit:contain;object-position:center bottom}
@media(max-width:900px){.about-hero .about-mobile-service-hero-img{width:min(100%,680px);max-height:480px}}


/* v2.0.65 — numbered process markers use Tech Guru beacon styling */
.timeline b{
  position:relative;
  isolation:isolate;
  background:#65c832 !important;
  color:#fff !important;
  border-color:#65c832 !important;
  box-shadow:0 0 12px rgba(101,200,50,.48);
  z-index:2;
}

.timeline b::after{
  content:"";
  position:absolute;
  inset:-1px;
  border:1.5px solid rgba(101,200,50,.62);
  border-radius:50%;
  z-index:-1;
  pointer-events:none;
  animation:tgBeaconPulse 2.6s cubic-bezier(.2,.65,.35,1) infinite;
}

@media(prefers-reduced-motion:reduce){
  .timeline b::after{
    animation:none;
    opacity:0;
  }
}


/* v2.0.66 — Fresh light-card rebuild
   Old dark expertise/about card styles were removed entirely. */

/* Shared shell */
.expertise-card,
.about-panel{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(67,103,57,.14);
  border-radius:28px;
  background:
    radial-gradient(circle at 86% 8%,rgba(101,200,50,.11),transparent 28%),
    linear-gradient(180deg,#fbfdf9 0%,#f4f8f1 100%);
  box-shadow:0 22px 58px rgba(28,48,24,.08);
  color:#111a12;
}

.expertise-card::before,
.about-panel::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(56,91,48,.032) 1px,transparent 1px),
    linear-gradient(90deg,rgba(56,91,48,.032) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.5),transparent 90%);
}

/* Landing page expertise card */
.expertise-card{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:48px;
  align-items:center;
  padding:54px 56px;
}

.expertise-card>*{
  position:relative;
  z-index:2;
}

.expertise-copy .kicker{
  color:#4d9329;
}

.expertise-card h2{
  margin:14px 0 18px;
  color:#0d160e;
  font-size:clamp(34px,4.2vw,58px);
  line-height:1.04;
  font-weight:950;
  letter-spacing:-.04em;
}

.expertise-card p{
  margin:0;
  color:#536151;
  font-size:17px;
  line-height:1.7;
}

.expertise-tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}

.expertise-tags span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(101,200,50,.22);
  border-radius:999px;
  background:#eef7e9;
  color:#3d7622;
  font-size:12px;
  font-weight:850;
}

/* Stat side — no image */
.expertise-side{
  position:relative;
  z-index:2;
  min-width:0;
}

.expertise-side .stat-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  border:1px solid rgba(67,103,57,.13);
  border-radius:20px;
  overflow:hidden;
  background:rgba(255,255,255,.76);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}

.expertise-side .stat-grid div{
  position:relative;
  min-height:118px;
  padding:24px 22px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-right:1px solid rgba(67,103,57,.11);
  border-bottom:1px solid rgba(67,103,57,.11);
}

.expertise-side .stat-grid div:nth-child(2n){
  border-right:0;
}

.expertise-side .stat-grid div:nth-child(3),
.expertise-side .stat-grid div:nth-child(4){
  border-bottom:0;
}

.expertise-side .stat-grid strong{
  color:#62bf31;
  font-size:clamp(30px,3.3vw,44px);
  line-height:1;
  letter-spacing:-.045em;
  font-weight:950;
}

.expertise-side .stat-grid span{
  margin-top:8px;
  color:#50604d;
  font-size:13px;
  line-height:1.35;
  font-weight:750;
}

/* About stats card — no image/logo */
.about-panel{
  padding:30px;
}

.about-panel>*{
  position:relative;
  z-index:2;
}

.about-stat{
  display:grid;
  grid-template-columns:minmax(110px,auto) 1fr;
  align-items:center;
  gap:22px;
  min-height:92px;
  padding:20px 2px;
  border-top:1px solid rgba(67,103,57,.12);
}

.about-stat:first-child{
  border-top:0;
}

.about-stat strong{
  color:#62bf31;
  font-size:clamp(30px,3vw,42px);
  line-height:1;
  letter-spacing:-.045em;
  font-weight:950;
}

.about-stat span{
  color:#475744;
  font-size:14px;
  line-height:1.4;
  text-align:right;
  font-weight:700;
}

@media(max-width:900px){
  .expertise-card{
    grid-template-columns:1fr;
    gap:30px;
    padding:38px 30px;
  }
}

@media(max-width:640px){
  .expertise-card,
  .about-panel{
    border-radius:22px;
  }

  .expertise-card{
    padding:30px 22px;
  }

  .expertise-side .stat-grid{
    grid-template-columns:1fr;
  }

  .expertise-side .stat-grid div{
    min-height:94px;
    border-right:0;
    border-bottom:1px solid rgba(67,103,57,.11);
  }

  .expertise-side .stat-grid div:nth-child(3){
    border-bottom:1px solid rgba(67,103,57,.11);
  }

  .expertise-side .stat-grid div:nth-child(4){
    border-bottom:0;
  }

  .about-panel{
    padding:24px;
  }

  .about-stat{
    grid-template-columns:1fr;
    gap:7px;
  }

  .about-stat span{
    text-align:left;
  }
}


/* v2.0.67 — Home service-area map replaces old dark location artwork */
.local-map-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(67,103,57,.14);
  border-radius:24px;
  background:#fff;
  box-shadow:0 22px 58px rgba(28,48,24,.08);
}

.local-map-head{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:0 16px;
  border-bottom:1px solid rgba(67,103,57,.12);
  background:
    radial-gradient(circle at 88% 0%,rgba(101,200,50,.10),transparent 34%),
    #f7faf4;
}

.local-map-head .mini-beacon{
  flex:0 0 auto;
}

.local-map-head strong{
  color:#182018;
  font-size:13px;
  font-weight:900;
  letter-spacing:.03em;
}

.local-map-head>span:last-child{
  margin-left:auto;
  color:#4f7f37;
  font-size:11px;
  font-weight:850;
}

.home-service-area-map{
  min-height:410px;
}

.home-service-area-map iframe{
  height:410px;
}

@media(max-width:900px){
  .home-service-area-map,
  .home-service-area-map iframe{
    min-height:360px;
    height:360px;
  }
}

@media(max-width:640px){
  .local-map-head{
    flex-wrap:wrap;
    align-items:center;
    padding:10px 14px;
  }

  .local-map-head>span:last-child{
    width:100%;
    margin-left:30px;
  }
}


/* v2.0.69 — canonical adjustable topbar logo */
.site-header .brand{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  min-width:0;
}

.site-header .tg-official-logo{
  display:block;
  width:auto;
  height:var(--tg-header-logo-height,61px);
  max-width:min(345px,34vw);
  object-fit:contain;
  object-position:left center;
  transition:height .2s ease,max-width .2s ease;
}

@media(max-width:780px){
  .site-header .tg-official-logo{
    height:min(var(--tg-header-logo-height,61px),52px);
    max-width:min(250px,60vw);
  }
}


/* v2.0.70 — searchable FAQ page */
.faq-page-hero{
  padding:150px 0 72px;
  background:
    radial-gradient(circle at 88% 12%,rgba(101,200,50,.12),transparent 30%),
    linear-gradient(180deg,#f7faf4 0%,#fff 100%);
  border-bottom:1px solid rgba(68,97,60,.10);
}
.faq-page-hero h1{
  margin:18px 0 18px;
  font-size:clamp(48px,6.8vw,88px);
  line-height:.98;
  letter-spacing:-.05em;
}
.faq-search-wrap{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:34px;
  padding:8px 10px 8px 18px;
  border:1px solid rgba(66,99,58,.16);
  border-radius:18px;
  background:#fff;
  box-shadow:0 16px 44px rgba(32,50,27,.08);
}
.faq-search-input{
  flex:1;
  min-width:0;
  min-height:50px;
  border:0;
  outline:0;
  background:transparent;
  color:#101710;
  font:inherit;
  font-size:16px;
}
.faq-search-count{
  flex:0 0 auto;
  padding:8px 11px;
  border-radius:999px;
  background:#eef7e9;
  color:#4a8e28;
  font-size:12px;
  font-weight:900;
}
.faq-library{
  border-top:1px solid var(--line);
}
.faq-library-item{
  border-bottom:1px solid var(--line);
}
.faq-library-item[hidden]{display:none}
.faq-library-item summary{
  display:grid;
  grid-template-columns:1fr 42px;
  align-items:center;
  gap:20px;
  min-height:84px;
  padding:18px 0;
  cursor:pointer;
  list-style:none;
  color:#111811;
  font-size:18px;
  font-weight:850;
}
.faq-library-item summary::-webkit-details-marker{display:none}
.faq-plus{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid rgba(101,200,50,.25);
  border-radius:50%;
  background:#f0f8eb;
  color:#58a72d;
  font-size:24px;
  font-weight:500;
  transition:transform .2s ease;
}
.faq-library-item[open] .faq-plus{transform:rotate(45deg)}
.faq-answer{
  padding:0 60px 24px 0;
  color:#566355;
  font-size:15px;
  line-height:1.75;
}
.faq-answer p{margin:0 0 12px}
.faq-empty{
  padding:54px 0;
  text-align:center;
}
.faq-empty h2{margin:0 0 10px}
.faq-empty p{margin:0 auto 22px;color:var(--muted)}
@media(max-width:640px){
  .faq-page-hero{padding:120px 0 54px}
  .faq-search-wrap{align-items:stretch;flex-direction:column;padding:12px}
  .faq-search-count{align-self:flex-start}
  .faq-library-item summary{grid-template-columns:1fr 36px;font-size:16px}
  .faq-answer{padding-right:0}
}


/* v2.0.71 — Contact page */
.contact-page-hero{
  padding:148px 0 76px;
  background:
    radial-gradient(circle at 88% 12%,rgba(101,200,50,.13),transparent 32%),
    linear-gradient(180deg,#f7faf4 0%,#fff 100%);
  border-bottom:1px solid rgba(68,97,60,.10);
}

.contact-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);
  gap:56px;
  align-items:center;
}

.contact-hero-copy h1{
  margin:16px 0 18px;
  font-size:clamp(50px,6.5vw,88px);
  line-height:.98;
  letter-spacing:-.05em;
}

.contact-quick-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:30px;
}

.contact-action-card{
  display:flex;
  align-items:center;
  gap:13px;
  min-width:0;
  padding:15px 16px;
  border:1px solid rgba(64,96,56,.13);
  border-radius:16px;
  background:#fff;
  color:#152015;
  text-decoration:none;
  box-shadow:0 10px 28px rgba(28,48,24,.06);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.contact-action-card:hover{
  transform:translateY(-2px);
  border-color:rgba(101,200,50,.35);
  box-shadow:0 16px 34px rgba(28,48,24,.09);
}

.contact-action-card small{
  display:block;
  color:#6a7767;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
}

.contact-action-card strong{
  display:block;
  margin-top:3px;
  font-size:14px;
  line-height:1.2;
  overflow-wrap:anywhere;
}

.contact-action-icon{
  flex:0 0 40px;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#eff8ea;
  color:#59a82f;
  font-size:18px;
}

.contact-action-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
}

.contact-hero-card{
  position:relative;
  overflow:hidden;
  padding:32px;
  border:1px solid rgba(65,99,57,.14);
  border-radius:26px;
  background:
    radial-gradient(circle at 90% 8%,rgba(101,200,50,.15),transparent 32%),
    linear-gradient(180deg,#fbfdf9,#f2f7ef);
  box-shadow:0 24px 60px rgba(29,48,24,.09);
}

.contact-hero-card h2{
  margin:10px 0 12px;
  font-size:clamp(28px,3.2vw,42px);
  line-height:1.04;
}

.contact-hero-card p{
  color:#536151;
  line-height:1.6;
}

.contact-radius{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:22px;
  font-size:13px;
  font-weight:850;
  color:#3c6f25;
}

.contact-note{
  margin-top:18px;
  padding:14px 16px;
  border-left:3px solid #65c832;
  background:rgba(255,255,255,.65);
  color:#52604f;
  font-size:13px;
  line-height:1.55;
}

.contact-main-section{
  background:#fff;
}

.contact-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  gap:34px;
  align-items:start;
}

.contact-form-card,
.contact-info-card{
  border:1px solid rgba(64,97,56,.13);
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 42px rgba(29,48,24,.06);
}

.contact-form-card{
  padding:34px;
}

.contact-form-card h2{
  margin:10px 0 12px;
  font-size:clamp(32px,4vw,48px);
}

.contact-form-card>p{
  color:#5b6858;
  line-height:1.7;
}

.tg-contact-form{
  display:grid;
  gap:18px;
  margin-top:28px;
}

.contact-field-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.tg-contact-form label{
  display:grid;
  gap:7px;
}

.tg-contact-form label>span{
  color:#283426;
  font-size:12px;
  font-weight:850;
}

.tg-contact-form input,
.tg-contact-form textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid rgba(62,94,55,.18);
  border-radius:12px;
  background:#fbfdf9;
  color:#111811;
  font:inherit;
  padding:13px 14px;
  outline:none;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.tg-contact-form textarea{
  resize:vertical;
  min-height:150px;
}

.tg-contact-form input:focus,
.tg-contact-form textarea:focus{
  border-color:#65c832;
  background:#fff;
  box-shadow:0 0 0 3px rgba(101,200,50,.12);
}

.contact-honeypot{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(1px,1px,1px,1px) !important;
}

.contact-alert{
  margin-top:22px;
  padding:13px 15px;
  border-radius:12px;
  font-size:13px;
  font-weight:750;
}

.contact-alert-success{
  border:1px solid rgba(101,200,50,.25);
  background:#eff8ea;
  color:#386d20;
}

.contact-alert-error{
  border:1px solid rgba(170,70,50,.18);
  background:#fff4f1;
  color:#8a3828;
}

.contact-info-column{
  display:grid;
  gap:18px;
}

.contact-info-card{
  padding:26px;
}

.contact-info-card h3{
  margin:8px 0 12px;
  font-size:24px;
}

.contact-info-card p{
  color:#596657;
  line-height:1.65;
}

.contact-hours{
  display:grid;
  gap:0;
  margin-top:18px;
  border-top:1px solid var(--line);
}

.contact-hours>div{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:10px 0;
  border-bottom:1px solid var(--line);
  font-size:13px;
}

.contact-hours span{
  color:#536050;
}

.contact-hours strong{
  color:#172016;
  text-align:right;
}

.contact-hours .is-closed strong{
  color:#889285;
}

@media(max-width:900px){
  .contact-hero-grid,
  .contact-main-grid{
    grid-template-columns:1fr;
  }

  .contact-page-hero{
    padding-top:126px;
  }
}

@media(max-width:640px){
  .contact-page-hero{
    padding:116px 0 54px;
  }

  .contact-quick-actions,
  .contact-field-grid{
    grid-template-columns:1fr;
  }

  .contact-form-card,
  .contact-hero-card,
  .contact-info-card{
    border-radius:20px;
  }

  .contact-form-card{
    padding:24px;
  }
}


/* v2.0.73 — repair-depth circles use Tech Guru beacon styling */
.repair-depth-icon{
  position:relative;
  isolation:isolate;
  overflow:visible !important;
  background:#65c832 !important;
  border-color:#65c832 !important;
  color:#fff !important;
  box-shadow:0 0 14px rgba(101,200,50,.42);
  z-index:2;
}

.repair-depth-icon svg{
  position:relative;
  z-index:3;
  color:#fff !important;
  stroke:#fff !important;
}

.repair-depth-icon::before,
.repair-depth-icon::after{
  content:"";
  position:absolute;
  inset:-2px;
  border:1.5px solid rgba(101,200,50,.62);
  border-radius:50%;
  z-index:-1;
  pointer-events:none;
  opacity:0;
  transform:scale(.92);
  animation:tgRepairDepthBeacon 2.8s cubic-bezier(.2,.65,.35,1) infinite;
}

.repair-depth-icon::after{
  animation-delay:1.4s;
}

@keyframes tgRepairDepthBeacon{
  0%{transform:scale(.92);opacity:.72}
  72%,100%{transform:scale(1.55);opacity:0}
}

@media(prefers-reduced-motion:reduce){
  .repair-depth-icon::before,
  .repair-depth-icon::after{
    animation:none;
    opacity:0;
  }
}


/* v2.0.75 — Tech Guru Arcade */
.tg-arcade-page{background:#f7f9f5}.tg-arcade-hero{padding:148px 0 78px;background:radial-gradient(circle at 78% 28%,rgba(102,214,44,.10),transparent 34%),linear-gradient(180deg,#ffffff,#f6f8f5);color:#151b20;overflow:hidden;border-bottom:1px solid #dde5df}.tg-arcade-hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.tg-arcade-hero .kicker{color:#3da812;font-weight:800}.tg-arcade-hero h1{font-size:clamp(48px,6vw,82px);line-height:.96;letter-spacing:-.045em;margin:10px 0 20px;color:#151b20}.tg-arcade-hero h1 span{color:#56c522}.tg-arcade-hero p{max-width:680px;color:#66727a;font-size:18px;line-height:1.75}.tg-arcade-hero .btn{background:#66d62c;color:#10200b;border-color:#4fbe1e;box-shadow:0 8px 22px rgba(61,168,18,.18)}.tg-arcade-hero .btn:hover{background:#58c723;color:#10200b}.tg-arcade-hero-card{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:24px;border:1px solid #d9e5da;border-radius:26px;background:#fff;box-shadow:0 18px 48px rgba(24,44,31,.09)}.tg-game-tile{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:1px solid #cfe2c7;border-radius:18px;background:linear-gradient(145deg,#f5fbf1,#eef6eb);color:#3da812;font-size:54px;box-shadow:0 6px 18px rgba(33,60,39,.06)}.tg-game-tile b{color:#151b20;font-size:12px;letter-spacing:.12em}.tg-game-tile.muted{opacity:.62;background:#f2f4f3;color:#7b8780;border-color:#dce3df}.tg-arcade-game-section{padding:38px 16px 100px}.tg-arcade-game-wrap{width:min(1500px,100%);margin:auto}.tg-arcade-plugin-notice{padding:55px;border:1px solid #d6ded2;border-radius:20px;background:#fff;text-align:center}.tg-arcade-plugin-notice p{color:var(--muted)}@media(max-width:850px){.tg-arcade-hero-inner{grid-template-columns:1fr}.tg-arcade-hero-card{max-width:620px}.tg-arcade-hero{padding-top:120px}}


/* v2.0.81 — official Mobile Service header logo, applied in the ENQUEUED stylesheet */
.site-header .header-inner{
  height:116px !important;
  min-height:116px !important;
}
.site-header .brand{
  flex:0 0 auto !important;
  min-width:0 !important;
  max-width:none !important;
}
.site-header .tg-official-logo{
  display:block !important;
  width:auto !important;
  height:102px !important;
  max-width:650px !important;
  object-fit:contain !important;
  object-position:left center !important;
}
@media(max-width:1100px){
  .site-header .header-inner{height:104px !important;min-height:104px !important}
  .site-header .tg-official-logo{height:88px !important;max-width:520px !important}
}
@media(max-width:850px){
  .site-header .header-inner{height:92px !important;min-height:92px !important}
  .site-header .tg-official-logo{height:76px !important;max-width:min(390px,65vw) !important}
}
@media(max-width:600px){
  .site-header .header-inner{height:84px !important;min-height:84px !important}
  .site-header .tg-official-logo{height:68px !important;max-width:min(315px,68vw) !important}
}
@media(max-width:400px){
  .site-header .tg-official-logo{height:62px !important;max-width:min(285px,67vw) !important}
}

/* v2.0.82 — header logo ~33% larger */
.site-header .header-inner{height:148px!important;min-height:148px!important}
.site-header .tg-official-logo{height:136px!important;max-width:865px!important}
@media(max-width:1100px){
 .site-header .header-inner{height:134px!important;min-height:134px!important}
 .site-header .tg-official-logo{height:117px!important;max-width:690px!important}
}
@media(max-width:850px){
 .site-header .header-inner{height:116px!important;min-height:116px!important}
 .site-header .tg-official-logo{height:101px!important;max-width:min(520px,72vw)!important}
}
@media(max-width:600px){
 .site-header .header-inner{height:106px!important;min-height:106px!important}
 .site-header .tg-official-logo{height:90px!important;max-width:min(420px,74vw)!important}
}
@media(max-width:400px){
 .site-header .tg-official-logo{height:82px!important;max-width:min(375px,73vw)!important}
}


/* v2.0.83 — Customizer-controlled logo sizing. This intentionally supersedes fixed v2.0.82 dimensions. */
.site-header .tg-official-logo{
  height:var(--tg-header-logo-height,136px)!important;
  width:auto!important;
  max-width:min(865px,58vw)!important;
}
.site-header .header-inner{
  height:calc(var(--tg-header-logo-height,136px) + 12px)!important;
  min-height:calc(var(--tg-header-logo-height,136px) + 12px)!important;
}
@media(max-width:1100px){
  .site-header .tg-official-logo{
    height:var(--tg-header-logo-height-tablet,117px)!important;
    max-width:min(690px,55vw)!important;
  }
  .site-header .header-inner{
    height:calc(var(--tg-header-logo-height-tablet,117px) + 17px)!important;
    min-height:calc(var(--tg-header-logo-height-tablet,117px) + 17px)!important;
  }
}
@media(max-width:850px){
  .site-header .tg-official-logo{
    height:var(--tg-header-logo-height-mobile,90px)!important;
    max-width:min(460px,72vw)!important;
  }
  .site-header .header-inner{
    height:calc(var(--tg-header-logo-height-mobile,90px) + 16px)!important;
    min-height:calc(var(--tg-header-logo-height-mobile,90px) + 16px)!important;
  }
}
@media(max-width:430px){
  .site-header .tg-official-logo{
    height:var(--tg-header-logo-height-small,82px)!important;
    max-width:min(390px,73vw)!important;
  }
  .site-header .header-inner{
    height:calc(var(--tg-header-logo-height-small,82px) + 16px)!important;
    min-height:calc(var(--tg-header-logo-height-small,82px) + 16px)!important;
  }
}


/* v2.0.92 — light-theme iPad before/after hero */
.repair-compare-card.repair-compare-light{
  background:#fff;
  border:1px solid #dbe6dc;
  border-radius:28px;
  box-shadow:0 22px 55px rgba(31,52,34,.12);
}
.repair-compare-light .repair-compare-stage{
  aspect-ratio:1.08/1;
  background:
    radial-gradient(circle at 50% 45%,rgba(102,214,44,.10),transparent 36%),
    linear-gradient(180deg,#fbfdf9,#f2f7ef);
}
.repair-compare-light .repair-compare-device-bg{
  position:absolute;
  inset:8%;
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(244,249,242,.68));
  border:1px solid rgba(178,204,177,.42);
  box-shadow:inset 0 1px 0 #fff;
}
.repair-compare-light .repair-compare-img{
  inset:4.5% 5% 3%;
  width:90%;
  height:92%;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 18px 18px rgba(35,50,38,.13));
}
.repair-compare-light .repair-compare-before{
  clip-path:inset(0 calc(100% - var(--compare-position)) 0 0);
}
.repair-compare-light .repair-compare-before .repair-compare-img{
  width:90%;
  max-width:none;
}
.repair-compare-light .compare-label{
  top:16px;
  padding:7px 12px;
  background:rgba(255,255,255,.94);
  color:#304239;
  border:1px solid #d4e0d6;
  box-shadow:0 5px 16px rgba(35,50,38,.09);
  backdrop-filter:blur(8px);
}
.repair-compare-light .compare-before-label{left:16px}
.repair-compare-light .compare-after-label{right:16px}
.repair-compare-light .compare-line{
  width:2px;
  background:rgba(61,83,67,.42);
  box-shadow:none;
}
.repair-compare-light .compare-grip{
  width:50px;
  height:50px;
  background:var(--tg-accent);
  color:#142014;
  border:4px solid #fff;
  box-shadow:0 8px 24px rgba(55,121,33,.24);
}
.repair-compare-card.repair-compare-light figcaption{
  padding:15px 18px;
  color:#24372c;
  background:#fff;
  border-top:1px solid #e0e8e1;
}
.repair-compare-light figcaption span{display:grid;gap:2px}
.repair-compare-light figcaption b{font-size:13px;color:#223429}
.repair-compare-light figcaption small{font-size:11px;color:#73817a}
.repair-compare-light figcaption strong{font-size:11px;color:#4d6355;font-weight:800}
@media(max-width:700px){
  .repair-compare-light .repair-compare-stage{aspect-ratio:1/1}
  .repair-compare-light .repair-compare-img{inset:7% 5% 4%;height:89%}
  .repair-compare-card.repair-compare-light figcaption{
    flex-direction:row;
    align-items:center;
    gap:10px;
  }
}


/* v2.0.93 — minimal iPad before/after: device + slider only */
.repair-compare-card.repair-compare-minimal{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  padding:0!important;
}
.repair-compare-minimal .repair-compare-stage{
  position:relative;
  width:min(560px,100%);
  aspect-ratio:1/1;
  margin:0 auto;
  overflow:visible;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.repair-compare-minimal .repair-compare-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 18px 22px rgba(30,45,34,.14));
}
.repair-compare-minimal .repair-compare-before{
  position:absolute;
  inset:0;
  overflow:hidden;
  clip-path:inset(0 calc(100% - var(--compare-position)) 0 0);
}
.repair-compare-minimal .repair-compare-before .repair-compare-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.repair-compare-minimal .repair-compare-crack{
  position:absolute;
  /* Fits the crack onto the visible glass area of the user-provided iPad. */
  left:30%;
  top:18%;
  width:52%;
  height:60%;
  object-fit:fill;
  opacity:.78;
  mix-blend-mode:screen;
  filter:contrast(1.35) brightness(1.8);
  pointer-events:none;
  transform:rotate(-8deg) scale(1.12);
  transform-origin:center;
}
.repair-compare-minimal .compare-line{
  position:absolute;
  top:5%;
  bottom:5%;
  left:50%;
  width:2px;
  background:rgba(48,67,54,.52);
  transform:translateX(-50%);
  box-shadow:0 0 0 1px rgba(255,255,255,.75);
}
.repair-compare-minimal .compare-grip{
  width:48px;
  height:48px;
  border-radius:50%;
  background:#66d62c;
  color:#132313;
  border:4px solid #fff;
  box-shadow:0 8px 22px rgba(51,113,31,.26);
  font-size:18px;
  font-weight:900;
}
.repair-compare-minimal .compare-handle{
  position:absolute;
  inset:0 auto 0 var(--compare-position);
  transform:translateX(-50%);
  z-index:6;
}
.repair-compare-minimal figcaption,
.repair-compare-minimal .compare-label,
.repair-compare-minimal .repair-compare-device-bg{
  display:none!important;
}


/* v2.0.95 — professional current-device service tile imagery */
.visual-service-card .service-device-visual.service-device-smartphone .service-device-image{
  width:auto!important;
  max-width:74%!important;
  height:88%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.visual-service-card .service-device-visual.service-device-laptop .service-device-image{
  width:92%!important;
  max-width:92%!important;
  height:86%!important;
  object-fit:contain!important;
  object-position:center!important;
}

/* v2.0.97 — Arcade featured Survival hero + newest-games grid */
body.page-template-page-arcade .tg-arcade-hero.tg-arcade-featured-hero{
  padding:118px 16px 30px;
  background:radial-gradient(circle at 18% 15%,rgba(102,214,44,.08),transparent 34%),linear-gradient(180deg,#f7faf7,#eef4ef);
  border-bottom:1px solid #dce7de;
  overflow:visible;
}
body.page-template-page-arcade .tg-arcade-featured-grid{
  width:min(1500px,100%);
  max-width:none;
  display:grid;
  grid-template-columns:minmax(0,1.62fr) minmax(360px,.88fr);
  gap:18px;
  align-items:stretch;
}
.tg-arcade-survival-feature{
  position:relative;
  min-height:430px;
  overflow:hidden;
  border-radius:26px;
  background:#14271a var(--tg-survival-bg) center/cover no-repeat;
  border:1px solid rgba(57,169,47,.28);
  box-shadow:0 24px 58px rgba(22,48,29,.20);
}
.tg-arcade-survival-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(4,14,8,.96) 0%,rgba(4,14,8,.84) 42%,rgba(4,14,8,.24) 72%,rgba(4,14,8,.06) 100%),linear-gradient(0deg,rgba(4,14,8,.35),transparent 55%);
}
.tg-arcade-survival-copy{
  position:relative;z-index:2;
  max-width:680px;
  min-height:430px;
  padding:46px 44px;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  color:#fff;
}
.tg-arcade-survival-copy .kicker{color:#8bec68!important;margin-top:10px;font-size:12px;letter-spacing:.13em}
.tg-arcade-survival-copy h1{font-size:clamp(42px,4.6vw,68px)!important;line-height:.95!important;letter-spacing:-.045em!important;color:#fff!important;margin:10px 0 16px!important}
.tg-arcade-survival-copy h1 span{color:#83e963!important}
.tg-arcade-survival-copy p{max-width:620px!important;color:#e3eee6!important;font-size:16px!important;line-height:1.62!important;margin:0 0 18px!important}
.tg-arcade-coming-soon{display:inline-flex;padding:8px 12px;border-radius:999px;background:#83e963;color:#11230d;font-size:11px;font-weight:950;letter-spacing:.14em;box-shadow:0 6px 20px rgba(131,233,99,.2)}
.tg-arcade-survival-tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 21px}.tg-arcade-survival-tags span{padding:7px 10px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.08);font-size:12px;font-weight:800;color:#f1f8f2}
.tg-arcade-feature-launch,.tg-arcade-feature-disabled{display:inline-flex!important;align-items:center;justify-content:center;text-decoration:none!important;border:0!important;border-radius:12px!important;padding:13px 18px!important;background:#83e963!important;color:#10210c!important;font-weight:900!important;box-shadow:0 8px 24px rgba(131,233,99,.2)!important}
.tg-arcade-feature-launch{cursor:pointer}.tg-arcade-feature-disabled{opacity:.88;cursor:default}
.tg-arcade-newest-panel{min-height:430px;padding:16px;border-radius:26px;background:linear-gradient(155deg,#08120d,#121b16);border:1px solid rgba(255,255,255,.08);box-shadow:0 22px 50px rgba(18,34,23,.18);display:flex;flex-direction:column}
.tg-arcade-newest-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:1px 1px 12px;color:#fff}.tg-arcade-newest-heading span{font-size:10px;letter-spacing:.16em;color:#81e466;font-weight:950}.tg-arcade-newest-heading strong{font-size:18px}
.tg-arcade-newest-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;flex:1;min-height:350px}
.tg-arcade-feature-game{position:relative;overflow:hidden;min-height:0;border-radius:15px;border:1px solid rgba(133,234,104,.16);background:#1a211d var(--tg-game-bg) center/cover no-repeat;cursor:pointer;padding:0;text-align:left;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 8px 22px rgba(0,0,0,.26);transition:transform .16s ease,border-color .16s ease}
.tg-arcade-feature-game:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.90) 0%,rgba(0,0,0,.25) 42%,rgba(0,0,0,.03) 72%)}
.tg-arcade-feature-game span{position:absolute;z-index:2;left:12px;right:12px;bottom:11px;color:#fff}.tg-arcade-feature-game b{display:block;font-size:15px;line-height:1.15}.tg-arcade-feature-game small{display:block;margin-top:3px;color:#d4ddd6;font-size:11px}.tg-arcade-feature-game:hover{transform:translateY(-2px) scale(1.01);border-color:#83e963}
body.page-template-page-arcade .tg-arcade-game-section{padding-top:24px}
@media(max-width:1050px){body.page-template-page-arcade .tg-arcade-featured-grid{grid-template-columns:1fr}.tg-arcade-survival-feature,.tg-arcade-survival-copy{min-height:390px}.tg-arcade-newest-panel{min-height:390px}}
@media(max-width:620px){body.page-template-page-arcade .tg-arcade-hero.tg-arcade-featured-hero{padding-top:96px}.tg-arcade-survival-feature{min-height:430px;background-position:62% center}.tg-arcade-survival-copy{min-height:430px;padding:30px 22px}.tg-arcade-survival-copy h1{font-size:42px!important}.tg-arcade-newest-panel{min-height:360px}.tg-arcade-newest-grid{min-height:300px}.tg-arcade-feature-game b{font-size:13px}}


/* v2.0.99 — New TG Game Engine 2.0 third-person 3D arcade hero */
.tg-arcade-next3d-feature{
  position:relative;overflow:hidden;min-height:470px;border-radius:24px;
  background:#10271a;box-shadow:0 20px 45px rgba(0,0,0,.18);isolation:isolate
}
.tg-next3d-scene{position:absolute;inset:0;overflow:hidden;background:linear-gradient(180deg,#173f50 0 52%,#285b38 52% 100%);z-index:-3}
.tg-next3d-sun{position:absolute;right:15%;top:12%;width:84px;height:84px;border-radius:50%;background:#d9ffc8;box-shadow:0 0 70px rgba(210,255,188,.48)}
.tg-next3d-mountain{position:absolute;bottom:35%;width:0;height:0;border-left:180px solid transparent;border-right:180px solid transparent;border-bottom:220px solid #183b2c}
.tg-next3d-mountain-a{right:-60px}.tg-next3d-mountain-b{right:155px;bottom:32%;transform:scale(.76);border-bottom-color:#214c35}
.tg-next3d-ground{position:absolute;left:-8%;right:-8%;bottom:-20%;height:56%;border-radius:50% 50% 0 0;background:linear-gradient(#34733f,#173f27)}
.tg-next3d-castle{position:absolute;right:13%;bottom:32%;width:145px;height:105px;background:#69766e;box-shadow:0 12px 24px rgba(0,0,0,.28)}
.tg-next3d-castle:before,.tg-next3d-castle:after{content:"";position:absolute;bottom:0;width:44px;height:150px;background:#758279}
.tg-next3d-castle:before{left:-31px}.tg-next3d-castle:after{right:-31px}
.tg-next3d-castle i{position:absolute;top:-13px;width:24px;height:24px;background:#7e8b82}
.tg-next3d-castle i:nth-child(1){left:10px}.tg-next3d-castle i:nth-child(2){left:60px}.tg-next3d-castle i:nth-child(3){right:10px}
.tg-next3d-hero-character{position:absolute;right:43%;bottom:8%;display:grid;place-items:center;width:70px;height:116px;border-radius:40px 40px 18px 18px;background:#12241a;border:2px solid rgba(129,245,159,.55);color:#83f3a1;font-size:39px;box-shadow:0 15px 28px rgba(0,0,0,.4);transform:rotate(-3deg)}
.tg-next3d-hero-character:before{content:"";position:absolute;top:-22px;width:39px;height:39px;border-radius:50%;background:#162d20;border:2px solid rgba(129,245,159,.55)}
.tg-arcade-next3d-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,16,10,.97) 0%,rgba(7,21,13,.91) 39%,rgba(8,22,14,.43) 66%,rgba(5,16,10,.10) 100%)}
.tg-arcade-next3d-copy{min-height:470px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:48px clamp(28px,4vw,58px);max-width:66%;color:#fff}
.tg-arcade-next3d-copy .kicker{color:#86ef9f!important;margin-top:12px;font-size:12px;letter-spacing:.14em;font-weight:900}
.tg-arcade-next3d-copy h1{font-size:clamp(43px,4.8vw,70px)!important;line-height:.94!important;letter-spacing:-.05em!important;color:#fff!important;margin:10px 0 16px!important}
.tg-arcade-next3d-copy h1 span{color:#7fea98!important}
.tg-arcade-next3d-copy p{max-width:650px!important;color:#dbe9de!important;font-size:16px!important;line-height:1.65!important;margin:0 0 19px!important}
.tg-arcade-next3d-tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 22px}
.tg-arcade-next3d-tags span{padding:7px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.08);font-size:12px;font-weight:800;color:#f2f8f3}
@media(max-width:1050px){.tg-arcade-next3d-copy{max-width:74%}}
@media(max-width:700px){
 .tg-arcade-next3d-feature,.tg-arcade-next3d-copy{min-height:500px}
 .tg-arcade-next3d-copy{max-width:100%;padding:32px 23px;justify-content:flex-end;background:linear-gradient(180deg,rgba(4,14,8,.10) 0%,rgba(5,16,10,.94) 48%)}
 .tg-arcade-next3d-overlay{background:linear-gradient(180deg,rgba(4,15,9,.12),rgba(5,16,10,.82))}
 .tg-next3d-castle{right:14%;bottom:45%;transform:scale(.8)}
 .tg-next3d-hero-character{right:56%;bottom:42%;transform:scale(.78) rotate(-3deg)}
 .tg-arcade-next3d-copy h1{font-size:43px!important}
}

/* v2.1.01 — Correct landing-page iPad slider + 3D Adventure hero thumbnail */
.tg-next3d-scene-image{background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important}
.tg-next3d-scene-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,16,10,.52),rgba(5,16,10,.08) 70%)}

/* v2.1.05 — Impala/mobile-service artwork is transparent art, never a card */
.visual-card.mobile-service-art{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;}
.visual-card.mobile-service-art:hover{border-color:transparent!important;box-shadow:none!important;}
.visual-card.mobile-service-art img{display:block;width:100%;height:auto;object-fit:contain;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;}
.about-mobile-service-hero,.about-mobile-service-hero-img{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;}

/* v2.1.10 — Home hero: stack copy above comparison on phones/tablets.
   Scope to homepage to avoid changing other page heroes. */
@media (max-width: 900px) {
  .visual-hero-home .hero-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: start !important;
  }
  .visual-hero-home .hero-layout > .hero-copy,
  .visual-hero-home .hero-layout > .repair-compare-card {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .visual-hero-home .hero-layout > .hero-copy { grid-row: 1; }
  .visual-hero-home .hero-layout > .repair-compare-card { grid-row: 2; }
  .visual-hero-home .hero-copy h1 {
    font-size: clamp(36px, 8vw, 58px) !important;
    line-height: 1.08 !important;
    overflow-wrap: normal;
  }
  .visual-hero-home .hero-lead { max-width: 100% !important; }
  .visual-hero-home .repair-compare-minimal .repair-compare-stage {
    width: min(440px, 100%) !important;
    max-width: 100% !important;
  }
}
@media (max-width: 480px) {
  .visual-hero-home { padding-top: 110px !important; padding-bottom: 34px !important; }
  .visual-hero-home .hero-layout { gap: 12px !important; }
  .visual-hero-home .hero-copy h1 { font-size: clamp(34px, 9.5vw, 44px) !important; }
  .visual-hero-home .hero-lead { font-size: 15px !important; line-height: 1.6 !important; }
  .visual-hero-home .hero-actions { margin: 22px 0 20px; }
  .visual-hero-home .hero-actions .btn { max-width: 100%; }
  .visual-hero-home .repair-compare-minimal .repair-compare-stage { width: min(340px, 100%) !important; }
}

/* v2.1.11: Mobile booking is in the navigation, not a sticky overlay. */
.tg-mobile-menu-book{display:none!important}
@media(max-width:980px){.primary-nav.open .tg-mobile-menu-book{display:flex!important;align-items:center;justify-content:center;min-height:46px;margin:12px 0 4px;padding:10px 18px;border-radius:10px;background:var(--tg-accent,#71bf44);color:#101410;font-weight:800;text-align:center}.mobile-book{display:none!important}}
@media(max-width:640px){body{padding-bottom:0}.mobile-book{display:none!important}}
