:root{
    --ink:#10151c;
    --ink-soft:#1c2431;
    --paper:#f5f2ea;
    --paper-alt:#ebe6d9;
    --signal:#f0a63c;
    --signal-dark:#c9822a;
    --steel:#4d5a66;
    --steel-soft:#7c8791;
    --line:#dcd5c4;
    --line-dark:#33404d;
    --good:#2f7f6c;
    --paper-text:#181c1f;
    --radius-s:6px;
    --radius-m:10px;
    --maxw:1180px;
    --ff-display:'Space Grotesk', sans-serif;
    --ff-body:'Inter', sans-serif;
    --ff-mono:'IBM Plex Mono', monospace;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--paper-text);
    font-family:var(--ff-body);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  img,svg{display:block;}
  a{color:inherit;text-decoration:none;}
  button{font-family:inherit;cursor:pointer;}
  ul{margin:0;padding:0;list-style:none;}
  h1,h2,h3,h4{font-family:var(--ff-display);margin:0;letter-spacing:-0.01em;}
  p{margin:0;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
  :focus-visible{outline:2px solid var(--signal-dark);outline-offset:2px;}
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}
  }

  /* ---------- top strip ---------- */
  .topstrip{background:var(--ink);color:#cfd6dc;font-size:12.5px;}
  .topstrip .wrap{display:flex;align-items:center;justify-content:space-between;height:36px;}
  .topstrip .cities{display:flex;gap:14px;}
  .topstrip .cities span{color:var(--steel-soft);}
  .topstrip .cities strong{color:#eceff1;font-weight:500;}
  .topstrip .contact{display:flex;gap:18px;}
  .topstrip a:hover{color:var(--signal);}
  @media (max-width:760px){ .topstrip .cities{display:none;} }

  /* ---------- header ---------- */
  header.site{
    position:sticky;top:0;z-index:60;
    background:rgba(245,242,234,0.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .navrow{display:flex;align-items:center;justify-content:space-between;height:76px;gap:24px;}
  .brand{display:flex;align-items:center;gap:10px;font-family:var(--ff-display);font-weight:700;font-size:19px;}
  .brand .mark{
    width:34px;height:34px;border-radius:8px;background:var(--ink);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .brand .mark svg{width:19px;height:19px;}
  nav.primary{display:flex;align-items:center;gap:30px;}
  nav.primary a{font-size:14.5px;font-weight:500;color:var(--steel);padding:6px 0;position:relative;}
  nav.primary a:hover{color:var(--ink);}
  nav.primary a.dropdown::after{content:'';display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-left:6px;}
  .navcta{display:flex;align-items:center;gap:14px;}
  .phonebtn{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink);}
  .phonebtn svg{width:16px;height:16px;}
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    font-family:var(--ff-body);font-weight:600;font-size:14px;
    padding:11px 20px;border-radius:var(--radius-s);border:1px solid transparent;
    transition:transform .15s ease, background .15s ease, border-color .15s ease;
    white-space:nowrap;
  }
  .btn-signal{background:var(--signal);color:var(--ink);}
  .btn-signal:hover{background:var(--signal-dark);transform:translateY(-1px);}
  .btn-outline{border-color:var(--ink);color:var(--ink);background:transparent;}
  .btn-outline:hover{background:var(--ink);color:var(--paper);}
  .btn-ghost-light{border-color:rgba(255,255,255,0.35);color:#f2efe6;}
  .btn-ghost-light:hover{background:rgba(255,255,255,0.1);}
  .hamburger{display:none;background:none;border:none;padding:8px;}
  .hamburger span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0;}
  @media (max-width:920px){
    nav.primary{display:none;}
    .navcta .phonebtn{display:none;}
    .hamburger{display:block;}
  }

  /* ---------- hero ---------- */
  .hero{position:relative;padding:74px 0 88px;overflow:hidden;}
  .hero::before{
    content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
    background-image:
      linear-gradient(var(--line) 1px, transparent 1px),
      linear-gradient(90deg, var(--line) 1px, transparent 1px);
    background-size:64px 64px;
    mask-image:linear-gradient(to bottom, black, transparent 80%);
    opacity:0.5;
  }
  .hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:center;}
  .hero-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--steel);margin-bottom:20px;}
  .hero-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 4px rgba(47,127,108,0.15);}
  .hero h1{font-size:clamp(34px,4.6vw,54px);line-height:1.04;font-weight:700;color:var(--ink);max-width:15ch;}
  .hero .lede{margin-top:22px;font-size:17px;color:var(--steel);max-width:44ch;}
  .hero .cta-row{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;}
  .hero .cta-row .btn{padding:14px 24px;font-size:15px;}
  .hero .cities-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px;}
  .city-chip{
    font-size:13px;font-weight:500;padding:7px 14px;border-radius:100px;
    border:1px solid var(--line);color:var(--steel);background:#fbf9f4;
    transition:all .15s ease;
  }
  .city-chip:hover{border-color:var(--ink);color:var(--ink);}
  .city-chip.active{background:var(--ink);border-color:var(--ink);color:var(--paper);}

  /* ticket card */
  .ticket{
    background:var(--ink);border-radius:16px;padding:26px 26px 22px;color:#e7e9ec;
    box-shadow:0 30px 60px -20px rgba(16,21,28,0.45);
    position:relative;
  }
  .ticket-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px;}
  .ticket-id{font-family:var(--ff-mono);font-size:12.5px;color:var(--steel-soft);}
  .ticket-id b{color:#e7e9ec;}
  .ticket-live{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--signal);font-family:var(--ff-mono);}
  .ticket-live .pulse{width:6px;height:6px;border-radius:50%;background:var(--signal);animation:pulse 1.6s ease-in-out infinite;}
  @keyframes pulse{0%,100%{opacity:1;}50%{opacity:.25;}}
  .ticket-service{font-family:var(--ff-display);font-size:22px;font-weight:600;margin-bottom:4px;}
  .ticket-loc{font-size:13px;color:var(--steel-soft);margin-bottom:24px;}
  .steps{display:flex;flex-direction:column;gap:0;}
  .step{display:flex;gap:12px;position:relative;padding-bottom:22px;}
  .step:last-child{padding-bottom:0;}
  .step .rail{display:flex;flex-direction:column;align-items:center;}
  .step .node{width:16px;height:16px;border-radius:50%;border:2px solid var(--line-dark);background:var(--ink-soft);flex-shrink:0;transition:all .3s ease;}
  .step .bar{width:2px;flex:1;background:var(--line-dark);margin-top:2px;transition:background .3s ease;}
  .step:last-child .bar{display:none;}
  .step .label{font-size:14px;color:var(--steel-soft);padding-top:0px;transition:color .3s ease;}
  .step .time{font-family:var(--ff-mono);font-size:11.5px;color:var(--line-dark);margin-left:auto;padding-top:1px;}
  .step.done .node{background:var(--good);border-color:var(--good);}
  .step.done .bar{background:var(--good);}
  .step.done .label{color:#e7e9ec;font-weight:500;}
  .step.done .time{color:var(--good);}
  .step.current .node{background:var(--signal);border-color:var(--signal);box-shadow:0 0 0 4px rgba(240,166,60,0.2);}
  .step.current .label{color:#e7e9ec;font-weight:500;}
  .step.current .time{color:var(--signal);}
  .ticket-foot{margin-top:22px;padding-top:18px;border-top:1px solid var(--line-dark);display:flex;justify-content:space-between;align-items:center;}
  .ticket-tech{display:flex;align-items:center;gap:10px;}
  .ticket-tech .av{width:30px;height:30px;border-radius:50%;background:var(--signal);display:flex;align-items:center;justify-content:center;font-family:var(--ff-display);font-weight:700;font-size:12px;color:var(--ink);}
  .ticket-tech span{font-size:13px;color:var(--steel-soft);}
  .ticket-tech b{color:#e7e9ec;font-weight:500;}
  .ticket-rating{font-size:12.5px;color:var(--signal);font-family:var(--ff-mono);}

  @media (max-width:920px){
    .hero .wrap{grid-template-columns:1fr;}
  }

  /* ---------- section shell ---------- */
  section{padding:92px 0;}
  .section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:44px;flex-wrap:wrap;}
  .section-head h2{font-size:clamp(26px,3.2vw,38px);font-weight:700;color:var(--ink);max-width:16ch;}
  .section-head p{color:var(--steel);max-width:40ch;font-size:15.5px;margin-top:10px;}
  .section-num{font-family:var(--ff-mono);font-size:12.5px;color:var(--steel-soft);}

  /* ---------- services stack carousel ---------- */
  .services-sec{background:var(--paper-alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}

  .stack-panel{
    background:var(--ink);border-radius:20px;padding:52px 40px 40px;position:relative;overflow:hidden;
  }
  .stack-panel::before{
    content:'';position:absolute;inset:0;pointer-events:none;
    background-image:linear-gradient(var(--line-dark) 1px, transparent 1px), linear-gradient(90deg, var(--line-dark) 1px, transparent 1px);
    background-size:56px 56px;opacity:0.35;
    mask-image:radial-gradient(circle at 50% 30%, black, transparent 70%);
  }
  .stack-viewport{position:relative;z-index:1;height:280px;display:flex;align-items:center;justify-content:center;}
  .stack-arrow{
    position:absolute;top:50%;transform:translateY(-50%);z-index:5;
    width:42px;height:42px;border-radius:50%;border:1px solid var(--line-dark);background:var(--ink-soft);
    display:flex;align-items:center;justify-content:center;transition:border-color .15s ease;
  }
  .stack-arrow:hover{border-color:var(--signal);}
  .stack-arrow svg{width:16px;height:16px;stroke:#e7e9ec;}
  .stack-arrow.left{left:0;}
  .stack-arrow.right{right:0;}

  .stack-cards{position:relative;width:220px;height:250px;}
  .stack-card{
    position:absolute;top:0;left:0;width:220px;height:250px;border-radius:16px;overflow:hidden;
    background:#fbf9f4;box-shadow:0 24px 48px -16px rgba(0,0,0,0.5);
    transition:transform .5s cubic-bezier(.22,.8,.25,1), opacity .5s ease, filter .5s ease;
    will-change:transform, opacity;
  }
  .stack-card[data-d="0"]{transform:translateX(0) scale(1);opacity:1;z-index:5;filter:brightness(1);}
  .stack-card[data-d="-1"]{transform:translateX(-68%) scale(0.84);opacity:0.75;z-index:4;filter:brightness(0.75);cursor:pointer;}
  .stack-card[data-d="1"]{transform:translateX(68%) scale(0.84);opacity:0.75;z-index:4;filter:brightness(0.75);cursor:pointer;}
  .stack-card[data-d="-2"]{transform:translateX(-132%) scale(0.7);opacity:0;z-index:1;filter:brightness(0.6);}
  .stack-card[data-d="2"]{transform:translateX(132%) scale(0.7);opacity:0;z-index:1;filter:brightness(0.6);}
  .stack-card .head{height:98px;position:relative;display:flex;align-items:center;justify-content:center;}
  .stack-card .head svg{width:30px;height:30px;stroke:rgba(255,255,255,0.92);position:relative;z-index:1;}
  .stack-card .body{padding:18px 18px 20px;position:relative;}
  .stack-card .bignum{position:absolute;top:-6px;right:10px;font-family:var(--ff-display);font-weight:700;font-size:52px;color:var(--paper-alt);z-index:0;line-height:1;}
  .stack-card .name{position:relative;z-index:1;font-family:var(--ff-display);font-weight:600;font-size:16.5px;color:var(--ink);max-width:9ch;}
  .stack-card .count{position:relative;z-index:1;font-size:12px;color:var(--steel-soft);margin-top:4px;}
  .stack-card .plus{
    position:absolute;bottom:16px;right:16px;width:32px;height:32px;border-radius:50%;
    background:var(--signal);display:flex;align-items:center;justify-content:center;z-index:1;
  }
  .stack-card .plus svg{width:14px;height:14px;stroke:var(--ink);}

  .stack-info{position:relative;z-index:1;margin-top:38px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:start;}
  .stack-info-left h3{font-size:24px;font-weight:600;color:#f2efe6;}
  .stack-info-left p{margin-top:10px;color:var(--steel-soft);font-size:14px;max-width:36ch;}
  .stack-cta{margin-top:20px;}
  .stack-fact{margin-bottom:16px;}
  .stack-fact:last-child{margin-bottom:0;}
  .stack-fact .fr{display:flex;justify-content:space-between;font-size:12.5px;color:var(--steel-soft);margin-bottom:7px;}
  .stack-fact .fr b{color:#e7e9ec;font-weight:500;}
  .stack-fact .track{height:5px;border-radius:3px;background:var(--ink-soft);overflow:hidden;}
  .stack-fact .fill{height:100%;border-radius:3px;background:var(--signal);}
  .stack-counter{position:relative;z-index:1;margin-top:30px;font-family:var(--ff-mono);font-size:12px;color:var(--steel-soft);text-align:center;}
  @media (max-width:780px){
    .stack-info{grid-template-columns:1fr;}
    .stack-panel{padding:40px 20px 30px;}
  }

  .detail-panel{
    margin-top:24px;background:#fbf9f4;border:1px solid var(--line);border-radius:var(--radius-m);
    padding:34px;display:grid;grid-template-columns:1fr 1.4fr;gap:36px;
  }
  .detail-left h3{font-size:24px;font-weight:600;color:var(--ink);}
  .detail-left p{margin-top:12px;color:var(--steel);font-size:14.5px;max-width:34ch;}
  .detail-left .view-all{display:inline-flex;margin-top:20px;font-size:13.5px;font-weight:600;color:var(--ink);border-bottom:1.5px solid var(--signal);padding-bottom:2px;}
  .sub-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:start;}
  .sub-chip{
    display:flex;justify-content:space-between;align-items:center;gap:8px;
    padding:12px 14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-s);
    font-size:13.5px;font-weight:500;color:var(--paper-text);
  }
  .sub-chip svg{width:13px;height:13px;stroke:var(--steel-soft);flex-shrink:0;}
  @media (max-width:780px){
    .detail-panel{grid-template-columns:1fr;padding:24px;}
    .sub-grid{grid-template-columns:1fr;}
  }

  /* ---------- why / stats ---------- */
  .why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-m);overflow:hidden;}
  .why-card{background:var(--paper);padding:30px 26px;}
  .why-card .icn{width:34px;height:34px;margin-bottom:18px;}
  .why-card .icn svg{width:100%;height:100%;stroke:var(--signal-dark);}
  .why-card h4{font-size:16.5px;font-weight:600;}
  .why-card p{margin-top:8px;font-size:13.5px;color:var(--steel);line-height:1.55;}
  @media (max-width:880px){.why-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:520px){.why-grid{grid-template-columns:1fr;}}

  .stats-row{margin-top:1px;display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink);border-radius:var(--radius-m);overflow:hidden;margin-top:48px;}
  .stat{padding:32px 26px;border-right:1px solid var(--line-dark);}
  .stat:last-child{border-right:none;}
  .stat .num{font-family:var(--ff-display);font-size:clamp(28px,3vw,38px);font-weight:700;color:var(--signal);}
  .stat .lbl{margin-top:6px;font-size:13px;color:var(--steel-soft);}
  @media (max-width:780px){.stats-row{grid-template-columns:1fr 1fr;}.stat{border-bottom:1px solid var(--line-dark);}}

  /* ---------- testimonials ---------- */
  .test-wrap{position:relative;max-width:720px;}
  .test-slide{display:none;background:#fbf9f4;border:1px solid var(--line);border-radius:var(--radius-m);padding:36px;}
  .test-slide.active{display:block;}
  .stars{display:flex;gap:3px;margin-bottom:18px;}
  .stars svg{width:16px;height:16px;fill:var(--signal);stroke:none;}
  .test-slide q{display:block;font-family:var(--ff-display);font-size:20px;font-weight:500;line-height:1.4;color:var(--ink);}
  .test-who{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);}
  .test-who .name{font-weight:600;font-size:14.5px;}
  .test-who .tag{font-size:12.5px;color:var(--steel-soft);font-family:var(--ff-mono);}
  .test-nav{display:flex;gap:10px;margin-top:24px;align-items:center;}
  .test-nav button{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--paper);display:flex;align-items:center;justify-content:center;transition:all .15s ease;}
  .test-nav button:hover{border-color:var(--ink);}
  .test-nav button svg{width:15px;height:15px;stroke:var(--ink);}
  .test-dots{display:flex;gap:6px;margin-left:6px;}
  .test-dots span{width:6px;height:6px;border-radius:50%;background:var(--line);transition:background .2s ease;}
  .test-dots span.active{background:var(--signal-dark);}

  /* ---------- CTA band ---------- */
  .cta-band{background:var(--ink);color:#e7e9ec;}
  .cta-band .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
  .cta-band h2{font-size:clamp(26px,3.2vw,36px);color:#f2efe6;max-width:14ch;}
  .cta-band p{margin-top:14px;color:var(--steel-soft);max-width:38ch;font-size:15px;}
  .cta-band .callinfo{display:flex;align-items:center;gap:10px;margin-top:26px;font-family:var(--ff-mono);font-size:14px;color:var(--signal);}
  .form-card{background:var(--ink-soft);border:1px solid var(--line-dark);border-radius:var(--radius-m);padding:30px;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
  .form-card label{display:block;font-size:12px;color:var(--steel-soft);margin-bottom:6px;}
  .form-card input, .form-card select{
    width:100%;background:var(--ink);border:1px solid var(--line-dark);border-radius:var(--radius-s);
    padding:11px 12px;color:#e7e9ec;font-size:14px;font-family:var(--ff-body);
  }
  .form-card input:focus, .form-card select:focus{border-color:var(--signal);}
  .form-card .full{grid-column:1/-1;}
  .form-msg{display:none;margin-top:14px;font-size:13.5px;color:var(--good);background:rgba(47,127,108,0.12);border:1px solid rgba(47,127,108,0.35);padding:12px 14px;border-radius:var(--radius-s);}
  .form-msg.show{display:block;}
  @media (max-width:880px){.cta-band .wrap{grid-template-columns:1fr;} .form-row{grid-template-columns:1fr;}}

  /* ---------- footer ---------- */
  footer{background:var(--ink);color:var(--steel-soft);border-top:1px solid var(--line-dark);padding:64px 0 28px;}
  .foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:40px;}
  .foot-brand .brand{color:#e7e9ec;}
  .foot-brand .mark{background:var(--signal);}
  .foot-brand .mark svg{stroke:var(--ink);}
  .foot-brand p{margin-top:16px;font-size:13.5px;max-width:30ch;line-height:1.6;}
  .foot-social{display:flex;gap:10px;margin-top:20px;}
  .foot-social a{width:34px;height:34px;border-radius:50%;border:1px solid var(--line-dark);display:flex;align-items:center;justify-content:center;transition:border-color .15s ease;}
  .foot-social a:hover{border-color:var(--signal);}
  .foot-social svg{width:15px;height:15px;stroke:#e7e9ec;}
  footer h5{font-family:var(--ff-body);font-size:13px;font-weight:600;color:#e7e9ec;margin-bottom:16px;}
  footer li{margin-bottom:10px;font-size:13.5px;}
  footer li a:hover{color:#e7e9ec;}
  .foot-contact li{display:flex;gap:10px;align-items:flex-start;}
  .foot-contact svg{width:15px;height:15px;stroke:var(--signal);flex-shrink:0;margin-top:2px;}
  .foot-bottom{margin-top:56px;padding-top:24px;border-top:1px solid var(--line-dark);display:flex;justify-content:space-between;font-size:12.5px;flex-wrap:wrap;gap:10px;}
  @media (max-width:880px){.foot-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:560px){.foot-grid{grid-template-columns:1fr;}}

  /* ---------- floating actions ---------- */
  .floaters{position:fixed;bottom:22px;right:22px;z-index:70;display:flex;flex-direction:column;gap:10px;}
  .floaters a, .floaters button{
    display:flex;align-items:center;gap:8px;padding:13px 18px;border-radius:100px;
    font-size:13.5px;font-weight:600;box-shadow:0 12px 24px -8px rgba(16,21,28,0.35);
  }
  .float-call{background:var(--ink);color:#fff;}
  .float-book{background:var(--signal);color:var(--ink);border:none;}
  .floaters svg{width:15px;height:15px;}
  @media (max-width:920px){.floaters{display:none;}}

  /* mobile nav overlay */
  .mnav{position:fixed;inset:0;background:var(--paper);z-index:80;display:none;flex-direction:column;padding:24px 28px;}
  .mnav.open{display:flex;}
  .mnav-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px;}
  .mnav a{display:block;padding:14px 0;font-family:var(--ff-display);font-size:22px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line);}
  .mnav .btn{margin-top:26px;}
  .close-btn{background:none;border:none;font-size:26px;line-height:1;color:var(--ink);}

  /* ================= multi-page additions ================= */
  .topstrip .wrap{height:44px;}
  .breadcrumb{font-size:12.5px;color:var(--steel-soft);font-family:var(--ff-mono);padding:20px 0 0;}
  .breadcrumb a:hover{color:var(--ink);}
  .breadcrumb .sep{margin:0 8px;color:var(--line);}

  .svc-hero{position:relative;padding:40px 0 68px;overflow:hidden;}
  .svc-hero::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
    background-image:linear-gradient(var(--line) 1px, transparent 1px),linear-gradient(90deg, var(--line) 1px, transparent 1px);
    background-size:64px 64px;mask-image:linear-gradient(to bottom, black, transparent 82%);opacity:0.5;}
  .svc-hero{padding:34px 0 52px;}
  .svc-hero .wrap{position:relative;z-index:1;max-width:1340px;display:grid;grid-template-columns:1fr 46%;gap:40px;align-items:center;}
  .svc-hero h1{font-size:clamp(27px,3.4vw,40px);line-height:1.1;font-weight:700;color:var(--ink);max-width:16ch;}
  .svc-hero h1 .hero-city{color:var(--signal-dark);}
  .sh-tag{margin-top:14px;font-size:14.5px;color:var(--steel);max-width:44ch;line-height:1.6;}
  .sh-rating{display:flex;align-items:center;gap:9px;margin-top:15px;font-size:13.5px;color:var(--steel);}
  .sh-rating .stars{color:var(--signal);letter-spacing:2px;font-size:15px;}
  .sh-rating b{color:var(--ink);}
  .sh-checks{margin-top:18px;display:flex;flex-direction:column;gap:11px;}
  .sh-checks li{position:relative;padding-left:30px;font-size:14px;color:var(--paper-text);line-height:1.45;}
  .sh-checks li::before{content:"";position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;background:var(--good);}
  .sh-checks li::after{content:"";position:absolute;left:6.5px;top:6px;width:7px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);}
  .svc-hero .cta-row{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap;}
  .svc-hero .cta-row .btn{padding:13px 22px;font-size:15px;}
  .sh-media figure{margin:0;border-radius:16px;overflow:hidden;
    box-shadow:0 30px 60px -26px rgba(16,21,28,0.45);background:var(--paper-alt);}
  .sh-media img{display:block;width:100%;height:380px;object-fit:cover;}
  .sh-media figure.ph{display:flex;align-items:center;justify-content:center;height:380px;}
  .sh-media figure.ph svg{width:72px;height:72px;}
  @media (max-width:920px){ .svc-hero .wrap{grid-template-columns:1fr;} .sh-media img,.sh-media figure.ph{height:260px;} }

  .placeholder-note{background:var(--paper-alt);border:1px solid var(--line);border-left:3px solid var(--signal);border-radius:var(--radius-s);padding:14px 16px;font-size:13px;color:var(--steel);margin-bottom:36px;}

  .sub-circles{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 20px;}
  .sub-circles .sub-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:6px;}
  .sub-circles .sub-ring{width:118px;height:118px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    position:relative;overflow:hidden;transition:transform .16s ease, box-shadow .16s ease;}
  .sub-circles .sub-item:hover .sub-ring{transform:translateY(-3px);box-shadow:0 16px 30px -14px rgba(16,21,28,0.35);}
  .sub-circles .sub-ring svg{width:48px;height:48px;}
  .sub-circles .sub-ring img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .sub-circles .sub-name{font-size:14px;font-weight:600;color:var(--ink);max-width:20ch;line-height:1.35;}
  .sub-circles .sub-item:hover .sub-name{color:var(--signal-dark);}
  @media (max-width:640px){ .sub-circles{grid-template-columns:1fr 1fr;gap:28px 12px;} .sub-circles .sub-ring{width:96px;height:96px;} .sub-circles .sub-ring svg{width:40px;height:40px;} }
  @media (max-width:380px){ .sub-circles{grid-template-columns:1fr;} }

  .svc-index-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 20px;}
  .svc-index-card{position:relative;display:block;background:#fff;border:1px solid var(--line);border-radius:14px;
    padding:40px 20px 20px;transition:transform .15s ease, box-shadow .15s ease;}
  .svc-index-card:hover{transform:translateY(-3px);box-shadow:0 22px 44px -22px rgba(16,21,28,0.4);}
  .svc-index-badge{position:absolute;top:-26px;left:20px;width:68px;height:68px;border-radius:18px;
    display:flex;align-items:center;justify-content:center;box-shadow:0 10px 20px -8px rgba(16,21,28,0.35);
    border:1px solid rgba(16,21,28,0.06);}
  .svc-index-badge svg{width:42px;height:42px;}
  .svc-index-count{display:block;position:absolute;top:16px;right:18px;font-family:var(--ff-mono);font-size:10.5px;color:var(--steel-soft);}
  .svc-index-card b{display:block;margin-top:22px;font-size:16.5px;font-weight:600;color:var(--ink);}
  .svc-index-card p{margin-top:8px;font-size:12.5px;color:var(--steel);line-height:1.55;}
  @media (max-width:880px){ .svc-index-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .svc-index-grid{grid-template-columns:1fr;} }

  .partner-intro{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center;}
  .partner-points{list-style:none;margin-top:22px;display:flex;flex-direction:column;gap:13px;}
  .partner-points li{position:relative;padding-left:20px;font-size:15px;color:var(--ink);}
  .partner-points li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--signal);}
  .partner-intro figure{margin:0;border-radius:16px;overflow:hidden;box-shadow:0 30px 60px -26px rgba(16,21,28,0.45);}
  .partner-intro figure img{display:block;width:100%;height:400px;object-fit:cover;}
  @media (max-width:920px){ .partner-intro{grid-template-columns:1fr;} .partner-intro figure img{height:280px;} }

  .partner-recruit{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:start;}
  .partner-who h2{font-size:clamp(24px,2.9vw,32px);margin-bottom:16px;}
  .partner-who > p{font-size:14.5px;color:var(--steel);line-height:1.6;max-width:52ch;}
  .p-cards{display:flex;flex-direction:column;gap:16px;margin-top:26px;}
  .p-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-m);padding:20px 22px;}
  .p-card h3{font-size:16px;color:var(--ink);margin-bottom:8px;}
  .p-card p{font-size:13.5px;color:var(--steel);line-height:1.55;}
  .p-foot{margin-top:22px;font-size:13px;color:var(--steel-soft);line-height:1.6;max-width:52ch;}
  .p-form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-m);padding:30px 30px 32px;
    box-shadow:0 30px 60px -30px rgba(16,21,28,0.25);}
  .p-form-card h2{font-size:23px;}
  .p-form-card > p{font-size:13.5px;color:var(--steel);margin-top:8px;}
  #partnerForm{margin-top:20px;display:flex;flex-direction:column;gap:5px;}
  #partnerForm label{font-size:10.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
    color:var(--steel-soft);margin-top:14px;}
  #partnerForm > label:first-of-type{margin-top:0;}
  #partnerForm input,#partnerForm select,#partnerForm textarea{width:100%;background:#fff;border:1px solid var(--line);
    border-radius:8px;padding:11px 12px;font-size:14px;font-family:var(--ff-body);color:var(--paper-text);}
  #partnerForm textarea{resize:vertical;min-height:72px;}
  #partnerForm input:focus,#partnerForm select:focus,#partnerForm textarea:focus{outline:none;border-color:var(--signal-dark);}
  #partnerForm .modal-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  #partnerForm .btn{width:100%;padding:12px;margin-top:18px;}
  #partnerForm .form-msg{margin-top:6px;}
  @media (max-width:920px){ .partner-recruit{grid-template-columns:1fr;} }

  .form-msg.err{color:#d98236;background:rgba(217,130,54,0.12);border-color:rgba(217,130,54,0.4);}

  /* ---- my account page ---- */
  .acc-shell{display:grid;grid-template-columns:250px 1fr;gap:24px;align-items:start;padding-bottom:60px;}
  .acc-avatar{width:42px;height:42px;border-radius:50%;background:var(--signal);color:var(--ink);
    display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0;}
  .acc-avatar.big{width:54px;height:54px;font-size:17px;}
  .acc-side{background:#fbf9f4;border:1px solid var(--line);border-radius:14px;padding:20px 0;position:sticky;top:20px;}
  .acc-who{display:flex;align-items:center;gap:12px;padding:0 20px 18px;border-bottom:1px solid var(--line);margin-bottom:10px;}
  .acc-who b{display:block;font-size:14px;color:var(--ink);}
  .acc-who span{font-size:11.5px;color:var(--steel-soft);}
  .acc-nav{display:flex;flex-direction:column;}
  .acc-nav-item{display:flex;align-items:center;gap:12px;padding:9px 16px;font-size:13.5px;color:var(--steel);
    margin:0 8px;border-radius:9px;}
  .acc-nav-item:hover{background:#f3efe3;color:var(--ink);}
  .acc-chip{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;
    flex-shrink:0;box-shadow:0 4px 10px -4px rgba(16,21,28,.4);}
  .acc-main{min-width:0;}
  .acc-hero{position:relative;display:flex;align-items:center;gap:16px;padding:26px 28px;border-radius:16px;
    margin-bottom:18px;overflow:hidden;color:#fff;
    background:linear-gradient(120deg,#1b2330 0%,#4d5a66 55%,#f0a63c 100%);}
  .acc-hero b{display:block;font-size:17px;}
  .acc-hero span{font-size:12.5px;color:rgba(255,255,255,0.85);}
  .acc-hero .acc-avatar.big{background:rgba(255,255,255,0.22);border:2px solid rgba(255,255,255,0.5);color:#fff;}
  .acc-hero-pills{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;}
  .acc-pill{background:rgba(255,255,255,0.22);border:1px solid rgba(255,255,255,0.4);border-radius:100px;
    padding:6px 13px;font-size:12px;font-weight:600;white-space:nowrap;}
  .acc-tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px;}
  .acc-tile{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;
    flex-direction:column;gap:10px;transition:transform .15s ease, box-shadow .15s ease;}
  .acc-tile:hover{transform:translateY(-2px);box-shadow:0 16px 30px -18px rgba(16,21,28,.35);}
  .acc-tile-ic{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;
    justify-content:center;box-shadow:0 6px 14px -6px rgba(16,21,28,.45);}
  .acc-tile b{font-size:13.5px;color:var(--ink);}
  .acc-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 22px;margin-bottom:14px;}
  .acc-card h3{font-size:14.5px;color:var(--ink);margin-bottom:10px;}
  .acc-empty{font-size:13px;color:var(--steel);}
  .acc-list{list-style:none;display:flex;flex-direction:column;}
  .acc-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;
    font-size:13.5px;color:var(--paper-text);border-top:1px solid var(--line);}
  .acc-list li:first-child{border-top:none;}
  .acc-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:100px;white-space:nowrap;}
  .acc-badge.live{background:rgba(240,166,60,0.16);color:var(--signal-dark);}
  .acc-badge.wait{background:rgba(77,90,102,0.12);color:var(--steel);}
  .acc-badge.done{background:rgba(47,127,108,0.14);color:var(--good);}
  .acc-list-clickable li{cursor:pointer;margin:0 -8px;padding:11px 8px;border-radius:8px;}
  .acc-list-clickable li:hover{background:#fbf9f4;color:var(--ink);}
  .acc-list-clickable li span:last-child{display:flex;align-items:center;gap:4px;font-weight:600;color:var(--ink);}
  .acc-chevron{color:var(--steel-soft);flex-shrink:0;}
  .acc-support-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin-bottom:14px;}
  .acc-support-head h3{margin-bottom:0;}
  .acc-support-hours{font-size:12px;color:var(--steel-soft);}
  .acc-support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
  .acc-support-item{display:flex;align-items:center;gap:11px;padding:13px 14px;border:1px solid var(--line);
    border-radius:11px;transition:transform .15s ease, box-shadow .15s ease;}
  .acc-support-item:hover{transform:translateY(-2px);box-shadow:0 14px 26px -16px rgba(16,21,28,.3);}
  .acc-support-ic{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .acc-support-item b{display:block;font-size:13px;color:var(--ink);}
  .acc-support-item span{font-size:11.5px;color:var(--steel-soft);}
  .acc-support-topics{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);}
  .acc-topics-label{display:block;font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
    color:var(--steel-soft);margin-bottom:10px;}
  .acc-topics-row{display:flex;flex-wrap:wrap;gap:9px;}
  .acc-topic-chip{font-size:12.5px;color:var(--steel);background:#fbf9f4;border:1px solid var(--line);
    border-radius:100px;padding:7px 14px;}
  .acc-topic-chip:hover{background:#f3efe3;color:var(--ink);}
  @media (max-width:640px){ .acc-support-grid{grid-template-columns:1fr;} }
  .acc-feedback-form{margin-top:16px;display:flex;flex-direction:column;gap:12px;}
  .acc-feedback-target{font-size:12.5px;font-weight:600;color:var(--ink);background:#fbf9f4;
    border:1px solid var(--line);border-radius:8px;padding:8px 12px;display:inline-block;align-self:flex-start;}
  .acc-stars{display:flex;align-items:center;gap:4px;}
  .acc-star{background:none;border:none;cursor:pointer;font-size:28px;line-height:1;color:var(--line);
    padding:2px;transition:color .1s ease, transform .1s ease;}
  .acc-star:hover, .acc-star.hover{color:var(--signal);transform:scale(1.1);}
  .acc-star.on{color:var(--signal-dark);}
  .acc-star-label{margin-left:8px;font-size:12.5px;color:var(--steel);}
  .acc-feedback-form textarea{width:100%;background:#fff;border:1px solid var(--line);border-radius:8px;
    padding:11px 12px;font-size:14px;font-family:var(--ff-body);color:var(--paper-text);resize:vertical;min-height:56px;}
  .acc-feedback-form textarea:focus{outline:none;border-color:var(--signal-dark);}
  .acc-feedback-form .btn{align-self:flex-start;padding:11px 22px;}
  .acc-feedback-form.done .acc-stars,.acc-feedback-form.done textarea,.acc-feedback-form.done .btn{display:none;}
  #profileForm{margin-top:4px;display:flex;flex-direction:column;gap:5px;}
  #profileForm label{font-size:10.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
    color:var(--steel-soft);margin-top:12px;}
  #profileForm input,#profileForm select{width:100%;background:#fff;border:1px solid var(--line);
    border-radius:8px;padding:11px 12px;font-size:14px;font-family:var(--ff-body);color:var(--paper-text);}
  #profileForm input:focus,#profileForm select:focus{outline:none;border-color:var(--signal-dark);}
  #profileForm .btn{padding:11px 20px;margin-top:16px;align-self:flex-start;}
  #profileForm .form-msg{margin-top:6px;max-width:340px;}
  @media (max-width:880px){ .acc-shell{grid-template-columns:1fr;} .acc-side{position:static;}
    .acc-nav{flex-direction:row;flex-wrap:wrap;padding:0 12px;} .acc-who{display:none;}
    .acc-nav-item{flex-direction:column;gap:4px;font-size:11px;text-align:center;padding:10px 8px;margin:0;}
    .acc-hero{flex-wrap:wrap;} .acc-hero-pills{margin-left:0;}
    .acc-tile-grid{grid-template-columns:1fr;} }

  /* ---- service page: how-we-work prose + reasons-to-hire grid ---- */
  .svc-about{padding-top:0;}
  .prose{max-width:66ch;}
  .prose p{color:var(--steel);font-size:15.5px;line-height:1.75;margin-bottom:18px;}
  .prose p:last-child{margin-bottom:0;}
  .reasons-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-m);overflow:hidden;}
  .reason{background:var(--paper);padding:28px 26px;}
  .reason h3{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:9px;display:flex;gap:10px;align-items:baseline;}
  .reason h3::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--signal);flex-shrink:0;}
  .reason p{font-size:13.7px;color:var(--steel);line-height:1.65;}
  .reason-spacer{background:var(--paper);}
  @media (max-width:720px){ .reasons-grid{grid-template-columns:1fr;} .reason-spacer{display:none;} }

  /* ---- subservice detail page: pricing + offers ---- */
  .sub-detail{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch;}
  .sub-detail .price-card,.sub-detail .offers-card{background:#fbf9f4;border:1px solid var(--line);border-radius:14px;padding:26px 26px 24px;}
  .sub-detail .offers-card{display:flex;flex-direction:column;}
  .sub-detail h2{font-size:20px;color:var(--ink);}
  .price-card .pc-tag{margin-top:6px;font-size:13.5px;color:var(--steel);}
  .plan-select{width:100%;margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:8px;
    padding:13px 14px;font-size:14px;font-family:var(--ff-body);color:var(--paper-text);}
  .plan-select:focus{outline:none;border-color:var(--signal-dark);}
  .price-block{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px;}
  .price-block .mrp{font-size:15px;color:var(--steel-soft);text-decoration:line-through;}
  .price-block .off-badge{background:var(--signal);color:var(--ink);font-weight:700;font-size:12px;
    padding:5px 12px;border-radius:100px;}
  .price-block .offer-price{width:100%;font-family:var(--ff-display);font-weight:700;font-size:32px;color:var(--signal-dark);}
  .price-card .pc-note{margin-top:10px;font-size:11.5px;color:var(--steel-soft);line-height:1.5;}
  .pc-cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;}
  .pc-cta .btn{padding:11px 12px;font-size:13px;gap:7px;}
  .pc-call{background:var(--good);color:#fff;}
  .pc-call:hover{background:#276a5a;}
  .pc-req{background:var(--ink);color:#f2efe6;}
  .pc-req:hover{background:var(--ink-soft);}
  .pc-book{width:100%;margin-top:10px;padding:13px;}
  .offers-card h2{margin-bottom:16px;}
  .offer-rotator{position:relative;flex:1;min-height:246px;}
  .offer-rotator .offer-banner{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .45s ease;}
  .offer-rotator .offer-banner.on{opacity:1;pointer-events:auto;}
  .offer-dots{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;}
  .offer-dots button{width:7px;height:7px;border-radius:50%;border:none;padding:0;cursor:pointer;background:var(--line);}
  .offer-dots button.on{background:var(--signal-dark);}
  .offer-banner .ob-svc{font-family:var(--ff-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,0.7);}
  .offer-banner{flex:1;display:grid;grid-template-columns:42% 1fr;border-radius:12px;overflow:hidden;
    background:var(--tone,var(--ink));min-height:246px;}
  .offer-banner .ob-photo{position:relative;background:#e9e6dd;}
  .offer-banner .ob-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .offer-banner .ob-ic{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
  .offer-banner .ob-ic svg{width:54px;height:54px;}
  .offer-banner .ob-body{padding:24px 22px;display:flex;flex-direction:column;justify-content:center;gap:18px;color:#fff;}
  .offer-banner .ob-body h3{font-family:var(--ff-display);font-weight:700;font-size:clamp(16px,1.9vw,21px);line-height:1.25;}
  .offer-banner .ob-pill{display:inline-block;background:#e13b3b;color:#fff;font-size:11.5px;font-weight:700;
    letter-spacing:.04em;padding:4px 11px;border-radius:100px;margin-left:4px;vertical-align:2px;white-space:nowrap;}
  .offer-banner .ob-btn{align-self:flex-start;background:var(--ink);color:#fff;border-radius:100px;
    padding:11px 24px;font-weight:600;font-size:13.5px;transition:background .15s ease;}
  .offer-banner .ob-btn:hover{background:#05080c;}
  @media (max-width:520px){ .offer-banner{grid-template-columns:1fr;} .offer-banner .ob-photo{height:150px;} }

  /* ---- per-service reviews ---- */
  .rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .rev-card{background:#fbf9f4;border:1px solid var(--line);border-radius:12px;padding:22px 20px;}
  .rev-card .stars{color:var(--signal);letter-spacing:2px;font-size:14px;}
  .rev-card q{display:block;margin-top:12px;font-size:13.5px;color:var(--paper-text);line-height:1.6;}
  .rev-card .rev-who{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:13px;font-weight:600;color:var(--ink);}
  .rev-card .rev-who span{display:block;font-weight:400;font-size:11px;color:var(--steel-soft);font-family:var(--ff-mono);margin-top:3px;letter-spacing:.04em;}
  @media (max-width:820px){ .rev-grid{grid-template-columns:1fr;} }

  /* ---- homepage "why us" numbered colour-faded cards ---- */
  .wv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  .wv-card{position:relative;overflow:hidden;border-radius:16px;padding:24px 20px 22px;
    border:1px solid color-mix(in srgb, var(--t) 22%, var(--line));
    background:linear-gradient(168deg, color-mix(in srgb, var(--t) 15%, #fff) 0%, #fbf9f4 55%);
    transition:transform .15s ease, box-shadow .15s ease;}
  .wv-card:hover{transform:translateY(-4px);box-shadow:0 24px 46px -22px rgba(16,21,28,0.38);}
  .wv-no{position:absolute;top:0;right:8px;font-family:var(--ff-display);font-weight:700;font-size:58px;
    line-height:1;color:color-mix(in srgb, var(--t) 20%, transparent);z-index:0;}
  .wv-chip{position:relative;z-index:1;width:44px;height:44px;border-radius:13px;background:var(--t);color:#fff;
    display:flex;align-items:center;justify-content:center;box-shadow:0 10px 20px -10px color-mix(in srgb, var(--t) 70%, transparent);}
  .wv-chip svg{width:23px;height:23px;}
  .wv-card h4{position:relative;z-index:1;margin-top:16px;font-size:16px;font-weight:600;color:var(--ink);}
  .wv-card p{position:relative;z-index:1;margin-top:8px;font-size:12.5px;color:var(--steel);line-height:1.55;}
  @media (max-width:860px){ .wv-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:480px){ .wv-grid{grid-template-columns:1fr;} }

  /* ---- homepage coverage: city cards ---- */
  .cv-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
  .cv-card{position:relative;background:#fbf9f4;border:1px solid var(--line);border-radius:13px;padding:18px 16px;
    transition:transform .15s ease, box-shadow .15s ease;}
  .cv-card:hover{transform:translateY(-3px);box-shadow:0 18px 34px -18px rgba(16,21,28,0.32);}
  .cv-card.hq{background:var(--ink);border-color:var(--ink);}
  .cv-card .cv-ic{color:var(--signal-dark);}
  .cv-card.hq .cv-ic{color:var(--signal);}
  .cv-card .cv-ic svg{width:20px;height:20px;}
  .cv-card b{display:block;margin-top:10px;font-size:14.5px;font-weight:600;color:var(--ink);}
  .cv-card.hq b{color:#f4f1e8;}
  .cv-card .cv-tag{display:block;margin-top:2px;font-size:10.5px;color:var(--steel-soft);font-family:var(--ff-mono);letter-spacing:.04em;}
  .cv-card p{margin-top:9px;font-size:11.5px;color:var(--steel);line-height:1.5;}
  .cv-card.hq p{color:var(--steel-soft);}
  .cv-card .cv-badge{position:absolute;top:12px;right:12px;background:var(--signal);color:var(--ink);
    font-size:9px;font-weight:700;letter-spacing:.06em;padding:2px 8px;border-radius:100px;}
  @media (max-width:900px){ .cv-cards{grid-template-columns:1fr 1fr 1fr;} }
  @media (max-width:560px){ .cv-cards{grid-template-columns:1fr 1fr;} }

  /* ---- homepage review ticker ---- */
  #reviews .rv-ticker{overflow:hidden;position:relative;margin-top:30px;padding:4px 0;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);}
  #reviews .rv-track{display:flex;gap:16px;width:max-content;animation:rvscroll 44s linear infinite;}
  #reviews .rv-ticker:hover .rv-track{animation-play-state:paused;}
  @keyframes rvscroll{to{transform:translateX(-50%);}}
  #reviews .rv-tick{width:340px;flex-shrink:0;background:#fbf9f4;border:1px solid var(--line);border-radius:12px;padding:20px 22px;}
  #reviews .rv-tick .rv-stars{color:var(--signal);letter-spacing:2px;font-size:13px;}
  #reviews .rv-tick q{display:block;margin-top:9px;font-family:var(--ff-display);font-weight:500;font-size:14px;line-height:1.5;color:var(--ink);}
  #reviews .rv-tick .rv-tw{margin-top:12px;font-size:11px;color:var(--steel-soft);font-family:var(--ff-mono);letter-spacing:.04em;}
  @media (prefers-reduced-motion:reduce){ #reviews .rv-track{animation:none;flex-wrap:wrap;} }

  /* ---- quick links (local SEO) ---- */
  .quick-links{padding:44px 0;border-top:1px solid var(--line);background:var(--paper-alt);}
  .quick-links h3{font-family:var(--ff-display);font-size:16px;color:var(--ink);margin:26px 0 14px;}
  .quick-links h3:first-child{margin-top:0;}
  .quick-links ul{display:grid;gap:10px 26px;}
  .quick-links .ql-row{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));}
  .quick-links .ql-grid{grid-template-columns:repeat(3,1fr);}
  .quick-links li{position:relative;padding-left:18px;font-size:12.5px;color:var(--steel);line-height:1.4;}
  .quick-links li::before{content:"";position:absolute;left:0;top:5px;width:6px;height:6px;border-radius:50%;background:var(--signal);}
  .quick-links .ql-links a{color:var(--steel);}
  .quick-links .ql-links a:hover{color:var(--ink);}
  @media (max-width:760px){ .quick-links .ql-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:480px){ .quick-links .ql-grid{grid-template-columns:1fr;} }
  @media (max-width:860px){ .sub-detail{grid-template-columns:1fr;} }
  @media (max-width:420px){ .pc-cta{grid-template-columns:1fr;} }

  .faq-list{border-top:1px solid var(--line);max-width:860px;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-item summary{list-style:none;cursor:pointer;padding:18px 44px 18px 0;position:relative;
    font-family:var(--ff-display);font-weight:600;font-size:15.5px;color:var(--ink);}
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{content:"+";position:absolute;right:6px;top:15px;font-family:var(--ff-body);
    font-weight:400;font-size:22px;line-height:1;color:var(--signal-dark);}
  .faq-item[open] summary::after{content:"\2013";}
  .faq-item summary:hover{color:var(--signal-dark);}
  .faq-answer{padding:0 44px 20px 0;color:var(--steel);font-size:14.5px;line-height:1.7;max-width:70ch;}

  /* tighten section headings — default line-height was too airy and forced ugly wraps */
  .section-head h2{font-size:clamp(24px,2.9vw,34px);line-height:1.15;max-width:22ch;}
  .section-head p{margin-top:12px;}

  /* tighter rhythm between sections on the home page */
  section{padding:58px 0;}
  .section-head{margin-bottom:30px;}
  .stats-row{margin-top:34px;}
  .detail-panel{margin-top:18px;}

  /* ---- footer: bigger colour social icons ---- */
  .foot-social-label{font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--steel-soft);margin-top:22px;margin-bottom:12px;}
  .foot-social{display:flex;gap:12px;margin-top:0;}
  .foot-social a{width:52px;height:52px;border-radius:15px;border:none;display:flex;align-items:center;justify-content:center;
    transition:transform .15s ease, box-shadow .15s ease;}
  .foot-social a:hover{transform:translateY(-3px);box-shadow:0 12px 22px -10px rgba(0,0,0,0.5);}
  .foot-social svg{width:26px;height:26px;}
  .foot-social .fb{background:#1877F2;}
  .foot-social .ig{background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);}
  .foot-social .li{background:#0A66C2;}
  .foot-social .wa{background:#25D366;}
  @media (max-width:420px){ .foot-social a{width:46px;height:46px;} .foot-social svg{width:22px;height:22px;} }

  /* ---- callback CTA band: light theme to match the page ---- */
  .cta-band{padding:64px 0;background:var(--paper-alt);color:var(--paper-text);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .cta-band h2{color:var(--ink);}
  .cta-band p{color:var(--steel);}
  .cta-band .callinfo{color:var(--signal-dark);}
  .form-card{background:#fbf9f4;border:1px solid var(--line);}
  .form-card label{color:var(--steel);}
  .form-card input, .form-card select{background:#fff;border:1px solid var(--line);color:var(--paper-text);}
  .form-card input::placeholder{color:var(--steel-soft);}
  .form-card input:focus, .form-card select:focus{border-color:var(--signal-dark);}
  .form-msg{color:var(--good);background:rgba(47,127,108,0.10);border:1px solid rgba(47,127,108,0.30);}

  /* ---- stack carousel: bigger cards, straight (no tilt), deeper deck ---- */
  .stack-viewport{height:300px;}
  .stack-cards{width:264px;height:262px;}
  .stack-card{width:264px;height:262px;}
  .stack-card .head{height:112px;}
  .stack-card .head svg{width:34px;height:34px;}
  .stack-card .body{padding:18px 20px 20px;}
  .stack-card .bignum{font-size:56px;top:-6px;}
  .stack-card .name{font-size:18px;max-width:12ch;}
  .stack-card .count{font-size:12.5px;margin-top:4px;}
  .stack-card .plus{width:34px;height:34px;bottom:16px;right:16px;}
  .stack-card[data-d="0"]{transform:translateX(0) scale(1);opacity:1;}
  .stack-card[data-d="-1"]{transform:translateX(-56%) scale(0.9);opacity:0.85;z-index:4;filter:brightness(0.82);}
  .stack-card[data-d="1"]{transform:translateX(56%) scale(0.9);opacity:0.85;z-index:4;filter:brightness(0.82);}
  .stack-card[data-d="-2"]{transform:translateX(-100%) scale(0.8);opacity:0.5;z-index:3;filter:brightness(0.62);}
  .stack-card[data-d="2"]{transform:translateX(100%) scale(0.8);opacity:0.5;z-index:3;filter:brightness(0.62);}
  .stack-card[data-d="-3"]{transform:translateX(-138%) scale(0.7);opacity:0.24;z-index:2;filter:brightness(0.5);}
  .stack-card[data-d="3"]{transform:translateX(138%) scale(0.7);opacity:0.24;z-index:2;filter:brightness(0.5);}
  @media (max-width:560px){
    .stack-card[data-d="-2"],.stack-card[data-d="2"],
    .stack-card[data-d="-3"],.stack-card[data-d="3"]{opacity:0;}
  }
  .cta-band .callinfo svg{width:16px;height:16px;flex-shrink:0;}

  /* ---- header + top strip span the full width so the logo sits in the corner ---- */
  .topstrip .wrap, header.site .wrap.navrow{max-width:none;padding:0 34px;}
  @media (max-width:600px){ .topstrip .wrap, header.site .wrap.navrow{padding:0 18px;} }

  /* ---- top strip city picker + left links ---- */
  .ts-left{display:flex;align-items:center;gap:16px;}
  .ts-left > a{font-size:12.5px;color:#cfd6dc;}
  .ts-left > a:hover{color:var(--signal);}
  .topstrip .cities{display:flex;align-items:center;gap:7px;
    background:rgba(255,255,255,0.06);border:1px solid var(--line-dark);border-radius:100px;padding:4px 10px 4px 12px;}
  .topstrip .cities svg{width:13px;height:13px;stroke:var(--signal);flex-shrink:0;}
  .topcity-select{background:transparent;border:none;color:#eceff1;font-family:var(--ff-body);
    font-size:12.5px;font-weight:600;padding:4px 18px 4px 2px;cursor:pointer;outline:none;
    appearance:none;-webkit-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23f0a63c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 2px center;}
  .topcity-select:hover{color:#fff;}
  .topcity-select option{color:#111;}
  .topstrip .contact{align-items:center;}
  .topstrip .contact a{display:inline-flex;align-items:center;gap:6px;}
  .topstrip .contact a[hidden]{display:none;}
  .topstrip #tsLogout{border-bottom:1px solid rgba(255,255,255,0.3);}
  .topstrip #tsLogout:hover{border-color:var(--signal);color:var(--signal);}
  .ts-notif{position:relative;display:inline-flex;}
  .ts-notif[hidden]{display:none;}
  .ts-notif #tsNotifBtn{position:relative;background:none;border:none;padding:2px;cursor:pointer;
    color:rgba(255,255,255,0.85);display:flex;align-items:center;}
  .ts-notif #tsNotifBtn:hover{color:#fff;}
  .ts-notif #tsNotifBtn svg{width:17px;height:17px;}
  .ts-notif-badge{position:absolute;top:-3px;right:-4px;min-width:15px;height:15px;padding:0 3px;
    border-radius:100px;background:var(--signal);color:var(--ink);font-size:9.5px;font-weight:800;
    display:flex;align-items:center;justify-content:center;line-height:1;}
  .ts-notif-panel{position:absolute;top:calc(100% + 14px);right:-10px;width:320px;background:var(--paper);
    border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 48px -20px rgba(16,21,28,.5);
    overflow:hidden;z-index:220;color:var(--paper-text);}
  .ts-notif-head{padding:13px 16px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
    color:var(--steel-soft);border-bottom:1px solid var(--line);background:#fbf9f4;}
  .ts-notif-list{max-height:380px;overflow-y:auto;}
  .ts-notif-group-label{padding:10px 16px 4px;font-size:10px;font-weight:700;letter-spacing:.06em;
    text-transform:uppercase;color:var(--steel-soft);}
  .ts-notif-item{display:flex;align-items:flex-start;gap:10px;padding:9px 16px;cursor:pointer;}
  .ts-notif-item:hover{background:#fbf9f4;}
  .ts-notif-ic{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;
    flex-shrink:0;margin-top:1px;}
  .ts-notif-item.read .ts-notif-ic{opacity:.45;}
  .ts-notif-body{flex:1;min-width:0;}
  .ts-notif-item b{display:block;font-size:12.5px;color:var(--ink);}
  .ts-notif-item.read b{color:var(--steel);font-weight:600;}
  .ts-notif-item p{font-size:11.5px;color:var(--steel);margin-top:1px;line-height:1.4;}
  .ts-notif-item time{flex-shrink:0;font-size:10px;color:var(--steel-soft);padding-top:2px;}
  .ts-notif-empty{padding:24px 16px;text-align:center;font-size:12.5px;color:var(--steel-soft);}
  @media (max-width:760px){ .ts-notif-panel{position:fixed;top:auto;bottom:0;left:0;right:0;width:auto;
    border-radius:16px 16px 0 0;} }
  .topstrip .contact a svg{width:13px;height:13px;stroke:var(--signal);flex-shrink:0;}
  .topstrip .ts-div{width:1px;height:14px;background:var(--line-dark);}
  .topstrip .ts-signup{background:var(--signal);color:var(--ink);border:1px solid var(--signal);
    border-radius:100px;padding:3px 13px;font-weight:600;}
  .topstrip .ts-signup:hover{background:var(--signal-dark);border-color:var(--signal-dark);color:var(--ink);}
  @media (max-width:760px){ .topstrip .cities{display:flex;} }
  @media (max-width:860px){ .ts-left > a{display:none;} }
  @media (max-width:640px){ .topstrip .ts-mail{display:none;} }
  @media (max-width:460px){ .topstrip .contact a[href^="tel"], .topstrip .ts-div{display:none;} }

  /* ---- auth pages ---- */
  .auth-wrap{max-width:420px;margin:0 auto;padding:56px 0 88px;}
  .auth-card{background:#fbf9f4;border:1px solid var(--line);border-radius:var(--radius-m);padding:34px 30px;}
  .auth-card h1{font-size:24px;color:var(--ink);}
  .auth-card .sub{margin-top:8px;color:var(--steel);font-size:14px;}
  .auth-card label{display:block;font-size:12.5px;color:var(--steel);margin:16px 0 6px;}
  .auth-card input{width:100%;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-s);
    padding:11px 12px;font-size:14px;font-family:var(--ff-body);color:var(--paper-text);}
  .auth-card input:focus{outline:none;border-color:var(--signal-dark);}
  .auth-card .btn{width:100%;margin-top:22px;padding:12px;}
  .auth-alt{margin-top:18px;font-size:13px;color:var(--steel);text-align:center;}
  .auth-alt a{color:var(--ink);border-bottom:1.5px solid var(--signal);}
  .auth-note{margin-top:18px;font-size:12.5px;color:var(--steel-soft);background:var(--paper-alt);
    border:1px solid var(--line);border-radius:var(--radius-s);padding:11px 13px;line-height:1.5;}
  .auth-msg{display:none;margin-top:16px;font-size:13.5px;color:var(--good);background:rgba(47,127,108,0.12);
    border:1px solid rgba(47,127,108,0.35);padding:12px 14px;border-radius:var(--radius-s);}
  .auth-msg.show{display:block;}

  /* ---- booking modal (Book a technician / auto-opens on service pages) ---- */
  .modal-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
    padding:20px;background:rgba(16,21,28,0.62);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);}
  .modal-overlay[hidden]{display:none;}
  .modal-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;
    padding:28px 28px 26px;max-width:432px;width:100%;position:relative;max-height:92vh;overflow-y:auto;
    box-shadow:0 40px 80px -20px rgba(16,21,28,0.5);animation:apptIn .22s ease;}
  @keyframes apptIn{from{opacity:0;transform:translateY(10px) scale(.98);}to{opacity:1;transform:none;}}
  .modal-eyebrow{font-family:var(--ff-mono);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;
    color:var(--signal-dark);}
  .modal-card h2{font-family:Georgia,'Times New Roman',serif;font-size:25px;color:var(--ink);margin-top:6px;}
  .modal-x{position:absolute;top:12px;right:14px;background:none;border:none;font-size:24px;line-height:1;
    color:var(--steel-soft);cursor:pointer;padding:4px;}
  .modal-x:hover{color:var(--ink);}
  #apptForm,#bookForm,#addrForm{margin-top:16px;display:flex;flex-direction:column;gap:5px;}
  #apptForm label,#bookForm label,#addrForm label{font-size:10.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
    color:var(--steel-soft);margin-top:12px;}
  #apptForm > label:first-of-type,#bookForm > label:first-of-type,#addrForm > label:first-of-type{margin-top:0;}
  #apptForm input,#apptForm select,#apptForm textarea,
  #bookForm input,#bookForm select,#bookForm textarea,
  #addrForm input,#addrForm select,#addrForm textarea{width:100%;background:#fff;border:1px solid var(--line);
    border-radius:8px;padding:11px 12px;font-size:14px;font-family:var(--ff-body);color:var(--paper-text);}
  #apptForm textarea,#bookForm textarea,#addrForm textarea{resize:vertical;min-height:64px;}
  #apptForm input:focus,#apptForm select:focus,#apptForm textarea:focus,
  #bookForm input:focus,#bookForm select:focus,#bookForm textarea:focus,
  #addrForm input:focus,#addrForm select:focus,#addrForm textarea:focus{outline:none;border-color:var(--signal-dark);}
  .modal-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .modal-row label{display:block;}
  #apptForm .btn,#bookForm .btn,#addrForm .btn{width:100%;padding:12px;margin-top:16px;}
  #apptForm .form-msg,#bookForm .form-msg,#addrForm .form-msg{margin-top:6px;}
  #bookForm select:disabled{background:#f3efe3;color:var(--steel-soft);}
  .acc-price{display:flex;align-items:baseline;gap:10px;margin-top:10px;padding:12px 14px;
    background:#fbf9f4;border:1px solid var(--line);border-radius:9px;}
  .acc-price-mrp{font-size:13px;color:var(--steel-soft);text-decoration:line-through;}
  .acc-price-off{font-size:11px;font-weight:700;color:var(--signal-dark);background:rgba(240,166,60,0.16);
    padding:2px 8px;border-radius:100px;}
  .acc-price-final{margin-left:auto;font-family:var(--ff-display);font-weight:700;font-size:19px;color:var(--signal-dark);}
  @media (prefers-reduced-motion:reduce){ .modal-card{animation:none;} }

  /* ---- ticket confirmation modal ---- */
  .ticket-card{max-width:400px;text-align:center;}
  .ticket-check{width:52px;height:52px;margin:4px auto 14px;border-radius:50%;background:var(--good);
    color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;}
  #ticketTitle{font-family:var(--ff-mono);font-size:19px;letter-spacing:0.01em;}
  #ticketTitle span{color:var(--signal-dark);}
  .ticket-details{margin:18px 0 20px;padding:16px 18px;background:#fbf9f4;border:1px solid var(--line);
    border-radius:10px;text-align:left;font-size:13.5px;color:var(--paper-text);line-height:1.7;}
  .ticket-details b{color:var(--ink);}
  .ticket-details .td-row{display:flex;justify-content:space-between;gap:10px;}
  .ticket-details .td-row + .td-row{margin-top:2px;}
  .ticket-details .td-label{color:var(--steel-soft);}
  #ticketDone{width:100%;padding:12px;}

  /* ---- bill details modal (minimal ledger style) ---- */
  .bill-rows{margin-top:6px;}
  .bill-rows .td-row{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--steel);
    padding:9px 0;border-bottom:1px solid var(--line);}
  .bill-rows .td-row:last-child{border-bottom:none;}
  .bill-rows .td-label{color:var(--steel-soft);}
  .bill-total-bar{display:flex;justify-content:space-between;align-items:center;margin-top:14px;
    padding-left:14px;border-left:3px solid var(--signal);}
  .bill-total-bar span{font-size:12.5px;color:var(--steel-soft);}
  .bill-total-bar b{font-family:var(--ff-display);font-size:21px;color:var(--ink);}
  .bill-actions{display:flex;gap:10px;margin-top:18px;}
  .bill-actions .btn{flex:1;padding:11px;font-size:13.5px;}

  /* ---- address book: cards ---- */
  .acc-addr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
  .acc-addr-card{position:relative;display:flex;gap:12px;align-items:flex-start;padding:16px 40px 16px 16px;
    border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;font-family:var(--ff-body);}
  .acc-addr-ic{width:36px;height:36px;border-radius:9px;background:#4a83c4;display:flex;align-items:center;
    justify-content:center;flex-shrink:0;}
  .acc-addr-ic svg{color:#fff;}
  .acc-addr-body b{display:block;font-size:13.5px;color:var(--ink);}
  .acc-addr-body p{margin-top:3px;font-size:12.5px;color:var(--steel);line-height:1.5;}
  .acc-addr-edit{position:absolute;top:12px;right:12px;width:26px;height:26px;border-radius:7px;border:none;
    background:#fbf9f4;color:var(--steel-soft);display:flex;align-items:center;justify-content:center;cursor:pointer;}
  .acc-addr-edit:hover{background:#f0ece0;color:var(--ink);}
  .acc-addr-add{cursor:pointer;border-style:dashed;align-items:center;}
  .acc-addr-add .acc-addr-ic{background:#fbf9f4;}
  .acc-addr-add .acc-addr-ic svg{color:var(--steel-soft);}
  .acc-addr-add:hover{border-color:var(--signal-dark);background:#fbf9f4;}
  .acc-addr-add:hover .acc-addr-body b{color:var(--signal-dark);}
  @media (max-width:640px){ .acc-addr-grid{grid-template-columns:1fr;} }

  .acc-tickets{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
  @media (max-width:760px){ .acc-tickets{grid-template-columns:1fr;} }

  .jd-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;}
  .jd-head{padding:18px 20px;background:linear-gradient(120deg,#1b2330 0%,#4d5a66 55%,#f0a63c 100%);color:#fff;position:relative;}
  .jd-live{position:absolute;top:14px;right:16px;font-size:10px;font-weight:800;letter-spacing:.05em;}
  .jd-head b{display:block;font-family:var(--ff-display);font-size:16px;}
  .jd-head span{font-size:11.5px;color:rgba(255,255,255,.85);}
  .jd-steps{padding:14px 20px;}
  .jd-step{display:flex;align-items:center;gap:9px;padding:7px 0;font-size:12.5px;color:var(--steel-soft);}
  .jd-step.done{color:var(--ink);font-weight:600;}
  .jd-check{width:17px;height:17px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;
    justify-content:center;font-size:10px;flex-shrink:0;color:#fff;}
  .jd-step.done .jd-check{background:var(--good);border-color:var(--good);}
  .jd-foot{display:flex;align-items:center;gap:9px;padding:12px 20px 16px;border-top:1px solid var(--line);
    font-size:12px;color:var(--steel);}
  .jd-foot.muted{font-style:italic;color:var(--steel-soft);}
  .jd-av{width:28px;height:28px;border-radius:50%;background:var(--signal);color:var(--ink);font-size:10.5px;
    font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}

  /* ---- floating chat widget ---- */
  .floaters{align-items:flex-end;}
  .chat-launcher{width:52px;height:52px;border-radius:50%;background:#1a6dff;border:none;cursor:pointer;
    display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:0;
    box-shadow:0 14px 26px -8px rgba(26,109,255,0.5);transition:transform .15s ease;}
  .chat-launcher:hover{transform:translateY(-3px) scale(1.05);}
  .chat-launcher svg{width:44px;height:44px;}
  .chat-dot{position:absolute;top:7px;right:7px;width:10px;height:10px;border-radius:50%;background:var(--good);border:2px solid #1a6dff;}
  .chat-backdrop{position:fixed;inset:0;z-index:209;background:rgba(16,21,28,0.35);opacity:0;pointer-events:none;transition:opacity .25s ease;}
  .chat-backdrop.open{opacity:1;pointer-events:auto;}
  .chat-panel{position:fixed;top:0;right:0;height:100dvh;width:min(384px,100vw);z-index:210;
    background:var(--paper);border-left:1px solid var(--line);display:flex;flex-direction:column;
    transform:translateX(100%);transition:transform .28s cubic-bezier(.22,.8,.25,1);
    box-shadow:-24px 0 60px -24px rgba(16,21,28,0.4);}
  .chat-panel.open{transform:translateX(0);}
  .chat-panel:not(.open){pointer-events:none;}
  .chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 14px;
    background:#1a6dff;color:#eaf1ff;}
  .chat-id{display:flex;align-items:center;gap:10px;}
  .chat-avatar{width:34px;height:34px;border-radius:50%;background:#1156cf;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;}
  .chat-avatar svg{width:22px;height:22px;}
  .chat-head b{font-family:var(--ff-display);font-size:14.5px;display:block;color:#fff;}
  .chat-head span{font-size:11.5px;color:rgba(255,255,255,0.75);}
  .chat-head button{background:none;border:none;color:rgba(255,255,255,0.75);font-size:24px;line-height:1;cursor:pointer;padding:2px 6px;}
  .chat-head button:hover{color:#fff;}
  .chat-body{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:10px;}
  .chat-msg{max-width:82%;padding:10px 13px;border-radius:12px;font-size:13.5px;line-height:1.5;}
  .chat-msg.bot{align-self:flex-start;background:#fff;border:1px solid var(--line);color:var(--paper-text);border-bottom-left-radius:4px;}
  .chat-msg.user{align-self:flex-end;background:#1a6dff;color:#fff;border-bottom-right-radius:4px;}
  .chat-msg a{color:inherit;text-decoration:underline;}
  .chat-chips{display:flex;flex-wrap:wrap;gap:7px;align-self:flex-start;max-width:100%;}
  .chat-chips button{font-family:var(--ff-body);font-size:12.5px;font-weight:500;padding:7px 12px;border-radius:100px;
    border:1px solid #1a6dff;background:#eef4ff;color:#134fbf;cursor:pointer;}
  .chat-chips button:hover{background:#1a6dff;color:#fff;}
  .chat-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 13px;}
  .chat-typing span{width:6px;height:6px;border-radius:50%;background:var(--steel-soft);animation:chatBlink 1.2s infinite;}
  .chat-typing span:nth-child(2){animation-delay:.2s;}
  .chat-typing span:nth-child(3){animation-delay:.4s;}
  @keyframes chatBlink{0%,60%,100%{opacity:.3;}30%{opacity:1;}}
  .chat-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:var(--paper);}
  .chat-input input{flex:1;border:1px solid var(--line);border-radius:100px;padding:10px 14px;font-size:13.5px;
    font-family:var(--ff-body);background:#fff;color:var(--paper-text);}
  .chat-input input:focus{outline:none;border-color:#1a6dff;}
  .chat-input button{width:38px;height:38px;border-radius:50%;border:none;background:#1a6dff;color:#fff;
    cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
  .chat-input button svg{width:17px;height:17px;}
  @media (prefers-reduced-motion:reduce){ .chat-panel{transition:none;} }

  /* ---- brand logo (transparent PNG, swaps for dark header) ---- */
  .brand{gap:0;}
  .brand img{height:46px;width:auto;display:block;}
  .brand .logo-l{display:none;}
  header.site.over-dark .brand .logo-d{display:none;}
  header.site.over-dark .brand .logo-l{display:block;}
  @media (max-width:600px){ .brand img{height:34px;} }

  /* ---- certification badge strip in the header ---- */
  .nav-badges{display:flex;align-items:center;gap:16px;flex-shrink:0;
    background:#fff;border:1px solid var(--line);border-radius:9px;padding:5px 14px;}
  .nav-badges img{height:40px;width:auto;display:block;border:1px solid var(--ink);border-radius:4px;padding:2px;background:#fff;}
  header.site.over-dark .nav-badges{border-color:var(--line-dark);}
  @media (max-width:1240px){ .nav-badges{display:none;} }

  /* ---- header: dark while over the dark hero, light after scrolling past ---- */
  header.site{transition:background .25s ease, border-color .25s ease;}
  header.site.over-dark{background:rgba(16,21,28,0.92);border-bottom-color:var(--line-dark);}
  header.site.over-dark nav.primary a{color:var(--steel-soft);}
  header.site.over-dark nav.primary a:hover{color:#fff;}
  header.site.over-dark .phonebtn{color:#f2efe6;}
  header.site.over-dark .hamburger span{background:#f2efe6;}

  /* ---- lead hero (search + service tiles) ---- */
  .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
  .lead{position:relative;background:var(--ink);color:#f2efe6;padding:34px 0 74px;overflow:hidden;}
  /* Drop a wide, dark technician/workshop photo at /assets/hero.jpg to fill the band.
     Without the file the layered gradients still render a moody fallback. */
  .lead-bg{position:absolute;inset:0;z-index:0;pointer-events:none;background:var(--ink);}
  .lead-bg::before{content:'';position:absolute;inset:0;
    background:
      linear-gradient(107deg, rgba(16,21,28,0.95) 0%, rgba(16,21,28,0.80) 42%, rgba(28,36,49,0.68) 100%),
      radial-gradient(90% 120% at 82% 38%, rgba(240,166,60,0.13), transparent 55%),
      radial-gradient(80% 120% at 10% 62%, rgba(16,21,28,0.55), transparent 60%),
      url("hero.jpg") center/cover no-repeat,
      linear-gradient(180deg,#10151c,#1c2431);}
  .lead-bg::after{content:'';position:absolute;inset:0;
    background-image:linear-gradient(var(--line-dark) 1px,transparent 1px),linear-gradient(90deg,var(--line-dark) 1px,transparent 1px);
    background-size:64px 64px;opacity:0.12;mask-image:linear-gradient(to bottom,black,transparent 72%);}
  .lead-inner{position:relative;z-index:1;text-align:center;padding-bottom:8px;}
  .lead-eyebrow{font-family:var(--ff-mono);font-size:12px;letter-spacing:0.28em;text-transform:uppercase;color:var(--steel-soft);}
  .lead-title{font-family:Georgia,'Times New Roman',serif;font-weight:700;color:#f6f3ea;
    font-size:clamp(34px,5.4vw,60px);line-height:1.04;letter-spacing:-0.01em;margin:16px auto 0;max-width:16ch;}
  .lead-sub{margin:18px auto 0;max-width:52ch;font-size:16.5px;color:#c9d0d6;}
  .lead-search{position:relative;z-index:1;display:flex;align-items:stretch;gap:8px;
    background:#fbf9f4;border-radius:14px;padding:8px;max-width:920px;margin:34px auto 0;
    box-shadow:0 34px 64px -26px rgba(0,0,0,0.55);}
  .lead-search .ls-city{display:flex;align-items:center;gap:8px;padding:0 12px 0 14px;border-right:1px solid var(--line);color:var(--signal-dark);}
  .lead-search .ls-city svg{width:18px;height:18px;flex-shrink:0;stroke:var(--signal-dark);}
  .lead-search .ls-q{flex:1;display:flex;align-items:center;gap:10px;padding:0 12px;color:var(--steel-soft);}
  .lead-search .ls-q svg{width:18px;height:18px;flex-shrink:0;}
  .lead-search select,.lead-search input{border:none;background:transparent;font-family:var(--ff-body);color:var(--paper-text);outline:none;}
  .lead-search select{font-size:14.5px;font-weight:600;padding:13px 4px;cursor:pointer;}
  .lead-search input{width:100%;font-size:15px;padding:13px 0;}
  .lead-search .btn{padding:12px 30px;border-radius:10px;font-size:15px;}
  .lead-tiles-wrap{background:var(--paper);padding-bottom:8px;}
  .lead-tiles{position:relative;z-index:2;background:#fbf9f4;border:1px solid var(--line);border-radius:20px;
    box-shadow:0 30px 60px -28px rgba(0,0,0,0.5);
    margin-top:-54px;padding:38px 32px;display:grid;grid-template-columns:repeat(6,1fr);gap:28px 12px;}
  .htile{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;}
  .htile-ic{width:76px;height:76px;border-radius:20px;display:flex;align-items:center;justify-content:center;
    transition:transform .15s ease, box-shadow .15s ease;box-shadow:inset 0 0 0 1px rgba(16,21,28,0.06);}
  .htile:hover .htile-ic{transform:translateY(-3px);box-shadow:0 14px 28px -14px rgba(16,21,28,0.3);}
  .htile-ic svg{width:40px;height:40px;}
  .htile-lbl{font-size:13.5px;font-weight:600;color:var(--ink);}
  .htile[hidden]{display:none !important;}
  @media (max-width:1080px){ .lead-tiles{grid-template-columns:repeat(4,1fr);} }
  @media (max-width:720px){
    .lead-tiles{grid-template-columns:repeat(3,1fr);padding:32px 18px;}
    .lead-search{flex-direction:column;}
    .lead-search .ls-city{border-right:none;border-bottom:1px solid var(--line);padding:6px 12px 12px;}
    .lead-search .btn{width:100%;}
  }
  @media (max-width:420px){ .lead-tiles{grid-template-columns:repeat(2,1fr);} }

  /* ---- About page (Editorial Ledger layout) ---- */
  .about .ab-wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
  .about .breadcrumb{font-family:var(--ff-mono);font-size:12.5px;color:var(--steel-soft);padding:20px 0 0;}
  .about section{padding:54px 0;}
  .about .grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:start;}
  .about .grid .num{font-family:var(--ff-mono);font-size:12.5px;color:var(--steel-soft);margin-bottom:10px;}
  .about .grid h2{font-size:clamp(24px,2.6vw,32px);line-height:1.15;color:var(--ink);max-width:13ch;}
  .about .grid .col p{color:var(--steel);font-size:15.5px;line-height:1.75;max-width:46ch;margin-bottom:14px;}
  .about .grid .col p:last-child{margin-bottom:0;}
  .about .inline-stat{font-family:var(--ff-mono);font-size:12.5px;color:var(--steel-soft);margin-top:8px;}
  .about .ic{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;}
  .about .ic svg{width:100%;height:100%;stroke:var(--signal-dark);}
  .about .split{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  .about .split .card{border-radius:14px;padding:30px 28px;}
  .about .split .light{background:#fbf9f4;border:1px solid var(--line);}
  .about .split .dark{background:var(--ink);color:#e7e9ec;}
  .about .split .lab{font-family:var(--ff-mono);font-size:11px;letter-spacing:.16em;color:var(--signal-dark);}
  .about .split .dark .lab{color:var(--signal);}
  .about .split .stm{margin-top:12px;font-family:var(--ff-display);font-weight:600;font-size:20px;line-height:1.35;}
  .about .split .sub{margin-top:12px;font-size:13.5px;line-height:1.6;color:var(--steel);}
  .about .split .dark .sub{color:var(--steel-soft);}
  /* compact alternating stepper — lives inside the right column of the ledger grid */
  .about .stepper{position:relative;}
  .about .stepper::before{content:"";position:absolute;left:50%;top:8px;bottom:8px;
    border-left:2px dotted var(--line);transform:translateX(-1px);}
  .about .step-row{display:grid;grid-template-columns:1fr 44px 1fr;column-gap:12px;padding:13px 0;}
  .about .step-row > *{grid-row:1;align-self:center;}
  .about .step-row .text{border:1px solid var(--line);border-radius:8px;background:#fbf9f4;padding:11px 13px;}
  .about .step-row .text h3{font-family:var(--ff-display);font-weight:600;text-transform:uppercase;
    letter-spacing:.01em;font-size:12px;color:var(--ink);line-height:1.2;}
  .about .step-row .text p{margin-top:4px;font-size:11px;color:var(--steel);line-height:1.45;}
  .about .step-row .art{display:flex;align-items:center;justify-content:center;}
  .about .step-row .art svg{width:44px;height:44px;stroke:var(--signal-dark);stroke-width:1.5;fill:none;}
  .about .step-row .step-lbl{grid-column:2;text-align:center;background:var(--paper);position:relative;z-index:1;padding:3px 0;}
  .about .step-row .step-lbl .l{display:block;font-family:var(--ff-mono);font-size:7px;letter-spacing:.12em;color:var(--steel-soft);}
  .about .step-row .step-lbl .n{font-family:var(--ff-display);font-weight:700;font-size:16px;line-height:1;color:var(--signal-dark);}
  .about .step-row:nth-child(odd) .text{grid-column:1;}
  .about .step-row:nth-child(odd) .art{grid-column:3;}
  .about .step-row:nth-child(even) .art{grid-column:1;}
  .about .step-row:nth-child(even) .text{grid-column:3;}
  @media (max-width:860px){
    .about .stepper::before{left:16px;transform:none;}
    .about .step-row{grid-template-columns:34px 1fr;column-gap:10px;}
    .about .step-row > *{grid-row:auto;}
    .about .step-row .text,.about .step-row:nth-child(even) .text{grid-column:2;}
    .about .step-row .art,.about .step-row:nth-child(even) .art{grid-column:2;justify-content:flex-start;margin-top:6px;}
    .about .step-row .art svg{width:34px;height:34px;}
    .about .step-row .step-lbl{grid-column:1;background:none;padding:0;}
  }
  .about .trades-line{color:var(--steel);font-size:15px;line-height:1.7;max-width:74ch;}
  .about .trades-line a{color:var(--ink);border-bottom:1.5px solid var(--signal);}
  .about .amc-panel{margin-top:20px;background:#fbf9f4;border:1px solid var(--line);border-left:3px solid var(--signal);border-radius:10px;padding:26px 28px;display:grid;grid-template-columns:0.8fr 1.2fr;gap:32px;align-items:start;}
  .about .amc-panel .amc-head h3{font-size:16px;font-weight:600;color:var(--ink);margin:12px 0 10px;}
  .about .amc-panel .amc-head a{font-size:13px;font-weight:600;color:var(--ink);border-bottom:1.5px solid var(--signal);}
  .about .amc-panel p{color:var(--steel);font-size:14px;line-height:1.7;}
  @media (max-width:860px){ .about .wwd-grid,.about .amc-panel{grid-template-columns:1fr;} .about .amc-panel{gap:12px;} }
  .about .col-lead{color:var(--steel);margin-top:14px;max-width:38ch;font-size:14.5px;line-height:1.7;}
  .about .sv-vlist .row{display:grid;grid-template-columns:36px 1fr;gap:14px;padding:15px 0;border-bottom:1px solid var(--line);}
  .about .sv-vlist .row:first-child{padding-top:0;}
  .about .sv-vlist .row:last-child{border-bottom:none;}
  .about .sv-vlist .row .ic{margin-top:1px;}
  .about .sv-vlist h3{font-size:14.5px;font-weight:600;color:var(--ink);}
  .about .sv-vlist p{margin-top:3px;font-size:12.5px;color:var(--steel);line-height:1.5;}
  .about .teams-lead{color:var(--steel);max-width:56ch;font-size:14.5px;line-height:1.7;}
  .about .people{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:22px;}
  .about .people .p{border:1px solid var(--line);border-radius:10px;padding:18px;background:#fbf9f4;}
  .about .people .av{width:40px;height:40px;border-radius:50%;background:var(--signal);color:var(--ink);font-family:var(--ff-display);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:13px;}
  .about .people .nm{margin-top:12px;font-weight:600;font-size:14.5px;color:var(--ink);}
  .about .people .rl{margin-top:3px;font-size:12px;color:var(--steel-soft);}
  @media (max-width:860px){
    .about .grid,.about .split{grid-template-columns:1fr;gap:24px;}
    .about .people{grid-template-columns:1fr 1fr;}
  }
