:root{
  /* More violet-forward background base */
  --bg: #090814;
  --bg2: #0d0b1e;
  /* Primary gradient (was used by the main CTA buttons) */
  --primary-grad: linear-gradient(135deg, rgba(198,168,255,.92), rgba(101,214,255,.78));
  /* "Book this session" button + unified surface color */
  --cta-surface: linear-gradient(180deg, rgba(9,8,20,.72), rgba(13,11,30,.58));
  --cta-surface-hover: linear-gradient(180deg, rgba(9,8,20,.82), rgba(13,11,30,.66));
  --card: rgba(255,255,255,.06);
  --card2: rgba(255,255,255,.08);
  --stroke: rgba(255,255,255,.10);
  --text: rgba(255,255,255,.92);
  --muted: rgba(255,255,255,.72);
  --faint: rgba(255,255,255,.55);

  --accent: #c6a8ff;
  --accent2: #65d6ff;
  --gold: #f4d58d;
  --danger: #ff5a7a;

  --shadow: 0 20px 60px rgba(0,0,0,.50);
  --radius: 18px;
  --radius2: 26px;
  --max: 1120px;

  --serif: "Fraunces", ui-serif, Georgia, serif;
  --sans: "Inter", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  color: var(--text);
  font-family: var(--sans);
  /* Background layers (top → bottom) */
  background-image:
    /* Darken everything slightly (keeps zodiac/shimmer, but moodier) */
    linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,.46)),
    /* Zodiac layer (gold plated) */
    url("./assets/zodiac-pattern.svg?v=5"),
    /* Shimmer highlight (stronger) */
    linear-gradient(120deg, rgba(255,255,255,0) 38%, rgba(255,255,255,.22) 50%, rgba(255,255,255,0) 62%),
    /* Gold shimmer tint */
    linear-gradient(120deg, rgba(255,255,255,0) 40%, rgba(244,213,141,.22) 50%, rgba(255,255,255,0) 60%),
    /* Vignette under zodiac */
    radial-gradient(1100px 760px at 50% 24%, rgba(0,0,0,0), rgba(0,0,0,.26) 70%, rgba(0,0,0,.48)),
    /* Rich violet glows */
    radial-gradient(1300px 760px at 14% 8%, rgba(166,115,255,.34), transparent 56%),
    radial-gradient(980px 680px at 86% 16%, rgba(198,168,255,.22), transparent 62%),
    radial-gradient(980px 680px at 88% 28%, rgba(101,214,255,.10), transparent 64%),
    radial-gradient(980px 760px at 50% 112%, rgba(244,213,141,.07), transparent 62%),
    /* Base (swapped with former primary button gradient) */
    var(--primary-grad);
  background-repeat:
    no-repeat,
    repeat,
    no-repeat,
    no-repeat,
    no-repeat,
    no-repeat,
    no-repeat,
    no-repeat,
    no-repeat,
    no-repeat;
  background-size:
    cover,
    520px 520px,
    240% 240%,
    260% 260%,
    cover,
    auto,
    auto,
    auto,
    auto,
    auto;
  background-position:
    center,
    0 0,
    -80% -80%,
    140% 120%,
    center,
    center,
    center,
    center,
    center,
    center;
  /* Blend zodiac strongly + keep vignette effective */
  background-blend-mode:
    multiply,
    normal,
    screen,
    screen,
    multiply,
    normal,
    normal,
    normal,
    normal,
    normal;
  animation: zodiacShimmer 22s ease-in-out infinite;
  overflow-x:hidden;
  position: relative;
}

@keyframes zodiacShimmer{
  0%{
    background-position:
      center,
      0 0,
      -80% -80%,
      140% 120%,
      center,
      center,
      center,
      center,
      center,
      center;
  }
  50%{
    background-position:
      center,
      420px 260px,
      160% 140%,
      -30% -10%,
      center,
      center,
      center,
      center,
      center,
      center;
  }
  100%{
    background-position:
      center,
      840px 520px,
      -80% -80%,
      140% 120%,
      center,
      center,
      center,
      center,
      center,
      center;
  }
}

a{ color: inherit; text-decoration: none; }
a:hover{ text-decoration: underline; }

.container{
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 22px;
}

.sr-only{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}

.skip-link{
  position:absolute; left:14px; top:14px;
  padding:10px 12px;
  border-radius:12px;
  background: rgba(255,255,255,.12);
  border: 1px solid var(--stroke);
  transform: translateY(-140%);
  transition: transform .18s ease;
  z-index: 9999;
}
.skip-link:focus{ transform: translateY(0); }

/* Header */
.header{
  /* Not sticky: logo/nav won't stay pinned while scrolling */
  position: relative;
  z-index: 1000;
  backdrop-filter: blur(14px);
  background: rgba(11,10,18,.55);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding: 26px 22px;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none !important;
}
.brand__mark{
  width: 136px; height: 136px;
  border-radius: 34px;
  display:grid; place-items:center;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 10px 26px rgba(0,0,0,.28);
  overflow: hidden;
}
.brand__logo{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: none;
}
.brand__text{ display:flex; flex-direction:column; line-height:1.05; }
.brand__name{ font-weight: 780; letter-spacing: .2px; font-size: 24px; }
.brand__tag{ font-size: 15px; color: var(--faint); margin-top: 8px; max-width: 42ch; }

.nav{ display:flex; align-items:center; gap: 16px; }
.nav__link{
  font-size: 14px;
  color: rgba(255,255,255,.82);
  padding: 10px 10px;
  border-radius: 12px;
}
.nav__link:hover{
  text-decoration:none;
  background: rgba(255,255,255,.06);
}

.nav-toggle{
  display:none;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  color: var(--text);
}
.nav-toggle__bar{
  display:block;
  width: 18px;
  height: 2px;
  background: rgba(255,255,255,.82);
  margin: 4px auto;
  border-radius: 8px;
}

.mobile-menu{
  border-top: 1px solid rgba(255,255,255,.08);
  background: rgba(11,10,18,.80);
  backdrop-filter: blur(14px);
}
.mobile-menu__inner{
  display:grid;
  gap: 10px;
  padding: 16px 22px 18px;
}
.mobile-menu__link{
  padding: 12px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  text-decoration:none !important;
}
.mobile-menu__cta{ margin-top: 6px; }

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.14);
  background: var(--cta-surface);
  padding: 12px 16px;
  font-weight: 600;
  text-decoration: none !important;
  cursor:pointer;
  user-select:none;
  transition: transform .14s ease, background .14s ease, border-color .14s ease, box-shadow .14s ease;
}
.btn:hover{ transform: translateY(-1px); }
.btn--sm{ padding: 10px 12px; border-radius: 14px; font-size: 14px; }
.btn--lg{ padding: 14px 18px; border-radius: 18px; }
.btn--full{ width: 100%; }
.btn--primary{
  background: var(--cta-surface);
  border-color: rgba(198,168,255,.30);
  color: rgba(255,255,255,.92);
  box-shadow: 0 14px 44px rgba(0,0,0,.38);
}
.btn--primary:hover{
  background: var(--cta-surface-hover);
  border-color: rgba(101,214,255,.30);
  box-shadow: 0 18px 60px rgba(0,0,0,.45);
}
.btn--ghost{
  background: var(--cta-surface);
  border-color: rgba(255,255,255,.16);
  color: rgba(255,255,255,.92);
}
.btn--ghost:hover{ background: var(--cta-surface-hover); }

/* Unify "cards" to match the CTA surface */
.card,
.price,
.quote,
.panel,
.form,
.contact-card,
.trust__item{
  background: var(--cta-surface);
  border-color: rgba(255,255,255,.14);
}

.card:hover{
  background: var(--cta-surface-hover);
  border-color: rgba(255,255,255,.18);
}

/* Hero */
.hero{
  padding: 48px 0 24px;
}
.hero__grid{
  display:grid;
  grid-template-columns: 1.12fr .88fr;
  gap: 34px;
  align-items: start;
}
.pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  margin-bottom: 18px;
}
.pill__dot{
  width: 10px; height: 10px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  box-shadow: 0 0 0 6px rgba(198,168,255,.12);
}
.pill__text{ font-size: 13px; color: rgba(255,255,255,.78); }

.hero__title{
  font-family: var(--serif);
  font-size: clamp(38px, 4.4vw, 58px);
  line-height: 1.03;
  margin: 0 0 14px;
  letter-spacing: .2px;
}
.hero__title-accent{
  display:block;
  margin-top: 8px;
  color: rgba(255,255,255,.82);
}
.hero__subtitle{
  margin: 0 0 20px;
  font-size: 16.5px;
  line-height: 1.6;
  color: rgba(255,255,255,.76);
  max-width: 58ch;
}
.hero__cta{
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}

.trust{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.trust__item{
  padding: 14px 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
}
.trust__top{
  display:flex;
  align-items:center;
  gap: 10px;
  margin-bottom: 6px;
}
.stars{ letter-spacing: 1px; color: var(--gold); font-size: 14px; }
.trust__badge{
  width: 22px; height: 22px;
  border-radius: 10px;
  display:grid; place-items:center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.86);
  font-size: 12px;
}
.trust__top-text{ font-weight: 650; font-size: 13px; }
.trust__sub{ font-size: 12.5px; color: rgba(255,255,255,.70); line-height: 1.45; }

.hero__card{ position: relative; }
.glass{
  border-radius: var(--radius2);
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: var(--shadow);
  padding: 18px;
}
.glass__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.glass__icon{
  width: 44px; height: 44px;
  border-radius: 18px;
  display:grid; place-items:center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
}
.glass__title{ font-size: 12px; color: rgba(255,255,255,.72); }
.glass__subtitle{ font-weight: 700; margin-top: 4px; }
.glass__price{ text-align:right; }
.glass__price-amt{ font-weight: 800; font-size: 22px; letter-spacing: .2px; }
.glass__price-sub{ font-size: 12px; color: rgba(255,255,255,.70); margin-top: 2px; }

.glow{
  position:absolute;
  inset: -18px -18px auto auto;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle at 30% 30%, rgba(198,168,255,.32), transparent 60%),
              radial-gradient(circle at 70% 70%, rgba(101,214,255,.22), transparent 60%);
  filter: blur(18px);
  pointer-events:none;
  transform: rotate(18deg);
}

.checklist{
  list-style: none;
  padding: 0;
  margin: 14px 0 16px;
  display:grid;
  gap: 10px;
}
.checklist li{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  color: rgba(255,255,255,.78);
  font-size: 14px;
  line-height: 1.45;
}
.checklist li::before{
  content:"✓";
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  display:grid;
  place-items:center;
  border-radius: 10px;
  background: rgba(101,214,255,.12);
  border: 1px solid rgba(101,214,255,.26);
  color: rgba(255,255,255,.92);
  margin-top: 1px;
}
.checklist--soft li::before{
  background: rgba(198,168,255,.12);
  border-color: rgba(198,168,255,.24);
}

.fineprint{
  margin: 12px 0 0;
  font-size: 12.5px;
  color: rgba(255,255,255,.65);
  line-height: 1.5;
}

/* Sections */
.section{ padding: 64px 0; }
.section--alt{
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.00));
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.section--tight{ padding: 52px 0; }
.section__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 18px;
  margin-bottom: 26px;
  flex-wrap: wrap;
}
.h2{
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.1;
}
.muted{ margin: 0; color: rgba(255,255,255,.72); line-height: 1.6; max-width: 70ch; }

.cards{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.card{
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  padding: 18px 16px;
  transition: transform .14s ease, background .14s ease, border-color .14s ease;
}
.card:hover{
  transform: translateY(-2px);
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.14);
}
.card--featured{
  background: linear-gradient(180deg, rgba(198,168,255,.10), rgba(255,255,255,.04));
  border-color: rgba(198,168,255,.22);
}
.card__icon{
  width: 42px; height: 42px;
  border-radius: 18px;
  display:grid; place-items:center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  margin-bottom: 10px;
}
.card__title{ margin: 0 0 8px; font-size: 16px; font-weight: 750; letter-spacing: .2px; }
.card__desc{ margin: 0 0 14px; color: rgba(255,255,255,.72); line-height: 1.55; }
.card__meta{ display:flex; gap: 8px; align-items:center; flex-wrap:wrap; margin-bottom: 10px; }
.tag{
  font-size: 12.5px;
  color: rgba(255,255,255,.78);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  padding: 7px 10px;
  border-radius: 999px;
}
.tag--price{
  color: rgba(11,10,18,.95);
  border-color: rgba(255,255,255,.22);
  background: linear-gradient(135deg, rgba(244,213,141,.92), rgba(198,168,255,.68));
}
.card__link{ font-weight: 650; text-decoration:none !important; }
.card__link:hover{ text-decoration: underline !important; }

/* Pricing */
.pricing{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.price{
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  padding: 18px 16px;
  position:relative;
}
.price--featured{
  background: linear-gradient(180deg, rgba(101,214,255,.10), rgba(255,255,255,.04));
  border-color: rgba(101,214,255,.22);
  box-shadow: 0 26px 70px rgba(0,0,0,.35);
}
.price__badge{
  position:absolute;
  top: 14px;
  right: 14px;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
}
.price__title{ margin: 0; font-size: 16px; font-weight: 760; }
.price__sub{ margin: 6px 0 0; color: rgba(255,255,255,.72); }
.price__amt{
  margin: 16px 0 14px;
  font-size: 34px;
  font-weight: 860;
  letter-spacing: .2px;
}
.price__list{
  list-style:none;
  padding: 0;
  margin: 0 0 16px;
  display:grid;
  gap: 10px;
  color: rgba(255,255,255,.74);
}
.price__list li{ display:flex; gap: 10px; align-items:flex-start; line-height: 1.45; }
.price__list li::before{ content:"•"; color: rgba(255,255,255,.55); }

.note{
  margin-top: 16px;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  padding: 14px 16px;
  color: rgba(255,255,255,.74);
  line-height: 1.6;
}
.note strong{ color: rgba(255,255,255,.92); }

/* Steps */
.steps{
  margin: 0;
  padding: 0;
  list-style: none;
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.step{
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  padding: 16px;
  display:flex;
  gap: 12px;
}
.step__num{
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 14px;
  display:grid; place-items:center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  font-weight: 800;
}
.step__title{ margin: 0 0 6px; font-size: 15px; font-weight: 770; }
.step__desc{ margin: 0; color: rgba(255,255,255,.72); line-height: 1.55; }

/* Quotes */
.quotes{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.quote{
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  padding: 18px 16px;
  margin: 0;
}
.quote blockquote{
  margin: 0 0 12px;
  color: rgba(255,255,255,.82);
  line-height: 1.65;
}
.quote figcaption{ color: rgba(255,255,255,.62); font-size: 13px; }

/* About */
.about{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 18px;
  align-items:start;
}
.about__cta{ display:flex; gap: 12px; flex-wrap:wrap; margin-top: 14px; }
.panel{
  border-radius: var(--radius2);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  padding: 18px 16px;
}
.panel__title{ margin: 0 0 12px; font-size: 16px; font-weight: 780; }
.panel__row{
  display:flex;
  justify-content:space-between;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid rgba(255,255,255,.06);
}
.panel__row:first-of-type{ border-top: 0; }
.panel__label{ color: rgba(255,255,255,.66); font-size: 13px; }
.panel__value{ color: rgba(255,255,255,.86); font-weight: 600; font-size: 13px; text-align:right; }
.panel__divider{ height: 1px; background: rgba(255,255,255,.08); margin: 12px 0; }
.panel__fine{ margin: 0; color: rgba(255,255,255,.70); line-height: 1.6; }

/* FAQ */
.faq{
  display:grid;
  gap: 12px;
}
.faq__item{
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  padding: 0;
  overflow:hidden;
}
.faq__q{
  list-style:none;
  cursor:pointer;
  padding: 16px 16px;
  font-weight: 720;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
}
.faq__q::-webkit-details-marker{ display:none; }
.faq__q::after{
  content:"+";
  width: 30px;
  height: 30px;
  border-radius: 14px;
  display:grid; place-items:center;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.80);
  font-weight: 800;
}
details[open] > .faq__q::after{ content:"–"; }
.faq__a{
  padding: 0 16px 16px;
  color: rgba(255,255,255,.72);
  line-height: 1.65;
}
.faq__a p{ margin: 0; }

/* Booking */
.book{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items:start;
}
.contact-cards{ display:grid; gap: 12px; margin-top: 16px; }
.contact-card{
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  padding: 14px 14px;
  display:flex;
  gap: 12px;
  align-items:center;
}
.contact-card__icon{
  width: 40px; height: 40px;
  border-radius: 16px;
  display:grid; place-items:center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
}
.contact-card__title{ font-weight: 740; font-size: 13px; color: rgba(255,255,255,.75); }
.contact-card__link{ font-weight: 720; text-decoration:none !important; }
.contact-card__link:hover{ text-decoration: underline !important; }

.form{
  border-radius: var(--radius2);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  padding: 18px 16px;
}
.form__row{ display:grid; gap: 8px; margin-bottom: 12px; }
.form__row--inline{ margin-top: 2px; }
.label{ font-size: 13px; color: rgba(255,255,255,.78); font-weight: 650; }
.input{
  width: 100%;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(11,10,18,.35);
  color: rgba(255,255,255,.90);
  padding: 12px 12px;
  outline: none;
}
.input:focus{
  border-color: rgba(101,214,255,.40);
  box-shadow: 0 0 0 4px rgba(101,214,255,.12);
}
.textarea{ resize: vertical; min-height: 110px; }

.checkbox{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  color: rgba(255,255,255,.70);
  font-size: 12.5px;
  line-height: 1.5;
}
.checkbox input{ margin-top: 3px; }

.mini-link{
  display:inline-block;
  margin-left: 10px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.90);
  font-size: 12px;
  text-decoration: none !important;
  white-space: nowrap;
}
.mini-link:hover{
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.24);
}

/* CTA */
.cta{
  border-radius: var(--radius2);
  border: 1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(800px 400px at 20% 20%, rgba(198,168,255,.18), transparent 55%),
    radial-gradient(700px 450px at 85% 40%, rgba(101,214,255,.16), transparent 60%),
    rgba(255,255,255,.03);
  padding: 18px;
}
.cta__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.cta__title{ margin: 0; font-family: var(--serif); font-size: 26px; }
.cta__sub{ margin: 0; color: rgba(255,255,255,.70); }

/* Footer */
.footer{
  padding: 34px 0 44px;
  border-top: 1px solid rgba(255,255,255,.06);
  background: rgba(0,0,0,.08);
}
.footer__inner{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1.4fr;
  gap: 16px;
  align-items:start;
}
.footer__links{
  display:flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  justify-content:center;
}
.footer__links a{
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.06);
  text-decoration:none !important;
  font-size: 13px;
  color: rgba(255,255,255,.78);
}
.footer__links a:hover{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.10);
  text-decoration:none !important;
}
.footer__meta{ text-align:right; }
.footer__small{ color: rgba(255,255,255,.62); font-size: 12.5px; line-height: 1.5; }

/* Responsive */
@media (max-width: 980px){
  .hero__grid{ grid-template-columns: 1fr; }
  .trust{ grid-template-columns: 1fr; }
  .cards{ grid-template-columns: 1fr; }
  .pricing{ grid-template-columns: 1fr; }
  .steps{ grid-template-columns: 1fr; }
  .quotes{ grid-template-columns: 1fr; }
  .about{ grid-template-columns: 1fr; }
  .book{ grid-template-columns: 1fr; }
  .footer__inner{ grid-template-columns: 1fr; text-align:left; }
  .footer__meta{ text-align:left; }
  .footer__links{ justify-content:flex-start; }
  .nav{ display:none; }
  .nav-toggle{ display:inline-block; }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  body{ animation: none; }
  .btn{ transition:none; }
  .card{ transition:none; }
  .skip-link{ transition:none; }
}

