/*
  Dazzle Klean — modern, fresh, high‑polish UI
  - Inter font with generous tracking
  - Fluid type & spacing
  - Motion: prefers‑reduced‑motion respected
*/

/* Operetta Demi Bold Font */
@font-face {
    font-family: 'OperettaDemiBold';
    src: url('/fonts/OperettaDemiBold.woff2') format('woff2'),
         url('/fonts/OperettaDemiBold.woff') format('woff'),
         url('/fonts/OperettaDemiBold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Operetta Regular */
@font-face {
    font-family: 'Operetta';
    src: url('/fonts/Operetta.woff2') format('woff2'),
         url('/fonts/Operetta.woff') format('woff'),
         url('/fonts/Operetta.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

:root{
  --bg: #ffffff;
  --text: #161514;
  --muted: #5e615f;
  --brand: #b07a2b; /* warm gold */
  --brand-2: #e0b066;
  --ink: #171513;
  --title-blue: #0f1b4c; /* refined deep sapphire */
  --surface: #ffffff;
  --shadow: 0 6px 24px rgba(23,21,19,.06);
  --radius: 12px;
  --radius-lg: 16px;
  --border-color: rgba(23,21,19,.10);
  --bg-alt: #fafafa;

  --container: 1200px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 72px;
  --space-9: 96px;

  --ease: cubic-bezier(.2,.8,.2,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, Apple Color Emoji, Segoe UI Emoji;
  color: var(--text);
  background: var(--bg);
  letter-spacing: .005em;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img{max-width:100%;height:auto;display:block}
svg{display:block}

.container{
  width:min(100% - 32px, var(--container));
  margin-inline:auto;
}

.skip-link{
  position:absolute;left:-999px;top:-999px;
}
.skip-link:focus{
  left:16px;top:16px;background:#000;color:#fff;padding:8px 12px;border-radius:8px;z-index:1000
}

/* Header */
.site-header{
  position:sticky;top:0;z-index:50;
  background: rgba(255,255,255,.85);
  backdrop-filter: saturate(1.3) blur(8px);
  border-bottom: 1px solid var(--border-color);
}
.site-header .container{
  display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;
}
.logo{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink);font-weight:700;letter-spacing:.02em}
.logo span{font-family:"Operetta",serif}
.logo img{display:block;width:28px;height:28px}
.nav ul{display:flex;gap:24px;list-style:none;margin:0;padding:0}
.nav a{color:var(--muted);text-decoration:none;font-weight:500;padding:8px 10px;border-radius:8px}
.nav a:hover{color:var(--ink);background:rgba(0,0,0,.04)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:var(--radius);border:1px solid rgba(15,23,32,.14);text-decoration:none;font-weight:600;transition:background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.btn-ghost{background:transparent;color:var(--brand);border-color:var(--brand)}
.btn-ghost:hover{background:rgba(176,122,43,.08);box-shadow:0 6px 18px rgba(176,122,43,.25)}

/* Fresh button implementation with working color transition */
.fresh-btn {
  position: relative;
  overflow: hidden;
  z-index: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 18px;
  border-radius: 12px;
  border: 1px solid #b07a2b;
  background: transparent;
  color: #b07a2b;
  text-decoration: none;
  font-weight: 600;
  font-family: Inter, sans-serif;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
  cursor: pointer;
}

.fresh-btn:hover {
  color: #ffffff !important;
  border-color: #e0b066 !important;
  box-shadow: 0 10px 28px rgba(176,122,43,0.35) !important;
  transition: color 0.3s ease !important;
}

.fresh-btn::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%) scaleY(1) scaleX(1.25);
  width: 140%;
  height: 180%;
  background-color: rgba(176,122,43,0.08);
  border-radius: 50%;
  display: block;
  transition: all 1s cubic-bezier(0.55,0,0.1,1);
  z-index: -1;
}

.fresh-btn::after {
  content: "";
  position: absolute;
  left: 55%;
  top: 180%;
  transform: translateX(-50%) scaleY(1) scaleX(1.45);
  width: 160%;
  height: 190%;
  background-color: #b07a2b;
  border-radius: 50%;
  display: block;
  transition: all 1s cubic-bezier(0.55,0,0.1,1);
  z-index: -1;
}

.fresh-btn:hover {
  color: #ffffff;
  border-color: #e0b066;
  box-shadow: 0 10px 28px rgba(176,122,43,0.35);
}

.fresh-btn:hover::before {
  top: -35%;
  background-color: #e0b066;
  transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
}

.fresh-btn:hover::after {
  top: -45%;
  background-color: #e0b066;
  transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
}

/* Hero */
.hero{position:relative;min-height:92svh;display:grid;align-items:center;overflow:clip}
.hero::before{content:"";position:absolute;inset:0;background-image:var(--hero);background-size:cover;background-position:center;filter:saturate(1.05) contrast(1.02)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.75) 40%, rgba(255,255,255,.35) 70%, rgba(255,255,255,0) 100%)}
.hero-bg{position:absolute;inset:0;pointer-events:none}
.bg-gradient{display:none}
.parallax.layer{position:absolute;inset:-10%;background-repeat:no-repeat;background-size:cover;opacity:.18;mix-blend-mode:multiply;transform:translateZ(0)}
.layer-1{background-image:url('https://images.unsplash.com/photo-1501436513145-30f24e19fcc8?q=80&w=1600&auto=format&fit=crop');}
.layer-2{background-image:url('https://images.unsplash.com/photo-1458891216473-4f26bb4eb40e?q=80&w=1600&auto=format&fit=crop');}
.layer-3{background-image:url('https://images.unsplash.com/photo-1464375117522-1311d6db2df7?q=80&w=1600&auto=format&fit=crop');}

.hero-content{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:32px;align-items:center;justify-items:center;padding:110px 0}
.hero-copy{text-align:center;max-width:780px}
.hero-logo{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:24px}
.hero-logo img{display:block}
.brand-name{font-family:"OperettaDemiBold",serif;font-weight:normal;font-size:clamp(20px, 3vw, 28px);color:var(--title-blue);letter-spacing:-.005em;margin:0}
.hero-copy h1{font-family:"OperettaDemiBold",serif;font-weight:normal;letter-spacing:-.01em;color:var(--title-blue);font-size:clamp(36px, 5.4vw, 64px);line-height:1.06;margin:0 0 16px;font-kerning:normal;text-rendering:optimizeLegibility}
.hero-copy p{font-size:clamp(16px, 2vw, 20px);color:var(--muted);margin:0 0 28px}
.accent{color:var(--brand)}
.hero-copy h1 .accent{color:var(--title-blue)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}

.product-frame{position:relative;aspect-ratio:3/4;border-radius:24px;background:#fff;border:1px solid rgba(15,23,32,.06);overflow:hidden;box-shadow:var(--shadow)}
.product-frame img{width:100%;height:100%;object-fit:cover;transform:translateZ(0);filter:none}

.hero-specs{display:flex;gap:16px;justify-content:center;list-style:none;margin:0 0 28px;padding:0;color:var(--muted)}
.hero-specs li{padding:8px 12px;border:1px solid rgba(15,23,32,.08);border-radius:999px;background:#fff;backdrop-filter:saturate(1.1)}

.scroll-cue{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);background:#fff;border:1px solid rgba(15,23,32,.08);border-radius:999px;padding:8px 12px;display:flex;gap:8px;align-items:center;color:var(--ink)}
.scroll-cue:hover{background:#fff}
.band-image{position:relative;background:var(--bg);}
.band-image::before{content:"";position:absolute;inset:0;background:var(--bg)}
.band-image .container{position:relative}
.band-image{background-image:var(--bg);background-size:cover;background-position:center;background-attachment:fixed}
.band-copy{text-align:center}


/* Sections */
.section{padding:100px 0}
.section-header{max-width:780px;margin-inline:auto;text-align:center;margin-bottom:48px}
.section-header .eyebrow{font-family:Inter,ui-sans-serif,system-ui;-webkit-font-smoothing:antialiased;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);margin:0 0 10px}
.hero-eyebrow{font-family:Inter,ui-sans-serif,system-ui;-webkit-font-smoothing:antialiased;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);margin:0 0 8px}
.section-header h2{font-family:"OperettaDemiBold",serif;font-weight:normal;letter-spacing:-.01em;color:var(--title-blue);font-size:clamp(28px, 3.2vw, 48px);line-height:1.08;margin:0 0 10px;text-rendering:optimizeLegibility}
.section-header .rule{display:block;width:64px;height:2px;background:var(--brand);margin:12px auto 0;border-radius:2px}
.section-header .sub{color:var(--muted);margin:0}

.products-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.product-card{display:grid;border:1px solid var(--border-color);border-radius:16px;overflow:hidden;background:#fff}
.product-media img{display:block;aspect-ratio:4/3;object-fit:cover}
.product-body{padding:20px}
.product-body h3{font-family:"OperettaDemiBold",serif;margin:0 0 6px;color:var(--title-blue);letter-spacing:-.006em}
.product-body p{margin:0 0 14px;color:var(--muted)}
.product-actions{display:flex;gap:10px}

.benefits-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;list-style:none;margin:0;padding:0}
.benefits-list li{border:1px solid var(--border-color);border-radius:14px;background:#fff;padding:18px}
.benefits-list h3{margin:0 0 6px;color:var(--title-blue)}
.benefits-list p{margin:0;color:var(--muted)}

.faq{display:grid;gap:12px}
.faq details{border:1px solid var(--border-color);border-radius:12px;background:#fff;padding:14px 16px}
.faq summary{cursor:pointer;font-weight:600;color:var(--ink)}
.faq p{margin:8px 0 0;color:var(--muted)}

.newsletter{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:center;border:1px solid var(--border-color);border-radius:16px;background:#fff;padding:24px}
.newsletter-form{display:flex;gap:10px}
.newsletter-form input{flex:1;border:1px solid var(--border-color);border-radius:10px;padding:12px 14px;font:inherit}
.newsletter-form input:focus{outline:2px solid rgba(176,122,43,.25);border-color:var(--brand)}

.feature-rows{display:grid;gap:18px}
.feature-row{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:18px;border:1px solid var(--border-color);border-radius:14px;background:#fff}
.feature-row:hover{border-color:rgba(15,23,32,.2)}
.row-icon{width:52px;height:52px;color:var(--brand)}
.row-copy h3{font-family:"OperettaDemiBold",serif;font-weight:normal;letter-spacing:-.005em;color:var(--title-blue);margin:0 0 4px;font-size:clamp(18px, 2.1vw, 22px);line-height:1.25}
.row-copy p{margin:0;color:var(--muted)}
.feature-card .icon{color:var(--brand);width:48px;height:48px}
.feature-card h3{margin:12px 0 6px}
.feature-card p{margin:0;color:var(--muted)}

.showcase .split{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;margin-bottom:48px}
.split-media img{border-radius:16px}
.bullets{margin:16px 0 0 0;padding-left:18px;color:var(--muted)}
.bullets li{margin:6px 0}
.stat-cards{display:flex;gap:16px;margin-top:16px;flex-wrap:wrap}
.stat{background:var(--surface);border:1px solid var(--border-color);border-radius:14px;padding:16px 18px;min-width:160px}
.stat .value{display:block;font-size:28px;font-weight:800;color:var(--ink)}
.stat .label{color:var(--muted)}

.testimonials{background:var(--bg-alt)}
.testimonials .slider{position:relative;background:transparent;border:0;border-radius:0;padding:0;overflow:hidden}
.slides{display:flex;border-radius:12px;overflow:hidden;width:100%;will-change:transform;border:1px solid var(--border-color)}
.slides{transition:transform .6s var(--ease)}
.slide{flex:0 0 100%;padding:32px;display:grid;gap:12px;align-content:center;justify-items:center;text-align:center;min-height:220px}
.slide blockquote{font-size:20px;line-height:1.6;margin:0;color:var(--ink)}
.slide .stars{color:var(--brand);margin-top:4px}
.controls{display:flex;align-items:center;gap:16px;justify-content:center;margin-top:12px}
.controls .prev,.controls .next{width:40px;height:40px;border-radius:999px;border:1px solid var(--border-color);background:#fff}
.controls .dots{display:flex;gap:8px}
.controls .dots button{width:8px;height:8px;border-radius:999px;border:0;background:rgba(15,23,32,.18)}
.controls .dots button[aria-current="true"]{background:var(--brand)}
.section.alt-1{background:#ffffff}
.section.alt-2{background:var(--bg-alt)}
.section.alt-3{background:var(--bg-alt)}

/* Ambient parallax images */
.ambient{position:absolute;inset:auto;pointer-events:none;background-image:var(--img);background-size:cover;background-position:center;border-radius:20px;opacity:.08;filter:saturate(1);display:none}

.shape-wave{position:absolute;left:0;right:0;bottom:-1px;height:88px;z-index:1}
.shape-wave svg{display:block;width:100%;height:100%}
.shape-wave path{fill:var(--bg-alt)}
.hero{--ambient-size:42vw}
.hero .ambient.a{top:-6vw;left:-6vw;width:var(--ambient-size);height:calc(var(--ambient-size)*.66)}
.hero .ambient.b{bottom:-8vw;right:-8vw;width:calc(var(--ambient-size)*.8);height:calc(var(--ambient-size)*.5)}

.cta{background:#fff}
.cta .cta-inner{max-width:780px;margin-inline:auto;text-align:center;border:1px solid rgba(15,23,32,.1);border-radius:16px;padding:28px;background:#fff}
.btn-contrast{background:var(--brand);color:#1b1207;border-color:transparent}
.btn-ghost--onbrand{border-color:var(--brand);color:var(--brand)}

.site-footer{padding:48px 0;border-top:1px solid var(--border-color)}
.site-footer .container{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.site-footer nav{display:flex;gap:16px}
.site-footer a{color:var(--muted);text-decoration:none}
.site-footer .brand{font-weight:800}
.legal{color:var(--muted)}

.noscript{padding:12px 16px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;color:#78350f;margin:8px}

/* Reveal on scroll */
[data-reveal]{opacity:0;transform:translateY(16px) scale(.98);transition:opacity .6s var(--ease), transform .6s var(--ease)}
[data-reveal].is-visible{opacity:1;transform:none}

/* Micro-interactions */
[data-magnetic]{position:relative;isolation:isolate}
[data-magnetic]::after{content:none}

/* Tilt */
[data-tilt]{transform-style:preserve-3d;perspective:800px;transition:transform .2s var(--ease)}

/* Screen reader only */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.specs{background:#fff}
.specs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;list-style:none;margin:0;padding:0}
.spec{display:grid;place-items:center;border:1px solid rgba(15,23,32,.08);border-radius:16px;padding:24px 12px}
.spec .number{font-size:40px;font-weight:900;color:var(--ink)}
.spec .unit{margin-left:6px;font-weight:800;color:var(--brand)}
.spec .label{grid-column:1/-1;color:var(--muted)}

.gallery .gallery-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:16px}
.gallery .shot img{border-radius:16px;display:block;aspect-ratio:4/3;object-fit:cover}

/* Scroll progress */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;background:rgba(14,198,193,.1);z-index:999}
.scroll-progress span{display:block;height:100%;width:0;background:var(--brand)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start}
.contact-list{display:grid;gap:14px;margin:0}
.contact-list dt{font-weight:700;color:var(--ink)}
.contact-list dd{margin:0;color:var(--muted)}

/* Global typography accents */
h1,h2,h3,h4,h5,h6{font-family:"OperettaDemiBold",serif}
/* Clean display headings without decorative strokes */
h1,h2,h3{ -webkit-text-stroke:0 transparent; text-shadow:none }

/* Responsive */
@media (max-width: 1000px){
  .hero-content{grid-template-columns:1fr;gap:24px}
  .product-frame{max-width:520px;margin-inline:auto}
  .contact-grid{grid-template-columns:1fr}
  .specs-grid{grid-template-columns:repeat(2,1fr)}
  .gallery .gallery-grid{grid-template-columns:1fr}
  .showcase .split{grid-template-columns:1fr;}
}

@media (max-width: 640px){
  .nav{display:none}
  .slide blockquote{font-size:18px}
}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important;transition:none !important;scroll-behavior:auto !important}
}

@media (prefers-reduced-motion: reduce){
  .fresh-btn:hover {
    transition: color 0.3s ease !important;
    animation: none !important;
  }
}


