/** Shopify CDN: Minification failed

Line 480:0 Unexpected "}"

**/
/* ============================================================
   soqi — design system (bone / ink / moss) + ink dark mode
   ============================================================ */

:root{
  --c-bone:rgb(239,236,228);
  --c-bone-deep:rgb(230,226,214);
  --c-ink:rgb(29,29,27);
  --c-ink-soft:rgb(74,74,68);
  --c-moss:rgb(125,147,89);
  --c-moss-deep:rgb(58,74,44);
  --c-line:#E0DCD2;
  --c-nav:rgba(239,236,228,0.92);
  --c-menu:#E8E1D6;
  --sans:'Inter Tight',sans-serif;
  --serif:'Cormorant Garamond',serif;
  --nav-h:90px;

  /* Sampled from the crystalline pieces themselves, not invented:
     blossom blue, ocean blue, silver ice, celadon, orchid, sakura. */
  --g-peri:#6374B0;
  --g-ocean:#4D7299;
  --g-slate:#7B8994;
  --g-celadon:#759573;
  --g-blush:#D8AB9F;
  --g-rose:#E06C69;

  /* The single dark moment on the page. Forest green read as farmland;
     a kiln slate frames the work and lets the glazes carry the colour. */
  --c-deep:#28323F;
  --c-deep-soft:#38434F;
}
html[data-theme="dark"]{
  --c-bone:rgb(24,24,22);
  --c-bone-deep:rgb(40,40,36);
  --c-ink:rgb(239,236,228);
  --c-ink-soft:rgb(173,170,159);
  --c-moss:rgb(150,170,110);
  --c-moss-deep:rgb(150,170,110);
  --c-line:rgb(52,52,48);
  --c-nav:rgba(24,24,22,0.92);
  --c-menu:rgb(40,40,36);
}

*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--c-bone);color:var(--c-ink);font-family:var(--sans);font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.serif{font-family:var(--serif);font-weight:300;}
.wrap{max-width:1120px;margin:0 auto;padding:0 clamp(20px,5vw,56px);}
.eyebrow{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--c-ink-soft);}

/* reveal-on-scroll */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);}
.js .reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none;}}

/* ── Header ──────────────────────────────────────────── */
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;height:var(--nav-h);padding:0 clamp(20px,5vw,56px);background:var(--c-nav);backdrop-filter:blur(10px);border-bottom:1px solid var(--c-line);}
.nav-left,.nav-right{display:flex;align-items:center;gap:24px;flex:1;}
.nav-right{justify-content:flex-end;gap:18px;}
.nav-link{font-size:12px;letter-spacing:0.08em;text-transform:lowercase;color:var(--c-ink-soft);background:none;border:none;cursor:pointer;font-family:var(--sans);padding:0;}
.nav-link:hover{color:var(--c-ink);}
.wordmark{font-family:var(--serif);font-size:22px;letter-spacing:0.32em;text-transform:lowercase;color:var(--c-ink);}
.theme-toggle{display:flex;align-items:center;gap:6px;background:none;border:none;padding:0;cursor:pointer;color:var(--c-ink-soft);font-size:12px;letter-spacing:0.08em;text-transform:lowercase;line-height:1;font-family:var(--sans);}
.theme-toggle:hover{color:var(--c-ink);}
.theme-toggle .glyph{font-size:13px;line-height:1;}
.menu-btn{display:none;background:none;border:none;cursor:pointer;color:var(--c-ink);font-size:13px;letter-spacing:0.1em;text-transform:uppercase;}
.mobile-menu{display:none;flex-direction:column;background:var(--c-menu);border-bottom:1px solid var(--c-line);position:sticky;top:var(--nav-h);z-index:49;}
.mobile-menu.open{display:flex;}
.mobile-menu a,.mobile-menu button{padding:12px clamp(20px,5vw,56px);font-size:14px;letter-spacing:0.06em;text-transform:lowercase;border-bottom:1px solid var(--c-line);color:var(--c-ink);text-align:left;background:none;border:none;cursor:pointer;font-family:var(--sans);}

/* ── Buttons ─────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;height:52px;padding:0 28px;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;cursor:pointer;border:1px solid transparent;font-family:var(--sans);width:100%;}
.btn-solid{background:var(--c-ink);color:var(--c-bone);}
.btn-ghost{background:transparent;color:var(--c-ink);border-color:var(--c-ink);}
.btn:disabled{opacity:.6;cursor:default;}

/* ── Hero ─────────────────────────────────────────────── */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:64px clamp(20px,5vw,56px);background:var(--c-deep);color:#F5F2EC;overflow:hidden;}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero-overlay{position:absolute;inset:0;background:rgba(18,22,14,0.40);z-index:1;}
.hero-content{text-shadow:0 1px 28px rgba(12,16,10,.5);position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:24px;max-width:760px;}
.hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(38px,7.2vw,88px);line-height:1.02;letter-spacing:-0.01em;}
.hero p{max-width:520px;font-size:clamp(14px,2.2vw,16px);line-height:1.7;color:rgba(245,242,236,.94);}
.hero .eyebrow{color:#C9D2B4;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:8px;}
.hero-cta .btn{width:auto;height:50px;}
.hero-cta .btn-solid{background:#EFECE4;color:#1D1D1B;border-color:#EFECE4;}
.hero-cta .btn-ghost{color:#F5F2EC;border-color:rgba(245,242,236,.5);}

/* ── Sections ─────────────────────────────────────────── */
.section{padding:clamp(64px,9vw,120px) 0;}
.section-head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;margin-bottom:clamp(32px,5vw,56px);}
.section-head h2{font-family:var(--serif);font-weight:300;font-size:clamp(34px,5vw,52px);line-height:1.1;}
.section-head p{font-size:15px;line-height:1.7;color:var(--c-ink-soft);}

/* ── Product cards ────────────────────────────────────── */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;align-items:stretch;}
.card{display:flex;flex-direction:column;height:100%;}
.card>a:last-child{margin-top:auto;}
.card-img{position:relative;width:100%;aspect-ratio:1/1;background:transparent;overflow:hidden;}
.card-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .45s ease;}
.card-img .alt{opacity:0;}
.card:hover .card-img .alt{opacity:1;}
.card-body{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:22px 14px 18px;}
.card-name{font-family:var(--serif);font-weight:300;font-size:21px;line-height:1.2;color:var(--c-ink);}
.card-price{font-size:14px;letter-spacing:0.02em;color:var(--c-ink);}
.card-btn{height:50px;display:flex;align-items:center;justify-content:center;background:var(--c-ink);color:var(--c-bone);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;transition:background .3s;}
.card:hover .card-btn{background:var(--c-deep);}
.viewall{display:flex;justify-content:center;margin-top:48px;}
.viewall a{border-bottom:1px solid var(--c-ink);padding-bottom:4px;color:var(--c-ink-soft);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;}

/* ── Origin band ──────────────────────────────────────── */
.origin-sec{position:relative;background:var(--c-deep);color:#F2F4F7;overflow:hidden;}
/* A bloom seeds off-centre and fades, the way a crystal grows outward from a
   single point during the cool. Ambient, not decoration. */
.origin-sec::before{content:"";position:absolute;top:-30%;right:-10%;width:70%;height:160%;
  background:radial-gradient(closest-side, rgba(99,116,176,.30), rgba(99,116,176,0) 70%);
  pointer-events:none;}
.origin-sec > *{position:relative;z-index:1;}
.origin{display:grid;grid-template-columns:440px 1fr;gap:clamp(40px,8vw,96px);align-items:center;padding:clamp(56px,8vw,96px) 0;}
.origin-img{width:100%;aspect-ratio:440/560;background:var(--c-deep-soft);overflow:hidden;}
.origin-img img{width:100%;height:100%;object-fit:cover;display:block;}
.origin h2{font-family:var(--serif);font-weight:300;font-size:clamp(30px,4.5vw,46px);line-height:1.15;margin:16px 0;}
.origin p{font-size:15px;line-height:1.8;}
.origin-sec .origin p{color:#C9D2DE;}
.origin-sec .origin .eyebrow{color:var(--g-blush);}
.origin a.link{display:inline-block;margin-top:24px;border-bottom:1px solid var(--c-line);padding-bottom:4px;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;}
.origin-sec .origin a.link{border-bottom-color:rgba(242,244,247,.5);color:#F2F4F7;}
.origin-sec .origin a.link:hover{border-bottom-color:var(--g-blush);color:var(--g-blush);}

/* ── Newsletter ──────────────────────────────────────── */
/* Two blooms meeting over the paper: periwinkle from one side, blush from the
   other, the way trace oxides throw different colours in a single firing. This
   is where the page spends its colour. */
.news{position:relative;overflow:hidden;color:var(--c-ink);padding:clamp(72px,10vw,132px) 0;
  background:
    radial-gradient(120% 90% at 12% 0%, rgba(99,116,176,.30), rgba(99,116,176,0) 62%),
    radial-gradient(110% 90% at 88% 100%, rgba(216,171,159,.34), rgba(216,171,159,0) 60%),
    linear-gradient(180deg, #FBF6F0, #F7F1EA);}
.news .inner{max-width:680px;margin:0 auto;text-align:center;padding:0 clamp(20px,5vw,56px);display:flex;flex-direction:column;align-items:center;gap:16px;}
.news .eyebrow{color:var(--g-ocean);}
.news h2{font-family:var(--serif);font-weight:300;font-size:clamp(30px,5vw,46px);line-height:1.1;}
.news p{max-width:460px;font-size:15px;line-height:1.7;color:var(--c-ink-soft);}
.news form{display:flex;gap:10px;width:100%;max-width:460px;margin-top:8px;flex-wrap:wrap;}
.news input{flex:1;min-width:200px;height:52px;padding:0 18px;background:rgba(255,255,255,.55);border:1px solid rgba(40,50,63,.22);color:var(--c-ink);font-family:var(--sans);font-size:14px;}
.news input:focus{outline:none;border-color:var(--g-ocean);background:rgba(255,255,255,.85);}
.news input::placeholder{color:rgba(40,50,63,.5);}
.news button{height:52px;padding:0 26px;background:var(--c-deep);color:#F2F4F7;border:none;cursor:pointer;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;transition:background .3s ease;}
.news button:hover{background:var(--g-ocean);}
.news .note{font-size:12px;color:rgba(40,50,63,.55);letter-spacing:0.02em;}

/* ── Footer ──────────────────────────────────────────── */
.footer{background:var(--c-bone);padding:clamp(48px,7vw,80px) 0 32px;border-top:1px solid var(--c-line);}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;}
.footer h4{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;margin-bottom:14px;}
.footer-col a,.footer-col p{display:block;font-size:13px;line-height:2;color:var(--c-ink-soft);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--c-line);margin-top:48px;padding-top:24px;flex-wrap:wrap;}

/* ── Product page ────────────────────────────────────── */
.pdp{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - var(--nav-h));}
.pdp-media{position:relative;background:var(--c-bone);}
.pdp-media .stick{position:sticky;top:var(--nav-h);height:calc(100vh - var(--nav-h));padding:clamp(28px,3.2vw,56px);box-sizing:border-box;}
.pdp-media .frame{position:relative;width:100%;height:100%;background:transparent;overflow:hidden;}
.pdp-media .frame>img{width:100%;height:100%;object-fit:contain;cursor:zoom-in;padding:0;}
.pdp-thumbs{position:absolute;bottom:20px;left:20px;display:flex;gap:8px;flex-wrap:wrap;max-width:calc(100% - 40px);}
.pdp-thumbs button{width:48px;height:48px;border:1.5px solid transparent;padding:0;background:none;cursor:pointer;overflow:hidden;}
.pdp-thumbs button.active{border-color:var(--c-ink);}
.pdp-thumbs img{width:100%;height:100%;object-fit:cover;}
.pdp-info{padding:clamp(32px,5vw,80px) clamp(24px,4.667vw,56px);display:flex;flex-direction:column;gap:32px;}
.pdp-info h1{font-family:var(--serif);font-weight:300;font-size:clamp(28px,6vw,42px);line-height:1.1;letter-spacing:-0.01em;}
.pdp-price{font-size:18px;letter-spacing:0.02em;}
.rule{height:1px;background:var(--c-bone-deep);}
.variant-list{display:flex;flex-direction:column;gap:8px;}
.variant{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border:1px solid var(--c-bone-deep);cursor:pointer;}
.variant.active{border-color:var(--c-ink);background:rgba(125,147,89,.10);}
.variant .v-name{font-size:13px;letter-spacing:0.02em;}
.variant .v-sub{font-size:11px;color:var(--c-ink-soft);margin-top:2px;}
.qty{display:flex;align-items:center;align-self:flex-start;border:1px solid var(--c-bone-deep);}
.qty button{width:40px;height:40px;border:none;background:transparent;font-size:16px;color:var(--c-ink);cursor:pointer;}
.qty input{width:44px;height:40px;text-align:center;border:none;border-left:1px solid var(--c-bone-deep);border-right:1px solid var(--c-bone-deep);background:transparent;color:var(--c-ink);font-family:var(--sans);font-size:13px;}
.low-stock{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:0.04em;color:var(--g-ocean);}
.low-stock .dot{width:6px;height:6px;border-radius:50%;background:var(--g-ocean);}
.spec-row{display:flex;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--c-bone-deep);gap:16px;}
.spec-row .k{font-size:12px;letter-spacing:0.04em;color:var(--c-ink-soft);}
.spec-row .v{font-size:12px;letter-spacing:0.02em;text-align:right;}
.label{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--c-ink);}

/* story tabs */
.story{border-top:1px solid var(--c-bone-deep);padding:clamp(48px,7vw,88px) clamp(20px,5vw,56px);}
.story-inner{max-width:1120px;margin:0 auto;}
.story-tabs{display:flex;gap:48px;border-bottom:1px solid var(--c-bone-deep);flex-wrap:wrap;}
.story-tab{background:none;border:none;padding:0 0 16px;margin-bottom:-1px;cursor:pointer;font-family:var(--serif);font-weight:300;font-size:clamp(22px,2.4vw,28px);letter-spacing:-0.01em;color:var(--c-ink-soft);border-bottom:2px solid transparent;}
.story-tab.active{color:var(--c-ink);border-bottom-color:var(--c-ink);}
.story-panel{padding-top:30px;max-width:780px;display:none;flex-direction:column;gap:16px;}
.story-panel.active{display:flex;}
.story-panel p{font-size:15px;line-height:1.85;color:var(--c-ink-soft);}

/* ── Cart drawer ─────────────────────────────────────── */
.drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .35s ease;z-index:200;}
.drawer-overlay.open{opacity:1;pointer-events:auto;}
.drawer{position:fixed;top:0;right:0;height:100%;width:min(420px,92vw);background:var(--c-bone);z-index:201;transform:translateX(100%);transition:transform .4s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(0,0,0,.18);}
.drawer.open{transform:translateX(0);}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--c-line);}
.drawer-head .t{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;}
.drawer-ship{padding:16px 24px 4px;}
.drawer-ship .bar{height:3px;background:var(--c-bone-deep);margin-top:8px;}
.drawer-ship .bar span{display:block;height:100%;background:var(--g-ocean);transition:width .4s ease;}
.drawer-lines{flex:1;overflow-y:auto;padding:8px 24px;}
.drawer-foot{padding:20px 24px 24px;border-top:1px solid var(--c-ink);}
.line{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--c-line);}
.line-img{width:72px;height:72px;background:var(--c-bone-deep);overflow:hidden;flex-shrink:0;}
.line-img img{width:100%;height:100%;object-fit:cover;}
.line .n{font-family:var(--serif);font-size:17px;font-weight:300;line-height:1.25;}

/* ── Lightbox ─────────────────────────────────────── */
.lightbox{position:fixed;inset:0;z-index:300;background:rgba(12,12,11,.94);display:none;align-items:center;justify-content:center;gap:20px;padding:clamp(20px,5vw,64px);}
.lightbox.open{display:flex;}
.lightbox img{max-width:90vw;max-height:88vh;object-fit:contain;}
.lightbox .lb-close{position:absolute;top:20px;right:24px;background:none;border:none;color:#fff;cursor:pointer;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;}

/* ── Page (rich text) ───────────────────────────────── */
.page-wrap{padding:clamp(48px,7vw,88px) 0;}
.page-wrap h1{font-family:var(--serif);font-weight:300;font-size:clamp(40px,7vw,72px);line-height:1.05;margin-bottom:24px;}
.rte{max-width:720px;font-size:15px;line-height:1.8;color:var(--c-ink-soft);}
.rte h2,.rte h3{font-family:var(--serif);color:var(--c-ink);font-weight:300;margin:28px 0 10px;}
.rte p{margin-bottom:16px;}
.rte a{color:var(--c-ink);border-bottom:1px solid var(--c-line);}

@media(max-width:1024px){
  .grid{grid-template-columns:repeat(2,1fr);}
  .origin{grid-template-columns:360px 1fr;}
  .footer-grid{grid-template-columns:repeat(2,1fr);gap:32px;}
}
@media(max-width:810px){
  .pdp{grid-template-columns:1fr;}
  .pdp-media .stick{position:static;height:auto;padding:clamp(16px,4vw,24px);}
  .pdp-media .frame{aspect-ratio:1/1;height:auto;}
  .pdp-media .frame>img{aspect-ratio:1/1;}
  .story{padding-left:clamp(20px,5vw,56px);padding-right:clamp(20px,5vw,56px);}
  .story-tabs{gap:24px;}
}
@media(max-width:720px){
  .nav-left .nav-link{display:none;}
  .menu-btn{display:flex;}
  .grid{grid-template-columns:1fr;max-width:420px;margin:0 auto;}
  .section-head{grid-template-columns:1fr;gap:16px;}
  .origin{grid-template-columns:1fr;}
  .origin-img{aspect-ratio:1/1;max-height:420px;}
}

/* ============================================================
   Additions for the Shopify OS 2.0 build
   ============================================================ */

/* ── Accessibility ───────────────────────────────────── */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.skip-link{position:absolute;left:-9999px;top:0;z-index:400;background:var(--c-ink);color:var(--c-bone);padding:12px 20px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;}
.skip-link:focus{left:0;}
:focus-visible{outline:2px solid var(--g-ocean);outline-offset:3px;}

/* ── Announcement bar ────────────────────────────────── */
.announce{background:var(--announce-bg,var(--c-ink));color:var(--announce-fg,var(--c-bone));text-align:center;}
.announce-track{position:relative;padding:9px clamp(20px,5vw,56px);}
.announce-item{font-size:11px;letter-spacing:.08em;line-height:1.5;margin:0;}
.announce-track[data-announce-rotate] .announce-item{display:none;}
.announce-track[data-announce-rotate] .announce-item.is-active{display:block;}

/* ── Header extras ───────────────────────────────────── */
.nav-link.is-active{color:var(--c-ink);}
.wordmark-img{height:26px;width:auto;}

/* ── Layout helpers ──────────────────────────────────── */
.wrap--narrow{max-width:780px;}
.empty{font-size:15px;color:var(--c-ink-soft);padding:40px 0;grid-column:1/-1;}
.btn--inline{width:auto;display:inline-flex;}
.link{font-size:13px;letter-spacing:.04em;border-bottom:1px solid var(--c-line);padding-bottom:3px;align-self:flex-start;}
.link:hover{border-color:var(--c-ink);}
.pagination{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:clamp(40px,6vw,72px);font-size:13px;}
.pagination a{border-bottom:1px solid var(--c-line);padding-bottom:2px;}
.pagination a:hover{border-color:var(--c-ink);}

/* ── Cards ───────────────────────────────────────────── */
.card-img{position:relative;}
.card-flag{position:absolute;top:12px;left:12px;background:var(--c-bone);color:var(--c-ink);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:5px 9px;}
.card--placeholder .card-img{background:var(--c-bone-deep);aspect-ratio:1;}
.article-card .card-body{gap:6px;}

/* ── Feature split ───────────────────────────────────── */
.feature-split.is-flipped .origin{direction:rtl;}
.feature-split.is-flipped .origin > *{direction:ltr;}
.origin-img video{width:100%;height:100%;object-fit:cover;display:block;}

/* ── Cart drawer extras ──────────────────────────────── */
.drawer-ship-msg{font-size:12px;letter-spacing:.02em;color:var(--c-ink-soft);margin:0;}
.drawer-subtotal{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;}
.drawer-subtotal-val{font-size:17px;}
.drawer-note{font-size:12px;color:var(--c-ink-soft);margin:0 0 14px;}

/* ── Cart page ───────────────────────────────────────── */
.line-body{flex:1;min-width:0;}
.line-variant{font-size:12px;color:var(--c-ink-soft);margin:3px 0 0;}
.line-price{font-size:13px;margin:8px 0 0;}
.line-actions{display:flex;align-items:center;gap:14px;margin-top:10px;}
.line-qty{width:64px;height:34px;padding:0 8px;background:none;border:1px solid var(--c-line);color:var(--c-ink);font-family:var(--sans);font-size:13px;}
.line-remove{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--c-ink-soft);}
.line-remove:hover{color:var(--c-ink);}
.cart-foot{margin-top:32px;padding-top:24px;border-top:1px solid var(--c-ink);}
.cart-buttons{display:flex;gap:12px;flex-wrap:wrap;}
.cart-buttons .btn{width:auto;flex:1;min-width:200px;}

/* ── Product page extras ─────────────────────────────── */
.pdp-meta{display:flex;gap:8px;align-items:center;}
.pdp-meta .label{color:var(--c-ink-soft);}
.pdp-meta-sep{color:var(--c-ink-soft);font-size:11px;}
.pdp-was{color:var(--c-ink-soft);margin-left:10px;font-size:.75em;}
.variant-group{display:flex;flex-direction:column;gap:12px;}
.variant.is-unavailable{opacity:.5;}
.v-price{font-size:13px;}
.pdp-actions{display:flex;flex-direction:column;gap:12px;margin-top:16px;}
.pdp-block{display:flex;flex-direction:column;gap:12px;}
.pdp-block .rte{max-width:none;}
.low-stock{margin-top:14px;}
.related-head{text-align:center;margin-bottom:clamp(32px,4vw,56px);letter-spacing:.22em;color:var(--c-ink);}

/* ── Article ─────────────────────────────────────────── */
.article-head{display:flex;flex-direction:column;gap:14px;margin-bottom:clamp(28px,4vw,44px);}
.article-head h1{font-size:clamp(30px,5vw,52px);line-height:1.1;}
.article-hero{margin-bottom:clamp(28px,4vw,48px);}
.article-hero img{width:100%;}
.article-body{max-width:none;}
.article-nav{display:flex;justify-content:space-between;gap:24px;margin-top:clamp(48px,7vw,88px);padding-top:24px;border-top:1px solid var(--c-line);font-size:13px;}

/* ── Search / 404 ────────────────────────────────────── */
.search-form{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap;}
.search-form input{flex:1;min-width:220px;height:48px;padding:0 16px;background:none;border:1px solid var(--c-line);color:var(--c-ink);font-family:var(--sans);font-size:14px;}
.search-form button{height:48px;padding:0 24px;background:var(--c-ink);color:var(--c-bone);border:none;cursor:pointer;font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;}
.search-count{margin-bottom:24px;}
.error-404{display:flex;flex-direction:column;align-items:flex-start;gap:16px;text-align:left;}
.error-404 h1{font-size:clamp(32px,6vw,60px);line-height:1.05;}

/* sticky is opt-in from the header section setting */
.nav:not(.nav--sticky){position:relative;}

/* card grid density + the unframed (Framer-style) card */
.grid--4{grid-template-columns:repeat(4,1fr);gap:28px;}
.grid--5{grid-template-columns:repeat(5,1fr);gap:24px;}
.card--framed .card-img{background:var(--c-bone-deep);}
.card--framed .card-img img{padding:10%;}
@media(max-width:1024px){.grid--4,.grid--5{grid-template-columns:repeat(2,1fr);gap:32px;}}
@media(max-width:720px){.grid--4,.grid--5{grid-template-columns:1fr;max-width:420px;margin:0 auto;}}

/* Article cards carry landscape photography, not product shots on white — so they
   fill the frame rather than sitting letterboxed inside the square product crop. */
.article-card .card-img{aspect-ratio:4/3;background:var(--c-bone-deep);}
.article-card .card-img img{object-fit:cover;padding:0;}
.article-card .card-body{align-items:flex-start;text-align:left;padding:18px 2px 0;}
.article-card .card-name{font-size:20px;}

/* ── Rich-text structures used by articles and pages ─── */
.rte .article-eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--c-ink-soft);margin:36px 0 6px;}
.rte .article-eyebrow:first-child{margin-top:0;}
.rte h2{font-size:clamp(24px,3vw,32px);line-height:1.2;margin:8px 0 14px;}
.rte h3{font-size:clamp(18px,2.2vw,22px);margin:20px 0 8px;}
.page-lede{font-size:clamp(16px,2.2vw,19px);line-height:1.7;color:var(--c-ink);margin-bottom:36px;}

/* About — three principles */
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:24px;}
.principle h3{margin:0 0 8px;font-family:var(--serif);font-weight:300;}
.principle p{margin:0;}
@media(max-width:720px){.principles{grid-template-columns:1fr;gap:28px;}}

/* FAQ — native accordions, no JS required */
.rte details{border-bottom:1px solid var(--c-line);padding:0;}
.rte details summary{list-style:none;cursor:pointer;padding:18px 32px 18px 0;position:relative;font-size:15px;line-height:1.5;color:var(--c-ink);}
.rte details summary::-webkit-details-marker{display:none;}
.rte details summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--c-ink-soft);transition:transform .25s ease;}
.rte details[open] summary::after{content:"\2212";}
.rte details summary:hover{color:var(--g-ocean);}
.rte details p{padding:0 32px 20px 0;margin:0;}
.rte details + h2{margin-top:44px;}

/* Rich-text lists and the in-page ceremony signup.
   soqi.js binds any [data-newsletter] form on the page to Klaviyo, so this
   form works from page content without a dedicated section. */
.rte ul,.rte ol{margin:0 0 18px 20px;}
.rte li{margin-bottom:8px;line-height:1.7;}
.ceremony-form{display:flex;gap:10px;max-width:460px;margin:20px 0 10px;flex-wrap:wrap;}
.ceremony-form input{flex:1;min-width:200px;height:52px;padding:0 18px;background:transparent;border:1px solid var(--c-line);color:var(--c-ink);font-family:var(--sans);font-size:14px;}
.ceremony-form input::placeholder{color:var(--c-ink-soft);}
.ceremony-form button{height:52px;padding:0 26px;background:var(--c-ink);color:var(--c-bone);border:none;cursor:pointer;font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;}
.ceremony-form button:hover{background:var(--g-ocean);}
.ceremony-note{font-size:12px;color:var(--c-ink-soft);margin:0 0 28px;}

/* ── Fidelity pass against the Framer original ───────── */

/* Emphasised phrases: Cormorant at 300 is the body weight, so the accent
   steps up rather than going truly bold. */
.news h2 strong,.hero h1 strong{font-weight:500;}
.announce-item strong{font-weight:500;}

/* Hero video controls, bottom-left as on the original */
.hero-controls{position:absolute;left:clamp(20px,5vw,56px);bottom:clamp(20px,4vw,40px);z-index:3;display:flex;gap:10px;}
.hero-ctl{width:36px;height:36px;border-radius:50%;border:1px solid rgba(245,242,236,.45);background:rgba(18,22,14,.35);color:#F5F2EC;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .25s ease,border-color .25s ease;}
.hero-ctl:hover{background:rgba(18,22,14,.6);border-color:#F5F2EC;}
.hero-ctl .ico{width:12px;height:12px;fill:currentColor;display:block;}
.hero-ctl[data-state="playing"] .ico-play,
.hero-ctl[data-state="paused"] .ico-pause,
.hero-ctl[data-state="muted"] .ico-unmuted,
.hero-ctl[data-state="unmuted"] .ico-muted{display:none;}

/* Light/dark switch, styled as a pill rather than a text label */
.theme-toggle{padding:0;}
.tt-track{position:relative;display:flex;align-items:center;justify-content:space-between;width:46px;height:24px;border-radius:999px;border:1px solid transparent;background:var(--c-ink);padding:0 6px;transition:background .3s ease;}
.tt-ico{font-size:9px;line-height:1;color:var(--c-bone);z-index:1;}
.tt-knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--c-bone);z-index:2;transition:transform .3s cubic-bezier(.22,1,.36,1);}
.theme-toggle[aria-checked="true"] .tt-knob{transform:translateX(22px);}
.theme-toggle:hover .tt-track{background:var(--g-ocean);}
@media(prefers-reduced-motion:reduce){.tt-knob{transition:none;}}

/* ── Refinements from a pass over the live site ──────── */

/* Product photography already carries its own pale ground, so a tinted frame
   around it read as a box inside a box. Cards sit on the page instead. */

/* Feature split carries a product shot, not a landscape photo: contain it
   rather than cropping, and let it sit on the page ground. */
.feature-split .origin-img{aspect-ratio:4/5;background:transparent;}
.feature-split .origin-img img{object-fit:contain;}
.feature-split .origin{align-items:center;}

/* The switch was out-shouting the wordmark it sits beside. */
.tt-track{width:40px;height:21px;padding:0 5px;}
.tt-knob{top:2.5px;left:2.5px;width:16px;height:16px;}
.theme-toggle[aria-checked="true"] .tt-knob{transform:translateX(19px);}
.tt-ico{font-size:8px;}

/* A translucent outline alone disappears over bright video frames, so the
   secondary hero button carries a faint scrim of its own. */
.hero-cta .btn-ghost{background:rgba(18,22,14,.3);border-color:rgba(245,242,236,.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.hero-cta .btn-ghost:hover{background:rgba(18,22,14,.5);border-color:#F5F2EC;}
.hero-cta .btn-solid:hover{background:#FFF;}

/* ── Header lockup: seal above the wordmark ──────────── */
.wordmark{display:flex;flex-direction:column;align-items:center;gap:5px;line-height:1;}
.wordmark-mark{
  width:36px;height:36px;flex:none;background:currentColor;
  -webkit-mask:var(--mark) center/contain no-repeat;
          mask:var(--mark) center/contain no-repeat;
}
.wordmark-text{display:block;line-height:1;margin-right:-0.32em;}
@media(max-width:720px){.wordmark-mark{width:29px;height:29px;}}

/* ── The bloom ───────────────────────────────────────────
   Crystalline glaze grows outward from a seed point as the kiln cools, and no
   two pieces bloom alike. Each card carries its own glaze colour, washed over
   the photograph with multiply so the pale studio ground takes the tint while
   the piece itself stays true. Present at rest, so the grid reads as colour,
   and it opens on hover. */
.card-img::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  mix-blend-mode:multiply;opacity:.5;
  background:radial-gradient(66% 66% at 50% 52%,
    rgba(var(--bloom,99,116,176), .55), rgba(var(--bloom,99,116,176), 0) 74%);
  transition:opacity .7s cubic-bezier(.22,1,.36,1);
}
.card:hover .card-img::after,
.card:focus-within .card-img::after{opacity:1;}
.card-img img{z-index:1;}
.card:hover .card-btn{background:var(--c-deep);}
.card-name{transition:color .3s ease;}
.card:hover .card-name{color:var(--c-deep);}
@media(prefers-reduced-motion:reduce){.card-img::after{transition:none;}}
}
