:root{
    --bg:#FFFFFF;--bg-soft:#EFF3F7;--ink:#0A2540;--accent:#EDAF1C;--accent-dark:#C98E12;
    --muted:#54606C;--line:#DCE1E7;--surface:#FFFFFF;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:var(--bg);color:var(--ink);font-family:'Manrope',sans-serif;font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
  h1,h2,h3{font-family:'Barlow Condensed',sans-serif;font-weight:700;line-height:1.05;margin:0 0 .4em 0;}
  h1{font-size:clamp(2.4rem,6vw,4.4rem);}
  h2{font-size:clamp(1.8rem,3.4vw,2.6rem);}
  h3{font-size:1.25rem;font-weight:600;}
  p{margin:0 0 1em 0;color:var(--muted);}
  a{color:inherit;}
  .wrap{max-width:1100px;margin:0 auto;padding:0 24px;}
  section{padding:76px 0;}
  .section-line{border-top:1px solid var(--line);}
  .soft{background:var(--bg-soft);}
  @media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important;}}

  .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{opacity:1;transform:translateY(0);}
  .reveal-scale{opacity:0;transform:scale(.92);transition:opacity .6s ease, transform .6s cubic-bezier(.2,.8,.2,1);}
  .reveal-scale.in{opacity:1;transform:scale(1);}

  header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-bottom:1px solid transparent;transition:border-color .3s ease, box-shadow .3s ease;}
  header.scrolled{border-color:var(--line);box-shadow:0 2px 14px rgba(12,17,22,.06);}
  .headbar{max-width:1100px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
  .brand{display:flex;align-items:center;gap:10px;}
  .brand-name{font-family:'Barlow Condensed';font-weight:700;font-size:1.35rem;white-space:nowrap;}
  .nav{display:flex;gap:20px;font-size:.94rem;}
  .nav a{text-decoration:none;color:var(--muted);position:relative;padding-bottom:2px;}
  .nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--accent);transition:right .25s ease;}
  .nav a:hover{color:var(--ink);}
  .nav a:hover::after{right:0;}
  @media (max-width:820px){ .nav{display:none;} }

  .icon{width:18px;height:18px;flex:none;}
  .contact-icons{display:flex;gap:8px;}
  .icon-link{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);text-decoration:none;transition:transform .2s ease, border-color .2s ease, background .2s ease;}
  .icon-link:hover{transform:translateY(-3px);border-color:var(--accent);background:var(--bg-soft);}
  @media (max-width:560px){ .headbar .contact-icons{display:none;} }

  .call-btn{background:var(--ink);color:#fff;text-decoration:none;padding:10px 18px;font-weight:700;font-size:1rem;border-radius:999px;white-space:nowrap;transition:transform .2s ease, background .2s ease;display:inline-block;}
  .call-btn:hover{background:var(--accent-dark);transform:translateY(-2px);}

  .btn-primary,.btn-secondary{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;padding:15px 26px;border-radius:999px;font-size:1.02rem;transition:transform .2s cubic-bezier(.2,.8,.2,1), box-shadow .2s ease, background .2s ease;}
  .btn-primary svg,.btn-secondary svg{width:18px;height:18px;}
  .btn-primary{background:var(--accent);color:#fff;box-shadow:0 6px 18px rgba(46,156,224,.32);}
  .btn-primary:hover{background:var(--accent-dark);transform:translateY(-3px);box-shadow:0 10px 24px rgba(46,156,224,.4);}
  .btn-secondary{border:1.5px solid var(--ink);color:var(--ink);background:#fff;}
  .btn-secondary:hover{background:var(--ink);color:#fff;transform:translateY(-3px);}
  .cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px;}

  .hero{padding:68px 0 40px;position:relative;}
  .hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;}
  @media (max-width:820px){ .hero-grid{grid-template-columns:1fr;} }
  .hero p.lead{font-size:1.15rem;max-width:48ch;}
  .hero h1 span{color:var(--accent);}
  .trust-strip{display:flex;gap:28px;flex-wrap:wrap;margin-top:36px;padding-top:24px;border-top:1px solid var(--line);}
  .trust-strip div{font-size:.92rem;color:var(--muted);}
  .trust-strip b{display:block;color:var(--ink);font-family:'Barlow Condensed';font-size:1.6rem;font-weight:700;}

  .hero-badge{background:var(--ink);color:#fff;border-radius:16px;padding:0;position:relative;overflow:hidden;}
  .hero-badge svg.mark{display:block;margin:0 auto 18px;width:120px;height:120px;animation:float 4.5s ease-in-out infinite;}
  .hero-badge p{color:#C7D6E2;text-align:center;margin:0;font-size:.95rem;}
  @keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}

  .scroll-cue{display:flex;justify-content:center;margin-top:44px;}
  .scroll-cue svg{width:22px;height:22px;color:var(--muted);animation:bounce 2s infinite;}
  @keyframes bounce{0%,100%{transform:translateY(0);}50%{transform:translateY(8px);}}

  .usp-band{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;}
  @media (max-width:760px){ .usp-band{grid-template-columns:repeat(2,1fr);} }
  .usp-item{background:#fff;padding:26px 22px;display:flex;flex-direction:column;gap:8px;}
  .usp-item svg{width:26px;height:26px;color:var(--accent);}
  .usp-item b{font-family:'Barlow Condensed';font-size:1.05rem;font-weight:600;}
  .usp-item span{font-size:.86rem;color:var(--muted);}

  .service-sub{margin-top:56px;}
  .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:28px;border-radius:12px;overflow:hidden;}
  @media (max-width:820px){ .services-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .services-grid{grid-template-columns:1fr;} }
  .service-cell{background:var(--surface);padding:28px 24px;transition:background .25s ease, transform .25s ease;}
  .service-cell:hover{background:var(--bg-soft);transform:translateY(-4px);}
  .service-cell svg{width:24px;height:24px;color:var(--accent);margin-bottom:10px;}
  .service-cell h3{margin-bottom:8px;}
  .service-cell p{margin:0;font-size:.94rem;}

  .trust-block{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center;}
  @media (max-width:820px){ .trust-block{grid-template-columns:1fr;} }
  .trust-photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;display:block;}
  .trust-points{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:16px;}
  .trust-points li{display:flex;gap:14px;align-items:flex-start;}
  .trust-points svg{width:22px;height:22px;color:var(--accent);flex:none;margin-top:2px;}
  .trust-points b{display:block;color:var(--ink);}

  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:36px;}
  @media (max-width:760px){ .steps{grid-template-columns:1fr;} }
  .step-num{font-family:'Barlow Condensed';font-size:2.6rem;font-weight:700;color:var(--accent);line-height:1;}
  .step h3{margin-top:10px;}

  .gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px;}
  @media (max-width:760px){ .gallery{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:480px){ .gallery{grid-template-columns:1fr;} }
  .g-item{position:relative;aspect-ratio:4/3;border-radius:12px;overflow:hidden;cursor:pointer;background:var(--bg-soft);
    transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease;}
  .g-item:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 14px 30px rgba(12,17,22,.15);}
  .g-item img, .g-item video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
  .g-item:hover img, .g-item:hover video{transform:scale(1.06);}
  .g-cap{position:absolute;left:0;right:0;bottom:0;padding:10px 12px;background:linear-gradient(to top, rgba(12,17,22,.75), transparent);
    color:#fff;font-size:.85rem;font-weight:600;}
  .g-play{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;background:rgba(12,17,22,.55);
    display:flex;align-items:center;justify-content:center;}
  .g-play svg{width:16px;height:16px;color:#fff;}

  .price-table{width:100%;border-collapse:collapse;margin-top:32px;font-size:.98rem;}
  .price-table th{text-align:left;font-family:'Barlow Condensed';font-weight:600;font-size:1rem;padding:12px 16px;border-bottom:2px solid var(--ink);}
  .price-table td{padding:14px 16px;border-bottom:1px solid var(--line);transition:background .2s ease;}
  .price-table tr:hover td{background:var(--bg-soft);}
  .price-table tr td:last-child, .price-table tr th:last-child{text-align:right;font-weight:700;white-space:nowrap;}
  .price-note{margin-top:16px;font-size:.88rem;}

  .areas-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;}
  .area-pill{border:1px solid var(--line);padding:9px 16px;border-radius:999px;font-size:.9rem;background:var(--surface);transition:transform .2s ease, border-color .2s ease, background .2s ease;}
  .area-pill:hover{transform:translateY(-3px);border-color:var(--accent);background:var(--bg-soft);}

  .faq-item{border-bottom:1px solid var(--line);padding:20px 0;cursor:pointer;}
  .faq-q{display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:'Barlow Condensed';font-weight:600;font-size:1.1rem;}
  .faq-q svg{width:20px;height:20px;color:var(--accent);flex:none;transition:transform .3s ease;}
  .faq-item.open .faq-q svg{transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
  .faq-item.open .faq-a{max-height:300px;}
  .faq-a p{padding-top:12px;margin:0;}

  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:32px;}
  @media (max-width:760px){ .contact-grid{grid-template-columns:1fr;} }
  .contact-item{margin-bottom:20px;}
  .contact-item .label{font-size:.82rem;color:var(--muted);margin-bottom:4px;}
  .contact-item .value{font-family:'Barlow Condensed';font-size:1.5rem;font-weight:700;}
  .contact-item .value a{transition:color .2s ease;}
  .contact-item .value a:hover{color:var(--accent);}
  .map-box{border:1px solid var(--line);border-radius:16px;aspect-ratio:4/3;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--muted);background:var(--bg-soft);text-align:center;padding:0;font-size:.9rem;}
  footer{border-top:1px solid var(--line);padding:32px 0;background:var(--ink);color:#C7D6E2;}
  .foot-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.85rem;}
  footer a{color:#fff;}

  .float-stack{position:fixed;bottom:18px;right:18px;z-index:60;display:flex;flex-direction:column;gap:10px;}
  .float-btn{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 6px 16px rgba(12,17,22,.25);transition:transform .2s cubic-bezier(.3,.9,.3,1);}
  .float-btn:hover{transform:translateY(-4px) scale(1.06);}
  .float-btn svg{width:24px;height:24px;}
  .float-btn.wa{background:var(--ink);}
  .float-btn.max{background:var(--ink);}
  .float-btn.msg{background:var(--ink);}
  .float-btn.call{background:var(--accent);}

  /* lightbox */
  .lightbox{position:fixed;inset:0;background:rgba(12,17,22,.92);z-index:100;display:none;align-items:center;justify-content:center;padding:24px;}
  .lightbox.open{display:flex;}
  .lightbox-content{max-width:900px;max-height:85vh;width:100%;}
  .lightbox-content img, .lightbox-content video{width:100%;max-height:85vh;object-fit:contain;border-radius:8px;display:block;}
  .lightbox-close{position:absolute;top:20px;right:24px;width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,.12);color:#fff;font-size:1.6rem;cursor:pointer;line-height:1;}