/* Visual extras · mist/sand · champagne · v20260802aj */

.journey{
  margin:1.5rem 0 2rem;
  padding:1.35rem 1.15rem 1.25rem;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:16px;
}
.journey-kicker{
  font-size:var(--t-xs);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--accent-deep);
  font-weight:500;
  margin:0 0 .85rem;
  text-align:center
}
.journey-glance{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:.35rem
}
.journey-glance li{
  display:flex;
  align-items:center;
  gap:.75rem;
  padding:.45rem 0;
  font-family:var(--font-serif);
  font-size:1.02rem;
  font-weight:500;
  color:var(--ink);
  letter-spacing:-.01em;
  border-bottom:1px solid var(--line)
}
.journey-glance li:last-child{border-bottom:none}
.journey-glance .journey-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.55rem;
  height:1.55rem;
  flex:0 0 auto;
  border-radius:50%;
  border:1.5px solid var(--gold);
  color:var(--gold-deep);
  font-size:.72rem;
  font-weight:600;
  font-family:var(--font-sans);
  background:var(--white);
  margin:0
}
@media(min-width:560px){
  .journey-glance{
    grid-template-columns:1fr 1fr;
    gap:.15rem 1.25rem
  }
  .journey-glance li{border-bottom:none;padding:.4rem 0}
}

.pillar-card{
  display:grid;grid-template-columns:2.35rem 1fr;column-gap:.9rem;row-gap:.25rem;align-items:start
}
.pillar-icon{width:2.25rem;height:2.25rem;color:var(--gold-deep);grid-row:1 / span 2}
.pillar-icon svg{
  width:100%;height:100%;stroke:currentColor;fill:none;
  stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round
}
.pillar-card h3{grid-column:2;margin:0 0 .35rem}
.pillar-card p{grid-column:2}
.method-num{border-width:1.5px;border-color:var(--gold)}
.method-flow li:not(:last-child)::before{left:0.82rem;background:var(--gold-line)}

/* Package polish */
.pkg-card{
  margin:1.75rem 0 1.5rem;
  padding:1.6rem 1.25rem 1.45rem;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:var(--shadow-sm);
}
.pkg-card-primary{
  background:var(--surface);
  border-color:var(--gold-soft);
  border-left:3px solid var(--gold);
  box-shadow:var(--shadow-md);
}
.pkg-card-simple{
  margin:1.25rem 0;
  padding:1.35rem 1.15rem 1.25rem;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:12px;
}
.pkg-kicker{
  font-size:var(--t-xs);
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--accent-deep);
  font-weight:500;
  margin:0 0 .45rem;
}
.pkg-title--sm{font-size:clamp(1.1rem,2.4vw,1.3rem)}
.pkg-title{
  font-family:var(--font-serif);
  font-size:clamp(1.25rem,2.8vw,1.55rem);
  font-weight:500;
  margin:0 0 .35rem;
  color:var(--ink);
  letter-spacing:-.02em;
  line-height:1.25;
}
.pkg-price{
  font-family:var(--font-serif);
  font-size:clamp(1.85rem,4vw,2.35rem);
  font-weight:500;
  color:var(--gold-text, #8B6914);
  margin:.55rem 0 .25rem;
  line-height:1;
}
.pkg-price span{font-size:.55em;margin-left:.1em}
.pkg-note{
  margin:0 0 .75rem;
  font-size:var(--t-sm);
  color:var(--muted);
  line-height:1.5;
}
.pkg-rule{
  display:block;width:2.5rem;height:1px;margin:.85rem 0;
  background:linear-gradient(90deg,var(--gold),transparent);
}
.pkg-rule-soft{
  display:block;width:100%;height:1px;margin:1rem 0;
  background:var(--line);
}
.pkg-includes-label{
  font-size:var(--t-xs);
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  margin:0 0 .75rem;
  font-weight:500;
}
.pkg-list{list-style:none;padding:0;margin:0 0 1.15rem}
.pkg-list li{
  display:grid;
  grid-template-columns:1.65rem 1fr;
  gap:.75rem;
  align-items:start;
  padding:.7rem 0;
  border-bottom:1px solid var(--line);
}
.pkg-list li:last-child{border-bottom:none}
.pkg-list-icon{
  width:1.5rem;height:1.5rem;color:var(--gold-deep);margin-top:.15rem;
}
.pkg-list-icon svg{
  width:100%;height:100%;stroke:currentColor;fill:none;
  stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;
}
.pkg-list h3{
  font-family:var(--font-serif);
  font-size:1.02rem;
  font-weight:500;
  margin:0 0 .2rem;
  color:var(--ink);
  line-height:1.3;
}
.pkg-list p{margin:0;font-size:var(--t-sm);color:var(--muted);line-height:1.45}
.pkg-foot{
  margin:0 0 1rem;
  font-size:var(--t-sm);
  color:var(--muted);
  text-align:center;
  line-height:1.5;
}
.pkg-card .btn-primary{width:100%;max-width:18rem;margin:0 auto;display:flex}
@media(min-width:640px){
  .pkg-card{padding:1.85rem 1.6rem 1.65rem}
  .pkg-card .btn-primary{width:auto;display:inline-flex}
}
.price-list{list-style:none;padding:0;margin:.75rem 0 0}
.price-list li{padding:.35rem 0 .35rem 1.05rem;position:relative;font-size:var(--t-sm);color:var(--muted);line-height:1.45}
.price-list li::before{content:"";position:absolute;left:0;top:.75em;width:5px;height:5px;border-radius:50%;background:var(--gold)}

/* Mobile menu styles live only in site.css (full-screen sheet). Do not redeclare here. */

/* Pathway motif */
.pathway-break{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  margin:1.75rem 0 1.25rem;
  color:var(--gold);
  opacity:.85;
}
.pathway-break span{
  width:5px;height:5px;border-radius:50%;
  border:1.5px solid var(--gold);
  background:transparent;
}
.pathway-break::before,
.pathway-break::after{
  content:"";
  height:1px;width:2.25rem;
  background:linear-gradient(90deg,transparent,var(--gold-line),transparent);
}
.pathway-break span:nth-child(2){width:7px;height:7px;background:var(--gold-soft)}

.soft-promo{
  margin:1rem 0 1.5rem;
  padding:1rem 1.15rem;
  background:var(--band);
  border-radius:10px;
  font-size:var(--t-sm);
  color:var(--muted);
  line-height:1.5;
  border:1px solid var(--line);
}
