/* ==========================================================================
   Performance Electronics Repair — shared site stylesheet
   Design system: clean / light / trustworthy. Blue primary, teal secondary.
   Used by every page under perfixes.com (except /Twitch, which is unrelated).
   ========================================================================== */

:root{
  --bg:#ffffff;--bg2:#f8fafc;--bg3:#ffffff;--card:#f1f5f9;
  --border:#e6eaf0;--border2:#d6dce5;
  --text:#0f172a;--muted:#94a3b8;--muted2:#475569;
  --accent:#2563eb;--accent-hover:#1d4ed8;--accent-text:#ffffff;
  --green:#059669;--red:#dc2626;
  --ag:rgba(37,99,235,.14);--ag2:rgba(37,99,235,.06);
  --shadow-sm:0 1px 2px rgba(15,23,42,.05);
  --shadow-md:0 6px 16px rgba(15,23,42,.07);
  --shadow-lg:0 16px 40px rgba(15,23,42,.10);
  --shadow-accent:0 10px 28px rgba(37,99,235,.25);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.65;overflow-x:hidden;}
a{text-decoration:none;color:inherit;}
img{display:block;max-width:100%;}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

/* Skip link */
.skip-link{position:absolute;left:1rem;top:-3rem;background:var(--accent);color:#fff;padding:.7rem 1.2rem;border-radius:0 0 8px 8px;font-size:.85rem;font-weight:600;z-index:1000;transition:top .2s;}
.skip-link:focus{top:0;}

/* Scrollbar */
::-webkit-scrollbar{width:9px;}
::-webkit-scrollbar-track{background:var(--bg2);}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:99px;}
::-webkit-scrollbar-thumb:hover{background:var(--muted);}

/* ── HEADER / NAV ── */
header{position:sticky;top:0;z-index:500;background:rgba(255,255,255,.88);backdrop-filter:blur(18px) saturate(160%);border-bottom:1px solid var(--border);}
.nav{max-width:1300px;margin:auto;padding:.9rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;}

.logo-wrap{display:flex;align-items:center;gap:11px;flex-shrink:0;}
.logo-icon{width:34px;height:34px;background:var(--accent);border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;overflow:hidden;}
.logo-icon::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.28),transparent);}
.logo-icon svg{width:19px;height:19px;position:relative;z-index:1;}
.logo-text{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.1rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text);line-height:1.1;}
.logo-text span{color:var(--accent);}

.nav-links{display:flex;gap:0;align-items:center;}
.nav-links>a{font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted2);padding:7px 14px;border-radius:6px;transition:color .2s,background .2s;}
.nav-links>a:hover{color:var(--accent);background:var(--ag2);}

.dropdown{position:relative;}
.dropdown-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted2);padding:7px 14px;border-radius:6px;transition:color .2s,background .2s;}
.chevron{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-1px);transition:transform .3s;}
.dropdown:hover .dropdown-toggle,.dropdown:focus-within .dropdown-toggle{color:var(--accent);background:var(--ag2);}
.dropdown:hover .chevron,.dropdown:focus-within .chevron{transform:rotate(225deg);border-color:var(--accent);}
.dropdown::after{content:"";position:absolute;top:100%;left:0;right:0;height:10px;}
.dropdown-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-6px);background:#fff;border:1px solid var(--border2);border-radius:10px;padding:5px;min-width:185px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:var(--shadow-lg);z-index:100;}
.dropdown:hover .dropdown-menu,.dropdown:focus-within .dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.dropdown-menu a{display:flex;align-items:center;gap:8px;padding:9px 13px;font-size:.85rem;color:var(--muted2);border-radius:6px;transition:all .15s;}
.dropdown-menu a::before{content:"";width:3px;height:3px;border-radius:50%;background:var(--accent);opacity:0;transition:opacity .15s;flex-shrink:0;}
.dropdown-menu a:hover{color:var(--text);background:var(--ag2);padding-left:17px;}
.dropdown-menu a:hover::before{opacity:1;}

.nav-cta{margin-left:10px;font-size:.78rem !important;background:var(--accent) !important;color:#fff !important;font-weight:700 !important;padding:8px 18px !important;border-radius:7px !important;letter-spacing:.05em;text-transform:uppercase;}
.nav-cta:hover{background:var(--accent-hover) !important;}

.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;border:none;background:transparent;}
.hamburger span{width:25px;height:2px;background:var(--accent);border-radius:2px;transition:all .3s;}
.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(7px,7px);}
.hamburger.active span:nth-child(2){opacity:0;}
.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px);}

.mobile-overlay{position:fixed;inset:0;background:rgba(15,23,42,.4);opacity:0;visibility:hidden;transition:all .3s;z-index:498;}
.mobile-overlay.active{opacity:1;visibility:visible;}
.mobile-menu{position:fixed;top:0;right:-310px;width:290px;height:100vh;background:#fff;border-left:1px solid var(--border2);padding:4.5rem 1.5rem 2rem;transition:right .4s cubic-bezier(.4,0,.2,1);z-index:499;overflow-y:auto;box-shadow:var(--shadow-lg);}
.mobile-menu.active{right:0;}
.mob-label{font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);padding:.8rem 0 .3rem;display:block;}
.mobile-menu a{display:block;padding:.65rem 0;font-size:.92rem;font-weight:500;color:var(--muted2);border-bottom:1px solid var(--border);transition:all .2s;}
.mobile-menu a:hover{color:var(--accent);padding-left:6px;}
.mob-cta{margin-top:1.5rem;display:block;text-align:center;background:var(--accent);color:#fff !important;font-weight:700;padding:.9rem;border-radius:8px;font-size:.92rem;border-bottom:none !important;}
.mob-cta:hover{background:var(--accent-hover);padding-left:0 !important;}

/* ── BUTTONS (shared everywhere) ── */
.btn,.cta-btn{display:inline-flex;align-items:center;gap:8px;padding:.88rem 1.9rem;border-radius:8px;font-size:.82rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;transition:all .2s;cursor:pointer;border:none;font-family:inherit;}
.btn svg,.cta-btn svg{width:15px;height:15px;flex-shrink:0;}
.btn-primary,.cta-btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-accent);}
.btn-primary:hover,.cta-btn-primary:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 14px 34px rgba(37,99,235,.32);}
.btn-ghost,.cta-btn-ghost{border:1px solid var(--border2);color:var(--muted2);background:#fff;}
.btn-ghost:hover,.cta-btn-ghost:hover{border-color:var(--accent);color:var(--accent);background:var(--ag2);}

/* ── HERO (homepage) ── */
.hero{position:relative;padding:8.5rem 2rem 6rem;overflow:hidden;border-bottom:1px solid var(--border);background:var(--bg2);}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(15,23,42,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.035) 1px,transparent 1px);background-size:55px 55px;mask-image:radial-gradient(ellipse at 50% 40%,black 30%,transparent 75%);pointer-events:none;}
.hero-orb{position:absolute;top:-30%;left:50%;transform:translateX(-50%);width:900px;height:600px;border-radius:50%;background:radial-gradient(ellipse,rgba(37,99,235,.10) 0%,transparent 65%);pointer-events:none;animation:orb-pulse 7s ease-in-out infinite;}
@keyframes orb-pulse{0%,100%{opacity:.6;transform:translateX(-50%) scale(1);}50%{opacity:1;transform:translateX(-50%) scale(1.1);}}

.hero-content{max-width:920px;margin:auto;position:relative;z-index:2;text-align:center;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);border:1px solid rgba(37,99,235,.3);border-radius:99px;padding:5px 16px;margin-bottom:2rem;background:#fff;animation:fadeup .8s ease both;}
.hero-eyebrow::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);animation:blink 1.8s ease-in-out infinite;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:.25;}}

.hero h1{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(2.8rem,8.5vw,6rem);line-height:.95;letter-spacing:-.01em;text-transform:uppercase;color:var(--text);animation:fadeup .8s .1s ease both;margin-bottom:1.8rem;}
.hero h1 em{font-style:normal;color:var(--accent);}
.hero h1 .ghost{-webkit-text-stroke:1px var(--border2);color:transparent;-webkit-text-fill-color:transparent;}

.hero-desc{font-size:1.08rem;color:var(--muted2);max-width:560px;margin:0 auto 2.5rem;font-weight:400;line-height:1.8;animation:fadeup .8s .2s ease both;}
.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;animation:fadeup .8s .3s ease both;}

.hero-stats{margin-top:3.5rem;padding-top:2.8rem;border-top:1px solid var(--border);display:flex;justify-content:center;flex-wrap:wrap;animation:fadeup .8s .4s ease both;}
.stat{padding:0 2.5rem;text-align:center;border-right:1px solid var(--border);}
.stat:last-child{border-right:none;}
.stat-num{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:2.8rem;color:var(--accent);line-height:1;display:block;}
.stat-lbl{font-family:'JetBrains Mono',monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-top:.3rem;display:block;}

@keyframes fadeup{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}

/* ── TICKER ── */
.ticker-wrap{overflow:hidden;background:var(--accent);padding:.55rem 0;}
.ticker{display:flex;animation:tick 30s linear infinite;width:max-content;}
.t-item{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;padding:0 2.2rem;white-space:nowrap;display:flex;align-items:center;gap:.8rem;}
.t-item::after{content:"◆";opacity:.45;font-size:.55rem;}
@keyframes tick{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ── SECTION COMMONS ── */
section{padding:6rem 2rem;position:relative;}
.container{max-width:1300px;margin:auto;}
.s-label{font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:.7rem;}
.s-title{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(2rem,5vw,3.4rem);text-transform:uppercase;line-height:.97;color:var(--text);margin-bottom:.9rem;}
.s-title em{font-style:normal;color:var(--accent);}
.s-sub{font-size:.95rem;color:var(--muted2);max-width:520px;font-weight:400;line-height:1.8;}

/* ── SERVICES ── */
.services-sec{background:var(--bg2);}
.svc-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1.5rem;margin-bottom:3rem;}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.svc-item{background:#fff;padding:2.4rem 2rem;transition:background .2s;position:relative;overflow:hidden;}
.svc-item::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.4,0,.2,1);}
.svc-item:hover{background:var(--bg2);}
.svc-item:hover::before{transform:scaleX(1);}
.svc-ico{width:46px;height:46px;border-radius:9px;background:var(--ag2);border:1px solid rgba(37,99,235,.16);display:flex;align-items:center;justify-content:center;margin-bottom:1.3rem;transition:background .3s;}
.svc-item:hover .svc-ico{background:var(--ag);}
.svc-ico svg{width:22px;height:22px;stroke:var(--accent);fill:none;stroke-width:1.5;}
.svc-name{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.25rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text);margin-bottom:.45rem;}
.svc-desc{font-size:.86rem;color:var(--muted2);line-height:1.75;}
.svc-tag{display:inline-block;margin-top:.9rem;font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:var(--ag2);border:1px solid rgba(37,99,235,.16);padding:3px 9px;border-radius:4px;}

/* ── PROCESS (home) ── */
.proc-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.proc-steps{display:flex;flex-direction:column;}
.proc-step{display:flex;gap:1.4rem;padding:1.7rem 0;border-bottom:1px solid var(--border);transition:all .3s;}
.proc-step:last-child{border-bottom:none;}
.proc-step:hover .step-n{background:var(--accent);color:#fff;border-color:var(--accent);}
.step-n{font-family:'JetBrains Mono',monospace;font-size:.75rem;width:34px;height:34px;border-radius:7px;flex-shrink:0;border:1px solid var(--border2);color:var(--muted);display:flex;align-items:center;justify-content:center;transition:all .3s;}
.step-tit{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.1rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text);margin-bottom:.3rem;}
.step-desc{font-size:.86rem;color:var(--muted2);line-height:1.75;}
.proc-img{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-lg);}
.proc-img img{width:100%;height:100%;object-fit:cover;min-height:420px;}
.proc-img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,23,42,.75) 0%,transparent 45%);}
.proc-badge{position:absolute;bottom:1.4rem;left:1.4rem;right:1.4rem;z-index:2;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:9px;padding:1.1rem 1.3rem;display:flex;align-items:center;gap:.9rem;box-shadow:var(--shadow-md);}
.proc-badge-ico{width:38px;height:38px;background:var(--accent);border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.proc-badge-ico svg{width:18px;height:18px;fill:#fff;}
.proc-badge strong{display:block;font-size:.88rem;color:var(--text);margin-bottom:1px;}
.proc-badge span{font-size:.75rem;color:var(--muted2);}

/* ── WHY US (home) ── */
.why-sec{background:var(--bg2);}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-top:3rem;}
.why-item{background:#fff;padding:2.8rem;position:relative;overflow:hidden;transition:background .2s;}
.why-item:hover{background:var(--bg2);}
.why-feat{grid-column:span 2;background:var(--card);}
.why-feat:hover{background:var(--card);}
.why-num{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:4.5rem;line-height:1;color:rgba(37,99,235,.08);position:absolute;top:.5rem;right:1.2rem;transition:color .3s;pointer-events:none;}
.why-item:hover .why-num{color:rgba(37,99,235,.16);}
.why-tit{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.35rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text);margin-bottom:.5rem;}
.why-desc{font-size:.88rem;color:var(--muted2);line-height:1.8;max-width:500px;}
.why-tag{display:inline-flex;align-items:center;gap:5px;margin-top:.8rem;font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--green);background:rgba(5,150,105,.08);border:1px solid rgba(5,150,105,.2);padding:3px 10px;border-radius:4px;width:fit-content;}
.why-tag::before{content:"✓";}

/* ── GALLERY (home) ── */
.gal-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1.5rem;margin-bottom:2.5rem;}
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:250px 250px;gap:10px;}
.g-item{position:relative;overflow:hidden;border-radius:9px;border:1px solid var(--border);background:var(--bg2);}
.g-item:nth-child(1){grid-column:span 2;grid-row:span 2;}
.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1);}
.g-item:hover img{transform:scale(1.06);}
.g-ov{position:absolute;inset:0;background:linear-gradient(135deg,rgba(37,99,235,.4),rgba(5,150,105,.28));opacity:0;transition:opacity .3s;display:flex;align-items:center;justify-content:center;}
.g-item:hover .g-ov{opacity:1;}
.g-ov-ico{width:48px;height:48px;background:rgba(255,255,255,.92);border-radius:50%;display:flex;align-items:center;justify-content:center;}
.g-ov-ico svg{width:20px;height:20px;stroke:var(--text);fill:none;stroke-width:1.5;}
.img-ph{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;position:absolute;inset:0;}
.img-ph svg{width:32px;height:32px;stroke:var(--muted);fill:none;opacity:.4;}
.img-ph span{font-size:.68rem;color:var(--muted);font-family:'JetBrains Mono',monospace;letter-spacing:.1em;}

/* ── PRICING TEASER (home) ── */
.price-callout{display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:start;background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:4rem;position:relative;overflow:hidden;}
.price-callout::before{content:"";position:absolute;top:-40%;right:-5%;width:480px;height:480px;border-radius:50%;background:radial-gradient(ellipse,rgba(37,99,235,.08) 0%,transparent 65%);pointer-events:none;}
.diag-big{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:5.5rem;color:var(--accent);line-height:1;}
.diag-unit{font-size:1.4rem;color:var(--muted2);}
.price-list{display:flex;flex-direction:column;gap:.8rem;min-width:210px;}
.p-row{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:.9rem 1.1rem;background:#fff;border:1px solid var(--border);border-radius:7px;}
.p-name{font-size:.83rem;color:var(--muted2);}
.p-val{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.1rem;color:var(--text);white-space:nowrap;}
.p-val.g{color:var(--green);}

/* ── CTA (home) ── */
.cta-sec{background:var(--bg);padding:7rem 2rem;text-align:center;border-top:1px solid var(--border);position:relative;overflow:hidden;}
.cta-sec::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:700px;height:700px;border-radius:50%;background:radial-gradient(ellipse,rgba(37,99,235,.07) 0%,transparent 60%);pointer-events:none;}
.cta-inner{max-width:680px;margin:auto;position:relative;z-index:1;}
.chips{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:2rem;}
.chip{display:inline-flex;align-items:center;gap:7px;padding:.5rem 1.1rem;border-radius:99px;border:1px solid var(--border2);font-size:.8rem;color:var(--muted2);background:var(--bg2);}
.chip svg{width:13px;height:13px;stroke:var(--accent);fill:none;}

/* ── FOOTER ── */
footer{background:var(--bg2);border-top:1px solid var(--border);padding:4rem 2rem 2rem;}
.ft-inner{max-width:1300px;margin:auto;}
.ft-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid var(--border);}
.ft-brand p{font-size:.86rem;color:var(--muted2);line-height:1.85;margin-top:.9rem;max-width:270px;}
.ft-phone{display:inline-flex;align-items:center;gap:8px;margin-top:1.1rem;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.5rem;color:var(--accent);letter-spacing:.02em;}
.ft-phone svg{width:17px;height:17px;stroke:var(--accent);fill:none;}
.ft-col h4{font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1.1rem;font-weight:500;}
.ft-col a{display:block;padding:.35rem 0;font-size:.86rem;color:var(--muted2);transition:all .2s;}
.ft-col a:hover{color:var(--accent);padding-left:5px;}
.ft-bot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.8rem;padding-top:1.8rem;font-size:.76rem;color:var(--muted);}
.ft-bot a{color:var(--muted);transition:color .2s;}
.ft-bot a:hover{color:var(--accent);}

/* ── REVEAL-ON-SCROLL ── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.d1{transition-delay:.1s;} .d2{transition-delay:.2s;} .d3{transition-delay:.3s;} .d4{transition-delay:.4s;}

/* ── PAGE HERO (all sub-pages) ── */
.page-hero{position:relative;padding:5.5rem 2rem 4rem;border-bottom:1px solid var(--border);overflow:hidden;background:var(--bg2);}
.page-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(15,23,42,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.03) 1px,transparent 1px);background-size:55px 55px;mask-image:radial-gradient(ellipse at 20% 50%,black 20%,transparent 70%);pointer-events:none;}
.page-hero-orb{position:absolute;top:-40%;left:-10%;width:600px;height:600px;border-radius:50%;background:radial-gradient(ellipse,rgba(37,99,235,.09) 0%,transparent 65%);pointer-events:none;}
.page-hero-inner{max-width:1300px;margin:auto;position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1.5rem;}
.breadcrumb{display:flex;align-items:center;gap:.5rem;font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem;flex-wrap:wrap;}
.breadcrumb a{color:var(--muted);transition:color .2s;}
.breadcrumb a:hover{color:var(--accent);}
.breadcrumb-sep{opacity:.5;}
.page-title{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(2.6rem,7vw,5.5rem);text-transform:uppercase;line-height:.95;color:var(--text);margin-bottom:1.2rem;}
.page-title em{font-style:normal;color:var(--accent);}
.page-subtitle{font-size:1rem;color:var(--muted2);max-width:560px;font-weight:400;line-height:1.8;}
.hero-meta{text-align:right;flex-shrink:0;}
.hero-meta-label{font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:.3rem;}
.hero-meta-val{font-size:.85rem;color:var(--muted2);}

/* ── CONTENT WRAP ── */
.content-wrap{max-width:1300px;margin:auto;padding:4rem 2rem 6rem;}
main{display:block;}

/* ── GENERIC CTA BLOCK (used across most sub-pages) ── */
.cta-block{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:3rem 3.5rem;display:flex;justify-content:space-between;align-items:center;gap:3rem;flex-wrap:wrap;position:relative;overflow:hidden;margin-top:3rem;}
.cta-block::before{content:"";position:absolute;top:-50%;right:-10%;width:400px;height:400px;border-radius:50%;background:radial-gradient(ellipse,rgba(37,99,235,.08) 0%,transparent 65%);pointer-events:none;}
.cta-block h3{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(1.8rem,3.5vw,2.5rem);text-transform:uppercase;line-height:.97;color:var(--text);margin-bottom:.5rem;}
.cta-block h3 em{font-style:normal;color:var(--accent);}
.cta-block p{font-size:.9rem;color:var(--muted2);font-weight:400;max-width:420px;}
.cta-actions{display:flex;gap:.8rem;flex-wrap:wrap;flex-shrink:0;}

/* ── PROSE ── */
.prose p,.doc-prose p{color:var(--muted2);font-size:.94rem;line-height:1.85;margin-bottom:1.1rem;font-weight:400;}
.prose p:last-child,.doc-prose p:last-child{margin-bottom:0;}
.prose em,.doc-prose em{color:var(--text);font-style:normal;font-weight:600;}
.doc-prose strong{color:var(--text);font-weight:700;}
.doc-prose a{color:var(--accent);transition:color .2s;}
.doc-prose a:hover{color:var(--accent-hover);}

/* ── ABOUT: intro + aside ── */
.intro-layout{display:grid;grid-template-columns:1fr minmax(300px,380px);gap:4rem;align-items:start;margin-bottom:5rem;}
.intro-aside{display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.aside-stat{background:#fff;padding:1.6rem 1.8rem;transition:background .2s;}
.aside-stat:hover{background:var(--bg2);}
.aside-num{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:2.5rem;color:var(--accent);line-height:1;display:block;margin-bottom:.25rem;}
.aside-label{font-size:.82rem;color:var(--muted2);line-height:1.5;}

/* Principles / Reasons grid (about + appointment-only) */
.principles-head,.reasons-head{margin-bottom:2.5rem;}
.principles-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:5rem;}
.reasons-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:5rem;}
.principle-item,.reason-item{background:#fff;padding:2.2rem 2rem;position:relative;overflow:hidden;transition:background .2s;}
.principle-item:hover,.reason-item:hover{background:var(--bg2);}
.principle-item::before,.reason-item::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.4,0,.2,1);}
.principle-item:hover::before,.reason-item:hover::before{transform:scaleX(1);}
.p-icon{width:36px;height:36px;border-radius:8px;background:var(--ag2);border:1px solid rgba(37,99,235,.16);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;transition:background .3s;flex-shrink:0;}
.principle-item:hover .p-icon{background:var(--ag);}
.p-icon svg{width:17px;height:17px;stroke:var(--accent);fill:none;stroke-width:1.8;}
.p-title{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.1rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text);margin-bottom:.4rem;}
.p-desc{font-size:.86rem;color:var(--muted2);line-height:1.75;}
.r-num{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:3rem;color:rgba(37,99,235,.1);line-height:1;margin-bottom:.8rem;transition:color .3s;}
.reason-item:hover .r-num{color:rgba(37,99,235,.22);}
.r-title{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.2rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text);margin-bottom:.5rem;}
.r-desc{font-size:.87rem;color:var(--muted2);line-height:1.78;}

/* What We Don't Do (about) */
.dont-head{margin-bottom:2.5rem;}
.dont-grid{display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:4rem;}
.dont-item{background:#fff;padding:1.8rem 2rem;display:flex;gap:1.2rem;align-items:flex-start;transition:background .2s;position:relative;overflow:hidden;}
.dont-item:hover{background:var(--bg2);}
.dont-item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform .35s cubic-bezier(.4,0,.2,1);}
.dont-item:hover::before{transform:scaleY(1);}
.dont-x{width:32px;height:32px;border-radius:8px;flex-shrink:0;background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.2);display:flex;align-items:center;justify-content:center;margin-top:.1rem;transition:background .3s;}
.dont-item:hover .dont-x{background:rgba(220,38,38,.14);}
.dont-x svg{width:15px;height:15px;stroke:var(--red);fill:none;stroke-width:2.5;}
.dont-title{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.05rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text);margin-bottom:.3rem;}
.dont-desc{font-size:.86rem;color:var(--muted2);line-height:1.75;}

/* Pull quote (appointment-only) */
.pull-quote{background:var(--bg2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:0 10px 10px 0;padding:1.8rem 2rem;margin-top:2rem;}
.pull-quote p{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.35rem;text-transform:uppercase;letter-spacing:.02em;color:var(--text);line-height:1.2;margin:0;}
.pull-quote p em{font-style:normal;color:var(--accent);}

/* Sticky aside card (appointment-only) */
.aside-card{position:sticky;top:80px;background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-md);}
.aside-card-header{background:var(--accent);padding:1.4rem 1.6rem;display:flex;align-items:center;gap:.8rem;}
.aside-card-header svg{width:22px;height:22px;fill:#fff;flex-shrink:0;}
.aside-card-header strong{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.1rem;text-transform:uppercase;letter-spacing:.04em;color:#fff;}
.aside-items{display:flex;flex-direction:column;gap:1px;background:var(--border);}
.aside-item{background:#fff;padding:1.2rem 1.6rem;display:flex;align-items:flex-start;gap:.8rem;transition:background .2s;}
.aside-item:hover{background:var(--bg2);}
.aside-item-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:.35rem;}
.aside-item-text{font-size:.85rem;color:var(--muted2);line-height:1.6;}
.aside-item-text strong{display:block;font-size:.9rem;color:var(--text);margin-bottom:.15rem;font-weight:600;}
.aside-footer{padding:1.4rem 1.6rem;border-top:1px solid var(--border);}
.aside-footer a{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;font-weight:700;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;padding:.85rem;border-radius:7px;transition:background .2s;}
.aside-footer a:hover{background:var(--accent-hover);}
.aside-footer a svg{width:14px;height:14px;stroke:#fff;fill:none;stroke-width:2.5;}

/* Manifesto block (appointment-only) */
.manifesto-wrap{background:var(--bg2);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:4rem;}
.manifesto-header{padding:2.5rem 3rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:1.2rem;}
.manifesto-header-ico{width:44px;height:44px;background:var(--ag2);border:1px solid rgba(37,99,235,.2);border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.manifesto-header-ico svg{width:22px;height:22px;stroke:var(--accent);fill:none;stroke-width:1.5;}
.manifesto-header h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.6rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text);}
.manifesto-header p{font-size:.88rem;color:var(--muted2);margin-top:.2rem;font-weight:400;}
.manifesto-body{padding:2.5rem 3rem;display:flex;flex-direction:column;gap:2rem;}
.manifesto-point{display:flex;gap:1.4rem;align-items:flex-start;}
.m-check{width:28px;height:28px;border-radius:7px;background:rgba(5,150,105,.09);border:1px solid rgba(5,150,105,.22);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.15rem;}
.m-check svg{width:14px;height:14px;stroke:var(--green);fill:none;stroke-width:2.5;}
.m-text strong{display:block;font-size:.95rem;color:var(--text);margin-bottom:.3rem;font-weight:700;}
.m-text p{font-size:.87rem;color:var(--muted2);line-height:1.78;margin:0;}

.callout-banner{background:var(--bg2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:0 12px 12px 0;padding:2rem 2.5rem;margin-bottom:4rem;display:flex;align-items:center;gap:1.5rem;}
.callout-banner svg{width:28px;height:28px;stroke:var(--accent);fill:none;flex-shrink:0;}
.callout-banner p{font-size:.95rem;color:var(--muted2);line-height:1.75;margin:0;font-weight:400;}
.callout-banner strong{color:var(--text);font-weight:700;}

/* ── WARRANTY PAGE ── */
.warranty-badge{display:inline-flex;align-items:center;gap:1.2rem;background:rgba(5,150,105,.07);border:1px solid rgba(5,150,105,.24);border-radius:12px;padding:1.2rem 2rem;margin-bottom:3.5rem;}
.badge-ico{width:48px;height:48px;border-radius:10px;background:rgba(5,150,105,.12);border:1px solid rgba(5,150,105,.28);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.badge-ico svg{width:24px;height:24px;stroke:var(--green);fill:none;stroke-width:1.8;}
.badge-text strong{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:1.6rem;text-transform:uppercase;letter-spacing:.03em;color:var(--green);line-height:1;}
.badge-text span{font-size:.8rem;color:var(--muted2);font-family:'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;}

.page-layout{display:grid;grid-template-columns:1fr 280px;gap:4rem;align-items:start;}
.blocks-wrap{display:flex;flex-direction:column;gap:2rem;}

.policy-block{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.block-head{padding:1.3rem 1.8rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.9rem;}
.block-ico{width:36px;height:36px;border-radius:8px;background:var(--ag2);border:1px solid rgba(37,99,235,.16);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.block-ico.green-ico{background:rgba(5,150,105,.07);border-color:rgba(5,150,105,.22);}
.block-ico.green-ico svg{stroke:var(--green) !important;}
.block-ico.red-ico{background:rgba(220,38,38,.07);border-color:rgba(220,38,38,.22);}
.block-ico.red-ico svg{stroke:var(--red) !important;}
.block-ico svg{width:17px;height:17px;stroke:var(--accent);fill:none;stroke-width:1.8;}
.block-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.2rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text);}
.block-sub{font-size:.78rem;color:var(--muted2);margin-top:.1rem;}
.block-body{padding:1.5rem 1.8rem;}
.block-body p{font-size:.88rem;color:var(--muted2);line-height:1.82;margin-bottom:.8rem;font-weight:400;}
.block-body p:last-child{margin-bottom:0;}
.block-body strong{color:var(--text);font-weight:700;}
.block-body em{color:var(--text);font-style:normal;font-weight:600;}

.policy-rows{display:flex;flex-direction:column;gap:1px;background:var(--border);}
.policy-row{background:var(--bg2);padding:1rem 1.8rem;display:flex;align-items:center;gap:.8rem;font-size:.87rem;color:var(--muted2);line-height:1.6;transition:background .2s;}
.policy-row:hover{background:var(--card);}
.policy-row-ico{width:18px;height:18px;border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.policy-row-ico.ok{background:rgba(5,150,105,.1);}
.policy-row-ico.ok svg{width:10px;height:10px;stroke:var(--green);fill:none;stroke-width:2.5;}
.policy-row-ico.no{background:rgba(220,38,38,.1);}
.policy-row-ico.no svg{width:10px;height:10px;stroke:var(--red);fill:none;stroke-width:2.5;}

.price-chip,.price-chips .price-chip{display:inline-flex;align-items:center;gap:.5rem;font-family:'JetBrains Mono',monospace;font-size:.78rem;letter-spacing:.06em;background:var(--ag2);border:1px solid rgba(37,99,235,.2);color:var(--accent);padding:5px 13px;border-radius:6px;margin-bottom:.9rem;}
.price-chip.red-chip{background:rgba(220,38,38,.07);border-color:rgba(220,38,38,.2);color:var(--red);}
.price-chips{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.8rem;}
.price-chips .price-chip{margin-bottom:0;font-size:.72rem;padding:4px 12px;}

.nr-note{margin-top:.8rem;display:flex;align-items:flex-start;gap:.6rem;background:rgba(220,38,38,.05);border:1px solid rgba(220,38,38,.16);border-radius:7px;padding:.75rem 1rem;font-size:.8rem;color:var(--muted2);line-height:1.6;}
.nr-note svg{width:12px;height:12px;stroke:var(--red);fill:none;flex-shrink:0;margin-top:.2rem;}

.sidebar{position:sticky;top:80px;display:flex;flex-direction:column;gap:1.5rem;}
.at-a-glance{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);}
.aag-header{padding:1.1rem 1.4rem;border-bottom:1px solid var(--border);font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);}
.aag-rows{display:flex;flex-direction:column;gap:1px;background:var(--border);}
.aag-row{background:#fff;padding:.95rem 1.4rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem;transition:background .2s;}
.aag-row:hover{background:var(--bg2);}
.aag-label{font-size:.82rem;color:var(--muted2);}
.aag-val{font-family:'JetBrains Mono',monospace;font-size:.78rem;white-space:nowrap;}
.aag-val.green{color:var(--green);}
.aag-val.amber{color:var(--accent);}
.aag-val.red{color:var(--red);}

.cta-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1.8rem;position:relative;overflow:hidden;box-shadow:var(--shadow-sm);}
.cta-card::before{content:"";position:absolute;top:-50%;right:-30%;width:300px;height:300px;border-radius:50%;background:radial-gradient(ellipse,rgba(37,99,235,.08) 0%,transparent 65%);pointer-events:none;}
.cta-card h3{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.35rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text);margin-bottom:.4rem;}
.cta-card h3 em{font-style:normal;color:var(--accent);}
.cta-card p{font-size:.83rem;color:var(--muted2);line-height:1.7;margin-bottom:1.3rem;font-weight:400;}
.cta-card .btn{width:100%;justify-content:center;margin-bottom:.6rem;}
.cta-card .btn:last-child{margin-bottom:0;}

/* ── POLICY (repair policy + FAQ) ── */
.page-toc{position:sticky;top:80px;}
.toc-card{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);}
.toc-header{padding:1.1rem 1.4rem;border-bottom:1px solid var(--border);font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);}
.toc-links{padding:.6rem;display:flex;flex-direction:column;gap:2px;}
.toc-link{display:flex;align-items:center;gap:.6rem;padding:.65rem .9rem;border-radius:7px;font-size:.82rem;color:var(--muted2);transition:all .2s;cursor:pointer;}
.toc-link::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:0;flex-shrink:0;transition:opacity .2s;}
.toc-link:hover,.toc-link.active{color:var(--accent);background:var(--ag2);padding-left:1.1rem;}
.toc-link:hover::before,.toc-link.active::before{opacity:1;}
.toc-footer{padding:1rem 1.4rem;border-top:1px solid var(--border);}
.toc-footer a{display:flex;align-items:center;justify-content:center;gap:7px;background:var(--accent);color:#fff;font-weight:700;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;padding:.75rem;border-radius:7px;transition:background .2s;}
.toc-footer a:hover{background:var(--accent-hover);}
.toc-footer a svg{width:13px;height:13px;stroke:#fff;fill:none;stroke-width:2.5;}

.policies-wrap{display:flex;flex-direction:column;gap:3.5rem;}
.block-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.2rem;border-bottom:1px solid var(--border);}
.policy-items{display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden;}
.policy-item{background:#fff;padding:1.5rem 1.8rem;position:relative;overflow:hidden;transition:background .2s;}
.policy-item:hover{background:var(--bg2);}
.policy-item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform .3s cubic-bezier(.4,0,.2,1);}
.policy-item:hover::before{transform:scaleY(1);}
.pi-label{font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:.4rem;}
.pi-title{font-size:.95rem;font-weight:700;color:var(--text);margin-bottom:.35rem;}
.pi-desc{font-size:.87rem;color:var(--muted2);line-height:1.75;}
.pi-desc a{color:var(--accent);transition:color .2s;}
.pi-desc a:hover{color:var(--accent-hover);}

.limit-list{display:flex;flex-direction:column;gap:.6rem;margin-top:.8rem;}
.limit-row{display:flex;align-items:center;gap:.7rem;font-size:.87rem;color:var(--muted2);}
.limit-row::before{content:"";width:5px;height:5px;border-radius:50%;background:rgba(220,38,38,.65);flex-shrink:0;}

.faq-section{margin-top:3.5rem;}
.faq-section-head{margin-bottom:2rem;}
.faq-group{margin-bottom:2.5rem;}
.faq-group-label{font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;padding:.4rem 0;border-bottom:1px solid var(--border);display:block;}

details{background:#fff;border:1px solid var(--border);border-radius:10px;margin-bottom:6px;overflow:hidden;transition:border-color .2s;}
details[open]{border-color:rgba(37,99,235,.28);}
summary{cursor:pointer;list-style:none;padding:1.3rem 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-weight:700;font-size:.92rem;color:var(--text);transition:color .2s;user-select:none;}
summary::-webkit-details-marker{display:none;}
summary:hover{color:var(--accent);}
.summary-chevron{width:18px;height:18px;border-radius:5px;background:var(--bg2);border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,transform .3s;}
.summary-chevron svg{width:10px;height:10px;stroke:var(--muted2);fill:none;stroke-width:2;transition:stroke .2s;}
details[open] summary .summary-chevron{background:var(--ag2);border-color:rgba(37,99,235,.28);transform:rotate(180deg);}
details[open] summary .summary-chevron svg{stroke:var(--accent);}
details[open] summary{color:var(--accent);}
.details-body{padding:0 1.5rem 1.4rem;border-top:1px solid var(--border);}
.details-body p{font-size:.88rem;color:var(--muted2);line-height:1.8;padding-top:1rem;margin:0;}
.details-body ul{padding-top:.9rem;padding-left:0;display:flex;flex-direction:column;gap:.5rem;}
.details-body li{display:flex;align-items:flex-start;gap:.7rem;font-size:.87rem;color:var(--muted2);line-height:1.65;list-style:none;}
.details-body li::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--muted);flex-shrink:0;margin-top:.55rem;}
.details-body strong{color:var(--text);font-weight:700;}

/* ── PRICING (estimate tool) ── */
.estimate-layout{display:grid;grid-template-columns:1fr 380px;gap:3rem;align-items:start;}
.tool-card{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);}
.tool-card-header{padding:1.8rem 2rem 1.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:1rem;}
.tool-header-ico{width:42px;height:42px;background:var(--accent);border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.tool-header-ico svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:2;}
.tool-card-header h2{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.4rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text);}
.tool-card-header p{font-size:.82rem;color:var(--muted2);margin-top:.15rem;font-weight:400;}
.tool-body{padding:2rem;}

.step-wrap{display:flex;flex-direction:column;gap:1.5rem;}
.step-group{background:var(--bg2);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:border-color .25s;}
.step-group.active{border-color:rgba(37,99,235,.32);}
.step-group-header{padding:1rem 1.3rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.8rem;}
.step-badge{font-family:'JetBrains Mono',monospace;font-size:.65rem;font-weight:500;width:22px;height:22px;border-radius:5px;flex-shrink:0;background:var(--ag2);border:1px solid rgba(37,99,235,.2);color:var(--accent);display:flex;align-items:center;justify-content:center;transition:background .25s,color .25s;}
.step-group.active .step-badge{background:var(--accent);color:#fff;border-color:var(--accent);}
.step-group-label{font-size:.85rem;font-weight:600;color:var(--muted2);transition:color .25s;}
.step-group.active .step-group-label{color:var(--text);}
.step-group-body{padding:1.2rem 1.3rem;}

.select-wrap{position:relative;}
.select-wrap select{width:100%;background:#fff;color:var(--text);border:1px solid var(--border2);border-radius:8px;font-family:'DM Sans',system-ui,sans-serif;font-size:.92rem;padding:.82rem 2.5rem .82rem 1rem;transition:border-color .2s,box-shadow .2s;outline:none;-webkit-appearance:none;appearance:none;cursor:pointer;}
.select-wrap select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.14);}
.select-arrow{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);pointer-events:none;width:16px;height:16px;stroke:var(--muted2);fill:none;}

.device-btns{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;}
.device-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .75rem;border-radius:9px;cursor:pointer;background:#fff;border:1px solid var(--border2);transition:all .2s;font-size:.82rem;color:var(--muted2);font-weight:600;text-align:center;}
.device-btn svg{width:24px;height:24px;stroke:var(--muted);fill:none;stroke-width:1.5;transition:stroke .2s;}
.device-btn:hover{border-color:rgba(37,99,235,.35);background:var(--ag2);color:var(--text);}
.device-btn:hover svg{stroke:var(--accent);}
.device-btn.selected{border-color:var(--accent);background:var(--ag);color:var(--accent);}
.device-btn.selected svg{stroke:var(--accent);}

.hidden{display:none !important;}

.gen-btn{width:100%;margin-top:1.5rem;display:flex;align-items:center;justify-content:center;gap:9px;background:var(--accent);color:#fff;border:none;padding:1.05rem;border-radius:9px;font-family:'DM Sans',system-ui,sans-serif;font-weight:700;font-size:.88rem;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;box-shadow:var(--shadow-accent);transition:background .2s,transform .2s,box-shadow .2s;}
.gen-btn:hover{background:var(--accent-hover);transform:translateY(-2px);}
.gen-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none;}
.gen-btn svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2.5;}

.result-wrap{margin-top:1.5rem;background:var(--bg2);border:1px solid rgba(37,99,235,.3);border-radius:10px;overflow:hidden;animation:result-in .4s cubic-bezier(0.175,0.885,0.32,1.275) both;}
@keyframes result-in{from{opacity:0;transform:translateY(10px) scale(.98);}to{opacity:1;transform:translateY(0) scale(1);}}
.result-header{background:var(--ag);border-bottom:1px solid rgba(37,99,235,.18);padding:.85rem 1.3rem;display:flex;align-items:center;gap:.6rem;font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);}
.result-header svg{width:13px;height:13px;stroke:var(--accent);fill:none;flex-shrink:0;}
.result-body{padding:1.4rem 1.5rem;}
.result-price{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:3rem;color:var(--accent);line-height:1;margin-bottom:.3rem;}
.result-name{font-size:.95rem;color:var(--text);font-weight:600;margin-bottom:.8rem;}
.result-note{display:flex;align-items:flex-start;gap:.6rem;font-size:.78rem;color:var(--muted2);line-height:1.6;background:#fff;border:1px solid var(--border);border-radius:7px;padding:.7rem .9rem;}
.result-note svg{width:12px;height:12px;stroke:var(--muted2);fill:none;flex-shrink:0;margin-top:.15rem;}

.tool-disclaimer{margin-top:1.2rem;padding:.9rem 1.1rem;background:var(--bg2);border:1px solid var(--border);border-radius:8px;display:flex;gap:.6rem;align-items:flex-start;}
.tool-disclaimer svg{width:13px;height:13px;stroke:var(--muted2);fill:none;flex-shrink:0;margin-top:.2rem;}
.tool-disclaimer p{font-size:.76rem;color:var(--muted2);line-height:1.6;margin:0;}

.estimate-sidebar{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:80px;}
.ranges-card,.how-card,.tips-card,.addr-card,.facts-card,.nav-card{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);}
.ranges-header,.how-header,.tips-header,.addr-header,.facts-header,.nav-card-header{padding:1.1rem 1.4rem;border-bottom:1px solid var(--border);font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);}
.ranges-body,.facts-items,.how-steps{display:flex;flex-direction:column;gap:1px;background:var(--border);}
.range-item,.fact-item{background:#fff;padding:1rem 1.4rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem;transition:background .2s;}
.range-item:hover,.fact-item:hover{background:var(--bg2);}
.range-name,.fact-label{font-size:.83rem;color:var(--muted2);}
.range-val,.fact-val{font-family:'JetBrains Mono',monospace;font-size:.8rem;color:var(--accent);white-space:nowrap;}

.how-steps{padding:1rem 1.4rem;display:flex;flex-direction:column;gap:.9rem;background:none;}
.how-step{display:flex;gap:.8rem;align-items:flex-start;}
.how-n{font-family:'JetBrains Mono',monospace;font-size:.65rem;width:20px;height:20px;border-radius:5px;flex-shrink:0;background:var(--ag2);border:1px solid rgba(37,99,235,.2);color:var(--accent);display:flex;align-items:center;justify-content:center;margin-top:.1rem;}
.how-text{font-size:.82rem;color:var(--muted2);line-height:1.6;}
.how-text strong{color:var(--text);font-weight:600;}

/* ── PROCESS PAGE ── */
.overview-strip{display:flex;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:4rem;}
.ov-item{background:#fff;padding:1.1rem 1.4rem;flex:1;display:flex;align-items:center;gap:.8rem;transition:background .2s;}
.ov-item:hover{background:var(--bg2);}
.ov-ico,.trust-ico{width:30px;height:30px;border-radius:7px;background:var(--ag2);border:1px solid rgba(37,99,235,.16);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ov-ico svg,.trust-ico svg{width:15px;height:15px;stroke:var(--accent);fill:none;stroke-width:1.8;}
.ov-text strong,.trust-text strong{display:block;font-size:.82rem;color:var(--text);font-weight:700;}
.ov-text span,.trust-text span{font-size:.74rem;color:var(--muted2);font-family:'JetBrains Mono',monospace;letter-spacing:.05em;}

.process-layout{display:grid;grid-template-columns:1fr 300px;gap:4rem;align-items:start;}
.steps-wrap{display:flex;flex-direction:column;gap:0;}
.step-item{display:grid;grid-template-columns:60px 1fr;gap:0;position:relative;}
.step-item:not(:last-child) .step-line-col::after{content:"";position:absolute;left:29px;top:60px;bottom:0;width:2px;background:linear-gradient(to bottom,rgba(37,99,235,.3),rgba(37,99,235,.05));z-index:0;}
.step-line-col{position:relative;display:flex;flex-direction:column;align-items:center;padding-top:0;}
.step-circle{width:44px;height:44px;border-radius:50%;background:#fff;border:2px solid var(--border2);display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1;position:relative;transition:border-color .3s,background .3s;}
.step-circle svg{width:19px;height:19px;stroke:var(--muted2);fill:none;stroke-width:1.7;transition:stroke .3s;}
.step-item.active .step-circle,.step-item:hover .step-circle{border-color:var(--accent);background:var(--ag);}
.step-item.active .step-circle svg,.step-item:hover .step-circle svg{stroke:var(--accent);}
.step-content{padding:0 0 3.5rem 1.8rem;}
.step-num{font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:.4rem;display:block;}
.step-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.5rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text);margin-bottom:.9rem;line-height:1;}
.step-body{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden;}
.step-body-inner{padding:1.5rem 1.8rem;}
.step-body-inner p{font-size:.88rem;color:var(--muted2);line-height:1.82;margin-bottom:.8rem;font-weight:400;}
.step-body-inner p:last-child{margin-bottom:0;}
.step-body-inner em{color:var(--text);font-style:normal;font-weight:600;}
.step-details{padding:1rem 1.8rem;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.5rem;}
.step-tag{font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.08em;padding:3px 9px;border-radius:4px;background:var(--ag2);border:1px solid rgba(37,99,235,.16);color:var(--accent);}
.step-tag.green{background:rgba(5,150,105,.08);border-color:rgba(5,150,105,.22);color:var(--green);}

.process-sidebar{position:sticky;top:80px;display:flex;flex-direction:column;gap:1.5rem;}
.nav-steps{padding:.6rem;display:flex;flex-direction:column;gap:2px;}
.nav-step,.toc-link{display:flex;align-items:center;gap:.8rem;padding:.65rem .9rem;border-radius:7px;font-size:.83rem;color:var(--muted2);transition:all .2s;cursor:pointer;}
.nav-step-n{font-family:'JetBrains Mono',monospace;font-size:.65rem;width:20px;height:20px;border-radius:5px;flex-shrink:0;background:var(--bg2);border:1px solid var(--border2);color:var(--muted2);display:flex;align-items:center;justify-content:center;transition:all .2s;}
.nav-step:hover,.nav-step.active{color:var(--accent);background:var(--ag2);}
.nav-step:hover .nav-step-n,.nav-step.active .nav-step-n{background:var(--accent);color:#fff;border-color:var(--accent);}

.closing{margin-top:4rem;background:var(--bg2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:0 12px 12px 0;padding:2rem 2.5rem;}
.closing p{font-size:.93rem;color:var(--muted2);line-height:1.85;font-weight:400;margin:0;}
.closing em{color:var(--text);font-style:normal;font-weight:600;}

/* ── PRIVACY / TERMS (legal docs) ── */
.doc-layout{display:grid;grid-template-columns:1fr 260px;gap:4rem;align-items:start;}
.doc-section{margin-bottom:3rem;}
.doc-section:last-child{margin-bottom:0;}
.section-anchor{display:block;margin-top:-90px;padding-top:90px;visibility:hidden;}
.doc-section-header{display:flex;align-items:center;gap:.9rem;margin-bottom:1.4rem;padding-bottom:1.2rem;border-bottom:1px solid var(--border);}
.doc-ico{width:36px;height:36px;border-radius:8px;background:var(--ag2);border:1px solid rgba(37,99,235,.16);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.doc-ico svg{width:17px;height:17px;stroke:var(--accent);fill:none;stroke-width:1.7;}
.doc-section-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.25rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text);}

.doc-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.6rem;}
.doc-list-item{display:flex;align-items:flex-start;gap:.8rem;font-size:.88rem;color:var(--muted2);line-height:1.7;}
.doc-list-item::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--muted);flex-shrink:0;margin-top:.58rem;}
.doc-list-item.green::before{background:var(--green);}
.doc-list-item.red::before{background:var(--red);}
.doc-list-item.amber::before{background:var(--accent);}

.doc-callout{margin-top:.9rem;background:var(--bg2);border:1px solid var(--border2);border-left:2px solid var(--accent);border-radius:0 8px 8px 0;padding:.9rem 1.2rem;font-size:.83rem;color:var(--muted2);line-height:1.7;}
.doc-callout strong{color:var(--text);font-weight:700;}

.contact-block{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:1.5rem 1.8rem;margin-top:1rem;}
.contact-block strong{display:block;font-size:.95rem;color:var(--text);margin-bottom:.7rem;font-weight:800;}
.contact-row{display:flex;align-items:center;gap:.7rem;margin-bottom:.5rem;font-size:.87rem;color:var(--muted2);}
.contact-row:last-child{margin-bottom:0;}
.contact-row svg{width:14px;height:14px;stroke:var(--accent);fill:none;flex-shrink:0;}
.contact-row a{color:var(--accent);transition:color .2s;}
.contact-row a:hover{color:var(--accent-hover);}

.effective-banner,.intro-banner{background:var(--ag2);border:1px solid rgba(37,99,235,.18);border-radius:9px;padding:.9rem 1.2rem;margin-bottom:2.5rem;display:flex;align-items:flex-start;gap:.8rem;font-size:.82rem;color:var(--muted2);}
.effective-banner svg,.intro-banner svg{width:14px;height:14px;stroke:var(--accent);fill:none;flex-shrink:0;margin-top:.15rem;}
.effective-banner strong,.intro-banner strong{color:var(--accent);}

/* ── CONTACT PAGE ── */
.trust-strip{display:flex;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:3.5rem;}
.trust-item{background:#fff;padding:1.1rem 1.5rem;flex:1;display:flex;align-items:center;gap:.8rem;transition:background .2s;}
.trust-item:hover{background:var(--bg2);}

.contact-layout{display:grid;grid-template-columns:1fr 380px;gap:2.5rem;align-items:start;}

.form-card{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);}
.form-card-header{padding:2rem 2.5rem 1.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:1rem;}
.form-card-header-ico,.form-header-ico{width:40px;height:40px;background:var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.form-card-header-ico svg,.form-header-ico svg{width:20px;height:20px;fill:#fff;stroke:#fff;}
.form-card-header h2{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.4rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text);}
.form-card-header p{font-size:.82rem;color:var(--muted2);margin-top:.15rem;font-weight:400;}
.form-body{padding:2rem 2.5rem 2.5rem;}

.form-section-label{font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);padding:.5rem 0 .8rem;margin-top:1.6rem;border-bottom:1px solid var(--border);display:block;}
.form-section-label:first-child{margin-top:0;}

.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.2rem;}
.field:last-of-type{margin-bottom:0;}
.field label{font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted2);}
.field label .req{color:var(--accent);margin-left:2px;}
.field input,.field select,.field textarea{background:#fff;color:var(--text);border:1px solid var(--border2);border-radius:8px;font-family:'DM Sans',system-ui,sans-serif;font-size:.92rem;padding:.82rem 1rem;transition:border-color .2s,box-shadow .2s;outline:none;-webkit-appearance:none;appearance:none;width:100%;}
.field input::placeholder,.field textarea::placeholder{color:var(--muted);}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.14);}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer;}
.field select option{background:#fff;color:var(--text);}
.field textarea{resize:vertical;min-height:130px;line-height:1.65;}
.field-hint{font-size:.75rem;color:var(--muted);font-family:'JetBrains Mono',monospace;letter-spacing:.04em;}

.form-submit{margin-top:1.8rem;}
.form-submit button{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;background:var(--accent);color:#fff;border:none;padding:1rem;border-radius:8px;font-family:'DM Sans',system-ui,sans-serif;font-weight:700;font-size:.88rem;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;box-shadow:var(--shadow-accent);transition:background .2s,transform .2s,box-shadow .2s;}
.form-submit button:hover{background:var(--accent-hover);transform:translateY(-2px);}
.form-submit button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;}
.form-submit button svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2.5;}

.form-note{margin-top:1.2rem;background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:.9rem 1.1rem;display:flex;align-items:flex-start;gap:.7rem;}
.form-note svg{width:14px;height:14px;stroke:var(--muted2);fill:none;flex-shrink:0;margin-top:.15rem;}
.form-note p{font-size:.78rem;color:var(--muted2);line-height:1.6;margin:0;}

.form-success{display:none;padding:3rem 2.5rem;text-align:center;}
.form-success.visible{display:block;}
.success-ico{width:60px;height:60px;background:rgba(5,150,105,.1);border:1px solid rgba(5,150,105,.28);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;}
.success-ico svg{width:28px;height:28px;stroke:var(--green);fill:none;stroke-width:2;}
.form-success h3{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.8rem;text-transform:uppercase;color:var(--text);margin-bottom:.6rem;}
.form-success p{font-size:.92rem;color:var(--muted2);font-weight:400;line-height:1.75;max-width:380px;margin:0 auto;}

.info-sidebar{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:80px;}
.info-card{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);}
.info-card-header{padding:1.2rem 1.5rem;border-bottom:1px solid var(--border);font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);}
.info-items{display:flex;flex-direction:column;gap:1px;background:var(--border);}
.info-item{background:#fff;padding:1.2rem 1.5rem;display:flex;align-items:flex-start;gap:.9rem;transition:background .2s;}
.info-item:hover{background:var(--bg2);}
.info-item-ico{width:34px;height:34px;border-radius:8px;background:var(--ag2);border:1px solid rgba(37,99,235,.16);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem;}
.info-item-ico svg{width:16px;height:16px;stroke:var(--accent);fill:none;stroke-width:1.8;}
.info-item-body strong{display:block;font-size:.82rem;color:var(--text);margin-bottom:.25rem;font-weight:700;}
.info-item-body span,.info-item-body a{font-size:.85rem;color:var(--muted2);line-height:1.6;display:block;}
.info-item-body a{transition:color .2s;}
.info-item-body a:hover{color:var(--accent);}

.phone-highlight{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:border-color .2s;box-shadow:var(--shadow-sm);}
.phone-highlight:hover{border-color:var(--accent);}
.phone-ico{width:44px;height:44px;background:var(--accent);border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.phone-ico svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2;}
.phone-body strong{display:block;font-size:.75rem;color:var(--muted);font-family:'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.25rem;}
.phone-body a{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.7rem;letter-spacing:.02em;color:var(--accent);transition:color .2s;}
.phone-body a:hover{color:var(--accent-hover);}
.phone-body span{display:block;font-size:.75rem;color:var(--muted);margin-top:.15rem;}

.expect-card{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);}
.expect-card-header{padding:1.1rem 1.5rem;border-bottom:1px solid var(--border);font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);}
.expect-items{padding:1rem 1.5rem;display:flex;flex-direction:column;gap:.9rem;}
.expect-item{display:flex;gap:.8rem;align-items:flex-start;}
.expect-step{font-family:'JetBrains Mono',monospace;font-size:.65rem;width:22px;height:22px;border-radius:5px;flex-shrink:0;background:var(--ag2);border:1px solid rgba(37,99,235,.2);color:var(--accent);display:flex;align-items:center;justify-content:center;margin-top:.1rem;font-weight:600;}
.expect-text{font-size:.83rem;color:var(--muted2);line-height:1.6;}
.expect-text strong{color:var(--text);font-weight:600;}

/* ── SHIP-IN PAGE EXTRAS ── */
.main-layout{display:grid;grid-template-columns:1fr 340px;gap:3rem;align-items:start;}

.file-upload-wrap{border:1.5px dashed var(--border2);border-radius:9px;padding:1.5rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;position:relative;}
.file-upload-wrap:hover{border-color:var(--accent);background:var(--ag2);}
.file-upload-wrap input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.file-upload-ico{width:36px;height:36px;border-radius:8px;background:var(--ag2);border:1px solid rgba(37,99,235,.16);display:flex;align-items:center;justify-content:center;margin:0 auto .7rem;}
.file-upload-ico svg{width:18px;height:18px;stroke:var(--accent);fill:none;}
.file-upload-wrap p{font-size:.83rem;color:var(--muted2);margin:0;}
.file-upload-wrap span{font-size:.73rem;color:var(--muted);font-family:'JetBrains Mono',monospace;letter-spacing:.05em;}
.file-names{font-size:.75rem;color:var(--accent);margin-top:.5rem;font-family:'JetBrains Mono',monospace;}

.checkbox-field{display:flex;gap:.9rem;align-items:flex-start;background:var(--bg2);border:1px solid var(--border2);border-radius:8px;padding:1rem 1.2rem;margin-top:1.4rem;transition:border-color .2s;cursor:pointer;}
.checkbox-field:has(input:checked){border-color:rgba(5,150,105,.35);}
.checkbox-field input{width:16px;height:16px;flex-shrink:0;margin-top:.15rem;accent-color:var(--green);cursor:pointer;}
.checkbox-field p{font-size:.83rem;color:var(--muted2);line-height:1.65;margin:0;}
.checkbox-field strong{color:var(--text);font-weight:700;}

.tips-body{padding:1.1rem 1.4rem;display:flex;flex-direction:column;gap:.7rem;}
.tip-row{display:flex;align-items:flex-start;gap:.7rem;font-size:.82rem;color:var(--muted2);line-height:1.6;}
.tip-ico{width:20px;height:20px;border-radius:5px;flex-shrink:0;background:var(--ag2);border:1px solid rgba(37,99,235,.16);display:flex;align-items:center;justify-content:center;margin-top:.1rem;}
.tip-ico svg{width:11px;height:11px;stroke:var(--accent);fill:none;stroke-width:2;}

.addr-body{padding:1.4rem;}
.addr-note{font-size:.78rem;color:var(--red);font-family:'JetBrains Mono',monospace;letter-spacing:.05em;background:rgba(220,38,38,.06);border:1px solid rgba(220,38,38,.18);border-radius:6px;padding:.5rem .8rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;}
.addr-note svg{width:12px;height:12px;stroke:var(--red);fill:none;flex-shrink:0;}
.addr-line{font-size:.9rem;color:var(--text);font-weight:600;line-height:1.7;}
.addr-sub{font-size:.78rem;color:var(--muted2);margin-top:.3rem;}
.copy-btn{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.75rem;font-family:'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:var(--ag2);border:1px solid rgba(37,99,235,.2);border-radius:6px;padding:.5rem .9rem;cursor:pointer;transition:all .2s;width:fit-content;}
.copy-btn:hover{background:var(--accent);color:#fff;}
.copy-btn svg{width:12px;height:12px;stroke:currentColor;fill:none;}

/* ── RESPONSIVE ── */
@media(max-width:1100px){
  .estimate-layout,.process-layout,.contact-layout,.main-layout,.page-layout,.doc-layout{grid-template-columns:1fr;}
  .estimate-sidebar,.process-sidebar,.info-sidebar,.sidebar,.page-toc,.aside-card{position:static;}
  .intro-layout{grid-template-columns:1fr;gap:3rem;}
  .principles-grid{grid-template-columns:1fr;}
  .reasons-grid{grid-template-columns:1fr 1fr;}
  .ranges-body{display:grid;grid-template-columns:1fr 1fr;}
  .ft-top{grid-template-columns:1fr 1fr;}
  .svc-grid{grid-template-columns:repeat(2,1fr);}
  .proc-layout{grid-template-columns:1fr;gap:3rem;}
  .gal-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:auto;}
  .g-item:nth-child(1){grid-column:span 2;grid-row:span 1;}
  .price-callout{grid-template-columns:1fr;gap:2.5rem;}
  .price-list{flex-direction:row;flex-wrap:wrap;}
  .p-row{flex:1;min-width:170px;}
  .why-grid{grid-template-columns:1fr;}
  .why-feat{grid-column:span 1;}
}
@media(max-width:800px){
  .nav-links{display:none;} .hamburger{display:flex;}
  section{padding:4rem 1.5rem;}
  .hero{padding:6.5rem 1.5rem 4.5rem;}
  .page-hero{padding:4rem 1.5rem 3rem;}
  .page-hero-inner{flex-direction:column;align-items:flex-start;}
  .hero-meta{text-align:left;}
  .content-wrap{padding:3rem 1.5rem 4rem;}
  .svc-grid{grid-template-columns:1fr;}
  .gal-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;}
  .ft-top{grid-template-columns:1fr;gap:2rem;}
  .cta-block{padding:2.5rem 2rem;flex-direction:column;align-items:flex-start;}
  .form-card-header,.form-body,.tool-card-header,.tool-body{padding:1.5rem;}
  .trust-strip{flex-direction:column;gap:0;}
  .overview-strip{flex-wrap:wrap;}
  .ov-item{min-width:calc(50% - 1px);}
  .step-item{grid-template-columns:44px 1fr;}
  .warranty-badge{flex-direction:column;align-items:flex-start;gap:.8rem;}
}
@media(max-width:600px){
  .hero h1{font-size:clamp(2.4rem,12vw,3.8rem);}
  .hero-actions{flex-direction:column;}
  .btn{width:100%;justify-content:center;}
  .stat{border-right:none;border-bottom:1px solid var(--border);padding:1rem 0;}
  .stat:last-child{border-bottom:none;}
  .hero-stats{flex-direction:column;}
  .gal-grid{grid-template-columns:1fr;}
  .g-item:nth-child(1){grid-column:span 1;}
  .price-callout{padding:2rem 1.5rem;}
  .diag-big{font-size:4rem;}
  .price-list{flex-direction:column;}
  .cta-actions{flex-direction:column;width:100%;}
  .form-row{grid-template-columns:1fr;}
  .ranges-body{display:flex;flex-direction:column;}
  .price-chips{flex-direction:column;}
}
