main.svc-rich *{box-sizing:border-box;}
main.svc-rich{margin:0;padding:0;}
main.svc-rich a {color:inherit;text-decoration:none;}

  /* NAV */
  main.svc-rich .nav {display:flex;align-items:center;justify-content:space-between;padding:14px 32px;border-bottom:1px solid #e5e5e5;background:#fff;flex-wrap:wrap;gap:10px;}
  main.svc-rich .logo {font-size:20px;font-weight:600;color:#1a1a1a;}
  main.svc-rich .logo em {color:#0F5C4A;font-style:normal;}
  main.svc-rich .nav-links {display:flex;gap:22px;font-size:13px;color:#666;}
  main.svc-rich .nav-cta {background:#0F5C4A;color:#fff;border:none;padding:10px 18px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;}

  /* BREADCRUMB */
  main.svc-rich .breadcrumb {padding:10px 32px;font-size:12px;color:#888;border-bottom:1px solid #f0f0f0;background:#fafafa;}
  main.svc-rich .breadcrumb span {color:#0F5C4A;}

  /* HERO */
  main.svc-rich .hero {background:linear-gradient(rgba(4,14,8,0.74),rgba(4,14,8,0.74)),url('https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=1400') center/cover no-repeat;padding:80px 32px 64px;color:#fff;--hero-parallax-y:0px;}
  main.svc-rich .hero.rich-hero--motion,
  main.svc-rich .city-hero.rich-hero--motion{
    position:relative;
    overflow:hidden;
    background:none !important;
  }
  main.svc-rich .hero.rich-hero--motion .rich-hero-media,
  main.svc-rich .city-hero.rich-hero--motion .rich-hero-media{
    position:absolute;
    left:-10%;right:-10%;top:-14%;bottom:-14%;
    z-index:0;
    will-change:transform;
    transform:translate3d(0,var(--hero-parallax-y),0);
  }
  main.svc-rich .hero.rich-hero--motion .rich-hero-media .hero-slider,
  main.svc-rich .city-hero.rich-hero--motion .rich-hero-media .hero-slider{
    position:absolute;inset:0;
    will-change:transform;
    transform-origin:center center;
  }
  main.svc-rich .hero.rich-hero--motion .rich-hero-media .hero-shade,
  main.svc-rich .city-hero.rich-hero--motion .rich-hero-media .hero-shade{
    position:absolute;inset:0;z-index:1;pointer-events:none;
    /* Match site.css .hero-shade: darker on the left where copy sits */
    background:linear-gradient(
      115deg,
      rgba(5,14,10,.94) 0%,
      rgba(7,18,10,.88) 35%,
      rgba(15,92,74,.5) 58%,
      rgba(7,18,10,.78) 100%
    );
  }
  main.svc-rich .hero.rich-hero--motion .rich-hero-media .hero-grain,
  main.svc-rich .city-hero.rich-hero--motion .rich-hero-media .hero-grain{
    position:absolute;inset:0;z-index:2;opacity:.03;pointer-events:none;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  }
  main.svc-rich .hero.rich-hero--motion .hero-inner,
  main.svc-rich .city-hero.rich-hero--motion .hero-inner{
    position:relative;z-index:2;
    color:#fff;
  }
  main.svc-rich .hero-inner {max-width:680px;}
  /* Explicit light text: global `p { color: var(--text) }` in site.css wins over inheritance if we omit color here */
  main.svc-rich .hero-badge {display:inline-block;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.25);border-radius:20px;padding:5px 16px;font-size:12px;margin-bottom:18px;letter-spacing:0.3px;color:rgba(255,255,255,0.98);}
  main.svc-rich .hero h1 {font-size:32px;font-weight:600;line-height:1.25;margin-bottom:16px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4);}
  main.svc-rich .hero.rich-hero--motion .hero-inner h1,
  main.svc-rich .city-hero.rich-hero--motion .hero-inner h1{
    color:#fff;
    text-shadow:
      0 1px 2px rgba(0,0,0,.55),
      0 4px 28px rgba(0,0,0,.45),
      0 0 1px rgba(0,0,0,.8);
  }
  main.svc-rich .hero p {font-size:15px;line-height:1.75;margin-bottom:26px;max-width:580px;color:rgba(255,255,255,0.93);text-shadow:0 1px 2px rgba(0,0,0,.45);}
  main.svc-rich .hero.rich-hero--motion .hero-inner p,
  main.svc-rich .city-hero.rich-hero--motion .hero-inner > p{
    color:rgba(255,255,255,0.96);
    text-shadow:0 1px 3px rgba(0,0,0,.55),0 2px 12px rgba(0,0,0,.35);
  }
  main.svc-rich .hero.rich-hero--motion .hero-inner strong,
  main.svc-rich .city-hero.rich-hero--motion .hero-inner strong{color:rgba(255,255,255,.99);font-weight:700;}
  main.svc-rich .hero-meta {display:flex;gap:20px;flex-wrap:wrap;margin-bottom:26px;}
  main.svc-rich .hero-meta span {font-size:12px;color:rgba(255,255,255,0.88);text-shadow:0 1px 2px rgba(0,0,0,.35);}
  main.svc-rich .hero.rich-hero--motion .hero-meta span,
  main.svc-rich .city-hero.rich-hero--motion .hero-meta span{
    color:rgba(255,255,255,0.94);
    text-shadow:0 1px 3px rgba(0,0,0,.5);
  }
  main.svc-rich .hero-btns {display:flex;gap:12px;flex-wrap:wrap;}
  main.svc-rich .btn-g {background:#0F5C4A;color:#fff;border:none;padding:12px 22px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;}
  main.svc-rich .btn-o {background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.42);padding:12px 22px;border-radius:8px;font-size:14px;cursor:pointer;}

  /* TRUST BAR */
  main.svc-rich .trust-bar {display:flex;border-bottom:1px solid #e5e5e5;overflow-x:auto;background:#fff;}
  main.svc-rich .ti {flex:1;min-width:140px;padding:15px 18px;border-right:1px solid #f0f0f0;text-align:center;}
  main.svc-rich .ti:last-child {border-right:none;}
  main.svc-rich .ti-t {font-size:13px;font-weight:600;color:#1a1a1a;}
  main.svc-rich .ti-s {font-size:11px;color:#888;margin-top:2px;}

  /* JUMP LINKS — full width (matches trust-bar edge-to-edge); equal columns */
  main.svc-rich .jump {
    display:flex;
    width:100%;
    border-bottom:1px solid #e5e5e5;
    background:#fff;
  }
  main.svc-rich .jump a {
    flex:1 1 0;
    min-width:0;
    padding:12px 10px;
    font-size:12px;
    color:#666;
    border-right:1px solid #f0f0f0;
    text-align:center;
    line-height:1.3;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
  }
  main.svc-rich .jump a:last-child {border-right:none;}
  main.svc-rich .jump a:hover {color:#0F5C4A;}
  @media (max-width:720px){
    main.svc-rich .jump {overflow-x:auto;-webkit-overflow-scrolling:touch;justify-content:flex-start;}
    main.svc-rich .jump a {
      flex:0 0 auto;
      min-width:max-content;
      padding:12px 16px;
      white-space:nowrap;
    }
  }

  /* Pavers + outdoor kitchen + yard drainage Charleston hubs: jump under hero + trust — wrapped chips */
  body.hub-pavers-charleston main.svc-rich nav.jump.jump--wrap,
  body.hub-outdoor-kitchen-charleston main.svc-rich nav.jump.jump--wrap,
  body.hub-yard-drainage-charleston main.svc-rich nav.jump.jump--wrap {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:8px 10px;
    width:100%;
    padding:14px 20px 16px;
    border-bottom:1px solid #e5e5e5;
    background:#f7f7f5;
    box-sizing:border-box;
  }
  body.hub-pavers-charleston main.svc-rich nav.jump.jump--wrap a,
  body.hub-outdoor-kitchen-charleston main.svc-rich nav.jump.jump--wrap a,
  body.hub-yard-drainage-charleston main.svc-rich nav.jump.jump--wrap a {
    flex:0 1 auto;
    min-width:0;
    margin:0;
    padding:8px 15px;
    font-size:13px;
    font-weight:500;
    line-height:1.25;
    color:#444;
    text-align:center;
    white-space:nowrap;
    border:1px solid #e0e0dc;
    border-right:1px solid #e0e0dc;
    border-radius:999px;
    background:#fff;
    box-shadow:0 1px 0 rgba(0,0,0,.04);
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  body.hub-pavers-charleston main.svc-rich nav.jump.jump--wrap a:hover,
  body.hub-outdoor-kitchen-charleston main.svc-rich nav.jump.jump--wrap a:hover,
  body.hub-yard-drainage-charleston main.svc-rich nav.jump.jump--wrap a:hover {
    color:#0F5C4A;
    border-color:#b8d9cf;
    background:#eef8f4;
  }
  @media (max-width:720px){
    body.hub-pavers-charleston main.svc-rich nav.jump.jump--wrap,
    body.hub-outdoor-kitchen-charleston main.svc-rich nav.jump.jump--wrap,
    body.hub-yard-drainage-charleston main.svc-rich nav.jump.jump--wrap {
      justify-content:flex-start;
      overflow-x:auto;
      flex-wrap:nowrap;
      -webkit-overflow-scrolling:touch;
      gap:8px;
      padding-left:16px;
      padding-right:16px;
    }
    body.hub-pavers-charleston main.svc-rich nav.jump.jump--wrap a,
    body.hub-outdoor-kitchen-charleston main.svc-rich nav.jump.jump--wrap a,
    body.hub-yard-drainage-charleston main.svc-rich nav.jump.jump--wrap a {
      flex:0 0 auto;
    }
  }

  /* SECTIONS */
  main.svc-rich .sec {padding:52px 32px;}
  main.svc-rich .sec.alt {background:#f9f9f7;}
  main.svc-rich .lbl {font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.3px;color:#0F5C4A;margin-bottom:10px;}
  main.svc-rich .sec h2 {font-size:26px;font-weight:600;color:#1a1a1a;margin-bottom:10px;line-height:1.3;}
  main.svc-rich .sec .lead {font-size:15px;color:#555;line-height:1.75;margin-bottom:28px;max-width:700px;}

  /* CALLOUTS */
  main.svc-rich .callout {border-radius:12px;padding:22px 24px;margin-bottom:24px;}
  main.svc-rich .callout.green {background:#E1F5EE;border:1px solid #5DCAA5;}
  main.svc-rich .callout.green h3 {font-size:14px;font-weight:600;color:#085041;margin-bottom:7px;}
  main.svc-rich .callout.green p {font-size:13px;color:#0F6E56;line-height:1.72;}
  main.svc-rich .callout.blue {background:#E6F1FB;border:1px solid #85B7EB;}
  main.svc-rich .callout.blue h3 {font-size:14px;font-weight:600;color:#042C53;margin-bottom:7px;}
  main.svc-rich .callout.blue p {font-size:13px;color:#0C447C;line-height:1.72;}
  main.svc-rich .callout.amber {background:#FFF8EC;border:1px solid #EF9F27;}
  main.svc-rich .callout.amber h3 {font-size:14px;font-weight:600;color:#412402;margin-bottom:7px;}
  main.svc-rich .callout.amber p {font-size:13px;color:#633806;line-height:1.72;}

  /* BENEFITS */
  main.svc-rich .ben-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  main.svc-rich .ben-card {background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:22px 20px;}
  main.svc-rich .ben-num {font-size:24px;font-weight:600;color:#0F5C4A;margin-bottom:10px;}
  main.svc-rich .ben-card h3 {font-size:14px;font-weight:600;color:#1a1a1a;margin-bottom:7px;}
  main.svc-rich .ben-card p {font-size:13px;color:#555;line-height:1.7;}

  /* PATIO TYPES */
  main.svc-rich .types-grid {display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  main.svc-rich .type-card {background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:24px 22px;}
  main.svc-rich .type-card.feat {border-color:#0F5C4A;border-width:2px;}
  main.svc-rich .type-tag {display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.8px;padding:3px 10px;border-radius:20px;margin-bottom:12px;}
  main.svc-rich .tag-pop {background:#E1F5EE;color:#085041;}
  main.svc-rich .tag-ent {background:#E6F1FB;color:#0C447C;}
  main.svc-rich .tag-cov {background:#FAEEDA;color:#633806;}
  main.svc-rich .tag-ml {background:#F1EFE8;color:#444;}
  main.svc-rich .tag-walk {background:#EEEDFE;color:#3C3489;}
  main.svc-rich .type-card h3 {font-size:16px;font-weight:600;color:#1a1a1a;margin-bottom:8px;}
  main.svc-rich .type-card p {font-size:13px;color:#555;line-height:1.7;margin-bottom:14px;}
  main.svc-rich .feat-list {list-style:none;}
  main.svc-rich .feat-list li {font-size:12px;color:#1a1a1a;padding:5px 0;border-bottom:1px solid #f0f0f0;display:flex;gap:8px;}
  main.svc-rich .feat-list li:last-child {border-bottom:none;}
  main.svc-rich .feat-list li .ck {color:#0F5C4A;flex-shrink:0;font-weight:600;}

  /* Appliance partner marquee (outdoor kitchen hub: `#appliances`; other uses may vary) */
  main.svc-rich .partner-marquee{
    margin:12px 0 14px;
    padding:10px 0 8px;
    border-top:1px solid #e0e8e4;
    border-bottom:1px solid #e0e8e4;
    background:linear-gradient(180deg,#fafcfb 0%,#f3f6f4 100%);
  }
  main.svc-rich .partner-marquee-kicker{
    text-align:center;
    font-size:13px;
    font-weight:600;
    color:#1a1a1a;
    margin:0 20px 2px;
    letter-spacing:-0.02em;
  }
  main.svc-rich .partner-marquee-title{
    text-align:center;
    font-size:10px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.12em;
    color:#0F5C4A;
    margin:0 20px 8px;
  }
  main.svc-rich .partner-marquee-lead{
    text-align:center;
    font-size:11px;
    color:#666;
    line-height:1.4;
    max-width:460px;
    margin:0 auto 8px;
    padding:0 20px;
  }
  main.svc-rich .partner-marquee-tier{
    margin-bottom:6px;
  }
  main.svc-rich .partner-marquee-tier:last-of-type{
    margin-bottom:0;
  }
  main.svc-rich .partner-tier-lbl{
    display:block;
    font-size:9px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.11em;
    color:#666;
    margin:0 24px 4px;
  }
  main.svc-rich .partner-marquee-outer{
    overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  }
  main.svc-rich .partner-marquee-track{
    display:flex;
    width:max-content;
    animation:partnerMarquee 48s linear infinite;
  }
  main.svc-rich .partner-marquee-tier--mid .partner-marquee-track{
    animation-duration:54s;
    animation-direction:reverse;
  }
  @keyframes partnerMarquee{
    0%{transform:translateX(0);}
    100%{transform:translateX(-50%);}
  }
  main.svc-rich .partner-marquee-group{
    display:flex;
    align-items:center;
    gap:clamp(18px,3vw,32px);
    padding:2px 16px;
    flex-shrink:0;
  }
  main.svc-rich .partner-logo{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    min-height:28px;
  }
  main.svc-rich .partner-logo img{
    display:block;
    max-height:26px;
    width:auto;
    max-width:min(140px,20vw);
    object-fit:contain;
    filter:grayscale(1);
    opacity:0.8;
  }
  main.svc-rich .partner-marquee-foot{
    text-align:center;
    font-size:9px;
    color:#888;
    line-height:1.4;
    max-width:560px;
    margin:8px auto 0;
    padding:0 22px;
  }
  main.svc-rich .gbb-strip{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:10px;
    margin-top:10px;
    padding-top:10px;
    border-top:1px solid #dce5e1;
  }
  main.svc-rich .gbb-card{
    background:rgba(255,255,255,.72);
    border:1px solid #e4ebe7;
    border-radius:10px;
    padding:10px 12px;
    text-align:center;
  }
  main.svc-rich .gbb-lbl{
    font-size:10px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.1em;
    color:#0F5C4A;
    margin-bottom:4px;
  }
  main.svc-rich .gbb-range{
    font-size:12px;
    font-weight:600;
    color:#1a1a1a;
    margin:0 0 4px;
    line-height:1.3;
  }
  main.svc-rich .gbb-brands{
    font-size:10px;
    color:#666;
    line-height:1.45;
    margin:0;
  }
  main.svc-rich .gbb-link{
    display:block;
    margin-top:8px;
    text-align:center;
    font-size:10px;
    font-weight:600;
    color:#0F5C4A;
    text-decoration:none;
  }
  main.svc-rich .gbb-link:hover{
    text-decoration:underline;
  }

  /* Kitchen + pavers metro hubs: layouts → Good/Better/Best → pricing as one flow */
  body.hub-outdoor-kitchen-charleston main.svc-rich .hub-layout-pricing-flow,
  body.hub-pavers-charleston main.svc-rich .hub-layout-pricing-flow{
    border-bottom:1px solid #e5e5e5;
  }
  body.hub-outdoor-kitchen-charleston main.svc-rich .hub-layout-pricing-flow > .hub-gbb-sec,
  body.hub-pavers-charleston main.svc-rich .hub-layout-pricing-flow > .hub-gbb-sec{
    padding-bottom:36px;
  }
  body.hub-outdoor-kitchen-charleston main.svc-rich .hub-layout-pricing-flow > .sec#pricing,
  body.hub-pavers-charleston main.svc-rich .hub-layout-pricing-flow > .sec#pricing{
    padding-top:40px;
    border-top:1px solid #e4e8e6;
  }
  body.hub-outdoor-kitchen-charleston main.svc-rich .hub-gbb-inner,
  body.hub-pavers-charleston main.svc-rich .hub-gbb-inner{
    max-width:900px;
    margin:0;
    padding:0 0 2px;
  }
  body.hub-outdoor-kitchen-charleston main.svc-rich .hub-gbb-inner .gbb-strip,
  body.hub-pavers-charleston main.svc-rich .hub-gbb-inner .gbb-strip{
    margin-top:6px;
    padding-top:0;
    border-top:none;
  }
  body.hub-outdoor-kitchen-charleston main.svc-rich .hub-gbb-inner .gbb-link,
  body.hub-pavers-charleston main.svc-rich .hub-gbb-inner .gbb-link{
    margin-top:12px;
  }

  body.hub-outdoor-kitchen-charleston main.svc-rich .hub-sec-figure,
  body.hub-pavers-charleston main.svc-rich .hub-sec-figure,
  body.hub-outdoor-kitchen-media main.svc-rich .hub-sec-figure,
  body.hub-pergola-charleston main.svc-rich .hub-sec-figure,
  body.hub-fire-charleston main.svc-rich .hub-sec-figure,
  body.hub-retaining-charleston main.svc-rich .hub-sec-figure,
  body.hub-lighting-charleston main.svc-rich .hub-sec-figure,
  body.hub-water-charleston main.svc-rich .hub-sec-figure,
  body.hub-paver-patio-charleston main.svc-rich .hub-sec-figure,
  body.hub-front-yard-charleston main.svc-rich .hub-sec-figure,
  body.hub-landscape-charleston main.svc-rich .hub-sec-figure{
    margin:18px 0 22px;
    border-radius:12px;
    overflow:hidden;
    border:1px solid #e5e5e5;
    background:#f6f6f4;
    aspect-ratio:16/9;
  }
  body.hub-outdoor-kitchen-charleston main.svc-rich .hub-sec-figure img,
  body.hub-pavers-charleston main.svc-rich .hub-sec-figure img,
  body.hub-outdoor-kitchen-media main.svc-rich .hub-sec-figure img,
  body.hub-pergola-charleston main.svc-rich .hub-sec-figure img,
  body.hub-fire-charleston main.svc-rich .hub-sec-figure img,
  body.hub-retaining-charleston main.svc-rich .hub-sec-figure img,
  body.hub-lighting-charleston main.svc-rich .hub-sec-figure img,
  body.hub-water-charleston main.svc-rich .hub-sec-figure img,
  body.hub-paver-patio-charleston main.svc-rich .hub-sec-figure img,
  body.hub-front-yard-charleston main.svc-rich .hub-sec-figure img,
  body.hub-landscape-charleston main.svc-rich .hub-sec-figure img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    vertical-align:middle;
  }
  body.hub-outdoor-kitchen-media main.svc-rich .hub-coastal-structure-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-top:20px;
  }
  body.hub-outdoor-kitchen-media main.svc-rich .hub-coastal-layout-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
    margin-top:14px;
  }
  body.hub-outdoor-kitchen-media main.svc-rich .hub-coastal-mini-item{
    border-radius:12px;
    overflow:hidden;
    border:1px solid #e5e5e5;
    background:#eee;
    aspect-ratio:16/10;
  }
  body.hub-outdoor-kitchen-media main.svc-rich .hub-coastal-mini-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  body.hub-outdoor-kitchen-charleston main.svc-rich .mat-card-media{
    margin:-20px -18px 14px;
    border-radius:12px 12px 0 0;
    overflow:hidden;
    aspect-ratio:16/10;
    background:#eee;
  }
  body.hub-outdoor-kitchen-charleston main.svc-rich .mat-card-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  body.hub-outdoor-kitchen-charleston main.svc-rich .type-card-media,
  body.hub-pavers-charleston main.svc-rich .type-card-media,
  body.hub-pergola-charleston main.svc-rich .type-card-media,
  body.hub-fire-charleston main.svc-rich .type-card-media,
  body.hub-retaining-charleston main.svc-rich .type-card-media,
  body.hub-lighting-charleston main.svc-rich .type-card-media{
    margin:-24px -22px 14px;
    border-radius:12px 12px 0 0;
    overflow:hidden;
    aspect-ratio:16/10;
    background:#eee;
  }
  body.hub-outdoor-kitchen-charleston main.svc-rich .type-card.feat .type-card-media,
  body.hub-pavers-charleston main.svc-rich .type-card.feat .type-card-media,
  body.hub-pergola-charleston main.svc-rich .type-card.feat .type-card-media,
  body.hub-fire-charleston main.svc-rich .type-card.feat .type-card-media,
  body.hub-retaining-charleston main.svc-rich .type-card.feat .type-card-media,
  body.hub-lighting-charleston main.svc-rich .type-card.feat .type-card-media{
    margin:-24px -22px 14px;
    border-radius:10px 10px 0 0;
  }
  body.hub-outdoor-kitchen-charleston main.svc-rich .type-card-media img,
  body.hub-pavers-charleston main.svc-rich .type-card-media img,
  body.hub-pergola-charleston main.svc-rich .type-card-media img,
  body.hub-fire-charleston main.svc-rich .type-card-media img,
  body.hub-retaining-charleston main.svc-rich .type-card-media img,
  body.hub-lighting-charleston main.svc-rich .type-card-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  /* Fire hub: job-site / buyer diligence imagery (layout, utilities, rough masonry, gas rough-in) */
  body.hub-fire-charleston main.svc-rich .hub-buyer-process-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    margin-top:22px;
  }
  body.hub-fire-charleston main.svc-rich .hub-buyer-process-card{
    margin:0;
    background:#fff;
    border:1px solid #e5e5e5;
    border-radius:12px;
    overflow:hidden;
  }
  body.hub-fire-charleston main.svc-rich .hub-buyer-process-media{
    aspect-ratio:16/10;
    background:#eee;
  }
  body.hub-fire-charleston main.svc-rich .hub-buyer-process-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  body.hub-fire-charleston main.svc-rich .hub-buyer-process-card figcaption{
    padding:14px 16px 16px;
    font-size:13px;
    color:#555;
    line-height:1.65;
  }
  body.hub-fire-charleston main.svc-rich .hub-buyer-process-card figcaption strong{
    display:block;
    font-size:12px;
    font-weight:600;
    color:#1a1a1a;
    text-transform:uppercase;
    letter-spacing:0.06em;
    margin-bottom:7px;
  }
  body.hub-fire-charleston main.svc-rich #job-site .hub-buyer-process-footnote{
    font-size:13px;
    color:#666;
    max-width:720px;
    line-height:1.7;
    margin-top:20px;
    margin-bottom:0;
  }

  @media (prefers-reduced-motion:reduce){
    main.svc-rich .partner-marquee-track{animation:none;width:100%;flex-wrap:wrap;justify-content:center;}
    main.svc-rich .partner-marquee-group[aria-hidden="true"]{display:none;}
    main.svc-rich .partner-marquee-outer{-webkit-mask-image:none;mask-image:none;overflow:visible;}
  }
  @media(max-width:768px){
    main.svc-rich .gbb-strip{grid-template-columns:1fr;}
  }

  /* DRAINAGE */
  main.svc-rich .drain-grid {display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  main.svc-rich .drain-card {background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:18px 16px;}
  main.svc-rich .drain-card h3 {font-size:13px;font-weight:600;color:#1a1a1a;margin-bottom:6px;display:flex;align-items:center;gap:7px;}
  main.svc-rich .drain-card h3 .ck {color:#0F5C4A;}
  main.svc-rich .drain-card p {font-size:12px;color:#555;line-height:1.65;}
  body.hub-pergola-charleston main.svc-rich .drain-card-media{
    margin:-18px -16px 12px;
    border-radius:12px 12px 0 0;
    overflow:hidden;
    aspect-ratio:16/10;
    background:#eee;
  }
  body.hub-pergola-charleston main.svc-rich .drain-card-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  body.hub-outdoor-kitchen-charleston main.svc-rich .drain-card-media{
    margin:-18px -16px 12px;
    border-radius:12px 12px 0 0;
    overflow:hidden;
    aspect-ratio:16/10;
    background:#eee;
  }
  body.hub-outdoor-kitchen-charleston main.svc-rich .drain-card-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  /* MATERIALS */
  main.svc-rich .mat-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  main.svc-rich .mat-card {background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:20px 18px;}
  main.svc-rich .mat-card.rec {border-color:#0F5C4A;}
  main.svc-rich .mat-badge {display:inline-block;font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px;margin-bottom:10px;}
  main.svc-rich .mb-best {background:#E1F5EE;color:#085041;}
  main.svc-rich .mb-prem {background:#FAEEDA;color:#633806;}
  main.svc-rich .mb-lux {background:#E6F1FB;color:#0C447C;}
  main.svc-rich .mat-card h3 {font-size:14px;font-weight:600;color:#1a1a1a;margin-bottom:6px;}
  main.svc-rich .mat-card p {font-size:12px;color:#555;line-height:1.65;}

  /* Paver patio hub — uniform on-site work grid */
  main.svc-rich .pp-work-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-top:18px;
  }
  main.svc-rich .pp-work-item{
    border:1px solid #e5e5e5;
    border-radius:12px;
    overflow:hidden;
    background:#fff;
    display:flex;
    flex-direction:column;
  }
  main.svc-rich .pp-work-photo{
    aspect-ratio:16/10;
    overflow:hidden;
    background:#eee;
  }
  main.svc-rich .pp-work-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  main.svc-rich .pp-work-cap{
    margin:0;
    padding:10px 12px 12px;
    font-size:12px;
    line-height:1.45;
    color:#444;
  }

  /* PATTERNS */
  main.svc-rich .pat-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
  main.svc-rich .pat-card {background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:16px;}
  main.svc-rich .pat-card h3 {font-size:13px;font-weight:600;color:#1a1a1a;margin-bottom:5px;}
  main.svc-rich .pat-card p {font-size:12px;color:#555;line-height:1.6;}
  main.svc-rich .pat-card .best-for {font-size:11px;color:#0F5C4A;font-weight:600;margin-top:7px;}

  /* PRICING TIERS */
  main.svc-rich .tier-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  main.svc-rich .tier {border:1px solid #e5e5e5;border-radius:12px;padding:24px 20px;background:#fff;}
  main.svc-rich .tier.feat {border-color:#0F5C4A;border-width:2px;}
  main.svc-rich .tier-badge {display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.8px;padding:3px 10px;border-radius:20px;margin-bottom:14px;}
  main.svc-rich .tb-g {background:#E1F5EE;color:#085041;}
  main.svc-rich .tb-b {background:#E6F1FB;color:#0C447C;}
  main.svc-rich .tb-p {background:#FAEEDA;color:#633806;}
  main.svc-rich .tier h3 {font-size:16px;font-weight:600;color:#1a1a1a;margin-bottom:5px;}
  main.svc-rich .tier .price {font-size:22px;font-weight:700;color:#0F5C4A;margin-bottom:3px;}
  main.svc-rich .tier .psub {font-size:12px;color:#888;margin-bottom:14px;}
  main.svc-rich .tlist {list-style:none;}
  main.svc-rich .tlist li {font-size:13px;color:#555;padding:6px 0;border-bottom:1px solid #f0f0f0;display:flex;gap:8px;}
  main.svc-rich .tlist li:last-child {border-bottom:none;}
  main.svc-rich .tlist li .ck {color:#0F5C4A;flex-shrink:0;font-weight:600;}

  /* PROCESS */
  main.svc-rich .process-wrap {border:1px solid #e5e5e5;border-radius:12px;overflow:hidden;background:#fff;}
  main.svc-rich .ps {display:flex;gap:18px;padding:18px 22px;border-bottom:1px solid #f0f0f0;align-items:flex-start;}
  main.svc-rich .ps:last-child {border-bottom:none;}
  main.svc-rich .psn {font-size:11px;font-weight:700;color:#0F5C4A;letter-spacing:0.8px;text-transform:uppercase;flex-shrink:0;width:26px;margin-top:2px;}
  main.svc-rich .ps h4 {font-size:14px;font-weight:600;color:#1a1a1a;margin-bottom:5px;}
  main.svc-rich .ps p {font-size:13px;color:#555;line-height:1.65;}
  body.hub-outdoor-kitchen-charleston main.svc-rich .ps-content {flex:1;min-width:0;}
  body.hub-outdoor-kitchen-charleston main.svc-rich .ps-media {
    margin:0 0 12px;
    border-radius:8px;
    overflow:hidden;
    aspect-ratio:16/9;
    background:#eee;
  }
  body.hub-outdoor-kitchen-charleston main.svc-rich .ps-media img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  /* AUDIENCE */
  main.svc-rich .aud-strip {display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  main.svc-rich .aud-card {border:1px solid #e5e5e5;border-radius:12px;padding:22px 20px;background:#fff;}
  main.svc-rich .atag {display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.8px;padding:4px 10px;border-radius:20px;margin-bottom:12px;}
  main.svc-rich .at-dev {background:#E1F5EE;color:#085041;}
  main.svc-rich .at-gc {background:#E6F1FB;color:#0C447C;}
  main.svc-rich .at-pm {background:#FAEEDA;color:#633806;}
  main.svc-rich .aud-card h3 {font-size:14px;font-weight:600;color:#1a1a1a;margin-bottom:6px;}
  main.svc-rich .aud-card p {font-size:13px;color:#555;line-height:1.65;}
  body.hub-outdoor-kitchen-charleston main.svc-rich .aud-card-media {
    margin:-22px -20px 14px;
    border-radius:12px 12px 0 0;
    overflow:hidden;
    aspect-ratio:16/10;
    background:#eee;
  }
  body.hub-outdoor-kitchen-charleston main.svc-rich .aud-card-media img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  main.svc-rich .hw-strip {border:2px solid #0F5C4A;border-radius:12px;padding:26px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:#fff;margin-top:14px;}
  main.svc-rich .hw-text h3 {font-size:17px;font-weight:600;color:#1a1a1a;margin-bottom:7px;}
  main.svc-rich .hw-text p {font-size:14px;color:#555;line-height:1.7;max-width:480px;}

  /* FAQ */
  main.svc-rich .faq-list {display:grid;gap:12px;}
  main.svc-rich .faq-item {border:1px solid #e5e5e5;border-radius:12px;padding:20px 22px;background:#fff;}
  main.svc-rich .faq-item h3 {font-size:14px;font-weight:600;color:#1a1a1a;margin-bottom:8px;}
  main.svc-rich .faq-item p {font-size:13px;color:#555;line-height:1.75;}

  /* RELATED */
  main.svc-rich .related-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
  main.svc-rich .rel-card {border:1px solid #e5e5e5;border-radius:12px;padding:18px;background:#fff;display:flex;align-items:center;gap:14px;}
  main.svc-rich .rel-ico {font-size:24px;flex-shrink:0;}
  body.hub-outdoor-kitchen-charleston main.svc-rich .rel-thumb {
    flex-shrink:0;
    width:64px;
    height:64px;
    border-radius:10px;
    overflow:hidden;
    background:#eee;
  }
  body.hub-outdoor-kitchen-charleston main.svc-rich .rel-thumb img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  main.svc-rich .rel-card h3 {font-size:14px;font-weight:600;color:#1a1a1a;margin-bottom:3px;}
  main.svc-rich .rel-card p {font-size:12px;color:#0F5C4A;}

  /* CTA */
  main.svc-rich .cta-block {background:#071a0e;color:#fff;border-radius:12px;padding:48px 32px;text-align:center;margin:0 32px 48px;}
  main.svc-rich .cta-block h2 {font-size:26px;font-weight:600;margin-bottom:12px;line-height:1.35;}
  main.svc-rich .cta-block p {font-size:15px;margin-bottom:28px;max-width:500px;margin-left:auto;margin-right:auto;line-height:1.75;color:rgba(255,255,255,0.88);}
  main.svc-rich .cta-block.ok-mid-cta {margin-top:36px;margin-bottom:40px;}
  body.hub-outdoor-kitchen-charleston main.svc-rich .cta-block.ok-cta-visual {padding:0;overflow:hidden;}
  body.hub-outdoor-kitchen-charleston main.svc-rich .ok-cta-visual-top img {
    width:100%;
    height:clamp(140px, 28vw, 260px);
    object-fit:cover;
    display:block;
  }
  body.hub-outdoor-kitchen-charleston main.svc-rich .ok-cta-visual-inner {padding:40px 32px 48px;}

  /* FOOTER */
  main.svc-rich .footer {padding:22px 32px;border-top:1px solid #e5e5e5;display:flex;justify-content:space-between;font-size:12px;color:#888;flex-wrap:wrap;gap:8px;}

  @media(max-width:768px){
    body.hub-outdoor-kitchen-media main.svc-rich .hub-coastal-structure-grid,
    body.hub-outdoor-kitchen-media main.svc-rich .hub-coastal-layout-grid{grid-template-columns:1fr;}
    body.hub-fire-charleston main.svc-rich .hub-buyer-process-grid{grid-template-columns:1fr;}
    main.svc-rich .ben-grid, main.svc-rich .types-grid, main.svc-rich .mat-grid, main.svc-rich .tier-grid, main.svc-rich .aud-strip, main.svc-rich .pat-grid, main.svc-rich .drain-grid, main.svc-rich .pp-work-grid {grid-template-columns:1fr;}
    main.svc-rich .hero h1 {font-size:26px;}
    main.svc-rich .sec h2 {font-size:22px;}
  }
main.svc-rich a.rel-card { text-decoration: none; color: inherit; display: flex; align-items: center; gap: 14px; }
main.svc-rich a.rel-card:hover { border-color: #0F5C4A; }
main.svc-rich .hero .btn { border-radius: 8px; font-size: 14px; font-weight: 500; padding: 12px 22px; }
main.svc-rich .hero .btn-outline { border: 1px solid rgba(255,255,255,.42); color: #fff; }
main.svc-rich .hero .btn-gold { background: #0F5C4A; color: #fff; }
main.svc-rich .cta-block .btn-gold { background: #0F5C4A; color: #fff; }

/* —— SEO import article + hub components —— */
main.svc-rich *{box-sizing:border-box;}
main.svc-rich{margin:0;padding:0;}
main.svc-rich .dev-nav {background:#0F5C4A;padding:10px 20px;display:flex;gap:6px;flex-wrap:wrap;align-items:center;position:sticky;top:0;z-index:100;}
main.svc-rich .dev-nav span {color:rgba(255,255,255,0.5);font-size:10px;margin-right:2px;flex-shrink:0;text-transform:uppercase;letter-spacing:.5px;}
main.svc-rich .dev-btn {background:rgba(255,255,255,0.1);color:#fff;border:none;padding:4px 10px;border-radius:14px;font-size:10px;cursor:pointer;white-space:nowrap;}
main.svc-rich .dev-btn.active {background:#C89B35;}
main.svc-rich .dev-btn:hover {background:rgba(255,255,255,0.2);}
main.svc-rich .page {display:none;}
main.svc-rich .page.active {display:block;}
/* chrome */
main.svc-rich .site-nav {display:flex;align-items:center;justify-content:space-between;padding:14px 32px;border-bottom:1px solid #e8e8e8;background:#fff;}
main.svc-rich .logo {font-size:17px;font-weight:700;color:#1a1a1a;letter-spacing:-.3px;}
main.svc-rich .logo em{color:#0F5C4A;font-style:normal;}
main.svc-rich .nav-cta {background:#0F5C4A;color:#fff;border:none;padding:8px 18px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;}
main.svc-rich .crumb {padding:8px 32px;font-size:12px;color:#999;background:#fafafa;border-bottom:1px solid #f0f0f0;}
main.svc-rich .crumb a {color:#0F5C4A;text-decoration:none;}
/* layout */
main.svc-rich .hero-btn {background:#C89B35;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;margin-right:10px;}
main.svc-rich a.hero-btn {text-decoration:none;display:inline-block;box-sizing:border-box;}
main.svc-rich a.hero-btn.ghost {text-decoration:none;display:inline-block;box-sizing:border-box;}
main.svc-rich .hero-btn.ghost {background:transparent;border:1.5px solid rgba(255,255,255,.4);color:#fff;}
main.svc-rich .content {max-width:820px;margin:0 auto;padding:52px 32px 72px;}
/* typography */
main.svc-rich .content h2 {font-size:22px;font-weight:700;color:#1a1a1a;margin:40px 0 12px;line-height:1.3;letter-spacing:-.3px;}
main.svc-rich .content h3 {font-size:17px;font-weight:600;color:#1a1a1a;margin:28px 0 8px;}
main.svc-rich .content p {font-size:15px;color:#333;line-height:1.8;margin-bottom:16px;}
main.svc-rich .content ul, main.svc-rich .content ol {margin:0 0 18px 20px;}
main.svc-rich .content li {font-size:15px;color:#333;line-height:1.75;margin-bottom:5px;}
main.svc-rich .content a {color:#0F5C4A;text-decoration:none;border-bottom:1px solid rgba(15,92,74,.2);}
main.svc-rich .content a:hover {border-color:#0F5C4A;}
/* callouts */
main.svc-rich .tip {background:#E4F4ED;border-left:3px solid #0F5C4A;border-radius:0 8px 8px 0;padding:16px 20px;margin:24px 0;}
main.svc-rich .tip p {font-size:14px;color:#0A4535;margin:0;line-height:1.7;}
main.svc-rich .warn {background:#FFF8EC;border-left:3px solid #D4921A;border-radius:0 8px 8px 0;padding:16px 20px;margin:24px 0;}
main.svc-rich .warn p {font-size:14px;color:#5C3A0A;margin:0;line-height:1.7;}
/* table */
main.svc-rich .tbl {width:100%;border-collapse:collapse;font-size:14px;margin:20px 0 28px;}
main.svc-rich .tbl th {padding:10px 14px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:#666;border-bottom:2px solid #e8e8e8;background:#f9f9f7;}
main.svc-rich .tbl td {padding:10px 14px;border-bottom:1px solid #f0f0f0;color:#333;vertical-align:top;}
main.svc-rich .tbl tr:last-child td {border:none;}
/* faq */
main.svc-rich .faq {border-top:1px solid #e8e8e8;margin-top:44px;padding-top:36px;}
main.svc-rich .faq h2 {margin-top:0;}
main.svc-rich .faq-item {border-bottom:1px solid #f0f0f0;padding:18px 0;}
main.svc-rich .faq-item:last-child {border:none;}
main.svc-rich .faq-item h3 {margin:0 0 8px;font-size:16px;color:#1a1a1a;}
main.svc-rich .faq-item p {margin:0;font-size:14px;color:#444;line-height:1.75;}
/* cta strip */
main.svc-rich .cta-strip {background:#071a0e;color:#fff;border-radius:12px;padding:36px 32px;margin:44px 0 0;text-align:center;}
main.svc-rich .cta-strip h2 {color:#fff;font-size:22px;margin:0 0 10px;}
main.svc-rich .cta-strip p {opacity:.72;font-size:14px;max-width:460px;margin:0 auto 20px;line-height:1.7;}
main.svc-rich .cta-btn {background:#C89B35;color:#fff;border:none;padding:12px 26px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;}
main.svc-rich a.cta-btn {text-decoration:none;display:inline-block;box-sizing:border-box;}
main.svc-rich .cta-strip a.cta-btn {border-bottom:none;}
main.svc-rich .cta-strip a.cta-btn:hover {border-bottom:none;}
/* service grid */
main.svc-rich .svc-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0;}
main.svc-rich .svc-card {border:1px solid #e8e8e8;border-radius:10px;padding:16px;cursor:pointer;}
main.svc-rich .svc-card:hover {border-color:#0F5C4A;background:#f9fdf9;}
main.svc-rich .svc-card .label {font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:#0F5C4A;margin-bottom:5px;}
main.svc-rich .svc-card .title {font-size:13px;font-weight:600;color:#1a1a1a;line-height:1.4;}
/* city links */
main.svc-rich .city-links {display:flex;flex-wrap:wrap;gap:8px;margin:16px 0;}
main.svc-rich .city-tag {background:#f0f7f4;color:#0F5C4A;padding:5px 12px;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid #c8e3da;}
main.svc-rich .city-tag:hover {background:#0F5C4A;color:#fff;}
/* city hero variant */
main.svc-rich .city-hero {background:linear-gradient(160deg,#071a0e 0%,#0d3d2a 60%,#1a5c3e 100%);color:#fff;padding:52px 32px 44px;--hero-parallax-y:0px;}
main.svc-rich .city-hero h1 {color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.35);}
main.svc-rich .city-hero .hero-inner > p {color:rgba(255,255,255,0.93);text-shadow:0 1px 2px rgba(0,0,0,.4);}
main.svc-rich .city-badge {display:inline-block;background:rgba(200,155,53,.2);color:#C89B35;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:4px 12px;border-radius:20px;border:1px solid rgba(200,155,53,.35);margin-bottom:16px;}
/* service list for city pages */
main.svc-rich .svc-list {display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0;}
main.svc-rich .svc-list a {display:block;padding:12px 16px;border:1px solid #e8e8e8;border-radius:8px;font-size:14px;font-weight:500;color:#1a1a1a;text-decoration:none;border-bottom:1px solid #e8e8e8;}
main.svc-rich .svc-list a:hover {border-color:#0F5C4A;color:#0F5C4A;background:#f9fdf9;}
main.svc-rich .svc-list a span {display:block;font-size:11px;color:#888;font-weight:400;margin-top:2px;}
main.svc-rich h2#money {scroll-margin-top:64px;margin-top:28px;font-size:22px;letter-spacing:-0.02em;}
main.svc-rich .money-strip-note {font-size:13px;color:#555;line-height:1.55;margin:14px 0 24px;max-width:720px;}
/* footer */
main.svc-rich .footer {padding:20px 32px;border-top:1px solid #e8e8e8;display:flex;justify-content:space-between;font-size:11px;color:#999;flex-wrap:wrap;gap:8px;}
/* Shared crumb (SEO imports use .crumb; long-form uses .breadcrumb) */
main.svc-rich .crumb, main.svc-rich .breadcrumb { padding: 10px 32px; font-size: 12px; color: #888; border-bottom: 1px solid #f0f0f0; background: #fafafa; }
main.svc-rich .crumb a, main.svc-rich .breadcrumb a { color: #0F5C4A; text-decoration: none; }
main.svc-rich .crumb a:hover { text-decoration: underline; }
/* SEO article body inside long-form shell */
main.svc-rich .content .btn.btn-gold { background: #C89B35; color: #fff; border-radius: 8px; padding: 12px 24px; display: inline-block; margin-right: 10px; }
main.svc-rich .content .btn.btn-outline { background: transparent; border: 1.5px solid rgba(255,255,255,.4); color: #fff; }
main.svc-rich .hero .hero-inner .btn.btn-outline { border: 1.5px solid rgba(255,255,255,.4); color: #fff; }
main.svc-rich .hero.rich-hero--motion .hero-inner .btn.btn-outline,
main.svc-rich .city-hero.rich-hero--motion .hero-inner .btn.btn-outline{
  border:1.5px solid rgba(255,255,255,.62);
  background:rgba(4,12,9,.35);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}

/* ── Outdoor kitchen Charleston hub: kitchen-only carousel (export stills per docs/outdoor-kitchen-charleston-sc-image-prompts.md) ── */
body.hub-outdoor-kitchen-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-1{background-image:url('/assets/ok-charleston-hero-01.png');background-position:center 46%;}
body.hub-outdoor-kitchen-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-2{background-image:url('/assets/ok-charleston-hero-02.png');background-position:center 42%;}
body.hub-outdoor-kitchen-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-3{background-image:url('/assets/bc-charleston-yard-story-06-kitchen-finish.png?v=2026042021');background-position:center 42%;}
body.hub-outdoor-kitchen-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-4{background-image:url('/assets/bc-charleston-yard-story-05-pergola.png?v=2026042022');background-position:center 44%;}
body.hub-outdoor-kitchen-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-5{background-image:url('/assets/bc-charleston-yard-story-08-complete.png?v=2026042022');background-position:center 46%;}

/* Pavers Charleston metro pillar — five carousel stills (field + aerial / jobsite variety) */
body.hub-pavers-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-1{background-image:url('/assets/paver-charleston-hero-01.png');background-position:center 48%;}
body.hub-pavers-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-2{background-image:url('/assets/paver-charleston-hero-02.png');background-position:center 46%;}
body.hub-pavers-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-3{background-image:url('/assets/paver-charleston-hero-03.png');background-position:center 50%;}
body.hub-pavers-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-4{background-image:url('/assets/paver-charleston-hero-04.png');background-position:center 46%;}
body.hub-pavers-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-5{background-image:url('/assets/paver-charleston-work-aerial-01.png');background-position:center 42%;}

/* Pavers Charleston cost silo — city-hero carousel (four paver field stills) */
body.hub-pavers-charleston-cost main.svc-rich .city-hero.rich-hero--motion .hero-slide.slide-1{background-image:url('/assets/paver-charleston-hero-01.png');background-position:center 48%;background-size:cover;background-repeat:no-repeat;}
body.hub-pavers-charleston-cost main.svc-rich .city-hero.rich-hero--motion .hero-slide.slide-2{background-image:url('/assets/paver-charleston-hero-02.png');background-position:center 46%;background-size:cover;background-repeat:no-repeat;}
body.hub-pavers-charleston-cost main.svc-rich .city-hero.rich-hero--motion .hero-slide.slide-3{background-image:url('/assets/paver-charleston-hero-03.png');background-position:center 50%;background-size:cover;background-repeat:no-repeat;}
body.hub-pavers-charleston-cost main.svc-rich .city-hero.rich-hero--motion .hero-slide.slide-4{background-image:url('/assets/paver-charleston-hero-04.png');background-position:center 46%;background-size:cover;background-repeat:no-repeat;}

/* Pavers Charleston application silos — same city-hero carousel as cost */
body.hub-pavers-charleston-silo main.svc-rich .city-hero.rich-hero--motion .hero-slide.slide-1{background-image:url('/assets/paver-charleston-hero-01.png');background-position:center 48%;background-size:cover;background-repeat:no-repeat;}
body.hub-pavers-charleston-silo main.svc-rich .city-hero.rich-hero--motion .hero-slide.slide-2{background-image:url('/assets/paver-charleston-hero-02.png');background-position:center 46%;background-size:cover;background-repeat:no-repeat;}
body.hub-pavers-charleston-silo main.svc-rich .city-hero.rich-hero--motion .hero-slide.slide-3{background-image:url('/assets/paver-charleston-hero-03.png');background-position:center 50%;background-size:cover;background-repeat:no-repeat;}
body.hub-pavers-charleston-silo main.svc-rich .city-hero.rich-hero--motion .hero-slide.slide-4{background-image:url('/assets/paver-charleston-hero-04.png');background-position:center 46%;background-size:cover;background-repeat:no-repeat;}

/* Outdoor Living Charleston SC hub — city-hero carousel */
body.hub-outdoor-living-charleston main.svc-rich .city-hero.rich-hero--motion .hero-slide.slide-1{background-image:url('/assets/ol-charleston-hero-01.png?v=2026041507');background-position:center 48%;background-size:cover;background-repeat:no-repeat;}
body.hub-outdoor-living-charleston main.svc-rich .city-hero.rich-hero--motion .hero-slide.slide-2{background-image:url('/assets/ol-charleston-hero-02.png?v=2026041507');background-position:center 46%;background-size:cover;background-repeat:no-repeat;}
body.hub-outdoor-living-charleston main.svc-rich .city-hero.rich-hero--motion .hero-slide.slide-3{background-image:url('/assets/ol-charleston-hero-03.png?v=2026041507');background-position:center 50%;background-size:cover;background-repeat:no-repeat;}
body.hub-outdoor-living-charleston main.svc-rich .city-hero.rich-hero--motion .hero-slide.slide-4{background-image:url('/assets/ol-charleston-hero-04.png?v=2026041507');background-position:center 46%;background-size:cover;background-repeat:no-repeat;}

/* Yard drainage Charleston SC hub — city-hero carousel */
body.hub-yard-drainage-charleston main.svc-rich .city-hero.rich-hero--motion .hero-slide.slide-1{background-image:url('/assets/drain-charleston-hero-01.png?v=2026041810');background-position:center 46%;background-size:cover;background-repeat:no-repeat;}
body.hub-yard-drainage-charleston main.svc-rich .city-hero.rich-hero--motion .hero-slide.slide-2{background-image:url('/assets/drain-charleston-hero-02.png?v=2026041810');background-position:center 44%;background-size:cover;background-repeat:no-repeat;}
body.hub-yard-drainage-charleston main.svc-rich .city-hero.rich-hero--motion .hero-slide.slide-3{background-image:url('/assets/drain-charleston-hero-03.png?v=2026041810');background-position:center 48%;background-size:cover;background-repeat:no-repeat;}
body.hub-yard-drainage-charleston main.svc-rich .city-hero.rich-hero--motion .hero-slide.slide-4{background-image:url('/assets/drain-charleston-hero-04.png?v=2026041810');background-position:center 46%;background-size:cover;background-repeat:no-repeat;}

body.hub-outdoor-living-charleston main.svc-rich .ol-hub-story{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin:28px 0 8px;
  max-width:1100px;
}
body.hub-outdoor-living-charleston main.svc-rich .ol-hub-story-fig{
  margin:0;
}
body.hub-outdoor-living-charleston main.svc-rich .ol-hub-story-fig img{
  width:100%;
  height:auto;
  display:block;
  border-radius:12px;
  border:1px solid var(--border,#e5e5e5);
}
body.hub-outdoor-living-charleston main.svc-rich .ol-hub-story-fig figcaption{
  margin-top:10px;
  font-size:.88rem;
  line-height:1.5;
  color:var(--text,#444);
}
@media (max-width:720px){
  body.hub-outdoor-living-charleston main.svc-rich .ol-hub-story{grid-template-columns:1fr;}
}

/* Outdoor kitchen pillar — linear wall neighborhood examples (layouts grid) */
body.hub-outdoor-kitchen-charleston main.svc-rich .ok-linear-wall-triptych{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:14px 0 18px;
}
body.hub-outdoor-kitchen-charleston main.svc-rich .ok-linear-wall-mini{
  margin:0;
}
body.hub-outdoor-kitchen-charleston main.svc-rich .ok-linear-wall-mini img{
  width:100%;
  height:auto;
  display:block;
  border-radius:10px;
  border:1px solid var(--border,#e5e5e5);
}
body.hub-outdoor-kitchen-charleston main.svc-rich .ok-linear-wall-mini figcaption{
  margin-top:8px;
  font-size:12px;
  font-weight:600;
  color:#1a1a1a;
  line-height:1.35;
}
@media (max-width:900px){
  body.hub-outdoor-kitchen-charleston main.svc-rich .ok-linear-wall-triptych{grid-template-columns:1fr;}
}

/* Pergola / patio cover Charleston hub — four carousel stills */
body.hub-pergola-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-1{background-image:url('/assets/perg-charleston-hero-01.png');background-position:center 44%;}
body.hub-pergola-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-2{background-image:url('/assets/perg-charleston-hero-02.png');background-position:center 42%;}
body.hub-pergola-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-3{background-image:url('/assets/perg-charleston-hero-03.png');background-position:center 46%;}
body.hub-pergola-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-4{background-image:url('/assets/perg-charleston-hero-04.png');background-position:center 44%;}

/* Fire pits & outdoor fireplaces Charleston hub — seven carousel stills (outdoor / hardscape only; no interiors). Includes dedicated linear seat-wall + fire table slides. */
body.hub-fire-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-1{background-image:url('/assets/fire-charleston-pit-generated.png');background-position:center 48%;}
body.hub-fire-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-2{background-image:url('/assets/fire-charleston-fireplace-generated.png');background-position:center 44%;}
body.hub-fire-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-3{background-image:url('/assets/hero-slide-03-firepit.png');background-position:center 55%;}
body.hub-fire-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-4{background-image:url('/assets/inspire-firepit-01.png');background-position:center 48%;}
body.hub-fire-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-5{background-image:url('/assets/inspire-fireplace-01.png');background-position:center 44%;}
body.hub-fire-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-6{background-image:url('/assets/fire-charleston-linear-seatwall.png');background-position:center 46%;}
body.hub-fire-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-7{background-image:url('/assets/fire-charleston-fire-table.png');background-position:center 48%;}

/* Retaining walls Charleston hub */
body.hub-retaining-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-1{background-image:url('/assets/retaining-charleston-hero-01.png');background-position:center 46%;}
body.hub-retaining-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-2{background-image:url('/assets/retaining-charleston-hero-02.png');background-position:center 44%;}
body.hub-retaining-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-3{background-image:url('/assets/retaining-charleston-hero-03.png');background-position:center 48%;}
body.hub-retaining-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-4{background-image:url('/assets/retaining-charleston-hero-04.png');background-position:center 46%;}

/* Outdoor lighting Charleston hub */
body.hub-lighting-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-1{background-image:url('/assets/lighting-charleston-hero-01.png');background-position:center 48%;}
body.hub-lighting-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-2{background-image:url('/assets/lighting-charleston-hero-02.png');background-position:center 46%;}
body.hub-lighting-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-3{background-image:url('/assets/lighting-charleston-hero-03.png');background-position:center 48%;}
body.hub-lighting-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-4{background-image:url('/assets/lighting-charleston-hero-04.png');background-position:center 50%;}

/* Water features Charleston hub */
body.hub-water-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-1{background-image:url('/assets/water-charleston-hero-01.png');background-position:center 50%;}
body.hub-water-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-2{background-image:url('/assets/water-charleston-hero-02.png');background-position:center 48%;}
body.hub-water-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-3{background-image:url('/assets/water-charleston-hero-03.png');background-position:center 48%;}
body.hub-water-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-4{background-image:url('/assets/water-charleston-hero-04.png');background-position:center 46%;}

/* Paver patio Charleston hub — carousel art: paver field + brick accent inlays only */
body.hub-paver-patio-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-1{background-image:url('/assets/paver-charleston-hero-01.png');background-position:center 48%;}
body.hub-paver-patio-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-2{background-image:url('/assets/paver-charleston-hero-02.png');background-position:center 46%;}
body.hub-paver-patio-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-3{background-image:url('/assets/paver-charleston-hero-03.png');background-position:center 50%;}
body.hub-paver-patio-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-4{background-image:url('/assets/paver-charleston-hero-04.png');background-position:center 46%;}
body.hub-front-yard-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-1{background-image:url('/assets/front-yard-charleston-hero-01.png');background-position:center 46%;}
body.hub-front-yard-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-2{background-image:url('/assets/front-yard-charleston-hero-02.png');background-position:center 44%;}
body.hub-front-yard-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-3{background-image:url('/assets/front-yard-charleston-hero-03.png');background-position:center 48%;}
body.hub-front-yard-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-4{background-image:url('/assets/front-yard-charleston-hero-04.png');background-position:center 46%;}
body.hub-backyard-contractor-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-1{background-image:url('/assets/ok-charleston-hero-01.png?v=202604160');background-position:center 46%;}
body.hub-backyard-contractor-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-2{background-image:url('/assets/ok-charleston-hero-02.png?v=202604160');background-position:center 42%;}
body.hub-backyard-contractor-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-3{background-image:url('/assets/ok-charleston-hero-03.png?v=202604160');background-position:center 48%;}
body.hub-backyard-contractor-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-4{background-image:url('/assets/bc-charleston-yard-story-05-pergola.png?v=2026042022');background-position:center 44%;}
body.hub-backyard-contractor-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-5{background-image:url('/assets/bc-charleston-yard-story-08-complete.png?v=2026042022');background-position:center 46%;}
body.hub-landscape-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-1{background-image:url('/assets/landscape-charleston-hero-01.png');background-position:center 46%;}
body.hub-landscape-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-2{background-image:url('/assets/landscape-charleston-hero-02.png');background-position:center 44%;}
body.hub-landscape-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-3{background-image:url('/assets/landscape-charleston-hero-03.png');background-position:center 48%;}
body.hub-landscape-charleston main.svc-rich .hero.rich-hero--motion .hero-slide.slide-4{background-image:url('/assets/landscape-charleston-hero-04.png');background-position:center 46%;}

/* Kitchen + pavers metro hubs: same hero copy pattern as #home-hero — backgrounds auto-advance via assets/hero-slider.js */
body.hub-outdoor-kitchen-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content,
body.hub-pavers-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content{
  position:relative;z-index:3;
  width:100%;
}
@media (min-width:901px){
  body.hub-outdoor-kitchen-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content,
  body.hub-pavers-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content{
    padding-right:clamp(28px,min(36vw,300px),300px);
  }
}
body.hub-outdoor-kitchen-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content h1,
body.hub-pavers-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content h1{
  font-family:var(--font-head);
  font-size:clamp(2.35rem,4.5vw + 1rem,3.65rem);
  font-weight:700;
  line-height:1.12;
  margin-bottom:20px;
  max-width:min(640px,100%);
  color:#fff;
  text-shadow:
    0 1px 2px rgba(0,0,0,.55),
    0 4px 28px rgba(0,0,0,.45),
    0 0 1px rgba(0,0,0,.8);
}
body.hub-outdoor-kitchen-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content h1 em,
body.hub-pavers-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content h1 em{
  font-style:italic;
  color:#9FD9C2;
  text-shadow:0 2px 16px rgba(0,0,0,.35);
}
body.hub-outdoor-kitchen-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content .hero-sub,
body.hub-pavers-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content .hero-sub{
  font-size:clamp(1.02rem,1.1vw + 0.92rem,1.14rem);
  line-height:1.65;
  color:rgba(255,255,255,.9);
  max-width:36rem;
  margin-bottom:32px;
  text-shadow:0 1px 14px rgba(0,0,0,.4);
}
body.hub-outdoor-kitchen-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content .hero-badge,
body.hub-pavers-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content .hero-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(8,16,12,.55);
  border:1px solid rgba(200,155,53,.42);
  border-radius:100px;
  padding:6px 16px 6px 8px;
  margin-bottom:24px;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
body.hub-outdoor-kitchen-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content .hero-badge span,
body.hub-pavers-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content .hero-badge span{
  font-size:clamp(.68rem,.65rem + 0.35vw,.78rem);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.14em;
  color:#F0D78C;
  text-shadow:0 1px 2px rgba(0,0,0,.4);
}
body.hub-outdoor-kitchen-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content .hero-badge-dot,
body.hub-pavers-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content .hero-badge-dot{
  width:7px;height:7px;border-radius:50%;background:var(--gold);
}
body.hub-outdoor-kitchen-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content .hero-actions,
body.hub-pavers-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content .hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:48px;
}
body.hub-outdoor-kitchen-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content .hero-proof,
body.hub-pavers-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content .hero-proof{
  display:flex;
  gap:28px;
  flex-wrap:wrap;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.12);
}

/* Pillar topic cluster — exclusive accordion (service-rich hubs + interior paver pages) */
body.page-service-rich main.svc-rich .pillar-silo.pillar-cluster,
body.page-interior section.svc-body .interior-prose .pillar-silo.pillar-cluster,
body.kc-post main.kc-main .kc-article .pillar-silo.pillar-cluster{
  margin-top:8px;
  padding:20px 20px 16px;
  background:var(--mist);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
}
body.page-service-rich main.svc-rich .pillar-cluster-hint,
body.page-interior section.svc-body .interior-prose .pillar-cluster-hint,
body.kc-post main.kc-main .kc-article .pillar-cluster-hint{
  font-size:.86rem;
  line-height:1.5;
  color:var(--text-lt);
  margin:0 0 14px;
  max-width:52rem;
}
body.page-service-rich main.svc-rich .pillar-cluster-item,
body.page-interior section.svc-body .interior-prose .pillar-cluster-item,
body.kc-post main.kc-main .kc-article .pillar-cluster-item{
  margin:0 0 8px;
  border:1px solid var(--border);
  border-radius:var(--r-md);
  background:#fff;
  box-shadow:0 1px 0 rgba(15,92,74,.04);
  overflow:hidden;
}
body.page-service-rich main.svc-rich .pillar-cluster-item:last-child,
body.page-interior section.svc-body .interior-prose .pillar-cluster-item:last-child,
body.kc-post main.kc-main .kc-article .pillar-cluster-item:last-child{
  margin-bottom:0;
}
body.page-service-rich main.svc-rich .pillar-cluster-summary,
body.page-interior section.svc-body .interior-prose .pillar-cluster-summary,
body.kc-post main.kc-main .kc-article .pillar-cluster-summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px 16px;
  padding:14px 16px;
  margin:0;
  font:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(248,250,249,.96) 100%);
  transition:background .15s ease;
}
body.page-service-rich main.svc-rich .pillar-cluster-summary-text,
body.page-interior section.svc-body .interior-prose .pillar-cluster-summary-text,
body.kc-post main.kc-main .kc-article .pillar-cluster-summary-text{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  min-width:0;
}
body.page-service-rich main.svc-rich .pillar-cluster-summary::-webkit-details-marker,
body.page-interior section.svc-body .interior-prose .pillar-cluster-summary::-webkit-details-marker,
body.kc-post main.kc-main .kc-article .pillar-cluster-summary::-webkit-details-marker{
  display:none;
}
body.page-service-rich main.svc-rich .pillar-cluster-summary::after,
body.page-interior section.svc-body .interior-prose .pillar-cluster-summary::after,
body.kc-post main.kc-main .kc-article .pillar-cluster-summary::after{
  content:"";
  flex-shrink:0;
  width:8px;height:8px;
  margin-left:auto;
  border-right:2px solid var(--green);
  border-bottom:2px solid var(--green);
  transform:rotate(45deg) translateY(-2px);
  opacity:.65;
  transition:transform .2s ease,opacity .15s ease;
}
body.page-service-rich main.svc-rich .pillar-cluster-item[open] .pillar-cluster-summary::after,
body.page-interior section.svc-body .interior-prose .pillar-cluster-item[open] .pillar-cluster-summary::after,
body.kc-post main.kc-main .kc-article .pillar-cluster-item[open] .pillar-cluster-summary::after{
  transform:rotate(225deg) translateY(2px);
  opacity:1;
}
body.page-service-rich main.svc-rich .pillar-cluster-summary:hover,
body.page-interior section.svc-body .interior-prose .pillar-cluster-summary:hover,
body.kc-post main.kc-main .kc-article .pillar-cluster-summary:hover{
  background:rgba(15,92,74,.04);
}
body.page-service-rich main.svc-rich .pillar-cluster-title,
body.page-interior section.svc-body .interior-prose .pillar-cluster-title,
body.kc-post main.kc-main .kc-article .pillar-cluster-title{
  font-family:var(--font-cond);
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--green);
}
body.page-service-rich main.svc-rich .pillar-cluster-sub,
body.page-interior section.svc-body .interior-prose .pillar-cluster-sub,
body.kc-post main.kc-main .kc-article .pillar-cluster-sub{
  font-size:.84rem;
  font-weight:500;
  color:var(--text-lt);
  letter-spacing:0;
  text-transform:none;
}
body.page-service-rich main.svc-rich .pillar-cluster-body,
body.page-interior section.svc-body .interior-prose .pillar-cluster-body,
body.kc-post main.kc-main .kc-article .pillar-cluster-body{
  padding:4px 16px 16px;
  border-top:1px solid rgba(15,92,74,.08);
}
body.page-service-rich main.svc-rich .pillar-silo.pillar-cluster .pillar-silo-links,
body.page-interior section.svc-body .interior-prose .pillar-silo.pillar-cluster .pillar-silo-links,
body.kc-post main.kc-main .kc-article .pillar-silo.pillar-cluster .pillar-silo-links{
  list-style:none;margin:0;padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
body.page-service-rich main.svc-rich .pillar-silo.pillar-cluster .pillar-silo-links a,
body.page-interior section.svc-body .interior-prose .pillar-silo.pillar-cluster .pillar-silo-links a,
body.kc-post main.kc-main .kc-article .pillar-silo.pillar-cluster .pillar-silo-links a{
  color:var(--ink);
  font-weight:500;
  font-size:.92rem;
  border-bottom:1px solid rgba(15,92,74,.2);
}
body.page-service-rich main.svc-rich .pillar-silo.pillar-cluster .pillar-silo-links a:hover,
body.page-interior section.svc-body .interior-prose .pillar-silo.pillar-cluster .pillar-silo-links a:hover,
body.kc-post main.kc-main .kc-article .pillar-silo.pillar-cluster .pillar-silo-links a:hover{
  border-color:var(--green);
  color:var(--green);
}
body.page-service-rich main.svc-rich .pillar-silo.pillar-cluster .pillar-silo-note,
body.page-interior section.svc-body .interior-prose .pillar-silo.pillar-cluster .pillar-silo-note,
body.kc-post main.kc-main .kc-article .pillar-silo.pillar-cluster .pillar-silo-note{
  font-size:.88rem;
  line-height:1.55;
  color:var(--text-lt);
  margin:0 0 12px;
}
body.page-service-rich main.svc-rich .pillar-silo.pillar-cluster .pillar-silo-note a,
body.page-interior section.svc-body .interior-prose .pillar-silo.pillar-cluster .pillar-silo-note a,
body.kc-post main.kc-main .kc-article .pillar-silo.pillar-cluster .pillar-silo-note a{
  color:var(--green);
  font-weight:500;
}
body.page-service-rich main.svc-rich .pillar-silo.pillar-cluster .pillar-silo-links--locations,
body.page-interior section.svc-body .interior-prose .pillar-silo.pillar-cluster .pillar-silo-links--locations,
body.kc-post main.kc-main .kc-article .pillar-silo.pillar-cluster .pillar-silo-links--locations{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px 14px;
}
@media (min-width:600px){
  body.page-service-rich main.svc-rich .pillar-silo.pillar-cluster .pillar-silo-links--locations,
  body.page-interior section.svc-body .interior-prose .pillar-silo.pillar-cluster .pillar-silo-links--locations,
  body.kc-post main.kc-main .kc-article .pillar-silo.pillar-cluster .pillar-silo-links--locations{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
body.page-interior section.svc-body .interior-prose .interior-pillar-cluster{
  margin-bottom:28px;
}
body.kc-post main.kc-main .kc-article .kc-pillar-cluster-wrap{
  margin-bottom:28px;
}

/* Backyard contractor Charleston hub: same hero copy + media treatment as kitchen hub */
body.hub-backyard-contractor-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content{
  position:relative;z-index:3;
  width:100%;
}
@media (min-width:901px){
  body.hub-backyard-contractor-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content{
    padding-right:clamp(28px,min(36vw,300px),300px);
  }
}
body.hub-backyard-contractor-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content h1{
  font-family:var(--font-head);
  font-size:clamp(2.35rem,4.5vw + 1rem,3.65rem);
  font-weight:700;
  line-height:1.12;
  margin-bottom:20px;
  max-width:min(640px,100%);
  color:#fff;
  text-shadow:
    0 1px 2px rgba(0,0,0,.55),
    0 4px 28px rgba(0,0,0,.45),
    0 0 1px rgba(0,0,0,.8);
}
body.hub-backyard-contractor-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content h1 em{
  font-style:italic;
  color:#9FD9C2;
  text-shadow:0 2px 16px rgba(0,0,0,.35);
}
body.hub-backyard-contractor-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content .hero-sub{
  font-size:clamp(1.02rem,1.1vw + 0.92rem,1.14rem);
  line-height:1.65;
  color:rgba(255,255,255,.9);
  max-width:36rem;
  margin-bottom:32px;
  text-shadow:0 1px 14px rgba(0,0,0,.4);
}
body.hub-backyard-contractor-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content .hero-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(8,16,12,.55);
  border:1px solid rgba(200,155,53,.42);
  border-radius:100px;
  padding:6px 16px 6px 8px;
  margin-bottom:24px;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
body.hub-backyard-contractor-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content .hero-badge span{
  font-size:clamp(.68rem,.65rem + 0.35vw,.78rem);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.14em;
  color:#F0D78C;
  text-shadow:0 1px 2px rgba(0,0,0,.4);
}
body.hub-backyard-contractor-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content .hero-badge-dot{
  width:7px;height:7px;border-radius:50%;background:var(--gold);
}
body.hub-backyard-contractor-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content .hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:48px;
}
body.hub-backyard-contractor-charleston main.svc-rich .hero.rich-hero--motion > .wrap.hero-content .hero-proof{
  display:flex;
  gap:28px;
  flex-wrap:wrap;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.12);
}

/* Backyard hub: same layout→GBB→pricing flow + media card frames as kitchen hub */
body.hub-backyard-contractor-charleston main.svc-rich .hub-layout-pricing-flow{
  border-bottom:1px solid #e5e5e5;
}
body.hub-backyard-contractor-charleston main.svc-rich .hub-layout-pricing-flow > .hub-gbb-sec{
  padding-bottom:36px;
}
body.hub-backyard-contractor-charleston main.svc-rich .hub-layout-pricing-flow > .sec#pricing{
  padding-top:40px;
  border-top:1px solid #e4e8e6;
}
body.hub-backyard-contractor-charleston main.svc-rich .hub-gbb-inner{
  max-width:900px;
  margin:0;
  padding:0 0 2px;
}
body.hub-backyard-contractor-charleston main.svc-rich .hub-gbb-inner .gbb-strip{
  margin-top:6px;
  padding-top:0;
  border-top:none;
}
body.hub-backyard-contractor-charleston main.svc-rich .hub-gbb-inner .gbb-link{
  margin-top:12px;
}
body.hub-backyard-contractor-charleston main.svc-rich .hub-sec-figure{
  margin:18px 0 22px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid #e5e5e5;
  background:#f6f6f4;
  aspect-ratio:16/9;
}
body.hub-backyard-contractor-charleston main.svc-rich .hub-sec-figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  vertical-align:middle;
}
body.hub-backyard-contractor-charleston main.svc-rich .hub-sec-note{
  font-size:0.92rem;
  color:#4a524e;
  line-height:1.5;
  margin:-6px 0 22px;
  max-width:42rem;
}
body.hub-backyard-contractor-charleston main.svc-rich .mat-card-media{
  margin:-20px -18px 14px;
  border-radius:12px 12px 0 0;
  overflow:hidden;
  aspect-ratio:16/10;
  background:#eee;
}
body.hub-backyard-contractor-charleston main.svc-rich .mat-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
body.hub-backyard-contractor-charleston main.svc-rich .type-card-media{
  margin:-24px -22px 14px;
  border-radius:12px 12px 0 0;
  overflow:hidden;
  aspect-ratio:16/10;
  background:#eee;
}
body.hub-backyard-contractor-charleston main.svc-rich .type-card.feat .type-card-media{
  margin:-24px -22px 14px;
  border-radius:10px 10px 0 0;
}
body.hub-backyard-contractor-charleston main.svc-rich .type-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* ── CDL master page template (docs/cdl-master-page-template.md) ── */
main.svc-rich .qa-block{
  margin-top:4px;
  padding:18px 20px;
  background:var(--mist);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  border-left:4px solid var(--green);
}
main.svc-rich .qa-block p{
  margin:0;
  font-size:1.02rem;
  line-height:1.65;
  color:var(--ink);
}
main.svc-rich .qa-block p + p{
  margin-top:12px;
}
main.svc-rich .gbp-local-hook{
  background:linear-gradient(180deg, rgba(200,155,53,.08) 0%, var(--mist) 100%);
  border:1px solid rgba(200,155,53,.35);
}
main.svc-rich .gbp-local-hook .lead{
  max-width:42rem;
}
main.svc-rich .master-compare-grid{
  display:grid;
  gap:16px;
  margin-top:8px;
}
@media (min-width:700px){
  main.svc-rich .master-compare-grid{
    grid-template-columns:repeat(2,1fr);
    gap:18px 24px;
  }
}
main.svc-rich .master-compare-item{
  padding:16px 18px;
  background:var(--mist);
  border:1px solid var(--border);
  border-radius:var(--r-md);
}
main.svc-rich .master-compare-item h3{
  font-size:1rem;
  margin:0 0 8px;
  color:var(--green);
}
main.svc-rich .master-compare-item p{
  margin:0;
  font-size:.92rem;
  line-height:1.55;
  color:var(--text);
}

/* Outdoor kitchen + pavers Charleston pillars — authority strip + Why CDL */
body.hub-outdoor-kitchen-charleston .authority-strip,
body.hub-pavers-charleston .authority-strip,
body.hub-pavers-charleston-cost .authority-strip,
body.hub-pavers-charleston-silo .authority-strip{
  background:linear-gradient(105deg,#062a1f 0%,#0F5C4A 55%,#0a3d30 100%);
  color:#fff;
  padding:20px 16px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
body.hub-outdoor-kitchen-charleston .authority-strip-inner,
body.hub-pavers-charleston .authority-strip-inner,
body.hub-pavers-charleston-cost .authority-strip-inner,
body.hub-pavers-charleston-silo .authority-strip-inner{text-align:center;}
body.hub-outdoor-kitchen-charleston .authority-strip-title,
body.hub-pavers-charleston .authority-strip-title,
body.hub-pavers-charleston-cost .authority-strip-title,
body.hub-pavers-charleston-silo .authority-strip-title{
  display:block;
  font-size:clamp(14px,1.05vw,16px);
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  margin-bottom:10px;
  color:#f0d78c;
}
body.hub-outdoor-kitchen-charleston .authority-strip-lead,
body.hub-pavers-charleston .authority-strip-lead,
body.hub-pavers-charleston-cost .authority-strip-lead,
body.hub-pavers-charleston-silo .authority-strip-lead{
  font-size:14px;
  line-height:1.65;
  max-width:720px;
  margin:0 auto;
  /* Explicit light text: global `p { color: var(--text) }` in site.css otherwise wins */
  color:rgba(255,255,255,.94);
}
body.hub-outdoor-kitchen-charleston .why-cdl-list,
body.hub-pavers-charleston .why-cdl-list,
body.hub-paver-patio-charleston .why-cdl-list,
body.hub-pergola-charleston .why-cdl-list{
  list-style:none;
  margin:18px 0 0;
  padding:0;
  max-width:680px;
}
body.hub-outdoor-kitchen-charleston .why-cdl-list li,
body.hub-pavers-charleston .why-cdl-list li,
body.hub-paver-patio-charleston .why-cdl-list li,
body.hub-pergola-charleston .why-cdl-list li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size:14px;
  line-height:1.55;
  margin-bottom:12px;
  color:#333;
}
body.hub-outdoor-kitchen-charleston .why-cdl-list .ck,
body.hub-pavers-charleston .why-cdl-list .ck,
body.hub-paver-patio-charleston .why-cdl-list .ck,
body.hub-pergola-charleston .why-cdl-list .ck{color:#0F5C4A;flex-shrink:0;font-weight:600;}
body.hub-outdoor-kitchen-charleston .why-cdl-list a,
body.hub-pavers-charleston .why-cdl-list a,
body.hub-paver-patio-charleston .why-cdl-list a,
body.hub-pergola-charleston .why-cdl-list a{
  color:#0F5C4A;
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:2px;
}

/* Tier-1 service pages — neighborhood “entity stack” (shared pattern) */
main.svc-rich .service-neighborhood-stack{
  padding:56px 0;background:var(--mist);border-bottom:1px solid var(--border);
}
main.svc-rich .service-neighborhood-inner{max-width:720px;}
main.svc-rich .service-neighborhood-stack .section-label{
  font-family:var(--font-body);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--green);margin-bottom:10px;display:block;
}
main.svc-rich .service-neighborhood-stack h2{margin-bottom:12px;}
main.svc-rich .service-neighborhood-lead{font-size:.95rem;color:var(--text-lt);line-height:1.75;margin:0 0 18px;}
main.svc-rich .service-neighborhood-list{
  list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;
}
main.svc-rich .service-neighborhood-list li{
  margin:0;padding:14px 18px;background:#fff;border:1px solid var(--border);border-radius:var(--r);
  font-size:.92rem;line-height:1.55;color:var(--text);
}
main.svc-rich .service-neighborhood-list strong{color:var(--ink);font-weight:600;}
main.svc-rich .home-local-routes.service-market-routes a{
  color:var(--green);font-weight:600;text-decoration:underline;text-underline-offset:3px;
}
