/* ============================================
   HIDDEN PRESTIGE — globals.css
   hiddenprestige.com | Quiet Luxury System
   ============================================ */

html { scroll-behavior: smooth; }
body { min-height: 100dvh; font-family: 'Manrope', sans-serif; background-color: #faf9f6; color: #1a1c1a; }

/* Glass */
.glass { background: rgba(250,249,246,0.8); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid rgba(209,197,180,0.2); }

/* Gold Gradient */
.gold-gradient { background: linear-gradient(135deg, #775a19 0%, #c5a059 100%); }

/* Scrollbar hidden */
.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Material Symbols */
.material-symbols-outlined { font-variation-settings: 'FILL' 0,'wght' 300,'GRAD' 0,'opsz' 24; }

/* Fade-in animation */
.fade-in { opacity: 0; transform: translateY(28px); transition: opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); }
.fade-in.visible { opacity: 1; transform: translateY(0); }

/* Header shrink on scroll */
header.scrolled { padding-top: .5rem; padding-bottom: .5rem; }

/* APA bar */
.apa-bar { background: #efeeeb; border-left: 3px solid #775a19; }

/* Trust badges */
.trust-badge { filter: grayscale(1); opacity: .55; transition: filter .7s, opacity .7s; }
.trust-badge:hover { filter: grayscale(0); opacity: 1; }

/* Timeline line */
.timeline { position: relative; padding-left: 2rem; }
.timeline::before { content:''; position:absolute; left:11px; top:.5rem; bottom:.5rem; width:1px; background:#d1c5b4; }
.timeline-dot { position:absolute; left:-30px; top:4px; width:20px; height:20px; border-radius:50%; background:#fff; border:1.5px solid #775a19; display:flex; align-items:center; justify-content:center; z-index:1; }

/* Snap scroll */
.snap-x { scroll-snap-type: x mandatory; }
.snap-center { scroll-snap-align: center; }
.snap-start { scroll-snap-align: start; }

/* Form underline style */
.input-underline { background:transparent; border:none; border-bottom:1px solid #d1c5b4; outline:none; width:100%; padding:.5rem 0; color:#1a1c1a; font-family:'Manrope',sans-serif; font-size:.9rem; }
.input-underline::placeholder { color:#a0988a; }
.input-underline:focus { border-bottom-color: #775a19; }

/* Stepper */
.step-line { height:2px; width:100%; background:#d1c5b4; }
.step-line.active { background:#775a19; }

/* Bento grid */
.bento-2 { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.bento-full { grid-column: 1 / -1; }

/* CTA button */
.btn-gold { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:1rem 2rem; font-family:'Manrope',sans-serif; font-size:.7rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:#fff; border:none; cursor:pointer; border-radius:2px; transition:transform .2s, box-shadow .2s; }
.btn-gold:hover { transform:scale(1.02); box-shadow:0 10px 20px rgba(119,90,25,.2); }
.btn-gold:active { transform:scale(.97); }

/* Responsive */
@media (min-width:768px) {
  .md-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
  .md-grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:2rem; }
  .md-flex { display:flex; }
  .md-hidden { display:none; }
  .md-show { display:flex; }
}
@media (max-width:767px) {
  .desktop-only { display:none !important; }
  .mobile-pb { padding-bottom:6rem; }
}
