/* Inner pages — synced with homepage (rh) visual language */

body:not(.is-home){
  background:#fff;
  color:#1e293b;
}

.sp{
  --sp-ink:#0f172a;
  --sp-muted:#64748b;
  --sp-line:#e8eef5;
  --sp-soft:#f6f8fb;
  --sp-accent:#6d28d9;
  --sp-accent-2:#5b21b6;
  --sp-radius:1.35rem;
  --sp-ease:cubic-bezier(.22,1,.36,1);
}

.sp-wrap{
  width:min(1120px, calc(100% - 2.5rem));
  margin:0 auto;
}
.sp-wrap--narrow{width:min(720px, calc(100% - 2.5rem))}
.sp-wrap--wide{width:min(80rem, calc(100% - 2.5rem))}

.sp-crumbs{
  width:min(1120px, calc(100% - 2.5rem));
  margin:0 auto;
  padding:1rem 0 0;
}
.sp-crumbs ol{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.4rem .55rem;
  margin:0;
  padding:0;
  list-style:none;
  font-size:.78rem;
  color:var(--sp-muted);
}
.sp-crumbs li{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
}
.sp-crumbs a{
  color:var(--sp-muted);
  transition:color .2s ease;
}
.sp-crumbs a:hover{color:var(--sp-accent)}
.sp-crumbs [aria-current="page"]{
  color:var(--sp-ink);
  font-weight:600;
}
.sp-crumbs__sep{opacity:.45;user-select:none}

/* Simple rich page header */
.sp-pagehead{
  padding:2.35rem 0 0;
  background:#fff;
}
.sp-pagehead .sp-wrap{
  padding-bottom:1.35rem;
  border-bottom:1px solid var(--sp-line);
}
.sp-pagehead h1{
  margin:0;
  font-family:Fraunces,Georgia,serif;
  font-weight:600;
  letter-spacing:-.035em;
  color:var(--sp-ink);
  line-height:1.1;
  font-size:clamp(2.15rem, 4.2vw, 3.15rem);
  max-width:18ch;
}
.sp-pagehead > .sp-wrap > p{
  margin:.7rem 0 0;
  font-size:1.05rem;
  line-height:1.45;
  color:var(--sp-muted);
}
.sp-pagehead__nav{
  display:flex;
  flex-wrap:wrap;
  gap:.15rem .1rem;
  margin-top:1.65rem;
}
.sp-pagehead__nav a{
  display:inline-flex;
  align-items:center;
  padding:.55rem .85rem;
  font-size:.875rem;
  font-weight:500;
  color:#64748b;
  border-radius:.55rem;
  transition:color .2s ease, background .2s ease;
}
.sp-pagehead__nav a:hover{
  color:var(--sp-ink);
  background:rgba(15,23,42,.04);
}
.sp-pagehead__nav a.is-on{
  color:var(--sp-accent);
  font-weight:600;
  background:rgba(109,40,217,.07);
}
.sp-pagehead .sp-form-row{
  margin-top:1.35rem;
}

.sp-intro{
  padding:1.35rem 0 1.6rem;
  border-bottom:1px solid var(--sp-line);
  background:
    radial-gradient(70% 120% at 0% 0%, rgba(109,40,217,.06), transparent 55%),
    linear-gradient(180deg, #faf8ff 0%, #fff 100%);
}
.sp-intro--flush{border-bottom:0;padding-bottom:1.1rem}
.sp-kicker{
  margin:0;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--sp-accent);
}
.sp-intro h1{
  margin:.35rem 0 0;
  font-family:Fraunces,Georgia,serif;
  font-weight:600;
  letter-spacing:-.03em;
  color:var(--sp-ink);
  line-height:1.15;
  font-size:clamp(1.85rem, 3.8vw, 2.65rem);
  max-width:22ch;
}
.sp-lede{
  margin:.7rem 0 0;
  max-width:38rem;
  font-size:1.02rem;
  line-height:1.7;
  color:var(--sp-muted);
}
.sp-geo{
  margin:.55rem 0 0;
  font-size:.82rem;
  color:#7c6aa8;
}

.sp-section{padding:2.35rem 0 2.75rem}
.sp-section--soft{background:var(--sp-soft)}
@media(min-width:800px){.sp-section{padding:2.85rem 0 3.25rem}}

.sp-filters{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:1.15rem;
}
.sp-chip{
  display:inline-flex;
  align-items:center;
  padding:.45rem .95rem;
  border-radius:999px;
  border:1px solid var(--sp-line);
  background:#fff;
  font-size:.82rem;
  font-weight:600;
  color:#475569;
  transition:border-color .2s, color .2s, background .2s, transform .2s var(--sp-ease);
}
.sp-chip:hover{
  border-color:#c4b5fd;
  color:var(--sp-accent);
  transform:translateY(-1px);
}
.sp-chip.is-on{
  border-color:transparent;
  background:var(--sp-accent);
  color:#fff;
}

.sp-form-row{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:1.15rem;
}
.sp-input,.sp-select,.sp-textarea{
  border:1px solid #e2e8f0;
  border-radius:999px;
  background:#fff;
  padding:.7rem 1.1rem;
  font-size:.875rem;
  color:var(--sp-ink);
  transition:border-color .2s, box-shadow .2s;
}
.sp-select{
  -webkit-appearance:none;
  appearance:none;
  min-width:13.5rem;
  max-width:100%;
  padding-right:2.65rem;
  background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236d28d9' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 1rem center;
  background-size:16px;
  cursor:pointer;
}
.sp-input:focus,.sp-select:focus,.sp-textarea:focus{
  border-color:#c4b5fd;
  box-shadow:0 0 0 3px rgba(109,40,217,.12);
  outline:none;
}
.sp-textarea{border-radius:1rem;min-height:7rem;resize:vertical}
.sp-input--full{width:100%;max-width:20rem}
.sp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.7rem;
  padding:.65rem 1.2rem;
  border-radius:999px;
  border:1px solid transparent;
  font-size:.875rem;
  font-weight:600;
  cursor:pointer;
  transition:transform .25s var(--sp-ease), background .2s, box-shadow .2s;
}
.sp-btn:hover{transform:translateY(-1px)}
.sp-btn--primary{
  background:var(--sp-accent);
  color:#fff;
  box-shadow:0 10px 22px -14px rgba(109,40,217,.75);
}
.sp-btn--primary:hover{background:var(--sp-accent-2)}
.sp-btn--block{width:100%}

.sp-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1.35rem;
}
@media(min-width:640px){.sp-grid--2{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.sp-grid--3{grid-template-columns:repeat(3,1fr)}}
@media(min-width:960px){.sp-grid--4{grid-template-columns:repeat(4,1fr)}}

.sp-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:var(--sp-radius);
  background:#fff;
  border:1px solid var(--sp-line);
  color:inherit;
  min-width:0;
  transition:transform .35s var(--sp-ease), box-shadow .35s var(--sp-ease), border-color .35s;
}
.sp-card > a{
  display:flex;
  flex-direction:column;
  flex:1;
  min-width:0;
  color:inherit;
  height:100%;
}
.sp-card:hover{
  transform:translateY(-6px);
  border-color:transparent;
  box-shadow:0 22px 40px -24px rgba(15,23,42,.28);
}
.sp-card__media{
  display:block;
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--sp-soft);
  flex-shrink:0;
}
.sp-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .7s var(--sp-ease);
}
.sp-card:hover .sp-card__media img{transform:scale(1.06)}
.sp-card__body{
  display:flex;
  flex-direction:column;
  flex:1;
  min-width:0;
  padding:1.05rem 1.15rem 1.2rem;
}
.sp-card__meta{
  display:block;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--sp-accent);
}
.sp-card__title{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  margin:.4rem 0 0;
  font-family:Fraunces,Georgia,serif;
  font-size:1.12rem;
  font-weight:600;
  letter-spacing:-.02em;
  color:var(--sp-ink);
  line-height:1.3;
}
.sp-card__text{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  margin:.5rem 0 0;
  font-size:.875rem;
  line-height:1.55;
  color:var(--sp-muted);
}
.sp-card__foot{
  display:block;
  margin-top:auto;
  padding-top:.85rem;
  font-size:.78rem;
  color:#94a3b8;
}

.sp-dest{
  position:relative;
  display:block;
  overflow:hidden;
  border-radius:var(--sp-radius);
  aspect-ratio:4/3;
  background:#0f172a;
  color:#fff;
}
.sp-dest img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .7s var(--sp-ease);
}
.sp-dest:hover img{transform:scale(1.06)}
.sp-dest::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 35%, rgba(15,23,42,.78));
}
.sp-dest__body{
  position:absolute;
  left:0;right:0;bottom:0;
  z-index:1;
  padding:1.1rem 1.15rem;
}
.sp-dest__body strong{
  display:block;
  font-family:Fraunces,Georgia,serif;
  font-size:1.2rem;
  font-weight:600;
}
.sp-dest__body em{
  display:block;
  margin-top:.2rem;
  font-style:normal;
  font-size:.78rem;
  opacity:.85;
}

.sp-panel{
  border:1px solid var(--sp-line);
  border-radius:var(--sp-radius);
  background:#fff;
  padding:1.25rem 1.35rem;
}
.sp-panel--soft{background:var(--sp-soft);border-color:transparent}
.sp-panel h2,.sp-panel h3{
  margin:0;
  font-family:Fraunces,Georgia,serif;
  font-weight:600;
  letter-spacing:-.02em;
  color:var(--sp-ink);
}
.sp-panel h2{font-size:1.25rem}
.sp-panel h3{font-size:1.05rem}
.sp-panel p{margin:.55rem 0 0;color:var(--sp-muted);line-height:1.6;font-size:.9rem}

.sp-split{
  display:grid;
  gap:2rem;
}
@media(min-width:960px){
  .sp-split{grid-template-columns:minmax(0,1.65fr) minmax(0,.85fr);gap:2.5rem;align-items:start}
}
.sp-sticky{
  position:sticky;
  top:6.5rem;
  border:1px solid var(--sp-line);
  border-radius:var(--sp-radius);
  background:#fff;
  padding:1.35rem 1.4rem;
  box-shadow:0 18px 40px -28px rgba(15,23,42,.35);
}
.sp-price{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.45rem;
  font-family:IBM Plex Mono,ui-monospace,monospace;
}
.sp-price__was{font-size:.85rem;color:#94a3b8;text-decoration:line-through}
.sp-price__now{font-size:1.55rem;font-weight:700;color:var(--sp-accent)}
.sp-price__unit{font-size:.75rem;color:var(--sp-muted)}

.sp-cover{
  position:relative;
  min-height:16rem;
  background:#0f172a;
  overflow:hidden;
}
@media(min-width:640px){.sp-cover{min-height:22rem}}
.sp-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  position:absolute;
  inset:0;
}
.sp-cover__shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(15,23,42,.15), rgba(15,23,42,.72));
}
.sp-cover__copy{
  position:relative;
  z-index:1;
  width:min(1120px, calc(100% - 2.5rem));
  margin:0 auto;
  padding:7rem 0 1.75rem;
  color:#fff;
}
@media(min-width:640px){.sp-cover__copy{padding:9.5rem 0 2.15rem}}
.sp-cover__copy .sp-kicker{color:#ddd6fe}
.sp-cover__copy h1{
  margin:.35rem 0 0;
  font-family:Fraunces,Georgia,serif;
  font-weight:600;
  letter-spacing:-.03em;
  font-size:clamp(1.9rem, 4vw, 2.85rem);
  line-height:1.15;
  max-width:18ch;
}

.sp-prose{
  color:#334155;
  line-height:1.75;
  font-size:1rem;
}
.sp-prose > * + *{margin-top:1rem}
.sp-prose h2,.sp-section h2.sp-h{
  margin:1.75rem 0 0;
  font-family:Fraunces,Georgia,serif;
  font-size:1.35rem;
  font-weight:600;
  letter-spacing:-.02em;
  color:var(--sp-ink);
}
.sp-prose h3{
  margin:1.35rem 0 0;
  font-family:Fraunces,Georgia,serif;
  font-size:1.1rem;
  font-weight:600;
  color:var(--sp-ink);
}
.sp-list{
  margin:1rem 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:.55rem;
}
@media(min-width:640px){.sp-list--2{grid-template-columns:repeat(2,1fr)}}
.sp-list li{
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  font-size:.9rem;
  color:#475569;
  line-height:1.45;
}
.sp-list li::before{
  content:"";
  width:.4rem;
  height:.4rem;
  margin-top:.45rem;
  border-radius:999px;
  background:var(--sp-accent);
  flex-shrink:0;
}

.sp-timeline{margin:1.25rem 0 0;display:flex;flex-direction:column;gap:1.15rem}
.sp-timeline__row{display:flex;gap:1rem}
.sp-timeline__year{
  width:3.25rem;
  flex-shrink:0;
  font-family:IBM Plex Mono,ui-monospace,monospace;
  font-size:.8rem;
  font-weight:700;
  color:var(--sp-accent);
}
.sp-team{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1.25rem;
  margin-top:1.25rem;
}
@media(min-width:640px){.sp-team{grid-template-columns:repeat(4,1fr)}}
.sp-team__item{text-align:center}
.sp-team__item img{
  width:5.5rem;
  height:5.5rem;
  border-radius:999px;
  object-fit:cover;
  margin:0 auto;
  border:3px solid #fff;
  box-shadow:0 8px 20px -12px rgba(15,23,42,.35);
}
.sp-team__item strong{display:block;margin-top:.7rem;font-size:.875rem;color:var(--sp-ink)}
.sp-team__item span{display:block;font-size:.75rem;color:var(--sp-muted)}

.sp-faq details{
  border-bottom:1px solid var(--sp-line);
  padding:.95rem 0;
}
.sp-faq summary{
  cursor:pointer;
  font-size:.9rem;
  font-weight:600;
  color:var(--sp-ink);
  list-style:none;
}
.sp-faq summary::-webkit-details-marker{display:none}
.sp-faq details[open] summary{color:var(--sp-accent)}
.sp-faq p{
  margin:.55rem 0 0;
  font-size:.875rem;
  line-height:1.65;
  color:var(--sp-muted);
}

.sp-service{
  border:1px solid var(--sp-line);
  border-radius:var(--sp-radius);
  background:#fff;
  padding:1.35rem 1.3rem;
  transition:transform .3s var(--sp-ease), box-shadow .3s var(--sp-ease);
}
.sp-service:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 36px -24px rgba(15,23,42,.28);
}
.sp-service__icon{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:5.5rem;
  height:5.5rem;
  background:none;
  border:0;
  padding:0;
}
.sp-service__img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.sp-service__art{
  display:block;
  width:100%;
  height:100%;
}
.sp-service__art svg{
  display:block;
  width:100%;
  height:100%;
}
.sp-service h2{
  margin:1rem 0 0;
  font-family:Fraunces,Georgia,serif;
  font-size:1.15rem;
  font-weight:600;
  color:var(--sp-ink);
}
.sp-service > p{
  margin:.5rem 0 0;
  font-size:.875rem;
  line-height:1.6;
  color:var(--sp-muted);
}

.sp-itinerary{
  margin:1.25rem 0 0;
  padding-left:1.25rem;
  border-left:2px solid #ddd6fe;
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}
.sp-itinerary__day{position:relative}
.sp-itinerary__day::before{
  content:"";
  position:absolute;
  left:-1.45rem;
  top:.35rem;
  width:.7rem;
  height:.7rem;
  border-radius:999px;
  background:var(--sp-accent);
  box-shadow:0 0 0 3px #ede9fe;
}
.sp-itinerary__day em{
  display:block;
  font-style:normal;
  font-family:IBM Plex Mono,ui-monospace,monospace;
  font-size:.72rem;
  font-weight:700;
  color:var(--sp-accent);
  letter-spacing:.04em;
}
.sp-itinerary__day strong{
  display:block;
  margin-top:.25rem;
  font-family:Fraunces,Georgia,serif;
  font-size:1.05rem;
  font-weight:600;
  color:var(--sp-ink);
}
.sp-itinerary__day p{
  margin:.35rem 0 0;
  font-size:.875rem;
  color:var(--sp-muted);
  line-height:1.6;
}
.sp-pills{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.55rem}
.sp-pill{
  display:inline-flex;
  padding:.25rem .65rem;
  border-radius:999px;
  background:var(--sp-soft);
  font-size:.72rem;
  color:#475569;
}

.sp-empty{
  color:var(--sp-muted);
  font-size:.95rem;
  padding:1rem 0;
}

.sp-contact-ways{
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
}
@media(min-width:800px){.sp-contact-ways{grid-template-columns:repeat(3,1fr);gap:1.15rem}}
.sp-contact-way{
  display:block;
  padding:1.25rem 1.3rem;
  border:1px solid var(--sp-line);
  border-radius:var(--sp-radius);
  background:#fff;
  color:inherit;
  transition:transform .3s var(--sp-ease), box-shadow .3s var(--sp-ease), border-color .3s;
}
.sp-contact-way:hover{
  transform:translateY(-4px);
  border-color:transparent;
  box-shadow:0 18px 36px -24px rgba(15,23,42,.28);
}
.sp-contact-way span{
  display:block;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--sp-accent);
}
.sp-contact-way strong{
  display:block;
  margin-top:.4rem;
  font-family:Fraunces,Georgia,serif;
  font-size:1.2rem;
  font-weight:600;
  letter-spacing:-.02em;
  color:var(--sp-ink);
  line-height:1.3;
  word-break:break-word;
}
.sp-contact-main{
  display:grid;
  gap:1.5rem;
  margin-top:2rem;
  align-items:stretch;
}
@media(min-width:960px){
  .sp-contact-main{grid-template-columns:minmax(0,.92fr) minmax(0,1.18fr);gap:1.75rem}
}
.sp-contact-copy{
  border:1px solid var(--sp-line);
  border-radius:var(--sp-radius);
  background:#fff;
  padding:1.4rem 1.45rem 1.55rem;
}
.sp-contact-address{
  margin:.55rem 0 0;
  color:var(--sp-muted);
  line-height:1.6;
  font-size:.95rem;
}
.sp-contact-form{
  margin-top:1.35rem;
  display:flex;
  flex-direction:column;
  gap:.85rem;
}
.sp-contact-form label span{
  display:block;
  margin-bottom:.35rem;
  font-size:.8rem;
  font-weight:600;
  color:#475569;
}
.sp-contact-form label em{
  font-style:normal;
  font-weight:400;
  color:#94a3b8;
}
.sp-contact-field{
  width:100%;
  max-width:none;
  border-radius:.85rem;
}
.sp-contact-form .sp-btn{align-self:flex-start;margin-top:.25rem}
.sp-map{
  width:100%;
  min-height:22rem;
  height:100%;
  border:0;
  border-radius:var(--sp-radius);
  background:var(--sp-soft);
}
.sp-map--empty{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--sp-muted);
  font-size:.9rem;
}

.sp-gallery-cover{
  position:relative;
  display:block;
  overflow:hidden;
  border-radius:var(--sp-radius);
  cursor:pointer;
  border:0;
  padding:0;
  width:100%;
  background:#0f172a;
}
.sp-gallery-cover img{
  width:100%;
  height:14rem;
  object-fit:cover;
  transition:transform .7s var(--sp-ease);
}
@media(min-width:640px){.sp-gallery-cover img{height:18rem}}
.sp-gallery-cover:hover img{transform:scale(1.04)}
.sp-gallery-cover__shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 40%, rgba(15,23,42,.8));
}
.sp-gallery-cover__copy{
  position:absolute;left:0;bottom:0;z-index:1;
  padding:1.15rem 1.25rem;color:#fff;text-align:left;
}
.sp-gallery-cover__copy strong{
  display:block;
  font-family:Fraunces,Georgia,serif;
  font-size:1.45rem;
  font-weight:600;
}
.sp-gallery-thumbs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.65rem;
  margin-top:.75rem;
}
@media(min-width:640px){.sp-gallery-thumbs{grid-template-columns:repeat(4,1fr)}}
@media(min-width:900px){.sp-gallery-thumbs{grid-template-columns:repeat(6,1fr)}}
.sp-gallery-thumbs button{
  border:0;padding:0;background:none;cursor:pointer;border-radius:.75rem;overflow:hidden;
}
.sp-gallery-thumbs img{
  width:100%;height:5.5rem;object-fit:cover;display:block;
  transition:opacity .2s;
}
.sp-gallery-thumbs button:hover img{opacity:.88}

.sp-aside{
  border:1px solid var(--sp-line);
  border-radius:var(--sp-radius);
  background:#fff;
  padding:1.2rem 1.25rem 1.3rem;
  height:fit-content;
  position:sticky;
  top:6.5rem;
}
.sp-aside h3{
  margin:0;
  font-family:Fraunces,Georgia,serif;
  font-size:1.1rem;
  font-weight:600;
  color:var(--sp-ink);
}
.sp-aside ul{margin:.9rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.2rem}
.sp-aside a{
  display:block;
  padding:.55rem .45rem;
  border-radius:.65rem;
  font-size:.875rem;
  font-weight:600;
  line-height:1.4;
  color:#334155;
  transition:color .2s, background .2s;
}
.sp-aside a:hover{
  color:var(--sp-accent);
  background:rgba(109,40,217,.06);
}

.sp-blog-layout{
  display:grid;
  gap:1.75rem;
}
@media(min-width:960px){
  .sp-blog-layout{grid-template-columns:minmax(0,1fr) 16.5rem;gap:2rem;align-items:start}
}

.sp-article-head{padding:2rem 0 0}
.sp-article-head h1{
  margin:.35rem 0 0;
  font-family:Fraunces,Georgia,serif;
  font-size:clamp(1.85rem, 3.5vw, 2.55rem);
  font-weight:600;
  letter-spacing:-.03em;
  line-height:1.15;
  color:var(--sp-ink);
}
.sp-article-meta{
  margin-top:1rem;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.65rem;
  font-size:.875rem;
  color:var(--sp-muted);
}
.sp-article-cover{
  margin-top:1.5rem;
  width:100%;
  border-radius:var(--sp-radius);
  object-fit:cover;
}
.sp-article-body{
  margin-top:1.75rem;
}
.sp-article-body img{
  max-width:100%;
  height:auto;
  border-radius:1rem;
}

.sp-alert{
  margin:.75rem 0 0;
  padding:.75rem 1rem;
  border-radius:.85rem;
  background:#ecfdf5;
  color:#047857;
  font-size:.875rem;
}

.sp-legal{
  padding:2rem 0 3.5rem;
}
.sp-legal h2{
  margin:1.75rem 0 0;
  font-family:Fraunces,Georgia,serif;
  font-size:1.2rem;
  font-weight:600;
  color:var(--sp-ink);
}
.sp-legal p{
  margin:.7rem 0 0;
  color:var(--sp-muted);
  line-height:1.7;
}

/* Align package cards with home */
.pkg-card{
  border-radius:var(--sp-radius, 1.35rem);
  border:1px solid #e8eef5;
  box-shadow:none;
}
.pkg-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 40px -24px rgba(15,23,42,.28);
}
.pkg-card__title{
  font-family:Fraunces,Georgia,serif;
  font-weight:600;
  letter-spacing:-.02em;
}
.pkg-card__now{color:#6d28d9}
.pkg-card__meta{color:#6d28d9}

.font-display{
  font-family:Fraunces,Georgia,serif !important;
  font-weight:600;
  letter-spacing:-.02em;
}

/* About */
.sp-about-lead{
  max-width:40rem;
}
.sp-about-lead p{
  margin:0;
  font-size:clamp(1.15rem, 2.2vw, 1.45rem);
  line-height:1.55;
  color:#475569;
  letter-spacing:-.01em;
}
.sp-about-facts{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:0;
  margin-top:2.25rem;
  border-top:1px solid var(--sp-line);
  border-bottom:1px solid var(--sp-line);
}
@media(min-width:800px){.sp-about-facts{grid-template-columns:repeat(4,1fr)}}
.sp-about-facts > div{
  padding:1.15rem .85rem;
  text-align:center;
}
.sp-about-facts strong{
  display:block;
  font-family:Fraunces,Georgia,serif;
  font-size:1.55rem;
  font-weight:600;
  color:var(--sp-ink);
  font-variant-numeric:tabular-nums;
}
.sp-about-facts span{font-size:.8rem;color:var(--sp-muted)}
.sp-about-steps{
  display:grid;
  grid-template-columns:1fr;
  gap:1.15rem;
  margin-top:1.35rem;
}
@media(min-width:800px){.sp-about-steps{grid-template-columns:repeat(4,1fr);gap:1.35rem}}
.sp-about-step{
  border:1px solid var(--sp-line);
  border-radius:var(--sp-radius);
  background:#fff;
  padding:1.25rem 1.2rem 1.35rem;
}
.sp-about-step em{
  display:block;
  font-style:normal;
  font-family:IBM Plex Mono,ui-monospace,monospace;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--sp-accent);
}
.sp-about-step h3{
  margin:.45rem 0 0;
  font-family:Fraunces,Georgia,serif;
  font-size:1.15rem;
  font-weight:600;
  color:var(--sp-ink);
}
.sp-about-step p{
  margin:.45rem 0 0;
  font-size:.875rem;
  line-height:1.6;
  color:var(--sp-muted);
}
.sp-about-cta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:1.25rem 2rem;
  padding:1.5rem 1.6rem;
  border:1px solid var(--sp-line);
  border-radius:var(--sp-radius);
  background:
    radial-gradient(80% 120% at 0% 0%, rgba(109,40,217,.07), transparent 55%),
    #fff;
}
.sp-about-cta p{
  margin:.4rem 0 0;
  color:var(--sp-muted);
  line-height:1.55;
}
.sp-about-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
}

