:root{
  --bg1:#f7b7c8;
  --bg2:#f2a6c6;
  --bg3:#f4c7d9;
  --ink:#2a1b1f;
  --muted:rgba(42,27,31,.72);
  --white:rgba(255,255,255,.92);
  --glass:rgba(255,255,255,.22);
  --glass2:rgba(255,255,255,.16);
  --stroke:rgba(255,255,255,.35);
  --gold1:#d7a44c;
  --gold2:#f3d59a;
  --shadow:0 24px 60px rgba(26,14,18,.25);
  --radius:22px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--ink);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:linear-gradient(135deg,var(--bg1),var(--bg2) 45%,var(--bg3));
  overflow-x:hidden;
}

a{color:inherit;text-decoration:none}

.container{
  width:min(1120px,calc(100% - 40px));
  margin:0 auto;
}

.bg{
  position:fixed;
  inset:-20vh -20vw;
  background:
    radial-gradient(60% 50% at 20% 20%, rgba(255,255,255,.55), transparent 55%),
    radial-gradient(50% 55% at 80% 25%, rgba(255,255,255,.35), transparent 60%),
    radial-gradient(55% 60% at 60% 85%, rgba(255,255,255,.28), transparent 62%);
  filter:blur(16px);
  pointer-events:none;
  z-index:-1;
}

.header{
  position:sticky;
  top:0;
  z-index:10;
  backdrop-filter: blur(14px);
  background:linear-gradient(to bottom, rgba(255,255,255,.20), rgba(255,255,255,.08));
  border-bottom:1px solid rgba(255,255,255,.22);
}

.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 0;
}

.brand__logo{
  height:44px;
  width:auto;
  display:block;
}

.nav{
  display:flex;
  gap:18px;
  align-items:center;
}

.nav__link{
  font-weight:600;
  font-size:14px;
  letter-spacing:.02em;
  color:rgba(42,27,31,.78);
  padding:10px 10px;
  border-radius:14px;
}

.nav__link:hover{background:rgba(255,255,255,.22)}

.header__cta{display:flex;gap:10px;align-items:center}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  font-weight:700;
  font-size:14px;
  border:1px solid rgba(255,255,255,.38);
  background:linear-gradient(135deg, rgba(255,255,255,.35), rgba(255,255,255,.18));
  box-shadow:0 14px 34px rgba(26,14,18,.12);
  color:rgba(42,27,31,.88);
  transition:transform .12s ease, background .12s ease;
}

.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}

.btn--ghost{
  background:rgba(255,255,255,.14);
}

.btn--lg{padding:12px 16px;font-size:15px}

.hero{padding:56px 0 24px}

.hero__grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:28px;
  align-items:center;
}

.kicker{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.28);
  font-weight:700;
  font-size:13px;
  color:rgba(42,27,31,.75);
}

.hero__title{margin:14px 0 12px;line-height:.92}

.hero__titleTop{
  display:block;
  font-family:"Playfair Display", serif;
  font-weight:700;
  font-size:74px;
  letter-spacing:.06em;
  background:linear-gradient(180deg,var(--gold2),var(--gold1));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:0 2px 0 rgba(255,255,255,.35);
}

.hero__titleScript{
  display:block;
  font-family:"Great Vibes", cursive;
  font-weight:400;
  font-size:74px;
  color:rgba(42,27,31,.9);
  text-shadow:0 1px 0 rgba(255,255,255,.35);
}

.hero__subtitle{
  margin:0 0 18px;
  font-size:16px;
  line-height:1.6;
  color:var(--muted);
  max-width:54ch;
}

.hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 22px}

.hero__info{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.infoCard{
  padding:14px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 18px 50px rgba(26,14,18,.10);
}

.infoCard__label{font-size:12px;font-weight:800;letter-spacing:.04em;color:rgba(42,27,31,.62);margin-bottom:6px}
.infoCard__value{font-size:13px;font-weight:700;color:rgba(42,27,31,.86)}

.hero__visual{display:flex;justify-content:flex-end}

.mock{
  width:min(420px,100%);
  border-radius:28px;
  position:relative;
  box-shadow:var(--shadow);
}

.mock__frame{
  border-radius:28px;
  padding:18px;
  background:linear-gradient(135deg, rgba(255,255,255,.32), rgba(255,255,255,.14));
  border:1px solid rgba(255,255,255,.28);
  overflow:hidden;
  position:relative;
}

.mock__shine{
  position:absolute;
  inset:-40% -40%;
  background:conic-gradient(from 180deg at 50% 50%, rgba(255,255,255,.0), rgba(255,255,255,.45), rgba(255,255,255,.0));
  filter:blur(10px);
  opacity:.55;
  animation:spin 10s linear infinite;
}

@keyframes spin{to{transform:rotate(360deg)}}

.mock__logoWrap{
  border-radius:22px;
  background:rgba(255,255,255,.28);
  border:1px solid rgba(255,255,255,.30);
  padding:14px;
}

.mock__logo{width:100%;height:auto;display:block;border-radius:16px}

.mock__text{margin-top:14px}

.mock__line{
  height:12px;
  border-radius:999px;
  background:rgba(255,255,255,.26);
  border:1px solid rgba(255,255,255,.22);
  margin-bottom:10px;
}

.mock__line--short{width:68%}

.mock__badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}

.badge{
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.28);
  color:rgba(42,27,31,.78);
}

.section{padding:54px 0}
.section--soft{background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.02))}

.sectionHead{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px;flex-wrap:wrap}
.sectionTitle{margin:0;font-family:"Playfair Display", serif;font-size:34px;letter-spacing:.02em}
.sectionSub{margin:0;color:var(--muted);max-width:62ch;line-height:1.6}

.cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.card{
  border-radius:22px;
  padding:18px;
  background:rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 18px 52px rgba(26,14,18,.10);
}

.card__title{margin:0 0 8px;font-size:18px;font-weight:900}
.card__text{margin:0 0 12px;color:var(--muted);line-height:1.6}
.card__link{display:inline-flex;font-weight:900;color:rgba(42,27,31,.88);padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22)}
.card__link:hover{background:rgba(255,255,255,.22)}

.grid2{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.feature{
  border-radius:22px;
  padding:18px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.26);
}

.feature__title{font-weight:900;margin:0 0 8px;font-size:16px}
.feature__text{margin:0;color:var(--muted);line-height:1.6}

.cta{
  border-radius:28px;
  padding:22px;
  background:linear-gradient(135deg, rgba(255,255,255,.28), rgba(255,255,255,.12));
  border:1px solid rgba(255,255,255,.30);
  box-shadow:var(--shadow);
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px;
}

.cta__title{margin:0 0 8px;font-family:"Playfair Display", serif;font-size:30px}
.cta__text{margin:0 0 14px;color:var(--muted);line-height:1.6}
.cta__actions{display:flex;gap:12px;flex-wrap:wrap}

.cta__panel{
  border-radius:22px;
  padding:16px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.26);
}

.panelRow{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.20)}
.panelRow:last-of-type{border-bottom:none}
.panelLabel{font-weight:900;color:rgba(42,27,31,.70);font-size:13px}
.panelValue{font-weight:800;color:rgba(42,27,31,.88);font-size:13px;text-align:right}
.panelHint{margin-top:10px;font-size:12px;color:rgba(42,27,31,.62);font-weight:800}

.footer{padding:28px 0 34px}
.footer__inner{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center}
.footer__brand{font-weight:1000;font-family:"Playfair Display", serif;letter-spacing:.04em}
.footer__small{margin-top:6px;color:rgba(42,27,31,.62);font-size:12px;font-weight:700}
.footer__right{display:flex;gap:12px;flex-wrap:wrap}
.footer__link{font-weight:800;color:rgba(42,27,31,.72);padding:10px 10px;border-radius:14px}
.footer__link:hover{background:rgba(255,255,255,.18)}

@media (max-width: 980px){
  .hero__grid{grid-template-columns:1fr;}
  .hero__visual{justify-content:flex-start}
  .hero__info{grid-template-columns:1fr}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cta{grid-template-columns:1fr}
}

@media (max-width: 560px){
  .nav{display:none}
  .hero__titleTop,.hero__titleScript{font-size:56px}
  .sectionTitle{font-size:28px}
  .cards{grid-template-columns:1fr}
}
