:root{
  --gutter:50px; --color-bg:#FFFFFF; --color-text:#2D2926; --color-text-muted:#8B8178;
  --color-accent:#C9A86C; --color-accent-hover:#B8956A; --color-line:#ECE7DF;
  --font-display:'Carizma Book',Georgia,serif; --font-body:'Assistant',system-ui,-apple-system,sans-serif;
  --transition:300ms cubic-bezier(0.16,1,0.3,1);
}
@font-face{font-family:'Carizma Book';src:url('/assets/fonts/FbCarizmaBook-Regular.woff2') format('woff2'),url('/assets/fonts/FbCarizmaBook-Regular.otf') format('opentype');font-weight:400;font-display:swap;}
@font-face{font-family:'Grand Baron';src:url('/assets/fonts/Grand-Baron.woff2') format('woff2'),url('/assets/fonts/Grand-Baron.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Grand Baron';src:url('/assets/fonts/Grand-Baron-Italic.woff2') format('woff2'),url('/assets/fonts/Grand-Baron-Italic.otf') format('opentype');font-weight:400;font-style:italic;font-display:swap;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;background:#fff;color-scheme:light;}
body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;}
a{color:inherit;}
/* Canonical site navbar — shared across portfolio + blog + shop (NAV_CSS). */

@font-face{font-family:'Carizma Book';src:url('/assets/fonts/FbCarizmaBook-Regular.woff2') format('woff2'),url('/assets/fonts/FbCarizmaBook-Regular.otf') format('opentype');font-weight:400;font-display:swap;}

/* Glass lives on ::before, NOT .nav itself — backdrop-filter on .nav would make
   it the containing block for the position:fixed drawer, clipping it to the bar
   height. Keeping .nav filter-free lets the drawer escape to the viewport. */
.nav{position:sticky;top:0;z-index:50;direction:rtl;display:flex;align-items:center;gap:clamp(0.75rem,2vw,2rem);padding:0.6rem clamp(1rem,4vw,3rem);}
.nav::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,0.55);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(255,255,255,0.4);box-shadow:0 1px 0 rgba(255,255,255,0.6) inset,0 6px 24px rgba(45,41,38,0.06);pointer-events:none;}
.nav__brand{margin-inline-end:auto;display:inline-flex;align-items:center;gap:0.45rem;text-decoration:none;flex:0 0 auto;}
.nav__star{width:clamp(15px,1.7vw,19px);height:auto;display:block;opacity:0.95;margin-bottom:3px;}
.nav__wordmark{font-family:'Carizma Book',Georgia,serif;font-weight:400;font-size:clamp(23px,2.7vw,31px);line-height:1;color:#2D2926;letter-spacing:0.01em;}
.nav__links{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(0.6rem,1.6vw,1.5rem);min-width:0;}
.nav__link{background:none;border:0;cursor:pointer;padding:0.3em 0;font-family:'Assistant',system-ui,-apple-system,sans-serif;font-size:clamp(14px,1.6vw,17px);letter-spacing:0.02em;color:#8B8178;text-decoration:none;position:relative;white-space:nowrap;transition:color 300ms ease;}
.nav__link::after{content:'';position:absolute;inset-inline:0;bottom:-3px;height:1.5px;background:#C9A86C;transform:scaleX(0);transform-origin:center;transition:transform 300ms ease;}
.nav__link:hover{color:#2D2926;}
.nav__link:hover::after,.nav__link.is-active::after{transform:scaleX(1);}
.nav__link.is-active{color:#2D2926;}
.nav__end{display:flex;align-items:center;gap:0.6rem;flex:0 0 auto;}

/* Mobile off-canvas bits — hidden on desktop. */
.nav__burger{display:none;}
.nav__close{display:none;}
.nav__scrim{display:none;}

@media (max-width:768px){
  /* No bar on mobile — only a floating hamburger. .nav shrinks to wrap the
     burger in the top corner; the glass strip and brand are dropped. */
  .nav{position:fixed;top:0;left:0;right:auto;width:auto;gap:0.5rem;padding:0.7rem;}
  .nav::before{display:none;}
  .nav__brand{display:none;}
  .nav__links{position:fixed;top:0;bottom:0;left:0;width:min(82vw,330px);flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0.15rem;padding:4.75rem 1.5rem 2rem;direction:rtl;text-align:right;background:rgba(255,255,255,0.95);-webkit-backdrop-filter:blur(26px) saturate(180%);backdrop-filter:blur(26px) saturate(180%);box-shadow:0 12px 40px rgba(45,41,38,0.22);transform:translateX(-100%);transition:transform 360ms cubic-bezier(0.16,1,0.3,1);z-index:60;overflow-y:auto;overscroll-behavior:contain;}
  .nav__toggle:checked ~ .nav__links{transform:translateX(0);}
  .nav__link{width:100%;font-size:19px;padding:0.75rem 0;border-bottom:1px solid rgba(45,41,38,0.08);white-space:normal;}
  .nav__link::after{display:none;}
  .nav__close{display:block;position:absolute;top:0.8rem;left:1.25rem;width:1.6em;height:1.6em;font-size:1.7rem;line-height:1.5em;text-align:center;color:#2D2926;cursor:pointer;}
  .nav__scrim{display:block;position:fixed;inset:0;background:rgba(45,41,38,0);pointer-events:none;transition:background 360ms ease;z-index:55;}
  .nav__toggle:checked ~ .nav__scrim{background:rgba(45,41,38,0.4);pointer-events:auto;}
  /* Tightened chrome: denser frosted bg + hairline ring + stronger drop shadow
     so the button stays legible over busy/dark photos (the old 0.6 white +
     thin 2px gray bars washed out). */
  /* Burger hidden in prod for now (display:none). The spring + chrome styles
     below are kept ready — flip back to display:inline-flex to re-enable. */
  .nav__burger{position:relative;display:none;width:44px;height:44px;border-radius:50%;cursor:pointer;flex:0 0 auto;background:rgba(255,255,255,0.72);-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(45,41,38,0.08);box-shadow:0 4px 16px rgba(45,41,38,0.22),0 1px 0 rgba(255,255,255,0.7) inset;}
  /* Spring hamburger (jonsuh/hamburgers, adapted to the pure-CSS :checked
     toggle). 3 bars absolutely positioned in a 22x2.5 stack centred in the
     circle; bars at y 14/21/28, converge centre = 21. The "spring" feel comes
     from the two-phase timing: on toggle the outer bars first slide to centre
     ('top'), THEN rotate ('transform', delayed) into the X. */
  .nav__burger-bar{position:absolute;left:11px;width:22px;height:2.5px;border-radius:2px;background:#2D2926;}
  .nav__burger-bar:nth-child(1){top:14px;transition:top .1s .2s cubic-bezier(.33333,.66667,.66667,1),transform .13s cubic-bezier(.55,.055,.675,.19);}
  .nav__burger-bar:nth-child(2){top:21px;transition:opacity .13s .1s ease;}
  .nav__burger-bar:nth-child(3){top:28px;transition:top .2s .2s cubic-bezier(.33333,.66667,.66667,1),transform .13s cubic-bezier(.55,.055,.675,.19);}
  .nav__toggle:checked ~ .nav__end .nav__burger-bar:nth-child(1){top:21px;transform:rotate(45deg);transition:top .1s .15s cubic-bezier(.33333,0,.66667,.33333),transform .13s .22s cubic-bezier(.215,.61,.355,1);}
  .nav__toggle:checked ~ .nav__end .nav__burger-bar:nth-child(2){opacity:0;transition:opacity .13s ease;}
  .nav__toggle:checked ~ .nav__end .nav__burger-bar:nth-child(3){top:21px;transform:rotate(-45deg);transition:top .2s cubic-bezier(.33333,0,.66667,.33333),transform .13s .22s cubic-bezier(.215,.61,.355,1);}
}

html:has(.nav__toggle:checked){overflow:hidden;}

@media (prefers-reduced-motion:reduce){
  .nav__links,.nav__scrim,.nav__burger-bar,.nav__link::after{transition:none;}
}

.cart-toggle{position:relative;flex:0 0 auto;margin-inline-start:0.25rem;border:1px solid var(--color-line);background:#fff;border-radius:999px;padding:0.45rem 0.9rem;cursor:pointer;font-family:var(--font-body);font-weight:600;font-size:0.9rem;color:var(--color-text);transition:border-color var(--transition);}
.cart-toggle:hover{border-color:var(--color-accent);}
.cart-toggle__count{display:inline-grid;place-items:center;min-width:1.3em;height:1.3em;margin-inline-start:0.35rem;padding:0 0.35em;border-radius:999px;background:var(--color-accent);color:#fff;font-size:0.78rem;}
.cart-toggle[hidden]{display:none;}
/* Visible shop intro (star + title + subtitle) removed by design; the listing
   leads straight into the collections. The h1 stays for SEO/a11y, off-screen. */
.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;}
main{padding:clamp(1.25rem,4vw,2.25rem) clamp(1rem,4vw,var(--gutter)) 4rem;max-width:1280px;margin:0 auto;}
.collection{margin-top:clamp(2.25rem,5vw,3.25rem);}
.collection__head{display:flex;align-items:center;justify-content:center;gap:clamp(0.8rem,2vw,1.5rem);margin-bottom:clamp(1.25rem,3vw,2rem);}
.collection__rule{flex:1;max-width:140px;height:1px;background:linear-gradient(to var(--_d,left),var(--color-accent),transparent);opacity:0.5;}
.collection__head .collection__rule:last-child{--_d:right;}
.collection__title{font-family:var(--font-display);font-weight:400;font-size:clamp(1.7rem,4vw,2.6rem);margin:0;white-space:nowrap;}
.pgrid{list-style:none;margin:0;padding:0;display:grid;gap:clamp(1rem,2.5vw,1.75rem);grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));}
.pcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--color-line);border-radius:4px;overflow:hidden;transition:transform var(--transition),box-shadow var(--transition);}
.pcard:hover{transform:translateY(-4px);box-shadow:0 24px 44px -24px rgba(60,42,18,0.45);}
.pcard--oos{opacity:0.72;}
.pcard__link{text-decoration:none;color:inherit;display:flex;flex-direction:column;}
.pcard__media{aspect-ratio:3/4;background:#f6f2ec;overflow:hidden;}
.pcard__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 700ms var(--transition);}
.pcard:hover .pcard__media img{transform:scale(1.05);}
.pcard__name{font-family:var(--font-display);font-weight:400;font-size:1.12rem;line-height:1.25;margin:0;padding:0.85rem 0.9rem 0.4rem;}
.pcard__foot{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;margin-top:auto;padding:0 0.9rem 1rem;}
.pcard__price{font-weight:700;font-size:1.05rem;}
.pcard__add{border:1px solid var(--color-accent);background:var(--color-accent);color:#fff;border-radius:999px;padding:0.4rem 0.95rem;cursor:pointer;font-family:var(--font-body);font-weight:600;font-size:0.85rem;transition:background var(--transition),border-color var(--transition);}
.pcard__add:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);}
.pcard__add[data-in-cart]{background:#fff;color:var(--color-accent);}
.pcard__oos{color:var(--color-text-muted);font-size:0.85rem;font-weight:600;}
/* Product profile */
.pp{max-width:1100px;}
.pp-crumbs{color:var(--color-text-muted);font-size:0.9rem;margin-bottom:1.5rem;}
.pp-crumbs a{text-decoration:none;color:var(--color-accent);}
.pp-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:clamp(1.5rem,4vw,3rem);align-items:start;}
.pp-main{aspect-ratio:1/1;background:#f6f2ec;border-radius:6px;overflow:hidden;border:1px solid var(--color-line);}
.pp-main img{width:100%;height:100%;object-fit:contain;display:block;}
.pp-thumbs{display:flex;gap:0.6rem;margin-top:0.8rem;flex-wrap:wrap;}
.pp-thumb{width:64px;height:64px;padding:0;border:1px solid var(--color-line);border-radius:4px;overflow:hidden;background:#fff;cursor:pointer;transition:border-color var(--transition);}
.pp-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.pp-thumb.is-active{border-color:var(--color-accent);}
.pp-info{position:sticky;top:90px;}
.pp-name{font-family:var(--font-display);font-weight:400;font-size:clamp(1.8rem,4vw,2.6rem);margin:0 0 0.5rem;}
.pp-price{font-weight:700;font-size:1.5rem;margin-bottom:1.2rem;}
.pp-add{width:100%;margin-bottom:1.5rem;}
.pp-oos{color:var(--color-text-muted);font-weight:600;margin-bottom:1.5rem;}
.pp-desc{border-top:1px solid var(--color-line);padding-top:1.2rem;color:#4a443d;font-size:0.98rem;line-height:1.7;}
.pp-desc .pp-lead{font-size:1.05rem;color:var(--color-text);margin:0 0 1rem;}
.pp-desc .pp-h{font-family:var(--font-display);font-weight:400;font-size:1.2rem;margin:1.3rem 0 0.5rem;}
.pp-desc .pp-list{margin:0;padding-inline-start:1.2rem;}
.pp-desc .pp-list li{margin:0.3rem 0;}
.pp-back{display:inline-block;margin-top:1.6rem;color:var(--color-accent);text-decoration:none;font-weight:600;}
.pp-back:hover{text-decoration:underline;}
@media (max-width:760px){.pp-grid{grid-template-columns:1fr;}.pp-info{position:static;}}
/* Cart drawer */
.drawer-backdrop{position:fixed;inset:0;background:rgba(30,22,12,0.42);opacity:0;pointer-events:none;transition:opacity var(--transition);z-index:40;}
.drawer-backdrop[data-open]{opacity:1;pointer-events:auto;}
.drawer{position:fixed;inset-block:0;inset-inline-start:0;width:min(420px,92vw);background:#fff;z-index:41;transition:transform var(--transition);display:flex;flex-direction:column;box-shadow:0 0 60px -20px rgba(0,0,0,0.4);transform:translateX(100%);}
.drawer[data-open]{transform:translateX(0);}
.drawer__head{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.25rem;border-bottom:1px solid var(--color-line);}
.drawer__head h2{font-family:var(--font-display);font-weight:400;margin:0;font-size:1.4rem;}
.drawer__close{border:none;background:none;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--color-text-muted);}
.drawer__body{flex:1;overflow-y:auto;padding:1rem 1.25rem;}
.drawer__empty{color:var(--color-text-muted);text-align:center;margin:2rem 0;}
.citem{display:grid;grid-template-columns:56px 1fr auto;gap:0.75rem;align-items:center;padding:0.7rem 0;border-bottom:1px solid var(--color-line);}
.citem__img{width:56px;height:70px;object-fit:cover;border-radius:3px;background:#f6f2ec;}
.citem__name{font-size:0.92rem;font-weight:600;margin:0 0 0.25rem;}
.citem__price{color:var(--color-text-muted);font-size:0.85rem;}
.citem__qty{display:inline-flex;align-items:center;gap:0.4rem;margin-top:0.3rem;}
.citem__qty button{width:1.6em;height:1.6em;border:1px solid var(--color-line);background:#fff;border-radius:4px;cursor:pointer;font-size:0.9rem;}
.citem__remove{border:none;background:none;color:var(--color-text-muted);cursor:pointer;font-size:0.8rem;text-decoration:underline;}
.drawer__foot{border-top:1px solid var(--color-line);padding:1.1rem 1.25rem;}
.drawer__total{display:flex;justify-content:space-between;font-weight:700;font-size:1.1rem;margin-bottom:0.9rem;}
.checkout-form{display:grid;gap:0.6rem;}
.checkout-form input,.checkout-form textarea{width:100%;padding:0.6rem 0.7rem;border:1px solid var(--color-line);border-radius:6px;font-family:var(--font-body);font-size:0.95rem;background:#fff;}
.checkout-form textarea{resize:vertical;min-height:2.4rem;}
.btn-primary{border:none;background:var(--color-accent);color:#fff;border-radius:999px;padding:0.7rem 1rem;cursor:pointer;font-family:var(--font-body);font-weight:700;font-size:1rem;transition:background var(--transition);}
.btn-primary:hover{background:var(--color-accent-hover);}
.btn-primary:disabled{opacity:0.6;cursor:progress;}
.form-err{color:#b3261e;font-size:0.85rem;min-height:1.1em;}
.status-banner{position:fixed;inset-block-start:0;inset-inline:0;z-index:50;padding:0.9rem 1.25rem;text-align:center;font-weight:600;color:#fff;transform:translateY(-100%);transition:transform var(--transition);}
.status-banner[data-show]{transform:translateY(0);}
.status-banner--ok{background:#2f7d4f;}
.status-banner--info{background:var(--color-text);}
.status-banner a{color:#fff;text-decoration:underline;}
.status-banner button{margin-inline-start:1rem;border:1px solid rgba(255,255,255,0.6);background:none;color:#fff;border-radius:999px;padding:0.15rem 0.7rem;cursor:pointer;}
@media (prefers-reduced-motion:reduce){*{transition:none !important;}}
/* Footer — homepage lockup mirrored: nav+socials start edge, brand end edge. */
.shop-footer{direction:rtl;color:var(--color-text);background:#EFE9E2;padding:clamp(1.5rem,3.5vw,2.5rem) clamp(1.25rem,5vw,var(--gutter));margin-top:clamp(3rem,7vw,5rem);}
.shop-footer__row{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:clamp(1rem,3vw,2rem);flex-wrap:nowrap;}
.shop-footer__right{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(0.5rem,1.2vw,0.85rem);flex:0 0 auto;min-width:0;}
.shop-footer__nav{display:flex;align-items:center;gap:clamp(0.6rem,1.4vw,0.95rem);font-family:'Grand Baron','Carizma Book',Georgia,serif;font-size:clamp(18px,2.1vw,24px);font-weight:400;letter-spacing:0.01em;color:#000;white-space:nowrap;}
.shop-footer__nav a{color:inherit;text-decoration:none;transition:color 200ms ease;}
.shop-footer__nav a:hover,.shop-footer__nav a:focus-visible{color:var(--color-accent);outline:none;}
.shop-footer__nav-sep{color:#000;font-weight:400;}
.shop-footer__socials{display:flex;align-items:center;gap:clamp(0.5rem,1.2vw,0.75rem);}
.shop-footer__social{display:inline-flex;align-items:center;justify-content:center;width:clamp(18px,1.6vw,22px);height:clamp(18px,1.6vw,22px);text-decoration:none;opacity:0.88;transition:transform 200ms ease,opacity 200ms ease;}
.shop-footer__social img{width:100%;height:100%;object-fit:contain;filter:brightness(0) saturate(100%);}
.shop-footer__social:hover,.shop-footer__social:focus-visible{transform:translateY(-1px);opacity:1;outline:none;}
.shop-footer__brand{display:flex;flex-direction:column;align-items:flex-start;gap:2px;direction:ltr;flex:0 0 auto;min-width:0;}
.shop-footer__brand-star{width:clamp(26px,2.59vw,31px);height:auto;align-self:flex-start;margin:0 0 -2px 4px;opacity:0.95;}
.shop-footer__brand-name{font-family:var(--font-display);font-weight:400;font-size:clamp(28px,4.2vw,44px);line-height:1;color:var(--color-text);margin:0;letter-spacing:0.005em;}
.shop-footer__brand-sub{font-family:var(--font-display);font-weight:300;font-size:clamp(12px,1.4vw,16px);letter-spacing:0.02em;line-height:1.1;color:var(--color-text);display:inline-flex;align-items:baseline;gap:0.35em;margin-top:2px;}
.shop-footer__brand-amp{color:var(--color-accent);font-family:'Grand Baron',Georgia,serif;font-style:italic;font-size:1.35em;line-height:1;}
@media (max-width:480px){.shop-footer{padding:clamp(1rem,4vw,1.75rem) clamp(0.75rem,3vw,1.25rem);}.shop-footer__row{gap:clamp(0.5rem,2vw,1rem);}}
