/* VMC premium chrome for every wrapped page (Elementor pages, services, the doctor page, posts, archives).
   Same scaling as the Figma pages: Figma px written as calc(N*var(--u)); the 1440 frame above 1100px, the 390 frame below.
   Everything is scoped to vp- classes so Elementor content and the older landing page styles keep their own look. */

body.vmc-wrapped,body.vmc-landing{
  --u:min(1px,.0694444vw);
  --cream:#f3eeeb;--brown:#3e2f2c;--tan:#dfcaaf;--teal:#3a4b53;--light:#eee9dd;--rose:#9a6869;--text2:#2b2b2d;
  --script:'Pinyon Script',cursive;--serif:'Playfair Display',Georgia,serif;--sans:'Poppins',Arial,sans-serif;
  margin:0;background:var(--cream);color:var(--text2);overflow-x:hidden;

  /* Elementor global colours and fonts follow the Figma style guide, so existing Elementor content blends in */
  --e-global-color-primary:#9a6869;--e-global-color-secondary:#3e2f2c;--e-global-color-text:#4b3f3c;
  --e-global-color-accent:#efe5dd;--e-global-color-background:#f3eeeb;--e-global-color-alternate:#f3eeeb;
  --e-global-color-border:#e6dcd4;--e-global-color-03a7c7e:#efe5dd;
  --e-global-typography-primary-font-family:'Playfair Display';--e-global-typography-primary-font-weight:400;
  --e-global-typography-secondary-font-family:'Poppins';--e-global-typography-text-font-family:'Poppins';
  --e-global-typography-accent-font-family:'Poppins';--e-global-typography-tertiary-font-family:'Poppins';

  /* the older site wide stylesheet's variables take the same palette */
  --primary:#9a6869;--primary-dark:#3e2f2c;--primary-light:#b38a8b;--secondary:#9a6869;--accent:#c4a589;--accent-light:#dfcaaf;
  --bg-secondary:#f3eeeb;--bg-tertiary:#efe5dd;--bg-dark:#3e2f2c;--bg-dark-soft:#4d3c38;
  --text-primary:#2b2b2d;--text-secondary:#4b3f3c;--text-muted:#6f625e;--text-light:#f3eeeb;
  --border-light:#e6dcd4;--border-medium:#d5c3b3;
  --gradient-primary:linear-gradient(135deg,#9a6869 0%,#3e2f2c 100%);
  --gradient-secondary:linear-gradient(135deg,#b38a8b 0%,#9a6869 100%);
  --gradient-accent:linear-gradient(135deg,#dfcaaf 0%,#c4a589 100%);
}

/* ---------- scoped reset for the chrome ---------- */
.vp-chrome *,.vp-chrome *::before,.vp-chrome *::after,
.vp-footer,.vp-footer *,.vp-footer *::before,.vp-footer *::after,
.vp-sec *,.vp-expect *,.vp-faq *,.vp-consult *,.vp-reviews>h2,.vp-reviews>p,.vp-card,.vp-card *{box-sizing:border-box;margin:0;padding:0}
.vp-chrome a,.vp-footer a,.vp-card{color:inherit;text-decoration:none}
.vp-chrome img,.vp-footer img{display:block;max-width:100%}
.vp-chrome button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.vp-chrome,.vp-footer,.vp-main{font-family:var(--sans)}
.dc{font-family:var(--script);font-weight:400;line-height:0}

/* ---------- hero (after the Figma services and treatment heroes) ---------- */
.vp-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--cream);color:#000}
.vp-waves{position:absolute;left:0;right:0;top:calc(-454*var(--u));height:max(calc(974*var(--u)),calc(100% + 454*var(--u)));background:url(../img/svc-hero-waves.webp) center top/cover no-repeat;opacity:.6;mix-blend-mode:multiply;pointer-events:none;z-index:-1}
.vp-hero-in{position:relative;max-width:1440px;margin:0 auto;min-height:calc(560*var(--u));padding:calc(236*var(--u)) calc(51*var(--u)) calc(84*var(--u))}
.vp-hero.has-media .vp-hero-in{min-height:calc(720*var(--u));padding-right:calc(580*var(--u))}
.vp-hero.is-compact .vp-hero-in{min-height:calc(150*var(--u));padding:0}
.vp-hero.no-nav .vp-hero-in{padding-top:calc(96*var(--u))}

.vp-nav{position:absolute;top:calc(57*var(--u));left:50%;transform:translateX(-50%);width:calc(1336*var(--u));display:flex;align-items:center;justify-content:space-between;z-index:5;color:var(--text2)}
.vp-nav-links{display:flex;gap:calc(32*var(--u));font-weight:500;font-size:calc(16*var(--u));line-height:1.5;text-transform:uppercase;white-space:nowrap}
.vp-nav-links a{position:relative;padding:calc(4*var(--u)) 0}
.vp-nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.vp-nav-links a:hover::after,.vp-nav-links a[aria-current]::after{transform:scaleX(1)}
.vp-nav-right{display:flex;gap:calc(24*var(--u));align-items:center;justify-content:flex-end;width:calc(296*var(--u))}
.vp-social{display:flex;gap:calc(11*var(--u));align-items:center}
.vp-social a{position:relative;display:block;width:calc(32*var(--u));height:calc(32*var(--u))}
.vp-social .ig img{position:absolute;left:6.38%;top:6.38%;width:84.12%;height:84.12%}
.vp-social .tt img{width:100%;height:100%}
.vp-pill{display:inline-flex;align-items:center;justify-content:center;height:calc(50*var(--u));width:calc(166*var(--u));border:1px solid var(--text2);border-radius:calc(57*var(--u));font-size:calc(16*var(--u));text-transform:uppercase;white-space:nowrap;color:var(--text2);transition:background .2s,color .2s}
.vp-pill:hover{background:var(--text2);color:var(--cream)}
.vp-logo{position:absolute;inset:0 auto auto 0;z-index:5}
.vp-logo img{position:absolute;max-width:none}
.vp-logo .ring{left:calc(669.63*var(--u));top:calc(31*var(--u));width:calc(99.087*var(--u));height:calc(102.835*var(--u))}
.vp-logo .ringword{left:calc(682*var(--u));top:calc(72.93*var(--u));width:calc(71*var(--u));height:calc(22.903*var(--u))}
.vp-logo .word{left:calc(635*var(--u));top:calc(45.23*var(--u));width:calc(169.798*var(--u));height:calc(54.772*var(--u))}
.vp-logo .mobile{display:none}
.vp-burger{display:none}

.vp-hero-body{position:relative;z-index:2;max-width:calc(1040*var(--u))}
.vp-crumb{display:flex;flex-wrap:wrap;align-items:center;column-gap:calc(16*var(--u));row-gap:4px;font-weight:500;font-size:calc(20*var(--u));line-height:1.4;color:#000}
.vp-crumb a:hover{text-decoration:underline;text-underline-offset:3px}
.vp-kicker{margin-top:calc(30*var(--u));font-weight:500;font-size:max(11px,calc(13*var(--u)));letter-spacing:.32em;text-transform:uppercase;color:var(--brown)}
.vp-chrome .vp-title{margin-top:calc(44*var(--u));font-family:var(--serif);font-weight:500;font-size:calc(72*var(--u));line-height:1.14;letter-spacing:0;text-transform:none;color:#000}
.vp-chrome .vp-kicker+.vp-title{margin-top:calc(40*var(--u))}
.vp-chrome .vp-title::first-letter{font-family:var(--script);font-weight:400;font-size:2.02em;line-height:.6}
.vp-lead{margin-top:calc(18*var(--u));max-width:calc(640*var(--u));font-size:max(15px,calc(18*var(--u)));line-height:1.6;color:var(--text2)}
.vp-actions{display:flex;flex-wrap:wrap;gap:calc(14*var(--u));margin-top:calc(34*var(--u))}
.vp-media{position:absolute;right:calc(51*var(--u));top:calc(156*var(--u));width:calc(460*var(--u));height:calc(520*var(--u));border-radius:calc(230*var(--u)) calc(230*var(--u)) calc(24*var(--u)) calc(24*var(--u));overflow:hidden;box-shadow:0 calc(24*var(--u)) calc(60*var(--u)) rgba(62,47,44,.16);background:var(--light)}
.vp-media img{display:block;width:100%;height:100%;max-width:none;object-fit:cover}

/* buttons (also used outside the chrome) */
.vp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:calc(52*var(--u));padding:calc(12*var(--u)) calc(28*var(--u));border:1px solid var(--text2);border-radius:999px;font-family:var(--sans);font-weight:500;font-size:max(12px,calc(14*var(--u)));line-height:1.2;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--text2);white-space:nowrap;background:none;transition:background .25s,color .25s,border-color .25s}
.vp-btn svg{width:18px;height:18px;flex:none}
.vp-btn:hover{background:var(--text2);border-color:var(--text2);color:var(--cream)}
.vp-btn-dark{background:var(--brown);border-color:var(--brown);color:var(--cream)}
.vp-btn-dark:hover{background:#271d1b;border-color:#271d1b;color:var(--cream)}

/* ---------- main column ---------- */
.vp-main{display:block;position:relative}
.vp-elementor{position:relative}
/* side gutter for top level Elementor containers that set no padding of their own (their own padding still wins) */
@media (max-width:1320px){
  .vp-elementor .e-con.e-parent{--container-default-padding-left:20px;--container-default-padding-right:20px}
}

/* section heading with a script initial, as in the Figma pages */
.vp-h2{font-family:var(--serif);font-weight:400;font-size:calc(48*var(--u));line-height:1.25;color:#000;text-align:center;letter-spacing:0;text-transform:none}
.vp-h2 .dc{font-size:1.9em}
.vp-sub{margin-top:12px;text-align:center;font-size:max(14px,calc(16*var(--u)));color:#4b3f3c}

/* prose: block editor content (services, doctor, posts, privacy) */
.vp-prose{box-sizing:content-box;max-width:800px;margin:96px auto 0;padding:0 24px;font-family:var(--sans);font-size:17px;line-height:1.75;color:var(--text2)}
.vp-prose>*{margin:0}
.vp-prose>*+*{margin-top:1.1em}
.vp-prose h2,.vp-prose h3,.vp-prose h4,.vp-prose h5,.vp-prose h6{font-family:var(--serif);color:#000;letter-spacing:0;text-transform:none;line-height:1.25}
.vp-prose h2{font-weight:400;font-size:clamp(28px,2.7vw,38px);margin-top:1.7em}
.vp-prose h3{font-weight:500;font-size:clamp(21px,1.9vw,26px);margin-top:1.5em}
.vp-prose h4,.vp-prose h5,.vp-prose h6{font-weight:600;font-size:19px;margin-top:1.4em}
.vp-prose>h2:first-child,.vp-prose>h3:first-child{margin-top:0}
.vp-prose a{color:var(--rose);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s}
.vp-prose a:hover{color:var(--brown)}
.vp-prose strong,.vp-prose b{font-weight:600;color:#1f1a19}
.vp-prose ul,.vp-prose ol{padding:0;margin-left:0}
.vp-prose ul{list-style:none}
.vp-prose ul>li{position:relative;padding-left:1.7em}
.vp-prose ul>li::before{content:"";position:absolute;left:.3em;top:.7em;width:.42em;height:.42em;border-radius:50%;background:var(--rose);box-shadow:0 0 0 4px rgba(223,202,175,.45)}
.vp-prose ol{list-style:decimal;padding-left:1.4em}
.vp-prose li+li{margin-top:.5em}
.vp-prose img{max-width:100%;height:auto;border-radius:24px}
.vp-prose figure{margin-left:0;margin-right:0}
.vp-prose figcaption{margin-top:.6em;font-size:14px;color:#6f625e}
.vp-prose blockquote{border-left:2px solid var(--rose);padding:.2em 0 .2em 1.2em;font-family:var(--serif);font-size:1.2em;line-height:1.5}
.vp-prose hr{border:0;border-top:1px solid rgba(0,0,0,.14);margin:2.4em 0}
.vp-prose table{width:100%;border-collapse:collapse;font-size:15px}
.vp-prose th,.vp-prose td{border-bottom:1px solid #e0d6cf;padding:.65em .5em;text-align:left;vertical-align:top}
.vp-prose .vmc-lede{font-size:1.14em;line-height:1.7;color:#1f1a19;border-left:2px solid var(--rose);padding-left:1.1em}
.vp-prose .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:2em}
.vp-prose .wp-block-button{margin:0}
.vp-prose .wp-block-button__link,.vp-prose .wp-element-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 30px;border:1px solid var(--brown);border-radius:999px;background:var(--brown);color:var(--cream);font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:background .25s,border-color .25s}
.vp-prose .wp-block-button__link:hover,.vp-prose .wp-element-button:hover{background:var(--rose);border-color:var(--rose);color:#fff}
.vp-prose .is-style-outline .wp-block-button__link{background:none;color:var(--brown)}
.vp-prose ul.vmc-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 22px}
.vp-prose ul.vmc-checks>li{margin:0;padding:12px 14px 12px 46px;background:rgba(223,202,175,.3);border-radius:14px;line-height:1.5}
.vp-prose ul.vmc-checks>li::before{left:14px;top:13px;width:20px;height:20px;box-shadow:none;background:var(--rose) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f3eeeb' stroke-width='2.4'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/13px no-repeat}
.vp-prose details{border-top:1px solid rgba(0,0,0,.2)}
.vp-prose details+details{margin-top:0}
.vp-prose details:last-of-type{border-bottom:1px solid rgba(0,0,0,.2)}
.vp-prose summary{position:relative;list-style:none;cursor:pointer;padding:18px 48px 18px 2px;font-family:var(--serif);font-size:1.12em;line-height:1.4;color:#000}
.vp-prose summary::-webkit-details-marker{display:none}
.vp-prose summary::before,.vp-prose summary::after{content:"";position:absolute;right:12px;top:50%;width:12px;height:1px;background:#000}
.vp-prose summary::after{transform:rotate(90deg);transition:opacity .3s}
.vp-prose details[open] summary::after{opacity:0}
.vp-prose details>:not(summary){padding:0 2px 18px;margin:0}
.vp-archive-intro{margin-top:72px}

/* sections that follow the content */
.vp-expect,.vp-faq,.vp-reviews,.vp-consult,.vp-section,.vp-cards{margin-left:auto;margin-right:auto}
.vp-expect{width:calc(1339*var(--u));margin-top:calc(128*var(--u));background:var(--tan);border-radius:calc(24*var(--u));padding:calc(56*var(--u)) calc(40*var(--u)) calc(60*var(--u))}
.vp-expect-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(36*var(--u));margin-top:calc(44*var(--u))}
.vp-expect-item{display:flex;flex-direction:column;gap:calc(12*var(--u))}
.vp-num{font-family:var(--serif);font-style:italic;font-size:max(13px,calc(15*var(--u)));letter-spacing:.08em;color:var(--rose)}
.vp-expect-item h3{font-family:var(--serif);font-weight:400;font-size:max(19px,calc(24*var(--u)));line-height:1.25;color:#000}
.vp-expect-item p{font-size:max(14px,calc(15*var(--u)));line-height:1.65;color:var(--text2)}

.vp-faq{width:calc(1000*var(--u));margin-top:calc(128*var(--u))}
.vp-faq-list{margin-top:calc(44*var(--u));border-bottom:1px solid rgba(0,0,0,.8)}
.vp-qa{border-top:1px solid rgba(0,0,0,.8)}
.vp-qa summary{list-style:none;display:flex;align-items:center;gap:16px;padding:calc(22*var(--u)) 4px;cursor:pointer;font-family:var(--serif);font-size:max(18px,calc(24*var(--u)));line-height:1.3;color:#000}
.vp-qa summary::-webkit-details-marker{display:none}
.vp-qa summary>span:first-child{flex:1}
.vp-qa-icon{position:relative;flex:none;width:30px;height:30px;border:1px solid rgba(0,0,0,.5);border-radius:50%;transition:background .3s}
.vp-qa-icon::before,.vp-qa-icon::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1px;background:#000;transform:translate(-50%,-50%)}
.vp-qa-icon::after{transform:translate(-50%,-50%) rotate(90deg);transition:opacity .3s}
.vp-qa[open] .vp-qa-icon::after{opacity:0}
.vp-qa summary:hover .vp-qa-icon{background:rgba(223,202,175,.45)}
.vp-qa-a{max-width:820px;padding:0 4px calc(24*var(--u));font-size:max(15px,calc(16*var(--u)));line-height:1.7;color:#4b3f3c}
.vp-qa-a p+p{margin-top:.8em}

.vp-reviews{width:calc(1339*var(--u));margin-top:calc(128*var(--u))}
.vp-reviews-widget{margin-top:calc(40*var(--u))}

.vp-consult{position:relative;width:calc(1335*var(--u));min-height:calc(364*var(--u));margin-top:calc(128*var(--u));border-radius:calc(24*var(--u));overflow:hidden;isolation:isolate;background:var(--rose);color:var(--light);display:flex;flex-direction:column;gap:calc(32*var(--u));align-items:center;justify-content:center;padding:calc(48*var(--u)) calc(24*var(--u));text-align:center}
.vp-consult::before{content:"";position:absolute;inset:0;background:url(../img/cta-waves.webp) center/cover;mix-blend-mode:overlay;opacity:.2;z-index:-1}
.vp-consult h2{font-family:var(--serif);font-weight:400;font-size:calc(48*var(--u));line-height:1.3;color:var(--light);letter-spacing:0;text-transform:none}
.vp-consult h2 .dc{font-size:calc(100*var(--u))}
.vp-consult p{max-width:calc(542*var(--u));font-size:max(14px,calc(16*var(--u)));line-height:1.5;color:var(--light)}
.vp-consult-btn{display:inline-flex;align-items:center;justify-content:center;height:calc(50*var(--u));padding:0 calc(10*var(--u));border:1px solid var(--light);border-radius:calc(63*var(--u));color:var(--light);font-size:max(13px,calc(16*var(--u)));text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
.vp-consult-btn span{display:block;width:calc(250*var(--u))}
.vp-consult-btn:hover{background:var(--light);color:var(--rose)}

/* doctor page */
.vp-section{width:calc(1000*var(--u));margin-top:calc(112*var(--u))}
.vp-section .vp-prose{max-width:none;margin:calc(36*var(--u)) 0 0;padding:0}
.vp-contact{list-style:none;display:flex;flex-wrap:wrap;gap:12px 32px;margin:36px 0 0;padding:0;font-size:max(14px,calc(16*var(--u)));color:var(--text2)}
.vp-contact li{display:flex;align-items:center;gap:10px}
.vp-contact svg{width:20px;height:20px;color:var(--rose);flex:none}
.vp-contact a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.vp-form>*:not(h2){margin-top:calc(32*var(--u))}

/* archive cards */
.vp-cards{width:calc(1339*var(--u));margin-top:calc(96*var(--u));display:grid;grid-template-columns:repeat(3,1fr);gap:calc(32*var(--u))}
.vp-card{display:flex;flex-direction:column;gap:12px;padding:calc(20*var(--u)) calc(22*var(--u)) calc(16*var(--u));border:1px solid #000;border-radius:calc(24*var(--u));color:var(--text2);font-family:var(--sans);transition:background .3s}
.vp-card:hover{background:rgba(223,202,175,.32)}
.vp-card-img{display:block;border-radius:calc(16*var(--u));overflow:hidden;aspect-ratio:4/3}
.vp-card-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.vp-card:hover .vp-card-img img{transform:scale(1.045)}
.vp-card-t{font-family:var(--serif);font-weight:400;font-size:max(20px,calc(26*var(--u)));line-height:1.2;color:#000}
.vp-card-x{flex:1;font-size:max(14px,calc(15*var(--u)));line-height:1.6}
.vp-more{display:flex;justify-content:flex-end;align-items:center;gap:8px;font-weight:500;font-size:max(12px,calc(15*var(--u)));letter-spacing:.06em;text-transform:uppercase}
.vp-more svg{width:30px;height:30px}
.vp-pager{width:min(1339px,calc(100% - 40px));margin:40px auto 0;font-family:var(--sans)}
.vp-pager .nav-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.vp-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;border:1px solid rgba(0,0,0,.3);border-radius:999px;color:var(--text2);text-decoration:none}
.vp-pager .page-numbers.current,.vp-pager .page-numbers:hover{background:var(--brown);border-color:var(--brown);color:var(--cream)}
.vp-actions-row{display:flex;flex-wrap:wrap;gap:12px}
.vp-404 .vp-btn{text-decoration:none}
.vp-404 .vp-btn-dark{color:var(--cream)}

/* ---------- footer (the Figma footer) ---------- */
.vp-footer{width:100%;margin-top:calc(128*var(--u));background:var(--teal);color:var(--light);border-radius:calc(24*var(--u)) calc(24*var(--u)) 0 0;padding:calc(64*var(--u)) 0;display:flex;flex-direction:column;align-items:center;gap:calc(32*var(--u));min-height:calc(681*var(--u));font-family:var(--sans)}
.vp-footer .foot-row{width:calc(1334*var(--u));display:flex;gap:calc(173*var(--u));align-items:flex-start}
.vp-footer .foot-logo{position:relative;width:calc(271.809*var(--u));height:calc(282.097*var(--u));flex:none}
.vp-footer .foot-logo .ring{position:absolute;inset:0;width:100%;height:100%}
.vp-footer .foot-logo .word{position:absolute;left:calc(33.92*var(--u));top:calc(115.03*var(--u));width:calc(194.76*var(--u));height:calc(62.824*var(--u))}
.vp-footer .foot-cols{display:contents}
.vp-footer .fcol{display:flex;flex-direction:column;gap:calc(24*var(--u))}
.vp-footer .fh{font-family:var(--serif);font-weight:400;font-size:calc(24*var(--u));line-height:normal;letter-spacing:0;text-transform:none;white-space:nowrap;color:var(--light)}
.vp-footer ul{list-style:none;display:flex;flex-direction:column;gap:calc(24*var(--u));font-weight:500;font-size:calc(16*var(--u));line-height:normal}
.vp-footer li{list-style:none}
.vp-footer .fcol.f1{width:calc(150*var(--u))}.vp-footer .fcol.f2{width:calc(130*var(--u))}.vp-footer .fcol.f3{width:calc(155*var(--u))}
.vp-footer .fcol.f1 li{width:calc(186*var(--u))}.vp-footer .fcol.f2 li{width:calc(161*var(--u))}
.vp-footer .fcol.f3 ul{font-weight:300}
.vp-footer .fcol.f3 li{white-space:nowrap}
.vp-footer .fcol a:hover{text-decoration:underline}
.vp-footer .hours{display:grid;grid-template-columns:calc(45*var(--u)) auto;column-gap:calc(12*var(--u));row-gap:calc(8*var(--u))}
.vp-footer .foot-bottom{width:calc(1334*var(--u));display:flex;align-items:center;justify-content:space-between;font-size:calc(16*var(--u))}
.vp-footer .copy{font-weight:300;width:calc(462*var(--u));text-align:center}
.vp-footer .foot-legal{display:flex;gap:calc(24*var(--u));align-items:center;font-weight:500}
.vp-footer .foot-legal span{display:inline-flex;align-items:center;gap:calc(5*var(--u))}
.vp-footer .foot-legal img{width:calc(24*var(--u));height:calc(24*var(--u))}


/* ===================== Elementor data renderer (.ve) =====================
   Pages built in Elementor are rendered by the theme from their saved data; these are their styles. */
.ve{position:relative}
.ve-sec{position:relative;padding:calc(64*var(--u)) 0}
.ve>.ve-sec:first-child{padding-top:calc(96*var(--u))}
.ve-in{box-sizing:border-box;width:min(1180px,calc(100% - 48px));margin:0 auto;display:flex;flex-direction:column;gap:20px}
.ve-row{display:flex;flex-wrap:wrap;gap:32px 40px;align-items:flex-start}
.ve-row>*{flex:1 1 300px;min-width:0}
.ve-col{display:flex;flex-direction:column;gap:18px;min-width:0}
.ve-bg{position:relative;isolation:isolate;overflow:hidden;border-radius:24px;background:var(--brown) var(--ve-bg) center/cover no-repeat;color:#fff}
.ve-bg::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(62,47,44,.82) 0%,rgba(62,47,44,.55) 55%,rgba(62,47,44,.25) 100%)}
section.ve-sec.ve-bg{width:min(1335px,calc(100% - 32px));margin:calc(64*var(--u)) auto 0;padding:calc(96*var(--u)) 0}
.ve-col.ve-bg,.ve-row.ve-bg{padding:32px;min-height:280px}
.ve-bg .ve-h,.ve-bg .ve-text,.ve-bg .ve-text a,.ve-bg .ve-text strong{color:#fff}
.ve-h{margin:0;font-family:var(--serif);font-weight:400;line-height:1.2;letter-spacing:0;text-transform:none;color:#000;overflow-wrap:break-word}
h1.ve-h{font-size:clamp(32px,3.6vw,52px)}
h2.ve-h{font-size:clamp(28px,3vw,44px)}
h3.ve-h{font-size:clamp(22px,2.1vw,30px)}
h4.ve-h,h5.ve-h,h6.ve-h{font-size:20px;font-weight:500}
p.ve-h{font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--rose)}
.ve-h a{color:inherit;text-decoration:none}
.ve-text{max-width:860px;font-family:var(--sans);font-size:17px;line-height:1.75;color:var(--text2);overflow-wrap:break-word}
.ve-text>*{margin:0}
.ve-text>*+*{margin-top:1em}
.ve-text p{margin:0}
.ve-text p+p{margin-top:1em}
.ve-text a{color:var(--rose);text-decoration:underline;text-underline-offset:3px}
.ve-text strong{font-weight:600;color:#1f1a19}
.ve-text ul,.ve-text ol{padding-left:1.3em}
.ve-text li+li{margin-top:.4em}
.ve-img{margin:0}
.ve-img img{display:block;width:100%;height:auto;max-height:640px;object-fit:cover;border-radius:24px}
.ve-img figcaption{margin-top:8px;font-size:14px;color:#6f625e}
.ve-btns{display:flex;flex-wrap:wrap;gap:12px;margin:6px 0 0}
.ve-btns .vp-btn{text-decoration:none}
.ve-list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(0,0,0,.14);font-family:var(--sans)}
.ve-list li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 2px;border-bottom:1px solid rgba(0,0,0,.14);font-size:16px;line-height:1.5}
.ve-list a{color:inherit;text-decoration:none}
.ve-list a:hover{color:var(--rose)}
.ve-li-v{font-family:var(--serif);color:var(--rose);white-space:nowrap}
.ve-bg .ve-list li{border-color:rgba(255,255,255,.3)}
.ve-hr{width:100%;border:0;border-top:1px solid rgba(0,0,0,.14);margin:4px 0}
.ve-html iframe,.ve-map iframe,.vp-prose iframe{display:block;width:100%!important;max-width:100%;height:auto!important;aspect-ratio:16/9;border:0;border-radius:24px}
.ve-map{width:100%;margin-top:8px}
.vp-csec .ve-map iframe{aspect-ratio:21/9}
@media (max-width:1099px){.vp-csec .ve-map iframe{aspect-ratio:4/3}}
.ve-video{width:100%}
.ve-video video,.ve-video iframe{display:block;width:100%;height:auto;max-height:640px;border:0;border-radius:24px;background:#1f1716}
.ve-169 iframe{aspect-ratio:16/9}
.ve-box{display:flex;flex-direction:column;gap:12px;padding:24px;border:1px solid rgba(0,0,0,.6);border-radius:24px}
.ve-box img{width:100%;height:auto;border-radius:16px}
.ve-box h3{font-family:var(--serif);font-weight:400;font-size:24px;color:#000}
.ve-box-t{font-size:15px;line-height:1.6}
.ve-faq{width:100%;max-width:1000px;border-bottom:1px solid rgba(0,0,0,.8)}
.ve-counter{display:flex;flex-direction:column;gap:6px}
.ve-counter strong{font-family:var(--serif);font-style:italic;font-weight:400;font-size:48px;line-height:1;color:#000}
.ve-counter span{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--rose)}
.ve-quote{margin:0;padding:28px;border:1px solid rgba(0,0,0,.6);border-radius:24px}
.ve-quote blockquote{margin:0;font-family:var(--serif);font-size:20px;line-height:1.5;color:#000}
.ve-quote figcaption{margin-top:12px;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--rose)}
.ve .vp-cards{width:100%;margin-top:8px}
.ve-slider{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - 3*24px)/4);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:thin}
.ve-slider>*{scroll-snap-align:start}
.ve-form{width:100%;max-width:760px}
.ve-form-alt p{font-size:16px}
.ve-form .forminator-button-submit,.vp-cform .forminator-button-submit{border-radius:999px!important;background:var(--brown)!important;color:var(--cream)!important;letter-spacing:.14em;text-transform:uppercase;padding:14px 32px!important}
.ve-form .forminator-ui,.vp-cform .forminator-ui{font-family:var(--sans)!important}
.vp-main img{max-width:100%;height:auto}
.vp-main video{max-width:100%}

/* ===================== contacts ===================== */
.vp-csec{width:min(1180px,calc(100% - 40px));margin:calc(96*var(--u)) auto 0}
.vp-cgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:40px}
.vp-ccard{display:flex;flex-direction:column;gap:8px;padding:28px 24px;border:1px solid #000;border-radius:24px;color:var(--text2);text-decoration:none;font-family:var(--sans);transition:background .3s}
a.vp-ccard:hover{background:rgba(223,202,175,.32)}
.vp-cicon svg{display:block;width:26px;height:26px;color:var(--rose)}
.vp-clabel{font-size:12px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--rose)}
.vp-cval{font-family:var(--serif);font-size:21px;line-height:1.35;color:#000;overflow-wrap:anywhere}
.vp-chours ul{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:14px;line-height:1.5}
.vp-chours li{display:contents}
.vp-cactions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:32px 0}
.vp-cactions .vp-btn{text-decoration:none}
.vp-cform .ve-form{margin:32px auto 0}
@media (max-width:1099px){
  .ve-sec{padding:48px 0}
  .ve>.ve-sec:first-child{padding-top:56px}
  .ve-in{width:calc(100% - 40px)}
  section.ve-sec.ve-bg{width:calc(100% - 24px);padding:56px 0}
  .ve-row{gap:24px}
  .ve-row>*{flex-basis:100%}
  .ve-text{font-size:16px}
  .ve-slider{grid-auto-columns:78%}
  .vp-cgrid{grid-template-columns:1fr}
  .vp-csec{margin-top:56px}
}

/* ===================== MOBILE (the 390 frame) ===================== */
@media (max-width:1099px){
  body.vmc-wrapped,body.vmc-landing{--u:min(1.3px,.25641vw)}
  .vp-hero-in{min-height:calc(520*var(--u));padding:calc(178*var(--u)) calc(20*var(--u)) calc(56*var(--u))}
  .vp-hero.has-media .vp-hero-in{min-height:0;padding-right:calc(20*var(--u))}
  .vp-hero.is-compact .vp-hero-in{min-height:calc(100*var(--u))}
  .vp-waves{left:calc(-555*var(--u));right:auto;width:calc(1440*var(--u));top:calc(-342*var(--u))}
  .vp-nav{display:none}
  .vp-logo .ring,.vp-logo .ringword,.vp-logo .word{display:none}
  .vp-logo .mobile{display:block;left:calc(20*var(--u));top:calc(30*var(--u));width:calc(107.798*var(--u));height:calc(35.047*var(--u))}
  .vp-burger{display:block;position:absolute;right:calc(22*var(--u));top:calc(25*var(--u));width:calc(46*var(--u));height:calc(45*var(--u));z-index:6}
  .vp-burger img{width:100%;height:100%}
  .vp-crumb{font-size:calc(17*var(--u));column-gap:calc(12*var(--u))}
  .vp-chrome .vp-title{font-size:calc(44*var(--u));line-height:1.18}
  .vp-lead{font-size:calc(15*var(--u))}
  .vp-actions{gap:10px}
  .vp-btn{min-height:46px;padding:10px 20px;font-size:12px;letter-spacing:.12em}
  .vp-media{position:relative;right:auto;top:auto;width:100%;height:auto;aspect-ratio:350/380;margin-top:calc(40*var(--u));border-radius:calc(175*var(--u)) calc(175*var(--u)) calc(20*var(--u)) calc(20*var(--u))}

  .vp-h2{font-size:calc(30*var(--u))}
  .vp-prose{margin-top:56px;padding:0 20px;font-size:16px}
  .vp-expect,.vp-faq,.vp-reviews,.vp-consult,.vp-section,.vp-cards{width:calc(350*var(--u))}
  .vp-expect{margin-top:calc(80*var(--u));padding:calc(40*var(--u)) calc(20*var(--u))}
  .vp-expect-grid{grid-template-columns:1fr;gap:calc(28*var(--u));margin-top:calc(28*var(--u))}
  .vp-faq,.vp-reviews,.vp-consult{margin-top:calc(80*var(--u))}
  .vp-consult{min-height:0;padding:calc(48*var(--u)) calc(16*var(--u))}
  .vp-consult h2{font-size:calc(34*var(--u))}
  .vp-consult h2 .dc{font-size:calc(80*var(--u))}
  .vp-consult p{max-width:none}
  .vp-section{margin-top:calc(72*var(--u))}
  .vp-cards{grid-template-columns:1fr;gap:calc(16*var(--u));margin-top:calc(56*var(--u))}

  .vp-footer{min-height:0;margin-top:calc(80*var(--u));padding:calc(32*var(--u)) 0}
  .vp-footer .foot-row{width:calc(310*var(--u));flex-direction:column;gap:calc(32*var(--u))}
  .vp-footer .foot-logo{width:calc(75.465*var(--u));height:calc(76.999*var(--u))}
  .vp-footer .foot-logo .word{left:calc(9.42*var(--u));top:calc(31.4*var(--u));width:calc(54.073*var(--u));height:calc(17.148*var(--u))}
  .vp-footer .foot-cols{display:flex;flex-direction:column;gap:calc(32*var(--u))}
  .vp-footer .fh{font-size:calc(20*var(--u))}
  .vp-footer ul{gap:calc(16*var(--u));font-size:calc(14*var(--u))}
  .vp-footer .fcol.f1,.vp-footer .fcol.f2,.vp-footer .fcol.f3,.vp-footer .fcol.f1 li,.vp-footer .fcol.f2 li{width:auto}
  .vp-footer .fcol.f3 ul{gap:calc(8*var(--u));font-size:calc(16*var(--u))}
  .vp-footer .foot-bottom{width:calc(350*var(--u));flex-direction:column-reverse;gap:calc(32*var(--u))}
  .vp-footer .copy{width:100%}
  .vp-footer .foot-legal{width:100%;justify-content:space-between}
}
@media (prefers-reduced-motion:reduce){
  .vp-chrome *,.vp-main *,.vp-footer *{transition:none!important}
}

.vp-card .vp-card-img img{width:100%;height:100%;object-fit:cover}
