:root{
  --color-brown-900:#2F231C;
  --color-brown-700:#4A3A2A;
  --color-brown-600:#3B2A22;
  --color-gold-500:#C8A96B;
  --color-champagne-400:#D9C19A;
  --color-warm-gray-500:#9A7457;
  --color-beige-100:#F2EEE9;
  --color-offwhite-50:#FAF8F5;
  --color-white:#FFFFFF;
  --color-gray-200:#E4DDD6;
  --color-gray-300:#C8C0B8;

  --primary:var(--color-brown-700);
  --primary-dark:var(--color-brown-900);
  --secondary:var(--color-gold-500);

  --background:var(--color-offwhite-50);
  --surface:var(--color-beige-100);
  --surface-card:var(--color-white);
  --border-subtle:var(--color-gray-200);
  --border-strong:var(--color-gray-300);

  --text-heading:var(--color-brown-900);
  --text-body:var(--color-brown-700);
  --text-muted:var(--color-warm-gray-500);
  --text-on-dark:var(--color-beige-100);
  --text-on-gold:var(--color-brown-900);

  --gradient-dark:linear-gradient(180deg,var(--color-brown-700),var(--color-brown-900));

  --font-serif:'Marcellus',Georgia,'Times New Roman',serif;
  --font-sans:'Inter',-apple-system,'Helvetica Neue',Arial,sans-serif;

  --radius-sm:6px;
  --shadow-sm:0 2px 10px rgba(47,35,28,.06);
  --shadow-md:0 10px 40px rgba(47,35,28,.08);
  --shadow-lg:0 20px 60px rgba(47,35,28,.12);
  --shadow-xl:0 30px 90px rgba(47,35,28,.16);
  --transition:.25s ease;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--background);color:var(--text-body);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;overflow-x:clip;}
img{max-width:100%;display:block;}
a{color:var(--secondary);text-decoration:none;}
a:hover{color:var(--color-champagne-400);}
button{font:inherit;}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}
.hero-bg-desktop{display:block;}
.hero-bg-mobile{display:none;}
@media (max-width: 860px){
  .hero-bg-desktop{display:none;}
  .hero-bg-mobile{display:block;}
  .hero-checklist{display:none !important;}
}
@media (max-width: 760px){
  .sticky-desktop{position:static !important;top:auto !important;}
}
@media (max-width: 480px){
  .receipt-row{flex-wrap:wrap;row-gap:4px;}
  .receipt-label{white-space:normal !important;}
  .receipt-line{display:none;}
}
.btn-gold{font-family:var(--font-sans);font-size:18px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;padding:18px 36px;border-radius:var(--radius-sm);border:1px solid var(--secondary);cursor:pointer;background:var(--secondary);color:var(--text-on-gold);transition:var(--transition);}
.btn-gold:hover{background:transparent;color:var(--secondary);}
.btn-dark{font-family:var(--font-sans);font-size:18px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;padding:18px 36px;border-radius:var(--radius-sm);border:none;cursor:pointer;background:var(--primary-dark);color:var(--text-on-dark);transition:var(--transition);}
.btn-dark:hover{background:var(--primary);}
.ds-input{display:flex;flex-direction:column;gap:6px;font-family:var(--font-sans);}
.ds-input span{font-size:14px;color:var(--text-body);}
.ds-input input{font-family:var(--font-sans);font-size:16px;padding:12px 16px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:#fff;color:var(--text-body);outline:none;transition:var(--transition);width:100%;}
.ds-input input:focus{border-color:var(--secondary);}
.faq-item{border-bottom:1px solid var(--border-subtle);}
.faq-item button{width:100%;text-align:left;background:none;border:none;padding:18px 4px;display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;font-size:16px;color:var(--text-heading);font-family:var(--font-sans);}
.faq-item .plus{color:var(--secondary);font-size:20px;transition:var(--transition);flex:0 0 auto;}
.faq-item.open .plus{transform:rotate(45deg);}
.faq-item .answer{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-item .answer p{padding:0 4px 18px;color:var(--text-muted);font-size:15px;line-height:1.6;margin:0;}
