:root {
      --ink: #17201c;
      --forest: #16251f;
      --forest-2: #0f1a16;
      --moss: #52655b;
      --sage: #aebcaf;
      --ivory: #f4f0e7;
      --paper: #fbfaf6;
      --white: #ffffff;
      --rose: #bd897d;
      --rose-dark: #8f5e55;
      --sand: #d6c4a8;
      --gold: #b69763;
      --line: rgba(23, 32, 28, 0.14);
      --line-light: rgba(255, 255, 255, 0.16);
      --muted: #707772;
      --shadow: 0 24px 80px rgba(15, 26, 22, 0.13);
      --header-h: 78px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--ink);
      background: var(--paper);
      font-family: "DM Sans", sans-serif;
      line-height: 1.55;
      overflow-x: hidden;
    }
    body.no-scroll { overflow: hidden; }
    img { display: block; width: 100%; }
    button, input, select, textarea { font: inherit; }
    button { cursor: pointer; }
    a { color: inherit; text-decoration: none; }
    p, h1, h2, h3, h4 { margin: 0; }
    h1, h2, h3, .serif { font-family: "Bodoni Moda", serif; font-weight: 500; }
    .container { width: min(1240px, calc(100% - 48px)); margin-inline: auto; }
    .section { padding: 116px 0; }
    .rule { height: 1px; background: var(--line); }
    .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; }

    .meta {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      text-transform: uppercase;
      letter-spacing: .18em;
      font-size: .66rem;
      font-weight: 700;
    }
    .meta::before { content: ""; width: 34px; height: 1px; background: currentColor; opacity: .55; }
    .display { font-size: clamp(3.7rem, 8vw, 8.5rem); line-height: .88; letter-spacing: -.055em; }
    .section-title { font-size: clamp(2.15rem, 3.4vw, 3.65rem); line-height: 1.02; letter-spacing: -.035em; text-wrap: balance; }
    .lede { color: var(--muted); max-width: 660px; font-size: 1rem; }
    .btn {
      min-height: 50px;
      padding: 0 22px;
      border-radius: 0;
      border: 1px solid transparent;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      font-size: .74rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .12em;
      transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
    }
    .btn:hover { transform: translateY(-2px); }
    .btn-dark { background: var(--forest); color: #fff; }
    .btn-dark:hover { background: var(--forest-2); }
    .btn-light { background: #fff; color: var(--forest); }
    .btn-outline { border-color: currentColor; background: transparent; }
    .btn-outline:hover { background: var(--forest); color: #fff; border-color: var(--forest); }
    .btn-arrow { font-size: 1rem; transition: transform .25s ease; }
    .btn:hover .btn-arrow { transform: translateX(4px); }

    .topbar {
      height: 34px;
      display: grid;
      place-items: center;
      background: var(--forest-2);
      color: rgba(255,255,255,.8);
      font-size: .66rem;
      letter-spacing: .13em;
      text-transform: uppercase;
      overflow: hidden;
    }
    .topbar strong { color: var(--sand); }

    .site-header {
      height: var(--header-h);
      position: sticky;
      top: 0;
      z-index: 60;
      background: rgba(251,250,246,.92);
      backdrop-filter: blur(18px);
      border-bottom: 1px solid transparent;
      transition: border-color .3s ease, box-shadow .3s ease;
    }
    .site-header.scrolled { border-bottom-color: var(--line); box-shadow: 0 10px 30px rgba(15,26,22,.06); }
    .nav { height: 100%; display: grid; grid-template-columns: auto minmax(320px, 1fr) auto; align-items: center; column-gap: 42px; }
    .nav-links { display: flex; align-items: center; justify-content: center; gap: clamp(22px, 3vw, 42px); }
    .nav-link {
      font-size: .72rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .11em;
      position: relative;
    }
    .nav-link::after { content: ""; position: absolute; left: 0; right: 0; bottom: -8px; height: 1px; background: var(--forest); transform: scaleX(0); transform-origin: right; transition: .25s ease; }
    .nav-link:hover::after { transform: scaleX(1); transform-origin: left; }
    .brand { display: flex; align-items: center; gap: 10px; min-width: 150px; }
    .brand-copy { display: grid; justify-items: start; line-height: 1; }
    .brand strong { font-family: "Bodoni Moda", serif; font-size: 1.5rem; font-weight: 500; letter-spacing: .02em; }
    .brand span { margin-top: 5px; color: var(--muted); font-size: .52rem; letter-spacing: .31em; }
    a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
      outline: 2px solid var(--rose-dark); outline-offset: 2px;
    }
    .nav-actions { display: flex; justify-content: flex-end; align-items: center; gap: 7px; }
    .nav-icon {
      width: 42px; height: 42px; border: 0; background: transparent; color: var(--forest); display: grid; place-items: center; position: relative;
    }
    .nav-icon svg { width: 19px; height: 19px; stroke-width: 1.65; }
    .cart-count { position: absolute; right: 1px; top: 1px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 50%; background: var(--rose-dark); color: #fff; font-size: .59rem; display: grid; place-items: center; border: 2px solid var(--paper); }
    .menu-btn { display: none; }

    /* Hero slider */
    .hero { min-height: calc(100vh - 112px); position: relative; background: var(--ivory); overflow: hidden; }
    .hero-track { min-height: inherit; position: relative; }
    .hero-slide {
      position: absolute; inset: 0; display: grid; grid-template-columns: 46% 54%; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .7s ease, visibility .7s ease;
    }
    .hero-slide.active { opacity: 1; visibility: visible; pointer-events: auto; z-index: 2; }
    .hero-content { padding: 10vh max(4vw, 42px) 80px max(5vw, 62px); display: flex; flex-direction: column; justify-content: center; position: relative; }
    .hero-content::before { content: attr(data-number); position: absolute; top: 6%; right: 7%; font-family: "Bodoni Moda", serif; font-size: clamp(7rem, 13vw, 13rem); color: rgba(23,32,28,.055); line-height: 1; }
    .hero-kicker { color: var(--moss); margin-bottom: 26px; }
    .hero-title { max-width: 700px; color: var(--forest); transform: translateY(22px); opacity: 0; transition: transform .7s .12s ease, opacity .7s .12s ease; }
    .hero-slide.active .hero-title { transform: translateY(0); opacity: 1; }
    .hero-title em { color: var(--rose-dark); font-style: italic; font-weight: 400; }
    .hero-copy { margin-top: 30px; max-width: 560px; color: #606762; font-size: .96rem; transform: translateY(18px); opacity: 0; transition: transform .7s .2s ease, opacity .7s .2s ease; }
    .hero-slide.active .hero-copy { transform: translateY(0); opacity: 1; }
    .hero-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 34px; transform: translateY(16px); opacity: 0; transition: transform .7s .28s ease, opacity .7s .28s ease; }
    .hero-slide.active .hero-actions { transform: translateY(0); opacity: 1; }
    .hero-notes { margin-top: auto; padding-top: 44px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); gap: 18px; }
    .hero-note small { display: block; color: var(--muted); text-transform: uppercase; font-size: .57rem; letter-spacing: .16em; }
    .hero-note strong { display: block; margin-top: 4px; font-family: "Bodoni Moda", serif; font-size: 1.08rem; font-weight: 500; }
    .hero-media { position: relative; overflow: hidden; background: #d9d3c9; }
    .hero-media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.07); transition: transform 7s ease; }
    .hero-slide.active .hero-media img { transform: scale(1); }
    .hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15,26,22,.08), transparent 35%, rgba(15,26,22,.08)); }
    .hero-price { position: absolute; left: 28px; bottom: 28px; z-index: 2; background: rgba(251,250,246,.88); backdrop-filter: blur(14px); padding: 17px 20px; min-width: 180px; border: 1px solid rgba(255,255,255,.65); }
    .hero-price small { display: block; color: var(--muted); text-transform: uppercase; letter-spacing: .14em; font-size: .57rem; }
    .hero-price strong { font-family: "Bodoni Moda", serif; font-size: 1.5rem; font-weight: 500; }
    .hero-coordinate { position: absolute; right: 22px; top: 24px; z-index: 2; writing-mode: vertical-rl; color: rgba(255,255,255,.8); text-transform: uppercase; letter-spacing: .18em; font-size: .56rem; }
    .hero-controls { position: absolute; z-index: 5; left: calc(46% - 62px); bottom: 28px; display: flex; gap: 1px; }
    .slider-btn { width: 52px; height: 52px; border: 0; background: rgba(22,37,31,.92); color: #fff; display: grid; place-items: center; transition: background .2s; }
    .slider-btn:hover { background: var(--rose-dark); }
    .slider-btn svg { width: 19px; height: 19px; }
    .hero-progress { position: absolute; left: 0; bottom: 0; z-index: 5; width: 46%; height: 3px; background: rgba(23,32,28,.12); }
    .hero-progress span { display: block; height: 100%; width: 0; background: var(--rose-dark); }
    .hero-progress.animate span { animation: heroProgress 7s linear forwards; }
    @keyframes heroProgress { from { width: 0; } to { width: 100%; } }
    .hero-dots { position: absolute; left: max(5vw, 62px); bottom: 29px; z-index: 5; display: flex; gap: 9px; }
    .hero-dot { width: 28px; height: 3px; border: 0; padding: 0; background: rgba(23,32,28,.22); }
    .hero-dot.active { background: var(--forest); }

    .ticker { height: 50px; background: var(--forest); color: #fff; overflow: hidden; display: flex; align-items: center; }
    .ticker-track { display: flex; width: max-content; animation: ticker 30s linear infinite; }
    .ticker-item { white-space: nowrap; text-transform: uppercase; letter-spacing: .13em; font-size: .64rem; padding-right: 35px; }
    .ticker-item b { color: var(--sand); margin-right: 35px; }
    @keyframes ticker { to { transform: translateX(-50%); } }

    /* Shopping worlds */
    .intro-heading { max-width: 780px; margin: 0 auto 54px; text-align: center; display: grid; justify-items: center; gap: 18px; }
    .intro-heading .section-title { max-width: 720px; }
    .intro-heading .lede { margin-inline: auto; }
    .worlds { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
    .world-card { position: relative; overflow: hidden; min-height: 540px; color: #fff; isolation: isolate; }
    .world-card img { position: absolute; inset: 0; height: 100%; object-fit: cover; transition: transform .8s ease; }
    .world-card:hover img { transform: scale(1.045); }
    .world-card::after { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(180deg, rgba(10,18,15,.05) 10%, rgba(10,18,15,.28) 52%, rgba(10,18,15,.88) 100%); }
    .world-card-content { position: absolute; inset: auto 0 0; z-index: 2; padding: 30px; }
    .world-card-index { position: absolute; z-index: 2; top: 24px; left: 26px; font-size: .61rem; letter-spacing: .16em; text-transform: uppercase; }
    .world-card h3 { font-size: clamp(2.1rem, 2.8vw, 3.25rem); line-height: 1; text-wrap: balance; }
    .world-card p { max-width: 420px; color: rgba(255,255,255,.76); font-size: .8rem; margin-top: 11px; }
    .world-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 17px; }
    .world-tags span { border: 1px solid rgba(255,255,255,.38); padding: 6px 9px; font-size: .57rem; letter-spacing: .08em; text-transform: uppercase; }
    .world-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 20px; text-transform: uppercase; letter-spacing: .12em; font-size: .66rem; font-weight: 700; }

    /* Catalogue */
    .catalogue { background: #efebe2; }
    .catalogue-top { max-width: 780px; margin: 0 auto 42px; text-align: center; display: grid; justify-items: center; gap: 16px; }
    .catalogue-top .lede { margin: 0 auto; }
    .catalogue-count { font-family: "Bodoni Moda", serif; font-size: 2rem; color: rgba(23,32,28,.34); line-height: 1; }
    .catalogue-panel { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 17px 0; display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; margin-bottom: 34px; }
    .primary-filters { display: flex; flex-wrap: wrap; gap: 6px; }
    .filter-btn { border: 1px solid transparent; background: transparent; padding: 10px 13px; text-transform: uppercase; letter-spacing: .1em; font-size: .65rem; font-weight: 700; color: var(--muted); }
    .filter-btn:hover, .filter-btn.active { color: var(--forest); border-color: var(--forest); background: rgba(255,255,255,.5); }
    .catalogue-tools { display: flex; align-items: center; gap: 8px; }
    .catalogue-tools input, .catalogue-tools select {
      height: 42px; border: 1px solid var(--line); background: rgba(255,255,255,.65); color: var(--ink); padding: 0 13px; outline: none; min-width: 160px;
    }
    .catalogue-tools input { width: 190px; }
    .subfilter-row { display: flex; gap: 8px; overflow-x: auto; padding: 0 0 20px; scrollbar-width: thin; }
    .subfilter-btn { flex: 0 0 auto; border: 1px solid var(--line); background: transparent; border-radius: 999px; padding: 8px 13px; font-size: .68rem; color: var(--muted); }
    .subfilter-btn.active, .subfilter-btn:hover { background: var(--forest); border-color: var(--forest); color: #fff; }
    .product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
    .product-card { min-width: 0; background: var(--paper); position: relative; transition: transform .35s ease, box-shadow .35s ease; }
    .product-card:hover { transform: translateY(-7px); box-shadow: var(--shadow); }
    .product-media { aspect-ratio: .82; position: relative; overflow: hidden; background: #ddd7cd; }
    .product-media img { height: 100%; object-fit: cover; transition: transform .7s ease; }
    .product-card:hover .product-media img { transform: scale(1.05); }
    .product-badge { position: absolute; left: 11px; top: 11px; z-index: 2; padding: 7px 9px; background: rgba(251,250,246,.9); font-size: .57rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }
    .wishlist-btn { position: absolute; right: 10px; top: 10px; z-index: 2; width: 38px; height: 38px; border: 0; border-radius: 50%; background: rgba(251,250,246,.9); color: var(--forest); font-size: 1.18rem; }
    .wishlist-btn.active { color: #a1484d; }
    .quick-btn { position: absolute; left: 10px; right: 10px; bottom: 10px; z-index: 2; min-height: 42px; border: 0; background: rgba(22,37,31,.92); color: #fff; text-transform: uppercase; letter-spacing: .11em; font-size: .62rem; font-weight: 700; opacity: 0; transform: translateY(10px); transition: .3s ease; }
    .product-card:hover .quick-btn { opacity: 1; transform: translateY(0); }
    .product-info { padding: 17px 16px 18px; }
    .product-meta { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: .58rem; text-transform: uppercase; letter-spacing: .12em; }
    .tier { color: var(--rose-dark); }
    .product-name { font-family: "Bodoni Moda", serif; font-size: 1.35rem; font-weight: 500; margin-top: 8px; line-height: 1.18; }
    .product-bottom { margin-top: 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
    .price { font-size: .79rem; font-weight: 700; }
    .add-btn { width: 38px; height: 38px; border: 1px solid var(--line); background: transparent; color: var(--forest); font-size: 1.15rem; transition: .2s; }
    .add-btn:hover { background: var(--forest); color: #fff; }
    .empty-products { grid-column: 1/-1; text-align: center; padding: 70px 20px; border: 1px dashed var(--line); color: var(--muted); }

    /* Price spectrum */
    .spectrum { background: var(--forest); color: #fff; position: relative; overflow: hidden; }
    .spectrum::before { content: ""; position: absolute; width: 520px; height: 520px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; right: -190px; top: -250px; }
    .spectrum-head { max-width: 790px; margin: 0 auto 50px; position: relative; text-align: center; display: grid; justify-items: center; gap: 18px; }
    .spectrum .section-title { color: #fff; }
    .spectrum .lede { color: rgba(255,255,255,.62); margin-inline: auto; }
    .spectrum-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); position: relative; }
    .spectrum-card { padding: 34px 30px 38px; border-right: 1px solid var(--line-light); transition: background .3s; }
    .spectrum-card:last-child { border-right: 0; }
    .spectrum-card:hover { background: rgba(255,255,255,.045); }
    .spectrum-card small { text-transform: uppercase; letter-spacing: .16em; font-size: .59rem; color: var(--sand); }
    .spectrum-price { font-family: "Bodoni Moda", serif; font-size: clamp(2.7rem, 4vw, 4.5rem); margin: 30px 0 22px; line-height: 1; }
    .spectrum-card h3 { font-size: 1.85rem; }
    .spectrum-card p { color: rgba(255,255,255,.57); font-size: .81rem; margin-top: 10px; }
    .spectrum-card button { margin-top: 24px; border: 0; border-bottom: 1px solid rgba(255,255,255,.5); background: transparent; color: #fff; padding: 0 0 4px; text-transform: uppercase; letter-spacing: .12em; font-size: .62rem; }



    /* Custom jewelry / custom orders */
    .custom-orders { background: var(--paper); }
    .custom-orders-grid { display: grid; grid-template-columns: minmax(0,1.02fr) minmax(360px,.98fr); gap: 54px; align-items: start; }
    .custom-order-process { border-top: 1px solid var(--line); }
    .custom-order-step { display: grid; grid-template-columns: 58px 1fr; gap: 18px; padding: 26px 0; border-bottom: 1px solid var(--line); }
    .custom-step-number { font-family: "Bodoni Moda", serif; font-size: 1.65rem; line-height: 1; color: var(--rose-dark); }
    .custom-order-step h3 { font-size: 1.55rem; line-height: 1.1; }
    .custom-order-step p { color: var(--muted); font-size: .82rem; margin-top: 8px; max-width: 580px; }
    .custom-order-options { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 24px; }
    .custom-order-options span { border: 1px solid var(--line); border-radius: 999px; padding: 8px 12px; color: var(--muted); font-size: .66rem; text-transform: uppercase; letter-spacing: .08em; }
    .custom-order-card { background: #fff; border: 1px solid var(--line); padding: 38px 34px; box-shadow: 0 22px 65px rgba(15,26,22,.08); }
    .custom-order-card h3 { font-size: 2rem; margin: 10px 0 8px; }
    .custom-order-card > p { color: var(--muted); font-size: .82rem; margin-bottom: 22px; }
    .custom-order-form-grid { margin-top: 0; }
    .custom-order-card .field input, .custom-order-card .field select, .custom-order-card .field textarea { background: var(--paper); }
    .custom-order-card .field textarea { min-height: 116px; }
    .custom-order-card .btn { width: 100%; margin-top: 16px; border: 0; }
    .custom-order-note { margin-top: 14px; color: var(--muted); font-size: .68rem; line-height: 1.55; }

    /* Editorial stories */
    .stories-header { max-width: 760px; margin: 0 auto 48px; text-align: center; display: grid; justify-items: center; gap: 22px; }
    .story-grid { display: grid; grid-template-columns: 1.1fr .9fr .9fr; gap: 18px; }
    .story-card { border-top: 1px solid var(--line); padding-top: 14px; }
    .story-card:first-child { grid-row: span 2; }
    .story-image { aspect-ratio: 1 / .78; overflow: hidden; background: #ddd5ca; }
    .story-card:first-child .story-image { aspect-ratio: .84; }
    .story-image img { height: 100%; object-fit: cover; transition: transform .7s; }
    .story-card:hover .story-image img { transform: scale(1.04); }
    .story-meta { margin-top: 15px; color: var(--muted); font-size: .58rem; text-transform: uppercase; letter-spacing: .13em; }
    .story-card h3 { font-size: 1.65rem; margin-top: 7px; line-height: 1.12; }
    .story-card p { margin-top: 9px; color: var(--muted); font-size: .78rem; }

    /* Services */
    .service-strip { background: #e4ded3; }
    .service-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
    .service { padding: 34px 28px; border-right: 1px solid var(--line); }
    .service:last-child { border-right: 0; }
    .service-num { font-family: "Bodoni Moda", serif; font-size: 1.6rem; color: var(--rose-dark); }
    .service h3 { font-size: 1.55rem; margin-top: 24px; }
    .service p { color: var(--muted); font-size: .78rem; margin-top: 8px; }

    /* Testimonials / newsletter */
    .voices { background: var(--paper); }
    .voices-heading { max-width: 760px; margin-inline: auto; text-align: center; }
    .voice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 46px; }
    .voice { padding: 42px; background: #fff; border: 1px solid var(--line); position: relative; }
    .voice::before { content: "“"; position: absolute; right: 26px; top: -20px; font-family: "Bodoni Moda", serif; font-size: 8rem; color: rgba(23,32,28,.07); }
    .voice blockquote { margin: 0; font-family: "Bodoni Moda", serif; font-size: clamp(1.7rem, 2.5vw, 2.5rem); line-height: 1.18; }
    .voice footer { margin-top: 28px; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: .65rem; text-transform: uppercase; letter-spacing: .11em; color: var(--muted); }
    .stars { color: var(--gold); letter-spacing: .15em; }
    .newsletter { padding: 0 0 112px; }
    .newsletter-box { background: var(--rose-dark); color: #fff; padding: 60px; display: grid; grid-template-columns: 1fr auto; gap: 45px; align-items: center; }
    .newsletter-box h2 { font-size: clamp(2.6rem, 4.5vw, 4.8rem); line-height: .98; }
    .newsletter-box p { color: rgba(255,255,255,.7); margin-top: 12px; }
    .newsletter-form { display: flex; border-bottom: 1px solid rgba(255,255,255,.7); min-width: 390px; }
    .newsletter-form input { flex: 1; min-height: 50px; border: 0; background: transparent; color: #fff; outline: 0; }
    .newsletter-form input::placeholder { color: rgba(255,255,255,.6); }
    .newsletter-form button { border: 0; background: transparent; color: #fff; font-size: 1.2rem; }

    footer.site-footer { background: var(--forest-2); color: #fff; padding: 76px 0 28px; }
    .footer-brand-mark { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; }
    .footer-top { display: grid; grid-template-columns: 1.4fr .8fr .8fr 1fr; gap: 52px; }
    .footer-brand strong { font-family: "Bodoni Moda", serif; font-size: 2rem; font-weight: 500; }
    .footer-brand p { color: rgba(255,255,255,.52); font-size: .78rem; margin-top: 14px; max-width: 330px; }
    .footer-col h4 { font-size: .62rem; text-transform: uppercase; letter-spacing: .15em; margin-bottom: 19px; color: var(--sand); }
    .footer-links { display: grid; gap: 10px; color: rgba(255,255,255,.56); font-size: .76rem; }
    .footer-links a:hover { color: #fff; }
    .footer-bottom { margin-top: 58px; padding-top: 23px; border-top: 1px solid var(--line-light); display: flex; justify-content: space-between; gap: 25px; color: rgba(255,255,255,.4); font-size: .63rem; text-transform: uppercase; letter-spacing: .08em; }
    .payment-list { display: flex; gap: 8px; }
    .payment { border: 1px solid rgba(255,255,255,.15); padding: 5px 8px; color: rgba(255,255,255,.63); }
    .whatsapp { position: fixed; right: 22px; bottom: 22px; z-index: 55; width: 55px; height: 55px; border-radius: 50%; display: grid; place-items: center; background: #246d54; color: #fff; box-shadow: 0 15px 35px rgba(15,26,22,.23); font-weight: 700; }

    /* Drawers + modals */
    .overlay { position: fixed; inset: 0; z-index: 100; background: rgba(8,14,12,.62); backdrop-filter: blur(4px); opacity: 0; visibility: hidden; transition: .3s; }
    .overlay.open { opacity: 1; visibility: visible; }
    .cart-drawer { position: absolute; right: 0; top: 0; width: min(470px, 100%); height: 100%; background: var(--paper); transform: translateX(100%); transition: transform .38s cubic-bezier(.2,.8,.2,1); display: flex; flex-direction: column; }
    .overlay.open .cart-drawer { transform: translateX(0); }
    .drawer-head { padding: 22px 24px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; }
    .drawer-head h3 { font-size: 2rem; }
    .close-btn { width: 40px; height: 40px; border: 1px solid var(--line); background: transparent; font-size: 1.2rem; }
    .cart-items { padding: 20px 24px; flex: 1; overflow-y: auto; display: grid; align-content: start; gap: 17px; }
    .cart-empty { padding: 80px 20px; text-align: center; color: var(--muted); }
    .cart-empty b { display: block; font-family: "Bodoni Moda", serif; color: var(--forest); font-size: 2rem; margin-bottom: 7px; }
    .cart-item { display: grid; grid-template-columns: 78px 1fr auto; gap: 13px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
    .cart-item img { height: 91px; object-fit: cover; }
    .cart-item h4 { font-family: "Bodoni Moda", serif; font-size: 1.12rem; font-weight: 500; }
    .cart-item .cart-price { font-size: .72rem; font-weight: 700; margin-top: 3px; }
    .qty { display: inline-flex; align-items: center; border: 1px solid var(--line); margin-top: 9px; }
    .qty button { width: 27px; height: 27px; border: 0; background: transparent; }
    .qty span { min-width: 25px; text-align: center; font-size: .72rem; }
    .remove { border: 0; background: transparent; color: var(--rose-dark); align-self: start; }
    .drawer-foot { padding: 20px 24px 25px; border-top: 1px solid var(--line); }
    .subtotal { display: flex; justify-content: space-between; font-weight: 700; }
    .drawer-foot small { display: block; color: var(--muted); font-size: .66rem; margin: 8px 0 15px; }
    .drawer-foot .btn { width: 100%; }

    .modal-card { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-46%) scale(.98); width: min(950px, calc(100% - 28px)); max-height: 91vh; overflow-y: auto; background: var(--paper); opacity: 0; transition: .3s; }
    .overlay.open .modal-card { transform: translate(-50%,-50%) scale(1); opacity: 1; }
    .modal-close { position: absolute; right: 15px; top: 15px; z-index: 3; background: rgba(251,250,246,.9); }
    .product-modal { display: grid; grid-template-columns: 1fr 1fr; min-height: 570px; }
    .product-modal-media { background: #ddd6ca; }
    .product-modal-media img { height: 100%; object-fit: cover; }
    .product-modal-copy { padding: 55px 44px; display: flex; flex-direction: column; justify-content: center; }
    .product-modal-copy h2 { font-size: clamp(2.8rem, 5vw, 4.7rem); line-height: .96; margin: 12px 0 17px; }
    .modal-rating { color: var(--gold); font-size: .72rem; letter-spacing: .1em; }
    .modal-price { font-weight: 700; margin-top: 17px; }
    .modal-description { color: var(--muted); font-size: .84rem; margin-top: 16px; }
    .option-row { display: flex; flex-wrap: wrap; gap: 7px; margin: 22px 0; }
    .option-chip { border: 1px solid var(--line); padding: 7px 10px; font-size: .65rem; }
    .checkout-card { width: min(610px, calc(100% - 28px)); padding: 40px; }
    .checkout-card h2 { font-size: 3rem; }
    .checkout-card > p { color: var(--muted); font-size: .8rem; margin: 8px 0 25px; }
    .payment-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .payment-option { border: 1px solid var(--line); padding: 14px; display: flex; align-items: center; gap: 10px; cursor: pointer; }
    .payment-option.active { border-color: var(--forest); background: #edf0ec; }
    .payment-option input { accent-color: var(--forest); }
    .payment-option strong { display: block; font-size: .76rem; }
    .payment-option small { display: block; color: var(--muted); font-size: .63rem; }
    .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 17px; }
    .field { display: grid; gap: 6px; }
    .field.full { grid-column: 1/-1; }
    .field label { font-size: .62rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }
    .field input, .field select, .field textarea { width: 100%; border: 1px solid var(--line); background: #fff; min-height: 44px; padding: 10px 12px; outline: 0; }
    .field textarea { min-height: 100px; resize: vertical; }
    .field input:focus, .field select:focus, .field textarea:focus { border-color: var(--rose-dark); }
    .checkout-total { display: flex; justify-content: space-between; margin: 20px 0 14px; padding-top: 16px; border-top: 1px solid var(--line); font-weight: 700; }
    .toast { position: fixed; left: 50%; bottom: 24px; z-index: 150; transform: translate(-50%, 20px); background: var(--forest); color: #fff; padding: 13px 18px; font-size: .72rem; opacity: 0; visibility: hidden; transition: .25s; box-shadow: var(--shadow); }
    .toast.show { opacity: 1; visibility: visible; transform: translate(-50%, 0); }

    [data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .75s ease, transform .75s ease; }
    [data-reveal].visible { opacity: 1; transform: none; }

    @media (max-width: 1080px) {
      .hero-slide { grid-template-columns: 50% 50%; }
      .hero-controls { left: calc(50% - 62px); }
      .hero-progress { width: 50%; }
      .product-grid { grid-template-columns: repeat(3, 1fr); }
      .footer-top { grid-template-columns: 1.2fr 1fr 1fr; }
      .footer-brand { grid-column: 1/-1; }
    }

    @media (max-width: 850px) {
      :root { --header-h: 70px; }
      .container { width: min(100% - 30px, 1240px); }
      .section { padding: 86px 0; }
      .nav { grid-template-columns: 1fr auto; column-gap: 14px; }
      .nav-links { display: none; }
      .nav-actions { gap: 2px; }
      .menu-btn { display: grid; }
      .hero { min-height: 820px; }
      .hero-slide { grid-template-columns: 1fr; grid-template-rows: 52% 48%; }
      .hero-media { grid-row: 1; }
      .hero-content { grid-row: 2; padding: 42px 24px 74px; }
      .hero-content::before { display: none; }
      .hero-title { font-size: clamp(3.4rem, 12vw, 6rem); }
      .hero-copy { margin-top: 18px; font-size: .85rem; }
      .hero-actions { margin-top: 24px; }
      .hero-notes { display: none; }
      .hero-price { left: 15px; bottom: 15px; }
      .hero-coordinate { top: 15px; right: 12px; }
      .hero-controls { left: auto; right: 15px; bottom: calc(48% + 15px); }
      .hero-progress { width: 100%; }
      .hero-dots { left: 24px; bottom: 25px; }
      .worlds { grid-template-columns: 1fr; }
      .world-card { min-height: 450px; }
      .catalogue-panel { grid-template-columns: 1fr; }
      .catalogue-tools { overflow-x: auto; }
      .product-grid { grid-template-columns: repeat(2, 1fr); }
      .spectrum-grid { grid-template-columns: 1fr; }
      .spectrum-card { border-right: 0; border-bottom: 1px solid var(--line-light); }
      .spectrum-card:last-child { border-bottom: 0; }
      .custom-orders-grid { grid-template-columns: 1fr; gap: 40px; }
      .story-grid { grid-template-columns: 1fr 1fr; }
      .story-card:first-child { grid-column: 1/-1; grid-row: auto; }
      .story-card:first-child .story-image { aspect-ratio: 1.4; }
      .service-grid { grid-template-columns: 1fr 1fr; }
      .service:nth-child(2) { border-right: 0; }
      .service:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
      .voice-grid { grid-template-columns: 1fr; }
      .newsletter-box { grid-template-columns: 1fr; }
      .newsletter-form { min-width: 0; }
      .footer-top { grid-template-columns: 1fr 1fr; }
      .footer-brand { grid-column: 1/-1; }
    }

    @media (max-width: 560px) {
      .topbar { font-size: .55rem; letter-spacing: .08em; }
      .brand strong { font-size: 1.24rem; }
      .brand span { font-size: .45rem; }
      .nav-icon { width: 38px; }
      .hero { min-height: 760px; }
      .hero-slide { grid-template-rows: 48% 52%; }
      .hero-content { padding: 32px 19px 69px; }
      .hero-kicker { margin-bottom: 14px; }
      .hero-copy { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
      .hero-actions .btn { min-height: 45px; padding: 0 15px; font-size: .63rem; }
      .hero-price { padding: 11px 13px; min-width: 145px; }
      .hero-price strong { font-size: 1.16rem; }
      .hero-controls { bottom: calc(52% + 12px); }
      .slider-btn { width: 44px; height: 44px; }
      .intro-heading { margin-bottom: 38px; }
      .world-card { min-height: 410px; }
      .world-card-content { padding: 24px; }
      .world-card h3 { font-size: 2.35rem; }
      .catalogue-count { font-size: 3rem; }
      .primary-filters { flex-wrap: nowrap; overflow-x: auto; }
      .catalogue-tools { display: grid; grid-template-columns: 1fr 1fr; }
      .catalogue-tools input { grid-column: 1/-1; width: 100%; }
      .catalogue-tools select { min-width: 0; width: 100%; }
      .product-grid { gap: 10px; }
      .product-info { padding: 12px 11px 13px; }
      .product-name { font-size: 1.08rem; }
      .product-meta { display: block; line-height: 1.7; }
      .product-meta .tier { display: block; }
      .quick-btn { display: none; }
      .spectrum-card { padding-inline: 20px; }
      .custom-order-card { padding: 30px 22px; }
      .custom-order-step { grid-template-columns: 44px 1fr; }
      .story-grid { grid-template-columns: 1fr; }
      .story-card:first-child { grid-column: auto; }
      .story-card:first-child .story-image { aspect-ratio: .9; }
      .service-grid { grid-template-columns: 1fr; }
      .service { border-right: 0; border-bottom: 1px solid var(--line); }
      .service:last-child { border-bottom: 0; }
      .voice { padding: 30px 22px; }
      .newsletter-box { padding: 42px 24px; }
      .footer-top { grid-template-columns: 1fr; }
      .footer-brand { grid-column: auto; }
      .footer-bottom { flex-direction: column; }
      .product-modal { grid-template-columns: 1fr; }
      .product-modal-media { min-height: 310px; }
      .product-modal-copy { padding: 35px 23px; }
      .form-grid, .payment-options { grid-template-columns: 1fr; }
      .field.full { grid-column: auto; }
      .checkout-card { padding: 30px 22px; }
      .whatsapp { width: 50px; height: 50px; right: 14px; bottom: 14px; }
    }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
    }

/* WordPress integration */
.admin-bar .site-header { top: 32px; }
.custom-logo-link { display:block; max-width:170px; }
.custom-logo { width:auto; max-height:52px; object-fit:contain; }
.nav-menu { list-style:none; display:flex; align-items:center; justify-content:center; gap:clamp(22px,3vw,42px); margin:0; padding:0; }
.nav-menu a { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.11em; position:relative; }
.nav-menu a::after { content:""; position:absolute; left:0; right:0; bottom:-8px; height:1px; background:var(--forest); transform:scaleX(0); transform-origin:right; transition:.25s ease; }
.nav-menu a:hover::after { transform:scaleX(1); transform-origin:left; }
.content-shell { width:min(1120px,calc(100% - 48px)); margin:0 auto; padding:90px 0 120px; }
.content-shell h1 { font-size:clamp(2.4rem,5vw,4.8rem); line-height:1; margin-bottom:28px; }
.entry-content > * { max-width:780px; }
.entry-content img { max-width:100%; height:auto; }
.post-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.post-card { background:#fff; border:1px solid var(--line); padding:28px; }
.post-card h2 { font-size:1.8rem; line-height:1.05; margin:12px 0; }
.pagination { margin-top:40px; }
.woocommerce-page .site-main, .woocommerce .site-main { width:min(1240px,calc(100% - 48px)); margin:0 auto; padding:72px 0 110px; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { background:#fff; padding-bottom:18px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family:"Bodoni Moda",serif; font-size:1.25rem; padding:12px 16px 4px; }
.woocommerce ul.products li.product .price { padding:0 16px; color:var(--forest); font-weight:700; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { border-radius:0; background:var(--forest); color:#fff; text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; padding:15px 18px; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background:var(--rose-dark); color:#fff; }
.woocommerce-message, .woocommerce-info { border-top-color:var(--rose-dark); }
.woocommerce-message::before, .woocommerce-info::before { color:var(--rose-dark); }
.demo-note { background:#fff4d8; border:1px solid #ead49d; padding:14px 18px; margin:0 auto; text-align:center; font-size:.8rem; }
@media (max-width:782px){ .admin-bar .site-header{top:46px;} }
@media (max-width:980px){ .nav-menu{display:none;} }
@media (max-width:760px){ .post-list{grid-template-columns:1fr;} .content-shell{width:min(100% - 28px,1120px); padding-top:60px;} }

.brand-wrap { min-width: 170px; }
.demo-contact-note { color: rgba(255,255,255,.32); }
.woocommerce div.product div.images img { background: #eee8dd; }
.woocommerce ul.products li.product img { aspect-ratio: .82; object-fit: cover; background: #eee8dd; }
@media (max-width: 850px) { .brand-wrap { min-width: 0; } }
