/* Owner-requested finishing adjustments, 10 September 2026. */
:root{--ad-navy:#071A30;--ad-navy-deep:#071A30;--ad-nav-navy:#071A30;--ad-nav-navy-deep:#071A30;--ad-cream:#F7F5F0}
.ad-site-footer{background:var(--ad-nav-navy)!important}
.home-testimonial-controls{justify-content:center}
.home-testimonial-controls [data-testimonial-pause]{font-size:15px}
.home-testimonial-controls [data-testimonial-pause][aria-pressed=true]{background:#071A30;color:#F7F5F0}
.home-current-work{display:inline-flex;align-items:center;gap:8px}
.home-current-work:before{content:"";width:7px;height:7px;border-radius:50%;background:#C2944F;flex:none}
.home-current-work[hidden]{display:none!important}
.home-map-panel>.home-current-work{font-size:14px;line-height:1.5;border-bottom:1px solid #486082;padding-bottom:16px}
.home-map-marker.is-current:before{background:#C2944F;box-shadow:0 0 0 4px #C2944F44}
.home-map-marker[data-town="Porthmadog"]:after{bottom:auto;top:40px}
.home-map-canvas.is-cropped{inset:auto;left:50%;transform:translateX(-50%)}
.ad-contact-methods a{border:1px solid currentColor;border-radius:999px;padding:8px 13px;gap:9px!important}
.ad-contact-methods img{flex:none}
.ad-footer-list .ad-contact-methods a{font-size:13px!important}
.contact-page .contact-area{font-size:14px;line-height:1.6}
.contact-page .contact-intro a{overflow-wrap:anywhere}
.contact-page .contact-intro .ad-contact-methods{gap:10px}
.contact-page .contact-intro .wrap>p{margin-block:18px}
.contact-page .contact-intro .wrap>p:first-child{margin-top:0}
.contact-page .contact-intro .refresh-contact-call a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
/* Shared enquiry: explicit columns and full-width groups prevent injected UI
   from auto-placing the form into the introduction column. */
html.ad-enquiry-active{overflow:hidden!important}
.ad-enquiry-inline .ad-enquiry__welcome{display:none}
.ad-enquiry__panel{width:100%;max-width:none;background:#F7F5F0;color:#071A30}
.ad-enquiry__top{position:sticky;top:0;z-index:2;min-height:62px;padding-inline:clamp(20px,3vw,40px);background:#F7F5F0}
.ad-enquiry__content{padding:28px clamp(20px,3vw,40px) 32px;box-sizing:border-box}
.ad-enquiry__welcome,.ad-enquiry__form,.ad-enquiry__field,.ad-enquiry__row,.ad-enquiry__actions{min-width:0}
.ad-enquiry__welcome h2{font-size:clamp(30px,2.8vw,44px);line-height:1.12;margin:0 0 18px;color:#071A30}
.ad-enquiry__intro{font-size:15px;line-height:1.65;margin-bottom:20px;color:#42536A}
.ad-enquiry__confidence{display:grid;gap:6px;font-size:13px;line-height:1.5;color:#42536A}
.ad-enquiry__welcome>.ad-contact-methods{margin-top:24px;display:flex;flex-wrap:wrap;gap:10px}
.ad-enquiry__next{margin:26px 0 0;padding:18px 0 0;border:0;border-top:1px solid #071a3026;background:transparent;font-size:14px;line-height:1.65;color:#42536A}
.ad-enquiry__next strong{display:block;margin-bottom:6px;color:#071A30;font-size:15px}
.ad-enquiry__form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;align-content:start;align-items:start;padding:24px;background:#fff;border:1px solid #071a3026;border-radius:16px;box-sizing:border-box}
.ad-enquiry__form>input[type=hidden]{display:none}
.ad-enquiry__form .ad-enquiry__field{margin:0;gap:6px}
.ad-enquiry__form .ad-enquiry__field label{font-size:14px;line-height:1.4;color:#071A30}
.ad-enquiry__form .ad-enquiry__field :is(input,select,textarea){width:100%;min-width:0;max-width:100%;min-height:48px;padding:11px 12px;box-sizing:border-box;border:1px solid #8d969e;border-radius:8px;background:#fff;color:#071A30;font:400 16px/1.5 Manrope,Arial,sans-serif}
.ad-enquiry__form .ad-enquiry__field :is(input,select,textarea):focus-visible{outline:2px solid #071A30;outline-offset:2px;box-shadow:none}
.ad-enquiry__form .ad-enquiry__field textarea{height:112px;min-height:112px;resize:vertical}
.ad-enquiry__form .ad-enquiry__field input[type=file]{font-size:13px;padding:8px;overflow:hidden}
.ad-enquiry__photo input::file-selector-button{border:0;border-radius:5px;background:#071A30;color:#F7F5F0;padding:7px 10px;margin-right:8px;font:600 13px/1.5 Manrope,Arial,sans-serif;cursor:pointer}
.ad-enquiry__form .ad-enquiry__row{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ad-enquiry__form>:is(.ad-enquiry__help,.ad-enquiry__consent,.ad-enquiry__actions,.ad-enquiry__privacy,.ad-enquiry__status){grid-column:1/-1}
.ad-enquiry__form .ad-enquiry__help,.ad-enquiry__photos{font-size:13px;line-height:1.5;color:#42536A;overflow-wrap:anywhere}
.ad-enquiry__photos:empty{display:none}
.ad-enquiry__photos{max-height:90px;overflow-y:auto}
.ad-enquiry__photos span{min-width:0}.ad-enquiry__photos em{flex:none}
.ad-enquiry__form .ad-enquiry__consent{margin:0;font-size:13px;line-height:1.5;color:#42536A}
.ad-enquiry__consent input{width:18px;height:18px;margin:1px 0 0;flex:none}
.ad-enquiry__actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding-top:12px;border-top:1px solid #071a3020}
.ad-enquiry__actions [data-ad-captcha]{flex:1 1 300px;min-width:0;max-width:100%;margin:0!important;font-size:13px!important;line-height:1.5}
.ad-enquiry__actions [data-ad-captcha-mount]{max-width:100%}
.ad-enquiry__actions [data-ad-captcha-note]:empty{display:none}
.ad-enquiry__form .ad-enquiry__submit{flex:0 0 auto;width:auto;min-height:48px;padding:14px 24px;margin:0;background:#071A30;color:#F7F5F0;font-size:14px;white-space:nowrap}
.ad-enquiry__form .ad-enquiry__privacy{margin:0;font-size:12px;line-height:1.5;color:#42536A}
.ad-enquiry__privacy a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.ad-enquiry__form .ad-enquiry__status{margin:0;min-height:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.ad-enquiry__status:empty{display:none}
.ad-enquiry__form #adBallparkSummary{grid-column:1/-1;margin:0}
.ad-enquiry-inline .ad-enquiry__panel{background:transparent}
.ad-enquiry-inline .ad-enquiry__form{padding:0;border:0;border-radius:0}
.contact-page .ad-enquiry-inline{margin:0}
.contact-details{min-width:0;font-size:14px;line-height:1.6;color:#42536A}
.contact-details>p{margin:0 0 16px}
.contact-details a{color:#071A30;overflow-wrap:anywhere;text-underline-offset:3px}
.contact-details .ad-enquiry__next{margin-top:20px}
.contact-page .ad-enquiry-inline .ad-enquiry__content{padding:0}
@media(min-width:1000px){
  html.ad-chrome-ready body .contact-page .contact-layout{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(0,2.15fr);gap:clamp(28px,3vw,56px);width:calc(100% - 80px);max-width:1640px;margin-inline:auto;padding:24px 0 32px;align-items:start;row-gap:20px;grid-template-rows:min-content 1fr}
  html.ad-chrome-ready body .contact-page .contact-layout>.hero,
  html.ad-chrome-ready body .contact-page .contact-layout>.section{padding:0!important;min-height:0!important;background:transparent!important}
  html.ad-chrome-ready body .contact-page .contact-layout>.hero>.wrap,
  html.ad-chrome-ready body .contact-page .contact-layout>.section>.wrap{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  html.ad-chrome-ready body .contact-page .contact-intro #contact-title{font-size:clamp(30px,2.65vw,44px)!important;line-height:1.15!important;margin:12px 0 18px!important}
  html.ad-chrome-ready body .contact-page .contact-intro .wrap>p{margin-block:12px;font-size:14px;line-height:1.55}
  .contact-page .contact-form-jump{display:none}
  .contact-page .contact-intro .wrap>p:has(.contact-form-jump){display:none}
  .contact-page .contact-layout>.contact-intro{grid-column:1;grid-row:1}
  .contact-page .contact-layout>.refresh-contact-form{grid-column:2;grid-row:1/span 2}
  .contact-page .contact-layout>.contact-details{grid-column:1;grid-row:2}
  .contact-page .ad-enquiry-inline{padding:24px}
  .ad-enquiry:not(.ad-enquiry-inline) .ad-enquiry__content{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(0,2.15fr);gap:clamp(28px,3vw,56px);align-items:start;width:100%;max-width:1720px;margin:auto}
  .ad-enquiry__content>.ad-enquiry__welcome{grid-column:1;grid-row:1}
  .ad-enquiry__content>.ad-enquiry__form{grid-column:2;grid-row:1}
}
@media(max-width:999px){
  .contact-page .contact-layout{width:calc(100% - 40px);margin-inline:auto}
  html.ad-chrome-ready body .contact-page .contact-layout>.hero>.wrap,
  html.ad-chrome-ready body .contact-page .contact-layout>.section>.wrap{width:100%!important;max-width:none!important;padding:0!important}
  html.ad-chrome-ready body .contact-page .contact-layout>.section{padding-top:0!important}
  html.ad-chrome-ready body .contact-page .contact-layout>.contact-intro{padding-block:24px 20px!important;min-height:0!important}
  html.ad-chrome-ready body .contact-page .contact-intro .wrap>p{margin-block:12px;font-size:15px;line-height:1.55}
  html.ad-chrome-ready body .contact-page .contact-intro #contact-title{margin-block:12px 16px!important;font-size:clamp(30px,7vw,42px)!important;line-height:1.15!important}
  .contact-details{padding-bottom:32px}
  .ad-enquiry__welcome{margin-bottom:24px}
  .ad-enquiry__welcome h2{font-size:clamp(30px,6vw,40px)}
  .ad-enquiry__welcome .ad-enquiry__next{display:none}
  .ad-enquiry__welcome .ad-enquiry__intro{margin-bottom:14px}
  .ad-enquiry__welcome>.ad-contact-methods{margin-top:16px}
}
@media(max-width:640px){
  .ad-enquiry__content{padding:22px 16px 32px}
  .ad-enquiry__form{grid-template-columns:minmax(0,1fr);gap:18px;padding:18px}
  .ad-enquiry__form .ad-enquiry__row{grid-template-columns:minmax(0,1fr);gap:18px}
  .ad-enquiry__form .ad-enquiry__field textarea{height:128px;min-height:128px}
  .ad-enquiry__form .ad-enquiry__consent{font-size:14px}
  .ad-enquiry__actions{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding-top:16px}
  .ad-enquiry__form .ad-enquiry__submit{width:100%;white-space:normal;line-height:1.4}
  html.ad-chrome-ready body .contact-page .ad-enquiry-inline{padding:18px}
  .contact-page .contact-layout{width:calc(100% - 28px)}
}
@media(max-width:700px){
  .home-map{height:400px}
  .home-testimonial-controls{gap:12px}
  .home-availability>.home-wrap{flex-direction:column;align-items:flex-start;gap:6px}
}

html.ad-chrome-ready body .contact-page .contact-intro{background:transparent!important;color:#071A30!important}
html.ad-chrome-ready body .contact-page .contact-intro :is(h1,p,.kicker,.crumb,a){color:#071A30!important}

/* Keep the opening screen and its status bar inside the available viewport. */
.home-refresh .home-hero{padding:32px 0;min-height:0}
.home-availability>.home-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px 28px;min-height:72px;padding-block:18px;font-size:14px;line-height:1.55}
.home-availability .home-current-work{grid-column:1;min-width:0}
.home-availability [data-booking-month]{grid-column:2;text-align:center}
.home-availability>.home-wrap>span:last-child{grid-column:3;text-align:right;min-width:0}
@media(min-width:1000px){.home-refresh .home-hero{min-height:calc(100svh - var(--ad-header-open) - var(--home-status-height,72px));align-items:center}}
@media(max-width:999px){.home-availability>.home-wrap{grid-template-columns:1fr;gap:8px;padding-block:18px}.home-availability .home-current-work,.home-availability [data-booking-month],.home-availability>.home-wrap>span:last-child{grid-column:1;text-align:left}}
@media(min-width:1000px) and (max-height:760px){.home-refresh .home-hero{padding-block:22px}.home-hero .home-lead{margin-top:18px}.home-refresh .home-hero .home-actions{margin-top:20px}.home-refresh .home-credentials{margin-top:22px}}
.ad-header-messages{display:flex;flex:none;align-items:center;gap:0}
.ad-header-messages a{display:inline-flex;justify-content:center;align-items:center;width:44px;height:44px;color:rgba(247,245,240,.76)!important;text-decoration:none!important;border-radius:50%;padding:0!important}
.ad-header-messages a:hover,.ad-header-messages a:focus-visible{color:var(--ad-cream)!important;background:rgba(247,245,240,.08)}
.ad-header-messages a:focus-visible{outline:2px solid var(--ad-gold);outline-offset:2px}
.ad-header-messages svg{display:block;flex:none;width:27px;height:27px}
@media(min-width:1031px) and (max-width:1160px){.ad-site-nav,.ad-site-header>.ad-site-header__inner>.ad-site-cta{display:none!important}.ad-menu-button{display:block!important}}
@media(max-width:640px){.ad-site-header .ad-menu-button{margin-left:0!important}.ad-site-header__inner{gap:8px!important}}
@media(max-width:360px){.ad-site-header .ad-site-logo,.ad-site-header.is-scrolled .ad-site-logo{width:140px!important;height:47px!important}.ad-site-header__inner{gap:6px!important}}
/* Town selection changes the detail content, never the map geometry. */
.home-map-shell{height:620px;align-items:stretch}
.home-map{height:100%;min-height:0}
.home-map-panel{min-height:0;overflow:hidden;gap:18px}
.home-map-panel>.home-current-work,.home-map-panel>.home-map-choice,.home-map-panel>.home-map-directory{flex:none}
.home-map-detail{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:stable;padding-right:4px}
.home-map-directory{margin-top:0}
@media(max-width:700px){.home-map-shell{height:auto}.home-map{height:400px}.home-map-panel{height:520px}}

/* Real SVG message marks inherit the same colour as their surrounding link. */
.ad-message-icon{display:inline-block;flex:none;width:24px;height:24px;fill:currentColor;vertical-align:middle}
.ad-header-messages .ad-message-icon{width:25px;height:25px}

/* Replaceable credential logos and public document previews live on About. */
#credentials,.credential-card{scroll-margin-top:120px}
.credentials-intro{max-width:760px;margin-bottom:30px}
.credentials-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.credential-card{display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid #cbbda8;border-radius:14px;background:#F7F5F0}
.credential-logo{display:flex;align-items:center;justify-content:center;height:100px;margin-bottom:24px}
.credential-logo>img{display:block;width:100%;height:100%;max-width:180px;object-fit:contain}
.credential-logo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:100%;height:100%;border:1px dashed #aa9271;border-radius:8px;color:#071A30}
.credential-logo-placeholder strong{font-size:23px;letter-spacing:.02em}
.credential-logo-placeholder>span{font-size:12px;color:#665642}
.credential-card h3{font-size:21px;line-height:1.3;margin:0 0 10px}
.credential-card>p{font-size:15px;line-height:1.65;margin:0 0 24px}
.credential-document{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:20px;border-top:1px solid #cbbda8;font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.credential-document>span:last-child{min-width:0}
.credential-document small{display:block;margin-top:5px;font-size:12px;color:#665642}
.credential-document-visual{display:flex;align-items:center;justify-content:center;flex:none;width:48px;min-height:56px;color:#8c6c3b}
.credential-document-visual img{width:48px;height:68px;object-fit:contain}
a.credential-document:focus-visible{outline:2px solid #071A30;outline-offset:5px}
@media(max-width:1100px){.credentials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.credentials-grid{grid-template-columns:1fr}.credential-card{padding:22px}.credential-logo{height:88px}.credentials-intro{margin-bottom:24px}}

/* Light neutral backgrounds and white light cards; navy cards retain their palette. */
html.ad-chrome-ready body main :is(
  .home-photo-card,.home-small-project,.home-comparison,.home-testimonial,
  .home-guide,.ballpark,.credential-card,
  .refined-project,.refined-sector-card,.refined-gallery figure,
  .refined-client-review,.refined-credentials>div,.refined-price-grid article,
  .refined-town-grid a,.project-filters,.advice-card,.editorial-nav-card,
  .related-card,.answer-box,.article-toc,.form-card,
  .ad-enquiry-inline
),
html.ad-chrome-ready body.ad-advice-hub .advice-topic:nth-child(even) .advice-card{
  background:#fff!important;
  color:#071A30!important;
}

/* Horizontal review gestures leave page scrolling and pinch zoom available. */
.home-review-swipe-hint{display:none}
.home-testimonial-track{overflow-x:hidden;touch-action:pan-y pinch-zoom;overscroll-behavior-x:contain}
.home-testimonial-track .home-testimonial{transition:transform .18s ease-out}
.home-testimonial-track.is-swiping .home-testimonial:not([hidden]){transform:translateX(var(--review-drag,0px));transition:none;user-select:none}
@media(max-width:700px),(pointer:coarse){
  .home-review-swipe-hint{display:block;text-align:center;margin:8px 0 0;font-size:12px;color:#53616b}
}
@media(prefers-reduced-motion:reduce){.home-testimonial-track .home-testimonial{transition:none}}

/* Final audit: readable proof and a compact, consistent mobile enquiry. */
.home-project-quote{margin:0;padding:22px 24px;border-left:3px solid #C2944F;background:#fff;border-radius:0 12px 12px 0;color:#071A30}
.home-project-quote blockquote{margin:0 0 12px;font-size:16px;line-height:1.6}
.home-project-quote figcaption{font-size:14px;line-height:1.5}
.home-project-quote a{font-weight:700;text-underline-offset:3px}
.contact-form-jump{display:inline-flex;align-items:center;min-height:46px;padding:8px 18px;border:1px solid currentColor;border-radius:999px;font-weight:700;text-decoration:none}
.contact-call-assistant{max-width:36em}
.guide-download-fallback{display:block;margin-top:10px;font-weight:700;text-underline-offset:3px;line-height:1.5}
.refresh-contact-form,.ad-enquiry-inline{scroll-margin-top:100px}
html.ad-chrome-ready body .ad-footer-bottom{color:rgba(247,245,240,.76);font-size:13px}
/* Actual guide pages, early article answers and resilient basic navigation. */
.guide-hero{background:#F7F5F0!important;color:#071A30!important;min-height:0!important;padding:36px 0!important}
.guide-hero .hero-grid{align-items:start!important;padding-block:0!important}
.guide-hero h1,.guide-hero .lead,.guide-hero .kicker,.guide-hero .bullet-row{color:#071A30!important}
.guide-hero h1{font-size:clamp(30px,3.1vw,46px)!important;line-height:1.1!important}
.guide-preview{display:grid;grid-template-columns:repeat(2,minmax(0,145px));gap:14px;margin-top:24px}
.guide-preview a{display:block}.guide-preview img{display:block;width:100%;height:auto!important;aspect-ratio:595/842;object-fit:contain!important;box-shadow:0 5px 18px #071a3020}
.guide-preview p{grid-column:1/-1;font-size:14px!important;line-height:1.55;color:#42536A;margin:0}
.guide-hero .form-card{background:#fff!important;color:#071A30!important}
.article-hero .answer-box{margin:22px 0 0!important;font-size:16px;max-width:760px}
.article-hero .answer-box p{margin-bottom:0}.refined-service-proof{padding-top:0;padding-bottom:18px;font-size:16px}
.ad-basic-header{position:absolute;inset:0 0 auto;background:#071A30;color:#F7F5F0;z-index:10;padding:18px 24px}
.ad-basic-header nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}.ad-basic-header a{color:inherit;font-size:15px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){.guide-hero{padding:24px 0!important}.guide-preview{grid-template-columns:repeat(2,minmax(0,115px));margin-top:20px}.guide-hero .hero-grid{gap:26px!important}.article-hero--editorial .article-hero-grid{gap:24px!important}.article-hero .article-dek{font-size:16px!important;line-height:1.55!important}.article-hero .answer-box{padding:18px!important}.article-hero .answer-box p{font-size:16px!important}}

/* Flat single-colour qualification marks, matching the messaging icons. */
.credential-logo{color:#071A30}
.credential-mark{display:block;width:180px;height:72px;max-width:100%;background-color:currentColor;-webkit-mask:var(--credential-src) center/contain no-repeat;mask:var(--credential-src) center/contain no-repeat}
.credential-logo.is-on-navy{color:#F7F5F0}

/* The guide mock-up uses the real cover and two selected interior pages. */
.guide-mockup{margin:24px 0 0;max-width:580px}.guide-mockup>a{display:block}.guide-mockup img{display:block;width:100%;height:auto!important;aspect-ratio:3/2;object-fit:contain!important;border-radius:8px}
.guide-mockup figcaption{margin-top:10px;font-size:14px;line-height:1.55;color:#42536A}.guide-page-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:8px}.guide-page-links a{color:#071A30;text-decoration:underline;text-underline-offset:4px}
.home-guide-preview{display:block;margin:0 0 20px}.home-guide-preview img{display:block;width:100%;height:auto;max-height:250px;object-fit:contain;border-radius:6px}
@media(max-width:700px){.guide-mockup{margin-top:20px}.guide-mockup img{max-height:260px}.home-guide-preview img{max-height:220px}}
