@font-face{
  font-family:"EBNSerif";
  src:url("./fonts/ebn-serif.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"EBNSans";
  src:url("./fonts/ebn-sans.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"EBNSans";
  src:url("./fonts/ebn-sans-600.woff2") format("woff2");
  font-weight:600;
  font-style:normal;
  font-display:swap;
}

:root{
  --bg-cream:#fbf4ea;
  --bg-ivory:#fffaf2;
  --bg-beige:#f3e6d7;
  --ink:#231a14;
  --muted:#5a4a41;
  --brown-gold:#7a4b1f;
  --primary:#d9683a;
  --primary-deep:#bb4f27;
  --magenta:#c22a7a;
  --teal:#0c3e3a;
  --teal-2:#0e4a45;
  --teal-soft:#0f5851;
  --card:#ffffff;
  --stroke:rgba(35,26,20,.14);
  --shadow:0 18px 40px rgba(35,26,20,.12);
  --shadow-soft:0 10px 24px rgba(35,26,20,.10);
  --radius:22px;
  --radius-sm:16px;
  --container:1120px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:radial-gradient(1200px 800px at 20% 10%, rgba(217,104,58,.16), transparent 60%),
             radial-gradient(900px 700px at 80% 30%, rgba(194,42,122,.10), transparent 55%),
             linear-gradient(180deg, var(--bg-ivory), var(--bg-cream));
  color:var(--ink);
  font-family:"EBNSans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height:1.55;
}

a{color:inherit}

.skip-link{
  position:absolute;
  left:12px;
  top:12px;
  padding:10px 12px;
  background:var(--card);
  border:1px solid var(--stroke);
  border-radius:999px;
  box-shadow:var(--shadow-soft);
  transform:translateY(-160%);
  transition:transform .2s ease;
  z-index:50;
}
.skip-link:focus{transform:translateY(0)}

.container{
  max-width:var(--container);
  margin:0 auto;
  padding:0 20px;
}

.section{padding:74px 0}

.section__heading{max-width:820px}
.section__heading--center{text-align:center; margin:0 auto;}
.section__eyebrow{
  margin:0 0 10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:600;
  color:rgba(35,26,20,.72);
  font-size:.84rem;
}
.section__title{
  margin:0;
  font-family:"EBNSerif", Georgia, "Times New Roman", serif;
  font-weight:400;
  color:var(--brown-gold);
  font-size:clamp(1.8rem, 3.2vw, 2.6rem);
  line-height:1.12;
}
.section__subtitle{margin:12px auto 0; color:var(--muted); max-width:64ch}

.hero{
  position:relative;
  overflow:hidden;
  padding:86px 0 0;
}
.hero__ornament{
  position:absolute;
  inset:-40% -20% auto -20%;
  height:520px;
  background:
    radial-gradient(closest-side at 25% 45%, rgba(217,104,58,.35), transparent 70%),
    radial-gradient(closest-side at 65% 35%, rgba(194,42,122,.22), transparent 72%),
    radial-gradient(closest-side at 55% 65%, rgba(12,62,58,.18), transparent 70%),
    linear-gradient(135deg, rgba(251,244,234,.0), rgba(251,244,234,.72));
  filter:saturate(1.05);
}
.hero__ornament::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:url("./img/ornament.svg");
  background-repeat:repeat;
  background-size:220px 220px;
  opacity:.28;
  mix-blend-mode:multiply;
}

.hero__inner{
  position:relative;
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:34px;
  align-items:center;
  padding-bottom:44px;
}

.kicker{
  margin:0 0 10px;
  font-weight:600;
  color:rgba(35,26,20,.72);
  letter-spacing:.08em;
}

.brand{
  margin:0;
  font-family:"EBNSerif", Georgia, "Times New Roman", serif;
  font-weight:400;
  font-size:clamp(2.7rem, 5vw, 4.3rem);
  letter-spacing:.01em;
  color:var(--brown-gold);
  line-height:1.02;
}

.tagline{
  margin:10px 0 14px;
  font-size:1.08rem;
  color:rgba(35,26,20,.78);
}

.hero__blurb{margin:0 0 22px; max-width:56ch; color:var(--muted)}

.cta-row{display:flex; gap:12px; align-items:center; flex-wrap:wrap}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 18px;
  border-radius:999px;
  text-decoration:none;
  font-weight:600;
  border:1px solid rgba(255,255,255,.42);
  box-shadow:0 18px 30px rgba(217,104,58,.22);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  will-change:transform;
}
.btn:focus-visible{outline:3px solid rgba(194,42,122,.35); outline-offset:3px}
.btn--primary{
  background:linear-gradient(135deg, var(--primary), var(--primary-deep));
  color:#fff;
}
.btn--primary:hover{transform:translateY(-1px); box-shadow:0 22px 36px rgba(217,104,58,.28)}

.hero__stats{
  margin-top:22px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}
.stat{
  border:1px solid var(--stroke);
  background:rgba(255,255,255,.62);
  backdrop-filter:blur(10px);
  border-radius:16px;
  padding:12px 12px;
  box-shadow:0 10px 22px rgba(35,26,20,.06);
}
.stat__value{
  font-family:"EBNSerif", Georgia, "Times New Roman", serif;
  color:var(--brown-gold);
  font-size:1.05rem;
  line-height:1.1;
}
.stat__label{margin-top:4px; font-size:.9rem; color:rgba(35,26,20,.70)}

.hero__frame{position:relative}
.feature-card{
  background:linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.68));
  border:1px solid rgba(35,26,20,.14);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:22px;
  position:relative;
  overflow:hidden;
}
.feature-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:radial-gradient(420px 260px at 20% 30%, rgba(217,104,58,.22), transparent 60%),
             radial-gradient(420px 260px at 85% 15%, rgba(194,42,122,.14), transparent 58%),
             radial-gradient(520px 340px at 70% 80%, rgba(12,62,58,.12), transparent 60%);
  pointer-events:none;
}
.feature-card > *{position:relative}
.feature-card__top{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.pill{
  font-size:.82rem;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(35,26,20,.14);
  background:rgba(251,244,234,.9);
  color:rgba(35,26,20,.78);
}
.pill--muted{background:rgba(12,62,58,.10); border-color:rgba(12,62,58,.18)}
.dot{width:6px; height:6px; border-radius:99px; background:var(--magenta)}
.feature-card__title{
  margin:14px 0 10px;
  font-family:"EBNSerif", Georgia, "Times New Roman", serif;
  font-weight:400;
  color:var(--brown-gold);
  font-size:1.55rem;
  line-height:1.12;
}
.feature-card__text{margin:0; color:var(--muted)}
.feature-card__grid{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.mini{
  display:flex;
  gap:10px;
  align-items:center;
  padding:10px 10px;
  border-radius:14px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(35,26,20,.10);
}
.mini__icon{color:var(--magenta); font-size:1.1rem}
.mini__text{font-size:.92rem; color:rgba(35,26,20,.76)}
.feature-card__divider{
  height:1px;
  margin:16px 0 12px;
  background:linear-gradient(90deg, transparent, rgba(35,26,20,.18), transparent);
}
.feature-card__note{margin:0; color:rgba(35,26,20,.70); font-size:.92rem}

.hero__divider{padding:0 0 22px}

.divider{height:1px; background:linear-gradient(90deg, transparent, rgba(35,26,20,.18), transparent)}
.divider--small{width:160px; margin:18px 0 0}
.section__heading--center .divider--small{margin-left:auto; margin-right:auto}

.divider--hero{
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(217,104,58,.42), rgba(194,42,122,.28), rgba(12,62,58,.30), transparent);
}
.divider--ornate{
  height:28px;
  background-image:url("./img/divider.svg");
  background-repeat:no-repeat;
  background-position:center;
  background-size:380px 28px;
  opacity:.95;
}
.divider--footer{
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(12,62,58,.32), rgba(217,104,58,.32), transparent);
}

.section--about{padding-top:54px}
.about__lead{font-size:1.05rem; color:rgba(35,26,20,.78); max-width:78ch}
.about__tiles{
  margin-top:22px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}
.tile{
  border-radius:var(--radius-sm);
  padding:18px;
  background:rgba(255,255,255,.70);
  border:1px solid rgba(35,26,20,.12);
  box-shadow:0 12px 24px rgba(35,26,20,.06);
}
.tile__title{
  margin:0 0 6px;
  font-family:"EBNSerif", Georgia, "Times New Roman", serif;
  font-weight:400;
  color:var(--brown-gold);
  font-size:1.2rem;
}
.tile__text{margin:0; color:var(--muted)}
.tile--teal{
  background:linear-gradient(180deg, rgba(12,62,58,.92), rgba(14,74,69,.92));
  border-color:rgba(255,255,255,.12);
}
.tile--teal .tile__title{color:#f6e7d6}
.tile--teal .tile__text{color:rgba(246,231,214,.86)}

.section--packages{
  position:relative;
  background:
    radial-gradient(1100px 700px at 20% 15%, rgba(217,104,58,.10), transparent 60%),
    radial-gradient(900px 700px at 85% 35%, rgba(12,62,58,.10), transparent 58%),
    linear-gradient(180deg, rgba(243,230,215,.55), rgba(251,244,234,.0));
}
.section__ornament{
  position:absolute;
  inset:0;
  background-image:url("./img/ornament.svg");
  background-size:240px 240px;
  opacity:.10;
  pointer-events:none;
  mix-blend-mode:multiply;
}

.packages{
  margin-top:26px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}

.package{
  position:relative;
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.70));
  border:1px solid rgba(35,26,20,.14);
  box-shadow:var(--shadow-soft);
  padding:22px 20px 18px;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.package:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 46px rgba(35,26,20,.14);
  border-color:rgba(217,104,58,.28);
}

.package::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:
    radial-gradient(420px 240px at 12% 20%, rgba(217,104,58,.16), transparent 65%),
    radial-gradient(420px 240px at 92% 10%, rgba(194,42,122,.10), transparent 60%);
  pointer-events:none;
}

.package--teal{
  background:linear-gradient(180deg, rgba(12,62,58,.94), rgba(14,74,69,.94));
  border-color:rgba(255,255,255,.14);
}
.package--teal::before{
  background:
    radial-gradient(520px 320px at 15% 20%, rgba(217,104,58,.20), transparent 62%),
    radial-gradient(480px 300px at 86% 12%, rgba(194,42,122,.18), transparent 62%),
    radial-gradient(520px 360px at 60% 85%, rgba(255,250,242,.10), transparent 60%);
}

.package > *{position:relative}

.package__badge{
  position:absolute;
  top:16px;
  right:16px;
  width:46px;
  height:46px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, rgba(217,104,58,.20), rgba(194,42,122,.14));
  border:1px solid rgba(35,26,20,.14);
}
.package--teal .package__badge{
  background:linear-gradient(135deg, rgba(251,244,234,.16), rgba(217,104,58,.20));
  border-color:rgba(255,255,255,.18);
}
.package__badge span{
  font-weight:600;
  color:rgba(35,26,20,.78);
}
.package--teal .package__badge span{color:rgba(246,231,214,.92)}

.package__header{padding-right:58px}
.package__name{
  margin:2px 0 6px;
  font-family:"EBNSerif", Georgia, "Times New Roman", serif;
  font-weight:400;
  color:var(--brown-gold);
  font-size:1.6rem;
  letter-spacing:.03em;
}
.package--teal .package__name{color:#f6e7d6}

.package__meta{margin:0; color:rgba(35,26,20,.72); font-weight:600; display:flex; flex-wrap:wrap; gap:8px; align-items:center}
.package--teal .package__meta{color:rgba(246,231,214,.88)}
.sep{opacity:.6}

.package__desc{margin:14px 0 14px; color:var(--muted)}
.package--teal .package__desc{color:rgba(246,231,214,.86)}

.package__lists{display:grid; grid-template-columns:1fr; gap:12px}

.plist__title{
  margin:0 0 8px;
  font-size:.92rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(35,26,20,.70);
}
.package--teal .plist__title{color:rgba(246,231,214,.86)}

.bullets{margin:0; padding-left:18px; color:rgba(35,26,20,.74)}
.bullets li{margin:7px 0}
.package--teal .bullets{color:rgba(246,231,214,.88)}

.bullets--soft{color:rgba(35,26,20,.68)}
.package--teal .bullets--soft{color:rgba(246,231,214,.84)}

.section__divider{margin-top:28px}

.callout{
  margin-top:22px;
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:18px 18px;
  border-radius:var(--radius);
  background:linear-gradient(135deg, rgba(217,104,58,.14), rgba(194,42,122,.10), rgba(12,62,58,.10));
  border:1px solid rgba(35,26,20,.12);
  box-shadow:0 16px 34px rgba(35,26,20,.10);
}
.callout__badge{
  flex:0 0 auto;
  padding:8px 10px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
  font-size:.76rem;
  color:#fff;
  background:linear-gradient(135deg, var(--magenta), #9a205f);
}
.callout__title{margin:0; font-family:"EBNSerif", Georgia, "Times New Roman", serif; font-weight:400; color:var(--brown-gold); font-size:1.25rem}
.callout__text{margin:6px 0 0; color:rgba(35,26,20,.76)}

.section--terms{
  background:linear-gradient(180deg, rgba(12,62,58,.96), rgba(14,74,69,.96));
  color:#f6e7d6;
}
.section--terms .section__eyebrow{color:rgba(246,231,214,.80)}
.section--terms .section__title{color:#f6e7d6}
.section--terms .divider{background:linear-gradient(90deg, transparent, rgba(246,231,214,.28), transparent)}

.terms{
  margin-top:22px;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:16px;
  align-items:start;
}
.terms__panel{
  border-radius:var(--radius);
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow:0 18px 42px rgba(0,0,0,.22);
  padding:20px;
}
.terms__list{margin:0; padding-left:18px; color:rgba(246,231,214,.90)}
.terms__list li{margin:10px 0}

.aside-card{
  border-radius:var(--radius);
  padding:20px;
  border:1px solid rgba(217,104,58,.30);
  background:
    radial-gradient(520px 340px at 20% 20%, rgba(217,104,58,.22), transparent 60%),
    radial-gradient(520px 340px at 80% 30%, rgba(194,42,122,.16), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow:0 18px 42px rgba(0,0,0,.22);
  position:relative;
  overflow:hidden;
}
.aside-card__title{
  margin:0 0 8px;
  font-family:"EBNSerif", Georgia, "Times New Roman", serif;
  font-weight:400;
  font-size:1.35rem;
  color:#f6e7d6;
}
.aside-card__text{margin:0; color:rgba(246,231,214,.88)}
.aside-card__ribbon{
  position:absolute;
  inset:auto -60px -60px auto;
  width:200px;
  height:200px;
  border-radius:999px;
  background:radial-gradient(circle at 30% 30%, rgba(251,244,234,.22), transparent 55%),
             radial-gradient(circle at 70% 60%, rgba(217,104,58,.30), transparent 62%);
  transform:rotate(18deg);
}

.footer{
  background:linear-gradient(180deg, var(--bg-cream), rgba(251,244,234,.55));
  color:var(--ink);
  padding:0 0 34px;
}
.footer__divider{padding:20px 0 0}
.footer__inner{
  padding-top:24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.footer__name{
  font-family:"EBNSerif", Georgia, "Times New Roman", serif;
  font-weight:400;
  font-size:1.35rem;
  color:var(--brown-gold);
}
.footer__tag{color:rgba(35,26,20,.72)}

@media (max-width: 980px){
  .hero__inner{grid-template-columns:1fr; gap:18px}
  .feature-card{padding:18px}
  .hero{padding-top:72px}
  .hero__stats{grid-template-columns:1fr;}
  .about__tiles{grid-template-columns:1fr;}
  .packages{grid-template-columns:1fr;}
  .terms{grid-template-columns:1fr;}
  .divider--ornate{background-size:320px 28px}
}

@media (prefers-reduced-motion: reduce){
  .btn, .package{transition:none}
  .package:hover{transform:none}
  .btn--primary:hover{transform:none}
}
