:root{
    --yellow:#EDB307;
    --yellow-light:#F6C25F;
    --yellow-pale:#FBE3A8;
    --yellow-dark:#A6720A;
    --yellow-deep:#7A5306;
    --ink:#14181A;
    --ink-soft:#2B2F31;
    --cream:#FDF6EA;
    --cream-deep:#F6E7CC;
    --white:#FFFFFF;
    --line: rgba(20,24,26,0.10);
    --shadow-yellow: 0 10px 0 var(--yellow-dark), 0 18px 28px rgba(122,83,6,0.35);
  }

  *{margin:0;padding:0;box-sizing:border-box;}

  html{scroll-behavior:smooth;}

  body{
    font-family:'Assistant', sans-serif;
    background:var(--cream);
    color:var(--ink);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }

  h1,h2,h3,.display{
    font-family:'Rubik', sans-serif;
    font-weight:800;
    letter-spacing:-0.01em;
  }

  img{max-width:100%;display:block;}

  .container{
    width:100%;
    max-width:1180px;
    margin:0 auto;
    padding:0 24px;
  }

  /* ============ HERO ============ */
  .hero{
    position:relative;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    overflow:hidden;
    background:var(--cream);
  }

  .hero-bg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:top center;
    z-index:0;
  }

  .hero-veil{
    position:absolute;
    inset:0;
    z-index:1;
    background:
      linear-gradient(180deg, rgba(20,24,26,0.22) 0%, rgba(20,24,26,0.06) 30%, rgba(253,246,234,0.62) 60%, var(--cream) 88%);
  }

  .hero-inner{
    position:relative;
    z-index:2;
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:22px 24px 70px;
  }

  .logo-wrap{
    position:relative;
    width:212px;
    height:212px;
    border-radius:50%;
    overflow:hidden;
    background:var(--white);
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:
      0 2px 0 rgba(255,255,255,0.6) inset,
      0 14px 0 var(--yellow-dark),
      0 24px 34px rgba(20,24,26,0.45);
    margin-top:-6px;
    margin-bottom:30px;
    animation:pop-in 0.7s cubic-bezier(.2,1.4,.4,1) both;
  }
  .logo-wrap img{
    width:207px;height:207px;object-fit:cover;object-position:center;border-radius:50%;
  }

  @keyframes pop-in{
    0%{opacity:0; transform:translateY(-18px) scale(.85);}
    100%{opacity:1; transform:translateY(0) scale(1);}
  }

  .eyebrow{
    font-family:'Rubik', sans-serif;
    font-weight:700;
    font-size:14px;
    letter-spacing:0.08em;
    color:var(--yellow-pale);
    background:rgba(20,24,26,0.62);
    border:1px solid rgba(255,255,255,0.18);
    padding:8px 20px;
    border-radius:999px;
    margin-bottom:22px;
    backdrop-filter:blur(6px);
    animation:fade-up 0.8s ease 0.1s both;
  }

  .hero h1{
    color:var(--white);
    text-align:center;
    font-size:clamp(34px, 6vw, 62px);
    line-height:1.08;
    max-width:820px;
    text-shadow:0 3px 0 rgba(20,24,26,0.35), 0 4px 6px rgba(0,0,0,0.5), 0 18px 40px rgba(0,0,0,0.4);
    animation:fade-up 0.8s ease 0.18s both;
  }

  .hero h1 .stroke{
    position:relative;
    display:inline-block;
    color:var(--yellow);
    white-space:nowrap;
  }
  .hero h1 .stroke svg{
    position:absolute;
    right:0; left:0;
    bottom:-14px;
    width:100%;
    height:22px;
  }

  .hero-sub{
    position:relative;
    color:var(--ink);
    text-align:center;
    font-size:clamp(16px, 2.4vw, 19px);
    font-weight:600;
    max-width:560px;
    margin:22px auto 0;
    padding:14px 30px;
    animation:fade-up 0.8s ease 0.26s both;
  }
  .hero-sub-brush{
    position:absolute;
    inset:-10px -16px;
    width:calc(100% + 32px);
    height:calc(100% + 20px);
    z-index:0;
    filter:drop-shadow(0 6px 14px rgba(20,24,26,0.28));
  }
  .hero-sub-text{
    position:relative;
    z-index:1;
  }

  @keyframes fade-up{
    0%{opacity:0; transform:translateY(16px);}
    100%{opacity:1; transform:translateY(0);}
  }

  /* ============ HERO CTA ROW — REAL BRUSH STROKE BUTTONS ============ */
  .hero-cta-row{
    position:relative;
    z-index:2;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    justify-content:center;
    margin-top:30px;
    animation:fade-up 0.8s ease 0.3s both;
  }

  .btn-brush{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:270px;
    height:80px;
    text-decoration:none;
    border:none;
    background:none;
    cursor:pointer;
    transition:transform .18s cubic-bezier(.3,1.3,.5,1);
  }
  .btn-brush:nth-child(1){transform:rotate(-1.6deg);}
  .btn-brush:nth-child(2){transform:rotate(1.4deg);}
  .btn-brush:nth-child(3){transform:rotate(-1deg);}
  .btn-brush:hover{transform:rotate(0deg) translateY(-4px) scale(1.04);}
  .btn-brush:active{transform:rotate(0deg) translateY(1px) scale(0.98);}

  .brush-bg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    filter:drop-shadow(3px 8px 5px rgba(20,24,26,0.35));
  }

  .brush-label{
    position:relative;
    z-index:2;
    font-family:'Suez One', serif;
    font-size:16.5px;
    font-weight:400;
    letter-spacing:0.005em;
    padding:0 22px;
    text-align:center;
    pointer-events:none;
  }
  .btn-brush.fill .brush-label{color:var(--ink);}
  .btn-brush.call .brush-label{color:var(--yellow-light);}
  .btn-brush.whatsapp .brush-label{color:#FFFFFF;}

  .call-label{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
  }
  .phone-3d-icon{
    width:24px;
    height:24px;
    flex-shrink:0;
    filter:drop-shadow(0 3px 2px rgba(0,0,0,0.45)) drop-shadow(0 1px 0 rgba(255,255,255,0.15));
    transform:rotate(-4deg);
  }

  .whatsapp-label{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
  }
  .whatsapp-3d-icon{
    width:24px;
    height:24px;
    flex-shrink:0;
    filter:drop-shadow(0 2px 2px rgba(0,0,0,0.35));
  }

  .form-label{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
  }
  .form-3d-icon{
    width:23px;
    height:23px;
    flex-shrink:0;
    filter:drop-shadow(0 3px 2px rgba(122,83,6,0.4)) drop-shadow(0 1px 0 rgba(255,255,255,0.25));
    transform:rotate(5deg);
  }

  @media (max-width: 560px){
    .hero-cta-row{flex-direction:column; align-items:center; gap:4px; margin-top:34px;}
    .btn-brush{width:270px;}
  }

  /* ============ FORM CARD ============ */
  .form-card{
    position:relative;
    z-index:2;
    width:100%;
    max-width:520px;
    margin:38px auto 0;
    background:var(--white);
    border-radius:26px;
    padding:34px 30px 30px;
    box-shadow:
      0 2px 0 rgba(255,255,255,0.7) inset,
      0 14px 0 var(--cream-deep),
      0 30px 60px rgba(20,24,26,0.35);
    animation:fade-up 0.8s ease 0.34s both;
  }

  .form-card::before{
    content:"";
    position:absolute;
    top:-11px; right:34px;
    width:64px; height:22px;
    background:var(--yellow);
    border-radius:0 0 10px 10px;
    box-shadow:0 4px 0 var(--yellow-dark);
  }

  .form-title{
    font-size:23px;
    text-align:center;
    margin-bottom:4px;
  }
  .form-title span{color:var(--yellow);}
  .form-title span.bold-word{
    color:var(--yellow);
    font-weight:900;
    text-decoration:underline;
    text-decoration-thickness:3px;
    text-underline-offset:4px;
  }

  .form-note{
    text-align:center;
    font-size:14.5px;
    color:var(--ink-soft);
    font-weight:500;
    margin-bottom:22px;
  }

  .field{
    margin-bottom:14px;
  }
  .field label{
    display:block;
    font-size:13.5px;
    font-weight:700;
    color:var(--ink-soft);
    margin-bottom:6px;
  }
  .field input, .field select, .field textarea{
    width:100%;
    font-family:'Assistant', sans-serif;
    font-size:15.5px;
    font-weight:500;
    color:var(--ink);
    background:var(--cream);
    border:1.5px solid var(--line);
    border-radius:12px;
    padding:12px 14px;
    outline:none;
    transition:border-color .2s, box-shadow .2s, background .2s;
  }
  .field input:focus, .field select:focus, .field textarea:focus{
    border-color:var(--yellow);
    background:var(--white);
    box-shadow:0 0 0 4px rgba(237,179,7,0.18);
  }
  .field textarea{resize:vertical; min-height:64px;}
  .row-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
  }

  /* 3D paint-drip button */
  .btn-3d{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    width:100%;
    margin-top:8px;
    padding:17px 20px 20px;
    font-family:'Rubik', sans-serif;
    font-weight:800;
    font-size:17.5px;
    color:var(--ink);
    background:linear-gradient(180deg, var(--yellow-light) 0%, var(--yellow) 100%);
    border:none;
    border-radius:16px;
    cursor:pointer;
    box-shadow:
      0 6px 0 var(--yellow-dark),
      0 14px 24px rgba(166,114,10,0.4);
    transform:translateY(0);
    transition:transform .12s ease, box-shadow .12s ease;
    overflow:visible;
  }
  .btn-3d:hover{
    transform:translateY(-2px);
    box-shadow:
      0 8px 0 var(--yellow-dark),
      0 20px 30px rgba(166,114,10,0.45);
  }
  .btn-3d:active{
    transform:translateY(5px);
    box-shadow:
      0 1px 0 var(--yellow-dark),
      0 4px 10px rgba(166,114,10,0.35);
  }
  .btn-3d .drip{
    position:absolute;
    bottom:-9px;
    left:26px;
    width:16px;
    height:16px;
    background:var(--yellow);
    border-radius:0 0 50% 50%;
    box-shadow:2px 3px 0 -1px var(--yellow-dark);
  }
  .btn-3d .drip:nth-child(2){left:auto; right:44px; width:11px; height:11px; bottom:-7px;}

  .form-fine{
    text-align:center;
    font-size:12.5px;
    color:var(--ink-soft);
    opacity:0.75;
    margin-top:14px;
  }

  .form-wa{
    display:flex;align-items:center;justify-content:center;gap:9px;
    width:100%;margin-top:20px;padding:13px 16px;border-radius:14px;
    background:#25D366;color:#FFFFFF;text-decoration:none;
    font-family:'Rubik', sans-serif;font-weight:700;font-size:16px;
    box-shadow:0 5px 0 #128C4A;transition:transform .15s ease, box-shadow .15s ease;
  }
  .form-wa:hover{transform:translateY(-2px);box-shadow:0 7px 0 #128C4A;}
  .form-wa:active{transform:translateY(3px);box-shadow:0 2px 0 #128C4A;}
  .form-err{display:none;margin-top:12px;padding:11px 12px;border-radius:12px;background:#FFF4E5;color:var(--ink);font-size:15px;text-align:center;line-height:1.5;}

  .success-msg{
    display:none;
    text-align:center;
    padding:26px 6px 6px;
    font-family:'Rubik', sans-serif;
    font-weight:700;
    font-size:17px;
    color:var(--yellow-deep);
  }
  .success-msg span{display:block; font-size:34px; margin-bottom:8px;}

  .scroll-cue{
    position:relative;
    z-index:2;
    margin-top:46px;
    width:26px;
    height:42px;
    border:2.5px solid rgba(255,255,255,0.85);
    border-radius:16px;
    display:flex;
    justify-content:center;
    padding-top:7px;
    animation:fade-up 0.8s ease 0.5s both;
  }
  .scroll-cue::after{
    content:"";
    width:4px;height:9px;
    background:var(--yellow);
    border-radius:3px;
    animation:scroll-bounce 1.6s ease-in-out infinite;
  }
  @keyframes scroll-bounce{
    0%,100%{transform:translateY(0); opacity:1;}
    50%{transform:translateY(10px); opacity:0.4;}
  }

  /* ============ SECTION SHARED ============ */
  section{
    padding:64px 0;
    position:relative;
  }
  .section-head{
    text-align:center;
    max-width:620px;
    margin:0 auto 40px;
  }
  .section-eyebrow{
    font-family:'Rubik', sans-serif;
    font-weight:700;
    font-size:13.5px;
    letter-spacing:0.09em;
    color:var(--yellow-deep);
    margin-bottom:12px;
  }
  .section-eyebrow::before{
    content:"● ";
    color:var(--yellow);
  }
  .section-head h2{
    font-size:clamp(28px, 4vw, 38px);
    line-height:1.15;
    margin-bottom:14px;
  }
  .section-head p{
    color:var(--ink-soft);
    font-size:16.5px;
    font-weight:500;
  }

  /* ============ PROCESS ============ */
  .process{
    background:var(--white);
  }
  .steps{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:22px;
    position:relative;
  }
  .steps::before{
    content:"";
    position:absolute;
    top:34px;
    right:12%;
    left:12%;
    height:3px;
    background:repeating-linear-gradient(90deg, var(--yellow-pale) 0 10px, transparent 10px 20px);
    z-index:0;
  }
  .step{
    position:relative;
    z-index:1;
    background:var(--cream);
    border-radius:20px;
    padding:26px 20px 24px;
    text-align:center;
    border:1px solid var(--line);
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .step:hover{
    transform:translateY(-6px);
    box-shadow:0 16px 30px rgba(20,24,26,0.10);
  }
  .step-num{
    width:68px; height:68px;
    margin:0 auto 16px;
    border-radius:50%;
    background:linear-gradient(180deg, var(--yellow-light), var(--yellow));
    display:flex;align-items:center;justify-content:center;
    font-family:'Rubik', sans-serif;
    font-weight:900;
    font-size:24px;
    color:var(--ink);
    box-shadow:0 5px 0 var(--yellow-dark), 0 12px 18px rgba(166,114,10,0.3);
  }
  .step h3{
    font-size:17.5px;
    margin-bottom:8px;
  }
  .step p{
    font-size:14.5px;
    color:var(--ink-soft);
    font-weight:500;
  }

  /* ============ WORKS (before/after gallery) ============ */
  .works{
    background:var(--white);
  }
  .work-card{
    flex:0 0 calc((100% - 44px)/3);
    background:var(--cream);
    border-radius:20px;
    padding:12px;
    border:1px solid var(--line);
    display:flex;
    gap:8px;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .work-card:hover{
    transform:translateY(-5px);
    box-shadow:0 16px 30px rgba(20,24,26,0.10);
  }
  .work-img{
    position:relative;
    flex:1;
    aspect-ratio:3/4;
    border-radius:14px;
    overflow:hidden;
  }
  .work-tag{
    position:absolute;
    top:8px;
    right:8px;
    z-index:2;
    font-family:'Rubik', sans-serif;
    font-weight:700;
    font-size:11.5px;
    color:var(--white);
    background:var(--ink);
    padding:4px 11px;
    border-radius:999px;
    letter-spacing:0.02em;
  }
  .work-tag.after-tag{
    background:var(--yellow);
    color:var(--ink);
  }
  .work-photo{
    width:100%;
    height:100%;
    object-fit:cover;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
  }
  .work-photo svg{width:30px;height:30px;}
  .work-photo span{
    font-family:'Assistant', sans-serif;
    font-size:12px;
    font-weight:600;
  }

  @media (max-width: 860px){
    .work-card{flex:0 0 calc((100% - 22px)/2);}
  }
  @media (max-width: 640px){
    .work-card{flex:0 0 100%;}
  }

  /* ============ WHY US ============ */
  .why{
    background:var(--cream);
  }
  .why-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:22px;
  }
  .why-card{
    background:var(--white);
    border-radius:20px;
    padding:30px 22px;
    text-align:center;
    box-shadow:0 2px 0 rgba(255,255,255,0.6) inset, 0 10px 26px rgba(20,24,26,0.07);
    border:1px solid var(--line);
    transition:transform .25s ease;
  }
  .why-card:hover{transform:translateY(-6px) rotate(-0.5deg);}
  .why-icon{
    width:60px; height:60px;
    margin:0 auto 16px;
    border-radius:16px;
    background:var(--ink);
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 0 #000, 0 10px 18px rgba(20,24,26,0.35);
  }
  .why-icon svg{width:30px;height:30px;}
  .why-card h3{font-size:16.5px; margin-bottom:8px;}
  .why-card p{font-size:14px; color:var(--ink-soft); font-weight:500;}

  /* ============ SERVICE AREAS ============ */
  .areas{background:var(--white);}
  .areas-list{
    list-style:none;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;
    max-width:900px;
    margin:0 auto;
  }
  .areas-list li{
    background:var(--cream);
    border:1px solid var(--line);
    border-radius:999px;
    padding:10px 18px;
    font-weight:600;
    font-size:15px;
    color:var(--ink);
  }
  .areas-list li::before{content:"📍 ";}
  .areas-note{
    text-align:center;
    margin-top:24px;
    color:var(--ink-soft);
    font-weight:500;
  }
  .areas-note a{color:var(--yellow-dark);font-weight:700;}
  @media (max-width:560px){
    .areas-list{gap:8px;}
    .areas-list li{font-size:13.5px;padding:8px 12px;}
  }

  /* ============ TESTIMONIALS CAROUSEL ============ */
  .testimonials{
    background:var(--white);
  }
  .carousel{
    position:relative;
    display:flex;
    align-items:center;
    gap:14px;
  }
  .carousel-viewport{
    overflow:hidden;
    flex:1;
  }
  .carousel-track{
    display:flex;
    gap:22px;
    direction:ltr;
    transition:transform .45s cubic-bezier(.3,1,.4,1);
  }
  .review-card{
    flex:0 0 calc((100% - 44px)/3);
    background:var(--cream);
    border:1px solid var(--line);
    border-radius:20px;
    padding:26px 22px;
    display:flex;
    flex-direction:column;
    gap:12px;
    text-align:right;
  }
  .review-stars{
    display:flex;
    gap:3px;
    color:var(--yellow);
    font-size:15px;
  }
  .review-text{
    font-size:14.5px;
    color:var(--ink-soft);
    font-weight:500;
    line-height:1.65;
    flex:1;
  }
  .review-author{
    display:flex;
    align-items:center;
    gap:10px;
    font-family:'Rubik', sans-serif;
    font-weight:700;
    font-size:14px;
  }
  .review-avatar{
    width:38px;height:38px;
    border-radius:50%;
    flex-shrink:0;
    background:linear-gradient(160deg, var(--yellow-light), var(--yellow-dark));
    color:var(--ink);
    display:flex;align-items:center;justify-content:center;
    font-family:'Rubik', sans-serif;
    font-weight:800;
    font-size:14px;
  }
  .carousel-arrow{
    width:44px;height:44px;
    flex-shrink:0;
    border-radius:50%;
    background:var(--ink);
    color:var(--yellow);
    border:none;
    font-size:20px;
    line-height:1;
    cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 6px 14px rgba(20,24,26,0.3);
    transition:transform .15s ease;
  }
  .carousel-arrow:hover{transform:scale(1.08);}
  .carousel-dots{
    display:flex;
    justify-content:center;
    gap:8px;
    margin-top:26px;
  }
  .carousel-dot{
    width:8px;height:8px;
    border-radius:50%;
    background:var(--line);
    border:none;
    padding:0;
    cursor:pointer;
    transition:width .2s ease, background .2s ease;
  }
  .carousel-dot.active{
    background:var(--yellow);
    width:22px;
    border-radius:5px;
  }
  .carousel-arrow.hidden,
  .carousel-dots.hidden{
    display:none;
  }

  @media (max-width:860px){
    .review-card{flex:0 0 calc((100% - 22px)/2);}
  }
  @media (max-width:640px){
    .review-card{flex:0 0 100%;}
    .carousel{gap:8px;}
    .carousel-arrow{width:38px;height:38px;font-size:17px;}
  }

  /* ============ CTA STRIP ============ */
  .cta-strip{
    background:linear-gradient(120deg, var(--ink) 0%, #1f2427 100%);
    padding:48px 0;
    text-align:center;
    position:relative;
    overflow:hidden;
  }
  .cta-strip::before{
    content:"";
    position:absolute;
    width:420px;height:420px;
    background:radial-gradient(circle, rgba(237,179,7,0.25), transparent 70%);
    top:-160px; left:-100px;
  }
  .cta-strip h2{
    color:var(--white);
    font-size:clamp(24px,3.4vw,32px);
    margin-bottom:12px;
    position:relative;
  }
  .cta-strip p{
    color:var(--yellow-pale);
    font-weight:600;
    margin-bottom:28px;
    position:relative;
  }
  .btn-3d.inline{
    width:auto;
    display:inline-flex;
    padding:16px 36px 19px;
    position:relative;
  }

  /* ============ FLOATING CALL BADGE (hero dead space) — BRUSH STROKE ============ */
  .call-float{
    position:absolute;
    top:26px;
    left:26px;
    z-index:5;
    width:192px;
    height:56px;
    animation:float-in 0.6s cubic-bezier(.2,1.2,.4,1) 0.5s both;
  }
  @keyframes float-in{
    0%{opacity:0; transform:translateY(-14px);}
    100%{opacity:1; transform:translateY(0);}
  }
  .call-float-close{
    position:absolute;
    top:-6px;
    left:-6px;
    z-index:6;
    width:18px;height:18px;
    border-radius:50%;
    background:var(--white);
    color:var(--ink);
    border:1px solid var(--line);
    font-size:9px;
    line-height:1;
    cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 2px 6px rgba(0,0,0,0.25);
  }
  .brush-bg-small{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    filter:drop-shadow(2px 5px 4px rgba(0,0,0,0.4));
  }
  .call-content{
    position:relative;
    z-index:2;
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 16px 0 8px;
  }
  .call-float .call-icon{
    width:26px;height:26px;
    flex-shrink:0;
    border-radius:50%;
    background:var(--yellow);
    display:flex;align-items:center;justify-content:center;
    border:1px solid var(--yellow-light);
  }
  .call-float .call-icon svg path{
    stroke:#14181A !important;
    fill:#14181A !important;
    fill-opacity:1 !important;
  }
  .call-float .call-icon svg{width:13px;height:13px;}
  .call-float .call-number{
    font-family:'Rubik', sans-serif;
    font-weight:800;
    font-size:13px;
    color:var(--yellow);
    text-decoration:none;
    letter-spacing:0.01em;
  }
  .call-float.hidden{display:none;}

  @media (max-width: 640px){
    .call-float{top:16px; left:16px; width:172px; height:50px;}
    .call-float .call-number{font-size:12px;}
  }

  /* ============ FINAL CONTACT SECTION (leads form + hours) ============ */
  .contact-section{
    background:var(--cream-deep);
  }
  .contact-grid{
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:26px;
    align-items:stretch;
  }
  .contact-form{
    background:var(--white);
    border-radius:24px;
    padding:32px 28px;
    box-shadow:
      0 2px 0 rgba(255,255,255,0.7) inset,
      0 12px 0 var(--cream-deep),
      0 26px 50px rgba(20,24,26,0.16);
  }
  .contact-form .btn-3d{margin-top:6px;}

  .hours-card{
    background:var(--ink);
    color:var(--white);
    border-radius:24px;
    padding:32px 28px;
    display:flex;
    flex-direction:column;
    box-shadow:0 12px 0 #000, 0 26px 50px rgba(20,24,26,0.25);
  }
  .hours-icon{
    width:52px;height:52px;
    border-radius:50%;
    background:var(--yellow);
    display:flex;align-items:center;justify-content:center;
    margin-bottom:18px;
  }
  .hours-icon svg{width:26px;height:26px;}
  .hours-card h3{
    font-size:19px;
    color:var(--white);
    margin-bottom:16px;
  }
  .hours-list{
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-bottom:22px;
  }
  .hours-list li{
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:14.5px;
    font-weight:500;
    padding-bottom:10px;
    border-bottom:1px solid rgba(255,255,255,0.14);
  }
  .hours-list li span:first-child{color:var(--yellow-pale); font-weight:700;}
  .hours-phone{
    margin-top:auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-family:'Rubik', sans-serif;
    font-weight:800;
    font-size:16px;
    color:var(--ink);
    background:var(--yellow);
    padding:13px 18px;
    border-radius:12px;
    text-decoration:none;
    box-shadow:0 5px 0 var(--yellow-dark);
  }

  @media (max-width:860px){
    .contact-grid{grid-template-columns:1fr;}
  }

  /* ============ STICKY WHATSAPP + CALL BUTTONS ============ */
  .sticky-actions{
    position:fixed;
    bottom:22px;
    left:22px;
    z-index:100;
    display:flex;
    flex-direction:column;
    gap:14px;
    animation:float-in 0.6s cubic-bezier(.2,1.2,.4,1) 0.5s both;
  }
  .sticky-btn{
    width:56px;height:56px;
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    text-decoration:none;
    cursor:pointer;
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .sticky-btn:hover{transform:scale(1.08);}
  .sticky-btn:active{transform:scale(0.97);}
  .sticky-btn svg{width:28px;height:28px;}
  .whatsapp-btn{
    background:#25D366;
    border:2px solid #1DA851;
    box-shadow:0 8px 20px rgba(37,211,102,0.45);
  }
  .call-sticky-btn{
    background:var(--ink);
    color:var(--yellow);
    border:2px solid var(--yellow);
    box-shadow:0 8px 20px rgba(20,24,26,0.35);
  }

  @media (max-width: 640px){
    .sticky-actions{bottom:16px; left:16px; gap:12px;}
    .sticky-btn{width:50px;height:50px;}
    .sticky-btn svg{width:25px;height:25px;}
  }

  /* ============ ACCESSIBILITY WIDGET ============ */
  .access-toggle{
    position:fixed;
    bottom:22px;
    right:22px;
    z-index:100;
    width:54px;height:54px;
    border-radius:50%;
    background:var(--ink);
    color:var(--yellow);
    border:2px solid var(--yellow);
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(20,24,26,0.35);
    transition:transform .15s ease;
  }
  .access-toggle:hover{transform:scale(1.07);}
  .access-toggle svg{width:28px;height:28px;}

  .access-panel{
    position:fixed;
    bottom:84px;
    right:22px;
    z-index:100;
    background:var(--white);
    border-radius:16px;
    padding:16px;
    display:none;
    flex-direction:column;
    gap:8px;
    width:200px;
    box-shadow:0 16px 40px rgba(20,24,26,0.3);
    border:1px solid var(--line);
  }
  .access-panel.open{display:flex;}
  .access-panel h4{
    font-family:'Rubik', sans-serif;
    font-size:14px;
    margin-bottom:4px;
  }
  .access-panel button{
    font-family:'Assistant', sans-serif;
    font-weight:600;
    font-size:14px;
    text-align:right;
    padding:9px 12px;
    border-radius:9px;
    border:1px solid var(--line);
    background:var(--cream);
    color:var(--ink);
    cursor:pointer;
  }
  .access-panel button:hover{background:var(--yellow-pale);}

  body.high-contrast{
    background:#000 !important;
    color:#fff !important;
  }
  body.high-contrast .why-card,
  body.high-contrast .form-card,
  body.high-contrast .access-panel,
  body.high-contrast footer,
  body.high-contrast .contact-form,
  body.high-contrast .hours-card,
  body.high-contrast .review-card,
  body.high-contrast .footer-logo{
    background:#000 !important;
    color:#fff !important;
    border-color:#fff !important;
  }
  body.high-contrast *{
    color:#fff !important;
    text-shadow:none !important;
  }
  body.high-contrast a, body.high-contrast .btn-3d, body.high-contrast .call-number{
    color:#000 !important;
    background:#FFD400 !important;
  }

  /* ============ FOOTER ============ */
  footer{
    background:var(--ink);
    padding:34px 0 26px;
    text-align:center;
  }
  .footer-logo{
    width:52px;height:52px;
    border-radius:50%;
    background:var(--white);
    margin:0 auto 12px;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 3px 0 var(--yellow-dark);
  }
  .footer-logo img{width:42px;height:42px;object-fit:contain;border-radius:50%;}
  footer p{
    color:rgba(253,246,234,0.6);
    font-size:13px;
    font-weight:500;
  }
  footer .footer-links{
    margin-top:10px;
  }
  footer .footer-links a{
    color:var(--yellow-pale);
    font-size:12.5px;
    font-weight:600;
    text-decoration:underline;
  }

  /* ============ RESPONSIVE ============ */
  @media (max-width: 860px){
    .steps{grid-template-columns:1fr 1fr;}
    .steps::before{display:none;}
    .why-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width: 560px){
    .logo-wrap{width:168px;height:168px;}
    .logo-wrap img{width:162px;height:162px;}
    .row-2{grid-template-columns:1fr;}
    .steps{grid-template-columns:1fr;}
    .why-grid{grid-template-columns:1fr;}
    .form-card{padding:28px 20px 24px; border-radius:22px;}
    section{padding:44px 0;}
    .hero-bg{object-position:78% top;}
    .hero-veil{
      background:
        linear-gradient(180deg, rgba(20,24,26,0.30) 0%, rgba(20,24,26,0.08) 22%, rgba(253,246,234,0.5) 52%, var(--cream) 80%);
    }
  }

  :focus-visible{outline:3px solid var(--yellow-dark); outline-offset:2px;}

  @media (prefers-reduced-motion: reduce){
    *{animation:none !important; transition:none !important;}
  }

/* ============ תוספות: שירותים, שלבים, שאלות נפוצות, עמודי ערים ============ */
.services{background:var(--cream);}

.how{background:var(--white);}
.steps-list{
  list-style:none;
  counter-reset:step;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  max-width:980px;
  margin:0 auto;
}
.steps-list li{
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:20px;
  padding:30px 22px 26px;
  text-align:center;
}
.steps-list li::before{
  counter-increment:step;
  content:counter(step);
  display:flex;align-items:center;justify-content:center;
  width:46px;height:46px;
  margin:0 auto 14px;
  border-radius:50%;
  background:var(--yellow);
  color:var(--ink);
  font-family:'Rubik', sans-serif;
  font-weight:800;
  font-size:20px;
  box-shadow:0 4px 0 var(--yellow-dark);
}
.steps-list h3{font-size:17px;margin-bottom:6px;}
.steps-list p{font-size:14.5px;color:var(--ink-soft);font-weight:500;}
@media (max-width:760px){
  .steps-list{grid-template-columns:1fr;gap:14px;}
}

.areas{background:var(--cream);}
.areas-list li a{color:inherit;text-decoration:none;}
.areas-list li a:hover,.areas-list li a:focus-visible{color:var(--yellow-deep);text-decoration:underline;}

.faq{background:var(--white);}
.faq-list{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.faq-item{background:var(--cream);border:1px solid var(--line);border-radius:16px;}
.faq-item summary{
  cursor:pointer;
  list-style:none;
  padding:18px 22px;
  font-family:'Rubik', sans-serif;
  font-weight:700;
  font-size:16.5px;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"+";
  font-size:26px;line-height:1;
  color:var(--yellow-deep);
  flex-shrink:0;
  transition:transform .2s ease;
}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item summary:focus-visible{outline:3px solid var(--yellow-dark);outline-offset:2px;border-radius:16px;}
.faq-item p{padding:0 22px 20px;color:var(--ink-soft);font-weight:500;font-size:15.5px;line-height:1.7;}

.local{background:var(--white);}
.breadcrumb{font-size:14px;color:var(--ink-soft);text-align:center;margin-bottom:18px;}
.breadcrumb a{color:var(--yellow-deep);font-weight:700;text-decoration:none;}
.breadcrumb a:hover{text-decoration:underline;}
.local-text{max-width:720px;margin:0 auto;font-size:17px;line-height:1.8;color:var(--ink-soft);font-weight:500;}
.local-text p + p{margin-top:14px;}
.local-hoods{
  background:var(--cream);
  border-right:4px solid var(--yellow);
  border-radius:10px;
  padding:12px 16px;
  color:var(--ink);
}

footer .footer-cities{
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:6px 16px;
  max-width:820px;
  margin:4px auto 16px;
  padding:0 20px;
}
footer .footer-cities a{color:rgba(253,246,234,0.78);font-size:13.5px;font-weight:500;text-decoration:none;}
footer .footer-cities a:hover{color:var(--yellow-pale);text-decoration:underline;}

img.work-photo{display:block;}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important;transition:none !important;}
  html{scroll-behavior:auto;}
}

/* בטלפון: לוגו קטן יותר כדי שהכפתורים והטופס יעלו למעלה */
@media (max-width:560px){
  .logo-wrap{width:128px;height:128px;margin-bottom:20px;}
  .logo-wrap img{width:123px;height:123px;}
}

/* ============ טפסים: שגיאות, הסכמה, שדה נגד רובוטים ============ */
.hp-field{position:absolute !important;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none;}
.field-error{
  margin-top:6px;
  font-size:13.5px;
  font-weight:600;
  color:#B42318;
}
.field input[aria-invalid="true"]{border-color:#B42318;box-shadow:0 0 0 3px rgba(180,35,24,0.12);}
.form-error{
  margin-top:12px;
  padding:12px 14px;
  border-radius:12px;
  background:#FEF3F2;
  border:1px solid #FECDCA;
  color:#7A271A;
  font-size:14.5px;
  font-weight:600;
  line-height:1.6;
  text-align:center;
}
.form-error a{color:#7A271A;text-decoration:underline;font-weight:800;}
.form-consent{
  margin-top:10px;
  font-size:12.5px;
  color:var(--ink-soft);
  text-align:center;
  line-height:1.5;
}
.form-consent a{color:inherit;text-decoration:underline;}
.btn-3d.is-sending{opacity:.7;cursor:progress;}

/* ============ דף מדריך ============ */
.topbar{
  background:var(--white);
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:40;
}
.topbar-inner{
  max-width:1100px;margin:0 auto;padding:10px 20px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.topbar-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:'Rubik',sans-serif;font-weight:800;font-size:18px;}
.topbar-brand img{width:44px;height:44px;border-radius:50%;}
.topbar-call{
  background:var(--yellow);color:var(--ink);text-decoration:none;
  font-family:'Rubik',sans-serif;font-weight:700;font-size:15px;
  padding:9px 16px;border-radius:12px;box-shadow:0 4px 0 var(--yellow-dark);white-space:nowrap;
}
.article{background:var(--white);padding:40px 0 60px;}
.article-wrap{max-width:760px;margin:0 auto;padding:0 20px;}
.article h1{font-size:clamp(28px,5vw,40px);line-height:1.2;margin:10px 0 16px;}
.article .lead{font-size:18.5px;color:var(--ink-soft);font-weight:500;line-height:1.8;margin-bottom:26px;}
.article h2{font-size:clamp(22px,3.6vw,28px);margin:38px 0 14px;}
.article p,.article li{font-size:17px;line-height:1.85;color:var(--ink-soft);font-weight:500;}
.article p{margin-bottom:14px;}
.article ul{padding-right:22px;margin-bottom:14px;}
.article li{margin-bottom:8px;}
.article li strong{color:var(--ink);}
.article-toc{
  background:var(--cream);border:1px solid var(--line);border-radius:16px;
  padding:18px 22px;margin:0 0 10px;
}
.article-toc p{font-family:'Rubik',sans-serif;font-weight:700;color:var(--ink);margin-bottom:8px;}
.article-toc ol{padding-right:20px;}
.article-toc li{margin-bottom:4px;font-size:16px;}
.article-toc a{color:var(--yellow-deep);font-weight:700;text-decoration:none;}
.article-toc a:hover{text-decoration:underline;}
.article-cta{
  margin:40px 0 0;padding:26px 24px;border-radius:20px;
  background:linear-gradient(120deg, var(--ink) 0%, #1f2427 100%);color:var(--white);text-align:center;
}
.article-cta h2{color:var(--white);margin:0 0 8px;}
.article-cta p{color:rgba(253,246,234,0.85);margin-bottom:18px;}
.article-cta .row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.article-cta a{
  display:inline-block;padding:12px 20px;border-radius:14px;text-decoration:none;
  font-family:'Rubik',sans-serif;font-weight:700;font-size:16px;
}
.article-cta .a-wa{background:#25D366;color:#fff;box-shadow:0 4px 0 #128C4B;}
.article-cta .a-call{background:var(--yellow);color:var(--ink);box-shadow:0 4px 0 var(--yellow-dark);}
.article-meta{font-size:14px;color:var(--ink-soft);}
.faq-more{text-align:center;margin-top:22px;font-weight:600;}
.faq-more a{color:var(--yellow-deep);font-weight:800;}

/* עמודי ערים: מה אנחנו פוגשים בעיר */
.local-text h3{margin:28px 0 12px;font-size:20px;font-weight:800;color:var(--ink);}
.local-seen{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:12px;}
.local-seen li{background:var(--cream);border-radius:10px;padding:12px 16px;}
.local-seen strong{display:block;color:var(--ink);margin-bottom:2px;}
.article > .article-wrap > ol{padding-right:22px;margin-bottom:14px;}
.article-related{margin-top:34px;padding:18px 20px;background:var(--cream);border-radius:12px;}
.article-related p{font-family:'Rubik',sans-serif;font-weight:700;color:var(--ink);margin-bottom:6px;}
.article-related ul{margin:0;}
.article-related a{color:var(--yellow-deep);font-weight:700;text-decoration:none;}
.article-related a:hover{text-decoration:underline;}
.article .faq-item{margin-bottom:10px;}
.local-text a{color:var(--yellow-deep);font-weight:700;}
