/* NPD brand pass (design critique, 2026-09-30). Source: ~/npd-backups/chrome/brand.css, installed by install.py.
   Loaded after chrome.css on every storefront page. */
:root{--npd-ink:#0d0d0f;--npd-ink2:#1c1c20;--npd-gold:#d4b98a;--npd-gold2:#b59b6e;--npd-gold-text:#7a6640;--npd-cream:#f6f4ef;--npd-warm:#fbfaf7;--npd-muted:#55555c;
  --npd-font:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--npd-head:Manrope,Inter,system-ui,sans-serif}

/* 1. Typography: Inter for text, Manrope for headings */
body,button,input,select,textarea,.btn{font-family:var(--npd-font)}
h1,h2,h3,h4,h5,.title,.module-title,.page-title,.npd-hero h1,.npd-fcta h2{font-family:var(--npd-head);letter-spacing:-.015em}
.npd-hero h1{font-weight:800}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* 2. One button system: gold primary (ink text), outline secondary, text link */
html body .npdsvc-btn,html body .npd-btn-gold,html body .btn.btn-primary,html body .module-blocks .block-footer .btn[href*="wa.me"],
html body .module-blocks-340 .block-footer .btn,html body .module-blocks-364 .block-footer .btn,html body .module-blocks-366 .block-footer .btn,html body .module-blocks-368 .block-footer .btn,
html body .module-blocks-370 .block-footer .btn,html body .module-blocks-372 .block-footer .btn,html body .module-blocks-374 .block-footer .btn,html body .module-blocks-376 .block-footer .btn,html body .module-blocks-384 .block-footer .btn{
  background:linear-gradient(135deg,#e2c898,var(--npd-gold2))!important;color:var(--npd-ink)!important;border:0!important;border-radius:12px!important;
  font-weight:700!important;text-transform:none!important;letter-spacing:0!important;box-shadow:0 6px 18px rgba(181,155,110,.28)}
html body .npdsvc-btn:hover,html body .npd-btn-gold:hover,html body .btn.btn-primary:hover,html body .module-blocks .block-footer .btn:hover{filter:brightness(1.06);color:var(--npd-ink)!important}
html body .npdsvc-btn.npdsvc-btn2{background:#fff!important;color:var(--npd-ink)!important;box-shadow:inset 0 0 0 1.5px var(--npd-ink)!important}
html body .npdsvc-btn.npdsvc-btn2:hover{background:var(--npd-ink)!important;color:#fff!important;filter:none}
html body .npd-btn-gold,html body .npd-btn-ghost,html body .npdsvc-btn{border-radius:12px!important}
/* secondary: "See more" cards, blog "Read more" */
html body .module-blocks-336 .block-footer .btn,html body .module-blocks-353 .block-footer .btn,html body .btn-read-more{
  background:transparent!important;color:var(--npd-ink)!important;box-shadow:inset 0 0 0 1.5px rgba(13,13,15,.8)!important;border:0!important;border-radius:12px!important;
  text-transform:none!important;letter-spacing:0!important;font-weight:700!important;min-height:40px;padding:9px 18px!important;display:inline-flex!important;align-items:center;gap:6px}
html body .module-blocks-336 .block-footer .btn:hover,html body .module-blocks-353 .block-footer .btn:hover,html body .btn-read-more:hover{background:var(--npd-ink)!important;color:#fff!important;box-shadow:none!important}
html body .btn-read-more .btn-text::after{content:" \2192"}
html body .btn,html body .btn span,html body button{text-transform:none}
html body .module-newsletter .btn,html body .npd-contact .btn,html body .contact-form .btn{text-transform:none!important;letter-spacing:0!important}

/* 3. Contrast: gold text on light backgrounds uses the darker gold; muted greys darkened */
html body .npd-about-kicker,html body .npdsvc-blog-kicker,html body .npdsvc-kicker,html body .npd-tl-tag,html body .npd-home-post .npdsvc-blog-kicker{color:var(--npd-gold-text)!important}
html body .npd-grev-head figcaption span{color:var(--npd-muted)!important}
html body .npdsvc-note a,html body .npdsvc a.npd-inline{color:var(--npd-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--npd-gold2);font-weight:600}

/* 4. Touch targets (44px) */
html body .npd-fcontact a{display:inline-block;padding:11px 0;margin:-11px 0}
html body .npd-fbar a{display:inline-block;padding:12px 2px;margin:-12px 0}
html body .npd-grev-count a{display:inline-block;padding:8px 0;margin:-8px 0}
html body .npd-tool-try{row-gap:10px}
html body .npd-tool-chip{min-height:40px;padding:8px 14px!important}

/* 5. Services grid: gold line icons on ink tiles instead of multicolour stock art; full descriptions */
.module-blocks-336 .module-item .block-body{background:#fff;border:1px solid rgba(13,13,15,.07)!important;border-radius:18px!important;transition:border-color .2s,box-shadow .2s,transform .2s}
.module-blocks-336 .module-item .block-body:hover{border-color:rgba(181,155,110,.7)!important;box-shadow:0 14px 34px rgba(13,13,15,.08);transform:translateY(-2px)}
.module-blocks-336 .block-header{position:relative;width:64px!important;height:64px!important;min-height:0!important;margin:0 auto 14px!important;border-radius:18px;
  background:linear-gradient(150deg,#232327,var(--npd-ink));box-shadow:inset 0 0 0 1px rgba(212,185,138,.4);flex:0 0 auto}
.module-blocks-336 .block-header img{display:none!important}
.module-blocks-336 .block-header::after{content:"";position:absolute;inset:17px;background:var(--npd-gold);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.module-blocks-336 .module-item-1 .block-header{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7h14l-1.2 13H6.2z'/%3E%3Cpath d='M9 10V6a3 3 0 0 1 6 0v4'/%3E%3C/svg%3E")}
.module-blocks-336 .module-item-2 .block-header{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='2.5' width='10' height='19' rx='2.2'/%3E%3Cpath d='M11 18.5h2'/%3E%3C/svg%3E")}
.module-blocks-336 .module-item-3 .block-header{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='M3 9h18M6.5 6.5h.01M9 6.5h.01M7 13h6M7 16h10'/%3E%3C/svg%3E")}
.module-blocks-336 .module-item-4 .block-header{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H6v18h12V7z'/%3E%3Cpath d='M14 3v4h4M9 12h6M9 16h4'/%3E%3C/svg%3E")}
.module-blocks-336 .module-item-5 .block-header{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 5h6a3 3 0 0 1 3 3v12a2 2 0 0 0-2-2H3zM21 5h-6a3 3 0 0 0-3 3v12a2 2 0 0 1 2-2h7z'/%3E%3C/svg%3E")}
.module-blocks-336 .module-item-6 .block-header{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v4M12 17v4M3 12h4M17 12h4M5.6 5.6l2.8 2.8M15.6 15.6l2.8 2.8M5.6 18.4l2.8-2.8M15.6 8.4l2.8-2.8'/%3E%3C/svg%3E")}
.module-blocks-336 .module-item-7 .block-header{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 7l-5 5 5 5M16 7l5 5-5 5M13.5 4.5l-3 15'/%3E%3C/svg%3E")}
.module-blocks-336 .module-item-8 .block-header{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 9l1.8-5h13.4l1.8 5M3.5 9h17M3.5 9a2.8 2.8 0 0 0 5.7 0 2.8 2.8 0 0 0 5.6 0 2.8 2.8 0 0 0 5.7 0M5 12v8h14v-8M10 20v-5h4v5'/%3E%3C/svg%3E")}
.module-blocks-336 .module-item-9 .block-header{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h12v18l-3-2-3 2-3-2-3 2z'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h3'/%3E%3C/svg%3E")}
.module-blocks-336 .module-item-10 .block-header{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 9V3h10v6M7 17H5a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-2'/%3E%3Cpath d='M7 14h10v7H7z'/%3E%3C/svg%3E")}
.module-blocks-336 .module-item-11 .block-header{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20l1.4-4.2A8 8 0 1 1 8.4 19z'/%3E%3Cpath d='M9 10.5h6M9 13.5h4'/%3E%3C/svg%3E")}
.module-blocks-336 .block-content,.module-blocks-336 .block-content p{-webkit-line-clamp:unset!important;line-clamp:unset!important;max-height:none!important;overflow:visible!important;display:block!important}
.grid-row-content-bottom-3{background:var(--npd-warm)}

/* 6. Hero: Google rating badge; tool pages have a compact hero with their own art */
.npd-hero-rating{display:inline-flex;align-items:center;gap:9px;margin:18px 0 16px;padding:8px 14px 8px 10px;border-radius:999px;background:rgba(255,255,255,.06);
  box-shadow:inset 0 0 0 1px rgba(212,185,138,.35);color:#e9e3d6!important;font-size:15px;text-decoration:none!important;line-height:1}
.npd-hero-rating b{color:#fff}
.npd-hero-rating:hover{background:rgba(212,185,138,.14)}
.npd-hero-rating .npd-grev-stars{display:inline-grid;position:relative}
.npd-hero-rating .npd-grev-stars>span{grid-area:1/1;display:flex;overflow:hidden;white-space:nowrap}
.npd-hero-rating .npd-grev-stars svg{flex:0 0 auto;fill:rgba(255,255,255,.22)}
.npd-hero-rating .npd-grev-stars-fg svg{fill:var(--npd-gold)}
.npd-hero--tool .npd-hero-inner{padding-top:36px!important;padding-bottom:30px!important}
.npd-hero--tool .npd-hero-poster{opacity:1!important;max-width:420px;margin:0 auto}
.npd-hero--tool .npd-hero-poster svg{width:100%;height:auto;display:block}

/* 7. Floating WhatsApp button; back-to-top moves above it */
.npd-wa-float{position:fixed;right:18px;bottom:18px;z-index:10002;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#e2c898,var(--npd-gold2));box-shadow:0 10px 26px rgba(13,13,15,.35),inset 0 0 0 1px rgba(255,255,255,.25);transition:transform .2s}
.npd-wa-float:hover{transform:scale(1.06)}
.npd-wa-float svg{width:28px;height:28px;fill:var(--npd-ink)}
.scroll-top{bottom:86px!important;right:24px!important}
.route-account-support .npd-wa-float,.route-account-login .npd-wa-float{display:none}

/* 8. Blog: no zero counters; sidebar quote card replaces the Amazon ad */
.post-stats .p-comment,.post-stats .p-view,.p-stats .p-comment,.p-stats .p-view{display:none!important}
.npd-side-cta{background:linear-gradient(160deg,#1c1c20,var(--npd-ink));color:#d9d2c2;border-radius:18px;padding:22px 20px;box-shadow:inset 0 0 0 1px rgba(212,185,138,.3)}
.npd-side-cta .npd-side-kicker{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--npd-gold);margin-bottom:8px}
.npd-side-cta h3{font-family:var(--npd-head);font-size:20px;line-height:1.25;color:#fff;margin:0 0 10px}
.npd-side-cta p{font-size:14.5px;line-height:1.55;margin:0 0 16px;color:#cfc8b8}
.npd-side-cta .npd-side-btn{display:block;text-align:center;padding:12px 14px;border-radius:12px;background:linear-gradient(135deg,#e2c898,var(--npd-gold2));color:var(--npd-ink)!important;font-weight:700;text-decoration:none!important}
.npd-side-cta .npd-side-link{display:block;text-align:center;margin-top:12px;padding:6px 0;color:var(--npd-gold)!important;font-size:14.5px;text-decoration:none!important}
.module-blocks-333 iframe,.module-blocks-334 iframe{display:none!important}

/* 9. Footer: one set of social icons (bottom bar) */
footer .icons-menu-61{display:none!important}

/* 10. Mobile */
@media (max-width:767px){
  .mobile-top-bar{display:none!important}
  .npd-hero .npd-hero-visual{max-height:230px;overflow:hidden}
  .route-common-home .npd-hero .npd-hero-visual{max-height:180px}
  .route-common-home .npd-hero-points{display:none!important}
  /* services: one column of rows, icon left */
  html body .module-blocks-336 .module-body{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  html body .module-blocks-336 .module-item .block-body{display:grid!important;grid-template-columns:52px minmax(0,1fr);grid-template-areas:"icon title" "icon body";
    column-gap:14px;row-gap:4px;align-items:start;text-align:left!important;padding:16px!important;height:auto!important}
  html body .module-blocks-336 .block-header{grid-area:icon;width:52px!important;height:52px!important;margin:0!important;border-radius:14px}
  html body .module-blocks-336 .block-header::after{inset:14px}
  html body .module-blocks-336 .block-title{grid-area:title;text-align:left!important;font-size:17px!important;margin:0!important;padding:0!important}
  html body .module-blocks-336 .block-wrapper{grid-area:body;text-align:left!important;padding:0!important}
  html body .module-blocks-336 .block-content,html body .module-blocks-336 .block-content p{font-size:15px!important;line-height:1.55!important;text-align:left!important;padding:0!important;margin:0!important}
  html body .module-blocks-336 .block-footer{justify-content:flex-start!important;text-align:left!important;padding:10px 0 0!important;margin:0!important}
  html body .module-blocks-336 .block-footer .btn{min-height:40px;padding:8px 14px!important}
  .npd-hero--tool .npd-hero-visual{display:none!important}
  .npd-hero--tool .npd-hero-inner{padding-top:24px!important;padding-bottom:22px!important}
  .npd-hero-rating{font-size:14px}
  html:not(.npd-svc-all) .module-blocks-336 .module-item:is(.module-item-4,.module-item-5,.module-item-6,.module-item-8,.module-item-10){display:none!important}
  .npd-svc-more{display:flex;justify-content:center;margin:6px 0 10px}
  .npd-svc-more button{min-height:46px;padding:10px 22px;border:0;border-radius:12px;background:var(--npd-ink);color:#fff;font-weight:700;font-size:16px;font-family:var(--npd-font)}
  .npd-wa-float{right:14px;bottom:14px;width:54px;height:54px}
  .scroll-top{bottom:80px!important;right:19px!important}
}
@media (min-width:768px){.npd-svc-more{display:none}}
html body .module-blocks .block-footer .btn{display:inline-flex!important;align-items:center;gap:8px}

/* 11. Mobile menu (2026-09-30 check) */
/* the page wrapper painted over the mobile header, so taps on the menu icon never reached it */
html.mobile-header-active header{position:relative;z-index:1000}
/* hide the floating WhatsApp button while the off-canvas menu is open (the menu has its own WhatsApp button) */
html.mobile-main-menu-container-open .npd-wa-float,html.mobile-main-menu-container-open .scroll-top{display:none!important}
/* "Get Quote" repeats the gold "Get a free quote" button pinned at the bottom of the menu */
html body .mobile-main-menu-wrapper .main-menu-item-20{display:none!important}
/* Support had the same icon as Blog: headset */
html body .mobile-main-menu-wrapper .main-menu-item-19>a::before{content:""!important;font-family:inherit!important;display:inline-block;width:20px;height:20px;background:#d4b98a;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14v-2a8 8 0 0 1 16 0v2'/%3E%3Crect x='3' y='13' width='4' height='7' rx='1.5'/%3E%3Crect x='17' y='13' width='4' height='7' rx='1.5'/%3E%3Cpath d='M19 20a3 3 0 0 1-3 2h-3'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14v-2a8 8 0 0 1 16 0v2'/%3E%3Crect x='3' y='13' width='4' height='7' rx='1.5'/%3E%3Crect x='17' y='13' width='4' height='7' rx='1.5'/%3E%3Cpath d='M19 20a3 3 0 0 1-3 2h-3'/%3E%3C/svg%3E") center/contain no-repeat}

/* 12. Novel page enquiry form (layout 43, form 433): same look as the other service forms */
html body .layout-43 .grid-row-content-bottom-1{background:#f7f3ea;padding:56px 0!important;box-shadow:0 0 0 100vmax #f7f3ea;clip-path:inset(0 -100vmax)}
html body .module-form-433{max-width:760px;margin:0 auto}
html body .module-form-433 .title.module-title{font-size:28px!important;font-weight:700!important;text-transform:none!important;letter-spacing:-.015em!important;text-align:center!important;color:#333!important;margin:0 0 18px!important}
html body .module-form-433 .title.module-title::after{left:0!important;right:0!important;margin:12px auto 0!important;width:50px;background:#b59b6e}
