@font-face{font-family:"LuxurySerif";src:url("./fonts/luxury-serif.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"ModernSans";src:url("./fonts/modern-sans.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{
  --bg0:#07070a;
  --bg1:#0b0b10;
  --panel:#0f0f16;
  --panel2:#12121b;
  --text:#f1ead6;
  --muted:#c8c0aa;
  --muted2:#a49c84;
  --gold:#d7b56d;
  --gold2:#f0d59a;
  --line:rgba(215,181,109,.28);
  --line2:rgba(240,213,154,.18);
  --shadow:0 18px 55px rgba(0,0,0,.55);
  --shadow2:0 10px 30px rgba(0,0,0,.5);
  --radius:18px;
  --radius2:24px;
  --container:1120px;
  --ease:cubic-bezier(.2,.9,.2,1);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--text);
  font-family:ModernSans,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:
    radial-gradient(1200px 800px at 15% 10%, rgba(215,181,109,.10), transparent 55%),
    radial-gradient(900px 600px at 85% 20%, rgba(240,213,154,.08), transparent 60%),
    radial-gradient(900px 650px at 50% 100%, rgba(215,181,109,.06), transparent 60%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
  overflow-x:hidden;
}
.page{
  min-height:100%;
  position:relative;
}
.page::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(135deg, rgba(240,213,154,.05) 0 1px, transparent 1px 14px),
    radial-gradient(1000px 600px at 50% 0%, rgba(215,181,109,.06), transparent 55%);
  mix-blend-mode:soft-light;
  opacity:.45;
}
.container{
  width:min(var(--container), calc(100% - 40px));
  margin:0 auto;
}
.skip{
  position:absolute;
  left:-999px;
  top:0;
  background:var(--panel);
  color:var(--text);
  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:12px;
}
.skip:focus{left:12px;top:12px;z-index:50;outline:none;box-shadow:0 0 0 4px rgba(215,181,109,.18)}

.topbar{
  position:sticky;
  top:0;
  z-index:10;
  backdrop-filter:saturate(120%) blur(10px);
  background:linear-gradient(180deg, rgba(8,8,12,.85), rgba(8,8,12,.55));
  border-bottom:1px solid rgba(240,213,154,.10);
}
.topbar__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 0;
}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand__mark{width:34px;height:34px;display:grid;place-items:center}
.mark{
  width:30px;height:30px;border-radius:10px;
  background:
    radial-gradient(16px 16px at 30% 30%, rgba(240,213,154,.26), transparent 60%),
    radial-gradient(18px 18px at 70% 70%, rgba(215,181,109,.22), transparent 60%),
    linear-gradient(135deg, rgba(215,181,109,.25), rgba(12,12,18,.1));
  border:1px solid rgba(240,213,154,.22);
  box-shadow:0 10px 30px rgba(0,0,0,.55);
  transform:rotate(10deg);
}
.brand__name{
  font-family:LuxurySerif, Georgia, "Times New Roman", serif;
  letter-spacing:.4px;
  font-weight:600;
  font-size:16px;
  color:var(--gold2);
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border-radius:999px;
  text-decoration:none;
  font-weight:600;
  letter-spacing:.2px;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease);
  will-change:transform;
}
.btn--primary{
  color:#1b1408;
  background:linear-gradient(135deg, rgba(240,213,154,1), rgba(215,181,109,1));
  box-shadow:0 18px 40px rgba(215,181,109,.12), 0 10px 28px rgba(0,0,0,.55);
  border:1px solid rgba(240,213,154,.55);
}
.btn--primary:hover{transform:translateY(-1px);box-shadow:0 22px 55px rgba(215,181,109,.16), 0 12px 32px rgba(0,0,0,.6)}
.btn--primary:focus{outline:none;box-shadow:0 0 0 4px rgba(215,181,109,.22), 0 20px 50px rgba(0,0,0,.6)}

.main{position:relative;z-index:1}

.hero{padding:64px 0 24px}
.hero__inner{
  display:grid;
  grid-template-columns:1fr;
  gap:34px;
  align-items:center;
}
.hero__content{max-width:680px}
.hero__eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:14px;color:var(--muted);font-size:12.5px;letter-spacing:.22em;text-transform:uppercase}
.eyebrow__dot{width:8px;height:8px;border-radius:999px;background:radial-gradient(circle at 30% 30%, var(--gold2), var(--gold));box-shadow:0 0 18px rgba(215,181,109,.25)}
.hero__title{
  font-family:LuxurySerif, Georgia, "Times New Roman", serif;
  font-size:clamp(34px, 5.5vw, 58px);
  line-height:1.05;
  margin:0 0 14px;
  color:var(--gold2);
  letter-spacing:.2px;
}
.hero__subtext{
  margin:0 0 18px;
  color:rgba(241,234,214,.86);
  font-size:16.5px;
  line-height:1.7;
}
.hero__highlights{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(18,18,27,.72), rgba(12,12,18,.55));
  border:1px solid rgba(240,213,154,.14);
  box-shadow:var(--shadow2);
  transform:translateZ(0);
}
.pill__icon{color:var(--gold)}
.pill__text{color:rgba(241,234,214,.88);font-size:13.5px}

.hero__ornament{
  position:relative;
  height:260px;
  border-radius:var(--radius2);
  background:
    radial-gradient(180px 180px at 30% 35%, rgba(240,213,154,.12), transparent 65%),
    radial-gradient(240px 240px at 70% 65%, rgba(215,181,109,.10), transparent 66%),
    linear-gradient(180deg, rgba(18,18,27,.62), rgba(10,10,14,.40));
  border:1px solid rgba(240,213,154,.12);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.ring{
  position:absolute;
  border-radius:999px;
  border:1px solid rgba(240,213,154,.16);
  filter:drop-shadow(0 0 18px rgba(215,181,109,.10));
}
.ring--a{width:240px;height:240px;left:-40px;top:-50px}
.ring--b{width:340px;height:340px;right:-120px;top:-80px;border-color:rgba(215,181,109,.14)}
.ring--c{width:220px;height:220px;left:40%;top:40%;transform:translate(-50%,-50%);border-color:rgba(240,213,154,.12)}
.monogram{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-family:LuxurySerif, Georgia, "Times New Roman", serif;
  font-size:64px;
  letter-spacing:.08em;
  color:rgba(240,213,154,.16);
  text-transform:uppercase;
}

.divider{display:flex;align-items:center;justify-content:center;gap:14px;padding:22px 0}
.divider__line{height:1px;flex:1;max-width:320px;background:linear-gradient(90deg, transparent, rgba(240,213,154,.24), transparent)}
.divider__gem{
  width:9px;height:9px;border-radius:3px;
  background:linear-gradient(135deg, rgba(240,213,154,1), rgba(215,181,109,1));
  box-shadow:0 0 22px rgba(215,181,109,.22);
  transform:rotate(45deg);
}

.services{padding:10px 0 10px}
.section-head{display:flex;flex-direction:column;gap:10px;margin:0 0 22px}
.section-title{
  margin:0;
  font-family:LuxurySerif, Georgia, "Times New Roman", serif;
  font-size:28px;
  letter-spacing:.3px;
  color:var(--gold2);
}
.section-subtitle{margin:0;color:rgba(200,192,170,.92);line-height:1.7;max-width:60ch}

.grid{display:grid;grid-template-columns:1fr;gap:16px}
.card{
  padding:18px 16px;
  border-radius:var(--radius);
  background:
    radial-gradient(220px 140px at 20% 0%, rgba(215,181,109,.10), transparent 60%),
    linear-gradient(180deg, rgba(18,18,27,.70), rgba(10,10,14,.50));
  border:1px solid rgba(240,213,154,.16);
  box-shadow:var(--shadow2);
  transition:transform .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
  position:relative;
  overflow:hidden;
}
.card::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:calc(var(--radius) + 2px);
  background:radial-gradient(360px 120px at 30% 0%, rgba(240,213,154,.10), transparent 60%);
  opacity:0;
  transition:opacity .35s var(--ease);
  pointer-events:none;
}
.card:hover{transform:translateY(-4px);border-color:rgba(240,213,154,.28);box-shadow:0 24px 65px rgba(0,0,0,.62)}
.card:hover::after{opacity:1}
.card__top{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.icon{
  width:40px;height:40px;border-radius:14px;
  display:grid;place-items:center;
  color:var(--gold2);
  background:linear-gradient(135deg, rgba(240,213,154,.16), rgba(12,12,18,.10));
  border:1px solid rgba(240,213,154,.18);
  box-shadow:0 12px 28px rgba(0,0,0,.55);
}
.card__title{margin:0;font-size:18px;letter-spacing:.2px;color:rgba(241,234,214,.92)}
.card__desc{margin:0 0 14px;color:rgba(200,192,170,.92);line-height:1.7}
.list{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.list__item{display:flex;gap:10px;align-items:flex-start;color:rgba(241,234,214,.86)}
.list__icon{color:rgba(240,213,154,.85);line-height:1.3;transform:translateY(1px)}

.hospitality{padding:6px 0 70px}
.feature{
  border-radius:calc(var(--radius2) + 2px);
  background:
    radial-gradient(550px 220px at 18% 0%, rgba(240,213,154,.12), transparent 60%),
    radial-gradient(600px 260px at 85% 80%, rgba(215,181,109,.10), transparent 62%),
    linear-gradient(180deg, rgba(18,18,27,.80), rgba(8,8,12,.55));
  border:1px solid rgba(240,213,154,.20);
  box-shadow:0 30px 85px rgba(0,0,0,.62);
  overflow:hidden;
  position:relative;
}
.feature::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:
    radial-gradient(800px 260px at 50% 0%, rgba(215,181,109,.12), transparent 60%),
    repeating-linear-gradient(90deg, rgba(240,213,154,.05) 0 1px, transparent 1px 20px);
  opacity:.35;
  pointer-events:none;
}
.feature__head{padding:22px 18px 0;position:relative;z-index:1}
.feature__badge{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border-radius:999px;border:1px solid rgba(240,213,154,.20);background:linear-gradient(180deg, rgba(8,8,12,.45), rgba(18,18,27,.35));color:rgba(240,213,154,.92);box-shadow:0 18px 40px rgba(0,0,0,.55)}
.feature__badge-icon{color:var(--gold2)}
.feature__badge-text{font-size:12px;letter-spacing:.22em;text-transform:uppercase}
.feature__title{
  margin:14px 0 8px;
  font-family:LuxurySerif, Georgia, "Times New Roman", serif;
  font-size:clamp(26px, 3.6vw, 40px);
  line-height:1.1;
  color:var(--gold2);
  letter-spacing:.2px;
}
.feature__subtitle{margin:0;color:rgba(200,192,170,.92);line-height:1.7;max-width:62ch}

.feature__body{display:grid;grid-template-columns:1fr;gap:18px;padding:18px}
.feature__desc{margin:0 0 14px;color:rgba(241,234,214,.86);line-height:1.75}
.usecases{display:grid;gap:10px}
.usecase{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:12px;
  padding:12px 12px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(10,10,14,.42), rgba(18,18,27,.32));
  border:1px solid rgba(240,213,154,.14);
  transition:transform .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
}
.usecase:hover{transform:translateY(-2px);border-color:rgba(240,213,154,.24);box-shadow:0 18px 45px rgba(0,0,0,.58)}
.usecase__icon{width:34px;height:34px;border-radius:14px;display:grid;place-items:center;color:var(--gold);background:linear-gradient(135deg, rgba(240,213,154,.12), rgba(12,12,18,.08));border:1px solid rgba(240,213,154,.16)}
.usecase__title{font-weight:650;color:rgba(241,234,214,.92);letter-spacing:.2px}
.usecase__meta{margin-top:2px;color:rgba(200,192,170,.92);font-size:13.5px;line-height:1.55}

.feature__accent{position:relative;min-height:220px;display:grid;align-items:end;justify-items:stretch;z-index:1}
.accent-card{
  padding:16px;
  border-radius:22px;
  border:1px solid rgba(240,213,154,.22);
  background:
    radial-gradient(260px 140px at 10% 0%, rgba(240,213,154,.14), transparent 60%),
    linear-gradient(180deg, rgba(18,18,27,.70), rgba(8,8,12,.50));
  box-shadow:0 26px 70px rgba(0,0,0,.62);
}
.accent-card__top{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.accent-card__icon{
  width:42px;height:42px;border-radius:16px;
  display:grid;place-items:center;
  color:var(--gold2);
  background:linear-gradient(135deg, rgba(240,213,154,.18), rgba(12,12,18,.10));
  border:1px solid rgba(240,213,154,.20);
}
.accent-card__title{font-weight:700;letter-spacing:.2px;color:rgba(241,234,214,.94)}
.accent-card__body{display:grid;gap:10px}
.accent-row{display:flex;align-items:center;gap:10px;color:rgba(200,192,170,.92)}
.accent-dot{width:7px;height:7px;border-radius:999px;background:radial-gradient(circle at 30% 30%, var(--gold2), var(--gold));box-shadow:0 0 18px rgba(215,181,109,.18)}
.aura{
  position:absolute;
  inset:auto -80px -120px -80px;
  height:320px;
  background:radial-gradient(closest-side, rgba(215,181,109,.18), transparent 70%);
  filter:blur(18px);
  opacity:.55;
  pointer-events:none;
}

.footer{border-top:1px solid rgba(240,213,154,.10);background:linear-gradient(180deg, rgba(8,8,12,.35), rgba(8,8,12,.65));position:relative;z-index:1}
.footer__inner{padding:26px 0;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.footer__brand{font-family:LuxurySerif, Georgia, "Times New Roman", serif;color:var(--gold2);letter-spacing:.25px;text-transform:uppercase}
.footer__tagline{color:rgba(200,192,170,.90)}

.reveal{opacity:0;transform:translateY(10px);transition:opacity .7s var(--ease), transform .7s var(--ease)}
.reveal.is-visible{opacity:1;transform:translateY(0)}

@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto}
  .btn,.card,.usecase,.reveal{transition:none}
  .card:hover,.usecase:hover,.btn--primary:hover{transform:none}
}

@media (min-width:860px){
  .hero{padding:84px 0 26px}
  .hero__inner{grid-template-columns:1.25fr .85fr;gap:40px}
  .hero__ornament{height:320px}
  .grid{grid-template-columns:repeat(3, 1fr)}
  .feature__body{grid-template-columns:1.2fr .8fr;align-items:stretch}
  .feature__accent{min-height:100%;align-items:center}
  .footer__inner{flex-direction:row;justify-content:space-between;align-items:center}
}
