  :root{
    --ink:#F2F5F7;
    --paper:#0A0D11;
    --paper-2:#12161C;
    --line:#222931;
    --muted:#A7AFBB;
    --rust:#FF5A1F;
    --rust-soft:#FF5A1F22;
    --rust-glow:#FF5A1F66;
    --teal:#00C2B2;
    --teal-soft:#00C2B222;
    --teal-glow:#00C2B266;
    --accent: var(--rust);
    --accent-soft: var(--rust-soft);
    --accent-glow: var(--rust-glow);
    --on-accent: var(--paper);
    --grid-line: rgba(255,255,255,.04);
    --radius:2px;
    --transition: 480ms cubic-bezier(.65,0,.35,1);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;font-size:17px;}
  body{
    margin:0;
    background-color:var(--paper);
    color:var(--ink);
    font-family:'Inter',sans-serif;
    transition: background-color var(--transition), color var(--transition);
    overflow-x:hidden;
  }
  body.mode-renovation{ --accent: var(--teal); --accent-soft: var(--teal-soft); --accent-glow: var(--teal-glow); }

  h1,h2,h3,.display{
    font-family:'Sora',sans-serif;
    font-weight:700;
    letter-spacing:-0.025em;
    line-height:1.02;
    margin:0;
  }
  .mono{
    font-family:'JetBrains Mono',monospace;
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:.72rem;
  }
  a{color:inherit;}
  .wrap{max-width:1260px;margin:0 auto;padding:0 32px;}
  @media (max-width:640px){.wrap{padding:0 20px;}}

  /* ===== Header ===== */
  header{
    position:sticky;top:0;z-index:50;
    background:var(--paper);
    border-bottom:1px solid var(--line);
    box-shadow:0 1px 0 0 var(--accent-soft);
    transition: background var(--transition), box-shadow var(--transition);
  }
  .header-inner{
    display:flex;align-items:center;justify-content:space-between;
    padding:12px 0;
  }
  .logo{display:flex;align-items:center;}
  .logo-img{height:110px;width:auto;display:block;}

  .header-right{display:flex;align-items:center;gap:24px;}

  .tabswitch{
    position:relative;display:flex;border:1.5px solid var(--line);border-radius:999px;overflow:hidden;
    background:var(--paper-2);padding:5px;
  }
  .tabswitch .thumb{
    position:absolute;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);
    background:var(--accent);border-radius:999px;
    transition:transform .45s cubic-bezier(.65,0,.35,1), background var(--transition);
    box-shadow:0 6px 18px -4px var(--accent-glow);
    z-index:0;
  }
  body.mode-renovation .tabswitch .thumb{ transform:translateX(100%); }
  .tabswitch button{
    position:relative;z-index:1;
    font-family:'Sora',sans-serif;
    font-size:1.15rem;font-weight:700;letter-spacing:-0.01em;
    padding:16px 42px;border:none;background:transparent;color:var(--muted);
    cursor:pointer;transition:color .3s ease;
  }
  .tabswitch button.active{ color:var(--on-accent); }

  .callbtn{
    font-family:'JetBrains Mono',monospace;font-size:.74rem;letter-spacing:.08em;
    background:var(--ink);color:var(--paper);padding:10px 18px;border-radius:999px;
    text-decoration:none;white-space:nowrap;
  }

  .nav-mobile-only{display:none;}
  @media (max-width:760px){
    .header-right{flex-wrap:wrap; width:100%; justify-content:space-between; margin-top:14px;}
    .tabswitch{order:2; width:100%;}
    .tabswitch button{font-size:1rem;padding:13px 0;flex:1;}
    .header-inner{flex-wrap:wrap;}
    .callbtn{font-size:.68rem;padding:9px 14px;}
  }

  /* ===== Hero ===== */
  .hero{padding:88px 0 70px;position:relative;}
  .hero .mono{color:var(--accent);transition:color var(--transition);}
  .hero h1{font-size:clamp(2.8rem,7vw,5.6rem);margin-top:14px;max-width:14ch;letter-spacing:-0.03em;}
  .hero p.lede{font-size:1.28rem;color:var(--muted);max-width:48ch;margin-top:24px;line-height:1.55;}
  .hero-actions{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap;}
  .btn{
    font-family:'JetBrains Mono',monospace;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;
    padding:14px 26px;border-radius:999px;text-decoration:none;display:inline-block;
    transition: background var(--transition), color var(--transition), transform .2s;
  }
  .btn:hover{transform:translateY(-1px);}
  .btn-primary{background:var(--accent);color:var(--on-accent);}
  .btn-primary:hover{box-shadow:0 0 0 1px var(--accent), 0 12px 32px -8px var(--accent-glow);}
  .btn-ghost{border:1px solid var(--ink);color:var(--ink);}

  .hero-strip{
    margin-top:56px;border-top:1px solid var(--line);padding-top:22px;
    display:flex;gap:38px;flex-wrap:wrap;
  }
  .hero-strip div{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--muted);letter-spacing:.04em;}
  .hero-strip strong{display:block;font-family:'Sora',sans-serif;font-size:1.6rem;color:var(--ink);font-weight:700;}

  /* ===== Services ===== */
  section{padding:84px 0;}
  .section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:38px;flex-wrap:wrap;}
  .section-head .mono{color:var(--accent);}
  .section-head h2{font-size:clamp(1.9rem,3.2vw,2.7rem);margin-top:10px;max-width:18ch;}
  .section-head p{color:var(--muted);max-width:38ch;font-size:1.05rem;}

  .services-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
    background:var(--line);border:1px solid var(--line);
  }
  @media (max-width:880px){.services-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.services-grid{grid-template-columns:1fr;}}
  .service-card{
    background:var(--paper);padding:32px 28px;
    transition: background var(--transition);
  }
  .service-card .num{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--accent);display:flex;align-items:center;gap:8px;}
  .service-card .num::after{content:'';height:1px;flex:1;background:linear-gradient(90deg, var(--accent), transparent);}
  .service-card h3{font-size:1.18rem;margin-top:16px;font-weight:700;}
  .service-card p{font-size:.94rem;color:var(--muted);margin-top:10px;line-height:1.55;}

  /* ===== Process ===== */
  .process{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
  @media (max-width:880px){.process{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.process{grid-template-columns:1fr;}}
  .step .mono{color:var(--accent);}
  .step h3{font-size:1.05rem;margin-top:10px;font-weight:700;}
  .step p{font-size:.86rem;color:var(--muted);margin-top:8px;line-height:1.5;}

  /* ===== Areas ===== */
  .areas-band{
    background:var(--paper-2);color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  }
  .areas-band .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;padding:30px 32px;}
  .areas-band .mono{color:var(--accent);}
  .areas-list{font-size:.92rem;color:#C9C5BA;max-width:60ch;line-height:1.6;}

  /* ===== Contact ===== */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
  @media (max-width:880px){.contact-grid{grid-template-columns:1fr;}}
  .contact-info h2{font-size:clamp(1.8rem,3.2vw,2.4rem);max-width:14ch;}
  .contact-info p{color:var(--muted);margin-top:16px;max-width:38ch;line-height:1.6;}
  .contact-detail{margin-top:30px;border-top:1px solid var(--line);padding-top:20px;}
  .contact-detail div{margin-bottom:14px;font-size:.95rem;}
  .contact-detail .mono{color:var(--accent);display:block;margin-bottom:4px;}

  form{display:flex;flex-direction:column;gap:16px;}
  .field{display:flex;flex-direction:column;gap:6px;}
  .field label{font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
  .field input,.field select,.field textarea{
    font-family:'Inter',sans-serif;font-size:.96rem;
    background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);
    padding:12px 14px;color:var(--ink);
    transition:border-color .2s;
  }
  .field input:focus,.field select:focus,.field textarea:focus{
    outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent);
  }
  .field textarea{resize:vertical;min-height:96px;}
  .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  @media (max-width:480px){.row2{grid-template-columns:1fr;}}

  .checkbox-row{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--accent-soft);border-radius:var(--radius);}
  .checkbox-row input{width:16px;height:16px;accent-color:var(--accent);}
  .checkbox-row label{font-size:.88rem;font-family:'Inter',sans-serif;text-transform:none;letter-spacing:0;color:var(--ink);}

  .checkbox-grid{display:flex;flex-wrap:wrap;gap:10px;}
  .checkbox-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;background:var(--paper-2);border:1px solid var(--line);border-radius:999px;font-size:.85rem;color:var(--ink);cursor:pointer;}
  .checkbox-chip input{width:15px;height:15px;accent-color:var(--accent);}

  .room-row{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2);margin-bottom:10px;}
  .room-row .field{flex:1 1 140px;margin:0;}
  .room-row .remove-room{flex:0 0 auto;border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);padding:10px 12px;cursor:pointer;color:var(--ink);align-self:center;}

  .submit-btn{
    font-family:'JetBrains Mono',monospace;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;
    background:var(--accent);color:var(--on-accent);border:none;border-radius:999px;
    padding:15px 28px;cursor:pointer;margin-top:4px;transition:background var(--transition),transform .2s;
  }
  .submit-btn:hover{transform:translateY(-1px);box-shadow:0 12px 32px -8px var(--accent-glow);}
  .form-note{font-size:.78rem;color:var(--muted);margin-top:-2px;}
  .form-status{font-size:.85rem;margin-top:6px;display:none;}
  .form-status.show{display:block;}
  .form-status.ok{color:var(--teal);}
  .form-status.err{color:var(--rust);}

  /* ===== Footer ===== */
  footer{border-top:1px solid var(--line);padding:40px 0;}
  .footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
  .footer-inner .mono{color:var(--muted);}

  /* ===== Secondary nav ===== */
  .subnav{border-bottom:1px solid var(--line);background:var(--paper-2);}
  .subnav .wrap{display:flex;gap:40px;overflow-x:auto;padding:18px 32px;}
  .subnav a{font-family:'JetBrains Mono',monospace;font-size:.92rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;text-decoration:none;font-weight:500;transition:color .2s ease;}
  .subnav a:hover{color:var(--accent);}

  /* ===== Before / After slider ===== */
  .ba-row{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;}
  @media (max-width:880px){.ba-row{grid-template-columns:1fr;}}
  .ba-slider{position:relative;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);user-select:none;}
  .ba-img{position:absolute;inset:0;display:flex;align-items:flex-end;padding:18px;font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;}
  .ba-after{background:repeating-linear-gradient(135deg,#3a4540,#3a4540 14px,#2e3733 14px,#2e3733 28px);}
  .ba-before{background:repeating-linear-gradient(135deg,#8a6650,#8a6650 14px,#79573f 14px,#79573f 28px);overflow:hidden;}
  body.mode-renovation .ba-after{background:repeating-linear-gradient(135deg,#3a4f52,#3a4f52 14px,#2e4042 14px,#2e4042 28px);}
  body.mode-renovation .ba-before{background:repeating-linear-gradient(135deg,#a99a7c,#a99a7c 14px,#94886e 14px,#94886e 28px);}
  .ba-handle{position:absolute;top:0;bottom:0;width:2px;background:#fff;pointer-events:none;box-shadow:0 0 0 1px rgba(0,0,0,.2);}
  .ba-handle::after{content:'⇔';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px;background:#fff;color:var(--paper);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;box-shadow:0 2px 8px rgba(0,0,0,.4);}
  .ba-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;}
  .ba-caption{margin-top:14px;font-size:.85rem;color:var(--muted);}
  .ba-caption strong{color:var(--ink);}
  .ba-note{font-size:.82rem;color:var(--muted);margin-top:18px;padding:14px 16px;background:var(--accent-soft);border-radius:var(--radius);line-height:1.5;}

  .gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:34px;}
  @media (max-width:880px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}
  .gallery-thumb{aspect-ratio:1;border-radius:var(--radius);overflow:hidden;cursor:pointer;border:none;padding:0;position:relative;transition:opacity .2s;background:var(--paper-2);}
  .gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
  .gallery-thumb:hover{opacity:.75;}
  .placeholder-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.4;color:var(--muted);pointer-events:none;}

  /* ===== Lightbox ===== */
  .lightbox{position:fixed;inset:0;background:rgba(5,7,9,.92);z-index:200;display:none;align-items:center;justify-content:center;padding:40px;}
  .lightbox.open{display:flex;}
  .lightbox-body{position:relative;max-width:760px;width:100%;}

  .form-modal-body{
    position:relative;max-width:760px;width:100%;max-height:88vh;overflow-y:auto;
    background:var(--paper);border-radius:var(--radius);padding:36px;text-align:left;
  }
  .lightbox-stage{aspect-ratio:4/3;border-radius:var(--radius);background:repeating-linear-gradient(45deg,#3a4540,#3a4540 14px,#2e3733 14px,#2e3733 28px);display:flex;align-items:center;justify-content:center;color:#fff;font-family:'JetBrains Mono',monospace;letter-spacing:.06em;text-transform:uppercase;text-align:center;padding:20px;}
  .lightbox-cap{color:#C7CDD3;font-size:.85rem;margin-top:14px;text-align:center;}
  .lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;background:none;border:none;color:#fff;font-size:1.6rem;cursor:pointer;line-height:1;}
  .lightbox-close{top:-44px;right:0;}
  .lightbox-prev{left:-50px;top:50%;transform:translateY(-50%);}
  .lightbox-next{right:-50px;top:50%;transform:translateY(-50%);}
  @media (max-width:680px){.lightbox-prev{left:0;}.lightbox-next{right:0;}.lightbox{padding:70px 16px;}}

  /* ===== Video ===== */
  .video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  @media (max-width:880px){.video-grid{grid-template-columns:1fr;}}
  .video-card{cursor:pointer;border:none;background:none;text-align:left;padding:0;}
  .video-thumb{aspect-ratio:16/9;border-radius:var(--radius);background:var(--paper-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
  .video-thumb::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--accent-soft),transparent);}
  .play-btn{width:54px;height:54px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--paper);font-size:1.1rem;position:relative;z-index:1;}
  .video-card h3{margin-top:14px;font-size:1rem;font-weight:700;}
  .video-card p{font-size:.85rem;color:var(--muted);margin-top:4px;}
  .video-modal{position:fixed;inset:0;background:rgba(5,7,9,.92);z-index:200;display:none;align-items:center;justify-content:center;padding:40px;}
  .video-modal.open{display:flex;}
  .video-modal-body{position:relative;max-width:880px;width:100%;aspect-ratio:16/9;background:#000;}
  .video-modal-body iframe{width:100%;height:100%;border:0;}
  .video-modal-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;font-size:1.6rem;cursor:pointer;}
  .video-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-family:'JetBrains Mono',monospace;font-size:.8rem;letter-spacing:.06em;text-align:center;padding:30px;}

  /* ===== Estimate calculator ===== */
  .calc-box{border:1px solid var(--line);border-radius:var(--radius);padding:32px;background:var(--paper-2);}
  .calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  @media (max-width:600px){.calc-grid{grid-template-columns:1fr;}}
  .calc-result{margin-top:26px;border-top:1px solid var(--line);padding-top:22px;}
  .calc-result .mono{color:var(--accent);}
  .calc-figure{font-family:'Sora',sans-serif;font-weight:700;font-size:clamp(1.8rem,3.4vw,2.6rem);margin-top:8px;}
  .calc-disclaimer{font-size:.78rem;color:var(--muted);margin-top:10px;max-width:54ch;line-height:1.5;}
  .calc-cta{margin-top:18px;}

  /* ===== Schedule ===== */
  .schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  @media (max-width:600px){.schedule-grid{grid-template-columns:1fr;}}
  .slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px;}
  @media (max-width:480px){.slot-grid{grid-template-columns:repeat(2,1fr);}}
  .slot-btn{font-family:'JetBrains Mono',monospace;font-size:.74rem;padding:10px 8px;border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);cursor:pointer;text-align:center;transition:background var(--transition),color var(--transition);}
  .slot-btn.selected{background:var(--accent);color:var(--on-accent);border-color:var(--accent);}

  /* ===== Blog ===== */
  .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  @media (max-width:880px){.blog-grid{grid-template-columns:1fr;}}
  .blog-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper);}
  .blog-thumb{aspect-ratio:16/10;background:repeating-linear-gradient(45deg,var(--paper-2),var(--paper-2) 10px,var(--line) 10px,var(--line) 20px);display:flex;align-items:center;justify-content:center;color:var(--muted);overflow:hidden;}
  .blog-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
  .blog-card-body{padding:20px;}
  .blog-card .mono{color:var(--accent);}
  .blog-card h3{font-size:1.02rem;margin-top:10px;font-weight:700;}
  .blog-card p{font-size:.86rem;color:var(--muted);margin-top:8px;line-height:1.5;}
  .blog-card a{font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);display:inline-block;margin-top:14px;text-decoration:none;}

  /* visibility for data-mode-only elements is handled explicitly near the end of this stylesheet */

  /* ============================================================
     MODERN / FANCY LAYER
     ============================================================ */

  /* Custom scrollbar */
  ::-webkit-scrollbar{width:10px;}
  ::-webkit-scrollbar-track{background:var(--paper);}
  ::-webkit-scrollbar-thumb{background:var(--accent);border-radius:6px;border:2px solid var(--paper);transition:background var(--transition);}

  /* Film grain texture, sits above everything, never blocks clicks */
  .grain{
    position:fixed;inset:0;z-index:300;pointer-events:none;
    opacity:.045;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }

  /* Scroll progress bar */
  .scroll-progress{
    position:fixed;top:0;left:0;height:3px;width:0%;
    background:var(--accent);z-index:301;transition:background var(--transition);
  }

  /* Glass header on scroll */
  header.glassy{
    background:color-mix(in srgb, var(--paper) 78%, transparent);
    backdrop-filter:blur(14px) saturate(140%);
    -webkit-backdrop-filter:blur(14px) saturate(140%);
  }

  /* Ambient hero blobs */
  .hero{overflow:hidden;}
  .hero-fx{position:absolute;inset:0;z-index:0;pointer-events:none;}
  .hero-blob{
    position:absolute;border-radius:50%;filter:blur(90px);
    background:var(--accent);opacity:.35;pointer-events:none;z-index:0;
    transition:background var(--transition);
  }
  .hero-blob.b1{width:520px;height:520px;top:-200px;right:-120px;animation:drift1 22s ease-in-out infinite;}
  .hero-blob.b2{width:360px;height:360px;bottom:-160px;left:4%;animation:drift2 26s ease-in-out infinite;}
  @keyframes drift1{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-40px,30px) scale(1.1);}}
  @keyframes drift2{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(30px,-24px) scale(1.15);}}
  .hero .wrap{position:relative;z-index:1;}

  /* Gradient accent text */
  .grad-text{
    background:linear-gradient(100deg, var(--accent), var(--ink) 120%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }

  /* Scroll-reveal */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);}
  .reveal.in-view{opacity:1;transform:translateY(0);}

  .services-grid.reveal .service-card,
  .gallery-grid.reveal .gallery-thumb,
  .video-grid.reveal .video-card,
  .blog-grid.reveal .blog-card,
  .process.reveal .step{
    opacity:0;transform:translateY(22px);
    transition:opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease, border-color .3s ease;
  }
  .services-grid.reveal.in-view .service-card,
  .gallery-grid.reveal.in-view .gallery-thumb,
  .video-grid.reveal.in-view .video-card,
  .blog-grid.reveal.in-view .blog-card,
  .process.reveal.in-view .step{
    opacity:1;transform:translateY(0);
  }
  .service-card:nth-child(1),.gallery-thumb:nth-child(1),.video-card:nth-child(1),.blog-card:nth-child(1),.step:nth-child(1){transition-delay:.02s;}
  .service-card:nth-child(2),.gallery-thumb:nth-child(2),.video-card:nth-child(2),.blog-card:nth-child(2),.step:nth-child(2){transition-delay:.08s;}
  .service-card:nth-child(3),.gallery-thumb:nth-child(3),.video-card:nth-child(3),.blog-card:nth-child(3),.step:nth-child(3){transition-delay:.14s;}
  .service-card:nth-child(4),.gallery-thumb:nth-child(4),.step:nth-child(4){transition-delay:.20s;}
  .service-card:nth-child(5),.gallery-thumb:nth-child(5){transition-delay:.26s;}
  .service-card:nth-child(6),.gallery-thumb:nth-child(6){transition-delay:.32s;}
  .service-card:nth-child(7),.gallery-thumb:nth-child(7){transition-delay:.38s;}
  .service-card:nth-child(8),.gallery-thumb:nth-child(8){transition-delay:.44s;}
  .service-card:nth-child(9){transition-delay:.50s;}

  /* Hover lift on interactive cards */
  .service-card,.blog-card{transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease, border-color .3s ease;}
  .service-card:hover,.blog-card:hover{transform:translateY(-6px);box-shadow:0 18px 34px -18px rgba(18,22,26,.3), 0 0 0 1px var(--accent-soft);}
  .gallery-thumb{transition:transform .3s cubic-bezier(.2,.7,.2,1), opacity .2s, box-shadow .3s ease;}
  .gallery-thumb:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 14px 26px -16px rgba(0,0,0,.5);opacity:1;}
  .video-card .video-thumb{transition:transform .35s cubic-bezier(.2,.7,.2,1);}
  .video-card:hover .video-thumb{transform:scale(1.03);}
  .video-card:hover .play-btn{transform:scale(1.1);}
  .play-btn{transition:transform .3s ease;}

  /* Button shine sweep */
  .btn,.submit-btn{position:relative;overflow:hidden;isolation:isolate;}
  .btn::before,.submit-btn::before{
    content:'';position:absolute;top:0;left:-130%;width:60%;height:100%;
    background:linear-gradient(115deg, transparent, rgba(255,255,255,.45), transparent);
    transform:skewX(-18deg);transition:left .55s ease;z-index:1;
  }
  .btn:hover::before,.submit-btn:hover::before{left:130%;}

  /* Angled divider for areas band */
  .areas-band{position:relative;clip-path:polygon(0 14px, 100% 0, 100% calc(100% - 14px), 0 100%);}

  /* Card elevation for calc + form */
  .calc-box{box-shadow:0 24px 48px -28px rgba(0,0,0,.5);}
  .calc-box,form{transition:box-shadow .3s ease;}

  @media (prefers-reduced-motion: reduce){
    .hero-blob{animation:none;}
    .reveal,.services-grid .service-card,.gallery-grid .gallery-thumb,.video-grid .video-card,.blog-grid .blog-card,.process .step{
      opacity:1!important;transform:none!important;transition:none!important;
    }
  }
  [data-mode-only="restoration"]{display:none;}
  [data-mode-only="renovation"]{display:none;}
  body.mode-restoration [data-mode-only="restoration"]{display:block;}
  body.mode-renovation [data-mode-only="renovation"]{display:block;}
  body.mode-restoration [data-mode-only="restoration"].inline{display:inline;}
  body.mode-renovation [data-mode-only="renovation"].inline{display:inline;}

  .fade-panel{transition:opacity .32s ease, transform .32s ease;}
  .fade-panel.swap{opacity:0;transform:translateY(6px);}
