:root{--sage:#8b8c77;--green:#2f3627;--deep:#1f291a;--cream:#eae8c5;--blush:#f2eae9;--ink:#20251d;--paper:#faf9f5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Maitree',serif;line-height:1.75}h1,h2,h3{font-family:'Forum',serif;font-weight:400;line-height:1.05;margin:0}h1{font-size:clamp(3.3rem,8vw,7.5rem)}h2{font-size:clamp(2.5rem,5vw,5rem)}h3{font-size:2rem}.eyebrow,.site-header,button,.button,.price,.contact-grid small,footer{font-family:'Lato',sans-serif}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:700;margin:0 0 1rem;color:var(--sage)}.site-header{height:100px;display:flex;align-items:center;padding:12px 5vw;background:var(--green);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(234,232,197,.15)}.brand img{width:150px;height:74px;object-fit:cover;object-position:center}.site-header nav{margin-left:auto;display:flex;gap:2rem;align-items:center}.site-header nav a{color:var(--cream);text-decoration:none;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.nav-cta{border:1px solid var(--cream);padding:.7rem 1rem}.menu{display:none;margin-left:auto;background:none;color:var(--cream);border:1px solid var(--sage);padding:.5rem .8rem}.hero{min-height:calc(100vh - 100px);background:var(--green);color:var(--cream);display:grid;grid-template-columns:1.08fr .92fr}.hero-copy{padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center}.hero .eyebrow{color:var(--cream)}.lead{max-width:620px;font-size:1.18rem}.hero-image{background:linear-gradient(rgba(31,41,26,.15),rgba(31,41,26,.2)),url('assets/massage-relaxation.jpg') center/cover no-repeat;min-height:520px}.actions{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap}.button{display:inline-block;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;padding:1rem 1.35rem}.primary{background:var(--cream);color:var(--deep)}.ghost{border:1px solid var(--sage);color:var(--cream)}.section{padding:9vw 8vw}.about,.meaning,.first-visit,.qualifications,.visit{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.prose{max-width:760px}.prose p:first-child{margin-top:0}.dark{background:var(--deep);color:var(--cream)}.dark .eyebrow{color:var(--sage)}.meaning{background:var(--green)}.section-head{max-width:760px;margin-bottom:4rem}.section-head>p:last-child{font-size:1.1rem}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--sage);border:1px solid var(--sage)}.cards article{background:var(--paper);padding:3rem}.cards article>span{font-family:'Lato',sans-serif;color:var(--sage);font-size:.75rem;letter-spacing:.15em}.cards h3{margin:.5rem 0 1rem}.price{border-top:1px solid #d7d5c8;padding:.8rem 0;display:flex;justify-content:space-between;gap:1rem;font-size:.88rem}.price b{font-weight:400}.price strong{font-size:1rem}.soft{background:var(--blush)}.wellbeing{background:var(--cream);display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:center}.wellbeing-copy{max-width:720px}.wellbeing .primary{background:var(--deep);color:var(--cream);margin-top:1rem}.minimum{margin:1.5rem 0}.quote{font-family:'Forum',serif;font-size:clamp(2.8rem,5vw,5rem);line-height:1.05;color:var(--green);border-left:1px solid var(--sage);padding-left:3rem}.qualifications ul{list-style:none;padding:0;margin:0}.qualifications li{padding:1rem 0;border-bottom:1px solid #d8d8cb}.visit-note{align-self:end;max-width:560px}.text-link{color:var(--cream);font-family:'Lato',sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem}.book{text-align:center}.book>p:not(.eyebrow){max-width:650px;margin:1rem auto 3rem}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);max-width:900px;margin:auto;border:1px solid var(--sage)}.contact-grid a{padding:2rem;text-decoration:none;color:var(--deep);border:1px solid var(--sage);display:flex;flex-direction:column;gap:.4rem}.contact-grid small{text-transform:uppercase;letter-spacing:.12em;color:var(--sage)}.contact-grid strong{font-family:'Maitree',serif;font-weight:500}.future{font-size:.9rem;color:#606454}footer{background:var(--green);color:var(--cream);text-align:center;padding:3rem}footer img{width:170px;height:120px;object-fit:cover;margin-bottom:1rem}footer p{font-size:.78rem;letter-spacing:.06em;margin:.4rem}
@media(max-width:820px){.site-header{height:82px}.brand img{width:120px;height:58px}.menu{display:block}.site-header nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--deep);padding:1.5rem 6vw;flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:18vw 7vw 14vw}.hero-image{min-height:330px}.section{padding:18vw 7vw}.about,.meaning,.first-visit,.qualifications,.visit,.wellbeing{grid-template-columns:1fr;gap:3rem}.cards{grid-template-columns:1fr}.cards article{padding:2rem}.quote{border-left:0;border-top:1px solid var(--sage);padding:2rem 0 0}.contact-grid{grid-template-columns:1fr}.contact-grid a{padding:1.5rem}.hero .actions{flex-direction:column;align-items:flex-start}}
/* v2: full brand mark, portrait and studio video */
.brand img{object-fit:contain;object-position:left center;height:76px;width:190px}
.hero-logo{width:min(520px,82%);height:auto;object-fit:contain;margin:0 0 2.8rem;display:block}
.hero h1{font-size:clamp(2.5rem,5.2vw,5rem);max-width:760px}
.hero .lead{font-size:1.08rem}
.about-intro{display:flex;flex-direction:column;align-items:flex-start}
.portrait{width:min(100%,420px);aspect-ratio:3/4;object-fit:cover;object-position:center top;margin-top:2.5rem}
.moments{background:var(--paper)}
.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,360px));gap:2rem;justify-content:center;align-items:start}
.video-grid video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:var(--deep)}
footer img{object-fit:contain;height:auto}
@media(max-width:820px){
 .brand img{width:155px;height:62px}
 .hero-copy{padding-top:12vw}
 .hero-logo{width:92%;max-width:390px;margin-bottom:2rem}
 .hero h1{font-size:clamp(2.35rem,11vw,3.7rem);line-height:1.02}
 .hero .lead{font-size:1rem}
 .portrait{width:100%;max-width:390px}
 .video-grid{grid-template-columns:1fr;max-width:420px;margin:auto}
}
/* v4: authentic studio imagery, office wellbeing image, improved mobile menu */
.wellbeing-photo img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover;object-position:center}.wellbeing-photo p{font-family:'Forum',serif;font-size:clamp(2rem,4vw,3.7rem);line-height:1.05;color:var(--green);margin:1rem 0 0}.studio-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin-top:2rem}.studio-gallery img{width:100%;height:230px;object-fit:cover;filter:brightness(.92) contrast(.96) saturate(.82)}
@media(max-width:820px){.studio-gallery{grid-template-columns:1fr}.studio-gallery img{height:auto;max-height:520px}.wellbeing-photo{max-width:440px}}

/* v5 refinements */
.video-grid{grid-template-columns:minmax(0,440px)}
.studio-gallery{grid-template-columns:1fr;max-width:620px}
.studio-gallery img{height:auto;max-height:720px;object-fit:cover}

/* v7: unified opening-page typography */
.hero-copy,
.hero-copy h1,
.hero-copy .lead,
.hero-copy .eyebrow { color: var(--cream); }

.hero-copy .eyebrow {
  width: min(520px,82%);
  text-align:center;
  margin:0 0 1.25rem;
}

@media(max-width:820px){
  .hero-copy .eyebrow {
    width:92%;
    max-width:390px;
    text-align:center;
  }
}

/* v8 — cleaner, more consistent opening section */
.hero-logo{
  image-rendering:auto;
  filter:contrast(1.22) saturate(1.12) brightness(1.06);
  width:min(500px,78%);
  height:auto;
}
.hero-copy h1{
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(2rem,5.5vw,3.15rem) !important;
  line-height:1.22 !important;
  font-weight:400 !important;
  letter-spacing:.01em !important;
  color:var(--cream) !important;
  max-width:760px;
}
.hero-copy .lead{
  font-family:Inter,Arial,sans-serif !important;
  font-size:clamp(1.05rem,2.5vw,1.28rem) !important;
  line-height:1.65 !important;
  font-weight:400 !important;
  color:var(--cream) !important;
  max-width:760px;
}
.hero-copy .eyebrow{
  font-family:Inter,Arial,sans-serif !important;
  color:var(--cream) !important;
}
@media(max-width:820px){
  .hero-logo{width:82%;max-width:420px}
  .hero-copy h1{
    font-size:2rem !important;
    line-height:1.3 !important;
  }
  .hero-copy .lead{
    font-size:1.05rem !important;
    line-height:1.65 !important;
  }
}

/* v9 — exact approved opening style: clean, centred, single-colour */
.hero{
  min-height:calc(100vh - 100px);
  display:block !important;
  background:var(--green) !important;
  color:var(--cream);
}
.hero-copy{
  min-height:calc(100vh - 100px);
  max-width:980px;
  margin:0 auto;
  padding:5rem 6vw 6rem !important;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
}
.hero-logo{
  width:min(540px,80%) !important;
  max-width:540px;
  height:auto;
  margin:0 auto 2.6rem !important;
  filter:none !important;
  display:block;
}
.hero-copy .eyebrow{
  width:100% !important;
  max-width:760px !important;
  margin:0 auto 2.1rem !important;
  text-align:center !important;
  font-family:'Lato',Arial,sans-serif !important;
  font-size:.9rem !important;
  line-height:1.55 !important;
  letter-spacing:.18em !important;
  color:var(--cream) !important;
}
.hero-copy h1{
  width:100%;
  max-width:850px !important;
  margin:0 auto 1.6rem !important;
  text-align:center !important;
  font-family:'Maitree',serif !important;
  font-size:clamp(2rem,4.6vw,3.5rem) !important;
  line-height:1.28 !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  color:var(--cream) !important;
}
.hero-copy .lead{
  width:100%;
  max-width:720px !important;
  margin:0 auto !important;
  text-align:center !important;
  font-family:'Maitree',serif !important;
  font-size:clamp(1rem,2.1vw,1.22rem) !important;
  line-height:1.75 !important;
  font-weight:400 !important;
  color:var(--cream) !important;
}
.hero .actions{
  justify-content:center !important;
  align-items:center !important;
  margin-top:2.8rem !important;
}
.hero-image{display:none !important}
@media(max-width:820px){
  .hero{min-height:calc(100vh - 82px)}
  .hero-copy{
    min-height:calc(100vh - 82px);
    padding:3.2rem 7vw 4.5rem !important;
  }
  .hero-logo{
    width:88% !important;
    max-width:430px !important;
    margin-bottom:2.2rem !important;
  }
  .hero-copy .eyebrow{
    font-size:.82rem !important;
    margin-bottom:1.8rem !important;
  }
  .hero-copy h1{
    font-size:2rem !important;
    line-height:1.35 !important;
    margin-bottom:1.4rem !important;
  }
  .hero-copy .lead{
    font-size:1rem !important;
    line-height:1.7 !important;
  }
  .hero .actions{
    width:100%;
    margin-top:2.4rem !important;
  }
}

/* v10 — solid, even, sharp single-colour hero logo */
.hero-logo{
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  image-rendering:auto !important;
}

/* v11 — crisp hero branding, same deep green background */
.hero-logo-crisp{
  width:min(78vw,520px) !important;
  margin:0 auto 2.2rem !important;
  text-align:center;
  color:#ebe8c8;
  filter:none !important;
  opacity:1 !important;
}
.hero-mark{
  display:block;
  width:min(32vw,190px);
  height:auto;
  margin:0 auto .55rem;
  fill:#ebe8c8;
  stroke:#ebe8c8;
  stroke-width:8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.hero-mark circle{stroke:none}
.hero-mark path{fill:none}
.hero-brand-word{
  color:#ebe8c8;
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(3.2rem,13vw,6.2rem);
  font-weight:400;
  letter-spacing:.16em;
  line-height:1;
  white-space:nowrap;
}
.hero-brand-sub{
  color:#ebe8c8;
  font-family:Arial, Helvetica, sans-serif;
  font-size:clamp(.9rem,3.6vw,1.35rem);
  font-weight:600;
  letter-spacing:.18em;
  line-height:1.2;
  margin-top:.75rem;
  white-space:nowrap;
}

/* v12 — exact original Tactus logo design, solid single colour, no foil effect */
.hero-logo-original{
  display:block !important;
  width:min(78vw,520px) !important;
  height:auto !important;
  margin:0 auto 2.2rem !important;
  object-fit:contain !important;
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
}

/* v13 — approved homepage hero appearance */
.hero, .hero-section, .hero-wrap, main > section:first-of-type {
  background:#293321 !important;
}
.hero-approved-logo{
  color:#ebe8c8 !important;
  text-align:center !important;
  margin:0 auto 2.5rem !important;
  width:min(82vw,560px) !important;
}
.hero-approved-mark{
  display:block !important;
  width:min(43vw,220px) !important;
  height:auto !important;
  margin:0 auto .65rem !important;
}
.hero-approved-wordmark{
  color:#ebe8c8 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:clamp(3.5rem,13vw,6.2rem) !important;
  font-weight:400 !important;
  line-height:.95 !important;
  letter-spacing:.13em !important;
  white-space:nowrap !important;
}
.hero-approved-submark{
  color:#ebe8c8 !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:clamp(.95rem,3.6vw,1.45rem) !important;
  font-weight:600 !important;
  letter-spacing:.18em !important;
  margin-top:.8rem !important;
}
.hero-content, .hero-copy, .hero-inner{
  text-align:center !important;
}
.hero h1, .hero p, .hero .eyebrow, .hero .kicker,
.hero-section h1, .hero-section p, .hero-section .eyebrow,
.hero-wrap h1, .hero-wrap p {
  color:#ebe8c8 !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.hero h1, .hero-section h1, .hero-wrap h1{
  font-family:Georgia,"Times New Roman",serif !important;
  font-weight:400 !important;
  line-height:1.18 !important;
}

/* v14 — original Tactus logo, solid sharp cream, no foil/faded effect */
.hero-original-logo-crisp{
  display:block !important;
  width:min(82vw,560px) !important;
  height:auto !important;
  margin:0 auto !important;
  object-fit:contain !important;
  opacity:1 !important;
  filter:none !important;
  mix-blend-mode:normal !important;
}

/* v15 — original brand-palette gold-foil logo, unchanged artwork */
.hero-original-logo-crisp{
  opacity:1 !important;
  filter:none !important;
  mix-blend-mode:normal !important;
}

/* v16 — gold-foil logo blended into the same brand-green hero background */
.hero-original-logo-crisp{
  opacity:1 !important;
  filter:none !important;
  mix-blend-mode:normal !important;
}

/* v18 — main logo artwork has a genuinely transparent background */
.hero-original-logo-crisp{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}

/* v19 — restore and ensure the single long video is clearly visible */
.tactus-main-video{
  display:block !important;
  width:100% !important;
  max-width:440px;
  height:auto !important;
  aspect-ratio:9/16;
  margin:0 auto;
  object-fit:cover;
  visibility:visible !important;
  opacity:1 !important;
}
