
:root{
 --forest:#435c45;--deep:#304633;--sage:#8fa194;--pale:#e8eee9;
 --gold:#c8a452;--cream:#fbf8f1;--paper:#fffdf9;--ink:#263128;
 --muted:#677168;--line:#ded9cd;--shadow:0 18px 48px rgba(48,70,51,.12)
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--cream);font-family:Georgia,"Times New Roman",serif;line-height:1.62}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block}
.site-shell{min-height:100vh;background:var(--paper)}
.header{
 position:sticky;top:0;z-index:50;display:grid;grid-template-columns:minmax(320px,1fr) auto auto;
 align-items:center;gap:25px;padding:15px 4vw;background:rgba(255,253,249,.95);
 backdrop-filter:blur(12px);border-bottom:none;box-shadow:none
}
.brand{display:grid;grid-template-columns:189px minmax(362px,604px);align-items:center;gap:17px;min-width:518px}
.brand>img{width:189px;height:189px;object-fit:contain}
.brand-lockup-copy{min-width:0}
.brand-script{width:min(100%,538px);height:79px;object-fit:contain;object-position:left center}
.brand-tag,.brand-tagline{display:block;margin-top:2px;padding-left:32px;color:var(--forest);font:600 1.087rem/1.2 Arial,sans-serif;letter-spacing:.20em;text-transform:uppercase}
.nav{display:flex;align-items:center;gap:20px;font:1.012rem/1 Arial,sans-serif;white-space:nowrap}
.nav a{padding:10px 0 8px;border-bottom:2px solid transparent}
.nav a:hover,.nav a.active{border-color:var(--gold)}
.cta,.button{display:inline-block;padding:12px 19px;border-radius:4px;background:var(--forest);color:white;font:700 .76rem/1 Arial,sans-serif;letter-spacing:.055em;text-transform:uppercase}
.cta:hover,.button:hover{background:var(--deep)}
.hero{min-height:560px;display:grid;grid-template-columns:1.03fr 1fr;align-items:center;background:linear-gradient(90deg,rgba(255,253,249,.98) 0%,rgba(255,253,249,.91) 42%,rgba(255,253,249,.14) 73%),url("../images/marsh-hero.jpg?v=20260809-1") right center/cover no-repeat}
.hero-copy{max-width:710px;padding:78px 4vw 78px 6vw}
.eyebrow{color:var(--forest);font:700 .72rem/1 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}
h1,h2,h3{margin-top:0;color:var(--forest);font-weight:400;line-height:1.15}
h1{margin-bottom:18px;font-size:clamp(2.1rem,3.5vw,3.605rem)} h2{font-size:clamp(2rem,3vw,3.2rem)} h3{font-size:1.45rem}
.lead{max-width:570px;font-size:1.28rem;font-style:italic}.quote{max-width:540px;margin:30px 0;padding-left:20px;border-left:3px solid var(--gold)}
.section{padding:78px 6vw}.section.alt{background:var(--pale)}.section.soft{background:#faf7ef}.center{text-align:center}
.section-intro{max-width:760px;margin:0 auto 42px;color:var(--muted);font-size:1.08rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{padding:28px;border:1px solid rgba(67,92,69,.10);border-radius:12px;background:rgba(255,255,255,.82);box-shadow:var(--shadow)}
.pathline{position:relative}.pathline:before{content:"";position:absolute;top:27px;left:8%;right:8%;height:1px;background:var(--gold);opacity:.55}
.pathline .card{position:relative;border:0;background:transparent;box-shadow:none;text-align:center}
.icon{width:56px;height:56px;display:grid;place-items:center;margin:0 auto 16px;border:1px solid var(--gold);border-radius:50%;color:var(--forest);background:var(--paper);font-size:1.55rem}
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:58px}
.portrait{width:330px;height:330px;margin:auto;border-radius:50%;object-fit:cover;box-shadow:var(--shadow)}
.landscape{border-radius:12px;box-shadow:var(--shadow)}
.testimonial{padding:28px;border-left:3px solid var(--gold);border-radius:6px;background:white}
.price{margin-top:20px;color:var(--forest);font:700 .92rem/1 Arial,sans-serif}
.banner{padding:50px 6vw;color:white;text-align:center;background:linear-gradient(rgba(48,70,51,.48),rgba(48,70,51,.48)),url("../images/beach.jpg?v=20260809-1") center/cover no-repeat}
.banner h2{color:white}
.logo-story{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:60px}.logo-story img{max-width:480px;margin:auto}
.symbol-list{display:grid;gap:18px}.symbol-item{display:grid;grid-template-columns:54px 1fr;gap:16px;align-items:start}.symbol-mark{color:var(--gold);font-size:1.85rem;text-align:center}
.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:46px}.contact-box{padding:34px;border-radius:12px;background:white;box-shadow:var(--shadow)}
.small{color:var(--muted);font-size:.9rem}
.footer{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start;padding:30px 6vw;border-top:1px solid var(--line);background:#e7eee8;color:#46534a;font:.82rem/1.5 Arial,sans-serif}
.notice{position:fixed;right:16px;bottom:16px;z-index:60;padding:8px 12px;border-radius:4px;background:rgba(38,49,40,.9);color:white;font:.72rem/1 Arial,sans-serif;letter-spacing:.04em}
@media(max-width:1080px){.header{grid-template-columns:1fr auto}.nav{grid-column:1/-1;width:100%;overflow-x:auto;padding-bottom:4px}}
@media(max-width:820px){.header{position:relative}.brand{grid-template-columns:60px 1fr}.brand>img{width:60px;height:60px}.hero{grid-template-columns:1fr;background:linear-gradient(rgba(255,253,249,.90),rgba(255,253,249,.90)),url("../images/marsh-hero.jpg?v=20260809-1") center/cover no-repeat}.split,.logo-story,.contact-grid{grid-template-columns:1fr}.grid-4,.grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:590px){.header{display:flex;flex-wrap:wrap}.brand{width:100%;min-width:0}.brand-script{height:48px}.nav{order:3}.section{padding:58px 7vw}.hero-copy{padding:62px 7vw}.grid-4,.grid-3{grid-template-columns:1fr}.pathline:before{display:none}.portrait{width:245px;height:245px}}

.butterfly-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:590px){.footer{grid-template-columns:1fr}}


/* About Ursula — Revision #1. Page-specific additions only. */
.about-journey{
  background:var(--pale);
  padding:72px 6vw 76px;
}
.about-journey-inner{
  max-width:980px;
  margin:0 auto;
}
.journey-script{
  margin:0 0 30px;
  color:var(--forest);
  font-family:"Brush Script MT","Segoe Script","Snell Roundhand",cursive;
  font-size:clamp(3rem,5.25vw,5.25rem);
  font-weight:400;
  line-height:1;
}
.about-journey p{
  margin:0 0 22px;
  font-size:1.08rem;
  line-height:1.72;
}
.credentials{
  margin:4px 0 26px 32px;
  padding-left:18px;
  border-left:2px solid var(--gold);
  font-size:1.06rem;
  line-height:1.8;
}
.about-shore-split{
  background:var(--paper);
}
.shore-phrase-left{
  color:var(--forest);
  font-family:"Brush Script MT","Segoe Script","Snell Roundhand",cursive;
  font-size:clamp(3rem,3.5vw,4rem);
  line-height:1.05;
}
.shore-image-original{
  width:auto;
  height:auto;
}
@media(max-width:700px){
  .about-journey{padding:52px 7vw 58px}
  .credentials{margin-left:8px}
}


/* About Ursula — Revision #1B adjustments only */
.about-shore-split{
  padding-top:42px;
  padding-bottom:42px;
}
.about-shore-split .split{
  grid-template-columns:.82fr 1.18fr;
  gap:44px;
}
.shore-phrase-left{
  font-size:clamp(2.15rem,3vw,4rem);
}
.shore-image-original{
  width:100%;
  max-width:none;
  height:auto;
}

@media(max-width:820px){
  .about-shore-split .split{
    grid-template-columns:1fr;
  }
}


/* 2026-08-15 requested changes only */

/* Prevent enlarged branding from colliding with navigation on narrower screens. */
@media (max-width: 1350px) {
  .header {
    grid-template-columns: minmax(0, 1fr) auto;
    row-gap: 12px;
  }
  .brand {
    min-width: 0;
  }
  .nav {
    grid-column: 1 / -1;
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
    overflow: visible;
  }
}

@media (max-width: 700px) {
  .header {
    grid-template-columns: 1fr;
  }
  .brand {
    width: 100%;
    min-width: 0;
  }
  .nav {
    gap: 12px;
  }
  .header > .cta {
    justify-self: center;
  }
}

/* Front-page banner: only the remaining Growth... line is enlarged. */
.front-banner-growth {
  font-size: 1.28rem;
}


/* 2026-08-17 Ursula script reduction */
/* The name is a PNG image. 4 pt ≈ 5.33 CSS px. */
.brand-script {
  height: 74px !important;
  width: min(100%, 504px) !important;
}


/* 2026-08-17 Journey supplied text */
.journey-text {
  max-width: 980px;
  margin: 0 auto;
}
.journey-text h2 {
  margin-top: 34px;
  margin-bottom: 12px;
}
.journey-text ul {
  margin: 10px 0 24px 1.4em;
  padding: 0;
}
.journey-text li {
  margin: 6px 0;
}


/* 2026-08-22 Your Journey typography match */
/* Match the visual typography of the About Ursula / My Journey section. */

.journey-text h1 {
  margin: 0 0 30px;
  color: var(--forest);
  font-family: "Brush Script MT","Segoe Script","Snell Roundhand",cursive;
  font-size: clamp(3rem,5.25vw,5.25rem);
  font-weight: 400;
  line-height: 1;
}

.journey-text h2 {
  margin-top: 30px;
  margin-bottom: 10px;
  color: var(--forest);
  font-family: Georgia,"Times New Roman",serif;
  font-size: 1.45rem;
  font-weight: 400;
  line-height: 1.2;
}

.journey-text p,
.journey-text li {
  font-family: Georgia,"Times New Roman",serif;
  font-size: 1.08rem;
  line-height: 1.72;
}

.journey-text ul {
  margin-top: 8px;
  margin-bottom: 24px;
}


/* 2026-08-22 Your Journey background match */
/* Give the Your Journey content section the same pale green background feel
   used on the About Ursula page. */
.journey-page-bg {
  background: var(--pale);
}


/* 2026-08-23 Healing Sessions change set #1 */
.sessions-grid{
  max-width: 1180px;
  margin: 0 auto;
}

.sessions-card-note{
  margin-top: 14px;
}

.sessions-feature{
  padding-top: 62px;
  padding-bottom: 70px;
}

.sessions-feature-split{
  grid-template-columns: 1.02fr .98fr;
  align-items: center;
  gap: 50px;
}

.sessions-feature-copy{
  max-width: 640px;
}

.sessions-feature-intro{
  margin: 0 0 26px;
  font-size: 1.16rem;
  line-height: 1.85;
}

.ram-dass-quote{
  margin: 0 0 30px;
  padding-left: 22px;
  border-left: 3px solid var(--gold);
  color: var(--forest);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.24rem;
  font-style: italic;
  line-height: 1.72;
}

.ram-dass-quote span{
  display: block;
  margin-top: 10px;
  font-size: 1.02rem;
  font-style: normal;
}

.sessions-group-note{
  margin: 0 0 16px;
  color: var(--forest);
  font: 600 1rem/1.45 Arial, sans-serif;
}

.sessions-feature-image-wrap{
  display: flex;
  justify-content: center;
}

.sessions-feature-image{
  width: min(100%, 430px);
  border-radius: 18px;
  box-shadow: var(--shadow);
}

@media (max-width: 820px){
  .sessions-feature-split{
    grid-template-columns: 1fr;
  }
  .sessions-feature-copy{
    max-width: none;
  }
}


/* 2026-08-23 home page portrait swirl */
.home-portrait-wrap{
  position: relative;
  width: fit-content;
  margin: 0 auto;
  padding: 10px;
}

.home-portrait-wrap .portrait{
  position: relative;
  z-index: 2;
}

.home-portrait-wrap::before,
.home-portrait-wrap::after{
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: 50%;
  pointer-events: none;
}

/* soft outer sweep */
.home-portrait-wrap::before{
  border: 2px solid transparent;
  border-top-color: rgba(200,164,82,.70);
  border-right-color: rgba(67,92,69,.52);
  border-bottom-color: rgba(200,164,82,.40);
  transform: rotate(-18deg) scale(1.045);
  z-index: 1;
}

/* second partial sweep to echo the original swirl feeling */
.home-portrait-wrap::after{
  inset: -18px;
  border: 1.6px solid transparent;
  border-left-color: rgba(67,92,69,.48);
  border-bottom-color: rgba(67,92,69,.34);
  border-top-color: rgba(200,164,82,.28);
  transform: rotate(26deg) scale(1.085);
  z-index: 0;
}

@media(max-width:590px){
  .home-portrait-wrap{
    padding: 8px;
  }
  .home-portrait-wrap::before{
    inset: -6px;
  }
  .home-portrait-wrap::after{
    inset: -14px;
  }
}


/* 2026-08-23 force-center real people line */
.real-people-line{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}


/* 2026-08-23 live header scroll */
.header{
  position:relative !important;
  top:auto !important;
}


/* 2026-08-23 restored original disclaimer v2 */
.disclaimer-page{
  background:var(--pale);
}

.disclaimer-inner{
  max-width:980px;
  margin:0 auto;
  padding:10px 0 18px;
}

.restored-disclaimer-text{
  font-size:1.08rem;
  line-height:1.72;
}

.footer-disclaimer-link,
.booking-disclaimer-note a{
  text-decoration:underline;
  text-underline-offset:2px;
}

.booking-disclaimer-note{
  max-width:620px;
  margin:8px 0 20px;
  color:var(--muted);
  font-size:.88rem;
  line-height:1.55;
}


/* 2026-08-23 mandatory booking gateway */
.booking-gateway-page{
  min-height:58vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--pale);
}

.booking-gateway-card{
  width:min(100%,760px);
  margin:0 auto;
  padding:48px 52px;
  border:1px solid rgba(67,92,69,.12);
  border-radius:12px;
  background:var(--paper);
  box-shadow:var(--shadow);
}

.booking-gateway-card h1{
  margin-bottom:18px;
}

.booking-gateway-lead{
  margin:0 0 26px;
  font-size:1.12rem;
  line-height:1.72;
}

.booking-gateway-disclaimer{
  margin:0 0 24px;
  padding:22px 24px;
  border-left:3px solid var(--gold);
  background:var(--pale);
  font-size:1.08rem;
  line-height:1.72;
}

.booking-gateway-full{
  margin:0 0 26px;
}

.booking-gateway-full a{
  text-decoration:underline;
  text-underline-offset:2px;
}

.booking-ack-button{
  font-size:.82rem;
  line-height:1.25;
  text-align:center;
}

@media(max-width:700px){
  .booking-gateway-card{
    padding:34px 26px;
  }
}
