
  :root{
    --navy:#0a2540; --navy2:#10355c; --water:#0284c7; --water-lt:#e0f2fe;
    --flame:#f97316; --flame-dk:#ea580c; --ice:#7dd3fc;
    --ink:#1e293b; --muted:#64748b; --bg:#f8fafc; --card:#ffffff;
    --radius:14px; --shadow:0 6px 24px rgba(10,37,64,.10);
  }
  *{box-sizing:border-box; margin:0; padding:0}
  body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    color:var(--ink); background:var(--bg); line-height:1.55; -webkit-font-smoothing:antialiased}
  a{color:inherit}
  .wrap{max-width:1120px; margin:0 auto; padding:0 18px}

  /* mockup ribbon */
  .ribbon{background:#fef3c7; color:#92400e; font-size:12.5px; text-align:center; padding:8px 36px 8px 12px; position:relative; font-weight:600}
  .ribbon button{position:absolute; right:8px; top:50%; transform:translateY(-50%); border:0; background:none; font-size:16px; cursor:pointer; color:#92400e}

  /* header */
  header.site{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.96); backdrop-filter:blur(8px);
    border-bottom:1px solid #e2e8f0}
  .header-in{display:flex; align-items:center; justify-content:space-between; padding:10px 18px; max-width:1120px; margin:0 auto}
  .brand{display:flex; align-items:center; gap:10px; text-decoration:none}
  .brand-mark{width:42px; height:42px; border-radius:50%; flex:none;
    background:conic-gradient(from 200deg, var(--water) 0 40%, var(--flame) 40% 72%, var(--ice) 72% 100%);
    display:flex; align-items:center; justify-content:center; color:#fff; font-weight:800; font-size:15px;
    box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
  .brand-name{line-height:1.15}
  .brand-name b{display:block; font-size:16px; color:var(--navy); letter-spacing:.2px}
  .brand-name span{font-size:11.5px; color:var(--muted); letter-spacing:1.5px; text-transform:uppercase}
  .call-btn{display:inline-flex; align-items:center; gap:8px; background:var(--flame); color:#fff; font-weight:700;
    padding:11px 18px; border-radius:999px; text-decoration:none; font-size:15px; box-shadow:0 4px 14px rgba(249,115,22,.4)}
  .call-btn:active{transform:scale(.97)}
  nav.main{display:none}

  /* hero */
  .hero{background:radial-gradient(1200px 500px at 80% -10%, rgba(2,132,199,.55), transparent 60%),
                 radial-gradient(900px 420px at 10% 110%, rgba(249,115,22,.35), transparent 55%),
                 linear-gradient(160deg, var(--navy) 0%, var(--navy2) 70%, #0a2540 100%);
    color:#fff; padding:56px 0 64px; position:relative; overflow:hidden}
  .hero .kicker{display:inline-flex; align-items:center; gap:8px; font-size:12.5px; letter-spacing:2px; text-transform:uppercase;
    color:var(--ice); font-weight:700; margin-bottom:14px}
  .hero h1{font-size:clamp(34px, 8vw, 58px); line-height:1.05; letter-spacing:-.5px; margin-bottom:12px}
  .hero h1 .amp{color:var(--flame)}
  .hero .sub{font-size:clamp(17px, 4.4vw, 22px); color:#dbeafe; font-weight:600; margin-bottom:8px}
  .hero .area{color:#bae6fd; margin-bottom:20px; font-size:15px}
  .chips{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:26px}
  .chip{background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); color:#e0f2fe;
    font-size:13px; font-weight:600; padding:7px 14px; border-radius:999px}
  .cta-row{display:flex; flex-direction:column; gap:12px}
  .btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:16px 22px; border-radius:12px;
    font-size:17px; font-weight:800; text-decoration:none; border:0; cursor:pointer; width:100%}
  .btn-flame{background:linear-gradient(180deg, var(--flame), var(--flame-dk)); color:#fff; box-shadow:0 8px 22px rgba(249,115,22,.45)}
  .btn-ghost{background:rgba(255,255,255,.10); color:#fff; border:1.5px solid rgba(255,255,255,.5)}
  .hero-note{margin-top:16px; font-size:13px; color:#93c5fd}
  .sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
  .logo-card{background:#fff; border-radius:18px; padding:14px; max-width:560px; margin:0 auto 22px;
    box-shadow:0 14px 44px rgba(0,0,0,.35)}
  .logo-card img{width:100%; height:auto; display:block; border-radius:10px}
  .photo-grid{display:grid; gap:12px}
  .photo-slot{border:2px dashed #cbd5e1; border-radius:14px; background:#f1f5f9; aspect-ratio:4/3;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
    color:#94a3b8; text-align:center; padding:16px}
  .photo-slot .cam{font-size:32px}
  .photo-slot b{color:#64748b; font-size:14px}
  .photo-slot span{font-size:12.5px; color:#94a3b8}
  .work-photo{width:100%; aspect-ratio:4/3; object-fit:contain; border-radius:14px;
    box-shadow:var(--shadow); display:block; background:#e2e8f0}

  /* sections */
  section.block{padding:46px 0}
  .sec-head{text-align:center; max-width:640px; margin:0 auto 26px}
  .sec-head .eyebrow{font-size:12.5px; letter-spacing:2px; text-transform:uppercase; color:var(--water); font-weight:800; margin-bottom:8px}
  .sec-head h2{font-size:clamp(24px, 6vw, 34px); color:var(--navy); letter-spacing:-.3px; margin-bottom:8px}
  .sec-head p{color:var(--muted)}

  /* problem tiles */
  .tiles{display:grid; grid-template-columns:repeat(2, 1fr); gap:12px}
  .tile{background:var(--card); border:2px solid #e2e8f0; border-radius:var(--radius); padding:20px 12px; text-align:center;
    cursor:pointer; transition:.15s; box-shadow:var(--shadow)}
  .tile .ico{font-size:30px; display:block; margin-bottom:8px}
  .tile b{font-size:15px; color:var(--navy)}
  .tile.sel{border-color:var(--flame); background:#fff7ed; box-shadow:0 0 0 3px rgba(249,115,22,.25)}
  .tiles-note{text-align:center; color:var(--muted); font-size:13.5px; margin-top:14px}

  /* service cards */
  .cards{display:grid; gap:16px}
  .card{background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; border:1px solid #eef2f7}
  .card .card-top{padding:22px 22px 0}
  .card .card-ico{font-size:34px}
  .card h3{color:var(--navy); font-size:21px; margin:8px 0 10px}
  .card ul{list-style:none; padding:0 22px}
  .card li{padding:9px 0; border-top:1px solid #f1f5f9; font-size:15px; display:flex; gap:10px; align-items:flex-start}
  .card li::before{content:"✓"; color:var(--water); font-weight:800; flex:none}
  .card .card-foot{padding:18px 22px 22px}
  .link-btn{display:inline-block; color:var(--water); font-weight:800; text-decoration:none; font-size:15.5px}

  /* why */
  .why{background:var(--navy); color:#e2e8f0}
  .why .sec-head h2{color:#fff}
  .why .sec-head p{color:#94a3b8}
  .why-grid{display:grid; gap:14px}
  .why-item{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:var(--radius); padding:20px}
  .why-item .n{font-size:26px; margin-bottom:8px; display:block}
  .why-item b{color:#fff; display:block; margin-bottom:4px; font-size:16.5px}
  .why-item p{font-size:14.5px; color:#cbd5e1}

  /* steps */
  .steps{display:grid; gap:14px; counter-reset:step}
  .step{background:var(--card); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow); display:flex; gap:16px; align-items:flex-start}
  .step .num{flex:none; width:44px; height:44px; border-radius:50%; background:var(--water-lt); color:var(--water);
    font-weight:800; font-size:19px; display:flex; align-items:center; justify-content:center}
  .step b{color:var(--navy); display:block; margin-bottom:2px}
  .step p{font-size:14.5px; color:var(--muted)}

  /* areas */
  .area-grid{display:grid; grid-template-columns:repeat(2, 1fr); gap:12px}
  .area-card{background:linear-gradient(150deg, var(--navy2), var(--navy)); color:#fff; border-radius:var(--radius);
    padding:22px 16px; text-align:center; font-weight:800; font-size:16.5px; box-shadow:var(--shadow)}
  .area-card span{display:block; font-weight:400; font-size:12.5px; color:#bae6fd; margin-top:4px}

  /* form */
  .form-card{background:var(--card); border-radius:18px; box-shadow:var(--shadow); padding:26px 20px; border-top:5px solid var(--flame)}
  .f-prob{display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 20px}
  .f-prob button{border:2px solid #e2e8f0; background:#fff; border-radius:999px; padding:9px 14px; font-size:14px; font-weight:700; cursor:pointer; color:var(--ink)}
  .f-prob button.sel{border-color:var(--flame); background:#fff7ed; color:var(--flame-dk)}
  label.fl{display:block; font-size:13.5px; font-weight:700; color:var(--navy); margin:14px 0 6px}
  label.fl small{font-weight:400; color:var(--muted)}
  input[type=text], input[type=tel], input[type=email], input[type=date], select, textarea{
    width:100%; padding:13px 14px; border:1.5px solid #cbd5e1; border-radius:10px; font-size:16px; font-family:inherit; background:#fff}
  input:focus, select:focus, textarea:focus{outline:none; border-color:var(--water); box-shadow:0 0 0 3px rgba(2,132,199,.18)}
  textarea{min-height:96px; resize:vertical}
  .row2{display:grid; grid-template-columns:1fr 1fr; gap:12px}
  .form-ok{display:none; background:#ecfdf5; border:1.5px solid #6ee7b7; color:#065f46; border-radius:12px; padding:16px; margin-top:16px; font-size:15px}
  .demo-tag{display:inline-block; background:#fef3c7; color:#92400e; font-size:12px; font-weight:700; border-radius:6px; padding:3px 8px; margin-left:8px; vertical-align:middle}

  /* footer */
  footer{background:#071a30; color:#94a3b8; padding:40px 0 110px; font-size:14.5px}
  footer .fphone{color:#fff; font-size:24px; font-weight:800; text-decoration:none; display:inline-block; margin:6px 0 12px}
  footer .fnav{display:flex; flex-wrap:wrap; gap:6px 18px; margin:14px 0; list-style:none}
  footer .fnav a{color:#cbd5e1; text-decoration:none}
  footer .fine{font-size:12.5px; color:#64748b; margin-top:14px}

  /* sticky mobile bar */
  .stickybar{position:fixed; left:0; right:0; bottom:0; z-index:60; display:flex; background:#fff;
    border-top:1px solid #e2e8f0; box-shadow:0 -6px 20px rgba(10,37,64,.12)}
  .stickybar a{flex:1; text-align:center; padding:15px 8px; font-weight:800; font-size:16px; text-decoration:none}
  .stickybar .s-call{background:linear-gradient(180deg, var(--flame), var(--flame-dk)); color:#fff}
  .stickybar .s-req{background:#fff; color:var(--navy)}

  @media (min-width:720px){
    .cta-row{flex-direction:row}
    .btn{width:auto; padding:16px 34px}
    .tiles{grid-template-columns:repeat(3, 1fr)}
    .cards{grid-template-columns:1fr 1fr}
    .why-grid{grid-template-columns:repeat(2, 1fr)}
    .steps{grid-template-columns:repeat(3, 1fr)}
    .step{flex-direction:column}
    .area-grid{grid-template-columns:repeat(5, 1fr)}
    nav.main{display:flex; gap:22px; align-items:center}
    nav.main a{text-decoration:none; font-size:14.5px; font-weight:600; color:var(--ink)}
    .form-card{padding:34px 34px}
    footer{padding-bottom:40px}
    .stickybar{display:none}
  }

html{scroll-behavior:smooth}
.hero-page{padding:46px 0 42px}
.hero-page h1{font-size:clamp(30px,7.5vw,46px)}
.owner-note{background:#fffbeb;border:1.5px solid #fcd34d;border-radius:12px;padding:16px 18px;margin:20px 0;font-size:14.5px;color:#92400e}
.owner-note b{color:#78350f}
.check-list{list-style:none;display:grid;gap:10px;margin:0;padding:0}
.check-list li{background:#fff;border:1px solid #eef2f7;border-radius:12px;padding:14px 16px;box-shadow:var(--shadow);display:flex;gap:10px;font-size:15px}
.check-list li::before{content:"\26a0\fe0f";flex:none}
.big-call{display:block;text-align:center;background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:28px 18px;text-decoration:none;border-top:5px solid var(--flame);margin-bottom:6px}
.big-call .lbl{display:block;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-weight:800}
.big-call .num{display:block;font-size:32px;font-weight:800;color:var(--navy);margin-top:6px}
.detail{background:#fff;border:1px solid #eef2f7;border-radius:14px;box-shadow:var(--shadow);padding:18px 20px;margin-bottom:12px;font-size:15.5px}
.detail b{color:var(--navy)}
.borough-grid{display:grid;gap:14px}
.photo-grid{display:grid;gap:12px}
.photo-slot{border:2px dashed #cbd5e1;border-radius:14px;background:#f1f5f9;aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#94a3b8;text-align:center;padding:16px}
.photo-slot .cam{font-size:32px}
.photo-slot b{color:#64748b;font-size:14px}
.photo-slot span{font-size:12.5px;color:#94a3b8}
@media(min-width:720px){.borough-grid{grid-template-columns:repeat(2,1fr)}.photo-grid.cols2{grid-template-columns:repeat(2,1fr)}.photo-grid.cols3{grid-template-columns:repeat(3,1fr)}}
.borough{background:linear-gradient(150deg,var(--navy2),var(--navy));color:#fff;border-radius:14px;padding:26px 20px;box-shadow:var(--shadow)}
.borough b{font-size:20px;display:block}
.borough span{color:#bae6fd;font-size:14px;display:block;margin-top:6px}

body.admin-bar header.site{top:32px} .aa-form-pending{padding:24px;background:#fff7ed;border-radius:12px;color:#172a42} .wpcf7 input,.wpcf7 select,.wpcf7 textarea{max-width:100%;font:inherit} .wpcf7 input:not([type=submit]),.wpcf7 select,.wpcf7 textarea{width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:8px;margin:8px 0 16px} .wpcf7 input[type=submit]{background:#ea580c;color:white;padding:14px 22px;border:0;border-radius:9px;font-weight:700} .wpcf7 label{display:block} .wpcf7 .wpcf7-response-output{margin:16px 0} .tile[data-p]{cursor:pointer}
