/* Lumiere landing theme — layered on top of the design system's tokens.
   Only this file and config.js need editing to rebrand the experience. */
@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap");

:root{
  /* brand */
  --v-primary:#c9472f;--v-primary-active:#a93825;--v-primary-soft:#f6ddd7;
  --v-gold:#b38a4a;--v-plum:#421f35;
  --v-canvas:#ffffff;--v-surface:#fafaf9;--v-surface-2:#f7f6f4;--v-surface-3:#f2f1ef;--v-warm:#f5f1ec;
  --v-ink:#202020;--v-body:#3f3f3f;--v-muted:#6b6b6b;--v-soft:#929292;
  --v-hairline:#e4e1dd;--v-border:#c9c5c0;
  --v-success:#287a52;--v-error:#c13515;--v-on-primary:#ffffff;

  /* type */
  --v-display:"Playfair Display",Georgia,serif;
  --v-ui:"Manrope","Inter",system-ui,sans-serif;
  --v-mono:"IBM Plex Mono",ui-monospace,monospace;

  /* shape */
  --v-r-sm:8px;--v-r-md:14px;--v-r-lg:24px;--v-r-xl:32px;--v-r-pill:9999px;

  /* one shadow, used sparingly */
  --v-shadow:rgba(0,0,0,.02) 0 0 0 1px,rgba(0,0,0,.04) 0 2px 6px,rgba(0,0,0,.08) 0 4px 12px;
  --v-shadow-lift:rgba(0,0,0,.02) 0 0 0 1px,rgba(0,0,0,.06) 0 8px 20px,rgba(0,0,0,.10) 0 18px 40px;

  /* motion */
  --v-ease:cubic-bezier(.22,1,.36,1);
  --v-section:clamp(72px,9vw,128px);
}

body{margin:0;background:var(--v-canvas);color:var(--v-body);font-family:var(--v-ui);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{margin:0;color:var(--v-ink);font-weight:500;letter-spacing:-.02em;line-height:1.06}
p{margin:0;text-wrap:pretty}
a{color:var(--v-ink);text-decoration:none}
a:hover{color:var(--v-primary)}
.v-serif{font-family:var(--v-display);font-weight:400}
.v-eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--v-soft)}
.v-num{font-family:var(--v-mono);font-variant-numeric:tabular-nums}
.v-wrap{max-width:1240px;margin-inline:auto;padding-inline:32px}
.v-section{padding-block:var(--v-section)}

/* buttons */
.v-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 24px;border-radius:var(--v-r-sm);font-size:15px;font-weight:600;cursor:pointer;border:1px solid transparent;background:var(--v-primary);color:#fff;transition:background 180ms ease,transform 260ms var(--v-ease),box-shadow 260ms var(--v-ease);white-space:nowrap}
.v-btn:hover{background:var(--v-primary-active);color:#fff;transform:translateY(-1px)}
.v-btn:active{transform:translateY(0) scale(.99)}
.v-btn.secondary{background:#fff;color:var(--v-ink);border-color:var(--v-ink)}
.v-btn.secondary:hover{background:var(--v-surface-2);color:var(--v-ink)}
.v-btn.tertiary{background:none;color:var(--v-ink);min-height:auto;padding:0}
.v-btn.tertiary:hover{background:none;text-decoration:underline;text-underline-offset:4px;transform:none}
.v-btn.pill{border-radius:var(--v-r-pill);padding:0 28px}
.v-btn.onDark{background:#fff;color:var(--v-ink)}
.v-btn.onDark:hover{background:var(--v-primary-soft);color:var(--v-ink)}
.v-btn.ghostDark{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.28)}
.v-btn.ghostDark:hover{background:rgba(255,255,255,.16);color:#fff}

/* cards */
.v-card{background:#fff;border-radius:var(--v-r-md);box-shadow:var(--v-shadow);overflow:hidden}
.v-photo{position:relative;overflow:hidden;background:linear-gradient(140deg,#f5f1ec,#eae5de 55%,#f6ddd7);display:grid;place-items:center}
.v-photo span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--v-soft)}

@keyframes v-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes v-marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@keyframes v-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

@media (max-width:1080px){.v-wrap{padding-inline:24px}}
@media (max-width:744px){.v-wrap{padding-inline:20px}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms !important;transition-duration:.001ms !important}}
