/* PCMM home page: purple and gold. Loads only on the controlled page. */

/* ---- Remove the white: hide title bar, boxed container and padding (Kadence) ---- */
body.pcmm-home{background:#190a2e}
body.pcmm-home .entry-hero,
body.pcmm-home .entry-hero-container-inner,
body.pcmm-home .page-hero-section,
body.pcmm-home .entry-header,
body.pcmm-home .entry-title,
body.pcmm-home .post-thumbnail{display:none !important}
body.pcmm-home #inner-wrap,
body.pcmm-home #primary,
body.pcmm-home #main,
body.pcmm-home .content-area,
body.pcmm-home .content-wrap,
body.pcmm-home .content-container,
body.pcmm-home .site-container,
body.pcmm-home .entry,
body.pcmm-home .entry-content-wrap,
body.pcmm-home .entry-content,
body.pcmm-home .single-content{max-width:none !important;width:100% !important;margin:0 !important;padding:0 !important;background:transparent !important;box-shadow:none !important;border:0 !important}
body.pcmm-home .content-area{margin-top:0 !important;margin-bottom:0 !important}
body.pcmm-home .entry-content > *{margin-top:0;margin-bottom:0}
body.pcmm-home{overflow-x:hidden}

/* ---- Design tokens ---- */
.pcm-wrap{
  --bg:#190a2e;--bg2:#240f42;--gold:#dca43c;--gold2:#f0c566;--ink:#f4eef9;
  --head:"Times New Roman",Georgia,serif;--body:"Helvetica Neue",Arial,sans-serif;
  --pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='104'%3E%3Cg fill='none' stroke='%23dca43c' stroke-opacity='.22' stroke-width='1'%3E%3Ccircle cx='-30' cy='-52' r='60'/%3E%3Ccircle cx='30' cy='-52' r='60'/%3E%3Ccircle cx='90' cy='-52' r='60'/%3E%3Ccircle cx='-60' cy='0' r='60'/%3E%3Ccircle cx='0' cy='0' r='60'/%3E%3Ccircle cx='60' cy='0' r='60'/%3E%3Ccircle cx='120' cy='0' r='60'/%3E%3Ccircle cx='-30' cy='52' r='60'/%3E%3Ccircle cx='30' cy='52' r='60'/%3E%3Ccircle cx='90' cy='52' r='60'/%3E%3Ccircle cx='-60' cy='104' r='60'/%3E%3Ccircle cx='0' cy='104' r='60'/%3E%3Ccircle cx='60' cy='104' r='60'/%3E%3Ccircle cx='120' cy='104' r='60'/%3E%3Ccircle cx='-30' cy='156' r='60'/%3E%3Ccircle cx='30' cy='156' r='60'/%3E%3Ccircle cx='90' cy='156' r='60'/%3E%3C/g%3E%3C/svg%3E");
  font-family:var(--body);color:var(--ink);background:var(--bg);position:relative;isolation:isolate;line-height:1.7;font-size:1rem;width:100%}
.pcm-wrap *,.pcm-wrap *::before,.pcm-wrap *::after{box-sizing:border-box}
.pcm-wrap h1,.pcm-wrap h2,.pcm-wrap h3{font-family:var(--head);font-style:italic;font-weight:700;color:var(--gold);margin:0 0 .5em;line-height:1.2}
.pcm-wrap p{margin:0 0 1em}
.pcm-wrap a{text-decoration:none}
.pcm-wrap img{max-width:100%;height:auto;display:block}
.pcm-rule{width:190px;height:1px;background:var(--gold);margin:22px auto}
.pcm-label{text-transform:uppercase;letter-spacing:.35em;font-size:.8rem;font-weight:700;color:var(--gold);margin:0 0 .8em}
.pcm-center{text-align:center}
.pcm-gap{margin-top:32px}

/* ---- Buttons ---- */
.pcm-btn{display:inline-block;padding:16px 40px;border:2px solid var(--gold);background:var(--gold);color:#190a2e !important;text-transform:uppercase;letter-spacing:.2em;font-size:.85rem;font-weight:700;border-radius:14px;transition:background .25s,color .25s,border-color .25s}
.pcm-btn:hover{background:var(--gold2);border-color:var(--gold2)}
.pcm-btn.ghost{background:transparent;color:var(--gold) !important}
.pcm-btn.ghost:hover{background:var(--gold);color:#190a2e !important}
.pcm-btn.big{padding:20px 58px;font-size:.95rem}
.pcm-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* ---- Hero ---- */
.pcm-hero{position:relative;isolation:isolate;padding:48px 20px;overflow:hidden;background:var(--bg)}
.pcm-hero-bg{position:absolute !important;inset:0;width:100% !important;height:100% !important;object-fit:cover;z-index:-2}
.pcm-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(var(--ov-rgb,25,10,46),calc(var(--ov-a,.5) + .35))}
.pcm-frame{max-width:1100px;margin:0 auto;border:3px solid var(--gold);padding:8px}
.pcm-frame-in{border:1px solid var(--gold);text-align:center;padding:60px 24px 70px;background:var(--pattern)}
.pcm-logo{width:230px;max-width:60%;height:auto !important;border-radius:50%;margin:0 auto 18px !important}
.pcm-hero h1{font-size:clamp(2.2rem,5.5vw,4rem)}
.pcm-tag{font-family:var(--head);font-style:italic;font-size:clamp(1.1rem,2.4vw,1.5rem);color:var(--gold2);max-width:760px;margin:0 auto 2em !important}

/* ---- Sections ---- */
.pcm-sec{position:relative;padding:90px 24px}
/* Section tints sit behind ONE page-wide pattern layer, so the flower of life never breaks between sections */
.pcm-sec::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none}
.pcm-sec.alt::before{background:rgb(var(--panel-alt-rgb,36,15,66))}
.pcm-patt{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:var(--pattern);background-position:0 0}
.pcm-inner{max-width:1120px;margin:0 auto}
.pcm-sec h2{font-size:clamp(1.8rem,3.6vw,2.6rem)}
.pcm-lede{max-width:700px;margin:0 auto 3em !important}

/* Service cards */
.pcm-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.pcm-card{background:var(--bg2);border:1px solid var(--gold);text-align:center;padding-bottom:28px;border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.pcm-card-img{aspect-ratio:4/5;background:#33195c;margin-bottom:22px;overflow:hidden}
.pcm-card-img img{width:100%;height:100%;object-fit:cover}
.pcm-card:not(:has(.pcm-card-img)){padding-top:28px}
.pcm-card h3{font-size:1.4rem;padding:0 14px}
.pcm-card p{font-size:.95rem;padding:0 18px;flex:1}
.pcm-more{align-self:center;color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:700;border-bottom:1px solid var(--gold);padding-bottom:2px}
.pcm-more:hover{color:var(--gold2);border-color:var(--gold2)}

/* About split */
.pcm-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.pcm-split:not(:has(.pcm-pic)){grid-template-columns:1fr;max-width:760px}
.pcm-pic{border:3px solid var(--gold);aspect-ratio:4/3;overflow:hidden;background:#33195c}
.pcm-pic img{width:100%;height:100%;object-fit:cover}

/* Pricing */
.pcm-price{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:860px;margin:0 auto 24px}
.pcm-price > div{background:var(--bg2);border:1px solid var(--gold);padding:32px;border-radius:6px}
.pcm-price h3{text-align:center;font-size:1.4rem}
.pcm-wrap .pcm-price ul{list-style:none !important;margin:0 !important;padding:0 !important}
.pcm-price li{display:flex;justify-content:space-between;border-bottom:1px solid rgba(220,164,60,.3);padding:10px 0;margin:0}
.pcm-price b{color:var(--gold2)}
.pcm-note{font-size:.85rem;opacity:.85;max-width:700px;margin:0 auto !important}

/* Service areas */
.pcm-wrap ul.pcm-areas{list-style:none !important;margin:0 auto !important;padding:0 !important;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;text-align:center;width:100%;max-width:800px}
.pcm-wrap ul.pcm-areas li{list-style:none !important;border:1px solid var(--gold);color:var(--gold2);padding:8px 22px !important;border-radius:999px;letter-spacing:.06em;margin:0 !important;text-align:center}
.pcm-wrap ul.pcm-areas li::marker{content:none}

/* Reviews */
.pcm-quotes{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:960px;margin:0 auto}
.pcm-quotes blockquote{margin:0;padding:0;border:0;font-family:var(--head);font-style:italic;font-size:1.2rem;color:var(--ink)}
.pcm-quotes blockquote p{margin:0}
.pcm-quotes cite{display:block;margin-top:12px;font-family:var(--body);font-style:normal;text-transform:uppercase;letter-spacing:.15em;font-size:.78rem;color:var(--gold)}

/* FAQ */
.pcm-faq{max-width:820px}
.pcm-faq details{border:1px solid var(--gold);border-radius:8px;margin:0 0 12px;background:var(--bg)}
.pcm-faq summary{cursor:pointer;padding:18px 22px;font-family:var(--head);font-style:italic;font-weight:700;font-size:1.15rem;color:var(--gold);list-style:none;position:relative;padding-right:52px}
.pcm-faq summary::-webkit-details-marker{display:none}
.pcm-faq summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:1.5rem;font-style:normal}
.pcm-faq details[open] summary::after{content:"\2212"}
.pcm-faq details > div{padding:0 22px 8px}

/* Closing banner */
.pcm-cta{background:var(--gold);color:#190a2e;text-align:center;padding:80px 24px}
.pcm-cta h2{color:#190a2e !important}
.pcm-cta p{max-width:620px;margin:0 auto 2em}
.pcm-cta .pcm-btn{background:#190a2e;border-color:#190a2e;color:var(--gold) !important}
.pcm-cta .pcm-btn:hover{background:transparent;color:#190a2e !important}

/* Sticky Book Now bar on phones */
.pcm-sticky{display:none}

@media(max-width:900px){
  .pcm-cards{grid-template-columns:1fr 1fr}
  .pcm-split,.pcm-price,.pcm-quotes{grid-template-columns:1fr}
  .pcm-sec{padding:60px 20px}
  .pcm-frame-in{padding:40px 16px 50px}
  .pcm-sticky{display:block;position:fixed;left:0;right:0;bottom:0;z-index:9999;text-align:center;padding:16px;background:var(--gold);color:#190a2e !important;text-transform:uppercase;letter-spacing:.2em;font-weight:700;font-size:.9rem}
  .pcm-wrap{padding-bottom:56px}
}
@media(max-width:520px){.pcm-cards{grid-template-columns:1fr}.pcm-btn.big{padding:18px 36px}}

/* ---- Fixed background: sections scroll over one stable photo ---- */
.pcm-fixedbg{clip-path:inset(0)}
.pcm-bgfix{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-3;pointer-events:none;background:#190a2e;overflow:hidden}
.pcm-bgfix img{position:absolute;top:0;left:0;width:100%;height:100%;max-width:none;object-fit:cover}
.pcm-bgfix::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(var(--ov-rgb,25,10,46),var(--ov-a,.5))}
.pcm-fixedbg .pcm-hero{background:transparent}
.pcm-fixedbg .pcm-hero::after{display:none}
.pcm-fixedbg .pcm-frame-in{background:rgba(var(--panel-rgb,25,10,46),.4)}
.pcm-fixedbg .pcm-sec::before{background:rgba(var(--panel-rgb,25,10,46),var(--dim,.62))}
.pcm-fixedbg .pcm-sec.alt::before{background:rgba(var(--panel-alt-rgb,36,15,66),var(--dim,.62))}

/* ---- Service area map and photo ---- */
.pcm-mapwrap{display:grid;grid-template-columns:1fr;gap:24px;max-width:1000px;margin:0 auto 2.2em}
.pcm-mapwrap.two{grid-template-columns:1fr 1fr;max-width:1120px}
.pcm-map,.pcm-areaphoto{border:3px solid var(--gold);border-radius:6px;overflow:hidden;background:#33195c;aspect-ratio:4/3;min-height:300px}
.pcm-mapwrap:not(.two) .pcm-map,.pcm-mapwrap:not(.two) .pcm-areaphoto{aspect-ratio:16/10}
.pcm-map iframe{display:block;width:100%;height:100%;min-height:300px;border:0}
.pcm-areaphoto img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.pcm-mapwrap.two{grid-template-columns:1fr}}

/* ---- Trustindex review carousel ---- */
.pcm-ti{max-width:1100px;margin:0 auto;background:#fff;color:#222;border-radius:12px;padding:24px 12px;text-align:left}

/* Extra space above the buttons under Pricing and Service Area */
.pcm-wrap p.pcm-gap{margin-top:52px !important;margin-bottom:0 !important}
.pcm-wrap .pcm-note + p.pcm-gap{margin-top:56px !important}
.pcm-wrap ul.pcm-areas + p.pcm-gap{margin-top:60px !important}

/* ---- Each section in its own single-line gold box (same look as the inner pages).
   Box color and transparency come from Home Page > Background (Section panel). ---- */
.pcm-wrap .pcm-sec{padding:26px 24px}
.pcm-wrap .pcm-sec::before,.pcm-wrap.pcm-fixedbg .pcm-sec::before,.pcm-wrap.pcm-fixedbg .pcm-sec.alt::before{background:transparent}
.pcm-wrap .pcm-sec > .pcm-inner{background:rgba(var(--panel-rgb,25,10,46),var(--dim,.62));border:1px solid var(--gold);border-radius:6px;padding:64px 44px;box-shadow:none}
.pcm-wrap .pcm-sec.alt > .pcm-inner{background:rgba(var(--panel-alt-rgb,36,15,66),var(--dim,.62))}
.pcm-wrap .pcm-sec > .pcm-faq{max-width:1120px}
.pcm-wrap .pcm-sec > .pcm-faq > *{max-width:820px;margin-left:auto;margin-right:auto}
.pcm-wrap .pcm-hero{padding:28px 20px}
.pcm-wrap .pcm-frame-in{padding:30px 24px 36px}
.pcm-wrap .pcm-logo{width:150px}
.pcm-wrap .pcm-tag{margin-bottom:1.3em !important}
.pcm-wrap .pcm-cta{max-width:1120px;width:calc(100% - 48px);margin:26px auto 40px;padding:56px 24px;border-radius:6px;border:1px solid var(--gold)}
@media(max-width:900px){
  .pcm-wrap .pcm-sec{padding:18px 14px}
  .pcm-wrap .pcm-sec > .pcm-inner{padding:40px 20px}
  .pcm-wrap .pcm-frame-in{padding:24px 14px 30px}
  .pcm-wrap .pcm-cta{width:calc(100% - 28px)}
}

/* Same width for every box, and gold city buttons with purple text */
.pcm-wrap .pcm-sec > .pcm-inner{max-width:1120px;box-sizing:border-box}
.pcm-wrap .pcm-cta{margin-bottom:26px}
.pcm-wrap ul.pcm-areas li{background:var(--gold);border-color:var(--gold);color:#190a2e !important;font-weight:700}
.pcm-wrap .pcm-btn.ghost{background:var(--gold);border-color:var(--gold);color:#190a2e !important}
.pcm-wrap .pcm-btn.ghost:hover{background:var(--gold2);border-color:var(--gold2);color:#190a2e !important}
.pcm-wrap .pcm-sec > .pcm-split:not(:has(.pcm-pic)){max-width:1120px}
.pcm-wrap .pcm-sec > .pcm-split:not(:has(.pcm-pic)) > *{max-width:760px;margin-left:auto;margin-right:auto}

/* Bigger hero logo */
.pcm-wrap .pcm-logo{width:clamp(240px,34vw,360px);max-width:80%;margin-bottom:10px !important}
.pcm-wrap .pcm-frame-in{padding-top:24px}
