
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --ink:#0A0A0A; --ink-2:#1A1A1A; --ink-muted:#6B6B6B; --ink-faint:#ABABAB;
      --paper:#F5F4F0; --paper-2:#ECEAE4; --white:#FFFFFF;
      --blue:#1557FF; --blue-dark:#0A3DC2; --blue-light:#EEF2FF;
      --green:#00C48C; --green-bg:#DCFCE7;
      --orange:#FF6B35; --orange-bg:#FFF7ED;
      --red:#EF4444; --red-bg:#FEF2F2;
      --radius-sm:8px; --radius-md:12px; --radius-lg:18px; --radius-xl:22px;
      --font-display:'Bricolage Grotesque',sans-serif;
      --font-body:'DM Sans',sans-serif;
      --ease-out:cubic-bezier(0.16,1,0.3,1);
    }
    html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
    body { font-family:var(--font-body); background:var(--paper); color:var(--ink); line-height:1.6; font-size:16px; overflow-x:hidden; }
    .wrap { max-width:1100px; margin:0 auto; padding:0 20px; }
    @media(min-width:768px){ .wrap { padding:0 36px; } }
    @media(min-width:1100px){ .wrap { padding:0 48px; } }

    /* NAV */
    nav.site-nav { position:fixed; top:0; left:0; right:0; z-index:100; padding:14px 0; transition:background 0.3s var(--ease-out),box-shadow 0.3s; }
    nav.site-nav.scrolled { background:rgba(245,244,240,0.92); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); box-shadow:0 1px 0 rgba(0,0,0,0.08); }
    .nav-inner { display:flex; align-items:center; justify-content:space-between; gap:16px; }
    .nav-logo { font-family:var(--font-display); font-weight:800; font-size:22px; color:var(--ink); text-decoration:none; letter-spacing:-0.03em; }
    .nav-logo span { color:var(--blue); }
    .nav-links { display:none; list-style:none; align-items:center; gap:32px; }
    @media(min-width:768px){ .nav-links { display:flex; } }
    .nav-links a { font-size:14px; font-weight:500; color:var(--ink-muted); text-decoration:none; transition:color 0.2s; }
    .nav-links a:hover,.nav-links a.active { color:var(--ink); }
    .nav-cta { display:none; }
    @media(min-width:768px){ .nav-cta { display:inline-flex; } }
    .btn { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-body); font-weight:600; font-size:14px; padding:13px 24px; border-radius:10px; text-decoration:none; border:none; cursor:pointer; transition:transform 160ms cubic-bezier(0.23,1,0.32,1),background-color 140ms ease,box-shadow 140ms ease; white-space:nowrap; }
    .btn:active { transform:scale(0.97) !important; transition-duration:100ms; }
    .btn-primary { background:var(--blue); color:#fff !important; }
    .btn-primary:hover { background:#0A3DC2; transform:translateY(-1px); box-shadow:0 8px 24px rgba(21,87,255,0.28); }
    .btn-ghost { background:transparent; color:var(--ink); border:1.5px solid rgba(0,0,0,0.15); }
    .btn-ghost:hover { border-color:var(--ink); }
    .btn-wa { background:#25D366; color:#fff !important; }
    .btn-wa:hover { background:#1EB858; transform:translateY(-1px); box-shadow:0 8px 24px rgba(37,211,102,0.3); }
    .btn-lg { font-size:16px; padding:16px 32px; }
    .hamburger { display:flex; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:4px; }
    @media(min-width:768px){ .hamburger { display:none; } }
    .ham-line { width:24px; height:2px; background:var(--ink); border-radius:2px; transition:transform 220ms cubic-bezier(0.23,1,0.32,1),opacity 180ms ease; transform-origin:center; }
    .hamburger.open .ham-line:nth-child(1) { transform:translateY(7px) rotate(45deg); }
    .hamburger.open .ham-line:nth-child(2) { opacity:0; transform:scaleX(0); }
    .hamburger.open .ham-line:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
    .mobile-drawer { position:fixed; inset:0; z-index:99; background:var(--paper); display:flex; flex-direction:column; padding:100px 24px 40px; transform:translateX(100%); transition:transform 0.4s var(--ease-out); }
    .mobile-drawer.open { transform:translateX(0); }
    .mobile-drawer a { font-family:var(--font-display); font-weight:700; font-size:32px; color:var(--ink); text-decoration:none; padding:14px 0; border-bottom:1px solid var(--paper-2); display:flex; align-items:center; justify-content:space-between; letter-spacing:-0.02em; }
    .mobile-drawer .drawer-cta { margin-top:32px; display:flex; flex-direction:column; gap:12px; }
    .drawer-cta .btn { justify-content:center; font-size:16px; padding:16px; }

    /* PAGE HERO */
    .page-hero {
      padding:100px 0 32px;
      background:var(--white);
      border-bottom:1px solid rgba(0,0,0,0.06);
    }
    @media(min-width:768px){ .page-hero { padding:118px 0 40px; } }
    .breadcrumb { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--ink-muted); margin-bottom:20px; }
    .breadcrumb a { color:var(--ink-muted); text-decoration:none; }
    .breadcrumb a:hover { color:var(--ink); }
    .page-badge { display:inline-flex; align-items:center; gap:8px; background:var(--green-bg); color:#059669; border-radius:100px; padding:5px 14px; font-size:12px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; margin-bottom:14px; }
    .page-badge .dot { width:7px; height:7px; border-radius:50%; background:#059669; animation:pulse 2s infinite; }
    @keyframes pulse { 0%,100%{box-shadow:0 0 0 0 rgba(5,150,105,0.4);}50%{box-shadow:0 0 0 5px rgba(5,150,105,0);} }
    .page-title { font-family:var(--font-display); font-weight:800; font-size:clamp(28px,5.5vw,40px); letter-spacing:-0.02em; line-height:1.1; margin-bottom:10px; max-width:600px; }
    .page-title em { font-style:normal; color:var(--blue); }
    .page-sub { font-size:15px; color:var(--ink-muted); line-height:1.6; max-width:500px; }

    /* STEPS INDICATOR */
    .steps-indicator {
      display:flex; align-items:center; gap:0;
      margin-top:32px; max-width:480px;
    }
    .step-ind {
      display:flex; flex-direction:column; align-items:center; gap:6px;
      flex:1; position:relative;
    }
    .step-ind:not(:last-child)::after {
      content:''; position:absolute;
      top:14px; left:calc(50% + 14px);
      right:calc(-50% + 14px);
      height:2px; background:var(--paper-2);
      z-index:0;
    }
    .step-dot {
      width:28px; height:28px; border-radius:50%;
      display:flex; align-items:center; justify-content:center;
      font-size:12px; font-weight:700;
      background:var(--paper-2); color:var(--ink-faint);
      position:relative; z-index:1;
      transition:background 0.3s,color 0.3s;
    }
    .step-dot.active { background:var(--blue); color:#fff; }
    .step-dot.done { background:var(--green); color:#fff; }
    .step-lbl { font-size:11px; font-weight:600; color:var(--ink-faint); text-align:center; line-height:1.3; }
    .step-lbl.active { color:var(--ink); }

    /* MAIN LAYOUT */
    .booking-layout {
      display:grid;
      gap:32px;
      padding:48px 0 80px;
      align-items:start;
    }
    @media(min-width:900px){ .booking-layout { grid-template-columns:1fr 420px; gap:48px; padding:64px 0 100px; } }

    /* FORM CARD */
    .form-wrap { order:1; }
    .form-card {
      background:var(--white); border-radius:var(--radius-xl);
      padding:28px 24px;
      border:1px solid rgba(0,0,0,0.07);
      box-shadow:0 4px 24px rgba(0,0,0,0.06);
    }
    @media(min-width:480px){ .form-card { padding:36px 36px; } }

    /* FORM STEPS */
    .form-step { display:none; }
    .form-step.active { display:block; }

    .step-header { margin-bottom:24px; }
    .step-header h2 { font-family:var(--font-display); font-weight:700; font-size:22px; letter-spacing:-0.02em; margin-bottom:6px; }
    .step-header p { font-size:14px; color:var(--ink-muted); }

    /* DEVICE CARDS */
    .device-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; margin-bottom:8px; }
    .device-option input[type="radio"] { position:absolute; opacity:0; width:0; height:0; }
    .device-card {
      display:flex; flex-direction:column; align-items:center; gap:8px;
      padding:18px 12px; border-radius:var(--radius-md);
      border:2px solid var(--paper-2); background:var(--paper);
      cursor:pointer; transition:border-color 0.2s,background 0.2s,transform 0.15s;
      text-align:center;
    }
    .device-card:hover { border-color:rgba(21,87,255,0.3); background:var(--blue-light); transform:translateY(-2px); }
    .device-option input:checked + .device-card {
      border-color:var(--blue); background:var(--blue-light);
      box-shadow:0 0 0 3px rgba(21,87,255,0.12);
    }
    .device-emoji { 
      width:32px; height:32px; display:flex; align-items:center; justify-content:center;
      color: inherit;
    }
    .device-name { font-size:13px; font-weight:600; color:var(--ink); }

    /* ISSUE QUICK PICK */
    .issue-tags { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
    .issue-tag {
      font-size:12px; font-weight:600; padding:6px 13px;
      border-radius:100px; border:1.5px solid var(--paper-2);
      background:var(--paper); color:var(--ink-muted);
      cursor:pointer; transition:border-color 0.15s,color 0.15s,background-color 0.15s;
    }
    .issue-tag:hover { border-color:var(--blue); color:var(--blue); background:var(--blue-light); }
    .issue-tag.selected { border-color:var(--blue); color:var(--blue); background:var(--blue-light); }

    /* FIELDS */
    .form-group { margin-bottom:18px; }
    .form-row { display:grid; gap:14px; margin-bottom:18px; }
    @media(min-width:480px){ .form-row { grid-template-columns:1fr 1fr; } }
    .field-label { display:block; font-size:13px; font-weight:600; color:var(--ink); margin-bottom:7px; }
    .field-label .optional { font-weight:400; color:var(--ink-faint); }
    input[type="text"], input[type="tel"], input[type="email"], textarea, select {
      width:100%; padding:12px 14px; border-radius:var(--radius-sm);
      border:1.5px solid var(--paper-2); background:var(--paper);
      font-family:var(--font-body); font-size:15px; color:var(--ink);
      outline:none; transition:border-color 0.2s,box-shadow 0.2s;
      appearance:none; -webkit-appearance:none;
    }
    input:focus, textarea:focus, select:focus {
      border-color:var(--blue); box-shadow:0 0 0 3px rgba(21,87,255,0.1);
      background:var(--white);
    }
    input.error, textarea.error, select.error { border-color:var(--red); box-shadow:0 0 0 3px rgba(239,68,68,0.1); }
    .field-error { font-size:12px; color:var(--red); margin-top:5px; display:none; }
    .field-error.show { display:block; }
    input::placeholder, textarea::placeholder { color:var(--ink-faint); }
    textarea { resize:vertical; min-height:100px; }
    select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%236B6B6B' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:40px; }

    /* LOCATION BTN */
    .location-btn {
      display:flex; align-items:center; gap:10px;
      width:100%; padding:12px 16px; border-radius:var(--radius-sm);
      border:1.5px dashed var(--paper-2); background:var(--paper);
      font-family:var(--font-body); font-size:14px; font-weight:500;
      color:var(--ink-muted); cursor:pointer;
      transition:border-color 0.2s,background 0.2s,color 0.2s;
    }
    .location-btn:hover { border-color:var(--blue); color:var(--blue); background:var(--blue-light); }
    .location-btn.got { border-color:var(--green); color:#059669; background:var(--green-bg); border-style:solid; }
    .loc-status { font-size:12px; color:var(--ink-faint); margin-top:6px; }

    /* STEP NAV BUTTONS */
    .step-nav { display:flex; gap:12px; margin-top:24px; }
    .btn-next {
      flex:1; display:flex; align-items:center; justify-content:center; gap:10px;
      padding:16px 24px; border-radius:12px; border:none; cursor:pointer;
      font-family:var(--font-body); font-weight:700; font-size:16px;
      background:var(--blue); color:#fff;
      transition:transform 160ms cubic-bezier(0.23,1,0.32,1),box-shadow 160ms ease;
    }
    .btn-next:hover { transform:translateY(-2px); box-shadow:0 12px 32px rgba(0,0,0,0.2); }
    .btn-next:active { transform:scale(0.98); }
    .btn-back {
      padding:16px 20px; border-radius:12px; border:1.5px solid var(--paper-2);
      background:transparent; font-family:var(--font-body); font-weight:600; font-size:15px;
      color:var(--ink-muted); cursor:pointer; transition:border-color 0.2s,color 0.2s;
    }
    .btn-back:hover { border-color:var(--ink); color:var(--ink); }

    /* SUBMIT BTN */
    .submit-btn {
      width:100%; display:flex; align-items:center; justify-content:center; gap:12px;
      padding:18px 24px; border-radius:12px; border:none; cursor:pointer;
      font-family:var(--font-body); font-weight:700; font-size:17px;
      background:#25D366; color:#fff;
      transition:transform 160ms cubic-bezier(0.23,1,0.32,1),box-shadow 160ms ease,background 140ms;
      margin-bottom:12px;
    }
    .submit-btn:hover { background:#1EB858; transform:translateY(-2px); box-shadow:0 16px 40px rgba(37,211,102,0.35); }
    .submit-btn:active { transform:scale(0.98); }
    .submit-btn svg { width:22px; height:22px; flex-shrink:0; }
    .form-footnote { font-size:12px; color:var(--ink-faint); text-align:center; line-height:1.5; }

    /* DIVIDER */
    .form-divider { display:flex; align-items:center; gap:12px; margin:20px 0; }
    .form-divider::before,.form-divider::after { content:''; flex:1; height:1px; background:var(--paper-2); }
    .form-divider span { font-size:12px; color:var(--ink-faint); font-weight:500; white-space:nowrap; }

    /* SUMMARY CARD (step 3 preview) */
    .summary-card { background:var(--paper); border-radius:var(--radius-md); padding:18px 20px; margin-bottom:20px; border:1px solid var(--paper-2); }
    .summary-card :is(h3,h4) { font-family:var(--font-display); font-weight:700; font-size:14px; margin-bottom:12px; color:var(--ink-muted); text-transform:uppercase; letter-spacing:0.06em; }
    .summary-row { display:flex; gap:8px; font-size:14px; margin-bottom:8px; }
    .summary-row:last-child { margin-bottom:0; }
    .summary-label { color:var(--ink-muted); min-width:80px; flex-shrink:0; }
    .summary-value { color:var(--ink); font-weight:500; }

    /* TRUST SIDEBAR */
    .trust-sidebar { order:2; }
    @media(min-width:900px){ .trust-sidebar { order:2; } }
    .sidebar-sticky { position:sticky; top:90px; display:flex; flex-direction:column; gap:16px; }

    .trust-block { background:var(--white); border-radius:var(--radius-xl); padding:28px 24px; border:1px solid rgba(0,0,0,0.06); }
    .trust-block-title { font-size:11px; font-weight:700; color:var(--ink-faint); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:18px; }
    .trust-point { display:flex; gap:14px; align-items:flex-start; margin-bottom:18px; }
    .trust-point:last-child { margin-bottom:0; }
    .trust-point-icon { width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0; }
    .trust-point :is(h3,h4) { font-family:var(--font-display); font-weight:700; font-size:14px; margin-bottom:4px; }
    .trust-point p { font-size:13px; color:var(--ink-muted); line-height:1.5; }

    .wa-direct { background:var(--ink); color:var(--white); border-radius:var(--radius-xl); padding:24px; }
    .wa-direct :is(h3,h4) { font-family:var(--font-display); font-weight:700; font-size:17px; margin-bottom:8px; letter-spacing:-0.01em; }
    .wa-direct p { font-size:13px; color:rgba(255,255,255,0.6); line-height:1.55; margin-bottom:18px; }
    .wa-direct .btn-wa { width:100%; justify-content:center; border-radius:var(--radius-md); padding:14px 20px; }

    .process-mini { background:var(--white); border-radius:var(--radius-xl); padding:24px; border:1px solid rgba(0,0,0,0.06); }
    .process-mini :is(h3,h4) { font-family:var(--font-display); font-weight:700; font-size:15px; margin-bottom:16px; }
    .mini-step { display:flex; gap:12px; align-items:flex-start; margin-bottom:14px; }
    .mini-step:last-child { margin-bottom:0; }
    .mini-num { width:24px; height:24px; border-radius:50%; background:var(--blue); color:#fff; font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
    .mini-step p { font-size:13px; color:var(--ink-muted); line-height:1.5; }
    .mini-step strong { color:var(--ink); }

    /* FOOTER */
    footer { background:var(--ink); color:var(--white); padding:64px 0 32px; margin-top:0; }
    .footer-grid { display:grid; gap:40px; margin-bottom:48px; }
    @media(min-width:640px){ .footer-grid { grid-template-columns:1fr 1fr; } }
    @media(min-width:900px){ .footer-grid { grid-template-columns:1.4fr 1fr 1fr 1fr; gap:48px; } }
    .footer-brand h2 { font-family:var(--font-display); font-weight:800; font-size:26px; letter-spacing:-0.03em; margin-bottom:12px; }
    .footer-brand h2 span { color:var(--blue); }
    .footer-brand p { font-size:14px; color:rgba(255,255,255,0.5); line-height:1.65; max-width:260px; }
    .footer-brand address { font-style:normal; margin-top:14px; font-size:13px; color:rgba(255,255,255,0.4); line-height:1.7; }
    .footer-col :is(h3,h4) { font-weight:600; font-size:13px; color:rgba(255,255,255,0.4); text-transform:uppercase; letter-spacing:0.06em; margin-bottom:16px; }
    .footer-col a,.footer-col p { display:block; font-size:14px; color:rgba(255,255,255,0.65); text-decoration:none; margin-bottom:10px; transition:color 0.2s; }
    .footer-col a:hover { color:var(--white); }
    .footer-bottom { border-top:1px solid rgba(255,255,255,0.08); padding-top:24px; display:flex; flex-direction:column; gap:8px; font-size:13px; color:rgba(255,255,255,0.35); }
    @media(min-width:640px){ .footer-bottom { flex-direction:row; justify-content:space-between; align-items:center; } }
    .footer-bottom a { color:rgba(255,255,255,0.45); text-decoration:none; }
    .footer-bottom a:hover { color:var(--white); }

    /* FAB */
    .fab-wrap { position:fixed; bottom:20px; right:20px; z-index:200; display:flex; flex-direction:column; align-items:flex-end; gap:10px; }
    .fab-items { display:flex; flex-direction:column; align-items:flex-end; gap:10px; transition:opacity 160ms ease,transform 160ms var(--ease-out); opacity:0; transform:scale(0.85) translateY(12px); pointer-events:none; }
    .fab-items.open { opacity:1; transform:scale(1) translateY(0); pointer-events:all; }
    .fab-item { display:flex; align-items:center; gap:10px; background:var(--white); border-radius:100px; padding:10px 18px 10px 12px; font-size:13px; font-weight:600; color:var(--ink); text-decoration:none; box-shadow:0 8px 24px rgba(0,0,0,0.14); transition:transform 160ms cubic-bezier(0.23,1,0.32,1),box-shadow 160ms ease; white-space:nowrap; }
    .fab-item:hover { box-shadow:0 12px 32px rgba(0,0,0,0.2); transform:translateX(-4px); }
    .fab-icon { width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
    .fab-btn { width:52px; height:52px; border-radius:50%; background:var(--ink); color:#fff; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 24px rgba(0,0,0,0.2); transition:transform 160ms cubic-bezier(0.23,1,0.32,1); font-size:22px; }
    .fab-plus { transition:transform 0.3s var(--ease-out); display:inline-block; }
    .fab-btn.open .fab-plus { transform:rotate(45deg); }

    /* ANIMATIONS */
    .fade-up { opacity:0; transform:translateY(24px); transition:opacity 0.6s var(--ease-out),transform 0.6s var(--ease-out); }
    .fade-up.visible { opacity:1; transform:translateY(0); }
    .fd1 { transition-delay:0.05s; } .fd2 { transition-delay:0.12s; } .fd3 { transition-delay:0.2s; }
    @media(prefers-reduced-motion:reduce){ .fade-up { opacity:1; transform:none; transition:none; } }
  