/*
Theme Name: VitalPath Editable
Theme URI: https://example.com/
Author: OpenAI
Description: Editable wellness/bodywork WordPress theme recreating the layout language and responsive behavior of a reference Bricks-built bodywork website, with replaceable content and media.
Version: 2.0.0
Text Domain: vitalpath-editable
*/
:root{
  --vp-ink:#182d29;--vp-green:#23483f;--vp-sage:#9eae9f;--vp-soft:#eef1ea;
  --vp-cream:#f5f1ea;--vp-beige:#e7ded1;--vp-line:#d7d4cc;--vp-paper:#fbfaf7;
  --vp-white:#fff;--vp-muted:#69736f;--vp-container:1240px;--vp-radius:22px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--vp-paper);color:var(--vp-ink);font-family:Inter,Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{text-decoration:none;color:inherit}.container{width:min(calc(100% - 64px),var(--vp-container));margin-inline:auto}.section{padding:112px 0}.section.soft{background:var(--vp-soft)}.section.cream{background:var(--vp-cream)}
.eyebrow{font-size:12px;line-height:1.2;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#68796f;margin-bottom:18px}h1,h2,h3,h4{font-family:"Times New Roman",Georgia,serif;font-weight:400;letter-spacing:-.025em;margin:0;color:var(--vp-ink)}h1{font-size:clamp(56px,7.5vw,112px);line-height:.91}h2{font-size:clamp(44px,5.2vw,76px);line-height:.98}h3{font-size:clamp(28px,2.4vw,38px);line-height:1.08}h4{font-size:22px;line-height:1.2}.lead{font-size:clamp(18px,1.7vw,22px);line-height:1.55;color:var(--vp-muted);max-width:720px}.copy{color:var(--vp-muted);font-size:17px;line-height:1.7}.copy p{margin:0 0 18px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.btn{min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:0 25px;border-radius:999px;border:1px solid var(--vp-ink);font-size:14px;font-weight:700;transition:transform .25s ease,background .25s ease,color .25s ease}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--vp-ink);color:#fff}.btn.light{background:#fff;border-color:#fff;color:var(--vp-ink)}.btn.outline{background:transparent}
.site-topbar{background:var(--vp-ink);color:#fff;text-align:center;padding:8px 20px;font-size:12px;letter-spacing:.04em}.site-header{position:sticky;top:0;z-index:50;background:rgba(251,250,247,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(24,45,41,.08)}.header-row{height:86px;display:flex;align-items:center;gap:34px}.brand{font-family:"Times New Roman",Georgia,serif;font-size:25px;line-height:1}.custom-logo{max-height:52px;width:auto}.nav{margin-left:auto}.nav ul{display:flex;align-items:center;gap:32px;list-style:none;padding:0;margin:0}.nav a{font-size:14px;position:relative}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--vp-ink);transition:right .25s}.nav a:hover:after{right:0}.header-cta{white-space:nowrap}.menu-toggle{display:none;margin-left:auto;background:none;border:0;font-size:28px;color:var(--vp-ink)}
.hero{padding:34px 0 74px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr);min-height:720px}.hero-copy{background:var(--vp-cream);padding:84px 74px 78px;border-radius:24px 0 0 24px;display:flex;flex-direction:column;justify-content:center}.hero-copy h1{max-width:630px;font-size:clamp(60px,6.3vw,96px)}.hero-copy .lead{max-width:560px;margin-top:26px}.hero-media{border-radius:0 24px 24px 0;overflow:hidden;position:relative;background:linear-gradient(145deg,#d8d0c4,#aab8aa)}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(20,38,33,.12))}
.story-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:88px;align-items:center}.story-media{border-radius:260px 260px 22px 22px;overflow:hidden;aspect-ratio:4/5;background:var(--vp-beige)}.story-media img{width:100%;height:100%;object-fit:cover}.story-copy h2{max-width:670px}.story-copy .copy{max-width:680px;margin-top:30px}.badges{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0 8px}.badge{padding:8px 12px;border:1px solid var(--vp-line);border-radius:999px;font-size:12px;color:#58645f;background:rgba(255,255,255,.55)}
.cert-strip{padding:30px 0;border-top:1px solid var(--vp-line);border-bottom:1px solid var(--vp-line)}.cert-row{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:22px;align-items:center}.cert-label{font-family:"Times New Roman",Georgia,serif;font-size:24px}.cert-pill{text-align:center;padding:15px 10px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#637069}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:56px}.section-head .lead{max-width:590px;margin:0}.pricing-wrap{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:70px}.pricing-group{border:1px solid var(--vp-line);border-radius:22px;background:#fff;padding:30px}.pricing-title{font-family:"Times New Roman",Georgia,serif;font-size:25px;margin-bottom:16px}.price-row{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid var(--vp-line)}.price-row:first-of-type{border-top:0}.price-row strong{font-size:17px}
.services-list{display:grid;gap:30px}.service-row{display:grid;grid-template-columns:1fr 1fr;min-height:560px;border:1px solid var(--vp-line);border-radius:24px;overflow:hidden;background:#fff}.service-row:nth-child(even) .service-image{order:2}.service-image{background:var(--vp-beige);overflow:hidden}.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.service-row:hover .service-image img{transform:scale(1.025)}.service-content{padding:58px;display:flex;flex-direction:column;justify-content:center}.service-content h3{font-size:46px;margin-bottom:20px}.service-content .copy{font-size:16px}.service-meta{display:flex;gap:16px;flex-wrap:wrap;margin:22px 0;color:#53625c;font-size:13px}.service-link{margin-top:8px;font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:9px}.service-link:after{content:"→"}
.booking{background:var(--vp-ink);color:#fff}.booking h2,.booking h3{color:#fff}.booking .eyebrow{color:#b9c8c0}.booking .lead{color:#d1ddd7}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:60px;border-top:1px solid rgba(255,255,255,.2)}.step{padding:34px 44px 18px 0;border-right:1px solid rgba(255,255,255,.2);min-height:235px}.step:not(:first-child){padding-left:44px}.step:last-child{border-right:0}.step-num{font-family:"Times New Roman",Georgia,serif;font-size:56px;line-height:1;color:#a8b9af;margin-bottom:34px}.step p{color:#cbd8d2;max-width:300px}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:52px}.feature{border:1px solid var(--vp-line);border-radius:22px;padding:38px;background:rgba(255,255,255,.45);min-height:280px}.feature-icon{width:52px;height:52px;border:1px solid #8fa097;border-radius:50%;display:grid;place-items:center;margin-bottom:58px;font-size:20px}.feature p{color:var(--vp-muted)}
.faq-wrap{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.faq-intro{position:sticky;top:130px;align-self:start}.faq-item{border-top:1px solid var(--vp-line)}.faq-item:last-child{border-bottom:1px solid var(--vp-line)}.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;border:0;background:transparent;padding:25px 0;text-align:left;color:var(--vp-ink);font:400 24px/1.2 "Times New Roman",Georgia,serif;cursor:pointer}.faq-q span:last-child{font:300 28px/1 Arial;transition:transform .25s}.faq-a{display:none;padding:0 52px 28px 0;color:var(--vp-muted);font-size:16px}.faq-a p:first-child{margin-top:0}.faq-item.open .faq-a{display:block}.faq-item.open .faq-q span:last-child{transform:rotate(45deg)}
.cta-shell{position:relative;border-radius:24px;overflow:hidden;background:var(--vp-green);color:#fff;padding:74px;min-height:410px;display:flex;align-items:center}.cta-shell:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.2);border-radius:50%;right:-90px;top:-110px;box-shadow:0 0 0 70px rgba(255,255,255,.035),0 0 0 140px rgba(255,255,255,.025)}.cta-shell h2{color:#fff;max-width:700px}.cta-shell .lead{color:#d6e2dc}.cta-inner{position:relative;z-index:2}
.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:64px;align-items:start}.contact-list{margin-top:38px;border-top:1px solid var(--vp-line)}.contact-item{padding:23px 0;border-bottom:1px solid var(--vp-line);display:grid;grid-template-columns:100px 1fr;gap:22px}.contact-item strong{font-size:13px;text-transform:uppercase;letter-spacing:.08em}.form-shell{background:var(--vp-cream);border-radius:24px;padding:44px}.form-shell h3{margin-bottom:26px}.form-shell input,.form-shell textarea,.form-shell select{width:100%;border:0;border-bottom:1px solid #bfc1bb;background:transparent;border-radius:0;padding:15px 0;margin-bottom:18px;font:inherit;color:var(--vp-ink);outline:none}.form-shell textarea{min-height:120px}.form-shell input:focus,.form-shell textarea:focus,.form-shell select:focus{border-color:var(--vp-ink)}
.site-footer{background:#112823;color:#dbe5e0;padding:76px 0 24px}.footer-grid{display:grid;grid-template-columns:1.7fr .8fr 1.1fr;gap:60px}.site-footer h4{color:#fff;margin-bottom:20px}.site-footer p{color:#aebdb6;max-width:440px}.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}.site-footer a{color:#dbe5e0}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);padding-top:22px;margin-top:58px;display:flex;justify-content:space-between;gap:20px;color:#91a39a;font-size:12px}
.page-hero{padding:105px 0 72px;background:var(--vp-cream)}.page-hero h1{font-size:clamp(58px,7vw,96px)}.content{max-width:900px}.content p{font-size:18px;color:var(--vp-muted)}.service-detail{padding:40px 0;border-bottom:1px solid var(--vp-line)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:1050px){.container{width:min(calc(100% - 40px),var(--vp-container))}.hero-grid{grid-template-columns:1fr;min-height:0}.hero-copy{border-radius:24px 24px 0 0;padding:64px 48px}.hero-media{border-radius:0 0 24px 24px;aspect-ratio:16/11}.story-grid{gap:50px}.service-row{min-height:470px}.service-content{padding:42px}.faq-wrap{gap:50px}.nav{display:none;position:absolute;top:86px;left:0;right:0;background:var(--vp-paper);border-bottom:1px solid var(--vp-line);padding:24px}.nav.open{display:block}.nav ul{display:grid;gap:18px}.menu-toggle{display:block}.header-cta{display:none}.cert-row{grid-template-columns:1fr 1fr}.cert-label{grid-column:1/-1}.features{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.container{width:min(calc(100% - 28px),var(--vp-container))}.section{padding:76px 0}.header-row{height:72px}.nav{top:72px}.hero{padding:14px 0 52px}.hero-copy{padding:45px 26px}.hero-copy h1{font-size:54px}.hero-media{aspect-ratio:4/5}.story-grid,.contact-grid,.faq-wrap{grid-template-columns:1fr}.story-grid{gap:36px}.story-media{border-radius:180px 180px 18px 18px}.section-head{display:block;margin-bottom:38px}.section-head .lead{margin-top:20px}.pricing-wrap{grid-template-columns:1fr}.service-row{grid-template-columns:1fr;min-height:0}.service-row:nth-child(even) .service-image{order:0}.service-image{aspect-ratio:4/3}.service-content{padding:32px 26px 38px}.service-content h3{font-size:38px}.steps{grid-template-columns:1fr}.step,.step:not(:first-child){padding:28px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.2);min-height:0}.step:last-child{border-bottom:0}.step-num{margin-bottom:16px}.features{grid-template-columns:1fr}.feature{min-height:0}.feature-icon{margin-bottom:35px}.faq-intro{position:static}.cta-shell{padding:46px 28px;min-height:360px}.form-shell{padding:30px 22px}.contact-item{grid-template-columns:1fr;gap:8px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom>*{display:block;margin-bottom:8px}.cert-row{grid-template-columns:1fr 1fr}.brand{font-size:21px}}
