/* timcanfixit - page-specific CSS for 'home'. Generated. */

h1,h2,h3,h4{font-family:var(--font-display); line-height:1.15; margin:0; text-wrap:balance; letter-spacing:-.01em}
ul{margin:0;padding:0;list-style:none}
h2.section-title{font-size:clamp(1.7rem,3vw,2.5rem); font-weight:800}
.section-lede{color:var(--ink-soft); font-size:1.05rem; max-width:60ch}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:.55em; font-family:var(--font-body); font-weight:700; font-size:.98rem; padding:.9em 1.5em; border-radius:999px; border:1px solid transparent; text-decoration:none; cursor:pointer; transition:transform .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease); white-space:nowrap}
.btn-primary:hover{box-shadow:0 16px 36px -12px rgba(232,85,31,.45)}
.btn-secondary{background:transparent; color:var(--ink); border-color:var(--line)}
.btn-secondary:hover{border-color:var(--solder); color:var(--solder-text)}
.on-dark .btn-secondary{color:var(--hero-ink); border-color:var(--hero-line)}
.on-dark .btn-secondary:hover{border-color:var(--solder-2); color:var(--solder-2)}
.btn-block{width:100%}
.btn-sm{padding:.6em 1.1em; font-size:.88rem}
.brand-mark{width:38px; height:38px; flex:none; object-fit:contain}
.brand-word{font-family:var(--font-display); font-weight:800; font-size:1.15rem; letter-spacing:-.01em; line-height:1.05}
nav.primary-nav{display:flex; align-items:center; gap:var(--space-4)}
.nav-toggle svg{width:20px; height:20px}
@media (max-width:640px){.btn-header-book{display:none}}
@media (max-width:640px){.section{ padding-block:var(--space-5); }}
.hero{position:relative; background:var(--hero-bg); color:var(--hero-ink); overflow:hidden; padding-block:var(--space-6) calc(var(--space-6) + 2rem)}
.hero-grid{position:relative; z-index:2; display:grid; grid-template-columns:1.05fr .95fr; gap:var(--space-5); align-items:center}
@media (max-width:960px){.hero-grid{ grid-template-columns:1fr; }}
.hero h1{font-size:clamp(2.2rem,4.6vw,3.4rem); font-weight:800; margin-block:.85rem .95rem}
.hero-lede{font-size:1.14rem; color:var(--hero-lede-ink); max-width:52ch; margin-bottom:var(--space-3)}
.hero-ctas{display:flex; flex-wrap:wrap; gap:1rem; margin-bottom:var(--space-3)}
.hero-microtrust{display:flex; flex-wrap:wrap; gap:1.5rem; font-family:var(--font-mono); font-size:.78rem; color:var(--hero-lede-ink)}
.hero-microtrust li{display:flex; align-items:center; gap:.5em}
.hero-microtrust svg{width:16px; height:16px; color:var(--circuit); flex:none}
.pcb-wrap{position:relative}
.pcb-card{background:linear-gradient(160deg,#0D1530,#0A0F24 60%); border:1px solid var(--hero-line); border-radius:var(--radius-l); padding:var(--space-3); box-shadow:var(--shadow-hero)}
.pcb-card svg{width:100%; height:auto}
.pcb-trace{fill:none; stroke:#2A386E; stroke-width:2}
.pcb-trace-live{fill:none; stroke:var(--solder-2); stroke-width:2.5; stroke-linecap:round}
.pcb-pad{fill:#1B274E; stroke:#324077; stroke-width:1.5}
.pcb-pad-live{fill:var(--solder)}
.pcb-chip{fill:#141D40; stroke:#37457F; stroke-width:1.5}
.pcb-label{font-family:var(--font-mono); font-size:9px; fill:#6E7DAE; letter-spacing:.05em}
.pcb-pulse{animation:pulse 2.6s ease-in-out infinite; transform-origin:center}
@keyframes pulse{0%,100%{ opacity:1; r:5; } 50%{ opacity:.45; r:7.5; }}
.pcb-caption{display:flex; align-items:center; justify-content:space-between; margin-top:var(--space-2); font-family:var(--font-mono); font-size:.72rem; color:#7C8AC0}
.pcb-caption strong{color:var(--solder-2)}
.hero-bg-lines{position:absolute; inset:0; z-index:1; opacity:.5; pointer-events:none}
.readout-bar{position:relative; z-index:3; margin-top:calc(-1 * var(--space-5))}
.readout-panel{background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-l); box-shadow:var(--shadow-m); padding:var(--space-3) var(--space-4); display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-3)}
@media (max-width:900px){.readout-panel{ grid-template-columns:repeat(2,1fr); }}
.readout-item{border-left:2px solid var(--line); padding-left:1.1rem}
.readout-item:first-child{border-left:none; padding-left:0}
@media (max-width:900px){.readout-item:nth-child(odd){border-left:none;padding-left:0}}
.readout-num{font-family:var(--font-mono); font-weight:700; font-size:clamp(1.4rem,2.4vw,1.9rem); color:var(--stat-ink); display:block; font-variant-numeric:tabular-nums}
.readout-label{font-family:var(--font-mono); font-size:.72rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.06em}
.service-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-3)}
@media (max-width:960px){.service-grid{ grid-template-columns:repeat(2,1fr); }}
@media (max-width:640px){.service-grid{ grid-template-columns:1fr; }}
.card-service{background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-m); padding:var(--space-3); display:flex; flex-direction:column; gap:.85rem; transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease)}
.card-service:hover{transform:translateY(-4px); box-shadow:var(--shadow-m); border-color:transparent}
.card-service .icon{width:48px; height:48px; border-radius:12px; background:var(--circuit-bg); color:var(--circuit); display:flex; align-items:center; justify-content:center}
.card-service .icon svg{width:26px; height:26px}
.card-service h3{font-size:1.08rem; font-weight:700}
.card-service p{color:var(--ink-soft); font-size:.94rem; flex:1}
.card-service .card-link{font-weight:700; font-size:.9rem; color:var(--solder-text); text-decoration:none; display:inline-flex; align-items:center; gap:.4em}
.card-service .card-link svg{width:14px; height:14px; transition:transform .15s var(--ease)}
.card-service .card-link:hover svg{transform:translateX(3px)}
.card-service.featured{border-color:var(--solder); background:linear-gradient(180deg,var(--paper-raised),var(--paper-tint))}
.badge-featured{font-family:var(--font-mono); font-size:.65rem; text-transform:uppercase; letter-spacing:.08em; background:var(--solder); color:#fff; padding:.3em .6em; border-radius:6px; align-self:flex-start}
.process-rail{display:grid; grid-template-columns:repeat(5,1fr); gap:var(--space-2); counter-reset:step; position:relative}
@media (max-width:960px){.process-rail{ grid-template-columns:repeat(2,1fr); }}
@media (max-width:560px){.process-rail{ grid-template-columns:1fr; }}
.process-step{position:relative; padding-top:2.6rem}
.process-step::before{counter-increment:step; content:counter(step,decimal-leading-zero); font-family:var(--font-mono); font-weight:700; font-size:.85rem; color:var(--solder-text); background:var(--circuit-bg); width:2.4rem; height:2.4rem; border-radius:50%; display:flex; align-items:center; justify-content:center; position:absolute; top:0; left:0}
.process-rail .process-step:not(:last-child)::after{content:""; position:absolute; top:1.2rem; left:2.4rem; right:-.8rem; height:2px; background:var(--line)}
@media (max-width:960px){.process-rail .process-step::after{ display:none; }}
.process-step h3{font-size:1rem; font-weight:700; margin-bottom:.4rem}
.process-step p{color:var(--ink-soft); font-size:.9rem}
.compare-grid{display:grid; grid-template-columns:1fr 1fr; gap:var(--space-3)}
@media (max-width:800px){.compare-grid{ grid-template-columns:1fr; }}
.compare-card{border-radius:var(--radius-l); padding:var(--space-4)}
.compare-card.no{background:var(--paper-tint); border:1px dashed var(--line)}
.compare-card.yes{background:linear-gradient(165deg,var(--navy),#0B1230); color:#fff; box-shadow:var(--shadow-m)}
.compare-card h3{font-size:1.2rem; margin-bottom:.25rem}
.compare-card .compare-kicker{font-family:var(--font-mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; opacity:.75; display:block; margin-bottom:.6rem}
.compare-list{margin-top:1.2rem; display:flex; flex-direction:column; gap:.75rem}
.compare-list li{display:flex; gap:.65rem; font-size:.95rem; line-height:1.5}
.compare-list svg{width:18px; height:18px; flex:none; margin-top:.15rem}
.compare-card.no svg{color:var(--ink-soft)}
.compare-card.yes svg{color:var(--solder-2)}
.ba-note{margin-top:1rem; color:var(--ink-soft); font-size:.9rem}
.equip-list{display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; max-width:1000px; margin-inline:auto}
@media (max-width:800px){.equip-list{ grid-template-columns:1fr; }}
.equip-item{display:flex; gap:1rem; align-items:flex-start; background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-m); padding:1rem 1.1rem}
.equip-item .icon{width:42px; height:42px; border-radius:10px; background:var(--paper-tint); color:var(--stat-ink); display:flex; align-items:center; justify-content:center; flex:none; overflow:hidden}
.equip-item .icon img{width:100%; height:100%; object-fit:cover}
.equip-item .icon svg{width:22px; height:22px}
.equip-item h4{font-size:.98rem; font-weight:700; margin-bottom:.2rem}
.equip-item p{font-size:.86rem; color:var(--ink-soft)}
.testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-3)}
@media (max-width:900px){.testi-grid{ grid-template-columns:1fr; }}
.card-testi{background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-m); padding:var(--space-3); display:flex; flex-direction:column; gap:.9rem}
.stars{display:flex; gap:.15rem; color:var(--solder)}
.stars svg{width:16px; height:16px}
.card-testi p{font-size:.98rem; color:var(--ink)}
.testi-meta{display:flex; align-items:center; justify-content:space-between; margin-top:auto}
.testi-who{font-size:.82rem; color:var(--ink-soft); font-weight:600}
.verified-badge{display:inline-flex; align-items:center; gap:.35em; font-family:var(--font-mono); font-size:.65rem; text-transform:uppercase; letter-spacing:.05em; color:var(--circuit); background:var(--circuit-bg); padding:.3em .6em; border-radius:6px}
.verified-badge svg{width:11px; height:11px}
.faq-list{display:flex; flex-direction:column; gap:.75rem; max-width:820px}
.faq-cat{font-family:var(--font-mono); font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft); margin:1.6rem 0 .6rem}
.faq-cat:first-child{margin-top:0}
details.faq-item{background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-s); overflow:hidden}
details.faq-item[open]{border-color:var(--solder)}
details.faq-item summary{list-style:none; cursor:pointer; padding:1.05rem 1.2rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; font-weight:700; font-size:.98rem}
details.faq-item summary::-webkit-details-marker{display:none}
.faq-icon{flex:none; width:22px; height:22px; border-radius:50%; border:1.5px solid var(--line); display:flex; align-items:center; justify-content:center; position:relative}
.faq-icon::before,.faq-icon::after{content:""; position:absolute; background:var(--ink-soft); transition:transform .2s var(--ease), opacity .2s var(--ease)}
.faq-icon::before{width:10px; height:2px}
.faq-icon::after{width:2px; height:10px}
details.faq-item[open] .faq-icon::after{transform:rotate(90deg); opacity:0}
details.faq-item[open] .faq-icon{border-color:var(--solder)}
.faq-answer{padding:0 1.2rem 1.15rem; color:var(--ink-soft); font-size:.95rem; line-height:1.65}
.buyback-band{background:linear-gradient(150deg,#0B7A61 0%, #085F4C 100%); border-radius:var(--radius-l); padding:var(--space-4); color:#fff; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--space-3)}
.buyback-band h2{font-size:1.5rem}
.buyback-band p{color:#EAFBF5!important; margin-top:.5rem; max-width:44ch}
.buyback-band .btn-primary{background:#fff; color:#0B7A61; box-shadow:none} /* fixed dark teal: --circuit turns light mint in dark mode, which fails contrast on this white button */
.cta-band{position:relative; overflow:hidden; background:linear-gradient(120deg,var(--navy) 0%, #1B1030 60%, #2A1408 130%); color:#fff; border-radius:var(--radius-l); padding:var(--space-5) var(--space-4); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--space-4)}
.cta-band h2{font-size:clamp(1.6rem,3vw,2.3rem); max-width:20ch}
.cta-band p{color:var(--hero-lede-ink); margin-top:.6rem; max-width:44ch}
.cta-band-actions{display:flex; flex-direction:column; gap:.75rem; align-items:flex-start}
.cta-band-phone{font-family:var(--font-mono); color:var(--hero-lede-ink); font-size:.85rem}
.cta-band-phone strong{color:#fff; font-variant-numeric:tabular-nums}
@media (max-width:900px){.footer-grid{ grid-template-columns:1fr 1fr; }}
.social-row{display:flex; gap:.6rem; margin-top:1.1rem}
.social-row a{width:36px; height:36px; border-radius:50%; border:1px solid var(--hero-line); display:flex; align-items:center; justify-content:center}
.social-row svg{width:16px; height:16px}
.footer-brand p{color:var(--footer-ink-soft) !important}
.footer-col a{color:var(--footer-ink) !important}
