/* Direction: RESH — luxury interior atelier. Ivory paper, champagne gold, espresso band, Cormorant serif display */
/* Completed by the platform from the short form: both modes, every
   palette token, each text-on-ground pair at its floor. To restyle, write the
   short form again (the decisions in one :root) and it is completed again. */

:root {
  --canvas: #faf6ef;
  --surface: #fffdf9;
  --surface-2: #f1e8d8;
  --border: #e3d7c2;
  --border-strong: #b5b1a9;
  --ink: #2b2118;
  --muted: #6b5e50;
  --accent: #8f6e2f;
  --accent-hover: #7a5e28;
  --accent-ink: #ffffff;
  --accent-text: #7a5a22;
  --accent-strong: #795d28;
  --accent-soft: #f1e5c8;
  --accent-border: #cab999;
  --success: #15803d;
  --success-ink: #ffffff;
  --success-soft: #dfe8da;
  --success-strong: #137638;
  --warning: #b45309;
  --warning-ink: #ffffff;
  --warning-soft: #f2e2d3;
  --warning-strong: #a64c08;
  --danger: #b91c1c;
  --danger-ink: #ffffff;
  --danger-soft: #f2dcd6;
  --danger-strong: #b91c1c;
  --chart-1: #8f6e2f;
  --chart-2: #599c4e;
  --chart-3: #0a6a6f;
  --chart-4: #5b87d7;
  --chart-5: #7a3d86;
  --chart-6: #cf6869;

  --font-display: "Cormorant Garamond", Georgia, serif;
  --font-body: "Jost", system-ui, sans-serif;
  --display-weight: 500;
  --display-tracking: -0.01em;
  --radius-card: 4px;
  --radius-btn: 2px;
  --radius-input: 2px;
  --x-on-photo: #ffffff;
  --x-band: #2a2018;
  --x-gold: #dcbd7e;
  --x-scrim: rgb(28 20 12 / 0.55);
  --font-mono: "JetBrains Mono Variable", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --font-sans: "Jost", system-ui, sans-serif;
  --eyebrow-tracking: 0.08em;
}

html[data-theme="dark"] {
  --canvas: #140f07;
  --surface: #2c2720;
  --surface-2: #201b13;
  --border: #35312a;
  --border-strong: #5b5751;
  --ink: #faf6ef;
  --muted: #9e9a92;
  --accent: #8f6e2f;
  --accent-hover: #a0844e;
  --accent-ink: #ffffff;
  --accent-text: #a88f5d;
  --accent-strong: #a88f5d;
  --accent-soft: #2f2410;
  --accent-border: #4b3a19;
  --success: #15803d;
  --success-ink: #ffffff;
  --success-soft: #142813;
  --success-strong: #499c68;
  --warning: #b45309;
  --warning-ink: #ffffff;
  --warning-soft: #371e07;
  --warning-strong: #c57a40;
  --danger: #b91c1c;
  --danger-ink: #ffffff;
  --danger-soft: #38120c;
  --danger-strong: #d16969;
  --chart-1: #8f6e2f;
  --chart-2: #5fa254;
  --chart-3: #059299;
  --chart-4: #5b87d7;
  --chart-5: #a364af;
  --chart-6: #cf6869;
}

html { scroll-behavior: smooth; }
section[id] { scroll-margin-top: 4.5rem; }

/* header: clear over the hero, solid once scrolled */
.site-header { color: var(--x-on-photo); transition: background-color .35s ease, color .35s ease, box-shadow .35s ease; }
.site-header.scrolled { background: var(--canvas); color: var(--ink); box-shadow: 0 1px 0 var(--border); }
.site-header .nav-link { position: relative; padding: .25rem 0; font-size: .8rem; letter-spacing: .18em; text-transform: uppercase; }
.site-header .nav-link::after { content: ""; position: absolute; left: 0; bottom: -2px; height: 1px; width: 100%; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
.site-header .nav-link:hover::after, .site-header .nav-link:focus-visible::after { transform: scaleX(1); }
.mobile-panel { background: var(--canvas); color: var(--ink); }

/* hero */
.hero-img { animation: hero-drift 24s ease-in-out infinite alternate; }
@keyframes hero-drift { from { transform: scale(1); } to { transform: scale(1.08); } }
.hero-scrim { background: linear-gradient(180deg, var(--x-scrim) 0%, rgb(28 20 12 / 0.35) 45%, rgb(28 20 12 / 0.78) 100%); }
.gold-rule { display: inline-block; width: 3.5rem; height: 1px; background: var(--x-gold); vertical-align: middle; }

/* reveal: rests visible, rises from an offset */
[data-inview] { transform: translateY(28px); transition: transform .9s cubic-bezier(.2,.7,.2,1); }
[data-inview].is-in { transform: none; }
html.reduced-motion [data-inview] { transform: none; transition: none; }
html.reduced-motion .hero-img { animation: none; }

/* collection cards */
.prod-card .media img { transition: transform .9s cubic-bezier(.2,.7,.2,1); }
.prod-card:hover .media img { transform: scale(1.06); }
.prod-card .prod-line { height: 1px; width: 2rem; background: var(--accent); transition: width .4s ease; }
.prod-card:hover .prod-line { width: 4rem; }

/* gallery */
.gal-item img { transition: transform .9s cubic-bezier(.2,.7,.2,1); }
.gal-item:hover img { transform: scale(1.05); }
.gal-item figcaption { background: linear-gradient(0deg, var(--x-scrim), transparent); color: var(--x-on-photo); transform: translateY(100%); transition: transform .4s ease; }
.gal-item:hover figcaption, .gal-item:focus-within figcaption { transform: none; }
@media (hover: none) { .gal-item figcaption { transform: none; } }

/* dark band */
.band { background: var(--x-band); color: var(--x-on-photo); }
.band .gold { color: var(--x-gold); }
.band .why-item { border-top: 1px solid rgb(220 189 126 / 0.35); transition: border-color .3s ease, transform .4s ease; }
.band .why-item:hover { border-color: var(--x-gold); transform: translateY(-4px); }

/* floating whatsapp */
.wa-float { position: fixed; right: 1rem; bottom: 1rem; z-index: 40; box-shadow: 0 10px 30px rgb(0 0 0 / 0.25); animation: wa-pulse 3s ease-in-out infinite; }
@keyframes wa-pulse { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
html.reduced-motion .wa-float { animation: none; }

.footer-rule { border-top: 1px solid rgb(220 189 126 / 0.25); }
.cta-scrim { background: var(--x-scrim); }
