/* ACE silo pages (page-ace-silo.php), 13 Oct 2026. Tokens come from the site's own CSS (:root);
   no hex codes. 1440 box exactly on desktop, 24px gutter at 1480px and below. */
.ace-pb{--pb-gold:var(--primary);--pb-gold-dark:var(--primary-dark);--pb-ink:var(--color-black);--pb-text:var(--color-gray-700);
  --pb-muted:var(--color-gray-500);--pb-line:var(--color-gray-200);--pb-soft:var(--color-gray-50);--pb-white:var(--color-white);
  --pb-ease:cubic-bezier(0.23,1,0.32,1);--pb-header:80px;color:var(--pb-text);font-size:var(--text-base);line-height:var(--leading-relaxed)}
.ace-pb-box{max-width:1440px;margin:0 auto;padding:0;box-sizing:border-box}
@media (max-width:1480px){.ace-pb-box{padding-inline:24px}}

/* Title band: the same dark band the existing service pages open with */
.ace-pb-hero{background:var(--pb-ink);color:var(--pb-white);padding:calc(var(--pb-header) + 3.5rem) 0 3.5rem}
.ace-pb-crumb ol{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem;padding:0;list-style:none;font-size:var(--text-sm);font-weight:var(--font-weight-semibold)}
.ace-pb-crumb li{display:inline-flex;align-items:center;gap:.5rem;color:var(--pb-gold)}
.ace-pb-crumb li+li::before{content:"/";color:var(--color-gray-500)}
.ace-pb-crumb a{color:var(--color-gray-300);text-decoration:none}
.ace-pb-crumb a:hover{color:var(--pb-white)}
.ace-pb-hero h1{font-size:var(--text-4xl);line-height:1.1;letter-spacing:-.02em;font-weight:var(--font-weight-bold);color:var(--pb-white);margin:0}
@media (min-width:768px){.ace-pb-hero h1{font-size:var(--text-5xl);line-height:1.05}}
.ace-pb-rule{display:block;width:64px;height:2px;background:var(--pb-gold);margin:1.5rem 0 1.25rem;border:0}
.ace-pb-deck{font-size:var(--text-lg);line-height:1.6;color:var(--color-gray-300);margin:0}

/* Body: copy column + quote card. The grid sets the measure (no max-width on text). */
.ace-pb-main{display:grid;grid-template-columns:minmax(0,1fr);gap:3rem;padding-top:4rem;padding-bottom:4.5rem}
@media (min-width:1024px){.ace-pb-main{grid-template-columns:minmax(0,1fr) 360px;gap:4rem}}
.ace-pb-content>section+section{margin-top:3rem}
.ace-pb-content h2{font-size:var(--text-2xl);line-height:1.25;letter-spacing:-.015em;font-weight:var(--font-weight-bold);color:var(--pb-ink);margin:0 0 1rem}
@media (min-width:768px){.ace-pb-content h2{font-size:var(--text-3xl)}}
.ace-pb-content h3{font-size:var(--text-xl);line-height:1.3;letter-spacing:-.01em;font-weight:var(--font-weight-bold);color:var(--pb-ink);margin:1.75rem 0 .6rem}
.ace-pb-content p{margin:0 0 1rem}
.ace-pb-content strong{color:var(--pb-ink);font-weight:var(--font-weight-semibold)}
.ace-pb-content ul,.ace-pb-content ol{margin:0 0 1.25rem;padding:0;list-style:none}
.ace-pb-content li{position:relative;margin:0 0 .55rem}
.ace-pb-content ul>li{padding-left:1.5rem}
.ace-pb-content ul>li::before{content:"";position:absolute;left:.15rem;top:.62em;width:.45rem;height:.45rem;border-radius:999px;background:var(--pb-gold)}
.ace-pb-content ol{counter-reset:pb}
.ace-pb-content ol>li{padding-left:2.25rem;counter-increment:pb}
.ace-pb-content ol>li::before{content:counter(pb);position:absolute;left:0;top:.1em;width:1.5rem;height:1.5rem;border-radius:999px;background:var(--pb-gold);color:var(--pb-ink);font-weight:var(--font-weight-bold);font-size:var(--text-xs);display:flex;align-items:center;justify-content:center}

/* Text links: text colour at rest, 1px underline grows from the left on hover/focus (house link style) */
.ace-pb-content p a,.ace-pb-content li a,.ace-pb-faq-a a{color:inherit;font-weight:var(--font-weight-semibold);text-decoration:none;
  background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;
  transition:background-size .25s ease,color .2s ease}
.ace-pb-content p a:hover,.ace-pb-content li a:hover,.ace-pb-content p a:focus-visible,.ace-pb-content li a:focus-visible,.ace-pb-faq-a a:hover,.ace-pb-faq-a a:focus-visible{background-size:100% 1px;color:var(--pb-gold-dark)}

/* Quote card */
.ace-pb-side{align-self:start}
@media (min-width:1024px){.ace-pb-side{position:sticky;top:calc(var(--pb-header) + 40px)}}
.ace-pb-card{border:1px solid var(--pb-line);border-top:3px solid var(--pb-gold);border-radius:var(--radius);padding:1.75rem;background:var(--pb-white);box-shadow:0 18px 40px -28px rgba(0,0,0,.35)}
.ace-pb-card h2{font-size:var(--text-xl);line-height:1.3;font-weight:var(--font-weight-bold);color:var(--pb-ink);margin:0 0 .5rem}
.ace-pb-card p{margin:0 0 1.25rem;font-size:var(--text-sm)}
.ace-pb-card dl{margin:0 0 1.5rem;display:grid;gap:.75rem;font-size:var(--text-sm)}
.ace-pb-card dt{font-weight:var(--font-weight-semibold);color:var(--pb-ink)}
.ace-pb-card dd{margin:0}
.ace-pb-card dd a{color:inherit;text-decoration:none}
.ace-pb-card dd a:hover{color:var(--pb-gold-dark)}
.ace-pb-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.5rem;border-radius:var(--radius);
  background:var(--pb-gold);color:var(--pb-ink);font-weight:var(--font-weight-bold);text-decoration:none;cursor:pointer;
  transition:transform 160ms var(--pb-ease),background-color .2s ease}
.ace-pb-btn:active{transform:scale(.97)}
.ace-pb-btn.is-ghost{background:transparent;box-shadow:inset 0 0 0 1.5px var(--pb-ink);margin-top:.75rem}
@media (hover:hover) and (pointer:fine){.ace-pb-btn:hover{background:var(--pb-ink);color:var(--pb-white)}.ace-pb-btn.is-ghost:hover{background:var(--pb-ink);color:var(--pb-white)}}

/* Map (location pages) */
.ace-pb-map{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:var(--radius);margin:.5rem 0 1rem;background:var(--pb-soft)}

/* Related pages band (other services / other areas) */
.ace-pb-related{background:var(--pb-soft);border-top:1px solid var(--pb-line);padding:4rem 0}
.ace-pb-related h2{font-size:var(--text-2xl);line-height:1.25;letter-spacing:-.015em;font-weight:var(--font-weight-bold);color:var(--pb-ink);margin:0 0 .5rem}
.ace-pb-related>.ace-pb-box>p{margin:0 0 1.75rem}
.ace-pb-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;margin:0;padding:0;list-style:none}
@media (min-width:640px){.ace-pb-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.ace-pb-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ace-pb-cards a{display:block;height:100%;box-sizing:border-box;padding:1.25rem 1.5rem;border:1px solid var(--pb-line);border-left:3px solid var(--pb-gold);border-radius:var(--radius);
  background:var(--pb-white);color:var(--pb-text);text-decoration:none;transition:transform 160ms var(--pb-ease),border-color .2s ease}
.ace-pb-cards a:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.ace-pb-cards a:hover{border-color:var(--pb-ink)}}
.ace-pb-cards strong{display:block;color:var(--pb-ink);font-weight:var(--font-weight-bold);margin-bottom:.25rem}
.ace-pb-cards span{font-size:var(--text-sm)}
.ace-pb-areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1.5rem;margin:0;padding:0;list-style:none}
@media (min-width:768px){.ace-pb-areas{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1200px){.ace-pb-areas{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ace-pb-areas li{position:relative;padding-left:1.25rem}
.ace-pb-areas li::before{content:"";position:absolute;left:0;top:.62em;width:.45rem;height:.45rem;border-radius:999px;background:var(--pb-gold)}
.ace-pb-areas a{color:var(--pb-text);font-weight:var(--font-weight-semibold);text-decoration:none}
.ace-pb-areas a:hover{color:var(--pb-gold-dark)}

/* FAQ accordion: house pattern, rotating chevron + animated height (ace-pages.js) */
.ace-pb-faq{margin-top:3rem}
.ace-pb-faq details{border-bottom:1px solid var(--pb-line)}
.ace-pb-faq details:first-of-type{border-top:1px solid var(--pb-line)}
.ace-pb-faq summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:56px;padding:1rem 0;cursor:pointer;list-style:none;
  font-weight:var(--font-weight-semibold);font-size:var(--text-lg);line-height:1.4;color:var(--pb-ink)}
.ace-pb-faq summary::-webkit-details-marker{display:none}
.ace-pb-faq summary:focus-visible{outline:2px solid var(--pb-gold);outline-offset:4px}
.ace-pb-faq-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;background:var(--pb-soft);color:var(--pb-ink);
  transition:transform 220ms var(--pb-ease),background-color .2s ease}
.ace-pb-faq details[open] .ace-pb-faq-icon{transform:rotate(180deg);background:var(--pb-gold)}
@media (hover:hover) and (pointer:fine){.ace-pb-faq summary:hover .ace-pb-faq-icon{background:var(--pb-gold)}}
.ace-pb-faq-a{overflow:hidden}
.ace-pb-faq-a p{margin:0 0 1.25rem}
@media (prefers-reduced-motion:reduce){.ace-pb-faq-icon,.ace-pb-btn,.ace-pb-cards a{transition:none}}

/* Blocks added to the existing (mirror) pages, 13 Oct 2026: match their heading scale and spacing */
.ace-pb-embed{margin-top:2rem}
.ace-pb-embed>section+section{margin-top:2.5rem}
.ace-pb-embed h2{font-size:var(--text-xl);color:var(--color-gray-800)}
@media (min-width:640px){.ace-pb-embed h2{font-size:var(--text-2xl)}}
.ace-pb-embed p,.ace-pb-embed li{color:var(--color-gray-700)}
.ace-pb-embed .ace-pb-cards{margin-top:1rem}
@media (min-width:1024px){.ace-pb-embed .ace-pb-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ace-pb-content ul.ace-pb-cards>li{padding-left:0;margin:0}
.ace-pb-content ul.ace-pb-cards>li::before{content:none}
