/* Generated by _work/pillars/scope_css.py from the client's Canva design.
   Do not edit by hand: change the script or _work/pillars/overrides/. */

/* The site's own element rules (h1, p, a, ul, img ...) must not reach into
   the design. :where() keeps this at the wrapper's specificity, so every
   design rule below - all of them at least .pl + an element - wins. */
.pl :where(*){all:revert}
.pl{display:block;font-size:1rem;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;text-rendering:auto}

.pl{--gold:#b88917;--gold-dark:#90670b;--ink:#292820;--muted:#706d64;--cream:#faf8f3;--line:#e9e2d3;--white:#fff;--serif:var(--f-display);--sans:var(--f-body)}
.pl *{box-sizing:border-box}
.pl{margin:0;color:var(--ink);background:#fff;font:15px/1.8 var(--sans)}
.pl img{display:block;width:100%;height:100%;object-fit:cover}
.pl a{color:inherit}
.pl .cv-container{width:min(1160px,100% - 48px);margin-inline:auto}
.pl section{padding:84px 0}
.pl .cv-kicker{margin:0 0 15px;color:var(--gold-dark);font-size:10px;letter-spacing:2.1px;text-transform:uppercase;font-weight:700}
.pl h1,.pl h2,.pl h3{font-family:var(--serif);font-weight:400;line-height:1.2;margin:0 0 20px;letter-spacing:-.3px}
.pl h1{font-size:clamp(40px,5.3vw,66px);letter-spacing:-1.4px}
.pl h2{font-size:clamp(31px,3.8vw,45px)}
.pl h3{font-size:23px}
.pl p{margin:0 0 18px}
.pl .cv-lead{font-size:17px;line-height:1.9;color:#625f56}
.pl .cv-center{text-align:center}
.pl .cv-center .cv-lead{max-width:730px;margin:0 auto 22px}
.pl .cv-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.pl .cv-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 21px;border:1px solid var(--gold);border-radius:3px;text-decoration:none;font-size:13px;font-weight:700;transition:background .2s,color .2s,transform .2s}
.pl .cv-btn:hover{transform:translateY(-2px)}
.pl .cv-btn-primary{background:var(--gold-dark);color:#fff}
.pl .cv-btn-primary:hover{background:#74520a;color:#fff}
.pl .cv-btn-outline{color:var(--gold-dark);background:transparent}
.pl .cv-btn-outline:hover{background:#f4ecdb}
.pl .cv-photo{overflow:hidden;border-radius:5px;background:#eee7d9}
.pl .cv-photo img{transition:transform .5s}
.pl .cv-photo:hover img{transform:scale(1.025)}
.pl .cv-hero{padding:72px 0 80px;background:radial-gradient(ellipse at 90% 18%,#efe4c7 0,transparent 35%),linear-gradient(115deg,#fff 25%,#faf6ed 100%)}
.pl .cv-hero-grid,.pl .cv-two-col,.pl .cv-visit-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:58px}
.pl .cv-hero-copy{min-width:0}
.pl .cv-hero h1 span{color:var(--gold-dark)}
.pl .cv-hero-photo{height:510px;position:relative}
.pl .cv-hero-photo img{position:absolute;inset:0}
.pl .cv-photo-caption{position:absolute;left:20px;right:20px;bottom:20px;padding:16px 20px;background:rgba(255,255,255,.94);border-left:3px solid var(--gold)}
.pl .cv-photo-caption span{display:block;color:var(--gold-dark);font-size:9px;font-weight:700;letter-spacing:1.8px}
.pl .cv-photo-caption strong{display:block;font:22px/1.35 var(--serif)}
.pl .cv-trustline{display:flex;gap:15px;flex-wrap:wrap;margin-top:23px;color:var(--muted);font-size:12px}
.pl .cv-trustline span{display:flex;align-items:center;gap:7px}
.pl .cv-dot{height:5px;width:5px;border-radius:50%;background:var(--gold)}
.pl .cv-strip{border-block:1px solid var(--line)}
.pl .cv-strip-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.pl .cv-strip-item{text-align:center;padding:24px 14px;border-right:1px solid var(--line)}
.pl .cv-strip-item:last-child{border-right:0}
.pl .cv-strip-item strong{display:block;font:20px var(--serif);margin-bottom:4px}
.pl .cv-strip-item span{font-size:12px;color:var(--muted)}
.pl .cv-intro-photo{height:455px}
.pl .cv-cream{background:var(--cream)}
.pl .cv-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px;align-items:stretch}
.pl .cv-card{height:100%;background:#fff;border:1px solid var(--line);border-radius:5px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.pl .cv-card:hover{transform:translateY(-4px);box-shadow:0 13px 30px #362b1410}
.pl .cv-card-photo{height:250px;overflow:hidden}
.pl .cv-card-photo img{width:100%;height:100%;object-fit:cover}
.pl .cv-card-body{padding:24px}
.pl .cv-card-num{color:var(--gold-dark);font:26px var(--serif);margin-bottom:10px}
.pl .cv-card h3{font-size:23px;margin-bottom:11px}
.pl .cv-card p{font-size:14px;line-height:1.85;color:var(--muted);margin:0}
.pl .cv-callout{display:flex;gap:15px;align-items:flex-start;margin-top:28px;padding:22px 24px;background:#f3eddf;border-left:3px solid var(--gold)}
.pl .cv-callout-mark{font:28px var(--serif);color:var(--gold-dark)}
.pl .cv-callout p{margin:0;font-size:14px;color:#625d52}
.pl .cv-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:42px}
.pl .cv-process-item{padding-top:20px;border-top:1px solid var(--gold)}
.pl .cv-process-num{font:34px var(--serif);color:var(--gold-dark);margin-bottom:14px}
.pl .cv-process-item h3{font-size:22px}
.pl .cv-process-item p{font-size:14px;color:var(--muted)}
.pl .cv-checklist{list-style:none;padding:0;margin:24px 0}
.pl .cv-checklist li{position:relative;padding:10px 0 10px 29px;border-bottom:1px solid var(--line);font-size:14px}
.pl .cv-checklist li:before{content:"✓";position:absolute;left:0;color:var(--gold-dark);font-weight:bold}
.pl .cv-pillar-nav{background:var(--cream);border:1px solid var(--line);border-radius:6px;padding:27px;margin:30px auto}
.pl .cv-pillar-nav h3{font-size:24px;margin-bottom:12px}
.pl .cv-pillar-nav ol{columns:2;column-gap:35px;margin:0;padding-left:22px}
.pl .cv-pillar-nav li{break-inside:avoid;padding:5px 0;font-size:14px}
.pl .cv-pillar-nav a{color:#785a10;text-decoration:none}
.pl .cv-pillar-nav a:hover{text-decoration:underline}
.pl .cv-pillar-copy{max-width:850px;margin-inline:auto}
.pl .cv-pillar-copy h2{margin-top:26px}
.pl .cv-pillar-copy h3{font-size:24px;margin-top:26px}
.pl .cv-pillar-copy p,.pl .cv-pillar-copy li{font-size:15px;line-height:1.95;color:#625f56}
.pl .cv-pillar-copy ul{padding-left:22px}
.pl .cv-pillar-copy li{margin-bottom:8px}
.pl .cv-highlight{padding:22px 24px;background:#f7f1e4;border-left:3px solid var(--gold);margin:25px 0}
.pl .cv-highlight p{margin:0}
.pl .cv-compare{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}
.pl .cv-compare article{background:#fff;border:1px solid var(--line);border-radius:5px;padding:24px}
.pl .cv-compare h3{margin-top:0}
.pl .cv-compare p{font-size:14px;margin:0}
.pl .cv-visit-grid{align-items:start}
.pl .cv-visit-copy{padding-top:20px}
.pl .cv-visit-image{height:300px;margin-bottom:16px}
.pl .cv-contact-card{background:#fff;border:1px solid var(--line);border-radius:5px;padding:25px;box-shadow:0 10px 30px #362b1408}
.pl .cv-contact-head{display:flex;align-items:center;gap:13px;padding-bottom:19px;margin-bottom:5px;border-bottom:1px solid var(--line)}
.pl .cv-pin{flex:0 0 44px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#f6efdf;color:var(--gold-dark);font-size:23px}
.pl .cv-contact-head .cv-kicker{margin-bottom:5px}
.pl .cv-contact-head h3{font-size:24px;margin:0}
.pl .cv-contact-row{display:flex;align-items:flex-start;gap:13px;padding:15px 0;border-bottom:1px solid #f0ece4;text-decoration:none}
.pl .cv-contact-icon{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#faf6ec;color:var(--gold-dark)}
.pl .cv-contact-row strong{display:block;font-size:13px;margin-bottom:3px}
.pl .cv-contact-row span{display:block;font-size:12px;line-height:1.8;color:var(--muted);overflow-wrap:anywhere}
.pl .cv-contact-row:hover span{color:var(--gold-dark)}
.pl .cv-contact-cta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:20px;padding:15px 17px;background:var(--gold-dark);color:#fff;text-decoration:none;font-size:13px;font-weight:700;border-radius:3px}
.pl .cv-contact-cta:hover{background:#74520a;color:#fff}
.pl .cv-contact-note{text-align:center;font-size:11px;color:var(--muted);margin:12px 0 0}
.pl .cv-faq-list{max-width:850px;margin:36px auto 0}
.pl .cv-faq-list details{padding:20px 0;border-bottom:1px solid var(--line)}
.pl .cv-faq-list summary{position:relative;list-style:none;cursor:pointer;padding-right:35px;font-size:15px;font-weight:700;line-height:1.7}
.pl .cv-faq-list summary::-webkit-details-marker{display:none}
.pl .cv-faq-list summary:after{content:"+";position:absolute;right:3px;top:-3px;color:var(--gold-dark);font:26px var(--serif)}
.pl .cv-faq-list details[open] summary:after{content:"−"}
.pl .cv-faq-list details p{font-size:14px;line-height:1.9;color:var(--muted);margin:14px 30px 0 0}
.pl .cv-reflection{padding:24px;border:1px solid var(--line);background:#fff;border-radius:5px;margin:24px 0}
.pl .cv-reflection label{display:flex;gap:11px;align-items:flex-start;padding:10px 0;border-bottom:1px solid #f0ece4;font-size:14px;color:#625f56;cursor:pointer}
.pl .cv-reflection label:last-child{border-bottom:0}
.pl .cv-reflection input{margin-top:6px;accent-color:var(--gold-dark)}
.pl .cv-final{padding:84px 0;text-align:center;background:radial-gradient(ellipse at 50% 0%,#efe2c3 0,transparent 58%),#f8f5ed;border-top:1px solid var(--line)}
.pl .cv-final-inner{max-width:780px;margin:auto}
.pl .cv-final h2{font-size:clamp(34px,4.5vw,48px)}
.pl .cv-final .cv-lead{max-width:660px;margin-inline:auto}
.pl .cv-final .cv-btns{justify-content:center}
.pl .cv-disclaimer{font-size:11px;color:var(--muted);margin-top:24px}
@media(max-width:900px){
.pl .cv-hero-grid,.pl .cv-two-col,.pl .cv-visit-grid{gap:32px}
.pl .cv-hero-photo{height:420px}
.pl .cv-process-grid{grid-template-columns:repeat(2,1fr)}
.pl section{padding:66px 0}
}
@media(max-width:700px){
.pl .cv-container{width:calc(100% - 36px)}
.pl section{padding:53px 0}
.pl .cv-hero{padding:48px 0}
.pl .cv-hero-grid,.pl .cv-two-col,.pl .cv-visit-grid{grid-template-columns:1fr;gap:30px}
.pl .cv-hero-photo{height:350px}
.pl .cv-intro-photo{height:340px}
.pl .cv-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.pl .cv-card-photo{height:210px}
.pl .cv-process-grid{gap:23px 18px}
.pl .cv-strip-item{padding:19px 6px}
.pl .cv-strip-item strong{font-size:16px}
.pl .cv-strip-item span{font-size:10px}
.pl .cv-visit-copy{padding-top:0}
.pl .cv-visit-image{height:270px}
.pl .cv-pillar-nav ol{columns:1}
.pl .cv-contact-card{padding:20px}
.pl .cv-btns{align-items:stretch}
}
@media(max-width:430px){
.pl .cv-card-body{padding:21px}
.pl .cv-card-photo{height:220px}
.pl h1{font-size:39px}
.pl .cv-hero-photo{height:300px}
.pl .cv-cards{grid-template-columns:1fr;gap:18px}
.pl .cv-card-photo{height:235px}
.pl .cv-process-grid,.pl .cv-compare{grid-template-columns:1fr}
.pl .cv-btn{width:100%}
.pl .cv-contact-card{padding:16px}
.pl .cv-contact-head h3{font-size:21px}
.pl .cv-strip-item strong{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
.pl *,.pl *:before,.pl *:after{transition:none!important}
}
.pl :is(input,select,textarea){font-family:var(--f-body)}

/* Canva's editor stamps these on every text-only element. */
.pl :is(p,h1,h2,h3,h4,li,a,span,strong,b,em,i,small,summary,label,td,th,div,article,cv-run):not(:has(> :not(.cv-mark))){line-height:normal!important;white-space:pre-wrap!important;overflow-wrap:normal!important}

/* ---- the designer's own inline styles ---- */
/* Inline styles the designer wrote into the Canva HTML (not Canva stamps). */
.pl section > .cv-container > p.cv-center{margin-top:25px}
.pl .cv-two-col > .cv-photo:not(.cv-intro-photo){height:430px}
.pl.pl-p-inner-child-therapy .cv-two-col > .cv-photo:not(.cv-intro-photo){height:390px}
.pl .cv-two-col + .cv-pillar-copy{margin-top:35px}
.pl.pl-p-inner-child-therapy .cv-two-col + .cv-pillar-copy{margin-top:28px}

/* ---- Canva's stamped styles, measured by compare.py ---- */
.pl div.cv-container.cv-hero-grid > div.cv-hero-copy > div.cv-trustline > span{line-height:normal;white-space:pre-wrap}
.pl section > div.cv-container > p.cv-center{color:rgb(112, 109, 100);font-size:12px}
.pl.pl-p-inner-child-therapy section > div.cv-container.cv-two-col > div > h2{font-size:clamp(31px,3.8vw,44.64px)}
.pl.pl-p-access-bars section.cv-hero > div.cv-container.cv-hero-grid > div.cv-hero-copy > h1{font-size:clamp(40px,5.3vw,65.92px)}
.pl.pl-p-access-bars div.cv-container.cv-hero-grid > div.cv-hero-copy > h1 > span{font-size:inherit}
