@import url('https://fonts.googleapis.com/css2?family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600&family=Hanken+Grotesk:wght@400;500;600;700&display=swap');

@media (max-width: 768px) {
    body .cc .price-card {
        overflow: visible !important;
    }
    body .cc-pricer__dropdown {
        max-height: 360px !important;
        overflow-y: auto !important;
        z-index: 999 !important;
        position: relative !important;
    }
}

/* ============================================================
   Clarity Cremations — site styles (scoped under .cc)
   ============================================================ */
.cc{box-sizing:border-box;}
.cc *,.cc *::before,.cc *::after{box-sizing:border-box;}
.cc{
  --navy:#1d3157;--navy-deep:#15233f;--navy-700:#27406b;--ink:#1a2740;
  --bg:#fbfaf7;--bg-alt:#f4f1ea;--surface:#ffffff;
  --line:#e7e2d7;--line-strong:#d8d2c4;--muted:#5c6678;--muted-soft:#8b93a1;
  --sand:#b08a4f;--sand-soft:#c9ab78;
  --maxw:1600px;--radius:14px;--radius-lg:20px;
  --shadow-sm:0 1px 2px rgba(21,35,63,.05), 0 1px 1px rgba(21,35,63,.04);
  --shadow-md:0 8px 30px -12px rgba(21,35,63,.18), 0 2px 8px rgba(21,35,63,.05);
  --shadow-lg:0 30px 70px -28px rgba(21,35,63,.34);
  --serif:"Newsreader",Georgia,serif;
  --sans:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.cc *{box-sizing:border-box;margin:0;padding:0;}
.cc{scroll-behavior:smooth;}
.cc{font-family:var(--sans);color:var(--ink);background:var(--bg);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
.cc img{max-width:100%;display:block;}
.cc a{color:inherit;text-decoration:none;}
.cc h1,.cc h2,.cc h3,.cc h4{font-family:var(--serif);font-weight:500;line-height:1.12;letter-spacing:-.01em;color:var(--ink);}
.cc p{text-wrap:pretty;}

/* layout helpers */
.cc .wrap{max-width:var(--maxw);margin:0 auto;padding:0 4%;}
.cc .section{padding:104px 0;}
.cc .section--tight{padding:72px 0;}
.cc .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--sand);}
.cc .eyebrow::before{content:"";width:26px;height:1.5px;background:var(--sand);display:inline-block;opacity:.7;}
.cc .eyebrow--center{justify-content:center;}
.cc .lede{color:var(--muted);font-size:19px;line-height:1.7;max-width:100%;}
.cc .center{text-align:center;}
.cc .center .lede{margin-left:auto;margin-right:auto;}

/* buttons */
.cc .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--sans);font-weight:600;font-size:15.5px;letter-spacing:.01em;padding:14px 26px;border-radius:100px;border:1.5px solid transparent;cursor:pointer;transition:all .2s ease;white-space:nowrap;}
.cc .btn--primary{background:var(--navy);color:#fff;}
.cc .btn--primary:hover{background:var(--navy-deep);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-md);}
.cc .btn--ghost{background:transparent;color:var(--navy);border-color:var(--line-strong);}
.cc .btn--ghost:hover{border-color:var(--navy);background:rgba(29,49,87,.03);}
.cc .btn--light{background:#fff;color:var(--navy);}
.cc .btn--light:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);}
.cc .btn--outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.34);}
.cc .btn--outline-light:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.cc .btn--block{width:100%;}
.cc .btn .arrow{transition:transform .2s ease;}
.cc .btn:hover .arrow{transform:translateX(3px);}

/* topbar / header (theme may supply its own; kept for parity) */
.cc .topbar{background:var(--navy-deep);color:#fff;}
.cc .topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:42px;font-size:13.5px;}
.cc .topbar .avail{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.82);letter-spacing:.01em;}
.cc .topbar .dot{width:7px;height:7px;border-radius:50%;background:#73c79a;box-shadow:0 0 0 3px rgba(115,199,154,.22);}
.cc .topbar a{font-weight:600;display:flex;align-items:center;gap:7px;color:#fff;}
.cc .topbar a:hover{color:var(--sand-soft);}
.cc .site-header{position:sticky;top:0;z-index:50;background:rgba(251,250,247,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.cc .site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:78px;}
.cc .brand{display:flex;align-items:center;gap:12px;}
.cc .brand .mark{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--navy);display:grid;place-items:center;color:var(--navy);flex:none;}
.cc .brand .mark span{width:11px;height:11px;border-radius:50%;background:var(--navy);}
.cc .brand .name{font-family:var(--serif);font-size:22px;font-weight:500;color:var(--ink);letter-spacing:-.01em;line-height:1;}
.cc .brand .name b{font-weight:600;}
.cc .nav{display:flex;align-items:center;gap:34px;}
.cc .nav-links{display:flex;align-items:center;gap:30px;list-style:none;}
.cc .nav-links a{font-size:15px;font-weight:500;color:var(--muted);transition:color .18s ease;position:relative;}
.cc .nav-links a:hover{color:var(--ink);}
.cc .nav-actions{display:flex;align-items:center;gap:18px;}
.cc .nav-phone{font-weight:600;font-size:15px;color:var(--navy);display:flex;align-items:center;gap:8px;}
.cc .nav-phone:hover{color:var(--navy-deep);}
.cc .menu-toggle{display:none;background:none;border:1.5px solid var(--line-strong);border-radius:10px;width:44px;height:44px;cursor:pointer;color:var(--navy);}

/* hero */
.cc .hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--bg) 0%,var(--bg-alt) 100%);}
.cc .hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;padding-top:25px;padding-bottom:96px;}
.cc .hero h1{font-size:clamp(48px,5.6vw,76px);font-weight:400;line-height:1.04;margin-top:24px;}
.cc .hero h1 em{font-style:italic;color:var(--navy);}
.cc .hero .sub{margin-top:8px;font-size:clamp(20px,2vw,25px);font-family:var(--serif);font-style:italic;color:var(--muted);font-weight:400;}
.cc .hero p.lede{margin-top:26px;}
.cc .hero-cta{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap;}
.cc .hero-trust{display:flex;align-items:center;gap:22px;margin-top:38px;color:var(--muted);font-size:14px;}
.cc .hero-trust .item{display:flex;align-items:center;gap:9px;}
.cc .hero-trust .tick{width:18px;height:18px;border-radius:50%;background:rgba(176,138,79,.14);color:var(--sand);display:grid;place-items:center;flex:none;}

/* price card */
.cc .price-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:34px 34px 30px;position:relative;text-align:center;}
.cc .price-card .pc-eyebrow{font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-soft);}
.cc .price-card h3{font-size:25px;margin-top:10px;font-weight:500;}
.cc .price-card .pc-note{color:var(--muted);font-size:14.5px;margin-top:8px;line-height:1.55;}
.cc .price-figure{display:flex;align-items:baseline;gap:10px;margin:22px 0 4px;justify-content:center;}
.cc .price-figure .from{font-size:13px;color:var(--muted-soft);text-transform:uppercase;letter-spacing:.12em;font-weight:600;}
.cc .price-figure .amt{font-family:var(--serif);font-size:46px;font-weight:500;color:var(--navy);line-height:1;}
.cc .price-figure .cur{font-size:14px;color:var(--muted);font-weight:600;align-self:flex-end;margin-bottom:6px;}
.cc .pc-form{margin-top:22px;align-items:center;}
.cc .pc-label{font-size:13px;font-weight:600;color:var(--ink);display:block;margin-bottom:8px;text-align:center;width:100%;}
.cc .pc-input-row{display:flex;gap:10px;}
.cc .pc-input{flex:1;border:1.5px solid var(--line-strong);border-radius:11px;padding:13px 15px;font-family:var(--sans);font-size:15px;color:var(--ink);background:#fff;transition:border-color .18s ease,box-shadow .18s ease;}
.cc .pc-input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(29,49,87,.1);}
.cc .pc-example{margin-top:14px;font-size:13px;color:var(--muted-soft);display:flex;align-items:center;gap:8px;text-align:center;}
.cc .pc-example b{color:var(--navy);font-weight:600;}
.cc .pc-divider{height:1px;background:var(--line);margin:22px 0 0;}

/* pricer (postcode/suburb -> result) */
.cc-pricer__row{flex-direction:column;align-items:center;}
.cc-pricer__input-wrap{position:relative;width:100%;flex:1 1 100%;}
.cc-pricer__input{width:100%;border:2px solid #1f5e8a !important;border-radius:12px;padding:16px 18px;font-size:16px;color:#1a2740;background:#fff;box-shadow:0 0 0 4px rgba(31,94,138,.12);transition:box-shadow .2s ease,border-color .2s ease;animation:ccInputPulse 2.4s ease-in-out infinite;}
.cc-pricer__input::placeholder{color:#7c8598;opacity:1;}
.cc-pricer__input:focus{outline:none;border-color:#1f5e8a !important;box-shadow:0 0 0 4px rgba(31,94,138,.22);animation:none;}
@keyframes ccInputPulse{0%,100%{box-shadow:0 0 0 4px rgba(31,94,138,.10);}50%{box-shadow:0 0 0 6px rgba(31,94,138,.22);}}
@media(prefers-reduced-motion:reduce){.cc-pricer__input{animation:none;}}
.cc-pricer__dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:50;background:#fff;border:1px solid #d8dce6;border-radius:12px;box-shadow:0 16px 40px rgba(21,35,63,.14);max-height:260px;overflow-y:auto;display:none;text-align:left;}
.cc-pricer__dropdown.is-open{display:block;}
.cc-sg-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;cursor:pointer;border-bottom:1px solid #eef0f5;transition:background .12s ease;}
.cc-sg-item:last-child{border-bottom:0;}
.cc-sg-item:hover,.cc-sg-item.is-active{background:#f4f6fa;}
.cc-sg-name{font-weight:600;color:#1a2740;font-size:16px;}
.cc-sg-meta{color:#7c8598;font-size:14px;font-weight:500;white-space:nowrap;}
.cc-sg-empty{padding:14px 18px;color:#7c8598;font-size:14px;}

/* pricer result card */
.cc-pricer__result{width:100%;}
.cc-result-card{display:none;width:100%;text-align:center;background:#f4f6fb;border:1px solid #e6e9f1;border-radius:18px;padding:28px 28px 26px;margin-top:18px;}
.cc-result-card.is-visible{display:block;animation:ccFadeUp .25s ease;}
@keyframes ccFadeUp{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.cc-result-loc{color:#5c6678;font-size:16px;font-weight:500;margin:0 0 8px;text-align:center;}
.cc-result-price{color:#1f5e8a;font-family:Georgia,"Times New Roman",serif;font-size:clamp(40px,6vw,52px);font-weight:700;line-height:1;margin:0 0 10px;text-align:center;}
.cc-result-desc{color:#8b93a1;font-size:15.5px;margin:0 0 22px;text-align:center;}
.cc-result-actions{display:flex;gap:14px;flex-wrap:wrap;}
.cc-result-actions a{flex:1 1 0;min-width:180px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 20px;border-radius:10px;font-weight:700;font-size:16px;text-decoration:none;transition:background .2s ease,color .2s ease,transform .15s ease;box-sizing:border-box;}
.cc-result-actions a:hover{transform:translateY(-1px);}
.cc-result-call,.cc-result-call *{color:#ffffff !important;}
.cc-result-call{background:#1f5e8a;border:1px solid #1f5e8a;}
.cc-result-call:hover{background:#19506f;}
.cc-result-call svg{stroke:#ffffff !important;}
.cc-result-arrange{background:#fff;color:#1f5e8a;border:1px solid #b9c4d4;}
.cc-result-arrange:hover{background:#f0f4f9;}
.cc-result-actions svg{width:18px;height:18px;flex:0 0 auto;}
@media(max-width:520px){.cc-result-actions{flex-direction:column;}.cc-result-actions a{min-width:0;width:100%;}}

/* pillars */
.cc .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-sm);}
.cc .pillar{padding:42px 38px;border-right:1px solid var(--line);text-align:center;}
.cc .pillar:last-child{border-right:none;}
.cc .pillar .p-ico{width:46px;height:46px;border-radius:12px;background:var(--bg-alt);color:var(--navy);display:grid;place-items:center;margin:0 auto 20px;}
.cc .pillar h3{font-size:21px;font-weight:600;margin-bottom:10px;}
.cc .pillar p{color:var(--muted);font-size:15.5px;line-height:1.6;}

/* split / editorial text split */
.cc .split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.cc .split--rev .split-media{order:-1;}
.cc .split h2{font-size:clamp(34px,3.6vw,46px);margin-top:18px;}
.cc .split .lede{margin-top:22px;}
.cc .split .body-copy p{color:var(--muted);margin-top:18px;font-size:16.5px;line-height:1.72;}
.cc .text-split{display:grid;grid-template-columns:0.86fr 1.14fr;gap:72px;align-items:stretch;}
.cc .text-split .ts-head{position:sticky;top:108px;}
.cc .text-split h2{font-size:clamp(34px,3.6vw,46px);margin-top:18px;}
.cc .text-split .lede{margin-top:22px;}
.cc .text-split .ts-body{padding-top:6px;display:flex;flex-direction:column;justify-content:center;}
.cc .text-split .ts-body p{color:#5c6678 !important;font-size:18.5px;line-height:1.75;margin:0 0 18px;}
.cc .text-split .ts-body p:last-child{margin-bottom:0;}
.cc .text-split .ts-body p::first-letter{color:#5c6678;}
@media(max-width:1024px){.cc .text-split{align-items:start;}.cc .text-split .ts-body{justify-content:flex-start;}.cc .text-split .ts-body p{font-size:17px;}}
.cc .rule-list{list-style:none;margin-top:30px;border-top:1px solid var(--line);}
.cc .rule-list li{display:flex;align-items:flex-start;gap:14px;padding:16px 2px;border-bottom:1px solid var(--line);color:var(--ink);font-size:16px;}
.cc .rule-list li svg{flex:none;margin-top:3px;color:var(--sand);}

/* link-more rendered as a navy button */
.cc a.link-more,.cc .text-split a.link-more,.cc .split a.link-more{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-weight:600;font-size:15px;letter-spacing:.01em;padding:14px 26px;border-radius:100px;border:1.5px solid var(--navy);background:var(--navy);color:#fff;text-decoration:none;cursor:pointer;transition:all .2s ease;margin-top:10px;}
.cc a.link-more:hover,.cc .text-split a.link-more:hover,.cc .split a.link-more:hover{background:var(--navy-deep);border-color:var(--navy-deep);color:#fff;transform:translateY(-1px);}
.cc a.link-more .arrow,.cc .text-split a.link-more .arrow,.cc .split a.link-more .arrow{color:#fff;}

/* process */
.cc .process-head{text-align:center;align-items:center;margin-bottom:54px;}
.cc .process-head .lede{margin-top:16px;max-width:100%;margin-left:auto;margin-right:auto;}
.cc .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;counter-reset:step;}
.cc .step{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:34px 30px 32px;position:relative;transition:transform .22s ease,box-shadow .22s ease;text-align:center;}
.cc .step:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.cc .step .num{font-family:var(--serif);font-size:15px;font-weight:600;color:var(--sand);letter-spacing:.04em;text-align:center;}
.cc .steps .step .num::before{display:none !important;content:none !important;}
.cc .step .num-badge{margin:0 auto 16px;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:none;background:var(--navy);color:#fff;font-family:var(--serif);font-size:16px;font-weight:600;}
.cc .step h3{font-size:21px;font-weight:600;margin-bottom:11px;}
.cc .step p{color:var(--muted);font-size:15.5px;line-height:1.62;}

/* navy CTA band */
.cc .cta-band{background:var(--navy-deep);color:#fff;position:relative;overflow:hidden;}
.cc .cta-band::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 18%,rgba(176,138,79,.22),transparent 46%);pointer-events:none;}
.cc .cta-band .wrap{padding:84px 4%;display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center;position:relative;z-index:1;}
.cc .cta-band h2{color:#fff;font-size:clamp(32px,3.4vw,44px);}
.cc .cta-band p{color:rgba(255,255,255,.78);margin-top:18px;font-size:17.5px;max-width:48ch;}
.cc .cta-band .cta-actions{display:flex;flex-direction:column;gap:14px;align-items:flex-start;width:auto;max-width:300px;}
.cc .cta-band .cta-actions .btn{min-width:230px;}
.cc .cta-actions .btn--block{width:100%;}
@media(min-width:1025px){.cc .cta-band .cta-actions{margin-left:auto;margin-right:0;align-items:stretch;}}
@media(max-width:600px){.cc .cta-actions{max-width:100%;}}

/* FAQ accordion */
.faq-section{padding:80px 20px;background:#ffffff;}
.faq-section .faq-head{text-align:center;max-width:760px;margin:0 auto 48px;}
.faq-section .eyebrow{display:inline-block;color:#b08d57;font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px;position:relative;}
.faq-section .eyebrow::before{content:"";display:inline-block;width:28px;height:1px;background:#b08d57;vertical-align:middle;margin-right:12px;}
.faq-section h2{font-family:Georgia,"Times New Roman",serif;color:#1a2740;font-size:clamp(30px,4vw,46px);font-weight:600;line-height:1.1;margin:0;}
.faq{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:14px;font-family:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.faq-item{background:#fff;border:1px solid #e6e8ee;border-radius:14px;overflow:hidden;transition:border-color .25s ease,box-shadow .25s ease;}
.faq-item.is-open{border-color:#cdd3e0;box-shadow:0 10px 30px rgba(26,39,64,.07);}
.faq-q{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;cursor:pointer;padding:22px 24px;font-size:18px;font-weight:600;color:#1a2740;line-height:1.4;}
.faq-q:focus-visible{outline:2px solid #b08d57;outline-offset:-2px;border-radius:14px;}
.faq-icon{position:relative;flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:1.5px solid #cdd3e0;transition:transform .3s ease,background .25s ease,border-color .25s ease;}
.faq-icon::before,.faq-icon::after{content:"";position:absolute;top:50%;left:50%;background:#1a2740;border-radius:2px;transition:opacity .25s ease,background .25s ease;}
.faq-icon::before{width:12px;height:2px;transform:translate(-50%,-50%);}
.faq-icon::after{width:2px;height:12px;transform:translate(-50%,-50%);}
.faq-item.is-open .faq-icon{background:#1a2740;border-color:#1a2740;transform:rotate(180deg);}
.faq-item.is-open .faq-icon::before{background:#fff;}
.faq-item.is-open .faq-icon::after{opacity:0;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-a-inner{padding:14px 24px 24px;color:#4a5468;font-size:16.5px;line-height:1.65;}
.faq-cta{text-align:center;margin-top:40px;}
.faq-cta a{display:inline-block;background:#1a2740;color:#fff !important;text-decoration:none;font-weight:600;font-size:16px;padding:15px 34px;border-radius:999px;transition:background .25s ease,transform .15s ease;}
.faq-cta a:hover{background:#26365a;transform:translateY(-1px);}
@media(max-width:600px){.faq-q{padding:18px 18px;font-size:16.5px;}.faq-a-inner{padding:12px 18px 20px;}}
/* FAQ question-only hover */
.faq .faq-q:hover,.cc .faq .faq-q:hover{background:#1a2740 !important;color:#ffffff !important;}
.faq .faq-q:hover .faq-icon{border-color:rgba(255,255,255,.6);}
.faq .faq-q:hover .faq-icon::before,.faq .faq-q:hover .faq-icon::after{background:#ffffff;}
.faq .faq-item.is-open .faq-q:hover .faq-icon{background:#fff;border-color:#fff;}
.faq .faq-item.is-open .faq-q:hover .faq-icon::before{background:#1a2740;}

/* contact */
.cc .contact-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:64px;align-items:start;}
.cc .contact-info h2{font-size:clamp(32px,3.4vw,44px);margin-top:16px;}
.cc .info-list{margin-top:36px;display:flex;flex-direction:column;gap:4px;}
.cc .info-row{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--line);}
.cc .info-row:first-of-type{border-top:1px solid var(--line);}
.cc .info-row .i-ico{width:42px;height:42px;border-radius:11px;background:var(--bg-alt);color:var(--navy);display:grid;place-items:center;flex:none;}
.cc .info-row .i-label{font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-soft);margin-bottom:5px;}
.cc .info-row .i-main{font-size:17px;font-weight:600;color:var(--ink);}
.cc .info-row .i-main a:hover{color:var(--navy);}
.cc .info-row .i-sub{font-size:14.5px;color:var(--muted);margin-top:3px;line-height:1.5;}
.cc .form-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:40px;}
.cc .form-card h3{font-size:24px;font-weight:500;margin-bottom:6px;}
.cc .form-card .fc-note{color:var(--muted);font-size:14.5px;margin-bottom:28px;}
.cc .field{margin-bottom:20px;}
.cc .field label{display:block;font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:8px;}
.cc .field label .req{color:var(--sand);}
.cc .field input,.cc .field select,.cc .field textarea{width:100%;border:1.5px solid var(--line-strong);border-radius:11px;padding:13px 15px;font-family:var(--sans);font-size:15px;color:var(--ink);background:#fff;transition:border-color .18s,box-shadow .18s;}
.cc .field textarea{resize:vertical;min-height:120px;}
.cc .field input:focus,.cc .field select:focus,.cc .field textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(29,49,87,.1);}
.cc .field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.cc .form-consent{font-size:13px;color:var(--muted-soft);margin-top:18px;line-height:1.6;}
.cc .form-consent a{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:2px;}

/* WPForms mounted inside .form-card — polished to match the .cc design */
.cc .form-card .cc-wpforms-mount{margin-top:4px;}
.cc .form-card .cc-wpforms-mount .elementor-element{width:100%;max-width:100%;}
.cc .form-card .cc-wpforms-mount .wpforms-container{margin:0;width:100%;}
.cc .form-card .cc-wpforms-mount .uael-wpf-container,.cc .form-card .cc-wpforms-mount .uael-wpf{width:100%;}
.cc .form-card #cc-wpforms-mount .wpforms-field{margin-bottom:0 !important;padding:0 0 18px !important;}
.cc .form-card #cc-wpforms-mount .wpforms-field:last-of-type{padding-bottom:0 !important;}
.cc .form-card #cc-wpforms-mount .wpforms-field-container{margin:0;}
/* Section dividers: About Your Arrangement / Your Details / Location */
.cc .form-card #cc-wpforms-mount .wpforms-field-divider{padding:24px 0 8px !important;margin-top:20px;border-top:1px solid var(--line);}
.cc .form-card #cc-wpforms-mount .wpforms-field-divider:first-child{border-top:0;margin-top:0;padding-top:0 !important;}
.cc .form-card #cc-wpforms-mount .wpforms-field-divider h3,.cc .form-card #cc-wpforms-mount .wpforms-field-divider label,.cc .form-card #cc-wpforms-mount .wpforms-field-html h3{font-family:var(--serif) !important;font-size:20px !important;font-weight:500 !important;color:var(--navy) !important;margin:0 !important;padding:0 !important;border:0 !important;}
.cc .form-card #cc-wpforms-mount .wpforms-field-divider .wpforms-field-description{margin-top:5px;color:var(--muted);font-size:14px;line-height:1.55;}
/* Labels */
.cc .form-card #cc-wpforms-mount .wpforms-field-label{display:block;font-family:var(--sans);font-size:14px;font-weight:600;color:var(--ink);margin-bottom:9px;line-height:1.3;}
.cc .form-card #cc-wpforms-mount .wpforms-field-label .wpforms-required-label,.cc .form-card #cc-wpforms-mount .wpforms-required-label{color:var(--sand) !important;font-weight:600;border:0;}
.cc .form-card #cc-wpforms-mount .wpforms-field-sublabel{font-size:12px;color:#8a8f9c;font-weight:500;}
/* Inputs, selects, textareas */
.cc .form-card #cc-wpforms-mount input[type=text],.cc .form-card #cc-wpforms-mount input[type=email],.cc .form-card #cc-wpforms-mount input[type=tel],.cc .form-card #cc-wpforms-mount input[type=url],.cc .form-card #cc-wpforms-mount input[type=number],.cc .form-card #cc-wpforms-mount select,.cc .form-card #cc-wpforms-mount textarea{width:100% !important;max-width:100% !important;box-sizing:border-box;border:1.5px solid var(--line-strong) !important;border-radius:12px !important;padding:14px 16px !important;font-family:var(--sans) !important;font-size:15.5px !important;color:var(--ink) !important;background:#fdfcfa !important;line-height:1.4;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;box-shadow:none !important;}
.cc .form-card #cc-wpforms-mount textarea{min-height:130px;resize:vertical;}
.cc .form-card #cc-wpforms-mount ::placeholder{color:#9aa0ad;opacity:1;}
.cc .form-card #cc-wpforms-mount input:hover,.cc .form-card #cc-wpforms-mount select:hover,.cc .form-card #cc-wpforms-mount textarea:hover{border-color:var(--muted-soft) !important;}
.cc .form-card #cc-wpforms-mount input:focus,.cc .form-card #cc-wpforms-mount select:focus,.cc .form-card #cc-wpforms-mount textarea:focus{outline:none !important;border-color:var(--navy) !important;background:#fff !important;box-shadow:0 0 0 4px rgba(29,49,87,.1) !important;}
/* Custom select caret */
.cc .form-card #cc-wpforms-mount select{-webkit-appearance:none !important;-moz-appearance:none !important;appearance:none !important;padding-right:44px !important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231d3157' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:right 16px center !important;}
/* Phone field */
.cc .form-card #cc-wpforms-mount .wpforms-smart-phone-field,.cc .form-card #cc-wpforms-mount .iti{width:100%;display:block;}
.cc .form-card #cc-wpforms-mount .iti input{padding-left:52px !important;}
/* Submit */
.cc .form-card #cc-wpforms-mount .wpforms-submit-container{margin-top:8px !important;padding-top:6px !important;}
.cc .form-card #cc-wpforms-mount .wpforms-submit{display:flex !important;width:100% !important;align-items:center;justify-content:center;gap:10px;background:var(--navy) !important;color:#fff !important;border:0 !important;font-family:var(--sans) !important;font-weight:600 !important;font-size:16px !important;letter-spacing:.01em;padding:17px 28px !important;border-radius:100px !important;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease;}
.cc .form-card #cc-wpforms-mount .wpforms-submit:hover{background:var(--navy-deep) !important;transform:translateY(-1px);box-shadow:0 12px 30px rgba(29,49,87,.22);}
.cc .form-card #cc-wpforms-mount button.wpforms-submit::after{content:"\2192";font-size:17px;line-height:1;}
/* Errors */
.cc .form-card #cc-wpforms-mount .wpforms-error,.cc .form-card #cc-wpforms-mount label.wpforms-error{color:#c0392b;font-size:12.5px;margin-top:6px;font-weight:500;}
.cc .form-card #cc-wpforms-mount input.wpforms-error,.cc .form-card #cc-wpforms-mount textarea.wpforms-error,.cc .form-card #cc-wpforms-mount select.wpforms-error{border-color:#e0b4ae !important;background:#fdf6f5 !important;}
/* reCAPTCHA spacing */
.cc .form-card #cc-wpforms-mount .wpforms-recaptcha-container:empty{padding:0 !important;margin:0 !important;display:none !important;}
.cc .form-card #cc-wpforms-mount .wpforms-recaptcha-container{padding-top:0 !important;padding-bottom:0 !important;}

/* footer (theme may supply its own; kept for parity) */
.cc .site-footer{background:var(--navy-deep);color:rgba(255,255,255,.7);padding:72px 0 36px;}
.cc .footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;padding-bottom:46px;border-bottom:1px solid rgba(255,255,255,.12);}
.cc .footer-brand .name{font-family:var(--serif);font-size:24px;color:#fff;font-weight:500;display:flex;align-items:center;gap:12px;}
.cc .footer-brand .mark{width:32px;height:32px;border-radius:50%;border:1.5px solid rgba(255,255,255,.45);display:grid;place-items:center;}
.cc .footer-brand .mark span{width:10px;height:10px;border-radius:50%;background:#fff;}
.cc .footer-brand p{margin-top:18px;font-size:14.5px;line-height:1.65;max-width:38ch;}
.cc .footer-col h4{color:#fff;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;}
.cc .footer-col ul{list-style:none;display:flex;flex-direction:column;gap:12px;}
.cc .footer-col a{font-size:15px;color:rgba(255,255,255,.7);transition:color .18s;}
.cc .footer-col a:hover{color:#fff;}
.cc .footer-social{display:flex;gap:12px;margin-top:8px;}
.cc .footer-social a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;color:rgba(255,255,255,.78);transition:all .18s;}
.cc .footer-social a:hover{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.35);}
.cc .footer-bottom{padding-top:30px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13.5px;}
.cc .footer-bottom .legal{display:flex;gap:20px;flex-wrap:wrap;}
.cc .footer-bottom a:hover{color:#fff;}
.cc .footer-bottom .meta{color:rgba(255,255,255,.5);line-height:1.6;}

/* button hover text visibility fixes (global a:hover would otherwise darken) */
.cc .faq-cta a:hover,.cc .faq-cta a:focus{color:#ffffff !important;background:#26365a !important;}
.cc .btn--outline-light:hover,.cc .btn--outline-light:focus{color:#ffffff !important;border-color:#ffffff !important;background:rgba(255,255,255,.12) !important;}
.cc .faq-cta a:hover svg,.cc .btn--outline-light:hover svg{color:#ffffff !important;stroke:#ffffff !important;}

/* responsive */
@media (max-width:980px){
  .cc .nav-links,.cc .nav-phone{display:none;}
  .cc .menu-toggle{display:grid;place-items:center;}
  .cc .hero .wrap{grid-template-columns:1fr;gap:44px;padding-top:60px;padding-bottom:70px;}
  .cc .pillars{grid-template-columns:1fr;}
  .cc .pillar{border-right:none;border-bottom:1px solid var(--line);}
  .cc .pillar:last-child{border-bottom:none;}
  .cc .split,.cc .text-split,.cc .process-head,.cc .steps,.cc .contact-grid,.cc .cta-band .wrap,.cc .footer-top{grid-template-columns:1fr;}
  .cc .split{gap:40px;}
  .cc .text-split{gap:30px;}
  .cc .text-split .ts-head{position:static;}
  .cc .split--rev .split-media{order:0;}
  .cc .steps{gap:18px;}
  .cc .process-head{gap:18px;margin-bottom:40px;}
  .cc .cta-band .wrap{gap:30px;}
  .cc .cta-band .cta-actions{flex-direction:row;flex-wrap:wrap;}
  .cc .section{padding:74px 0;}
  .cc .footer-top{gap:36px;}
}
@media (max-width:767px){.cc .hero-trust{display:none !important;}}
@media (max-width:560px){
  .cc{font-size:16px;}
  .cc .wrap{padding:0 22px;}
  .cc .field-row{grid-template-columns:1fr;}
  .cc .price-card,.cc .form-card{padding:26px;}
  .cc .hero-cta{flex-direction:column;align-items:stretch;}
  .cc .hero-cta .btn{width:100%;}
  .cc .footer-bottom{flex-direction:column;align-items:flex-start;}
}

/* ============================================================
   About page — centered hero + centered content sections
   ============================================================ */
.cc .hero--about .wrap{grid-template-columns:1fr;justify-items:center;text-align:center;padding-top:56px;padding-bottom:84px;}
.cc .hero--about .hero-about{max-width:900px;}
.cc .hero--about h1{margin-top:18px;}
.cc .hero--about h1 em{font-style:italic;color:var(--navy);}
.cc .hero--about .sub{margin-top:14px;}
.cc .hero--about .lede{margin:18px auto 0;}
.cc .content-center{max-width:100%;margin:0 auto;text-align:center;}
.cc .content-center .eyebrow{justify-content:center;}
.cc .content-center h2{font-size:clamp(34px,3.6vw,46px);margin-top:18px;}
.cc .content-center .cc-body{margin-top:24px;}
.cc .content-center .cc-body p{color:#5c6678;font-size:18.5px;line-height:1.85;margin:0 0 24px;}
.cc .content-center .cc-body a{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.cc .content-center .cc-body p:last-child{margin-bottom:0;}
.cc .content-center .link-more{margin-top:26px;}

/* ============================================================
   Direct Cremation page — pros/cons comparison + benefits grid
   ============================================================ */
.cc .compare{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:980px;margin:46px auto 0;}
.cc .compare-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:30px 30px 26px;}
.cc .compare-card.is-primary{border-color:var(--navy);box-shadow:var(--shadow-md);}
.cc .compare-card h3{font-size:22px;text-align:center;margin-bottom:20px;}
.cc .cmp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.cc .cmp-item{display:flex;gap:12px;align-items:flex-start;text-align:left;}
.cc .cmp-ico{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;margin-top:1px;}
.cc .cmp-ico.yes{background:rgba(47,125,91,.12);color:#2f7d5b;}
.cc .cmp-ico.no{background:rgba(192,101,79,.12);color:#c0654f;}
.cc .cmp-text .cmp-desc{display:block;font-size:15.5px;color:var(--ink);line-height:1.45;}
.cc .benefits{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:1000px;margin:46px auto 0;text-align:center;}
.cc .benefit{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:36px 34px;}
.cc .benefit h4{font-size:19px;font-weight:600;margin-bottom:14px;color:var(--ink);}
.cc .benefit p{color:var(--muted);font-size:18.5px;line-height:1.85;}
.cc .after-note{max-width:760px;margin:30px auto 0;text-align:center;color:var(--muted);font-size:16px;line-height:1.7;}
.cc .after-note a{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
@media(max-width:760px){.cc .compare,.cc .benefits{grid-template-columns:1fr;}}

/* ============================================================
   Our Process page — step cards
   ============================================================ */
.cc .proc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:24px;max-width:1080px;margin:46px auto 0;}
.cc .proc-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:30px 28px;display:flex;flex-direction:column;text-align:left;transition:box-shadow .2s ease,transform .2s ease;}
.cc .proc-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.cc .proc-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.cc .proc-num{flex:none;width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--serif);font-size:18px;font-weight:600;display:grid;place-items:center;}
.cc .proc-label{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--sand);}
.cc .proc-card h3{font-size:21px;font-weight:600;margin:0 0 10px;color:var(--ink);}
.cc .proc-card > p{color:var(--muted);font-size:16px;line-height:1.65;margin:0 0 18px;}
.cc .proc-list{list-style:none;margin:auto 0 0;padding:18px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px;}
.cc .proc-list li{position:relative;padding-left:26px;color:var(--ink);font-size:15px;line-height:1.5;}
.cc .proc-list li::before{content:"";position:absolute;left:2px;top:4px;width:16px;height:16px;border-radius:50%;background:rgba(176,138,79,.16);}
.cc .proc-list li::after{content:"";position:absolute;left:7px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--sand);}
@media(max-width:560px){.cc .proc-grid{grid-template-columns:1fr;}}

/* ============================================================
   Pricing page — centered pricer + price breakdown panel
   ============================================================ */
.cc .price-card--center{max-width:560px;margin:42px auto 0;text-align:center;}
.cc .price-card--center .pc-input-row{display:flex;gap:10px;align-items:stretch;}
.cc .price-card--center .cc-pricer__input-wrap{flex:1 1 auto;}
.cc .price-card--center .pc-submit{flex:0 0 auto;white-space:nowrap;}
.cc .pc-example{color:var(--muted);font-size:14.5px;margin:14px 0 0;}
@media(max-width:520px){.cc .price-card--center .pc-input-row{flex-direction:column;}}

.cc .pp-figure{display:flex;align-items:baseline;justify-content:center;gap:12px;margin:42px 0 0;}
.cc .pp-amt{font-family:var(--serif);font-size:60px;font-weight:500;color:var(--navy);line-height:1;}
.cc .pp-cur{font-size:16px;color:var(--muted);font-weight:600;}
.cc .pp-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:920px;margin:34px auto 0;}
.cc .pp-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:34px 32px;}
.cc .pp-card-title{font-family:var(--serif);font-size:26px;font-weight:500;color:var(--navy);margin:0 0 20px;}
.cc .pp-note{margin:22px 0 0;color:var(--muted);font-size:15px;line-height:1.6;}
.cc .pp-note strong{color:var(--ink);}
.cc .pp-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:34px;}
@media(max-width:680px){.cc .pp-cards{grid-template-columns:1fr;}.cc .pp-card{padding:28px 24px;}.cc .pp-amt{font-size:48px;}}

/* ============================================================
   FAQ page — category labels above accordion groups
   ============================================================ */
.cc .faq-cat{max-width:820px;margin:44px auto 18px;display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sand);}
.cc .faq-cat::before{content:"";width:26px;height:1px;background:var(--sand);}
.cc .faq-cat:first-of-type{margin-top:8px;}

/* ============================================================
   Contact page — address block + form privacy note
   ============================================================ */
.cc .i-address{color:var(--ink);font-size:15px;line-height:1.55;margin-top:2px;}
.cc .form-card .form-privacy{margin-top:16px;font-size:13px;color:var(--muted-soft);line-height:1.55;}
.cc .form-card .form-privacy a{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:2px;}

/* ============================================================
   Start Your Arrangement — centered form
   ============================================================ */
.cc .arrange-wrap{max-width:720px;margin:0 auto;}
.cc .arrange-note{text-align:center;color:var(--muted);font-size:15px;line-height:1.6;margin:22px 0 0;}

/* ============================================================
   Contact Form 7 inside the form mount — matched to .cc design
   (inputs/selects/textareas are already styled by the generic
    element rules above; this adds CF7 labels, section headings,
    submit button, validation + spinner.)
   ============================================================ */
.cc .form-card #cc-wpforms-mount .wpcf7{width:100%;}
.cc .form-card #cc-wpforms-mount .wpcf7-form > p{margin:0 0 18px;}
.cc .form-card #cc-wpforms-mount .wpcf7-form > p:last-of-type{margin-bottom:0;}
.cc .form-card #cc-wpforms-mount .wpcf7-form label{display:block;font-family:var(--sans);font-size:14px;font-weight:600;color:var(--ink);line-height:1.4;margin:0 0 18px;}
.cc .form-card #cc-wpforms-mount .wpcf7-form p label{margin-bottom:0;}
.cc .form-card #cc-wpforms-mount .wpcf7-form h2,.cc .form-card #cc-wpforms-mount .wpcf7-form h3,.cc .form-card #cc-wpforms-mount .wpcf7-form h4{font-family:var(--serif);font-weight:500;font-size:20px;color:var(--navy);margin:30px 0 14px;}
.cc .form-card #cc-wpforms-mount .wpcf7-form h2:first-of-type,.cc .form-card #cc-wpforms-mount .wpcf7-form h3:first-of-type,.cc .form-card #cc-wpforms-mount .wpcf7-form h4:first-of-type{margin-top:0;}
.cc .form-card #cc-wpforms-mount .wpcf7-form br{display:none;}
.cc .form-card #cc-wpforms-mount .wpcf7-form-control-wrap{display:block;margin-top:9px;}
.cc .form-card #cc-wpforms-mount textarea.wpcf7-textarea{min-height:130px;resize:vertical;}
.cc .form-card #cc-wpforms-mount .wpcf7-submit{display:flex !important;width:100% !important;align-items:center;justify-content:center;gap:10px;background:var(--navy) !important;color:#fff !important;border:0 !important;font-family:var(--sans) !important;font-weight:600 !important;font-size:16px !important;padding:17px 28px !important;border-radius:100px !important;cursor:pointer;margin-top:8px;transition:background .2s ease,transform .2s ease,box-shadow .2s ease;-webkit-appearance:none;appearance:none;}
.cc .form-card #cc-wpforms-mount .wpcf7-submit:hover{background:var(--navy-deep) !important;transform:translateY(-1px);box-shadow:0 12px 30px rgba(29,49,87,.22);}
.cc .form-card #cc-wpforms-mount .wpcf7-spinner{margin:14px auto 0;display:block;}
.cc .form-card #cc-wpforms-mount .wpcf7-not-valid-tip{color:#c0392b;font-size:12.5px;font-weight:500;margin-top:6px;}
.cc .form-card #cc-wpforms-mount .wpcf7-form-control.wpcf7-not-valid{border-color:#e0b4ae !important;background:#fdf6f5 !important;}
.cc .form-card #cc-wpforms-mount .wpcf7-response-output{margin:18px 0 0 !important;padding:13px 16px !important;border-radius:11px !important;border:1px solid var(--line-strong) !important;font-size:14px;line-height:1.5;color:var(--ink);}
.cc .form-card #cc-wpforms-mount .wpcf7-response-output.wpcf7-validation-errors{border-color:#e0b4ae !important;background:#fdf6f5 !important;color:#9a3b2c;}
.cc .form-card #cc-wpforms-mount .wpcf7-response-output.wpcf7-mail-sent-ok{border-color:#bfe0cd !important;background:#f1f8f4 !important;color:#2f7d5b;}

/* CF7 required-asterisk accent (wrap the * in <span class="req">*</span>) */
.cc .form-card #cc-wpforms-mount .wpcf7-form .req{color:var(--sand);font-weight:600;}

/* Arrange Online — one continuous background (no hero/section split) */
.cc.cc-arrange{background:var(--bg-alt);}
.cc.cc-arrange .hero{background:var(--bg-alt);}
.cc.cc-arrange .hero--about .wrap{padding-bottom:24px;}

/* ============================================================
   Blog listing — post cards + pagination
   ============================================================ */
.cc .post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px;max-width:1200px;margin:0 auto;}
.cc .post-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease;}
.cc .post-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);}
.cc .post-thumb{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--bg-alt);}
.cc .post-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.cc .post-card:hover .post-thumb img{transform:scale(1.04);}
.cc .post-thumb--empty{display:block;aspect-ratio:16/9;background:linear-gradient(135deg,var(--bg-alt),var(--line));}
.cc .post-body{display:flex;flex-direction:column;flex:1;padding:26px 26px 28px;}
.cc .post-meta{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sand);margin:0 0 10px;}
.cc .post-title{font-family:var(--serif);font-size:21px;font-weight:500;line-height:1.25;margin:0 0 12px;}
.cc .post-title a{color:var(--ink);text-decoration:none;transition:color .2s ease;}
.cc .post-title a:hover{color:var(--navy);}
.cc .post-excerpt{color:var(--muted);font-size:15.5px;line-height:1.6;margin:0 0 20px;}
.cc .post-more{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:15px;color:var(--navy);text-decoration:none;}
.cc .post-more .arrow{transition:transform .2s ease;}
.cc .post-more:hover .arrow{transform:translateX(3px);}
.cc .post-empty{text-align:center;color:var(--muted);font-size:17px;padding:40px 0;}
.cc .post-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:48px;}
.cc .post-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;border-radius:10px;border:1px solid var(--line-strong);background:#fff;color:var(--ink);text-decoration:none;font-weight:600;font-size:15px;transition:border-color .2s ease,color .2s ease,background .2s ease;}
.cc .post-pagination .page-numbers:hover{border-color:var(--navy);color:var(--navy);}
.cc .post-pagination .page-numbers.current{background:var(--navy);border-color:var(--navy);color:#fff;}
.cc .post-pagination .page-numbers.dots{border:0;background:transparent;}
@media(max-width:560px){.cc .post-grid{grid-template-columns:1fr;}}


/* Scoped to the Pricing page only (page-id-6514) */

/* Hide the "Get my price" button */
.page-id-6514 .pc-submit {
    display: none !important;
}

/* Let the postcode input take the full width now that the button is gone */
.page-id-6514 .pc-submit + input,
.page-id-6514 input[type="text"] {
    width: 100% !important;
}

/* Center the "Example price for Melbourne VIC..." text */
.page-id-6514 .pc-example {
    text-align: center !important;
}

/* Reduce the contact form textarea height by 50% */
textarea.wpcf7-textarea {
    height: 124px !important;
    min-height: 124px !important;
}

/* ============================================================
   Single blog post — article layout + typography (no sidebar)
   ============================================================ */
.cc.cc-single{background:var(--bg);}
.cc .wrap-narrow{max-width:760px;margin:0 auto;padding:0 24px;}
.cc .post-article{padding-bottom:84px;}
.cc .post-hero{padding:54px 0 28px;}
.cc .post-back{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--muted);transition:color .2s ease;}
.cc .post-back:hover{color:var(--navy);}
.cc .post-hero .post-back{margin-bottom:24px;}
.cc .post-cats{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sand);margin-bottom:14px;}
.cc .post-cats a{color:var(--sand);}
.cc .post-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(34px,4.6vw,52px);line-height:1.1;color:var(--ink);margin:0;letter-spacing:-.01em;}
.cc .post-byline{margin-top:18px;font-size:14.5px;color:var(--muted-soft);font-weight:500;}
.cc .post-feature{margin:14px auto 0;}
.cc .post-feature img{width:100%;border-radius:var(--radius-lg);}
.cc .post-content{margin-top:40px;font-size:18px;line-height:1.8;color:#3c4660;}
.cc .post-content > *:first-child{margin-top:0;}
.cc .post-content p{margin:0 0 24px;}
.cc .post-content h2{font-family:var(--serif);font-weight:500;font-size:30px;line-height:1.2;color:var(--ink);margin:46px 0 16px;}
.cc .post-content h3{font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.25;color:var(--ink);margin:38px 0 14px;}
.cc .post-content h4{font-family:var(--sans);font-weight:600;font-size:18px;color:var(--ink);margin:30px 0 12px;}
.cc .post-content a{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.cc .post-content ul,.cc .post-content ol{margin:0 0 24px;padding-left:26px;}
.cc .post-content li{margin:0 0 10px;line-height:1.7;}
.cc .post-content blockquote{margin:30px 0;padding:8px 0 8px 26px;border-left:3px solid var(--sand);font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.5;color:var(--ink);}
.cc .post-content img{border-radius:var(--radius);margin:28px 0;height:auto;}
.cc .post-content figure{margin:28px 0;}
.cc .post-content figcaption{font-size:13.5px;color:var(--muted-soft);text-align:center;margin-top:10px;}
.cc .post-content strong{color:var(--ink);font-weight:600;}
.cc .post-content hr{border:0;border-top:1px solid var(--line);margin:40px 0;}
.cc .post-foot{margin-top:50px;padding-top:30px;border-top:1px solid var(--line);display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:space-between;}
@media(max-width:560px){.cc .post-content{font-size:17px;}.cc .post-content h2{font-size:26px;}.cc .post-content h3{font-size:22px;}}


/* Remove the background panel behind the FAQ section */
section.faq,
section.faq.reveal {
    background: transparent !important;
}

@media (max-width: 768px) {
    /* Higher specificity so it always beats the theme's inline overflow:hidden */
    body .cc .price-card {
        overflow: visible !important;
    }

    body .cc-pricer__dropdown {
        max-height: 360px !important;
        overflow-y: auto !important;
        z-index: 999 !important;
    }
}



/* ============================================================
   Blog listing — post cards + pagination
   ============================================================ */
.cc .post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px;max-width:1200px;margin:0 auto;}
.cc .post-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease;}
.cc .post-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);}
.cc .post-thumb{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--bg-alt);}
.cc .post-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.cc .post-card:hover .post-thumb img{transform:scale(1.04);}
.cc .post-thumb--empty{display:block;aspect-ratio:16/9;background:linear-gradient(135deg,var(--bg-alt),var(--line));}
.cc .post-body{display:flex;flex-direction:column;flex:1;padding:26px 26px 28px;}
.cc .post-meta{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sand);margin:0 0 10px;}
.cc .post-title{font-family:var(--serif);font-size:21px;font-weight:500;line-height:1.25;margin:0 0 12px;}
.cc .post-title a{color:var(--ink);text-decoration:none;transition:color .2s ease;}
.cc .post-title a:hover{color:var(--navy);}
.cc .post-excerpt{color:var(--muted);font-size:15.5px;line-height:1.6;margin:0 0 20px;}
.cc .post-more{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:15px;color:var(--navy);text-decoration:none;}
.cc .post-more .arrow{transition:transform .2s ease;}
.cc .post-more:hover .arrow{transform:translateX(3px);}
.cc .post-empty{text-align:center;color:var(--muted);font-size:17px;padding:40px 0;}
.cc .post-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:48px;}
.cc .post-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;border-radius:10px;border:1px solid var(--line-strong);background:#fff;color:var(--ink);text-decoration:none;font-weight:600;font-size:15px;transition:border-color .2s ease,color .2s ease,background .2s ease;}
.cc .post-pagination .page-numbers:hover{border-color:var(--navy);color:var(--navy);}
.cc .post-pagination .page-numbers.current{background:var(--navy);border-color:var(--navy);color:#fff;}
.cc .post-pagination .page-numbers.dots{border:0;background:transparent;}
@media(max-width:560px){.cc .post-grid{grid-template-columns:1fr;}}


/* Scoped to the Pricing page only (page-id-6514) */

/* Hide the "Get my price" button */
.page-id-6514 .pc-submit {
    display: none !important;
}

/* Let the postcode input take the full width now that the button is gone */
.page-id-6514 .pc-submit + input,
.page-id-6514 input[type="text"] {
    width: 100% !important;
}

/* Center the "Example price for Melbourne VIC..." text */
.page-id-6514 .pc-example {
    text-align: center !important;
}

/* Reduce the contact form textarea height by 50% */
textarea.wpcf7-textarea {
    height: 124px !important;
    min-height: 124px !important;
}

/* ============================================================
   Single blog post — article layout + typography (no sidebar)
   ============================================================ */
.cc.cc-single{background:var(--bg);}
.cc .wrap-narrow{max-width:760px;margin:0 auto;padding:0 24px;}
.cc .post-article{padding-bottom:84px;}
.cc .post-hero{padding:54px 0 28px;}
.cc .post-back{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--muted);transition:color .2s ease;}
.cc .post-back:hover{color:var(--navy);}
.cc .post-hero .post-back{margin-bottom:24px;}
.cc .post-cats{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sand);margin-bottom:14px;}
.cc .post-cats a{color:var(--sand);}
.cc .post-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(34px,4.6vw,52px);line-height:1.1;color:var(--ink);margin:0;letter-spacing:-.01em;}
.cc .post-byline{margin-top:18px;font-size:14.5px;color:var(--muted-soft);font-weight:500;}
.cc .post-feature{margin:14px auto 0;}
.cc .post-feature img{width:100%;border-radius:var(--radius-lg);}
.cc .post-content{margin-top:40px;font-size:18px;line-height:1.8;color:#3c4660;}
.cc .post-content > *:first-child{margin-top:0;}
.cc .post-content p{margin:0 0 24px;}
.cc .post-content h2{font-family:var(--serif);font-weight:500;font-size:30px;line-height:1.2;color:var(--ink);margin:46px 0 16px;}
.cc .post-content h3{font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.25;color:var(--ink);margin:38px 0 14px;}
.cc .post-content h4{font-family:var(--sans);font-weight:600;font-size:18px;color:var(--ink);margin:30px 0 12px;}
.cc .post-content a{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.cc .post-content ul,.cc .post-content ol{margin:0 0 24px;padding-left:26px;}
.cc .post-content li{margin:0 0 10px;line-height:1.7;}
.cc .post-content blockquote{margin:30px 0;padding:8px 0 8px 26px;border-left:3px solid var(--sand);font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.5;color:var(--ink);}
.cc .post-content img{border-radius:var(--radius);margin:28px 0;height:auto;}
.cc .post-content figure{margin:28px 0;}
.cc .post-content figcaption{font-size:13.5px;color:var(--muted-soft);text-align:center;margin-top:10px;}
.cc .post-content strong{color:var(--ink);font-weight:600;}
.cc .post-content hr{border:0;border-top:1px solid var(--line);margin:40px 0;}
.cc .post-foot{margin-top:50px;padding-top:30px;border-top:1px solid var(--line);display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:space-between;}
@media(max-width:560px){.cc .post-content{font-size:17px;}.cc .post-content h2{font-size:26px;}.cc .post-content h3{font-size:22px;}}

/* ============================================================
   Single blog posts (Astra) — match the .cc design
   Theme is Astra; these target Astra's single markup directly.
   Colours are hard-coded hex because the .cc CSS variables are
   scoped to .cc and aren't available on body.single-post.
   ============================================================ */

/* Comfortable centered reading column */
body.single-post .entry-header,
body.single-post .entry-content,
body.single-post .post-navigation{max-width:780px;margin-left:auto;margin-right:auto;}

/* Title */
body.single-post .entry-title{font-family:"Newsreader",Georgia,serif !important;font-weight:500 !important;font-size:clamp(32px,4.4vw,48px) !important;line-height:1.12 !important;color:#1a2740 !important;letter-spacing:-.01em;text-align:center;margin:0 0 14px !important;}

/* Meta row (date / author) */
body.single-post .entry-meta{justify-content:center;text-align:center;font-size:14px;}
body.single-post .entry-meta,
body.single-post .entry-meta *{color:#8b93a1 !important;}
body.single-post .entry-meta a{font-weight:600;}

/* Featured image */
body.single-post .post-thumb img,
body.single-post .wp-post-image{border-radius:20px;margin:26px auto 6px;width:100%;height:auto;display:block;}

/* Body copy */
body.single-post .entry-content{font-family:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:18px !important;line-height:1.8 !important;color:#3c4660 !important;margin-top:36px;}
body.single-post .entry-content p{font-size:18px !important;line-height:1.8 !important;color:#3c4660 !important;margin:0 0 24px !important;}
body.single-post .entry-content h2,
body.single-post .entry-content h3,
body.single-post .entry-content h4,
body.single-post .entry-content h5,
body.single-post .entry-content h6{font-family:"Newsreader",Georgia,serif !important;font-weight:500 !important;color:#1a2740 !important;line-height:1.2 !important;letter-spacing:-.01em;}
body.single-post .entry-content h2{font-size:30px !important;margin:46px 0 16px !important;}
body.single-post .entry-content h3{font-size:26px !important;margin:42px 0 14px !important;}
body.single-post .entry-content h4{font-size:23px !important;margin:38px 0 14px !important;}
body.single-post .entry-content h5{font-size:21px !important;margin:34px 0 12px !important;}
body.single-post .entry-content h6{font-size:18px !important;margin:30px 0 12px !important;}
body.single-post .entry-content a{color:#1d3157 !important;font-weight:600;text-decoration:underline;text-underline-offset:2px;}
body.single-post .entry-content ul,
body.single-post .entry-content ol{margin:0 0 24px !important;padding-left:24px;}
body.single-post .entry-content li{margin:0 0 10px;line-height:1.7;}
body.single-post .entry-content strong{color:#1a2740;font-weight:600;}
body.single-post .entry-content blockquote{border-left:3px solid #b08a4f;padding:6px 0 6px 24px;font-family:"Newsreader",Georgia,serif;font-style:italic;font-size:21px;color:#1a2740;margin:30px 0;}
body.single-post .entry-content img{border-radius:14px;margin:28px 0;height:auto;}
body.single-post .entry-content hr{border:0;border-top:1px solid #e7e2d7;margin:40px 0;}

/* "More Posts" related block (best-effort; harmless if class differs) */
body.single-post .ast-related-posts-title,
body.single-post .related-posts-title{font-family:"Newsreader",Georgia,serif !important;font-weight:500 !important;color:#1a2740 !important;font-size:26px !important;text-align:center;margin-bottom:24px;}
body.single-post .ast-related-post,
body.single-post .related-post{background:#fff;border:1px solid #e7e2d7;border-radius:20px;overflow:hidden;box-shadow:0 1px 2px rgba(21,35,63,.05);}
body.single-post .ast-related-post .ast-related-post-title a{font-family:"Newsreader",Georgia,serif !important;color:#1a2740 !important;}

/* Enquiry / Contact Us WPForms on the post — give it the .cc card look */
body.single-post .wpforms-container{max-width:680px;margin:18px auto 0;background:#fff;border:1px solid #e7e2d7;border-radius:20px;box-shadow:0 8px 30px -12px rgba(21,35,63,.18);padding:34px;}
body.single-post .wpforms-container .wpforms-field-label{font-family:"Hanken Grotesk",sans-serif;font-size:14px;font-weight:600;color:#1a2740;margin-bottom:9px;}
body.single-post .wpforms-container .wpforms-required-label{color:#b08a4f !important;}
body.single-post .wpforms-container input[type=text],
body.single-post .wpforms-container input[type=email],
body.single-post .wpforms-container input[type=tel],
body.single-post .wpforms-container select,
body.single-post .wpforms-container textarea{width:100% !important;box-sizing:border-box;border:1.5px solid #d8d2c4 !important;border-radius:12px !important;padding:14px 16px !important;font-family:"Hanken Grotesk",sans-serif !important;font-size:15.5px !important;color:#1a2740 !important;background:#fdfcfa !important;}
body.single-post .wpforms-container input:focus,
body.single-post .wpforms-container select:focus,
body.single-post .wpforms-container textarea:focus{outline:none !important;border-color:#1d3157 !important;background:#fff !important;box-shadow:0 0 0 4px rgba(29,49,87,.1) !important;}
body.single-post .wpforms-container select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:44px !important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231d3157' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;}
body.single-post .wpforms-container .wpforms-submit{background:#1d3157 !important;color:#fff !important;border:0 !important;border-radius:100px !important;font-family:"Hanken Grotesk",sans-serif !important;font-weight:600 !important;font-size:16px !important;padding:16px 30px !important;cursor:pointer;width:100%;transition:background .2s ease;}
body.single-post .wpforms-container .wpforms-submit:hover{background:#15233f !important;}


body.single-post #secondary{display:none !important;}
body.single-post #primary{width:100% !important;max-width:100% !important;flex:0 0 100% !important;}



@media (max-width: 768px) {
    body #price-calc .wrap {
        overflow: visible !important;
    }
}
