:root{
    --ink:#182D58;
    --ink-soft:#40506A;
    --paper:#FCFAF3;
    --paper-dim:#F4F0E4;
    --concrete:#DDD5C6;
    --concrete-dark:#9C927F;
    --spray:#D91F26;
    --spray-dark:#A51018;
    --spray-light:#45C4EC;
    --water:#1596C5;
    --water-dark:#08759E;
    --foam:#E4F5FA;
    --sun:#C98532;
    --white:#FFFFFF;
    --radius:10px;
    --maxw:1180px;
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter',sans-serif;
    color:var(--ink);
    background:var(--paper);
    -webkit-font-smoothing:antialiased;
    line-height:1.55;
  }
  img,svg{display:block;}
  a{color:inherit;text-decoration:none;}
  button{font-family:inherit;cursor:pointer;border:none;}
  ul{list-style:none;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
  .eyebrow{
    font-family:'JetBrains Mono',monospace;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--water-dark);
    display:flex;align-items:center;gap:10px;
    margin-bottom:14px;
  }
  .eyebrow::before{content:"";width:18px;height:2px;background:var(--sun);display:inline-block;}
  h1,h2,h3{font-family:'Sora',sans-serif;font-weight:700;letter-spacing:-0.01em;color:var(--ink);}
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:14px 26px;border-radius:8px;font-weight:600;font-size:15px;
    font-family:'Sora',sans-serif;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  .btn-primary{background:var(--spray);color:var(--white);box-shadow:0 4px 0 var(--spray-dark);}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--spray-dark);}
  .btn-primary:active{transform:translateY(1px);box-shadow:0 2px 0 var(--spray-dark);}
  .btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink);}
  .btn-ghost:hover{background:var(--ink);color:var(--paper);}
  .btn-light{background:var(--white);color:var(--spray-dark);box-shadow:0 4px 0 rgba(0,0,0,0.12);}
  .btn-light:hover{transform:translateY(-2px);}

  /* HEADER */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(252,250,243,0.94);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--concrete);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0;}
  .brand{display:flex;flex-direction:column;line-height:1;}
  .brand .name{font-family:'Sora',sans-serif;font-weight:800;font-size:19px;letter-spacing:-0.02em;}
  .brand .tag{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.08em;color:var(--water-dark);text-transform:uppercase;margin-top:2px;}
  .nav-links{display:flex;gap:32px;font-size:14.5px;font-weight:500;}
  .nav-links a{position:relative;padding-bottom:4px;}
  .nav-links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--sun);transition:width .2s;}
  .nav-links a:hover::after{width:100%;}
  .nav-right{display:flex;align-items:center;gap:18px;}
  .nav-phone{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:16px;}
  .nav-phone span{color:var(--ink);}
  .nav-phone:hover span{color:var(--water-dark);}
  .menu-toggle{display:none;background:none;font-size:24px;}

  /* TICKER */
  .ticker{background:var(--ink);color:var(--paper-dim);overflow:hidden;padding:9px 0;}
  .ticker-track{display:flex;white-space:nowrap;animation:scroll 26s linear infinite;font-family:'JetBrains Mono',monospace;font-size:12.5px;letter-spacing:0.08em;}
  .ticker-track span{padding:0 22px;display:flex;align-items:center;gap:22px;}
  .ticker-track span::after{content:"•";color:var(--sun);}
  @keyframes scroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

  /* HERO */
  .hero{padding:70px 0 90px;}
  .hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:56px;align-items:center;}
  .hero-copy{position:relative;}
  .hero-logo{
    width:190px;height:auto;margin:0 0 24px;
    filter:drop-shadow(0 9px 14px rgba(24,45,88,0.16));
  }
  .hero h1{font-size:50px;line-height:1.07;margin-bottom:20px;}
  .hero h1 em{font-style:normal;color:var(--spray);position:relative;white-space:nowrap;}
  .hero p.lead{font-size:18px;color:var(--ink-soft);max-width:480px;margin-bottom:30px;}
  .hero-ctas{display:flex;gap:14px;margin-bottom:36px;flex-wrap:wrap;}
  .areas-row{display:flex;flex-wrap:wrap;gap:8px;}
  .pill{
    font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:500;
    padding:6px 12px;border-radius:20px;background:var(--foam);color:var(--water-dark);
    border:1px solid rgba(21,150,197,0.22);
  }

  /* BEFORE/AFTER SLIDER */
  .ba-card{background:var(--white);border-radius:14px;padding:14px;box-shadow:0 14px 40px rgba(22,36,47,0.12);}
  .ba-slider{
    position:relative;width:100%;aspect-ratio:4/3;border-radius:10px;overflow:hidden;
    cursor:ew-resize;user-select:none;
  }
  .ba-before, .ba-after{position:absolute;inset:0;}
  .ba-before{
    background:
      radial-gradient(circle at 20% 30%, rgba(90,72,50,0.55) 0, transparent 40%),
      radial-gradient(circle at 70% 60%, rgba(70,60,45,0.5) 0, transparent 45%),
      radial-gradient(circle at 45% 80%, rgba(80,68,48,0.45) 0, transparent 35%),
      repeating-linear-gradient(135deg, #9b9384 0 2px, #8c8472 2px 4px),
      linear-gradient(#a39b89, #8a8270);
  }
  .ba-after{
    background:
      repeating-linear-gradient(100deg, rgba(255,255,255,0.10) 0 3px, transparent 3px 26px),
      linear-gradient(160deg, #e9eef0, #cfd9dc 60%, #b9c8cc);
    clip-path:inset(0 0 0 var(--reveal, 50%));
  }
  .ba-before.has-photo{background:var(--photo-before) center/cover no-repeat;}
  .ba-after.has-photo{background:var(--photo-after) center/cover no-repeat;clip-path:inset(0 0 0 var(--reveal, 50%));}
  .ba-label{
    position:absolute;top:10px;font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:700;
    letter-spacing:0.08em;padding:4px 9px;border-radius:5px;background:rgba(22,36,47,0.75);color:#fff;
  }
  .ba-label.l-before{left:10px;}
  .ba-label.l-after{right:10px;}
  .ba-handle{
    position:absolute;top:0;bottom:0;left:var(--reveal,50%);width:3px;background:var(--white);
    box-shadow:0 0 0 1px rgba(0,0,0,0.1);
    transform:translateX(-1.5px);
  }
  .ba-handle::after{
    content:"⇆";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:36px;height:36px;background:var(--white);border-radius:50%;
    display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--water-dark);
    box-shadow:0 4px 10px rgba(0,0,0,0.2);
  }
  .ba-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;}
  .ba-caption{display:flex;justify-content:space-between;align-items:center;padding:12px 6px 4px;font-size:13px;color:var(--ink-soft);}
  .ba-caption b{color:var(--ink);font-family:'Sora',sans-serif;}

  /* SECTION GENERIC */
  section{padding:88px 0;}
  .section-head{max-width:600px;margin-bottom:48px;}
  .section-head h2{font-size:34px;}
  .section-head p{color:var(--ink-soft);font-size:16px;margin-top:12px;}
  .bg-dim{background:var(--paper-dim);}
  .bg-ink{background:var(--ink);color:var(--paper);}
  .bg-ink .section-head p{color:#A9B6BD;}

  /* SERVICES */
  .services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
  .svc-card{
    background:var(--white);border:1px solid var(--concrete);border-radius:var(--radius);
    padding:24px 20px;transition:border-color .2s, transform .2s;
  }
  .svc-card:hover{border-color:var(--spray);transform:translateY(-3px);}
  .svc-icon{width:38px;height:38px;margin-bottom:14px;color:var(--water-dark);}
  .svc-card h3{font-size:16.5px;margin-bottom:6px;}
  .svc-card p{font-size:13.5px;color:var(--ink-soft);}

  /* QUOTE PHILOSOPHY */
  .quote-philo{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
  .philo-points{display:flex;flex-direction:column;gap:24px;}
  .philo-point{display:flex;gap:16px;align-items:flex-start;}
  .philo-num{
    font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--sun);font-size:14px;
    width:30px;flex-shrink:0;padding-top:3px;
  }
  .philo-point h4{font-family:'Sora',sans-serif;font-size:17px;margin-bottom:4px;}
  .philo-point p{font-size:14.5px;color:var(--ink-soft);}
  .philo-card{
    background:var(--ink);color:var(--paper);border-radius:14px;padding:38px;position:relative;overflow:hidden;
  }
  .philo-card::before{
    content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;
    background:radial-gradient(circle, rgba(69,196,236,0.42), transparent 70%);
  }
  .philo-card .big{font-family:'Sora',sans-serif;font-weight:800;font-size:42px;color:var(--spray-light);position:relative;}
  .philo-card p{margin-top:10px;color:#C7D2D6;font-size:14.5px;position:relative;}

  /* PROCESS */
  .process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
  .process-step{position:relative;padding-top:14px;}
  .process-step .num{
    font-family:'Sora',sans-serif;font-weight:800;font-size:46px;color:var(--concrete-dark);
    line-height:1;margin-bottom:12px;
  }
  .process-step h3{font-size:18px;margin-bottom:8px;}
  .process-step p{font-size:14.5px;color:var(--ink-soft);}
  .process-step:not(:last-child)::after{
    content:"";position:absolute;top:30px;right:-14px;width:24px;height:1.5px;background:var(--concrete-dark);
    display:none;
  }
  @media(min-width:900px){.process-step:not(:last-child)::after{display:block;}}

  /* GALLERY */
  .gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .gallery-grid .ba-card{padding:10px;}
  .gallery-grid .ba-caption{font-size:12.5px;}

  /* REVIEWS */
  .reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .review-card{
    background:var(--white);border:1px solid var(--concrete);border-radius:var(--radius);padding:26px;
    display:flex;flex-direction:column;gap:14px;
  }
  .stars{color:var(--sun);font-size:14px;letter-spacing:2px;}
  .review-card p.quote{font-size:14.5px;color:var(--ink-soft);}
  .review-who{display:flex;flex-direction:column;font-size:13px;}
  .review-who b{font-family:'Sora',sans-serif;font-size:14.5px;color:var(--ink);}
  .sample-note{font-size:12px;color:var(--concrete-dark);margin-top:18px;font-family:'JetBrains Mono',monospace;}

  /* LEAVE A REVIEW */
  .review-form-wrap{max-width:560px;margin:44px auto 0;background:var(--white);border:1px solid var(--concrete);border-radius:14px;padding:32px;}
  .review-form-wrap form{padding:0;background:none;}
  .star-rating{display:flex;gap:6px;align-items:center;}
  .star-btn{
    background:none;font-size:28px;line-height:1;color:var(--concrete-dark);
    transition:color .15s, transform .1s;padding:2px;
  }
  .star-btn:hover{transform:scale(1.12);}
  .star-btn.active, .star-btn.hover-active{color:var(--sun);}

  /* QUOTE FORM */
  .quote-section{background:var(--ink);color:var(--paper);}
  .quote-form-wrap{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:start;}
  .quote-form-wrap .section-head h2{color:var(--paper);}
  .contact-block{display:flex;flex-direction:column;gap:18px;margin-top:28px;}
  .contact-item{display:flex;gap:14px;align-items:flex-start;}
  .contact-item .ic{width:20px;height:20px;color:var(--spray-light);flex-shrink:0;margin-top:2px;}
  .contact-item b{font-family:'Sora',sans-serif;font-size:15px;display:block;}
  .contact-item span{font-size:13.5px;color:#A9B6BD;}
  .contact-link{font-size:13.5px;color:var(--spray-light);text-decoration:underline;text-underline-offset:3px;}
  .contact-link:hover{color:var(--white);}

  form{background:var(--paper);border-radius:14px;padding:32px;color:var(--ink);}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
  .field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
  .field label{font-size:12.5px;font-weight:600;color:var(--ink-soft);}
  .field input, .field select, .field textarea{
    padding:11px 13px;border:1.5px solid var(--concrete);border-radius:7px;font-family:'Inter',sans-serif;
    font-size:14.5px;background:var(--white);color:var(--ink);
  }
  .field input:focus, .field select:focus, .field textarea:focus{outline:2px solid var(--water);border-color:var(--water);}
  .field textarea{resize:vertical;min-height:88px;}
  .form-submit{width:100%;justify-content:center;margin-top:6px;}
  .form-note{font-size:12px;color:var(--concrete-dark);margin-top:12px;text-align:center;}
  .form-success{
    display:none;background:var(--foam);border:1.5px solid var(--water);border-radius:8px;
    padding:16px;font-size:14px;color:var(--water-dark);margin-top:14px;font-weight:500;
  }

  /* FOOTER */
  footer{background:var(--ink);color:#A9B6BD;padding:50px 0 28px;border-top:1px solid rgba(255,255,255,0.08);}
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:36px;}
  .footer-grid h4{font-family:'Sora',sans-serif;color:var(--paper);font-size:14px;margin-bottom:14px;letter-spacing:0.02em;}
  .footer-grid ul{display:flex;flex-direction:column;gap:9px;font-size:13.5px;}
  .footer-grid p{font-size:13.5px;max-width:280px;margin-top:10px;}
  .footer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;border-top:1px solid rgba(255,255,255,0.08);padding-top:22px;flex-wrap:wrap;gap:10px;}
  .footer-email{text-decoration:underline;text-underline-offset:3px;}
  .footer-email:hover{color:var(--white);}

  /* RESPONSIVE */
  @media(max-width:980px){
    .hero-grid, .quote-philo, .quote-form-wrap{grid-template-columns:1fr;}
    .services-grid{grid-template-columns:repeat(2,1fr);}
    .process-grid, .reviews-grid, .gallery-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr;gap:26px;}
    .nav-links{display:none;}
    .hero h1{font-size:38px;}
  }
  @media(max-width:600px){
    .form-row{grid-template-columns:1fr;}
    .hero{padding:40px 0 60px;}
    .hero-logo{width:158px;margin-bottom:20px;}
    section{padding:60px 0;}
  }

  /* WORDPRESS INTEGRATION */
  .admin-bar header{top:32px;}
  .pricing-title{font-size:32px;margin-bottom:24px;}
  .footer-brand{color:var(--paper);font-family:'Sora',sans-serif;font-size:17px;}
  .review-form-head{margin-bottom:24px;}
  .review-form-head h3{font-size:24px;font-family:'Sora',sans-serif;}
  .quote-intro{color:#A9B6BD;font-size:15.5px;}
  .wp-content{padding-top:70px;padding-bottom:70px;min-height:55vh;}
  .wp-content h1{margin-bottom:24px;}
  .wp-content p{margin-bottom:1em;}
  @media(max-width:782px){.admin-bar header{top:46px;}}
