/* 1.7.1 – measured refinements to the approved frontpage, no content migration. */
body.elementor-page .pv-hero > .elementor-container { max-width:1277px !important; }
body.elementor-page .pv-section-copy p { font-weight:400 !important; }
.pv-site-header { background:linear-gradient(100deg,#fafaf6 0%,#fff 65%,#eaf0eb 100%); box-shadow:none; }
.pv-nav a { font-size:13px; font-weight:500; }
.pv-nav a.is-active { color:#17251f; font-weight:700; }
.pv-nav a.is-active:after { height:2px; bottom:14px; }
.pv-header-cta .elementor-button { box-shadow:none; }
.pv-header-cta .elementor-button-content-wrapper { align-items:center; gap:10px; }
.pv-header-cta .elementor-button-content-wrapper:before { content:""; width:20px; height:20px; flex-shrink:0; background:url("../decor/calendar.svg") center/contain no-repeat; }
body.elementor-page .pv-hero-title:after,
body.elementor-page .pv-services-head .pv-section-title:after,
body.elementor-page .pv-about-note:after,
.pv-cta-title span:after { border:0; box-shadow:none; border-radius:0; background:url("../decor/stroke.svg") center/100% 100% no-repeat; }
body.elementor-page .pv-hero-title:after { left:235px; bottom:8px; width:155px; height:24px; transform:rotate(-5deg); }
body.elementor-page .pv-services-head .pv-section-title:after { left:320px; bottom:-4px; width:148px; height:19px; transform:rotate(-5deg); }
body.elementor-page .pv-services-head:after { width:365px; height:365px; right:-112px; bottom:-226px; border:0 !important; box-shadow:none !important; background:repeating-radial-gradient(circle,transparent 0 28px,rgba(152,112,75,.17) 28px 29px,transparent 29px 56px); }
.pv-service-card > .elementor-widget-wrap { box-shadow:none; border:0; border-radius:3px; }
.pv-service-image { overflow:hidden; border-radius:3px 3px 0 0; }
.pv-service-icon { width:45px; height:44px; margin-left:16px; margin-bottom:11px; }
.pv-service-icon svg { width:31px; height:31px; }
body.elementor-page .pv-service-text p { font-weight:400 !important; color:#626861 !important; }
body.elementor-page .pv-about .pv-section-copy p { color:#313932 !important; }
body.elementor-page .pv-stat strong { font-weight:700; }
body.elementor-page .pv-stat span { font-weight:400; font-size:14px; line-height:1.25; }
body.elementor-page .pv-stat-icon { height:45px; }
body.elementor-page .pv-stat-icon svg { width:45px; height:45px; }
body.elementor-page .pv-stat:first-child strong { font-size:25px !important; }
body.elementor-page .pv-about-note { font-size:27px !important; line-height:1.05; font-weight:400; }
body.elementor-page .pv-about-note:after { width:115px; height:17px; bottom:-13px; }
body.elementor-page .pv-about:before { background:linear-gradient(90deg,rgba(247,245,239,.94),rgba(247,245,239,.86) 38%,rgba(247,245,239,.08) 73%,transparent); }
body.elementor-page .pv-about:after { background:linear-gradient(180deg,#f7f5ef 0%,rgba(247,245,239,.72) 18%,rgba(247,245,239,.12) 48%,transparent 100%),url("../images/mountain-v2.webp") 48% 62%/cover no-repeat !important; }
.pv-benefit { font-weight:400; }
.pv-benefit + .pv-benefit { position:relative; }
.pv-benefit + .pv-benefit:after { content:""; position:absolute; left:-15px; top:3px; bottom:3px; width:1px; background:#ffffff6b; }
.pv-benefit:nth-child(2) svg { display:none; }
.pv-benefit:nth-child(2):before { content:""; width:27px; height:27px; background:url("../decor/leaf.svg") center/contain no-repeat; flex-shrink:0; }
body.elementor-page .pv-schedule:after { border:0; box-shadow:none; width:440px; height:440px; background:repeating-radial-gradient(ellipse at center,transparent 0 34px,#ffffff14 34px 35px,transparent 35px 68px); }
.pv-day { border-radius:4px; }
body.elementor-page .pv-slot b { font-weight:400; }
body.elementor-page .pv-slot { font-size:14px; line-height:1.38; }
.pv-slot svg { width:24px; height:24px; fill:none; }
.pv-slot > span:first-child { display:flex; align-items:center; }
.pv-schedule-mark svg { transform:rotate(-12deg); }
body.elementor-page .pv-cta:after { width:310px; height:310px; top:-44px; right:-44px; border:0; box-shadow:none; border-radius:0; background:url("../decor/target.svg") center/contain no-repeat; }
.pv-cta-title span:after { height:24px; left:8%; right:-20%; bottom:-23px; transform:rotate(-4deg); }
.pv-cta-copy p { font-size:17px; font-weight:400; }
body.elementor-page .pv-post-card h3 { font-size:20px; }
.pv-post-card { box-shadow:none; border-radius:4px; }
.pv-post-body { padding:12px 16px; }
.pv-post-date { font-size:12px; font-weight:400; }
.pv-post-card p { font-size:14px; line-height:1.4; }
.pv-post-more { display:inline-block; margin-top:5px; }
.pv-site-footer { background:radial-gradient(ellipse at 20% 20%,#20392c 0%,#12281f 64%,#10261d 100%); }
.pv-footer-nav a { font-size:14px; font-weight:400; }
.pv-footer-bottom { font-size:12px; }
.pv-footer-signature { font-size:18px; font-weight:400; }
.pv-footer-location, .pv-footer-email { display:flex; align-items:center; gap:12px; }
.pv-footer-location:before { content:""; width:18px; height:24px; flex-shrink:0; background:currentColor; clip-path:polygon(50% 100%,8% 42%,8% 24%,23% 7%,50% 0,77% 7%,92% 24%,92% 42%,50% 100%,50% 55%,68% 40%,68% 25%,50% 18%,32% 25%,32% 40%,50% 55%); }
.pv-footer-email:before { content:""; width:22px; height:16px; flex-shrink:0; border:1px solid currentColor; background:linear-gradient(32deg,transparent 48%,#ffffffa3 49% 51%,transparent 52%) left top/50% 80% no-repeat,linear-gradient(-32deg,transparent 48%,#ffffffa3 49% 51%,transparent 52%) right top/50% 80% no-repeat; }
@media(min-width:1025px) {
 body.elementor-page .pv-hero > .elementor-container { padding:100px 68px 24px !important; }
 body.elementor-page .pv-hero-title .elementor-heading-title { line-height:.84 !important; }
 body.elementor-page .pv-hero-title .elementor-heading-title span { font-size:1.28em; }
 body.elementor-page .pv-hero-text { margin-top:12px !important; }
 body.elementor-page .pv-hero-text p { font-size:26px !important; line-height:1.22 !important; font-weight:500 !important; }
 body.elementor-page .pv-hero-actions { margin-top:20px !important; }
 body.elementor-page .pv-hero-actions .elementor-column:first-child .elementor-button { min-width:228px !important; }
 body.elementor-page .pv-hero-actions .elementor-column:last-child .elementor-button { min-width:185px !important; }
 body.elementor-page .pv-hero .elementor-button, .pv-header-cta .elementor-button, .pv-cta .elementor-button { font-size:15px; font-weight:500; padding:18px 24px; }
 body.elementor-page .pv-benefits { margin-top:27px !important; gap:30px; }
 body.elementor-page .pv-benefit { font-size:14px; }
 body.elementor-page .pv-hero > .elementor-container > .elementor-column:last-child { top:24px; right:27px; }
 .pv-hand-note { font-size:29px; line-height:1.05; font-weight:400; }
 body.elementor-page .pv-services-head > .elementor-container { padding-top:36px !important; padding-bottom:30px !important; }
 body.elementor-page .pv-services-head .pv-section-copy p { font-size:15px !important; line-height:1.5 !important; }
 body.elementor-page .pv-service-card > .elementor-widget-wrap { min-height:438px !important; }
 body.elementor-page .pv-service-image img { height:200px !important; }
 body.elementor-page .pv-service-heading .elementor-heading-title { font-size:25px !important; }
 body.elementor-page .pv-service-text p { font-size:14.5px !important; line-height:1.4 !important; }
 body.elementor-page .pv-about .pv-section-copy p { font-size:17px !important; line-height:1.35 !important; }
 body.elementor-page .pv-about-copy { width:44% !important; }
 body.elementor-page .pv-about .elementor-column:last-child { width:56% !important; }
 body.elementor-page .pv-about .pv-section-title .elementor-heading-title { font-size:49px !important; letter-spacing:-.04em !important; }
 body.elementor-page .pv-about > .elementor-container { min-height:470px; }
 body.elementor-page .pv-stat-grid { margin-top:28px !important; }
 body.elementor-page .pv-stat strong { font-size:19px !important; }
 body.elementor-page .pv-stat:first-child strong { font-size:25px !important; }
 .pv-schedule-intro { font-size:15px; }
 body.elementor-page .pv-schedule-head { grid-template-columns:420px minmax(200px,1fr) auto !important; gap:24px !important; }
 body.elementor-page .pv-day { padding:12px 18px !important; }
 body.elementor-page .pv-gallery-copy .pv-section-copy p { font-size:17px !important; line-height:1.3 !important; }
 body.elementor-page .pv-gallery-copy .pv-section-title .elementor-heading-title { font-size:50px !important; }
 .pv-about-button .elementor-button, .pv-gallery-button .elementor-button { font-size:16px; font-weight:500; }
 .pv-cta-title .elementor-heading-title { white-space:nowrap; }
 .pv-footer-main { grid-template-columns:280px minmax(0,1fr) auto; gap:25px; }
 .pv-footer-logo { width:280px; }
 .pv-footer-nav { gap:24px; }
}
@media(max-width:1024px) {
 body.elementor-page .pv-hero-title:after { left:180px; width:105px; }
 body.elementor-page .pv-slot { font-size:14px; }
 body.elementor-page .pv-services-head .pv-section-title:after { left:45%; width:40%; }
 .pv-footer-main { gap:20px; }
 .pv-footer-nav a { font-size:12px; }
}
@media(max-width:767px) {
 body.elementor-page .pv-hero-title:after { left:160px !important; width:115px !important; height:20px; }
 body.elementor-page .pv-service-text p { font-size:15px !important; line-height:1.45 !important; }
 body.elementor-page .pv-stat span { font-size:13px; }
 body.elementor-page .pv-about-note { font-size:27px !important; }
 .pv-benefit { font-size:12px; }
 .pv-benefit + .pv-benefit:after { display:none; }
 .pv-footer-bottom { gap:16px; }
 .pv-footer-location { justify-content:center; }
 .pv-footer-signature { font-size:20px; }
 .pv-cta-title .elementor-heading-title { white-space:normal; }
 body.elementor-page .pv-cta:after { right:-145px; }
 .pv-cta-copy p { font-size:16px; margin-top:28px; }
}
@media(min-width:1025px) {
 body.elementor-page .pv-services-head .elementor-column:last-child .elementor-widget-html { position:absolute; right:-22px; top:0; width:130px; height:118px; }
 body.elementor-page .pv-services-head .pv-discipline-note { right:0 !important; top:0 !important; height:118px; }
 body.elementor-page .pv-about-copy { width:48% !important; }
 body.elementor-page .pv-about .elementor-column:last-child { width:52% !important; }
}
body.elementor-page .pv-services-head:after { background:repeating-radial-gradient(circle,transparent 0 33px,rgba(152,112,75,.17) 33px 34px); }
body.elementor-page .pv-cta:after { top:-66px; right:-76px; }
.pv-service-card:nth-child(1) .pv-service-icon svg,
.pv-service-card:nth-child(3) .pv-service-icon svg { visibility:hidden; }
.pv-service-card:nth-child(1) .pv-service-icon,
.pv-service-card:nth-child(3) .pv-service-icon { background:#fff url("../decor/mountains.svg") center/34px 34px no-repeat; }
@media(min-width:1025px) {
 body.elementor-page .pv-gallery-copy .pv-section-title .elementor-heading-title { font-size:54px !important; }
 .pv-site-footer > .elementor-container { min-height:256px; }
 .pv-footer-signature { position:relative; padding-right:110px; font-size:17px; white-space:nowrap; }
 .pv-footer-signature:after { content:""; position:absolute; width:100px; height:55px; right:0; top:-14px; background:url("../decor/footer-mountains.svg") center/contain no-repeat; }
}
@media(min-width:1025px) {
 .pv-site-header, .pv-site-header > .elementor-container { min-height:74px; }
 body.elementor-page .pv-cta-title .elementor-heading-title { font-size:82px !important; }
 .pv-cta > .elementor-container { padding-block:30px; }
 .pv-cta-copy p { margin-top:15px; }
 .pv-news > .elementor-container { padding-top:30px; padding-bottom:26px; }
 .pv-news .pv-section-title .elementor-heading-title { font-size:52px !important; }
 .pv-post-card { grid-template-columns:41% 59%; }
 .pv-post-body { padding:12px 14px; }
 body.elementor-page .pv-post-card h3 { font-size:19px; line-height:1.05; }
}
/* 1.7.2: supplied portrait logo retains its original composition and colours. */
body.elementor-page .pv-logo img { width:106px !important; height:106px !important; max-height:none; object-fit:contain; }
.pv-site-header, .pv-site-header > .elementor-container { min-height:114px; }
.pv-footer-logo { width:116px; height:116px; object-fit:contain; background:white; border-radius:3px; }
@media(min-width:1025px) {
 .pv-site-header, .pv-site-header > .elementor-container { min-height:114px; }
 .pv-footer-main { grid-template-columns:180px minmax(0,1fr) auto; }
}
@media(max-width:767px) {
 body.elementor-page .pv-logo img { width:76px !important; height:76px !important; }
 .pv-site-header, .pv-site-header > .elementor-container { min-height:84px; }
 .pv-site-header .pv-nav { top:84px; }
 .pv-footer-logo { width:112px; height:112px; }
}
