/* CFS 1.3.0 (mu-plugin cfs-hub-redesign.php, blog.php): blog posts, Before & After galleries and cost pages.
   Every rule is scoped to the new markup (.cfs-bh, .cfs-gnav, .cfs-bt-wrap, #cfs-bt-c, .cfs-lbx) or body.cfs-blogx. */

body.cfs-blogx{--b-ink:#20272D;--b-muted:#4A5562;--b-navy:#0D2C4D;--b-navy2:#1B4472;--b-link:#1C5A9C;--b-mist:#E3EAF1;--b-mist2:#F2F5F8;--b-line:#DFE5EC;--b-edge:#C7D3E0;--b-serif:"Crimson Text",Georgia,serif;--b-sans:RennerBook,Jost,system-ui,sans-serif;--b-med:RennerMedium,RennerBook,Jost,system-ui,sans-serif;--b-head:87px;--b-gnav:64px}
/* The theme's overflow-x:hidden on <body> turns it into a scroll container on phones, which stops sticky bars */
html body.cfs-blogx{overflow-x:clip!important;overflow-y:visible!important}

/* ================================================================ Hero */
.cfs-bh{display:block;clear:both;float:none;position:relative;width:100%;margin:0;padding:0;background:var(--b-mist);font-family:var(--b-sans);color:var(--b-ink);text-align:left;-webkit-font-smoothing:antialiased}
.cfs-bh *,.cfs-bh *::before,.cfs-bh *::after{box-sizing:border-box}
.cfs-bh :is(h1,p){margin:0;padding:0;text-transform:none;letter-spacing:normal;text-align:left;float:none}
.cfs-bh a{transition:color .15s,background-color .15s,border-color .15s}
.cfs-bh a:focus-visible{outline:2px solid var(--b-navy);outline-offset:3px;border-radius:4px}
.cfs-bh .cfs-bh__in{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:calc(var(--b-head) + 44px) 20px 56px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px 72px;align-items:center}
.cfs-bh--cost .cfs-bh__in{grid-template-columns:minmax(0,1fr) 380px}
.cfs-bh--gallery .cfs-bh__in{grid-template-columns:minmax(0,1fr) 480px}
.cfs-bh--solo .cfs-bh__in{grid-template-columns:minmax(0,1fr)}
.cfs-bh .cfs-bh__txt{min-width:0}
/* Gallery: the mist stops short of the photo, which sits on white */
.cfs-bh--gallery:not(.cfs-bh--solo){background:#fff}
.cfs-bh--gallery:not(.cfs-bh--solo)::before{content:"";position:absolute;left:0;top:0;bottom:0;right:calc((100% - min(100%, 1240px)) / 2 + 20px + 480px + 36px);background:var(--b-mist)}

/* Breadcrumbs (the theme's own, moved in here) */
.cfs-bh .cfs-bh__crumbs{margin:0}
.cfs-bh .cfs-bh__crumbs :is(.breadcrumb,.breadcrumb-wrapper,.breadcrumb-inner){display:block!important;position:static!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;text-align:left!important}
.cfs-bh .cfs-bh__crumbs,.cfs-bh .cfs-bh__crumbs *{font:400 14px/1.5 var(--b-sans)!important;color:var(--b-muted)!important;text-transform:none!important;letter-spacing:normal!important}
.cfs-bh .cfs-bh__crumbs a{text-decoration:underline!important;text-decoration-color:rgba(74,85,98,.35)!important;text-underline-offset:.2em}
.cfs-bh .cfs-bh__crumbs a:hover{color:var(--b-navy)!important}

/* Eyebrow: category and kicker */
.cfs-bh .cfs-bh__eb{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:26px}
.cfs-bh a.cfs-bh__chip{display:inline-flex;align-items:center;min-height:30px;padding:0 13px;border-radius:999px;background:#fff;color:var(--b-navy);font:400 13.5px/1 var(--b-med);text-decoration:none}
.cfs-bh a.cfs-bh__chip:hover{background:var(--b-navy);color:#fff}
.cfs-bh .cfs-bh__kick{display:inline-block;font:400 13px/1.2 var(--b-med);letter-spacing:.08em;text-transform:uppercase;color:var(--b-muted)}
.cfs-bh .cfs-bh__kick--navy{color:var(--b-navy)}

.cfs-bh h1.cfs-bh__h{display:block;width:auto;max-width:820px;margin:16px 0 0;padding:0;font:400 54px/1.07 var(--b-serif);letter-spacing:-.015em;color:var(--b-ink);text-align:left;text-wrap:balance}
.cfs-bh .cfs-bh__lead{max-width:720px;margin-top:16px;font-size:19px;line-height:1.6;color:var(--b-ink)}
.cfs-bh .cfs-bh__lead p{margin:0 0 10px}
.cfs-bh .cfs-bh__lead p:last-child{margin-bottom:0}

/* Gallery figures */
.cfs-bh .cfs-bh__stats{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:22px}
.cfs-bh .cfs-bh__stats p{display:flex;flex-direction:column;gap:6px;font-size:14.5px;line-height:1.3;color:var(--b-muted)}
.cfs-bh .cfs-bh__stats b{font:400 42px/1 var(--b-serif);color:var(--b-navy)}

/* Byline */
.cfs-bh p.cfs-bh__meta{margin-top:20px;font-size:15.5px;line-height:1.6;color:var(--b-muted)}
.cfs-bh .cfs-bh__meta > span{display:inline-block;white-space:nowrap}
.cfs-bh .cfs-bh__meta > span + span::before{content:"";display:inline-block;width:4px;height:4px;margin:0 12px 0 10px;border-radius:50%;background:#9AA6B3;vertical-align:middle}
/* The reviewer line has a line of its own; blog.js drops the dot in front of anything that starts a new line */
.cfs-bh .cfs-bh__meta > span.cfs-bh__by{display:block;white-space:normal}
.cfs-bh .cfs-bh__meta > span.cfs-bh__by::before,.cfs-bh .cfs-bh__meta > span.cfs-bh__by + span::before,.cfs-bh .cfs-bh__meta > span.is-nl::before{content:none}
.cfs-bh .cfs-bh__meta a{color:var(--b-navy);text-decoration:underline;text-decoration-color:rgba(13,44,77,.35);text-underline-offset:.2em}
.cfs-bh .cfs-bh__meta time{white-space:nowrap}

/* Buttons */
.cfs-bh .cfs-bh__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.cfs-bh a.cfs-bh__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;margin:0;padding:0 28px;border:1.5px solid var(--b-navy);border-radius:999px;font:400 16px/1.1 var(--b-med);text-align:center;text-decoration:none!important;white-space:nowrap;box-shadow:none}
.cfs-bh a.cfs-bh__btn--navy{background:var(--b-navy);color:#fff!important}
.cfs-bh a.cfs-bh__btn--navy:hover{background:var(--b-navy2);border-color:var(--b-navy2)}
.cfs-bh a.cfs-bh__btn--line{background:#fff;color:var(--b-navy)!important}
.cfs-bh a.cfs-bh__btn--line:hover{background:var(--b-navy);color:#fff!important}

/* Right-hand cards */
.cfs-bh :is(.cfs-bh__rev,.cfs-bh__price){display:block;margin:0;background:#fff;border-radius:16px;box-shadow:0 16px 40px rgba(13,44,77,.13)}
.cfs-bh .cfs-bh__rev{padding:22px 22px 20px}
.cfs-bh p.cfs-bh__rl,.cfs-bh p.cfs-bh__pl{font:400 12.5px/1.25 var(--b-med);letter-spacing:.08em;text-transform:uppercase;color:var(--b-muted)}
.cfs-bh .cfs-bh__rr{display:flex;align-items:center;gap:14px;margin-top:14px}
.cfs-bh .cfs-bh__rr > :is(img,picture){flex:0 0 auto;display:block;width:68px!important;height:68px!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;border-radius:50%;overflow:hidden;background:#E9EEF3}
.cfs-bh .cfs-bh__rr img{display:block;width:68px!important;height:68px!important;max-width:none!important;margin:0!important;border-radius:50%;object-fit:cover;object-position:50% 20%}
.cfs-bh p.cfs-bh__rn{font:600 21px/1.15 var(--b-serif);color:var(--b-ink)}
.cfs-bh p.cfs-bh__rt{margin-top:4px;font-size:14.5px;line-height:1.35;color:var(--b-muted)}
.cfs-bh .cfs-bh__rf{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:16px;padding-top:14px;border-top:1px solid var(--b-line);font-size:14px;line-height:1.4;color:var(--b-muted)}
.cfs-bh a.cfs-bh__go{display:inline-flex;align-items:center;gap:8px;margin-top:4px;font:400 15px/1.2 var(--b-med);color:var(--b-navy)!important;text-decoration:none!important}
.cfs-bh a.cfs-bh__go:hover{text-decoration:underline!important;text-underline-offset:.24em}
.cfs-bh a.cfs-bh__go svg{flex:0 0 auto}
.cfs-bh .cfs-bh__price{padding:26px 26px 22px}
.cfs-bh p.cfs-bh__pn{margin-top:12px;font-size:17px;line-height:1.3;color:var(--b-ink)}
.cfs-bh p.cfs-bh__pn b{display:block;margin-bottom:4px;font:400 58px/1 var(--b-serif);letter-spacing:-.01em;color:var(--b-navy)}
.cfs-bh .cfs-bh__price a.cfs-bh__go{margin-top:16px}
.cfs-bh p.cfs-bh__fin{margin-top:18px;padding-top:16px;border-top:1px solid var(--b-line);font-size:14.5px;line-height:1.5;color:var(--b-ink)}
.cfs-bh p.cfs-bh__fin strong{font-family:var(--b-med);font-weight:400}
.cfs-bh p.cfs-bh__fin a{color:var(--b-navy);text-decoration:underline;text-decoration-color:rgba(13,44,77,.35);text-underline-offset:.2em;white-space:nowrap}
.cfs-bh .cfs-bh__img{display:block;margin:0;border-radius:14px;overflow:hidden;background:#E9EEF3;line-height:0}
.cfs-bh .cfs-bh__img :is(picture,img){display:block;width:100%!important;height:auto!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important}

/* ================================================================ Gallery section bar */
nav.cfs-gnav{position:sticky;top:var(--b-head);left:auto;right:auto;bottom:auto;z-index:30;display:block;width:100%;height:auto;min-height:0;max-height:none;margin:0;padding:0;background:rgba(255,255,255,.97);border-top:1px solid var(--b-line);border-bottom:1px solid var(--b-line);box-shadow:none;opacity:1;transform:none;overflow:visible;font-family:var(--b-sans);-webkit-font-smoothing:antialiased}
body.admin-bar nav.cfs-gnav{top:calc(var(--b-head) + 32px)}
.cfs-gnav .cfs-gnav__in{box-sizing:border-box;max-width:1240px;height:var(--b-gnav);margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.cfs-gnav .cfs-gnav__in::-webkit-scrollbar{display:none}
.cfs-gnav a{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;min-height:40px;margin:0;padding:0 16px;border:1px solid var(--b-line);border-radius:999px;background:#fff;font:400 14.5px/1 var(--b-med);color:var(--b-ink);text-decoration:none;white-space:nowrap;transition:background-color .15s,border-color .15s,color .15s}
.cfs-gnav a i{font:400 14px/1 var(--b-sans);font-style:normal;color:var(--b-muted)}
.cfs-gnav a:hover{border-color:var(--b-navy);color:var(--b-navy)}
.cfs-gnav a.is-on{background:var(--b-navy);border-color:var(--b-navy);color:#fff}
.cfs-gnav a.is-on i{color:#B9CCE0}
.cfs-gnav a:focus-visible{outline:2px solid var(--b-navy);outline-offset:2px}

/* ================================================================ Body layout */
/* Same edges as the hero and the four boxes: 1200px of content, 20px from the screen edge below that */
html body .site-inner:has(> .cfs-bt-wrap){box-sizing:border-box;max-width:1240px;padding-top:16px!important;padding-left:20px!important;padding-right:20px!important}
html body .content-sidebar-wrap.cfs-bt-wrap{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:0 72px;align-items:start;width:auto;max-width:none;margin:0;padding:0 0 72px;float:none}
html body .content-sidebar-wrap.cfs-bt-wrap::before,html body .content-sidebar-wrap.cfs-bt-wrap::after{content:none!important;display:none!important}
html body .cfs-bt-wrap.cfs-bt-noside,html body .cfs-bt-wrap.cfs-bt-gallery{grid-template-columns:minmax(0,1fr)}
html body .cfs-bt-wrap > main.content{grid-column:1;width:auto;max-width:780px;min-width:0;margin:0;padding:0;float:none}
html body .cfs-bt-wrap.cfs-bt-gallery > main.content{max-width:none}
html body .cfs-bt-wrap .entry-header{display:none}

/* Side panel */
.cfs-bt-wrap > aside.cfs-bside{grid-column:2;align-self:stretch;display:flex;flex-direction:column;gap:20px;width:auto;min-width:0;margin:0;padding:0;float:none;font-family:var(--b-sans);color:var(--b-ink)}
.cfs-bside *,.cfs-bside *::before,.cfs-bside *::after{box-sizing:border-box}

/* Call-back form (the theme's own) with the Google rating under it */
.cfs-bside .cfs-bcb{display:flex;flex-direction:column;gap:10px}
.cfs-bside a.cfs-bcb__rate{display:flex;align-items:center;gap:10px;padding:2px 4px;font:400 13.5px/1.3 var(--b-sans);color:var(--b-muted);text-decoration:none}
.cfs-bside a.cfs-bcb__rate b{font:400 24px/1 var(--b-serif);color:var(--b-ink)}
.cfs-bside a.cfs-bcb__rate:hover span:last-child{text-decoration:underline;text-underline-offset:.2em}
.cfs-bside .cfs-bcb__stars{position:relative;display:inline-block;font-size:14px;line-height:1;letter-spacing:2px;color:#D9DEE5;white-space:nowrap}
.cfs-bside .cfs-bcb__stars::before{content:"\2605\2605\2605\2605\2605"}
.cfs-bside .cfs-bcb__stars::after{content:"\2605\2605\2605\2605\2605";position:absolute;left:0;top:0;width:calc(var(--r, 5) / 5 * 100%);overflow:hidden;color:#C77F06}

/* Cost pages: personal price */
.cfs-bside .cfs-bquote{padding:24px 24px 22px;border-radius:14px;background:var(--b-navy);color:#D5DFEA}
.cfs-bside p.cfs-bquote__h{margin:0;font:400 27px/1.15 var(--b-serif);color:#fff}
.cfs-bside p.cfs-bquote__p{margin:10px 0 0;font-size:15px;line-height:1.55;color:#D5DFEA}
.cfs-bside a.cfs-bquote__btn{display:flex;align-items:center;justify-content:center;min-height:50px;margin-top:18px;border-radius:999px;background:#fff;font:400 16px/1 var(--b-med);color:var(--b-navy)!important;text-decoration:none!important}
.cfs-bside a.cfs-bquote__btn:hover{background:var(--b-mist)}
.cfs-bside a.cfs-bquote__tel{display:flex;justify-content:center;margin-top:12px;font:400 16px/1.2 var(--b-med);color:#fff!important;text-decoration:none!important}
.cfs-bside a.cfs-bquote__tel:hover{text-decoration:underline!important;text-underline-offset:.2em}
.cfs-bside .cfs-bquote a:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* Contents (sticky) */
.cfs-bside nav.cfs-btoc{position:sticky;top:calc(var(--b-head) + 24px);left:auto;right:auto;bottom:auto;z-index:auto;display:flex;flex-direction:column;width:auto;height:auto;min-height:0;max-height:calc(100vh - var(--b-head) - 48px);margin:0;padding:20px 8px 14px 20px;border:1px solid var(--b-line);border-radius:14px;background:#fff;box-shadow:none;opacity:1;transform:none;overflow:hidden}
body.admin-bar .cfs-bside nav.cfs-btoc{top:calc(var(--b-head) + 56px);max-height:calc(100vh - var(--b-head) - 80px)}
.cfs-btoc p.cfs-btoc__t{flex:0 0 auto;margin:0;padding:0;font:400 12.5px/1.25 var(--b-med);letter-spacing:.08em;text-transform:uppercase;color:var(--b-muted)}
.cfs-btoc .cfs-btoc__bar{flex:0 0 auto;height:3px;margin:14px 12px 10px 0;border-radius:2px;background:var(--b-line);overflow:hidden}
.cfs-btoc .cfs-btoc__bar i{display:block;width:0;height:100%;background:var(--b-navy);transition:width .12s linear}
.cfs-btoc ol{flex:1 1 auto;min-height:0;display:block;margin:0;padding:0 6px 0 0;list-style:none;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--b-edge) transparent}
.cfs-btoc li{display:block;flex:none;margin:0;padding:0;list-style:none;opacity:1;transform:none}
.cfs-btoc li::before,.cfs-btoc li::marker{content:none}
.cfs-btoc li a{display:block;margin:0;padding:7px 12px;border-left:2px solid transparent;font:400 15px/1.35 var(--b-sans);color:var(--b-muted);text-align:left;text-decoration:none;transition:color .15s,background-color .15s}
.cfs-btoc li a:hover{color:var(--b-navy);background:var(--b-mist2)}
.cfs-btoc li a.is-on{border-left-color:var(--b-navy);background:var(--b-mist2);color:var(--b-navy);font-family:var(--b-med)}
.cfs-btoc li a:focus-visible{outline:2px solid var(--b-navy);outline-offset:-2px}

/* ================================================================ Post body */
#cfs-bt-c{font:400 18.5px/1.72 var(--b-sans);color:var(--b-ink);-webkit-font-smoothing:antialiased}
#cfs-bt-c::before,#cfs-bt-c::after{display:none}
#cfs-bt-c > p,#cfs-bt-c .cfs-faq-i > p{margin:0 0 24px}
#cfs-bt-c > :first-child{margin-top:0}
#cfs-bt-c strong,#cfs-bt-c b{font-family:var(--b-med);font-weight:400}
#cfs-bt-c a:not([class]){color:var(--b-link);text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.24em;text-decoration-color:rgba(28,90,156,.4);transition:color .15s,text-decoration-color .15s}
#cfs-bt-c a:not([class]):hover{color:var(--b-navy);text-decoration-color:currentColor}
#cfs-bt-c a:focus-visible{outline:2px solid var(--b-navy);outline-offset:2px;border-radius:2px}
#cfs-bt-c > h2{margin:56px 0 18px;padding:0;font:400 38px/1.14 var(--b-serif);letter-spacing:-.01em;color:var(--b-ink);text-transform:none;text-align:left}
#cfs-bt-c > h3{margin:36px 0 12px;padding:0;font:600 24px/1.25 var(--b-serif);color:var(--b-ink);text-transform:none;text-align:left}
#cfs-bt-c > h4{margin:28px 0 10px;padding:0;font:400 19px/1.4 var(--b-med);color:var(--b-ink)}
#cfs-bt-c > h2 + h3{margin-top:22px}
#cfs-bt-c :is(h2,h3,h4,[id]){scroll-margin-top:calc(var(--b-head) + 24px)}
#cfs-bt-c > :is(ul,ol){margin:0 0 26px;padding:0 0 0 24px}
#cfs-bt-c > :is(ul,ol) li{margin:0 0 10px;padding-left:4px}
#cfs-bt-c > :is(ul,ol) li:last-child{margin-bottom:0}
#cfs-bt-c > ul > li::marker{color:var(--b-navy)}
#cfs-bt-c > ol > li::marker{color:var(--b-navy);font-family:var(--b-med)}
#cfs-bt-c blockquote{margin:32px 0;padding:4px 0 4px 24px;border-left:3px solid var(--b-navy);font:400 23px/1.45 var(--b-serif);color:var(--b-ink)}
#cfs-bt-c hr{height:1px;margin:40px 0;border:0;background:var(--b-line)}
#cfs-bt-c sup{font-size:.68em;line-height:0}
#cfs-bt-c sup a{text-decoration:none!important;padding:0 1px}

/* Pictures */
#cfs-bt-c figure{width:auto!important;max-width:100%;margin:8px 0 34px;padding:0}
#cfs-bt-c figure :is(picture,img),#cfs-bt-c > p > :is(img,picture),#cfs-bt-c > p > a > :is(img,picture){display:block;max-width:100%;height:auto;margin:0;border-radius:12px}
#cfs-bt-c figure picture img,#cfs-bt-c > p > picture img,#cfs-bt-c > p > a > picture img{border-radius:12px}
#cfs-bt-c figcaption{margin:10px 0 0;padding:0;font:italic 400 14.5px/1.5 var(--b-sans);color:var(--b-muted);text-align:left}
#cfs-bt-c figure:not(:has(img,picture,video,iframe)){display:none}
#cfs-bt-c iframe{max-width:100%}

/* Tables */
#cfs-bt-c table{width:100%;margin:8px 0 32px;border-collapse:separate;border-spacing:0;border:1px solid var(--b-line);border-radius:12px;overflow:hidden;font:400 16.5px/1.45 var(--b-sans);color:var(--b-ink);background:#fff}
#cfs-bt-c table :is(th,td){padding:14px 18px!important;border:0;text-align:left;vertical-align:top}
#cfs-bt-c table th{background:var(--b-navy);font:400 13.5px/1.35 var(--b-med);letter-spacing:.04em;text-transform:uppercase;color:#fff;vertical-align:bottom}
#cfs-bt-c table td{border-top:1px solid var(--b-line);background:#fff}
#cfs-bt-c table tr:first-child > td{border-top:0}
#cfs-bt-c table thead + tbody > tr:first-child > td{border-top:0}
#cfs-bt-c table tbody > tr:nth-child(even) > td{background:var(--b-mist2)}
/* Two-column tables (the cost tables): the price on the right */
#cfs-bt-c table:not(:has(tr > :nth-child(3))) :is(th,td):last-child{text-align:right}
#cfs-bt-c table:not(:has(tr > :nth-child(3))) td:last-child{font-family:var(--b-med);color:var(--b-navy);white-space:nowrap}
#cfs-bt-c table#cfs-prices{scroll-margin-top:calc(var(--b-head) + 24px)}

/* Key points */
#cfs-bt-c .cfs-kp{margin:8px 0 40px;padding:26px 30px 26px;border-radius:14px;background:var(--b-mist2)}
#cfs-bt-c .cfs-kp > h2{margin:0 0 14px;padding:0;font:600 26px/1.2 var(--b-serif);letter-spacing:0;color:var(--b-ink)}
#cfs-bt-c .cfs-kp > ul{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}
#cfs-bt-c .cfs-kp > ul > li{position:relative;margin:0;padding:0 0 0 26px;font-size:17px;line-height:1.55;list-style:none}
#cfs-bt-c .cfs-kp > ul > li::before{content:"";position:absolute;left:2px;top:.58em;width:9px;height:9px;border-radius:50%;background:var(--b-navy)}
#cfs-bt-c .cfs-kp > ul > li::marker{content:none}

/* FAQs */
#cfs-bt-c .cfs-faq-i{margin:0 0 12px;padding:20px 22px 2px;border:1px solid var(--b-line);border-radius:12px;background:#fff}
#cfs-bt-c .cfs-faq-i > h3{margin:0 0 10px;padding:0;font:600 21px/1.28 var(--b-serif);color:var(--b-ink)}
#cfs-bt-c .cfs-faq-i > p{margin:0 0 18px;font-size:17.5px;line-height:1.65}
#cfs-bt-c .cfs-faq-i > :is(ul,ol){margin:0 0 18px;padding-left:22px;font-size:17.5px}
#cfs-bt-c .cfs-faq-i > :is(ul,ol) li{margin-bottom:6px}
#cfs-bt-c > h3.cfs-faq-q{margin:0 0 10px;padding:22px 0 0;border-top:1px solid var(--b-line)}
#cfs-bt-c > h2.cfs-faq-h + h3.cfs-faq-q{padding-top:4px;border-top:0}
#cfs-bt-c .cfs-faq-i + :not(.cfs-faq-i){margin-top:36px}

/* References (smaller) */
#cfs-bt-c > :is(h2#references,h2:has(> #References),h2:has(> #references)) + ol{font-size:15px;line-height:1.55;color:var(--b-muted)}

/* Consultation forms in the body */
#cfs-bt-c > .wpcf7{margin:44px 0;padding:28px 30px 8px;border:1px solid var(--b-line);border-top:4px solid var(--b-navy);border-radius:12px;background:#fff}
#cfs-bt-c > .wpcf7 h3.form-header{margin:0 0 10px;font:400 32px/1.15 var(--b-serif);color:var(--b-ink)}
#cfs-bt-c > .wpcf7 p.form-copy{font-size:16px;line-height:1.6;color:var(--b-muted)}

/* Contents, folded (phones and tablets) */
#cfs-bt-c > details.cfs-btoc-m{display:none}

/* Share card (1.4.2). The theme's own rules (body.post-template-default.single.single-post ...) outrank plain class
   selectors, hence the long ones here. One row of buttons on wider screens, an even grid of two or three on phones,
   with the phone's own share sheet as the first button where the browser offers one (blog.js). */
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper{display:block;float:none;clear:both;box-sizing:border-box;width:100%;margin:48px 0 8px;padding:26px 28px 28px;border:0;border-radius:16px;background:var(--b-mist2);text-align:left}
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper h3.share-this-post{display:block;float:none;margin:0;padding:0;font:400 28px/1.15 var(--b-serif);font-style:normal;color:var(--b-ink);text-align:left;text-transform:none;letter-spacing:normal}
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper p.cfs-shr__p{margin:6px 0 0;padding:0;font:400 16px/1.5 var(--b-sans);color:var(--b-muted);text-align:left}
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper .splitter{display:none}
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper .social-icons{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:10px;float:none;width:auto;margin:20px 0 0;padding:0}
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper .share-btn{display:flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;width:auto;min-width:0;height:46px;margin:0;padding:0 18px;border:1px solid var(--b-edge);border-radius:999px;background:#fff;box-shadow:none;font:400 15px/1 var(--b-med);color:var(--b-navy)!important;text-decoration:none!important;text-transform:none;letter-spacing:normal;white-space:nowrap;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper .share-btn svg{margin:0;vertical-align:middle}
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper .share-btn span{min-width:0;overflow:hidden;text-overflow:ellipsis}
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper .share-btn:focus{background:#fff;border-color:var(--b-edge);color:var(--b-navy)!important}
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper .share-btn:focus-visible{outline:2px solid var(--b-navy);outline-offset:2px}
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper .share-btn.copied,html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper .share-btn.copied:focus{background:#0B6B3A;border-color:#0B6B3A;color:#fff!important}
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper .share-btn.share-native{width:100%;height:50px;margin-top:20px;background:var(--b-navy);border-color:var(--b-navy);font-size:16px;color:#fff!important}
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper .share-native + .social-icons{margin-top:10px}
@media (hover:hover){
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper .share-btn:hover{background:var(--b-navy);border-color:var(--b-navy);color:#fff!important}
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper .share-btn.share-native:hover{background:var(--b-navy2);border-color:var(--b-navy2)}
}

/* ================================================================ Before & After galleries */
.cfs-bt-gallery #cfs-bt-c > *{max-width:820px}
.cfs-bt-gallery #cfs-bt-c > :is(.cfs-gg,.cfs-ba-strip,table,div[class*="gallery"]){max-width:none}
.cfs-bt-gallery #cfs-bt-c > h2{margin-top:64px;font-size:40px;line-height:1.1;scroll-margin-top:calc(var(--b-head) + var(--b-gnav) + 20px)}
.cfs-bt-gallery #cfs-bt-c > p.cfs-gcnt{margin:-8px 0 14px;font:400 15px/1.4 var(--b-med);color:var(--b-muted)}
#cfs-bt-c .cfs-gg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 28px;align-items:start;margin:26px 0 8px}
#cfs-bt-c .cfs-gg > *{width:auto!important;max-width:none;margin:0!important}
#cfs-bt-c .cfs-gg :is(img,picture){display:block;width:100%!important;max-width:100%!important;height:auto!important;border-radius:12px;background:#E9EEF3}
#cfs-bt-c .cfs-gg img{cursor:zoom-in}
#cfs-bt-c .cfs-gg img:focus-visible{outline:3px solid var(--b-navy);outline-offset:3px}
#cfs-bt-c .cfs-gg figcaption{font-style:normal;font-size:15px}

/* Photo viewer */
.cfs-lbx{position:fixed;inset:0;z-index:2147483000;display:grid;grid-template-columns:64px minmax(0,1fr) 64px;grid-template-rows:56px minmax(0,1fr) auto;align-items:center;justify-items:center;padding:12px;background:rgba(8,18,30,.95);color:#C3CFDC;font-family:RennerBook,Jost,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.cfs-lbx[hidden]{display:none}
.cfs-lbx *{box-sizing:border-box}
.cfs-lbx figure{grid-column:2;grid-row:2;display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;height:100%;min-height:0;margin:0;padding:0;justify-content:center}
.cfs-lbx img{display:block;width:auto!important;max-width:100%!important;height:auto!important;max-height:calc(100vh - 170px);margin:0!important;border-radius:8px;object-fit:contain;background:#1A2A3C}
.cfs-lbx figcaption{max-width:760px;font-size:15px;line-height:1.5;color:#C3CFDC;text-align:center}
.cfs-lbx button{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font:400 26px/1 system-ui,sans-serif;cursor:pointer;box-shadow:none;transition:background-color .15s}
.cfs-lbx button:hover{background:rgba(255,255,255,.22)}
.cfs-lbx button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.cfs-lbx .cfs-lbx__x{grid-column:3;grid-row:1}
.cfs-lbx .cfs-lbx__p{grid-column:1;grid-row:2}
.cfs-lbx .cfs-lbx__n{grid-column:3;grid-row:2}
.cfs-lbx .cfs-lbx__c{grid-column:1 / -1;grid-row:3;margin:6px 0 4px;font-size:14px;color:#8D9DB0}
html.cfs-lbx-open,html.cfs-lbx-open body.cfs-blogx{overflow:hidden!important}

/* ================================================================ Narrower screens */
@media (max-width:1200px){
body.cfs-blogx{--b-head:66px}
.cfs-bh .cfs-bh__in{grid-template-columns:minmax(0,1fr) 320px;gap:36px 48px}
.cfs-bh--cost .cfs-bh__in{grid-template-columns:minmax(0,1fr) 340px}
.cfs-bh--gallery .cfs-bh__in{grid-template-columns:minmax(0,1fr) 400px}
.cfs-bh--solo .cfs-bh__in{grid-template-columns:minmax(0,1fr)}
.cfs-bh--gallery:not(.cfs-bh--solo)::before{right:calc(20px + 400px + 24px)}
.cfs-bh h1.cfs-bh__h{font-size:48px}
html body .content-sidebar-wrap.cfs-bt-wrap{grid-template-columns:minmax(0,1fr) 300px;gap:0 48px}
html body .cfs-bt-wrap.cfs-bt-noside,html body .cfs-bt-wrap.cfs-bt-gallery{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:1024px){
/* One column: the right-hand card joins the text, in reading order */
.cfs-bh .cfs-bh__in,.cfs-bh--cost .cfs-bh__in,.cfs-bh--gallery .cfs-bh__in{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:calc(var(--b-head) + 28px) 20px 40px}
.cfs-bh .cfs-bh__txt{display:contents}
.cfs-bh--gallery:not(.cfs-bh--solo){background:var(--b-mist)}
.cfs-bh--gallery:not(.cfs-bh--solo)::before{content:none}
.cfs-bh .cfs-bh__crumbs{order:1}
.cfs-bh .cfs-bh__eb{order:2}
.cfs-bh h1.cfs-bh__h{order:3;font-size:44px}
.cfs-bh .cfs-bh__lead{order:4}
.cfs-bh .cfs-bh__stats{order:5}
.cfs-bh .cfs-bh__rev{order:6;margin-top:22px;max-width:560px}
.cfs-bh p.cfs-bh__meta{order:7}
.cfs-bh .cfs-bh__price{order:8;margin-top:22px;max-width:560px}
.cfs-bh .cfs-bh__cta{order:9}
.cfs-bh .cfs-bh__img{display:none}
html body .content-sidebar-wrap.cfs-bt-wrap{display:block;padding-bottom:48px}
html body .cfs-bt-wrap > main.content{max-width:780px}
html body .cfs-bt-wrap.cfs-bt-gallery > main.content{max-width:none}
.cfs-bt-wrap > aside.cfs-bside{display:block;max-width:560px;margin:40px 0 0}
.cfs-bt-wrap:has(#cfs-bt-c > .wpcf7) > aside.cfs-bside{display:none}
.cfs-bside nav.cfs-btoc{display:none}
.cfs-bside .cfs-bcb{gap:12px}
#cfs-bt-c > details.cfs-btoc-m{display:block;margin:0 0 30px;padding:0;border:1px solid var(--b-line);border-radius:12px;background:#fff;font-family:var(--b-sans)}
#cfs-bt-c > details.cfs-btoc-m > summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;margin:0;padding:0 16px;list-style:none;cursor:pointer;font:400 16px/1.2 var(--b-med);color:var(--b-ink)}
#cfs-bt-c > details.cfs-btoc-m > summary::-webkit-details-marker{display:none}
#cfs-bt-c > details.cfs-btoc-m > summary::after{content:"";flex:0 0 auto;width:9px;height:9px;margin:-4px 4px 0 0;border-right:2px solid var(--b-navy);border-bottom:2px solid var(--b-navy);transform:rotate(45deg);transition:transform .15s}
#cfs-bt-c > details.cfs-btoc-m[open] > summary::after{margin-top:4px;transform:rotate(-135deg)}
#cfs-bt-c > details.cfs-btoc-m .cfs-btoc-m__n{margin-left:auto;font:400 13.5px/1.2 var(--b-sans);color:var(--b-muted)}
#cfs-bt-c > details.cfs-btoc-m > ol{margin:0;padding:6px 16px 10px;list-style:none;border-top:1px solid var(--b-line)}
#cfs-bt-c > details.cfs-btoc-m > ol > li{margin:0;padding:0;list-style:none}
#cfs-bt-c > details.cfs-btoc-m > ol > li::marker{content:none}
#cfs-bt-c > details.cfs-btoc-m > ol > li + li{border-top:1px solid var(--b-mist2)}
#cfs-bt-c > details.cfs-btoc-m a{display:block;padding:11px 0;font:400 15.5px/1.4 var(--b-sans);color:var(--b-ink);text-decoration:none}
#cfs-bt-c > details.cfs-btoc-m a:hover{color:var(--b-link)}
}
@media (max-width:782px){
body.admin-bar nav.cfs-gnav{top:var(--b-head)}
}
@media (max-width:767px){
body.cfs-blogx{--b-gnav:58px}
html body .site-inner:has(> .cfs-bt-wrap){padding-top:6px!important}
.cfs-bh .cfs-bh__in,.cfs-bh--cost .cfs-bh__in,.cfs-bh--gallery .cfs-bh__in{padding:calc(var(--b-head) + 20px) 20px 28px}
.cfs-bh .cfs-bh__crumbs .breadcrumb-inner{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cfs-bh .cfs-bh__crumbs,.cfs-bh .cfs-bh__crumbs *{font-size:13px!important}
.cfs-bh .cfs-bh__eb{margin-top:18px}
.cfs-bh a.cfs-bh__chip{min-height:28px;padding:0 12px;font-size:13px}
.cfs-bh .cfs-bh__kick{font-size:12px}
.cfs-bh h1.cfs-bh__h{margin-top:12px;font-size:36px;line-height:1.08;letter-spacing:-.01em}
.cfs-bh .cfs-bh__lead{font-size:17px}
.cfs-bh .cfs-bh__stats{gap:10px 26px;margin-top:16px}
.cfs-bh .cfs-bh__stats b{font-size:34px}
.cfs-bh .cfs-bh__stats p{font-size:13.5px}
.cfs-bh p.cfs-bh__meta{margin-top:14px;font-size:14px;line-height:1.55}
.cfs-bh .cfs-bh__cta{flex-direction:column;gap:10px;margin-top:20px}
.cfs-bh a.cfs-bh__btn{width:100%;white-space:normal}
/* Reviewer: a compact card */
.cfs-bh .cfs-bh__rev{margin-top:18px;padding:14px 16px;border-radius:12px;box-shadow:0 8px 24px rgba(13,44,77,.10)}
.cfs-bh p.cfs-bh__rl{font-size:11.5px}
.cfs-bh .cfs-bh__rr{gap:12px;margin-top:10px}
.cfs-bh .cfs-bh__rr > :is(img,picture),.cfs-bh .cfs-bh__rr img{width:48px!important;height:48px!important}
.cfs-bh p.cfs-bh__rn{font-size:18px}
.cfs-bh p.cfs-bh__rt{margin-top:2px;font-size:13.5px}
.cfs-bh .cfs-bh__rf{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:12px;padding-top:10px;font-size:13px}
.cfs-bh .cfs-bh__rev a.cfs-bh__go{margin-top:0;font-size:14px}
.cfs-bh .cfs-bh__price{margin-top:18px;padding:18px 18px 16px;border-radius:14px;box-shadow:0 8px 24px rgba(13,44,77,.10)}
.cfs-bh p.cfs-bh__pl{font-size:12px}
.cfs-bh p.cfs-bh__pn{margin-top:8px;font-size:15.5px}
.cfs-bh p.cfs-bh__pn b{font-size:46px}
.cfs-bh .cfs-bh__price a.cfs-bh__go{margin-top:10px;min-height:40px}
.cfs-bh p.cfs-bh__fin{margin-top:10px;padding-top:12px;font-size:14px}
.cfs-gnav a{min-height:40px;padding:0 14px;font-size:14px}
html body .content-sidebar-wrap.cfs-bt-wrap{padding-bottom:36px}
#cfs-bt-c{font-size:17px;line-height:1.7}
#cfs-bt-c > p,#cfs-bt-c .cfs-faq-i > p{margin-bottom:20px}
#cfs-bt-c > h2{margin:40px 0 14px;font-size:30px;line-height:1.15}
#cfs-bt-c > h3{margin:28px 0 10px;font-size:21px}
#cfs-bt-c > :is(ul,ol){padding-left:20px}
#cfs-bt-c figure{margin:4px 0 28px}
#cfs-bt-c figcaption{font-size:13.5px}
#cfs-bt-c .cfs-kp{margin-bottom:32px;padding:20px 18px}
#cfs-bt-c .cfs-kp > h2{font-size:23px}
#cfs-bt-c .cfs-kp > ul{gap:10px}
#cfs-bt-c .cfs-kp > ul > li{padding-left:22px;font-size:16px}
#cfs-bt-c .cfs-kp > ul > li::before{width:8px;height:8px}
#cfs-bt-c .cfs-faq-i{padding:16px 16px 2px}
#cfs-bt-c .cfs-faq-i > h3{font-size:18.5px}
#cfs-bt-c .cfs-faq-i > p{font-size:16px}
#cfs-bt-c > .wpcf7{margin:34px 0;padding:20px 18px 4px}
#cfs-bt-c > .wpcf7 h3.form-header{font-size:27px}
/* Tables: two-column tables become name-and-price rows, wider ones scroll sideways */
#cfs-bt-c table{font-size:15px}
#cfs-bt-c table :is(th,td){padding:12px 14px!important}
#cfs-bt-c table th{font-size:12.5px}
#cfs-bt-c table:not(:has(tr > :nth-child(3))) :is(thead,tbody,tfoot){display:block}
#cfs-bt-c table:not(:has(tr > :nth-child(3))){display:block}
#cfs-bt-c table:not(:has(tr > :nth-child(3))) tr{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
#cfs-bt-c table:not(:has(tr > :nth-child(3))) tr > *{display:block;flex:1 1 auto;min-width:0}
#cfs-bt-c table:not(:has(tr > :nth-child(3))) tr > :last-child:not(:first-child){flex:0 0 auto;max-width:48%;white-space:normal}
#cfs-bt-c table:not(:has(tr > :nth-child(3))) tbody > tr:nth-child(even){background:var(--b-mist2)}
#cfs-bt-c table:not(:has(tr > :nth-child(3))) thead + tbody > tr:first-child,#cfs-bt-c table:not(:has(tr > :nth-child(3))) tbody > tr:not(:first-child){border-top:1px solid var(--b-line)}
#cfs-bt-c table:not(:has(tr > :nth-child(3))) td{border-top:0!important;background:transparent!important}
#cfs-bt-c table:not(:has(tr > :nth-child(3))) thead > tr{background:var(--b-navy)}
#cfs-bt-c table:has(tr > :nth-child(3)){display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
#cfs-bt-c table:has(tr > :nth-child(3)) :is(th,td){min-width:130px}
/* Galleries: one photo per row */
.cfs-bt-gallery #cfs-bt-c > h2{margin-top:44px;font-size:29px;line-height:1.14}
#cfs-bt-c .cfs-gg{grid-template-columns:minmax(0,1fr);gap:22px;margin-top:18px}
#cfs-bt-c .cfs-gg figcaption{font-size:14px}
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper{margin:36px 0 4px;padding:20px 16px 18px;border-radius:14px}
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper h3.share-this-post{font-size:25px}
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper p.cfs-shr__p{font-size:15px}
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper .social-icons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper .share-btn{width:100%;height:44px;padding:0 8px;font-size:14.5px;gap:7px}
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper .share-btn.share-native{height:48px;margin-top:16px}
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper .share-native + .social-icons{margin-top:8px}
.cfs-lbx{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:56px minmax(0,1fr) auto auto;padding:10px}
.cfs-lbx figure{grid-column:1 / -1}
.cfs-lbx .cfs-lbx__x{grid-column:2;justify-self:end}
.cfs-lbx .cfs-lbx__p{grid-column:1;grid-row:3;justify-self:end;margin-right:12px}
.cfs-lbx .cfs-lbx__n{grid-column:2;grid-row:3;justify-self:start;margin-left:12px}
.cfs-lbx .cfs-lbx__c{grid-row:4}
.cfs-lbx img{max-height:calc(100vh - 230px)}
}
@media (prefers-reduced-motion:reduce){
.cfs-bh a,.cfs-gnav a,.cfs-btoc a,.cfs-btoc .cfs-btoc__bar i{transition:none}
}
@media (min-width:768px) and (max-width:1023px){
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper .social-icons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper .share-btn{width:100%}
}
@media (max-width:479px){
html body.cfs-blogx.single .cfs-bt-wrap .social-share-wrapper .social-icons{grid-template-columns:repeat(2,minmax(0,1fr))}
}
