/* Abermaw Decorating — site-wide editorial component system
   The site should not turn every piece of information into a floating card.
   Ordinary information uses spacing, type and dividers. Photo-led work can use
   restrained tiles. Feature panels are reserved for genuinely important calls.
   This layer loads after the historical page styles and deliberately overrides
   their older card-heavy treatment. */

:root{
  --ad-editorial-line:rgba(7,26,48,.13);
  --ad-editorial-line-dark:rgba(255,255,255,.17);
  --ad-editorial-radius:14px;
  --ad-editorial-photo-radius:14px;
}

/* --------------------------------------------------------------------------
   Shared content pages
   -------------------------------------------------------------------------- */
body.ad-content-page .section-head{
  display:grid!important;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)!important;
  gap:clamp(34px,5.2vw,66px)!important;
  align-items:start!important;
}

/* Benefits / outcomes: editorial columns, not boxes. */
body.ad-content-page .outcome-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0 28px!important;
  align-items:start!important;
}
body.ad-content-page .outcome-card{
  min-width:0!important;
  height:auto!important;
  padding:22px 0 8px!important;
  border:0!important;
  border-top:1px solid var(--ad-editorial-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
body.ad-content-page .outcome-card:hover{
  box-shadow:none!important;
  transform:none!important;
  border-color:var(--ad-editorial-line)!important;
}
body.ad-content-page .outcome-card span{
  margin-bottom:17px!important;
}
body.ad-content-page .outcome-card h3{
  font-size:1.24rem!important;
}

/* Dark process sections: use a measured four-part sequence. */
body.ad-content-page .process-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0 28px!important;
  align-items:start!important;
}
body.ad-content-page .process-card{
  min-width:0!important;
  height:auto!important;
  padding:24px 0 6px!important;
  border:0!important;
  border-top:1px solid var(--ad-editorial-line-dark)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
body.ad-content-page .process-card>span{
  margin-bottom:19px!important;
}
body.ad-content-page .process-card h3{
  font-size:1.28rem!important;
}

/* Project previews earn a contained treatment because the image is the object. */
body.ad-content-page .case-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
body.ad-content-page .case-card{
  min-width:0!important;
  height:auto!important;
  overflow:hidden!important;
  border:1px solid var(--ad-editorial-line)!important;
  border-radius:var(--ad-editorial-photo-radius)!important;
  background:#fff!important;
  box-shadow:none!important;
  display:flex!important;
  flex-direction:column!important;
  transform:none!important;
}
body.ad-content-page .case-card:hover{
  transform:none!important;
  box-shadow:none!important;
  border-color:rgba(198,155,92,.36)!important;
}
body.ad-content-page .case-card.featured{
  grid-column:span 2!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important;
}
body.ad-content-page .case-copy{
  padding:18px!important;
}
body.ad-content-page .case-card.featured .case-copy{
  padding:26px!important;
}

/* Pricing: one composed comparison surface, not three oversized cards. */
body.ad-content-page .cost-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  align-items:stretch!important;
  border-top:1px solid var(--ad-editorial-line)!important;
  border-bottom:1px solid var(--ad-editorial-line)!important;
}
body.ad-content-page .cost-card,
body.ad-content-page .cost-card.featured{
  min-width:0!important;
  height:auto!important;
  padding:28px 26px 30px!important;
  border:0!important;
  border-right:1px solid var(--ad-editorial-line)!important;
  border-radius:0!important;
  background:transparent!important;
  color:inherit!important;
  box-shadow:none!important;
  transform:none!important;
}
body.ad-content-page .cost-card:last-child{
  border-right:0!important;
}
body.ad-content-page .cost-card:hover,
body.ad-content-page .cost-card.featured:hover{
  transform:none!important;
  box-shadow:none!important;
}
body.ad-content-page .cost-card h3{
  font-size:clamp(2.45rem,3.8vw,3.45rem)!important;
  margin:15px 0 10px!important;
}
body.ad-content-page .cost-card.featured p,
body.ad-content-page .cost-card.featured ul{
  color:var(--muted)!important;
}
body.ad-content-page .cost-note-wide{
  margin-top:22px!important;
  padding:4px 0 4px 18px!important;
  border:0!important;
  border-left:2px solid var(--gold)!important;
  border-radius:0!important;
  background:transparent!important;
}

/* FAQs: questions read as a reference list rather than a tile wall. */
body.ad-content-page .faq-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0 34px!important;
  align-items:start!important;
}
body.ad-content-page .faq-card{
  min-width:0!important;
  height:auto!important;
  padding:22px 0 24px!important;
  border:0!important;
  border-top:1px solid var(--ad-editorial-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
body.ad-content-page .faq-card:hover{
  transform:none!important;
  box-shadow:none!important;
  border-color:var(--ad-editorial-line)!important;
}
body.ad-content-page .faq-card h3{
  font-size:1.18rem!important;
}

/* A feature panel is allowed where the content is genuinely one decision. */
body.ad-content-page .decision-panel{
  display:grid!important;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
  gap:48px!important;
  padding:34px 36px!important;
  border:1px solid var(--ad-editorial-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:none!important;
}

/* Local navigation is a band, not another card. */
body.ad-content-page .local-banner{
  display:grid!important;
  grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr)!important;
  gap:34px!important;
  padding:26px 0!important;
  border:0!important;
  border-top:1px solid var(--ad-editorial-line)!important;
  border-bottom:1px solid var(--ad-editorial-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Secondary routes: compact linked columns with a top rule. */
body.ad-content-page .route-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0 30px!important;
}
body.ad-content-page .route{
  min-width:0!important;
  height:auto!important;
  padding:21px 0 22px!important;
  border:0!important;
  border-top:1px solid var(--ad-editorial-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
body.ad-content-page .route:hover{
  transform:none!important;
  box-shadow:none!important;
  border-color:var(--ad-editorial-line)!important;
}

/* Services themselves were already closest to the intended editorial language. */
body.ad-content-page .service-list{
  display:block!important;
  border-top:1px solid var(--ad-editorial-line)!important;
}
body.ad-content-page .service-list article{
  display:grid!important;
  grid-template-columns:82px minmax(0,1fr) minmax(170px,.5fr)!important;
  gap:28px!important;
  padding:25px 0!important;
  border:0!important;
  border-bottom:1px solid var(--ad-editorial-line)!important;
  align-items:start!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Services/Areas hub: photographic proof tiles, restrained rather than app cards. */
body.ad-services-hub .hub-grid,
body.ad-area-hub .hub-grid{
  gap:18px!important;
}
body.ad-services-hub .hub-card,
body.ad-area-hub .hub-card{
  border:1px solid var(--ad-editorial-line)!important;
  border-radius:var(--ad-editorial-photo-radius)!important;
  box-shadow:none!important;
  transform:none!important;
}
body.ad-services-hub .hub-card:hover,
body.ad-area-hub .hub-card:hover{
  transform:none!important;
  box-shadow:none!important;
  border-color:rgba(198,155,92,.36)!important;
}

/* --------------------------------------------------------------------------
   Advice hub — turn the library into an editorial index.
   -------------------------------------------------------------------------- */
body.ad-advice-hub .advice-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0 34px!important;
  align-items:start!important;
}
body.ad-advice-hub .advice-card,
body.ad-advice-hub .advice-topic:nth-child(even) .advice-card{
  display:grid!important;
  grid-template-columns:minmax(118px,150px) minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
  padding:20px 0!important;
  border:0!important;
  border-top:1px solid var(--ad-editorial-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  transform:none!important;
}
body.ad-advice-hub .advice-card:hover{
  transform:none!important;
  box-shadow:none!important;
}
body.ad-advice-hub .advice-card img{
  width:100%!important;
  height:132px!important;
  min-height:0!important;
  aspect-ratio:4/3!important;
  object-fit:cover!important;
  border-radius:10px!important;
}
body.ad-advice-hub .advice-card-copy{
  padding:0!important;
}
body.ad-advice-hub .advice-card h3{
  font-size:1.18rem!important;
  line-height:1.14!important;
  margin:7px 0 9px!important;
}
body.ad-advice-hub .advice-card p{
  margin:0 0 10px!important;
  font-size:.82rem!important;
  line-height:1.58!important;
}

/* --------------------------------------------------------------------------
   Case-study hub — imagery remains prominent, but remove floating-card chrome.
   -------------------------------------------------------------------------- */
body.ad-case-hub .grid{
  gap:18px!important;
}
body.ad-case-hub .card{
  border:1px solid var(--ad-editorial-line)!important;
  border-radius:var(--ad-editorial-photo-radius)!important;
  box-shadow:none!important;
  transform:none!important;
}
body.ad-case-hub .card:hover{
  transform:none!important;
  box-shadow:none!important;
  border-color:rgba(181,140,86,.38)!important;
}
body.ad-case-hub .card-copy{
  padding:22px!important;
}

/* Contextual cross-links injected across guides/projects should feel like a
   compact navigation rail, not a second row of cards. */
body.ad-launch-finished .ad-context__grid{
  gap:0 28px!important;
}
body.ad-launch-finished .ad-context__card{
  min-height:0!important;
  padding:20px 0 22px!important;
  border:0!important;
  border-top:1px solid var(--ad-editorial-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
body.ad-launch-finished .ad-context__card:hover{
  transform:none!important;
  box-shadow:none!important;
  border-color:var(--ad-editorial-line)!important;
}

/* Detail-page route groups are navigation too, not feature cards. */
body.ad-advice-page .related-grid,
body.ad-case-page .case-proof__grid{
  gap:0 28px!important;
}
body.ad-advice-page .related-card,
body.ad-case-page .case-proof__card{
  min-height:0!important;
  padding:20px 0 22px!important;
  border:0!important;
  border-top:1px solid var(--ad-editorial-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
body.ad-advice-page .related-card:hover,
body.ad-case-page .case-proof__card:hover{
  transform:none!important;
  box-shadow:none!important;
  border-color:var(--ad-editorial-line)!important;
}

/* --------------------------------------------------------------------------
   Homepage — keep photographic/proposal objects contained, flatten information.
   -------------------------------------------------------------------------- */
body.ad-homepage .price-grid{
  border-top:1px solid var(--ad-editorial-line)!important;
  border-bottom:1px solid var(--ad-editorial-line)!important;
}
body.ad-homepage .price-card,
body.ad-homepage .price-card.featured{
  margin:0!important;
  min-height:0!important;
  padding:28px 30px!important;
  border-radius:0!important;
  background:transparent!important;
  color:inherit!important;
  box-shadow:none!important;
  transform:none!important;
}
body.ad-homepage .price-card:hover,
body.ad-homepage .price-card.featured:hover{
  box-shadow:none!important;
  transform:none!important;
}
body.ad-homepage .price-card.featured .price-top,
body.ad-homepage .price-card.featured .price-kicker{
  color:#8b6a41!important;
}
body.ad-homepage .price-card.featured h3,
body.ad-homepage .price-card.featured .price,
body.ad-homepage .price-card.featured strong{
  color:inherit!important;
}
body.ad-homepage .price-card.featured>p,
body.ad-homepage .price-card.featured ul,
body.ad-homepage .price-card.featured li{
  color:inherit!important;
}
body.ad-homepage .price-card.featured ul{
  border-color:var(--ad-editorial-line)!important;
}
body.ad-homepage .price-card.featured li:before{
  color:#9a774b!important;
}
body.ad-homepage .price-card h3,
body.ad-homepage .price-card .price{
  font-size:clamp(2.8rem,4.5vw,4rem)!important;
}

/* Reviews are testimony, not product cards. Use a three-column editorial quote
   wall on desktop and a simple vertical reading order on mobile. */
body.ad-homepage .reviews-v2__track{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0 30px!important;
  overflow:visible!important;
  scroll-snap-type:none!important;
}
body.ad-homepage .review-v2-card,
body.ad-homepage .review-v2-card--feature{
  min-width:0!important;
  min-height:0!important;
  padding:25px 0 22px!important;
  border:0!important;
  border-top:1px solid var(--ad-editorial-line-dark)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  scroll-snap-align:none!important;
}
body.ad-homepage .review-v2-card:hover,
body.ad-homepage .review-v2-card--feature:hover{
  box-shadow:none!important;
  transform:none!important;
}
body.ad-homepage .review-v2-card--feature .review-v2-card__quote{
  font-size:clamp(1.65rem,2.4vw,2.25rem)!important;
}
body.ad-homepage .review-v2-card__footer{
  margin-top:24px!important;
}

/* --------------------------------------------------------------------------
   Tablet
   -------------------------------------------------------------------------- */
@media(max-width:980px){
  body.ad-content-page .section-head,
  body.ad-content-page .decision-panel,
  body.ad-content-page .local-banner{
    grid-template-columns:1fr!important;
    gap:26px!important;
  }
  body.ad-content-page .outcome-grid,
  body.ad-content-page .process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.ad-content-page .cost-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.ad-content-page .cost-card:nth-child(2){
    border-right:0!important;
  }
  body.ad-content-page .cost-card:last-child{
    grid-column:1/-1!important;
    border-top:1px solid var(--ad-editorial-line)!important;
    border-right:0!important;
  }
  body.ad-content-page .case-grid,
  body.ad-content-page .route-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.ad-content-page .case-card.featured{
    grid-column:1/-1!important;
  }
  body.ad-content-page .service-list article{
    grid-template-columns:56px minmax(0,1fr)!important;
  }
  body.ad-content-page .service-list article>strong{
    grid-column:2!important;
    text-align:left!important;
  }
  body.ad-advice-hub .advice-grid{
    grid-template-columns:1fr!important;
  }
}

/* --------------------------------------------------------------------------
   Mobile
   -------------------------------------------------------------------------- */
@media(max-width:700px){
  body.ad-content-page .outcome-grid,
  body.ad-content-page .process-grid,
  body.ad-content-page .cost-grid,
  body.ad-content-page .faq-grid,
  body.ad-content-page .case-grid,
  body.ad-content-page .route-grid{
    grid-template-columns:1fr!important;
  }
  body.ad-content-page .outcome-grid,
  body.ad-content-page .process-grid,
  body.ad-content-page .faq-grid,
  body.ad-content-page .route-grid{
    gap:0!important;
  }
  body.ad-content-page .case-card.featured{
    display:block!important;
    grid-column:auto!important;
  }
  body.ad-content-page .cost-card,
  body.ad-content-page .cost-card.featured,
  body.ad-content-page .cost-card:nth-child(2),
  body.ad-content-page .cost-card:last-child{
    grid-column:auto!important;
    border-right:0!important;
    border-top:0!important;
    border-bottom:1px solid var(--ad-editorial-line)!important;
    padding:24px 0 25px!important;
  }
  body.ad-content-page .cost-card:last-child{
    border-bottom:0!important;
  }
  body.ad-content-page .decision-panel{
    padding:25px!important;
    border-radius:14px!important;
  }
  body.ad-content-page .local-banner{
    padding:23px 0!important;
  }
  body.ad-content-page .service-list article{
    grid-template-columns:36px minmax(0,1fr)!important;
    gap:13px!important;
  }
  body.ad-advice-hub .advice-card,
  body.ad-advice-hub .advice-topic:nth-child(even) .advice-card{
    grid-template-columns:108px minmax(0,1fr)!important;
    gap:14px!important;
    padding:17px 0!important;
  }
  body.ad-advice-hub .advice-card img{
    height:106px!important;
  }
  body.ad-advice-hub .advice-card p{
    display:none!important;
  }
  body.ad-case-hub .card.featured{
    grid-template-columns:1fr!important;
    grid-column:auto!important;
  }
  body.ad-launch-finished .ad-context__grid,
  body.ad-advice-page .related-grid,
  body.ad-case-page .case-proof__grid{
    gap:0!important;
  }
  body.ad-homepage .price-grid,
  body.ad-homepage .reviews-v2__track{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    overflow:visible!important;
  }
  body.ad-homepage .price-card,
  body.ad-homepage .price-card.featured{
    padding:24px 0 26px!important;
    border-right:0!important;
    border-bottom:1px solid var(--ad-editorial-line)!important;
  }
  body.ad-homepage .price-card:last-child{
    border-bottom:0!important;
  }
  body.ad-homepage .review-v2-card,
  body.ad-homepage .review-v2-card--feature{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    padding:22px 0 24px!important;
  }
}
