/*
Theme Name: CVPcoaching
Description: Custom lightweight theme recreating the cvpcoaching.ca Wix design. No page builder, no external requests.
Version: 1.6.51
Requires PHP: 8.0
Text Domain: cvp
*/

/* Wix headings are Futura Book with a synthesized bold; only the Book face is declared so weight 700 is synthesized the same way. */
@font-face{font-family:'Futura PT';src:url(assets/fonts/futura-pt-book.ttf) format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Futura PT';src:url(assets/fonts/futura-pt-demi.ttf) format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Futura PT';src:url(assets/fonts/futura-pt-medium.ttf) format('truetype');font-weight:500;font-style:normal;font-display:swap}
/* Wix body text is Avenir LT 35 Light with synthesized bold/italic; same approach here. */
@font-face{font-family:'Avenir LT';src:url(assets/fonts/avenir-lt-light.otf) format('opentype');font-weight:400;font-style:normal;font-display:swap}
/* Measurements below were taken from the live Wix site at 1920px (see docs). */
:root{
  --sage:#bdcccb; --mint:#d4e0cb; --blush:#f8dbe0; --mist:#ebe8e8; --photo:#ccc6c6; --ink:#000; --link:#0069ff;
  --f-head:'Futura PT','Jost','Futura','Century Gothic',sans-serif;
  --f-body:'Avenir LT','Mulish','Avenir','Avenir Next',sans-serif;
  --f-serif:'Playfair Display',Georgia,serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--f-body);font-weight:400;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
.wp-block-group>.wp-block-group__inner-container{display:contents} /* WP wraps group children; flatten so our grids/flex apply */
a{color:inherit}
h1,h2,h3{font-family:var(--f-head);font-weight:400;margin:0}
/* Futura PT sets ~10% narrower than the Futura LT on Wix; this tracking reproduces Wix's line widths (headline 845px, subtitle 478px). */
h1,h2,h3,.cvp-sub,.cvp-slide blockquote,.cvp-circles b{letter-spacing:.045em}
/* Demi is a true bold and already as wide as Wix's headings, so bold headings need no added tracking */
.cvp-hero h1,.cvp-learn h2,.cvp-page h1,.cvp-connect-band h2,.cvp-contact-cols h3,.cvp-quote--page blockquote{letter-spacing:0}
p{margin:0}
.screen-reader-text{position:absolute;left:-9999px}
.skip-link:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:100}

/* ---- header ---- */
.cvp-top{background:radial-gradient(circle at 94.35% 89.6%,#000 0,rgba(0,0,0,0) 40%),radial-gradient(circle at 6.5% 88%,rgba(137,157,163,.99) 0,rgba(137,157,163,0) 50%),radial-gradient(circle at 6.2% 12.6%,#927468 0,rgba(146,116,104,0) 70%),linear-gradient(90deg,#8e9ea1 0,#d9bcb8 55%,#e6d4ce 100%)}
.cvp-nav{background:rgba(255,255,255,.62);height:88px}
.cvp-nav__in{height:100%;display:flex;align-items:center;padding-left:4.5px}
.cvp-nav ul{list-style:none;margin:0;padding:0;display:flex}
.cvp-nav li a{display:block;padding:14px 51.5px;text-decoration:none;font-size:14px;line-height:31px;color:#000;white-space:nowrap}
.cvp-nav li.current-menu-item a,.cvp-nav li.current_page_item a{color:#899da3}
.cvp-nav li a{transition:color .25s}.cvp-nav li a:hover,.cvp-nav li a:focus-visible{color:#899da3;text-decoration:none}
.cvp-burger{display:none;background:none;border:0;font-size:28px;padding:8px;margin-left:auto;cursor:pointer}
.cvp-banner{display:flex;justify-content:center;align-items:center;gap:14px;min-height:194px;padding:6px 16px;color:#e8eff1;font-family:var(--f-serif);font-weight:700;letter-spacing:.12em}
.cvp-banner p{margin:0}
.cvp-banner__title{flex:0 0 min-content;font-size:33px;line-height:1.37;text-transform:uppercase;letter-spacing:.14em} /* one word per line, as on Wix */
.cvp-banner__msg{flex:0 1 618px;font-size:27px;line-height:1.42;text-align:center;letter-spacing:.19em}

/* ---- hero ---- */
.cvp-hero{text-align:center;padding:0 16px 24px}
.cvp-hero h1{font-weight:700;font-size:clamp(44px,6.6vw,126px);line-height:1.35}
.cvp-hero figure{margin:-42px auto -18px;position:relative}
.cvp-hero figure img{width:327px;height:327px;object-fit:cover;margin:0 auto}
.cvp-hero .cvp-sub{position:relative;font-family:var(--f-head);font-weight:500;letter-spacing:0;line-height:clamp(33px,2.83vw,54px);font-size:clamp(22px,2.06vw,39.2px)}

/* ---- packages ---- */
.cvp-tiles{display:grid;grid-template-columns:repeat(4,1fr);min-height:408px}
.cvp-tile{padding:54px 6% 30px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.cvp-tile:nth-child(1){background:var(--sage)}
.cvp-tile:nth-child(2){background:#fff}
.cvp-tile:nth-child(3){background:var(--mint)}
.cvp-tile:nth-child(4){background:var(--blush)}
.cvp-tile .cvp-n{font:700 38px/49px var(--f-head);letter-spacing:0;color:#000;margin:0}
.cvp-tile h2{font-size:37.6px;line-height:49px;font-weight:500;letter-spacing:0;color:#000;max-width:196px;margin:0 0 10px}
.cvp-tile p{max-width:215px;line-height:1.3;margin-bottom:20px}
.cvp-tile p:last-child{margin-bottom:0}
.cvp-tile a,.cvp-student a,.cvp-more a{text-decoration:none;padding-bottom:5px;background:linear-gradient(#000,#000) no-repeat center bottom/78px 1px}
.cvp-student{padding-right:70px!important;display:flex;gap:36px;align-items:center;justify-content:center;flex-wrap:wrap;text-align:center;padding:0 16px;min-height:99px}
.cvp-student h2{font-size:38.7px;color:#000;font-weight:500;letter-spacing:0}
.cvp-student p{line-height:1.3;max-width:425px}
.cvp-student small{font-size:10px;font-weight:700;display:block;margin-top:2px}
.cvp-student__cta{font-weight:700}

/* ---- approach / about ---- */
.cvp-duo{display:grid;grid-template-columns:50% 24.9% 25.1%;grid-template-rows:minmax(0,1fr);background:var(--mist);align-items:center;height:507px;overflow:hidden}
.cvp-duo>.wp-block-group__inner-container>div{padding:66px 0 40px;text-align:center}
.cvp-duo>.wp-block-group__inner-container>div:first-child{padding-inline:26%}
.cvp-duo>.wp-block-group__inner-container>div:last-child{padding-inline:122px}
.cvp-duo h2{font-size:38.7px;line-height:49px;font-weight:500;letter-spacing:0;margin-bottom:32px}
.cvp-duo p{line-height:1.5;margin-bottom:22px}
.cvp-duo p:last-child{margin-bottom:0}.cvp-duo .cvp-more{margin-top:-6px}
.cvp-duo figure{margin:0;padding:0!important;align-self:stretch;background:var(--photo)}
.cvp-duo figure img{width:100%;height:100%;object-fit:cover}

/* ---- learning you ---- */
.cvp-learn{max-width:478px;margin:0 auto;padding:42px 0 40px;min-height:794px}
.cvp-learn h2{text-align:center;font-weight:700;font-size:38px;line-height:51px;margin-bottom:29px}
.cvp-learn p{margin:0 0 28px;font-size:18px;line-height:1.4}
.cvp-circles{list-style:none;padding:0;margin:56px 0 40px calc(50% - 370px);width:740px;display:flex;justify-content:center;text-align:center}
.cvp-circles li{width:148px;font-size:15px;line-height:1.5}
.cvp-circles b{display:grid;place-items:center;width:61px;height:61px;margin:0 auto 14px;border-radius:50%;font:400 36px/1 var(--f-head)}
.cvp-circles li:nth-child(1) b{background:#9fb3b0}.cvp-circles li:nth-child(2) b{background:#e9e9e9}.cvp-circles li:nth-child(3) b{background:#c9d9c1}.cvp-circles li:nth-child(4) b{background:#f6d4da}.cvp-circles li:nth-child(5) b{background:#cac3c3}
.cvp-learn .cvp-cta-text{text-align:center;font-weight:700;color:#000;font-size:18px;line-height:1.6;margin:0 -80px 24px}
.cvp-learn .cvp-center:last-child{margin-bottom:0}
.cvp-btn{display:inline-block;padding:13px 20px;border-radius:25px;text-decoration:none;text-transform:uppercase;font:400 16px/1.1 Arial,Helvetica,sans-serif;letter-spacing:.8px;color:var(--link);background:linear-gradient(135deg,#d6c0bc,#c9d4dc 50%,#d6c0bc);transition:transform .2s,box-shadow .2s}
.cvp-btn:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(0,0,0,.18)}
.cvp-center{text-align:center}

/* ---- testimonial slider ---- */
.cvp-quote{background:var(--mint);text-align:center;padding:60px 16px 50px;min-height:538px;display:flex;flex-direction:column;align-items:center}
.cvp-slider{position:relative;width:min(100%,1000px);flex:1}
.cvp-slide{display:none;margin:0;padding:0 70px}
.cvp-slide.is-active{display:block}
.cvp-slide blockquote{margin:0 auto;max-width:706px;font-family:var(--f-head);font-size:clamp(22px,1.9vw,36px);line-height:1.17;text-align:center}
.cvp-slide blockquote.is-long{font-size:clamp(15px,1.15vw,22px);line-height:1.5;text-align:center;max-width:700px}
.cvp-slide blockquote p{margin:0 0 1.2em}
.cvp-slide blockquote p:last-child{margin:0}
.cvp-slide cite{display:block;margin-top:30px;font-style:normal;font-size:15px}
.cvp-slider::before,.cvp-slider::after{position:absolute;top:-6px;font:700 90px/1 var(--f-serif);color:#000}
.cvp-slider::before{content:"\201C";left:0}.cvp-slider::after{content:"\201D";right:0}
.cvp-dots{display:flex;gap:10px;justify-content:center;margin-top:22px}
.cvp-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.25);cursor:pointer}
.cvp-dots button[aria-current=true]{background:#000}
.cvp-dots button:focus-visible{outline:2px solid #0069ff;outline-offset:3px}

/* ---- inner pages ---- */
.cvp-page{max-width:900px;margin:0 auto;padding:72px 20px 0}
.cvp-page h1{font-size:38px;line-height:51px;font-weight:700;margin-bottom:63px;text-align:center}
.cvp-page p{font-size:15px;line-height:21px;margin:0 0 21px}
.cvp-prose{max-width:698px;margin:0 auto}
.cvp-main--about-me{background:#f0eded;min-height:1134px}
.cvp-main--about-me .cvp-prose p:nth-child(3){margin-bottom:0} /* Wix has no gap between these two paragraphs */
.cvp-main--my-approach{background:#f7f6f6;min-height:720px}
.cvp-main--my-approach .cvp-page{padding-top:70px}
.cvp-main--my-approach .cvp-page h1{margin-bottom:66px}
.cvp-main--testimonials{min-height:1115px}
.cvp-main--connect-me{min-height:1059px}

/* About: bulleted themes beside the photo */
.cvp-about-grid{display:grid;grid-template-columns:326px 375px;gap:25px;width:726px;max-width:100%;margin:65px 0 40px calc(50% - 349px)}
.cvp-about-list{margin:0 0 18px;padding-left:27px;list-style:disc;font-size:15px}
.cvp-about-list li{line-height:18px;margin:0 0 18px;font-weight:700}
.cvp-about-list li ul{margin:0;padding-left:27px;list-style:circle}
.cvp-about-list li li{font-weight:400;margin:0}
.cvp-about-text p{margin:0}
.cvp-about-photo{margin:0}
.cvp-about-photo img{width:375px;height:376px;object-fit:cover}

/* Testimonials page */
.cvp-main--testimonials .cvp-page{max-width:none;padding:96px 0 6px}
.cvp-main--testimonials .cvp-page h1{font-size:56px;line-height:75px;margin-bottom:65px}
.cvp-testi-intro{max-width:606px;margin:0 auto 74px!important;text-align:center;font-size:18px!important;line-height:30.4px!important}
.cvp-quote--page{background:#899da3;color:#fff;min-height:647px;padding:0 16px 40px;position:relative;margin:0}
.cvp-quote--page .cvp-slider{width:min(100%,900px)}
.cvp-quote--page .cvp-slider::before,.cvp-quote--page .cvp-slider::after{content:none}
.cvp-quote--page .cvp-slide{padding:244px 0 0;position:relative}
.cvp-quote--page blockquote p{font-size:inherit;line-height:inherit;margin:0 0 1.2em}
.cvp-quote--page blockquote p:last-child{margin:0}
.cvp-quote--page .cvp-slide::before{content:"\201C";position:absolute;top:142px;left:50%;transform:translateX(-50%);font:400 64px/1 var(--f-serif)}
.cvp-quote--page blockquote{font-size:38px;line-height:1.39;font-weight:700;max-width:761px}
.cvp-quote--page blockquote.is-long{font-size:23px;line-height:1.55;font-weight:400;text-align:center;max-width:761px}
.cvp-quote--page cite{font:400 18px var(--f-head);margin-top:34px}
.cvp-quote--page .cvp-dots button{background:rgba(255,255,255,.4)}
.cvp-quote--page .cvp-dots button[aria-current=true]{background:#fff}
.cvp-arrow{position:absolute;top:50%;width:48px;height:64px;margin-top:-32px;background:none;border:0;color:#fff;font-size:30px;cursor:pointer;opacity:.9}
.cvp-prev{left:24px}.cvp-next{right:24px}
.cvp-arrow:hover{opacity:1}.cvp-arrow:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* Connect page */
.cvp-main--connect-me .cvp-page{max-width:none;padding:0}
.cvp-connect-intro{max-width:940px;margin:0 auto;padding:88px 0 73px}
.cvp-connect-intro h1{font-size:56px;line-height:75px;text-align:left;margin:0 0 13px}
.cvp-connect-intro p{font-size:20px;line-height:30px;margin:0;max-width:669px}
.cvp-connect-band{background:#f3f1f1;min-height:614px;padding:80px 0 93px}
.cvp-connect-band>.wp-block-group__inner-container,.cvp-connect-band>*{max-width:940px;margin-left:auto;margin-right:auto}
.cvp-connect-band>.wp-block-group__inner-container{display:block}
.cvp-connect-band h2{font-size:38px;line-height:53px;font-weight:700;margin:0 0 48px;padding-left:7px}
.cvp-contact-cols{display:grid;grid-template-columns:repeat(3,319.5px);padding-left:8px;margin-bottom:50px}
.cvp-contact-cols h3{font-size:16px;line-height:22px;font-weight:700;margin:0 0 9px}
.cvp-contact-cols p{font-size:16px;line-height:29px;margin:0}
.cvp-contact-cols .cvp-social{margin:0}

/* ---- forms ---- */
.cvp-form{display:grid;gap:18px;max-width:640px}
.cvp-form label{display:block;font-size:15px}
.cvp-form input[type=text],.cvp-form input[type=email],.cvp-form input[type=tel],.cvp-form textarea{width:100%;border:0;border-bottom:1px solid #000;background:transparent;font:inherit;font-size:16px;padding:8px 2px;border-radius:0}
.cvp-form textarea{border:1px solid #000;min-height:140px;padding:8px}
.cvp-form input:focus,.cvp-form textarea:focus{outline:2px solid #0069ff;outline-offset:2px}
.cvp-form button{justify-self:center;background:none;border:0;color:#000;font:inherit;font-size:15px;padding:6px 20px;cursor:pointer;transition:color .25s}
.cvp-form button:not(.cvp-cc):hover,.cvp-form button:not(.cvp-cc):focus-visible{color:#9ccbe0}
.cvp-form .cvp-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.cvp-form .cvp-check{display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.cvp-form .cvp-check input{margin-top:4px}
.cvp-form--wide{grid-template-columns:repeat(3,250px);gap:10px 20px;max-width:790px;margin-left:4px}
.cvp-form--wide label{font-size:14px;line-height:14px}
.cvp-form--wide input[type=text],.cvp-form--wide input[type=email],.cvp-form--wide textarea{display:block;margin-top:9px;height:37px;background:#fff;border:1px solid #000;padding:6px 8px;font-size:14px}
.cvp-form--wide textarea{height:86px;min-height:0}
.cvp-form--wide .cvp-wide{grid-column:1/-1}
.cvp-form--wide button{grid-column:3;justify-self:stretch;height:36px;margin-top:5px;background:#fff;border:1px solid #000;font:400 13px Arial,Helvetica,sans-serif;padding:0}
.cvp-form--wide button:hover{background:#000;color:#fff}
.cvp-notice{padding:12px 16px;margin:0 0 18px;border-left:4px solid #5a8a5a;background:#eef5ee;font-size:15px}
.cvp-notice.is-error{border-color:#b33;background:#f9eaea}

/* ---- footer ---- */
.cvp-foot{max-width:910px;margin:0 auto;padding:56px 20px 100px;min-height:653px;align-content:start;display:grid;grid-template-columns:230px 268px 1fr;gap:0;font-size:15px;line-height:1.5}
.cvp-foot p{margin:0 0 24px}
.cvp-foot .cvp-form{gap:26px}
.cvp-social{display:flex;gap:10px;margin-top:6px}
.cvp-social img{width:27px;height:27px}

/* ---- responsive ---- */
@media(max-width:1280px){
  .cvp-nav li a{padding:14px 26px}
  .cvp-duo>div:last-child{padding-inline:7%}
}
@media(max-width:1024px){
  .cvp-main--about-me,.cvp-main--my-approach,.cvp-main--testimonials,.cvp-main--connect-me{min-height:0}
  .cvp-about-grid{width:auto;margin:30px auto 40px;grid-template-columns:1fr 375px;max-width:700px}
  .cvp-connect-intro,.cvp-connect-band>.wp-block-group__inner-container{padding-inline:24px}
  .cvp-contact-cols{grid-template-columns:repeat(3,1fr)}
  .cvp-form--wide{grid-template-columns:repeat(3,1fr);margin-inline:0}
  .cvp-duo{height:auto;overflow:visible}.cvp-learn,.cvp-foot{min-height:0}
  .cvp-nav li a{padding:14px 14px}
  .cvp-banner{flex-direction:column;gap:12px;text-align:center;padding:20px}
  .cvp-banner__title{flex:none;font-size:26px}.cvp-banner__msg{flex:none;font-size:22px}
  .cvp-tiles{grid-template-columns:1fr 1fr}
  .cvp-duo{grid-template-columns:1fr}.cvp-duo figure{max-height:520px}
  .cvp-duo>.wp-block-group__inner-container>div:first-child,.cvp-duo>.wp-block-group__inner-container>div:last-child{padding:40px 8%}
  .cvp-foot{grid-template-columns:1fr 1fr;gap:20px}.cvp-foot>:last-child{grid-column:1/-1}
}
@media(max-width:767px){
  .cvp-page{padding:40px 20px 40px}.cvp-page h1{font-size:32px;line-height:1.2;margin-bottom:28px}
  .cvp-about-grid{grid-template-columns:1fr;margin-inline:auto;width:100%}
  .cvp-about-photo img{width:100%;height:auto;aspect-ratio:375/376}
  .cvp-main--testimonials .cvp-page{padding:48px 0 0}.cvp-main--testimonials .cvp-page h1{font-size:36px;margin-bottom:28px}
  .cvp-testi-intro{padding:0 20px;margin-bottom:40px!important;font-size:16px!important}
  .cvp-quote--page{min-height:0;padding-bottom:30px}.cvp-quote--page .cvp-slide{padding:90px 36px 0}
  .cvp-quote--page .cvp-slide::before{top:30px}.cvp-quote--page blockquote{font-size:22px}.cvp-quote--page blockquote.is-long{font-size:17px}
  .cvp-arrow{width:32px;font-size:24px}.cvp-prev{left:0}.cvp-next{right:0}
  .cvp-connect-intro{padding-top:40px}.cvp-connect-intro h1{font-size:40px;line-height:1.2}.cvp-connect-intro p{font-size:17px;line-height:26px}
  .cvp-connect-band{padding:40px 0 50px;min-height:0}.cvp-connect-band h2{font-size:30px}
  .cvp-contact-cols{grid-template-columns:1fr;gap:18px;padding-left:0}
  .cvp-form--wide{grid-template-columns:1fr}.cvp-form--wide button{grid-column:1}
  .cvp-burger{display:block}
  .cvp-nav{height:auto;min-height:64px}.cvp-nav__in{flex-wrap:wrap;padding:6px 12px}
  .cvp-nav ul{display:none;width:100%;flex-direction:column}.cvp-nav.is-open ul{display:flex}
  .cvp-nav li a{padding:12px 6px}
  .cvp-tiles{grid-template-columns:1fr}.cvp-tile{min-height:300px}
  .cvp-hero figure img{width:240px;height:240px}
  .cvp-circles{width:auto;margin:28px 0;flex-wrap:wrap;gap:16px}
  .cvp-learn .cvp-cta-text{margin-inline:0}
  .cvp-foot,.cvp-contact-cols{grid-template-columns:1fr}
  .cvp-student{flex-direction:column;gap:12px;padding:20px 16px}
  .cvp-slide{padding:0 8px}.cvp-slider::before,.cvp-slider::after{display:none}
  .cvp-quote{min-height:0}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---- phones: reproduces Wix's mobile layout, designed at 320px and scaled to the viewport ---- */
@media(max-width:600px){
  :root{--u:calc(100vw / 320)}
  html,body{overflow-x:hidden}
  body{display:flex;flex-direction:column}
  .cvp-top,.cvp-main--home,.cvp-duo,.cvp-tiles{display:contents}

  /* order: nav, name+logo, banner, approach, photo, about, tiles, student, learning, testimonials, footer */
  .cvp-nav{order:1}.cvp-hero{order:2}.cvp-banner{order:3}
  .cvp-duo>.wp-block-group__inner-container>div:first-child{order:4}
  .cvp-duo>.wp-block-group__inner-container>figure{order:5}
  .cvp-duo>.wp-block-group__inner-container>div:last-child{order:6}
  .cvp-tile:nth-child(1){order:7}.cvp-tile:nth-child(2){order:8}.cvp-tile:nth-child(3){order:9}.cvp-tile:nth-child(4){order:10}
  .cvp-student{order:11}.cvp-learn{order:12}.cvp-main--home .cvp-quote{order:13}.cvp-footer{order:14}
  .cvp-main:not(.cvp-main--home){order:2}

  .cvp-nav{height:calc(var(--u)*91);min-height:0;background:linear-gradient(90deg,#cfc8c9,#ead9d8 60%,#d9b8b2)}
  .cvp-nav__in{padding:0 calc(var(--u)*14) 0 0;justify-content:flex-end}
  .cvp-burger{font-size:calc(var(--u)*34);line-height:1;margin:0}
  .cvp-nav.is-open{height:auto;min-height:calc(var(--u)*91)}
  .cvp-nav.is-open .cvp-nav__in{flex-direction:column;align-items:flex-end;padding-bottom:12px}
  .cvp-nav li a{padding:12px 20px;font-size:calc(var(--u)*15)}

  .cvp-hero{padding:calc(var(--u)*9) 0 calc(var(--u)*20)}
  .cvp-hero h1{font-size:calc(var(--u)*37);line-height:calc(var(--u)*50)}
  .cvp-hero figure{margin:0 auto calc(var(--u)*-13)}
  .cvp-hero figure img{width:calc(var(--u)*193);height:calc(var(--u)*195)}
  .cvp-hero .cvp-sub{font-size:calc(var(--u)*19);line-height:calc(var(--u)*26)}

  .cvp-banner{display:block;min-height:calc(var(--u)*320);padding:calc(var(--u)*12) calc(var(--u)*30) 0;text-align:center;
    background:radial-gradient(circle at 94% 92%,#000 0,rgba(0,0,0,0) 45%),radial-gradient(circle at 6% 92%,rgba(137,157,163,.95) 0,rgba(137,157,163,0) 55%),radial-gradient(circle at 10% 8%,#a77468 0,rgba(167,116,104,0) 70%),#c08f87}
  .cvp-banner__title{font-size:calc(var(--u)*23);line-height:calc(var(--u)*31.7);letter-spacing:.11em;max-width:calc(var(--u)*270);margin:0 auto calc(var(--u)*17)}
  .cvp-banner__msg{font-size:calc(var(--u)*22);line-height:calc(var(--u)*30);letter-spacing:.1em;max-width:calc(var(--u)*270);margin:0 auto}

  .cvp-duo>.wp-block-group__inner-container>div{background:var(--mist);padding:calc(var(--u)*37) calc(var(--u)*21) calc(var(--u)*34)!important}
  .cvp-duo>.wp-block-group__inner-container>div:first-child{min-height:calc(var(--u)*469)}
  .cvp-duo>.wp-block-group__inner-container>div:last-child{min-height:calc(var(--u)*420)}
  .cvp-duo h2{font-size:calc(var(--u)*19);line-height:calc(var(--u)*26);margin-bottom:calc(var(--u)*18)}
  .cvp-duo p{font-size:calc(var(--u)*15);line-height:1.5;margin-bottom:calc(var(--u)*24)}
  .cvp-duo>.wp-block-group__inner-container>figure{height:calc(var(--u)*273);background:var(--photo)}
  .cvp-duo>.wp-block-group__inner-container>figure img{height:100%}

  .cvp-tile{min-height:calc(var(--u)*281);padding:calc(var(--u)*34) calc(var(--u)*24) calc(var(--u)*24);justify-content:flex-start}
  .cvp-tile .cvp-n{font-size:calc(var(--u)*15);line-height:calc(var(--u)*22)}
  .cvp-tile h2{font-size:calc(var(--u)*19);line-height:calc(var(--u)*26);max-width:calc(var(--u)*75);margin-bottom:calc(var(--u)*26)}
  .cvp-tile:nth-child(2) h2{max-width:none}
  .cvp-tile p{font-size:calc(var(--u)*15);line-height:calc(var(--u)*19.5);max-width:calc(var(--u)*270);margin-bottom:calc(var(--u)*18)}

  .cvp-student{min-height:calc(var(--u)*222);padding:calc(var(--u)*20) calc(var(--u)*28);gap:calc(var(--u)*12)}
  .cvp-student h2{font-size:calc(var(--u)*19);line-height:calc(var(--u)*26)}
  .cvp-student p{font-size:calc(var(--u)*15);line-height:calc(var(--u)*19.5)}
  .cvp-student small{font-size:calc(var(--u)*11)}

  .cvp-learn{min-height:calc(var(--u)*1451);padding:calc(var(--u)*38) calc(var(--u)*20) calc(var(--u)*30);max-width:none}
  .cvp-learn h2{font-size:calc(var(--u)*20);line-height:calc(var(--u)*27);margin-bottom:calc(var(--u)*18)}
  .cvp-learn p{font-size:calc(var(--u)*18);line-height:calc(var(--u)*25.2);margin-bottom:calc(var(--u)*26)}
  .cvp-circles{display:block;width:auto;margin:calc(var(--u)*34) 0 calc(var(--u)*10)}
  .cvp-circles li{width:auto;margin-bottom:calc(var(--u)*34);font-size:calc(var(--u)*15)}
  .cvp-circles b{width:calc(var(--u)*56);height:calc(var(--u)*56);font-size:calc(var(--u)*30);margin-bottom:calc(var(--u)*10)}
  .cvp-learn .cvp-cta-text{font-size:calc(var(--u)*18);line-height:calc(var(--u)*26);margin:0 auto calc(var(--u)*20)}
  .cvp-btn{font-size:calc(var(--u)*16)}

  .cvp-main--home .cvp-quote{min-height:calc(var(--u)*574);padding:calc(var(--u)*40) calc(var(--u)*20) calc(var(--u)*30)}
  .cvp-main--home .cvp-slider::before{display:block;content:"\201C";position:static;font:700 calc(var(--u)*60)/1 var(--f-serif);margin-bottom:calc(var(--u)*14)}
  .cvp-main--home .cvp-slide{padding:0}
  .cvp-main--home .cvp-slide blockquote{font-size:calc(var(--u)*19);line-height:calc(var(--u)*26);max-width:none}
  .cvp-main--home .cvp-slide blockquote.is-long{font-size:calc(var(--u)*16);line-height:calc(var(--u)*24)}
  .cvp-main--home .cvp-slide cite{font-size:calc(var(--u)*15);margin-top:calc(var(--u)*20)}

  .cvp-foot{display:block;min-height:calc(var(--u)*965);padding:calc(var(--u)*30) calc(var(--u)*20) calc(var(--u)*60);font-size:calc(var(--u)*15)}
  .cvp-foot>div{margin-bottom:calc(var(--u)*18)}
  .cvp-foot p{margin-bottom:calc(var(--u)*18)}
}

/* ===== v1.6: auto-rotating testimonials, footer bar, Log In, phone dropdown, chat, reveal ===== */
@font-face{font-family:'Twemoji Country Flags';unicode-range:U+1F1E6-1F1FF,U+1F3F4,U+E0062-E007F;src:url(assets/fonts/twemoji-flags.woff2) format('woff2');font-display:swap}

/* testimonials: slide out to the left, next one slides in (2s ease-in-out-expo), each with its own background */
.cvp-quote{position:relative;overflow:hidden;padding:0;min-height:0;display:block;text-align:center}
.cvp-slider,.cvp-slider::before,.cvp-slider::after{position:static}
.cvp-slider{display:grid;width:100%;flex:none}
.cvp-slider::before,.cvp-slider::after{content:none!important}
.cvp-slide{grid-area:1/1;display:flex;flex-direction:column;justify-content:center;align-items:center;margin:0;padding:56px 16px 72px;min-height:538px;background:var(--bg,var(--mint));transform:translateX(100%);visibility:hidden;transition:transform 2s cubic-bezier(.87,0,.13,1)}
.cvp-slide-in{position:relative;width:min(100%,1000px);margin:0 auto;padding:0 70px}
.cvp-slide-in::before,.cvp-slide-in::after{position:absolute;top:-6px;font:700 90px/1 var(--f-serif);color:#000}
.cvp-slide-in::before{content:"\201C";left:0}.cvp-slide-in::after{content:"\201D";right:0}
.cvp-dots{position:absolute;left:0;right:0;bottom:28px;z-index:3;margin:0}
.cvp-quote--page{min-height:647px;background:#899da3;padding:0}
.cvp-quote--page .cvp-slide{background:#899da3;padding:0 16px;min-height:647px}
.cvp-quote--page .cvp-slide::before{content:none}
.cvp-quote--page .cvp-slide-in{width:min(100%,900px);padding:244px 0 0}
.cvp-quote--page .cvp-slide-in::before{content:"\201C";left:50%;right:auto;transform:translateX(-50%);top:142px;font:400 64px/1 var(--f-serif);color:#fff}
.cvp-quote--page .cvp-slide-in::after{content:none}
.cvp-quote--page .cvp-dots{bottom:34px}

/* footer: icons, copyright bar */
.cvp-soc-ph{display:inline-flex;cursor:default}
.cvp-legal{background:#e8eff1;color:#6e6e6d;font-size:14px;text-align:center;height:58px;line-height:58px}

/* Log In (top right of the menu bar) */
.cvp-nav__in{position:relative}
.cvp-login{position:absolute;right:75px;top:0;height:100%;display:flex;align-items:center;gap:8px;color:#899da3;text-decoration:none;font-size:15px}
.cvp-login svg{opacity:.75}.cvp-login:hover span{text-decoration:underline}

/* phone with country-code dropdown */
.cvp-field{display:block;font-size:15px}.cvp-lbl{display:block;margin-bottom:2px}
.cvp-phone{position:relative;display:flex;align-items:flex-end;border-bottom:1px solid #000}
.cvp-phone input[type=tel]{border:0!important;flex:1;min-width:0;background:transparent;padding:8px 2px}
.cvp-form .cvp-cc{display:flex;align-items:center;gap:6px;background:none;border:0;border-bottom:0;padding:8px 8px 8px 6px;cursor:pointer;color:#000;font:inherit;justify-self:auto}
.cvp-flag{font-family:'Twemoji Country Flags','Apple Color Emoji','Segoe UI Emoji',sans-serif}
.cvp-chev{transition:transform .2s}.cvp-phone.open .cvp-chev{transform:rotate(180deg)}
.cvp-cc-panel{position:absolute;left:0;top:100%;z-index:60;width:318px;max-width:92vw;background:#fff;border:1px solid #ccc;box-shadow:0 2px 8px rgba(0,0,0,.2);padding:20px 0 0}
.cvp-cc-panel[hidden]{display:none}
.cvp-cc-s{display:flex;align-items:center;gap:10px;margin:0 24px 8px;border-bottom:1px solid #000}
.cvp-cc-s input{border:0!important;flex:1;min-width:0;padding:8px 0!important;font-size:15px}
.cvp-cc-s input:focus,.cvp-phone input[type=tel]:focus{outline:0!important;box-shadow:none}
.cvp-cc-panel ul{list-style:none;margin:0;padding:0;max-height:200px;overflow:auto}
.cvp-cc-panel li{padding:11px 24px;font-size:15px;line-height:1.2;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cvp-cc-panel li[hidden]{display:none}.cvp-cc-panel li:hover,.cvp-cc-panel li:focus{background:#f0f0f0;outline:0}

/* chat widget */
.cvp-chat-btn{position:fixed;right:12px;bottom:12px;width:56px;height:56px;border-radius:50%;background:#000;border:0;display:grid;place-items:center;cursor:pointer;z-index:900;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.cvp-chat-btn[hidden],.cvp-chat[hidden]{display:none}
.cvp-chat{position:fixed;right:12px;bottom:12px;width:min(340px,calc(100vw - 24px));height:min(450px,calc(100vh - 24px));background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.3);z-index:901;display:flex;flex-direction:column;border-radius:4px;overflow:hidden;font-size:14px}
.cvp-chat-h{background:#000;color:#fff;padding:12px 16px;display:flex;justify-content:space-between;align-items:flex-start}
.cvp-chat-h strong{display:block;font-weight:400;font-size:15px}.cvp-chat-h span{font-size:11px;display:flex;align-items:center;gap:6px;margin-top:2px}.cvp-chat-h i{width:6px;height:6px;border-radius:50%;background:#3c3}
.cvp-chat-x{background:none;border:0;color:#fff;cursor:pointer;font-size:16px;padding:0 0 0 12px}
.cvp-chat-b{flex:1;overflow:auto;background:#e5e5e5;padding:14px}
.cvp-chat-m{background:#fff;padding:10px 12px;border-radius:12px;margin:0 0 8px;line-height:1.4;max-width:88%}
.cvp-chat-m.me{background:#000;color:#fff;margin-left:auto}
.cvp-chat-f{background:#fff;padding:8px;display:grid;gap:6px;border-top:1px solid #ddd}
.cvp-chat-f input[type=text],.cvp-chat-f input[type=email],.cvp-chat-f textarea{border:1px solid #ccc;padding:8px;font:inherit;font-size:14px;width:100%;border-radius:0}
.cvp-chat-row{display:flex;gap:6px;align-items:flex-end}.cvp-chat-row textarea{flex:1;resize:none}
.cvp-chat-row button{background:#000;color:#fff;border:0;width:38px;height:38px;border-radius:50%;cursor:pointer;flex:none}
.cvp-chat-f.busy{opacity:.6;pointer-events:none}.cvp-chat .cvp-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.cvp-chat-btn:focus-visible,.cvp-chat-x:focus-visible,.cvp-chat-row button:focus-visible{outline:2px solid #0069ff;outline-offset:2px}

/* entrance fade for package tiles */




@media(max-width:1280px){.cvp-login{right:24px}}
@media(max-width:1024px){.cvp-login{right:70px}}
@media(max-width:767px){
  .cvp-slide{padding:40px 8px 70px;min-height:0}.cvp-slide-in{padding:0}.cvp-slide-in::before,.cvp-slide-in::after{content:none!important}
  .cvp-quote--page{min-height:0}.cvp-quote--page .cvp-slide{padding:0 16px;min-height:0}
  .cvp-quote--page .cvp-slide-in{padding:90px 36px 70px}.cvp-quote--page .cvp-slide-in::before{content:"\201C"!important;top:30px}
  .cvp-quote .cvp-dots{bottom:22px}
  .cvp-login{right:60px}
}
@media(max-width:600px){
  .cvp-nav__in{justify-content:space-between;padding:0 calc(var(--u)*14) 0 calc(var(--u)*14)}
  .cvp-login{position:static;height:auto;font-size:calc(var(--u)*15);gap:calc(var(--u)*6)}
  .cvp-foot{min-height:calc(var(--u)*888)}
  .cvp-legal{order:15;height:calc(var(--u)*77);line-height:calc(var(--u)*77);font-size:calc(var(--u)*14)}
  .cvp-main--home .cvp-quote{padding:0;min-height:0}
  .cvp-main--home .cvp-slide{min-height:calc(var(--u)*574);padding:calc(var(--u)*40) calc(var(--u)*20) calc(var(--u)*60)}
  .cvp-main--home .cvp-slide-in{padding:0;width:100%}
  .cvp-main--home .cvp-slide-in::before{content:"\201C"!important;position:static;display:block;left:auto;font:700 calc(var(--u)*60)/1 var(--f-serif);margin-bottom:calc(var(--u)*14)}
  .cvp-main--home .cvp-slide-in::after{content:none!important}
  .cvp-cc-panel{width:min(318px,92vw)}
}
@media(max-width:600px){.cvp-main--home .cvp-slide blockquote.is-long{font-size:calc(var(--u)*14);line-height:calc(var(--u)*20)}}

/* v1.6.15: home testimonials match Wix (medium weight, no tracking, larger quote marks) */
@media(min-width:601px){
  .cvp-main--home .cvp-slide{padding:44px 16px 52px}
  .cvp-main--home .cvp-slide blockquote:not(.is-long){font-weight:500;letter-spacing:0;font-size:clamp(26px,2.07vw,39.5px);line-height:1.24;max-width:720px}
  .cvp-main--home .cvp-slide cite{margin-top:22px}
  .cvp-main--home .cvp-slide-in::before,.cvp-main--home .cvp-slide-in::after{font-size:clamp(70px,7.1vw,135px);top:calc(clamp(70px,7.1vw,135px)*-.27)}
  .cvp-main--home .cvp-slide-in::before{left:clamp(0px,2.4vw,46px)}.cvp-main--home .cvp-slide-in::after{right:clamp(0px,2.4vw,46px)}
}

/* v1.6.16: footer aligned to Wix (columns at 503/733/973, plain links, centred checkbox) */
.cvp-foot a:not(.cvp-soc){text-decoration:none;color:inherit}
.cvp-login:hover span{text-decoration:none}
.cvp-form .cvp-check{align-items:center;gap:12px}.cvp-form .cvp-check input{margin:0;flex:none;width:16px;height:16px}
@media(min-width:1025px){.cvp-foot{max-width:916px;padding:50px 0 100px;margin-left:max(0px,calc(50% - 449.5px));margin-right:0;grid-template-columns:230px 240px 1fr}}

/* v1.6.18: chat launcher matches Wix (64px black rounded square, 20px inset) */
.cvp-chat-btn{right:20px;bottom:20px;width:64px;height:64px;border-radius:12px}.cvp-chat{right:20px;bottom:20px}

/* v1.6.19: hero and subtitle re-measured against Wix pixels (cap height 98px, stem 14px => Medium at 148.5px, tight tracking; subtitle stem 3px => Book at 39.5px) */
@media(min-width:601px){
  .cvp-hero h1{font-weight:500;font-size:clamp(44px,7.8vw,148.5px);line-height:1.145;letter-spacing:-.0375em}
  .cvp-hero .cvp-sub{font-weight:400;letter-spacing:0}
}

/* v1.6.20: pixel-matched to Wix. Tile titles, Student Package, My Approach, About me = Futura Book 39.6px, no tracking (stem 3px, ink height 39-40px). Learning You = Medium 40.6px. Tile numerals = Demi 39.6px. */
@media(min-width:601px){
  .cvp-tile h2,.cvp-student h2,.cvp-duo h2{font-weight:400;font-size:39.6px;letter-spacing:0}
  .cvp-tile .cvp-n{font-size:39.6px}
  .cvp-learn h2{font-weight:500;font-size:40.6px;letter-spacing:0}
}

/* v1.6.21: banner in Playfair Display Black (Wix stem 7px vs 5px at Bold); nav and Log In offset to Wix positions */
@font-face{font-family:'Playfair Display';src:url(assets/fonts/playfair-display-900.woff2) format('woff2');font-weight:900;font-style:normal;font-display:swap}
@media(min-width:601px){
  .cvp-banner{font-weight:900;padding:0 32px 0 16px;height:194px}
  .cvp-banner__title{font-size:33px;line-height:1.403;letter-spacing:.11em}
  .cvp-banner__msg{font-size:28px;line-height:1.32;letter-spacing:.095em}
  .cvp-nav__in{padding-left:14.5px;padding-top:8px}
  .cvp-login{top:4px}
}
@media(min-width:1281px){.cvp-login{right:82px}}

/* v1.6.24: inner pages, circles and footer form matched to Wix's computed styles (Futura LT Book, synthetic bold). PT equivalents: bold -> Medium at 1.08x, regular -> Book at 1.1x, no tracking. */
@media(min-width:601px){
  .cvp-page h1,.cvp-connect-band h2,.cvp-quote--page blockquote{font-weight:500;letter-spacing:0}
  .cvp-page h1,.cvp-connect-band h2{font-size:41px}
  .cvp-main--testimonials .cvp-page h1,.cvp-connect-intro h1{font-size:60.5px;font-weight:500;letter-spacing:0}
  .cvp-contact-cols h3{font-weight:500;font-size:17.3px;letter-spacing:0}
  .cvp-quote--page blockquote{font-size:41px;line-height:53.2px}
  .cvp-quote--page cite{font-size:19.8px;letter-spacing:0}
  .cvp-circles b{font-size:39.6px;letter-spacing:0}
  .cvp-foot .cvp-check span,.cvp-foot .cvp-lbl{font-family:var(--f-head);font-size:16.5px;letter-spacing:0;line-height:22.5px}
  .cvp-foot .cvp-check strong{font-weight:500;font-size:16.2px}
}
/* v1.6.26: testimonials page keeps its 647px band; long testimonials start higher (JS sets --pt) */
@media(min-width:768px){.cvp-quote--page .cvp-slide{justify-content:flex-start}.cvp-quote--page .cvp-slide-in{padding-top:var(--pt,244px)}.cvp-quote--page .cvp-slide-in::before{top:calc(var(--pt,244px) - 102px)}}

/* v1.6.27: chat gets Wix's emoji picker and attachment button */
.cvp-chat{height:min(600px,calc(100vh - 40px))}
.cvp-chat-ta{position:relative;flex:1;display:flex}
.cvp-chat-ta textarea{padding-right:62px}
.cvp-chat-tools{position:absolute;right:6px;bottom:6px;display:flex;gap:2px}
.cvp-chat .cvp-chat-tools button{width:26px;height:26px;border-radius:0;background:none;color:#999;display:grid;place-items:center;padding:0;border:0;cursor:pointer}
.cvp-chat .cvp-chat-tools button:hover,.cvp-chat .cvp-chat-tools button[aria-expanded=true]{color:#000}
.cvp-chat-file{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#f2f2f2;padding:4px 8px;font-size:12px}
.cvp-chat-file[hidden]{display:none}
.cvp-chat-fn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cvp-chat .cvp-chat-fx{background:none;color:#000;width:20px;height:20px;border-radius:0;border:0;cursor:pointer;flex:none}
.cvp-emoji{background:#f7fbfd;border-top:1px solid #ddd;display:flex;flex-direction:column;flex:none}
.cvp-emoji[hidden]{display:none}
.cvp-emoji-t{display:flex;justify-content:space-around;padding:6px 4px 0;border-bottom:1px solid #e6e6e6}
.cvp-emoji button{font-family:'Segoe UI Emoji','Apple Color Emoji','Noto Color Emoji',sans-serif;background:none;border:0;cursor:pointer;line-height:1}
.cvp-emoji-t button{font-size:21px;padding:4px 6px 6px;border-bottom:2px solid transparent}
.cvp-emoji-t button[aria-selected=true]{border-bottom-color:#06f}
.cvp-emoji-g{overflow:auto;display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:6px;max-height:150px}
.cvp-emoji-g button{font-size:23px;padding:5px 0;border-radius:4px}
.cvp-emoji-g button:hover,.cvp-emoji-g button:focus-visible{background:#e3eef4}
/* v1.6.28: bold Wix headings are Futura LT Book with synthetic bold: letters are ~17% taller than PT at the same width. Matched by cap height (Wix 39px vs 36px ink) = Medium at 1.17x with -0.036em tracking, as for the hero. Learning You paragraphs centred. */
@media(min-width:601px){
  .cvp-learn h2,.cvp-page h1,.cvp-connect-band h2,.cvp-quote--page blockquote:not(.is-long){font-size:44.5px;letter-spacing:-.036em}
  .cvp-main--testimonials .cvp-page h1,.cvp-connect-intro h1{font-size:65.5px;letter-spacing:-.036em}
  .cvp-contact-cols h3{font-size:18.7px;letter-spacing:-.036em}
  .cvp-learn p{text-align:center}
}
/* v1.6.29: the long home testimonial now uses the same Medium weight and tight tracking as the other two, just smaller, so the three slides read as one set */
@media(min-width:601px){
  .cvp-main--home .cvp-slide blockquote.is-long{font-weight:500;letter-spacing:0;font-size:clamp(17px,1.28vw,24.5px);line-height:1.32;max-width:780px}
  .cvp-main--home .cvp-slide blockquote.is-long p{margin:0 0 .75em}
  .cvp-main--home .cvp-slide blockquote.is-long p:last-child{margin:0}
}
/* v1.6.30: Wix's entrance effect, copied from its page CSS: the tile numbers and titles and the Student Package heading float up 60px while fading in
   (animation: motion-floatIn <1200-2400ms> 1ms cubic-bezier(.445,.05,.55,.95) backwards), started as each element scrolls into view; off for reduced-motion users */
@keyframes cvp-float{0%{opacity:0}.0001%{opacity:0;transform:translateY(60px)}100%{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){
  .cvp-js .cvp-fl{opacity:0}
  .cvp-js .cvp-fl.in{opacity:1;animation:cvp-float var(--d,1600ms) 1ms cubic-bezier(.445,.05,.55,.95) backwards 1}
}
/* v1.6.31: header menu stays pinned to the top like Wix (#SITE_HEADER is position:sticky; top:0; z-index:50) and is see-through:
   Wix paints it with five radial gradients at ~40% alpha, so page content shows through as you scroll beneath it. */
.cvp-nav{position:sticky;top:0;z-index:50}
body.admin-bar .cvp-nav{top:32px}
@media(min-width:601px){
  .cvp-top{display:contents;background:none}
  .cvp-nav{background:radial-gradient(circle at 94.354% 89.616%,rgba(194,154,138,.4) 0%,20%,rgba(194,154,138,0) 40%),radial-gradient(circle at 6.504% 88.037%,rgba(137,157,163,.396) 0%,25%,rgba(137,157,163,0) 50%),radial-gradient(circle at 6.165% 12.617%,rgba(146,116,104,.4) 0%,42%,rgba(146,116,104,0) 70%),radial-gradient(circle at 93.687% 11.426%,rgba(184,139,131,.4) 0%,42%,rgba(184,139,131,0) 70%),radial-gradient(circle at 48.901% 49.521%,rgba(255,255,255,.4) 0%,100%,rgba(255,255,255,0) 100%)}
  .cvp-banner{background:radial-gradient(circle at 94.35% 89.6%,#000 0,rgba(0,0,0,0) 40%),radial-gradient(circle at 6.5% 88%,rgba(137,157,163,.99) 0,rgba(137,157,163,0) 50%),radial-gradient(circle at 6.2% 12.6%,#927468 0,rgba(146,116,104,0) 70%),linear-gradient(90deg,#8e9ea1 0,#d9bcb8 55%,#e6d4ce 100%)}
}
@media(min-width:1025px){.cvp-banner{background-size:100% 282px;background-position:0 -88px;background-repeat:no-repeat}}
/* v1.6.32: header hides once scrolled ~150px and returns near the top, as on Wix (measured with the mouse wheel: visible at 100px, gone at 200px; Wix swaps
   .Mz75IU {opacity:1; transition:.2s} and .LVByTK {opacity:0; transition:.2s ease-in}, pointer-events off while hidden). */
@media(min-width:601px){
  .cvp-nav{opacity:1;transition:opacity .2s}
  .cvp-nav.is-away{opacity:0;pointer-events:none;transition:opacity .2s ease-in}
  .cvp-nav.is-away:focus-within{opacity:1;pointer-events:auto}
}/* v1.6.33: Log In button matches Wix (measured on the live site): 107x34 button, padding 6px 7px, 22px avatar circle #b6d1d9 with the person cut out,
   7px gap, 15px Avenir text #899da3, no underline. margin-right cancels the padding so the text stays where it was. */
.cvp-login{padding:6px 7px;margin-right:-7px;gap:7px;line-height:21px}
.cvp-login svg{opacity:1;fill:#b6d1d9;flex:none}
.cvp-login span{transition:color .2s}
/* v1.6.34: Book Online page (measured on the live Wix page at 1920px): 940px grid, 3 cards of 292px with 32px gaps, 1px rgba(0,0,0,.2) border,
   290x194 photo, 31px inner padding, 24px bold title, 1px #808080 divider, 16px Avenir light details, button 40px tall, #899da3 square fill. */
.cvp-services{max-width:940px;margin:0 auto;padding:94px 0 60px}
.cvp-svc-h{font-family:"Futura PT",sans-serif;font-weight:500;font-size:37.5px;line-height:43px;letter-spacing:-.036em;text-align:center;margin:0 0 59px}
.cvp-svc-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,292px);gap:32px;justify-content:center}
.cvp-svc{display:flex;flex-direction:column;box-sizing:border-box;min-height:495px;border:1px solid rgba(0,0,0,.2);background:#fff}
.cvp-svc-img{height:194.3px;overflow:hidden;flex:none}
.cvp-svc-img img{display:block;width:100%;height:100%;object-fit:cover}
.cvp-svc-body{flex:1;display:flex;flex-direction:column;padding:31px}
.cvp-svc-body h2{font-family:"Futura PT",sans-serif;font-weight:500;font-size:28px;line-height:31.9px;letter-spacing:-.036em;margin:0 0 24px;text-align:left}
.cvp-svc-body hr{border:0;border-top:1px solid #808080;margin:0 0 24px;height:0}
.cvp-svc-body p{font-size:16px;line-height:32px;margin:0;text-align:left}
.cvp-svc-btn{align-self:flex-start;margin-top:auto;box-sizing:border-box;height:40px;padding:11px 16px;background:#899da3;border:1px solid #899da3;color:#fff;font-size:16px;line-height:16px;text-decoration:none;transition:background-color .2s ease-in-out,border-color .2s ease-in-out,color .2s ease-in-out}
.cvp-svc-btn:hover,.cvp-svc-btn:focus-visible{background:#fff;color:#899da3;text-decoration:none}
.cvp-svc-req{margin:72px auto 0;max-width:790px}
.cvp-svc-req h2{font-family:"Futura PT",sans-serif;font-weight:500;font-size:28px;letter-spacing:-.036em;margin:0 0 12px}
.cvp-svc-req>p{font-size:15px;line-height:21px;margin:0 0 20px}
.cvp-form--wide select{display:block;width:100%;margin-top:9px;height:37px;background:#fff;border:1px solid #000;padding:6px 8px;font:inherit;font-size:14px;border-radius:0}
.cvp-form--wide .cvp-span2{grid-column:span 2}
@media(max-width:700px){.cvp-svc-grid{grid-template-columns:minmax(0,420px)}.cvp-services{padding:40px 20px 40px}.cvp-svc-h{font-size:32px;margin-bottom:28px}.cvp-form--wide .cvp-span2{grid-column:1}}
.cvp-main--book-online .cvp-page{max-width:none;padding:0}
/* v1.6.36: page-by-page comparison fixes (measured on the live Wix pages at 1920px) */
/* footer form: all three labels in Futura like Wix; inputs keep Avenir */
.cvp-foot .cvp-form label:not(.cvp-check){font-family:var(--f-head);font-size:16.5px;letter-spacing:0;line-height:22.5px}
.cvp-foot .cvp-form input{font-family:"Avenir LT",Mulish,Avenir,"Avenir Next",sans-serif}
/* gray legal bar: Wix text has 1.4px letter-spacing */
.cvp-legal{letter-spacing:1.4px}
/* About: closing paragraph sits on Wix's "normal" 18px line pitch */
.cvp-about-text p{line-height:18px}
/* Testimonials: slider spans the full band (was capped at 900px and stuck to the left); intro uses Wix's 32.4px line pitch */
.cvp-quote--page .cvp-slider{width:100%}
.cvp-main--testimonials .cvp-page h1{margin-bottom:60px}
.cvp-testi-intro{line-height:32.4px!important;margin-bottom:69px!important}
/* Connect: intro text on Wix's 36px pitch; Send button = filled #899da3, white 14px text, white on hover; 10px input padding; two 23px social icons */
.cvp-connect-intro{padding-bottom:43px}
.cvp-connect-intro p{line-height:36px}
.cvp-form.cvp-form--wide button{background:#899da3;border:1px solid #899da3;color:#fff;font:400 14px "Avenir LT",Mulish,Avenir,"Avenir Next",sans-serif;transition:background-color .4s,border-color .4s,color .4s}
.cvp-form.cvp-form--wide button:not(.cvp-cc):hover,.cvp-form.cvp-form--wide button:not(.cvp-cc):focus-visible{background:#fff;border-color:#899da3;color:#899da3}
.cvp-form--wide input[type=text],.cvp-form--wide input[type=email],.cvp-form--wide textarea{padding-left:10px;padding-right:10px}
.cvp-contact-cols .cvp-social{gap:5px;margin:1px 0 0 -6px}
.cvp-contact-cols .cvp-social img{width:23px;height:23px}
/* v1.6.35 (re-applied locally): beat the generic .cvp-page h1 rule so the Our Services heading keeps Wix's 32px-bold equivalent */
.cvp-services h1.cvp-svc-h{font-size:37.5px;line-height:43px;margin:0 0 59px}
@media(max-width:700px){.cvp-services h1.cvp-svc-h{font-size:32px;line-height:1.2;margin-bottom:28px}}
/* v1.6.37: consent line bold like Wix (Futura Demi, width-matched), no underline on the Connect-page email, three plain social icons there */
.cvp-foot .cvp-check strong{font-weight:700;font-size:15.1px}
.cvp-contact-cols a,.cvp-contact-cols a:hover{text-decoration:none;background:none;color:inherit}
/* v1.6.41: Testimonials page = Wix's slider (read from the Wix page CSS): one #899da3 band 647px tall, 5 slides, 20px chevron arrows 50px from each edge and
   vertically centred (hover .6), white dots (6px; the current one is a 9px ring) 50px above the bottom, the 37x30 quote mark at 0.7 opacity, and a 1000ms ease-in-out cross-fade of the whole slide (background included) over the white page: the outgoing slide is dropped at about 42% of the way, so the band briefly looks lighter, exactly as measured on the live Wix page. Reduced-motion visitors get an instant swap. */
.cvp-quote--page{background:transparent}
.cvp-quote--page .cvp-slide{transform:none!important;visibility:visible!important;opacity:0;pointer-events:none;transition:opacity 1s cubic-bezier(.42,0,.58,1)}
.cvp-quote--page .cvp-slide.is-on{opacity:1;pointer-events:auto}
.cvp-quote--page .cvp-slide.is-gone{transition:none!important;opacity:0!important}
.cvp-quote--page .cvp-arrow{width:20px;height:42px;margin:0;padding:0;top:50%;transform:translateY(-50%);opacity:1;display:grid;place-items:start center;z-index:3;color:#fff}
.cvp-quote--page .cvp-prev{left:50px}
.cvp-quote--page .cvp-next{right:50px;transform:translateY(-50%) scaleX(-1)}
.cvp-quote--page .cvp-arrow svg{display:block;fill:#fff;stroke:#fff;stroke-width:1px}
.cvp-quote--page .cvp-arrow:hover{opacity:.6}
.cvp-quote--page .cvp-dots{bottom:45.5px;height:9px;gap:12px;align-items:center;margin:0}
.cvp-quote--page .cvp-dots button{width:6px;height:6px;background:#fff;opacity:1;border:0;box-sizing:border-box}
.cvp-quote--page .cvp-dots button[aria-current=true]{width:9px;height:9px;background:transparent;border:2px solid #fff}
.cvp-quote--page .cvp-slide-in::before{content:"";width:37px;height:30px;left:50%;right:auto;transform:translateX(-50%);top:calc(var(--pt,244px) - 111px);font-size:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='13.577 30.993 172.003 140'%3E%3Cpath fill='%23fff' d='M86.586 49.574c-19.8 13.01-37.742 37.789-39.6 57.614.62 0 4.949-.62 8.042-.62 17.326 0 29.7 13.006 29.7 31.591a32.635 32.635 0 0 1-32.793 32.834c-20.416 0-38.358-16.727-38.358-47.081 0-37.789 21.654-72.477 50.116-92.919zm98.994 0c-19.8 13.01-37.123 37.789-39.6 57.614.616 0 4.948-.62 8.042-.62 17.322 0 30.316 13.006 30.316 31.591 0 17.964-14.848 32.834-33.41 32.834-20.416 0-38.358-16.727-38.358-47.081 0-37.789 21.652-72.477 50.113-92.919z'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.7}
@media(max-width:767px){
  .cvp-quote--page .cvp-slide-in::before{content:""!important;top:30px}
  .cvp-quote--page .cvp-prev{left:8px}.cvp-quote--page .cvp-next{right:8px}.cvp-quote--page .cvp-arrow{width:14px}
}
@media(prefers-reduced-motion:reduce){.cvp-quote--page .cvp-slide{transition:none}}
/* v1.6.44: Testimonials page text like the home slider: one size for every slide, bolder (Futura Demi), the name smaller, vertically centred, an opening AND a
   closing quote mark. Transition = a plain 1s ease-in-out cross-fade of whole slides over the white page (both slides stay partly visible, so the band only dips
   slightly lighter, as on Wix); the earlier "drop the old slide halfway" version made the flash too sharp. */
.cvp-quote--page .cvp-slide.is-gone{transition:opacity 1s cubic-bezier(.42,0,.58,1);opacity:0}
.cvp-quote--page .cvp-slide{justify-content:center;padding:0 16px}
.cvp-quote--page .cvp-slide .cvp-slide-in{width:min(100%,1000px);padding:0 70px}
.cvp-quote--page .cvp-slide .cvp-slide-in blockquote,.cvp-quote--page .cvp-slide .cvp-slide-in blockquote.is-long{font-family:var(--f-head);font-weight:700;font-size:clamp(18px,1.36vw,26px);line-height:1.38;letter-spacing:0;max-width:860px;margin:0 auto;text-align:center}
.cvp-quote--page .cvp-slide .cvp-slide-in blockquote p{font-size:inherit;line-height:inherit;margin:0 0 .75em}
.cvp-quote--page .cvp-slide .cvp-slide-in blockquote p:last-child{margin:0}
.cvp-quote--page .cvp-slide .cvp-slide-in cite{display:block;font-family:inherit;font-size:15px;font-weight:400;line-height:1.4;letter-spacing:0;margin-top:26px}
.cvp-quote--page .cvp-slide .cvp-slide-in::before,.cvp-quote--page .cvp-slide .cvp-slide-in::after{content:"";position:absolute;top:0;width:58px;height:47px;font-size:0;color:transparent;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='13.577 30.993 172.003 140'%3E%3Cpath fill='%23fff' d='M86.586 49.574c-19.8 13.01-37.742 37.789-39.6 57.614.62 0 4.949-.62 8.042-.62 17.326 0 29.7 13.006 29.7 31.591a32.635 32.635 0 0 1-32.793 32.834c-20.416 0-38.358-16.727-38.358-47.081 0-37.789 21.654-72.477 50.116-92.919zm98.994 0c-19.8 13.01-37.123 37.789-39.6 57.614.616 0 4.948-.62 8.042-.62 17.322 0 30.316 13.006 30.316 31.591 0 17.964-14.848 32.834-33.41 32.834-20.416 0-38.358-16.727-38.358-47.081 0-37.789 21.652-72.477 50.113-92.919z'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.7;transform:none}
.cvp-quote--page .cvp-slide .cvp-slide-in::before{left:clamp(0px,2.4vw,46px);right:auto}
.cvp-quote--page .cvp-slide .cvp-slide-in::after{right:clamp(0px,2.4vw,46px);left:auto;transform:rotate(180deg)}
@media(max-width:767px){
  .cvp-quote--page .cvp-slide{padding:40px 16px 70px;min-height:0}
  .cvp-quote--page .cvp-slide .cvp-slide-in{padding:0}
  .cvp-quote--page .cvp-slide .cvp-slide-in::before{content:"";position:static;display:block;margin:0 auto 14px;width:40px;height:32px}
  .cvp-quote--page .cvp-slide .cvp-slide-in::after{display:none}
  .cvp-quote--page .cvp-slide .cvp-slide-in blockquote,.cvp-quote--page .cvp-slide .cvp-slide-in blockquote.is-long{font-size:17px}
}
/* v1.6.45: keep the text clear of the quote marks. Marks are 48x39, 20px in from each side; the text sits between them (84px side padding). */
.cvp-quote--page .cvp-slide .cvp-slide-in{padding:0 84px}
.cvp-quote--page .cvp-slide .cvp-slide-in blockquote,.cvp-quote--page .cvp-slide .cvp-slide-in blockquote.is-long{max-width:832px}
.cvp-quote--page .cvp-slide .cvp-slide-in::before,.cvp-quote--page .cvp-slide .cvp-slide-in::after{width:48px;height:39px}
.cvp-quote--page .cvp-slide .cvp-slide-in::before{left:clamp(0px,1vw,20px)}
.cvp-quote--page .cvp-slide .cvp-slide-in::after{right:clamp(0px,1vw,20px)}
@media(max-width:767px){.cvp-quote--page .cvp-slide .cvp-slide-in{padding:0}.cvp-quote--page .cvp-slide .cvp-slide-in::before{left:auto;width:40px;height:32px}}
/* v1.6.47: phone layout for the inner pages. Wix designs these at 320px and scales them up, so sizes are in --u (100vw/320), copied from the live Wix phone pages. */
@media(max-width:600px){
  .cvp-main:not(.cvp-main--home) .cvp-page{padding:calc(var(--u)*26) calc(var(--u)*20) 0;max-width:none}
  .cvp-main:not(.cvp-main--home) .cvp-page h1{font-size:calc(var(--u)*20);line-height:calc(var(--u)*27);font-weight:700;letter-spacing:0;margin:0 0 calc(var(--u)*20)}
  .cvp-main:not(.cvp-main--home) .cvp-page p{font-size:calc(var(--u)*15);line-height:calc(var(--u)*21);margin:0 0 calc(var(--u)*21)}
  /* About */
  .cvp-about-grid{display:block;width:100%;max-width:none;margin:0 0 calc(var(--u)*30)}
  .cvp-about-list{margin:0 0 calc(var(--u)*8);padding-left:calc(var(--u)*17);font-size:calc(var(--u)*15)}
  .cvp-about-list li{font-weight:700;line-height:calc(var(--u)*21);margin:0 0 calc(var(--u)*5)}
  .cvp-about-list li ul{padding-left:calc(var(--u)*27)}.cvp-about-list li li{font-weight:400}
  .cvp-main:not(.cvp-main--home).cvp-main--about-me .cvp-page .cvp-prose p:last-child{margin-bottom:calc(var(--u)*-8)}
  .cvp-main:not(.cvp-main--home).cvp-main--my-approach .cvp-page{padding-bottom:calc(var(--u)*72)}
  .cvp-main:not(.cvp-main--home) .cvp-about-text p:last-child{margin:0 calc(var(--u)*-10) calc(var(--u)*-34)}
  .cvp-about-photo img{width:100%;height:auto;aspect-ratio:280/301;object-fit:cover}
  /* Testimonials */
  .cvp-main.cvp-main--testimonials .cvp-page{padding:calc(var(--u)*26) 0 0}
  .cvp-main.cvp-main--testimonials .cvp-page h1{font-size:calc(var(--u)*30);line-height:calc(var(--u)*40);margin:0 0 calc(var(--u)*20)}
  .cvp-testi-intro{padding:0 calc(var(--u)*27)!important;font-size:calc(var(--u)*16)!important;line-height:calc(var(--u)*24.6)!important;margin:0 0 calc(var(--u)*70)!important;max-width:none}
  .cvp-quote--page .cvp-slide .cvp-slide-in blockquote,.cvp-quote--page .cvp-slide .cvp-slide-in blockquote.is-long{font-size:calc(var(--u)*15);line-height:calc(var(--u)*21)}
  .cvp-quote--page .cvp-slide .cvp-slide-in cite{font-size:calc(var(--u)*15);margin-top:calc(var(--u)*12)}
  .cvp-quote--page .cvp-slide{padding:calc(var(--u)*24) calc(var(--u)*20) calc(var(--u)*48)}
  .cvp-quote--page .cvp-arrow{width:calc(var(--u)*14);height:calc(var(--u)*30)}
  .cvp-quote--page .cvp-arrow svg{width:100%;height:auto}
  .cvp-quote--page .cvp-prev{left:calc(var(--u)*7)}.cvp-quote--page .cvp-next{right:calc(var(--u)*7)}
  .cvp-quote--page .cvp-dots{bottom:calc(var(--u)*45)}
  /* Connect */
  .cvp-connect-intro{padding:calc(var(--u)*34) calc(var(--u)*20) calc(var(--u)*113)}
  .cvp-main:not(.cvp-main--home) .cvp-connect-intro h1{font-size:calc(var(--u)*30);line-height:calc(var(--u)*40);margin:0 0 calc(var(--u)*27)}
  .cvp-main:not(.cvp-main--home) .cvp-connect-intro p{font-size:calc(var(--u)*20);line-height:calc(var(--u)*24);margin:0 0 calc(var(--u)*24);max-width:none}
  .cvp-main:not(.cvp-main--home) .cvp-connect-intro p:first-of-type{margin-bottom:0}
  .cvp-connect-band{padding:calc(var(--u)*30) calc(var(--u)*20) calc(var(--u)*90)}
  .cvp-connect-band>.wp-block-group__inner-container,.cvp-connect-band>*{padding-inline:0}
  .cvp-connect-band h2{font-size:calc(var(--u)*30);line-height:calc(var(--u)*40);margin:0 0 calc(var(--u)*33);padding-left:0}
  .cvp-contact-cols{padding-left:0;gap:calc(var(--u)*8);margin-bottom:calc(var(--u)*30)}
  .cvp-contact-cols h3{font-size:calc(var(--u)*16);line-height:calc(var(--u)*22);margin:0 0 calc(var(--u)*14)}
  .cvp-contact-cols p{font-size:calc(var(--u)*16);line-height:calc(var(--u)*19)}
  .cvp-form--wide label{font-size:calc(var(--u)*16);line-height:calc(var(--u)*19)}
  .cvp-form--wide input[type=text],.cvp-form--wide input[type=email],.cvp-form--wide input[type=tel],.cvp-form--wide select{height:calc(var(--u)*45);margin-top:calc(var(--u)*8);font-size:calc(var(--u)*14)}
  .cvp-form--wide textarea{height:calc(var(--u)*75);margin-top:calc(var(--u)*8);font-size:calc(var(--u)*14)}
  .cvp-form--wide{margin-top:calc(var(--u)*56)}
  .cvp-form--wide input[type=text],.cvp-form--wide input[type=email],.cvp-form--wide input[type=tel],.cvp-form--wide select{margin-bottom:calc(var(--u)*10)}
  .cvp-form.cvp-form--wide button{height:calc(var(--u)*42);font-size:calc(var(--u)*14);margin-top:calc(var(--u)*6)}
}

/* v1.6.51: footer legal line darkened slightly to pass the 4.5:1 text-contrast check. */
.cvp-legal{color:#5f5f5e}
