:root{
    --ink:#0B0B0C;
    --ink-2:#161618;
    --orange:#F97316;
    --orange-d:#d9620f;
    --white:#F6F4F1;
    --muted-d:#8d8d92;     /* muted on dark */
    --muted-o:#3a1c06;     /* muted on orange */
    --line-d:rgba(255,255,255,.12);
    --line-o:rgba(11,11,12,.16);
    --wa:#25D366;
    --disp:'Oswald',sans-serif;
    --body:'Manrope',system-ui,sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{font-family:var(--body);background:var(--ink);color:var(--white);-webkit-font-smoothing:antialiased;line-height:1.55}
  a{color:inherit;text-decoration:none}
  img{display:block;max-width:100%}
  .wrap{max-width:1240px;margin:0 auto;padding:0 50px}
  h1,h2,h3{font-family:var(--disp);font-weight:700;line-height:.98;letter-spacing:.005em;text-transform:uppercase}
  .kick{font-family:var(--disp);font-weight:600;font-size:14px;letter-spacing:.34em;text-transform:uppercase}
  .ph{position:relative;background:
      repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 14px,transparent 14px 28px),#1c1c1f;
      display:flex;align-items:flex-end;overflow:hidden}
  .ph.on-o{background:repeating-linear-gradient(135deg,rgba(11,11,12,.08) 0 14px,transparent 14px 28px),#e9650f}
  .ph span{font-family:'Oswald',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#cfcfcf;
      background:rgba(11,11,12,.7);padding:6px 11px;margin:14px;border-radius:0;position:relative;z-index:1}
  .ph.on-o span{color:#3a1c06;background:rgba(246,244,241,.85)}
  .ph>img,.ph>video,.ph>iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}

  /* angled section helper */
  .angle-top{clip-path:polygon(0 56px,100% 0,100% 100%,0 100%)}

  .btn{display:inline-flex;align-items:center;gap:11px;font-family:var(--disp);font-weight:600;font-size:17px;letter-spacing:.06em;
      text-transform:uppercase;padding:17px 30px;border:2px solid transparent;transition:.16s;cursor:pointer;white-space:nowrap}
  .btn svg{width:21px;height:21px;flex:none}
  .btn-wa{background:var(--wa);color:#06310f}
  .btn-wa:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 rgba(0,0,0,.35)}
  .btn-orange{background:var(--orange);color:var(--ink)}
  .btn-orange:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 rgba(0,0,0,.35)}
  .btn-line-w{background:transparent;color:var(--white);border-color:var(--white)}
  .btn-line-w:hover{background:var(--white);color:var(--ink)}
  .btn-line-d{background:transparent;color:var(--ink);border-color:var(--ink)}
  .btn-line-d:hover{background:var(--ink);color:var(--white)}

  header.site{position:sticky;top:0;z-index:50;background:var(--ink);border-bottom:2px solid var(--orange)}
  .hbar{display:flex;align-items:center;justify-content:space-between;height:100px}
  .brand img{width:270px;height:auto}
  nav.main{display:flex;gap:30px}
  nav.main a{font-family:var(--disp);font-weight:500;font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-d);transition:.15s}
  nav.main a:hover{color:var(--orange)}
  .hcta{display:flex;align-items:center;gap:22px}
  .hphone{font-family:var(--disp);font-weight:600;font-size:20px;letter-spacing:.04em}
  .hphone span{display:block;font-size:11px;letter-spacing:.22em;color:var(--orange)}

  /* HERO */
  .hero{position:relative;padding:90px 0 0;overflow:hidden}
  .hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center;position:relative;z-index:2}
  .hero h1{font-size:88px;margin:18px 0}
  .hero h1 .o{color:var(--orange)}
  .hero h1 .stroke{-webkit-text-stroke:2px var(--white);color:transparent}
  .hero p.sub{font-size:19px;color:var(--muted-d);max-width:520px;margin-bottom:32px;text-transform:none;line-height:1.6}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap}
  .hero-visual .ph{aspect-ratio:4/4.6}
  .hero-visual{position:relative}
  .hero-visual .tag{position:absolute;top:18px;left:18px;background:var(--orange);color:var(--ink);font-family:var(--disp);
      font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;padding:7px 13px;z-index:2}
  .ridge-hero{display:block;width:100%;height:130px;color:var(--orange);margin-top:64px}
  .ridge-hero svg{display:block;width:100%;height:100%}

  /* TRUST — orange block */
  .trust{background:var(--orange);color:var(--ink);position:relative;margin-top:-1px;padding:64px 0}
  .trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
  .trust-grid div{padding:0 34px;border-right:2px solid var(--line-o)}
  .trust-grid div:last-child{border-right:none}
  .trust .n{font-family:var(--disp);font-weight:700;font-size:62px;line-height:1}
  .trust .t{font-weight:600;font-size:15px;margin-top:8px;color:var(--muted-o)}

  .sec{padding:108px 0}
  .shead{margin-bottom:56px}
  .shead .kick{color:var(--orange)}
  .shead h2{font-size:54px;margin-top:14px}
  .shead p{color:var(--muted-d);font-size:18px;margin-top:18px;max-width:620px;text-transform:none}

  /* SERVICES — dark */
  .cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:2px solid var(--orange)}
  .card{padding:0;border-right:2px solid var(--orange);position:relative}
  .card:last-child{border-right:none}
  .card .ph{aspect-ratio:16/11}
  .card .body{padding:30px}
  .card .idx{font-family:var(--disp);font-weight:700;font-size:15px;color:var(--orange);letter-spacing:.1em}
  .card h3{font-size:27px;margin:10px 0 12px}
  .card p{color:var(--muted-d);font-size:15.5px}

  /* STEPS — orange block, angled */
  .steps-sec{background:var(--orange);color:var(--ink);padding:140px 0 130px;margin-top:-1px}
  .steps-sec .kick{color:var(--ink)}
  .steps-sec .shead h2{color:var(--ink)}
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--ink)}
  .step{padding:32px 26px 0;border-right:2px solid var(--ink);position:relative}
  .step:last-child{border-right:none}
  .step .k{font-family:var(--disp);font-weight:700;font-size:64px;line-height:1;margin-bottom:16px}
  .step h3{font-size:23px;margin-bottom:10px}
  .step p{color:var(--muted-o);font-size:15px;text-transform:none;font-weight:500}

  /* WHY — dark */
  .benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:2px solid var(--line-d)}
  .benefit{padding:38px 36px;display:flex;gap:22px;border-right:2px solid var(--line-d);border-bottom:2px solid var(--line-d)}
  .benefit:nth-child(2n){border-right:none}
  .benefit:nth-child(n+3){border-bottom:none}
  .benefit .big{font-family:var(--disp);font-weight:700;font-size:46px;color:var(--orange);line-height:1;flex:none;width:90px}
  .benefit h3{font-size:23px;margin-bottom:8px}
  .benefit p{color:var(--muted-d);font-size:15px;text-transform:none}

  /* HONEST — split black/orange */
  .honest{display:grid;grid-template-columns:1fr 1fr}
  .honest .left{background:var(--ink);padding:80px 60px 80px 0;padding-left:max(50px,calc((100vw - 1240px)/2 + 50px))}
  .honest .right{background:var(--orange);color:var(--ink);padding:80px 0 80px 60px;padding-right:max(50px,calc((100vw - 1240px)/2 + 50px));
      clip-path:polygon(48px 0,100% 0,100% 100%,0 100%);display:flex;align-items:center}
  .honest .left h2{font-size:48px}
  .honest .left .kick{color:var(--orange)}
  .honest .left p{color:var(--muted-d);margin-top:18px;font-size:17px;text-transform:none;max-width:420px}
  .honest ul{list-style:none;display:grid;gap:20px}
  .honest li{display:flex;gap:16px;font-size:17px;text-transform:none}
  .honest li b{font-family:var(--disp);font-weight:600;letter-spacing:.02em}
  .honest .x{flex:none;width:34px;height:34px;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;font-weight:800}

  /* ABOUT — dark */
  .about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
  .about .ph{aspect-ratio:4/5}
  .about .ph .tag{position:absolute;bottom:0;left:0;background:var(--orange);color:var(--ink);font-family:var(--disp);
      font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;padding:9px 16px;z-index:2}
  .about h2{font-size:58px;margin:14px 0 6px}
  .about .role{font-family:var(--disp);font-weight:600;color:var(--orange);letter-spacing:.1em;text-transform:uppercase}
  .about p{color:var(--muted-d);font-size:17px;margin-top:18px;text-transform:none}
  .sig{font-family:var(--disp);font-weight:600;font-size:30px;margin-top:24px;color:var(--orange)}

  /* GALLERY */
  .gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:0;border:2px solid var(--orange)}
  .gal .ph{border-right:2px solid var(--orange);border-bottom:2px solid var(--orange)}
  .gal .wide{grid-column:span 2}
  .gal .tall{grid-row:span 2}
  .badge{position:absolute;top:14px;left:14px;font-family:var(--disp);font-weight:700;font-size:12px;letter-spacing:.1em;
      text-transform:uppercase;padding:5px 11px;z-index:2}
  .b-pred{background:var(--white);color:var(--ink)}
  .b-po{background:var(--wa);color:#06310f}
  .b-vid{background:var(--orange);color:var(--ink)}

  /* FAQ — dark */
  .faq-list{display:grid;border-top:2px solid var(--line-d)}
  details.faq{border-bottom:2px solid var(--line-d)}
  details.faq summary{list-style:none;cursor:pointer;padding:28px 4px;display:flex;justify-content:space-between;align-items:center;gap:20px;
      font-family:var(--disp);font-weight:600;font-size:24px;text-transform:uppercase;letter-spacing:.02em}
  details.faq summary::-webkit-details-marker{display:none}
  details.faq .plus{flex:none;width:38px;height:38px;border:2px solid var(--orange);color:var(--orange);display:flex;align-items:center;justify-content:center;font-size:24px;transition:.2s}
  details.faq[open] .plus{background:var(--orange);color:var(--ink);transform:rotate(45deg)}
  details.faq .ans{padding:0 4px 28px;color:var(--muted-d);font-size:16.5px;max-width:840px;text-transform:none}

  /* CONTACT — orange block */
  .contact{background:var(--orange);color:var(--ink);padding:120px 0}
  .contact .kick{color:var(--ink)}
  .contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:54px;align-items:stretch}
  .contact h2{font-size:52px;margin:14px 0 26px}
  .ci-row{display:flex;gap:18px;padding:22px 0;border-bottom:2px solid var(--line-o)}
  .ci-row .ic{flex:none;width:48px;height:48px;background:var(--ink);color:var(--orange);display:flex;align-items:center;justify-content:center}
  .ci-row .ic svg{width:21px;height:21px}
  .ci-row .lbl{font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-o)}
  .ci-row .val{font-family:var(--disp);font-weight:600;font-size:22px;letter-spacing:.03em;margin-top:2px;overflow-wrap:anywhere}
  .social-links{display:flex;gap:18px;flex-wrap:wrap}
  .social-links a{text-decoration:underline;text-underline-offset:5px}
  .ci-cta{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
  .area-tags{display:flex;flex-wrap:wrap;gap:0;margin-top:22px;border:2px solid var(--ink)}
  .area-tags span{padding:11px 18px;font-family:var(--disp);font-weight:500;letter-spacing:.06em;text-transform:uppercase;font-size:14px;
      border-right:2px solid var(--ink);border-bottom:2px solid var(--ink)}
  .map .ph{height:100%;min-height:440px}

  footer.site{background:var(--ink);padding:70px 0 110px;border-top:2px solid var(--orange)}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
  .foot-grid img{height:50px;margin-bottom:18px;width:auto}
  .foot-grid p{color:var(--muted-d);font-size:14.5px;max-width:300px}
  .foot-col h4{font-family:var(--disp);font-weight:600;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:16px}
  .foot-col a{display:block;color:var(--muted-d);font-size:15px;padding:6px 0;overflow-wrap:anywhere}
  .foot-col a:hover{color:var(--orange)}
  .foot-bottom{border-top:2px solid var(--line-d);margin-top:46px;padding-top:26px;display:flex;justify-content:space-between;color:var(--muted-d);font-size:13px;gap:14px;flex-wrap:wrap}

  .sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;gap:0;background:var(--ink);border-top:2px solid var(--orange)}
  .sticky-bar .btn{flex:1;justify-content:center;border:none}

  /* ===== RESPONSIVE ===== */
  @media(max-width:1100px){
    .hero h1{font-size:68px}
    nav.main{gap:20px}
    .brand img{width:220px}
  }
  @media(max-width:900px){
    .wrap{padding:0 20px}
    .hbar{height:auto;flex-wrap:wrap;padding-top:10px}
    nav.main{display:flex;order:3;width:100%;justify-content:space-between;gap:12px;border-top:1px solid var(--line-d);padding:10px 0 12px}
    nav.main a{font-size:12px;letter-spacing:.08em}
    .hphone{display:none}
    .brand img{width:150px;height:auto}
    .hcta{gap:0}
    .hcta .btn{font-size:13px;letter-spacing:.04em;padding:13px 12px}
    .hero{padding:48px 0 0}
    .hero-grid{grid-template-columns:1fr;gap:34px}
    .hero h1{font-size:46px}
    .hero p.sub{font-size:16.5px}
    .hero-visual .ph{aspect-ratio:4/3.4}
    .ridge-hero{height:72px;margin-top:44px}
    .trust{padding:42px 0}
    .trust-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 0}
    .trust-grid div{min-width:0;padding:0 20px;border-right:none}
    .trust-grid div:nth-child(odd){border-right:2px solid var(--line-o)}
    .trust .n{font-size:42px}
    .sec{padding:64px 0}
    .shead{margin-bottom:34px}
    .shead h2{font-size:34px}
    .shead p{font-size:16px}
    .cards3{grid-template-columns:1fr}
    .card{border-right:none;border-bottom:2px solid var(--orange)}
    .card:last-child{border-bottom:none}
    .steps-sec{padding:84px 0 70px}
    .steps{grid-template-columns:1fr}
    .step{border-right:none;border-bottom:2px solid var(--ink);padding:24px 0 22px}
    .step:last-child{border-bottom:none}
    .step .k{font-size:44px;margin-bottom:10px}
    .benefits{grid-template-columns:1fr}
    .benefit{border-right:none !important;border-bottom:2px solid var(--line-d) !important;padding:26px 22px}
    .benefit:last-child{border-bottom:none !important}
    .benefit .big{width:64px;font-size:34px}
    .honest{grid-template-columns:1fr}
    .honest .left{padding:56px 20px 36px !important}
    .honest .right{padding:44px 20px 56px !important;clip-path:polygon(0 24px,100% 0,100% 100%,0 100%)}
    .honest .left h2{font-size:34px}
    .about-grid{grid-template-columns:1fr;gap:30px}
    .about h2{font-size:38px}
    .gal{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px}
    .rev-grid{grid-template-columns:1fr}
    .review{border-right:none;border-bottom:2px solid var(--ink)}
    .review:last-child{border-bottom:none}
    details.faq summary{font-size:17.5px;padding:20px 2px}
    details.faq .plus{width:32px;height:32px;font-size:20px}
    .contact{padding:84px 0 70px}
    .contact h2{font-size:34px}
    .contact-grid{grid-template-columns:1fr;gap:34px}
    .ci-row .val{font-size:18px}
    .map .ph{min-height:320px}
    .foot-grid{grid-template-columns:1fr;gap:28px}
    footer.site{padding:50px 0 130px}
    .sticky-bar{display:flex}
    .sticky-bar .btn{font-size:13px;letter-spacing:.04em;padding:12px 14px}
    .sticky-bar .btn svg{width:18px;height:18px}
    .angle-top{clip-path:polygon(0 26px,100% 0,100% 100%,0 100%)}
  }
  @media(max-width:420px){
    .hero h1{font-size:38px}
    .btn{font-size:15px;padding:14px 20px}
  }

  /* ===== city landing pages ===== */
  .breadcrumb{font-family:var(--disp);font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-d);padding:22px 0 0}
  .breadcrumb a{color:var(--muted-d)}
  .breadcrumb a:hover{color:var(--orange)}
  .breadcrumb b{color:var(--orange);font-weight:600}
  .local-prose{max-width:820px}
  .local-prose h2{font-size:44px;margin-bottom:8px}
  .local-prose p{color:var(--muted-d);font-size:17px;margin-top:18px;line-height:1.7}
  .local-prose p strong{color:var(--white);font-weight:600}
  .near{margin-top:10px}
  .near .kick{color:var(--orange)}
  .near-links{display:flex;flex-wrap:wrap;gap:0;margin-top:22px;border:2px solid var(--orange)}
  .near-links a{padding:13px 20px;font-family:var(--disp);font-weight:600;letter-spacing:.05em;text-transform:uppercase;font-size:14px;
      color:var(--white);border-right:2px solid var(--orange);border-bottom:2px solid var(--orange);transition:.15s}
  .near-links a:hover{background:var(--orange);color:var(--ink)}
  @media(max-width:900px){
    .local-prose h2{font-size:30px}
    .local-prose p{font-size:16px}
  }
