/* Abermaw Decorating — homepage/header viewport tuning */
@media (min-width:1031px){
  html.ad-chrome-ready body>main>.hero{
    height:calc(100svh - var(--ad-header-open))!important;
    min-height:690px!important;
  }
  html.ad-chrome-ready body>main>.hero .hero-content{
    top:clamp(40px,5.3vh,62px)!important;
    bottom:auto!important;
  }
  html.ad-chrome-ready body>main>.hero .hero-kicker{
    margin-bottom:18px!important;
    font-size:.84rem!important;
    line-height:1.35!important;
  }
  html.ad-chrome-ready body>main>.hero h1{
    font-size:clamp(4.7rem,min(7.05vw,12.25vh),7.25rem)!important;
    line-height:.87!important;
    margin-bottom:22px!important;
    max-width:1040px!important;
  }
  html.ad-chrome-ready body>main>.hero .hero-intro{
    max-width:760px!important;
    font-size:clamp(1.12rem,1.42vw,1.28rem)!important;
    line-height:1.62!important;
    margin-bottom:24px!important;
  }
  html.ad-chrome-ready body>main>.hero .hero-actions{
    font-size:1rem!important;
  }
  html.ad-chrome-ready body>main>.hero .hero-proof{
    font-size:.78rem!important;
  }
  html.ad-chrome-ready body>main>.hero .hero-caption{
    font-size:.74rem!important;
  }
  html.ad-chrome-ready body>main>.hero .hero-foot{
    bottom:20px!important;
  }
}

@media (min-width:1031px) and (max-height:820px){
  html.ad-chrome-ready body>main>.hero{
    min-height:650px!important;
  }
  html.ad-chrome-ready body>main>.hero .hero-content{
    top:28px!important;
  }
  html.ad-chrome-ready body>main>.hero h1{
    font-size:clamp(4.25rem,min(6.55vw,11vh),6.2rem)!important;
    margin-bottom:16px!important;
  }
  html.ad-chrome-ready body>main>.hero .hero-intro{
    font-size:1.06rem!important;
    line-height:1.56!important;
    margin-bottom:18px!important;
  }
}

/* Shared content-page hero hierarchy. The build-injected chrome is the last
   authoritative layer, so hero sizes live here rather than in page-local CSS. */
html.ad-chrome-ready body.ad-content-page main>.hero .kicker,
html.ad-chrome-ready body.ad-content-page main>.hub-hero .kicker{
  font-size:.80rem!important;
  line-height:1.35!important;
}
html.ad-chrome-ready body.ad-content-page main>.hero .crumb{
  font-size:.82rem!important;
  margin-bottom:20px!important;
}
html.ad-chrome-ready body.ad-content-page main>.hero h1,
html.ad-chrome-ready body.ad-content-page main>.hub-hero h1{
  font-size:clamp(4.15rem,6.45vw,6.7rem)!important;
  line-height:.93!important;
  letter-spacing:-.055em!important;
}
html.ad-chrome-ready body.ad-content-page main>.hero p,
html.ad-chrome-ready body.ad-content-page main>.hub-hero p{
  font-size:1.10rem!important;
  line-height:1.70!important;
}

@media(max-width:1029px){
  html.ad-chrome-ready body>main>.hero .hero-kicker{font-size:.78rem!important}
  html.ad-chrome-ready body>main>.hero .hero-intro{font-size:1.04rem!important;line-height:1.62!important}
  html.ad-chrome-ready body.ad-content-page main>.hero h1,
  html.ad-chrome-ready body.ad-content-page main>.hub-hero h1{font-size:clamp(3.55rem,9.4vw,5.4rem)!important}
  html.ad-chrome-ready body.ad-content-page main>.hero p,
  html.ad-chrome-ready body.ad-content-page main>.hub-hero p{font-size:1.04rem!important}
}
@media(max-width:640px){
  html.ad-chrome-ready body>main>.hero .hero-kicker{font-size:.72rem!important}
  html.ad-chrome-ready body>main>.hero .hero-intro{font-size:1rem!important}
  html.ad-chrome-ready body.ad-content-page main>.hero h1,
  html.ad-chrome-ready body.ad-content-page main>.hub-hero h1{font-size:clamp(3rem,13.5vw,4.45rem)!important;line-height:.94!important}
  html.ad-chrome-ready body.ad-content-page main>.hero p,
  html.ad-chrome-ready body.ad-content-page main>.hub-hero p{font-size:1rem!important;line-height:1.64!important}
}

/* Server-rendered contextual Advice links injected at staging/build time. */
.ad-context{position:relative;padding:78px 0;background:#F7F5F0;color:#071A30;border-top:1px solid rgba(18,24,32,.10);border-bottom:1px solid rgba(18,24,32,.08);font-family:Manrope,Arial,sans-serif}
.ad-context__inner{width:min(1180px,calc(100% - 48px));margin:auto}
.ad-context__head{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:52px;align-items:end;margin-bottom:30px}
.ad-context__eyebrow{display:block;margin:0 0 10px;color:#9c7140;font-size:.67rem;line-height:1;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.ad-context__head h2{margin:0!important;color:#071A30!important;font-size:clamp(2.2rem,4.2vw,4rem)!important;line-height:.98!important;letter-spacing:-.045em!important;font-weight:700!important}
.ad-context__head p{margin:0!important;max-width:670px;color:#5a6268!important;font-size:.96rem!important;line-height:1.75!important}
.ad-context__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ad-context__card{display:flex!important;flex-direction:column;min-height:205px;padding:22px 22px 20px;border:1px solid rgba(18,24,32,.12);border-radius:18px;background:#fff;color:#071A30!important;text-decoration:none!important;box-shadow:none!important;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.ad-context__card:hover{transform:translateY(-2px);border-color:rgba(156,113,64,.5);box-shadow:0 14px 30px rgba(18,24,32,.07)}
.ad-context__card span{display:block;color:#9c7140!important;font-size:.62rem!important;line-height:1!important;font-weight:800!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.ad-context__card h3{margin:11px 0 10px!important;color:#071A30!important;font-size:1.18rem!important;line-height:1.13!important;letter-spacing:-.025em!important;font-weight:700!important}
.ad-context__card p{margin:0 0 18px!important;color:#667078!important;font-size:.79rem!important;line-height:1.58!important}
.ad-context__card b{margin-top:auto;color:#071A30!important;font-size:.72rem!important;line-height:1.2!important;font-weight:800!important}
@media(max-width:980px){.ad-context__head{grid-template-columns:1fr;gap:16px}.ad-context__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ad-context{padding:58px 0}.ad-context__inner{width:calc(100% - 32px)}.ad-context__grid{grid-template-columns:1fr}.ad-context__card{min-height:0}.ad-context__head h2{font-size:clamp(2rem,10vw,3rem)!important}}

/* Homepage featured project cards: one consistent image frame and content rhythm. */
html.ad-chrome-ready #projects .project-feature,
html.ad-chrome-ready #projects .project-secondary{
  min-width:0!important;
}
html.ad-chrome-ready #projects .project-feature figure,
html.ad-chrome-ready #projects .project-secondary figure,
html.ad-chrome-ready #projects .project-offset figure{
  width:100%!important;
  max-width:none!important;
  overflow:hidden!important;
}
html.ad-chrome-ready #projects .project-feature figure img,
html.ad-chrome-ready #projects .project-secondary figure img,
html.ad-chrome-ready #projects .project-offset figure img{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
html.ad-chrome-ready #projects #case-dolgellau figure img{
  scale:1.12;
  object-position:50% 50%!important;
}
