

/* =========================================================
  Paperoot Premium Frontend
  Design direction: clean performance ecommerce, warm paper tones,
  rounded components, strong typography, and clear data-driven cards.
========================================================= */


@font-face{
  font-family:"Josefin Sans";
  src:url("/assets/fonts/JosefinSans-VariableFont_wght.ttf") format("truetype");
  font-style:normal;
  font-weight:100 700;
  font-display:swap;
}

*{box-sizing:border-box;margin:0;padding:0}

:root{
  --bg:#f6f2e9;
  --surface:#fffaf1;
  --surface-strong:#ffffff;
  --ink:#11110f;
  --soft-black:#2a2925;
  --muted:rgba(42,41,37,.68);
  --soft:rgba(42,41,37,.08);
  --line:rgba(42,41,37,.13);
  --line-strong:rgba(42,41,37,.24);
  --paper-cream:#f6f2e9;
  --warm-beige:#e5d4bd;
  --paper-brown:#d5c0a1;
  --deep-sand:#b99b73;
  --root:#b99b73;
  --root-dark:#2a2925;
  --sand:#e5d4bd;
  --clay:#d5c0a1;
  --white:#fff;
  --black:#11110f;
  --radius-xs:12px;
  --radius-sm:18px;
  --radius-md:26px;
  --radius-lg:38px;
  --radius-xl:52px;
  --shadow:0 24px 70px rgba(31,27,20,.11);
  --shadow-strong:0 38px 110px rgba(31,27,20,.20);
  --container:min(1320px, calc(100vw - 32px));
  --nav-offset:clamp(104px, 11vw, 150px);
}

html{scroll-behavior:smooth}

body{
  min-height:100vh;
  font-family: "Josefin Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  background:
    radial-gradient(circle at top left, rgba(216,198,173,.55), transparent 33rem),
    linear-gradient(180deg, var(--bg), #fff 42rem);
  color:var(--ink);
  font-weight:500;
  font-synthesis:none;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

body.menu-open{overflow:hidden}

img{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit}
code{font-family:"SFMono-Regular", Consolas, monospace;font-size:.92em;background:rgba(17,17,15,.07);padding:.12em .38em;border-radius:7px}

/* =========================================================
  Shared helpers
========================================================= */
.eyebrow{
  margin-bottom:14px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  color:var(--muted);
}

.eyebrow-light{color:rgba(255,255,255,.64)}

.btn-dark,.btn-light,.btn-outline,.btn-ghost-light,.checkout-button,.summary-secondary-link{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:13px 20px;
  border-radius:999px;
  text-decoration:none;
  font-size:14px;
  line-height:1;
  font-weight:700;
  letter-spacing:.01em;
  transition:transform .22s ease, background .22s ease, color .22s ease, border-color .22s ease, opacity .22s ease;
}

.btn-dark,.checkout-button{
  border:1px solid var(--black);
  background:var(--black);
  color:#fff;
}

.btn-light{
  border:1px solid #fff;
  background:#fff;
  color:#000;
}

.btn-outline,.summary-secondary-link{
  border:1px solid var(--line-strong);
  background:rgba(255,255,255,.42);
  color:var(--ink);
}

.btn-ghost-light{
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  background:rgba(255,255,255,.08);
}

.btn-dark:hover,.btn-light:hover,.btn-outline:hover,.btn-ghost-light:hover,.checkout-button:hover,.summary-secondary-link:hover{
  transform:translateY(-2px);
}

.text-link{
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:3px;
}

.text-button{
  border:0;
  background:transparent;
  color:var(--ink);
  font-weight:700;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:5px;
}

.section-title{
  font-size:clamp(38px, 5vw, 78px);
  line-height:.96;
  letter-spacing:-.06em;
  font-weight:650;
}

.section-lead{
  max-width:650px;
  color:var(--muted);
  line-height:1.7;
  font-size:clamp(17px, 1.4vw, 21px);
}

.section-heading,.section-heading-row{
  max-width:var(--container);
  margin:0 auto clamp(24px, 4vw, 46px);
}

.section-heading h2,.section-copy h2{
  font-size:clamp(34px, 4.8vw, 72px);
  line-height:1;
  letter-spacing:-.055em;
  font-weight:650;
}

.section-heading-row{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
}

.reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1);
  will-change:opacity, transform;
}

.reveal.is-visible{opacity:1;transform:none}
.reveal.delay-1{transition-delay:.08s}.reveal.delay-2{transition-delay:.16s}.reveal.delay-3{transition-delay:.24s}

@media   (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  *{transition:none!important;animation:none!important}
}

/* =========================================================
  Floating Navbar
========================================================= */
.navbar{
  position:fixed;
  top:0;left:0;right:0;
  height:var(--nav-offset);
  z-index:1000;
  pointer-events:none;
}

.navbar-inner{
  width:100%;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:16px;
  align-items:start;
  padding:18px clamp(16px, 3vw, 42px) 0;
  pointer-events:none;
}

.navbar a,.navbar button{pointer-events:auto}

.logo-center{
  grid-column:2;
  justify-self:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:66px;
  padding:13px clamp(28px, 4vw, 62px);
  border-radius:999px;
  border:1px solid rgba(255,255,255,.62);
  background:rgba(255,255,255,.72);
  box-shadow:0 18px 56px rgba(26,22,17,.10);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  text-decoration:none;
  transition:transform .24s ease, background .24s ease, box-shadow .24s ease;
}

.has-scrolled .logo-center,.has-scrolled .nav-links,.has-scrolled .hamburger{
  background:rgba(255,255,255,.86);
  border-color:rgba(17,17,15,.10);
}

.logo-center:hover,.hamburger:hover,.nav-icon-link:hover{transform:translateY(-2px)}
.logo-center img{height:clamp(42px, 3.6vw, 64px);width:auto}

.hamburger{
  grid-column:1;
  justify-self:start;
  position:relative;
  width:58px;height:58px;
  margin-top:10px;
  border:1px solid rgba(255,255,255,.56);
  border-radius:999px;
  background:rgba(255,255,255,.70);
  box-shadow:0 18px 56px rgba(26,22,17,.10);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  cursor:pointer;
}

.hamburger span{
  position:absolute;
  left:17px;right:17px;
  height:2px;
  border-radius:999px;
  background:#000;
  transition:top .24s ease, transform .24s ease, opacity .18s ease;
}
.hamburger span:nth-child(1){top:20px}.hamburger span:nth-child(2){top:28px}.hamburger span:nth-child(3){top:36px}
.hamburger.is-open span:nth-child(1){top:28px;transform:rotate(45deg)}
.hamburger.is-open span:nth-child(2){opacity:0}
.hamburger.is-open span:nth-child(3){top:28px;transform:rotate(-45deg)}

.nav-links{
  grid-column:3;
  justify-self:end;
  margin-top:10px;
  display:inline-flex;
  align-items:center;
  gap:clamp(18px, 2.1vw, 32px);
  padding:7px 8px 7px 24px;
  border:1px solid rgba(255,255,255,.56);
  border-radius:999px;
  background:rgba(255,255,255,.70);
  box-shadow:0 18px 56px rgba(26,22,17,.10);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
}

.nav-links>a{
  position:relative;
  text-decoration:none;
  font-size:15px;
  font-weight:700;
  letter-spacing:-.01em;
  white-space:nowrap;
}

.nav-links>a::after{
  content:"";
  position:absolute;left:0;right:0;bottom:-7px;
  height:2px;border-radius:999px;
  background:var(--ink);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .22s ease;
}
.nav-links>a:hover::after,.nav-links>a.is-active::after{transform:scaleX(1)}

.nav-actions{display:inline-flex;align-items:center;gap:7px}

.nav-icon-link{
  position:relative;
  width:46px;height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(17,17,15,.08);
  text-decoration:none;
  transition:transform .22s ease, background .22s ease;
}

.nav-icon-link.is-active{background:#000}.nav-icon-link.is-active .nav-icon{filter:invert(1)}
.nav-icon{width:22px;height:22px;object-fit:contain}.nav-icon-label{display:none}

.cart-count{
  position:absolute;top:-4px;right:-4px;
  min-width:19px;height:19px;padding:0 5px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;
  background:var(--root-dark);color:#fff;
  border:2px solid #fff;
  font-size:11px;font-weight:700;line-height:1;
}

/* =========================================================
  Home
========================================================= */
.home-hero{
  padding:calc(var(--nav-offset) + 18px) clamp(16px, 3vw, 42px) clamp(42px, 6vw, 92px);
  min-height:100svh;
  display:grid;
  align-items:center;
}

.hero-shell{
  width:100%;
  max-width:1520px;
  min-height:calc(100svh - var(--nav-offset) - 70px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, .94fr) minmax(420px, 1.06fr);
  align-items:stretch;
  gap:clamp(18px, 2vw, 28px);
}

.hero-copy{
  border-radius:var(--radius-xl);
  padding:clamp(28px, 5vw, 72px);
  background:linear-gradient(145deg, rgba(255,250,241,.92), rgba(237,226,209,.72));
  border:1px solid rgba(17,17,15,.09);
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

.hero-copy h1{
  max-width:780px;
  font-size:clamp(52px, 8vw, 128px);
  line-height:.88;
  letter-spacing:-.068em;
  font-weight:670;
}

.hero-copy>p:not(.eyebrow){
  max-width:640px;
  margin-top:22px;
  color:var(--muted);
  font-size:clamp(18px, 1.45vw, 22px);
  line-height:1.62;
}

.hero-actions{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}

.hero-showcase{
  position:relative;
  min-height:660px;
  border-radius:var(--radius-xl);
  overflow:hidden;
  padding:clamp(14px, 2vw, 24px);
  display:grid;
  grid-template-columns:1.08fr .92fr;
  grid-template-rows:1fr 1fr;
  gap:clamp(12px, 1.5vw, 18px);
  background:
    linear-gradient(160deg, rgba(17,17,15,.12), transparent 38%),
    linear-gradient(135deg, #e5d4bd, #f6f2e9 46%, #d5c0a1);
  box-shadow:var(--shadow-strong);
}

.showcase-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:clamp(26px, 3vw, 42px);
  background:#fff;
  border:1px solid rgba(255,255,255,.58);
}

.showcase-card::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 45%, rgba(0,0,0,.52));
  z-index:1;
}

.showcase-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.showcase-card:hover img{transform:scale(1.04)}
.showcase-card div{position:absolute;left:22px;right:22px;bottom:22px;z-index:2;color:#fff}
.showcase-card span{display:block;font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:rgba(255,255,255,.72);margin-bottom:6px}
.showcase-card strong{font-size:clamp(24px, 2.7vw, 44px);line-height:1;letter-spacing:-.045em}
.showcase-card-large{grid-row:1/span 2}.showcase-card-dark{background:#111}

.trust-strip{
  width:var(--container);
  margin:0 auto;
  padding:18px clamp(18px, 3vw, 34px);
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.58);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  color:var(--muted);
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.editorial-section{
  width:var(--container);
  margin:0 auto;
  padding:clamp(72px, 8vw, 130px) 0;
}

.split-section{
  display:grid;
  grid-template-columns:.9fr 1fr;
  gap:clamp(24px, 6vw, 90px);
  align-items:end;
}

.product-grid-section{padding:0 0 clamp(72px, 8vw, 130px)}
.product-grid-inner{width:var(--container);margin:0 auto}
.product-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:clamp(14px, 2vw, 24px)}

.category-card{
  min-height:520px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:22px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.68);
  text-decoration:none;
  box-shadow:0 20px 60px rgba(31,27,20,.06);
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.category-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);background:#fff}
.category-image-stack{height:310px;display:grid;grid-template-columns:1fr .8fr;gap:10px}
.category-image-stack img{width:100%;height:100%;object-fit:cover;border-radius:calc(var(--radius-lg) - 12px);background:#eee}
.category-image-stack img:nth-child(2){margin-top:42px;height:calc(100% - 42px)}
.category-card-text{padding:0 8px 8px}
.category-card-text span{display:block;margin-bottom:14px;color:var(--muted);font-size:12px;letter-spacing:.18em;font-weight:700}
.category-card-text h3{font-size:clamp(28px, 3vw, 46px);line-height:1;letter-spacing:-.055em}
.category-card-text p{margin-top:12px;color:var(--muted);line-height:1.55}

.premium-band{
  width:min(1460px, calc(100vw - 32px));
  margin:0 auto clamp(16px, 3vw, 42px);
  border-radius:var(--radius-xl);
  background:radial-gradient(circle at top right, rgba(255,255,255,.16), transparent 22rem), #050505;
  color:#fff;
  overflow:hidden;
}

.sustainability{padding:clamp(54px, 7vw, 110px) clamp(20px, 5vw, 74px)}
.sustainability-inner{max-width:1220px;margin:0 auto;display:grid;grid-template-columns:1.35fr .8fr;gap:clamp(24px, 5vw, 80px);align-items:center}
.sustainability-text h2{max-width:820px;font-size:clamp(36px, 5.6vw, 88px);line-height:.96;letter-spacing:-.065em;font-weight:650}
.sustainability-text p:not(.eyebrow){max-width:680px;margin-top:20px;color:rgba(255,255,255,.66);line-height:1.7;font-size:clamp(16px,1.35vw,20px)}
.sustainability-actions{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}
.sustainability-card{padding:12px;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-lg);background:rgba(255,255,255,.06);display:grid;gap:10px}
.stat{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;border:1px solid rgba(255,255,255,.10);border-radius:calc(var(--radius-lg) - 10px);background:rgba(255,255,255,.05)}
.stat-number{font-size:14px;font-weight:700;letter-spacing:.16em;color:rgba(255,255,255,.55)}
.stat-label{max-width:210px;text-align:right;font-size:clamp(18px,1.8vw,25px);line-height:1.1;letter-spacing:-.045em;font-weight:700}

/* =========================================================
  Products
========================================================= */
.products-page,.about-page,.contact-page,.basket-page{padding-top:var(--nav-offset)}

.products-hero,.about-hero,.contact-hero,.basket-hero{
  width:var(--container);
  margin:0 auto;
  padding:clamp(42px, 6vw, 96px) 0 clamp(24px, 4vw, 58px);
  text-align:center;
}

.products-hero h1,.about-hero h1,.contact-hero h1,.basket-hero h1{
  max-width:1040px;
  margin:0 auto;
  font-size:clamp(50px, 8vw, 118px);
  line-height:.9;
  letter-spacing:-.068em;
  font-weight:670;
}

.products-hero p:last-of-type,.about-hero p:last-child,.contact-hero p:last-child,.basket-hero p:last-child{
  max-width:760px;
  margin:22px auto 0;
  color:var(--muted);
  font-size:clamp(17px, 1.5vw, 21px);
  line-height:1.68;
}

.product-count-pill{
  margin-top:18px;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 16px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--line);
  font-size:13px;
  font-weight:700;
  color:var(--muted);
}

.products-controls{width:var(--container);margin:0 auto 26px;display:flex;justify-content:center;position:sticky;top:calc(var(--nav-offset) - 42px);z-index:10;pointer-events:none}
.products-controls .tabs{pointer-events:auto}
.tabs{display:flex;align-items:center;gap:6px;padding:6px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.82);box-shadow:0 18px 56px rgba(31,27,20,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);overflow:auto;max-width:100%}
.tab{border:0;background:transparent;color:var(--muted);border-radius:999px;padding:12px 17px;white-space:nowrap;cursor:pointer;font-weight:700;font-size:14px;transition:background .2s ease,color .2s ease}.tab.is-active{background:#000;color:#fff}
.products-grid-section{padding-inline:0}
.products-grid{width:var(--container);margin:0 auto;display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:clamp(14px, 1.6vw, 22px)}
.product-item{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(255,255,255,.74);overflow:hidden;box-shadow:0 16px 44px rgba(31,27,20,.05);transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.product-item:hover{transform:translateY(-5px);box-shadow:var(--shadow);background:#fff}.product-card-link{text-decoration:none;display:flex;flex-direction:column;flex:1}.product-media{position:relative;height:clamp(250px, 25vw, 360px);margin:10px;border-radius:calc(var(--radius-lg) - 10px);overflow:hidden;background:var(--sand)}.product-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.22,1,.36,1)}.product-item:hover .product-media img{transform:scale(1.035)}
.product-badges{position:absolute;left:12px;top:12px;right:12px;display:flex;flex-wrap:wrap;gap:7px}.product-badges span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.78);backdrop-filter:blur(12px);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:rgba(0,0,0,.68)}
.product-info{padding:10px 20px 18px}.product-category{margin-bottom:10px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.product-title-row{display:flex;align-items:start;justify-content:space-between;gap:14px}.product-title-row h3{font-size:clamp(20px,1.6vw,26px);line-height:1.05;letter-spacing:-.045em}.product-title-row strong{white-space:nowrap;font-size:16px}.product-variant{margin-top:8px;color:var(--muted);font-weight:700}.product-detail-list{margin-top:14px;display:grid;gap:6px;list-style:none;color:var(--muted);font-size:14px;line-height:1.35}.product-detail-list li{position:relative;padding-left:14px}.product-detail-list li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:999px;background:var(--root)}
.add-btn{margin:auto 18px 18px;min-height:48px;border:1px solid #000;border-radius:999px;background:#000;color:#fff;cursor:pointer;font-weight:700;transition:transform .2s ease, background .2s ease}.add-btn:hover{transform:translateY(-2px)}.add-btn.is-added{background:var(--root-dark);border-color:var(--root-dark)}
.shop-note{width:var(--container);margin:0 auto clamp(72px, 8vw, 120px);padding:clamp(24px, 4vw, 44px);border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(255,255,255,.72);display:grid;grid-template-columns:.9fr 1fr;gap:24px;align-items:center}.shop-note h2{font-size:clamp(24px, 3vw, 46px);line-height:1;letter-spacing:-.05em}.shop-note p:last-child{color:var(--muted);line-height:1.7}

/* =========================================================
  About
========================================================= */
.about-stat-strip{width:var(--container);margin:0 auto;padding:0 0 clamp(58px,7vw,110px);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px)}.about-stat-item{padding:22px;border-top:1px solid var(--line);background:rgba(255,255,255,.45);border-radius:0 0 var(--radius-sm) var(--radius-sm)}.about-stat-item span{display:block;margin-bottom:12px;font-weight:700;font-size:12px;letter-spacing:.14em;color:var(--muted)}.about-stat-item p{color:var(--muted);line-height:1.65}
.about-story{width:var(--container);margin:0 auto;padding:clamp(58px,7vw,110px) 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,76px);align-items:center}.about-story-text h2{font-size:clamp(38px,5vw,78px);line-height:.98;letter-spacing:-.065em;font-weight:650}.about-story-text p:not(.eyebrow){margin-top:18px;color:var(--muted);line-height:1.75;font-size:17px}.about-story-images{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:repeat(2,minmax(200px,1fr));gap:14px}.about-story-images img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-lg);background:#eee}.about-image-large{grid-row:1/span 2}
.about-mission-band{width:var(--container);margin:0 auto;padding:clamp(34px,6vw,80px);border-radius:var(--radius-xl);background:#000;color:#fff}.about-mission-band h2{max-width:1040px;font-size:clamp(34px,5vw,76px);line-height:.98;letter-spacing:-.065em;font-weight:650}
.about-process{width:var(--container);margin:0 auto;padding:clamp(58px,7vw,110px) 0}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.7vw,22px)}.process-card{min-height:290px;padding:22px;border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(255,255,255,.68);display:flex;flex-direction:column;justify-content:space-between;transition:transform .24s ease,background .24s ease}.process-card:hover{transform:translateY(-5px);background:#fff}.process-card span{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--muted)}.process-card h3{margin-top:auto;font-size:clamp(24px,2vw,34px);line-height:1;letter-spacing:-.055em}.process-card p{margin-top:12px;color:var(--muted);line-height:1.65;font-size:15px}

.about-values{width:var(--container);margin:0 auto;padding:0 0 clamp(58px,7vw,110px);display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(18px,3vw,34px);align-items:stretch}.values-card{padding:clamp(24px,4vw,46px);border:1px solid var(--line);border-radius:var(--radius-xl);background:linear-gradient(145deg, rgba(255,255,255,.86), rgba(233,223,207,.48));box-shadow:0 18px 60px rgba(31,27,20,.06)}.values-card h2{font-size:clamp(34px,4.8vw,72px);line-height:.98;letter-spacing:-.065em;font-weight:650}.values-card p:not(.eyebrow){margin-top:18px;color:var(--muted);line-height:1.7}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,20px)}.value-item{min-height:310px;padding:22px;border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(255,255,255,.72);display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 14px 40px rgba(31,27,20,.045);transition:transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s cubic-bezier(.22,1,.36,1), background .28s ease, border-color .28s ease}.value-item:hover{transform:translateY(-6px);background:#fff;border-color:var(--line-strong);box-shadow:var(--shadow)}.value-item span{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--muted)}.value-item h3{margin-top:auto;font-size:clamp(26px,2.4vw,40px);line-height:1;letter-spacing:-.055em}.value-item p{margin-top:14px;color:var(--muted);line-height:1.65}
.about-cta{width:var(--container);margin:0 auto;padding:clamp(58px,7vw,110px) 0;text-align:center;border-top:1px solid var(--line)}.about-cta h2{max-width:900px;margin:0 auto;font-size:clamp(38px,5.5vw,84px);line-height:.98;letter-spacing:-.07em}.about-cta p:not(.eyebrow){max-width:700px;margin:18px auto 0;color:var(--muted);line-height:1.7}.about-cta-actions{margin-top:24px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}

/* =========================================================
  Contact / Forms
========================================================= */
.contact-options{width:var(--container);margin:0 auto;padding:0 0 clamp(58px,7vw,110px);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px)}.contact-card{min-height:300px;padding:24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(255,255,255,.68);display:flex;flex-direction:column;transition:transform .24s ease,background .24s ease}.contact-card:hover{transform:translateY(-5px);background:#fff}.contact-card span{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--muted)}.contact-card h2{margin-top:auto;font-size:clamp(28px,3vw,44px);line-height:1;letter-spacing:-.06em}.contact-card p{margin-top:12px;color:var(--muted);line-height:1.65}.contact-card a{margin-top:18px;font-weight:700;text-decoration:none}
.contact-form-section{width:var(--container);margin:0 auto;padding:clamp(58px,7vw,110px) 0;border-top:1px solid var(--line);display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(28px,5vw,80px);align-items:start}.contact-form-copy h2{font-size:clamp(38px,5vw,78px);line-height:.98;letter-spacing:-.065em}.contact-form-copy p:not(.eyebrow){margin-top:18px;color:var(--muted);line-height:1.75}.contact-form{display:grid;gap:18px}.contact-form{padding:clamp(22px,3vw,36px);border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(255,255,255,.70);box-shadow:0 20px 60px rgba(31,27,20,.06)}.form-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form label{display:grid;gap:8px;font-size:14px;font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:16px;background:#fff;color:#000;padding:14px 15px;outline:none}.contact-form textarea{min-height:160px;resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#000;box-shadow:0 0 0 4px rgba(0,0,0,.05)}.form-submit{min-height:50px;border:0;border-radius:999px;background:#000;color:#fff;font-weight:700;cursor:pointer}.form-status{min-height:24px;color:var(--muted);font-size:14px;line-height:1.5}
.contact-faq{width:var(--container);margin:0 auto;padding:clamp(58px,7vw,110px) 0;border-top:1px solid var(--line)}.faq-list{display:grid;gap:0}.faq-item{padding:24px 0;border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item h3{font-size:clamp(22px,2.4vw,34px);letter-spacing:-.045em}.faq-item p{margin-top:10px;max-width:840px;color:var(--muted);line-height:1.7}

/* =========================================================
  Basket
========================================================= */
.basket-layout{width:var(--container);margin:0 auto;padding:0 0 clamp(58px,7vw,100px);display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(18px,3vw,34px);align-items:start}.basket-items-panel,.basket-summary{border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(255,255,255,.72);box-shadow:0 18px 54px rgba(31,27,20,.06)}.basket-panel-header{padding:22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px}.basket-panel-header h2,.basket-summary h2{font-size:24px;letter-spacing:-.035em}.basket-panel-header p{margin-top:4px;color:var(--muted);font-size:14px;font-weight:700}.basket-items{display:grid}.basket-item{padding:18px 22px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:86px 1fr auto auto auto;gap:18px;align-items:center}.basket-item:last-child{border-bottom:0}.basket-item-image{width:86px;height:86px;object-fit:cover;border-radius:18px;background:#eee}.basket-item-copy span{display:block;margin-bottom:6px;color:var(--muted);font-size:12px;letter-spacing:.12em;font-weight:700}.basket-item-copy h3{font-size:20px;letter-spacing:-.035em}.basket-item-copy p{margin-top:5px;color:var(--muted)}.basket-item-actions{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:999px;padding:6px;background:#fff}.basket-item-actions button{width:31px;height:31px;border:0;border-radius:999px;background:rgba(17,17,15,.06);cursor:pointer;font-size:18px}.basket-item-actions strong{min-width:22px;text-align:center}.basket-line-total{white-space:nowrap}.remove-item{border:0;background:transparent;color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:5px}.empty-basket{padding:clamp(32px,5vw,64px);text-align:center}.empty-basket h3{font-size:clamp(28px,3.6vw,50px);line-height:1;letter-spacing:-.06em}.empty-basket p{max-width:520px;margin:12px auto 20px;color:var(--muted);line-height:1.7}.basket-summary{position:sticky;top:calc(var(--nav-offset) + 16px);padding:22px}.summary-row{padding:16px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--muted)}.summary-row strong{color:var(--ink);text-align:right}.summary-total{font-size:18px;color:var(--ink)}.summary-note{margin:18px 0;color:var(--muted);line-height:1.65;font-size:14px}.summary-actions{display:grid;gap:10px}.basket-help{width:var(--container);margin:0 auto;padding:0 0 clamp(58px,7vw,110px);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px)}.basket-help-card{padding:22px;border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(255,255,255,.62)}.basket-help-card span{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--muted)}.basket-help-card p{margin-top:12px;color:var(--muted);line-height:1.65}


.order-card,.return-card,.payment-card-demo{padding:20px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.order-card span,.return-card span,.payment-card-demo span{display:block;margin-bottom:12px;font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}.order-card p,.return-card p,.payment-card-demo p{color:var(--muted);line-height:1.65}.order-list{display:grid;gap:14px}.order-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.order-card h3{font-size:22px;letter-spacing:-.035em}.return-card .btn-outline{margin-top:18px}

/* =========================================================
  Footer
========================================================= */
.footer{margin-top:clamp(32px,5vw,70px);background:#050505;color:#fff;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:clamp(40px,6vw,74px) clamp(16px,3vw,42px) 24px}.footer-inner{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1.3fr .55fr .55fr .8fr;gap:clamp(24px,4vw,70px);align-items:start}.footer-brand p,.footer-note p{max-width:430px;color:rgba(255,255,255,.62);line-height:1.7}.footer-logo{display:inline-flex;width:72px;height:72px;border-radius:22px;overflow:hidden;margin-bottom:18px}.footer-logo img{width:100%;height:100%;object-fit:contain}.footer-column{display:grid;gap:10px}.footer-column h2{margin-bottom:8px;font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.52)}.footer-column a{color:rgba(255,255,255,.78);text-decoration:none}.footer-column a:hover,.footer-column a.is-active{color:#fff}.footer-bottom{max-width:1320px;margin:clamp(34px,5vw,60px) auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:space-between;gap:18px;color:rgba(255,255,255,.58);font-size:14px}.footer-bottom a{color:rgba(255,255,255,.76);text-decoration:none}



/* =========================================================
  Premium button hover transitions
========================================================= */
.btn-dark,.btn-light,.btn-outline,.btn-ghost-light,.checkout-button,.summary-secondary-link,.add-btn,.form-submit,.tab,.basket-item-actions button,.text-button{will-change:transform;transition:transform .26s cubic-bezier(.22,1,.36,1),box-shadow .26s cubic-bezier(.22,1,.36,1),background .26s ease,color .26s ease,border-color .26s ease,opacity .26s ease}.btn-dark:hover,.btn-light:hover,.btn-outline:hover,.btn-ghost-light:hover,.checkout-button:hover,.summary-secondary-link:hover,.add-btn:hover,.form-submit:hover{transform:translateY(-3px) scale(1.015);box-shadow:0 16px 34px rgba(17,17,15,.16)}.btn-dark:hover,.checkout-button:hover,.add-btn:hover,.form-submit:hover{background:var(--root-dark);border-color:var(--root-dark)}.btn-outline:hover,.summary-secondary-link:hover{background:#fff;border-color:#000}.btn-light:hover{background:var(--surface);border-color:var(--surface)}.btn-ghost-light:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.55)}.tab:hover{transform:translateY(-1px);background:rgba(17,17,15,.07);color:var(--ink)}.tab.is-active:hover{background:#000;color:#fff}.basket-item-actions button:hover{transform:scale(1.08);background:#000;color:#fff}.text-button:hover{transform:translateY(-1px);color:#000}.btn-dark:active,.btn-light:active,.btn-outline:active,.btn-ghost-light:active,.checkout-button:active,.summary-secondary-link:active,.add-btn:active,.form-submit:active{transform:translateY(0) scale(.99);box-shadow:none}.btn-dark:focus-visible,.btn-light:focus-visible,.btn-outline:focus-visible,.btn-ghost-light:focus-visible,.checkout-button:focus-visible,.summary-secondary-link:focus-visible,.add-btn:focus-visible,.form-submit:focus-visible,.tab:focus-visible,.basket-item-actions button:focus-visible,.text-button:focus-visible{outline:3px solid rgba(88,107,69,.34);outline-offset:3px}


/* =========================================================
  Paperoot palette refinement — v5
  White, black, warm beige, paper brown, paper cream, and deeper sand.
========================================================= */
body{
  background:
    radial-gradient(circle at 8% 0%, rgba(229,212,189,.72), transparent 34rem),
    radial-gradient(circle at 88% 18%, rgba(213,192,161,.36), transparent 30rem),
    linear-gradient(180deg, var(--paper-cream) 0%, #fff 42rem, var(--paper-cream) 100%);
}

.nav-links,.hamburger,.logo-center{
  background:rgba(246,242,233,.78);
  border-color:rgba(185,155,115,.28);
}

.has-scrolled .logo-center,.has-scrolled .nav-links,.has-scrolled .hamburger{
  background:rgba(255,255,255,.88);
  border-color:rgba(185,155,115,.22);
}

.nav-icon-link,.tabs,.product-count-pill,.basket-item-actions,.contact-form input,.contact-form select,.contact-form textarea{
  background:rgba(255,255,255,.86);
}

.hero-copy{
  background:
    radial-gradient(circle at 8% 10%, rgba(229,212,189,.54), transparent 18rem),
    linear-gradient(145deg, rgba(255,255,255,.92), rgba(246,242,233,.88) 48%, rgba(229,212,189,.74));
  border-color:rgba(185,155,115,.22);
}

.hero-copy>.brand-line{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  width:max-content;
  max-width:100%;
  margin:0 0 20px;
  padding:9px 14px;
  border:1px solid rgba(185,155,115,.34);
  border-radius:999px;
  background:rgba(255,255,255,.56);
  color:var(--soft-black);
  font-size:clamp(14px,1.1vw,17px);
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:500;
}

.hero-showcase{
  background:
    linear-gradient(160deg, rgba(17,17,15,.12), transparent 38%),
    linear-gradient(135deg, var(--warm-beige), var(--paper-cream) 46%, var(--paper-brown));
}

.trust-strip,.category-card,.product-item,.shop-note,.about-stat-item,.process-card,.values-card,.value-item,.contact-card,.contact-form,.basket-items-panel,.basket-summary,.basket-help-card{
  border-color:rgba(185,155,115,.24);
}

.trust-strip{
  background:rgba(255,255,255,.62);
  box-shadow:0 18px 54px rgba(120,96,65,.08);
}

.category-card,.product-item,.process-card,.value-item,.contact-card,.basket-help-card,.order-card,.return-card,.payment-card-demo{
  background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(246,242,233,.64));
}

.category-card:hover,.product-item:hover,.process-card:hover,.value-item:hover,.contact-card:hover{
  background:#fff;
  border-color:rgba(185,155,115,.38);
}

.category-image-stack img,.product-media,.about-story-images img,.basket-item-image{
  background:linear-gradient(135deg, var(--warm-beige), var(--paper-cream) 52%, var(--paper-brown));
}

.category-card-text h3,.product-title-row h3,.faq-item h3,.order-card h3{
  color:var(--ink);
}

.category-card-text span,.product-category,.product-badges span,.process-card span,.value-item span,.contact-card span,.basket-help-card span,.order-card span,.return-card span,.payment-card-demo span,.basket-item-copy span{
  color:rgba(42,41,37,.58);
}

.premium-band,.about-mission-band,.footer{
  background:
    radial-gradient(circle at top right, rgba(229,212,189,.16), transparent 24rem),
    linear-gradient(135deg, #11110f, #2a2925 68%, #11110f);
}

.about-mission-band{
  border:1px solid rgba(229,212,189,.16);
}

.about-values .values-card{
  background:
    radial-gradient(circle at 0% 0%, rgba(229,212,189,.66), transparent 18rem),
    linear-gradient(145deg, rgba(255,255,255,.88), rgba(246,242,233,.82));
}

.about-cta{
  border-color:rgba(185,155,115,.24);
}

.btn-dark,.checkout-button,.add-btn,.form-submit,.tab.is-active{
  background:var(--ink);
  border-color:var(--ink);
}

.btn-dark:hover,.checkout-button:hover,.add-btn:hover,.form-submit:hover{
  background:var(--soft-black);
  border-color:var(--soft-black);
}

.btn-outline:hover,.summary-secondary-link:hover{
  background:var(--paper-cream);
  border-color:var(--deep-sand);
}

.product-detail-list li::before,.cart-count{
  background:var(--deep-sand);
}

.footer-tagline{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  margin:0 0 12px;
  color:var(--warm-beige)!important;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:12px;
}

.footer-bottom{
  border-color:rgba(229,212,189,.16);
}

/* =========================================================
  Responsive
========================================================= */
@media   (max-width:1180px){
  .nav-links{gap:16px;padding-left:18px}.nav-links>a{font-size:14px}
  .hero-shell{grid-template-columns:1fr}.hero-showcase{min-height:560px}.products-grid{grid-template-columns:repeat(3,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.basket-layout{grid-template-columns:1fr}.basket-summary{position:static}.basket-item{grid-template-columns:76px 1fr auto;}.basket-line-total{grid-column:2}.remove-item{grid-column:3}
}

@media   (max-width:920px){
  :root{--nav-offset:112px}
  .navbar-inner{padding:14px 16px 0}.logo-center{min-height:58px;padding:10px 24px}.logo-center img{height:44px}.hamburger{width:54px;height:54px;margin-top:4px}.hamburger span{left:16px;right:16px}.nav-links{display:none}.nav-links.open{position:fixed;top:84px;left:16px;right:16px;width:auto;margin:0;padding:18px;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.94);box-shadow:var(--shadow-strong);display:flex;flex-direction:column;align-items:stretch;gap:6px}.nav-links.open>a{font-size:clamp(30px,8vw,54px);line-height:1;letter-spacing:-.07em;padding:10px 4px}.nav-links.open>a::after{display:none}.nav-links.open .nav-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}.nav-links.open .nav-icon-link{width:100%;height:56px;justify-content:flex-start;gap:12px;padding:0 14px;border-radius:18px;background:rgba(0,0,0,.045)}.nav-links.open .nav-icon-label{display:inline;font-weight:700}.nav-links.open .cart-count{position:static;margin-left:auto;transform:none}
  .split-section,.sustainability-inner,.about-story,.contact-form-section,.shop-note,.about-values{grid-template-columns:1fr}.product-grid,.contact-options,.about-stat-strip,.basket-help,.values-grid{grid-template-columns:1fr}.products-grid{grid-template-columns:repeat(2,1fr)}.footer-inner{grid-template-columns:1fr 1fr}.hero-copy h1,.products-hero h1,.about-hero h1,.contact-hero h1,.basket-hero h1{letter-spacing:-.06em}.trust-strip{border-radius:28px;display:grid;grid-template-columns:1fr 1fr;text-align:center}.section-heading-row{align-items:start;flex-direction:column}.category-card{min-height:auto}.products-controls{top:calc(var(--nav-offset) - 42px)}.form-grid-two{grid-template-columns:1fr}.order-card{align-items:start;flex-direction:column}.footer{border-radius:38px 38px 0 0}
}

@media   (max-width:620px){
  :root{--container:calc(100vw - 28px);--nav-offset:102px}
  .home-hero{padding-inline:14px}.hero-shell{min-height:auto}.hero-copy{border-radius:34px;padding:28px}.hero-copy h1{font-size:clamp(48px,17vw,76px)}.hero-showcase{min-height:620px;grid-template-columns:1fr;grid-template-rows:1.25fr 1fr 1fr;border-radius:34px}.showcase-card-large{grid-row:auto}.trust-strip{grid-template-columns:1fr;border-radius:24px}.editorial-section{padding:64px 0}.products-grid{grid-template-columns:1fr}.product-media{height:320px}.products-hero,.about-hero,.contact-hero,.basket-hero{text-align:left}.products-hero h1,.about-hero h1,.contact-hero h1,.basket-hero h1{font-size:clamp(48px,16vw,78px);margin-left:0}.products-hero p:last-of-type,.about-hero p:last-child,.contact-hero p:last-child,.basket-hero p:last-child{margin-left:0}.tabs{justify-content:flex-start}.product-count-pill{margin-left:0}.about-story-images{grid-template-columns:1fr;grid-template-rows:none}.about-image-large{grid-row:auto}.process-grid{grid-template-columns:1fr}.basket-item{grid-template-columns:70px 1fr;gap:14px}.basket-item-actions,.basket-line-total,.remove-item{grid-column:2;justify-self:start}.footer-inner{grid-template-columns:1fr}.footer-bottom{align-items:flex-start;flex-direction:column}.stat{align-items:flex-start;flex-direction:column}.stat-label{text-align:left}.category-image-stack{height:260px}.category-image-stack img:nth-child(2){margin-top:24px;height:calc(100% - 24px)}
}

/* =========================================================
   V5.2 — Rooted brand language refinements
   ========================================================= */
.rooted-line{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  width:max-content;
  max-width:100%;
  margin:0 0 16px;
  color:var(--deep-sand);
  font-size:clamp(13px,1vw,16px);
  line-height:1.15;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:500;
}

.rooted-line-light{
  color:var(--warm-beige);
  margin-bottom:18px;
}

.products-hero .rooted-line,.values-card .rooted-line{
  margin-top:2px;
}

/* =========================================================
   V5.4 — Pinned grid / sticky scroll sections
   Recreates the original About values behaviour: one side stays
   anchored while the related cards move naturally beside it.
   ========================================================= */
.pinned-card-copy{
  margin-top:18px;
  max-width:520px;
  color:var(--muted);
  line-height:1.7;
  font-size:15px;
}

.basket-help-intro{
  padding:clamp(24px,3vw,40px);
  border:1px solid rgba(185,155,115,.24);
  border-radius:var(--radius-lg);
  background:
    radial-gradient(circle at 0% 0%, rgba(229,212,189,.66), transparent 18rem),
    linear-gradient(145deg, rgba(255,255,255,.88), rgba(246,242,233,.82));
  box-shadow:0 18px 54px rgba(31,27,20,.06);
}

.basket-help-intro h2{
  font-size:clamp(34px,4.5vw,66px);
  line-height:1;
  letter-spacing:-.055em;
  font-weight:650;
}

.basket-help-intro p:last-child{
  margin-top:18px;
  color:var(--muted);
  line-height:1.7;
}

.basket-help-track{
  display:grid;
  gap:clamp(14px,2vw,24px);
}

@media   (min-width:921px){
  .pinned-scroll-card{
    position:sticky;
    top:calc(var(--nav-offset) + 18px);
    align-self:start;
  }

  .pinned-scroll-track{
    display:grid;
    gap:clamp(18px,2.4vw,32px);
  }

  .pinned-shop-section .product-grid-inner{
    width:var(--container);
    margin:0 auto;
    display:grid;
    grid-template-columns:.76fr 1.24fr;
    gap:clamp(20px,3.2vw,46px);
    align-items:start;
  }

  .pinned-shop-section .section-heading-row{
    max-width:none;
    margin:0;
    min-height:clamp(420px,58vh,620px);
    padding:clamp(24px,3.4vw,44px);
    border:1px solid rgba(185,155,115,.24);
    border-radius:var(--radius-xl);
    background:
      radial-gradient(circle at 0% 0%, rgba(229,212,189,.66), transparent 18rem),
      linear-gradient(145deg, rgba(255,255,255,.88), rgba(246,242,233,.82));
    box-shadow:0 18px 54px rgba(31,27,20,.06);
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:space-between;
  }

  .pinned-shop-section .category-grid{
    width:auto;
    margin:0;
    grid-template-columns:1fr;
    gap:clamp(20px,3vw,36px);
  }

  .pinned-shop-section .category-card{
    min-height:clamp(430px,58vh,650px);
  }

  .pinned-shop-section .category-image-stack{
    height:clamp(300px,42vh,460px);
  }

  .about-story,.contact-form-section,.sustainability-inner,.basket-layout,.about-values{
    align-items:start;
  }

  .about-story-text,.contact-form-copy,.sustainability-text{
    max-height:calc(100vh - var(--nav-offset) - 36px);
  }

  .about-values{
    padding-top:clamp(20px,3vw,42px);
  }

  .about-values .values-grid{
    grid-template-columns:1fr;
    gap:clamp(18px,2.4vw,32px);
  }

  .about-values .value-item{
    min-height:clamp(300px,42vh,470px);
    padding:clamp(22px,3vw,36px);
  }

  .about-values .value-item h3{
    font-size:clamp(34px,4.4vw,66px);
  }

  .pinned-checkout-section{
    grid-template-columns:.78fr 1.22fr;
    align-items:start;
    padding-top:clamp(34px,4.8vw,70px);
    border-top:1px solid rgba(185,155,115,.20);
  }

  .pinned-checkout-section .basket-help-card{
    min-height:clamp(220px,28vh,330px);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
  }

  .pinned-checkout-section .basket-help-card p{
    font-size:clamp(16px,1.3vw,19px);
  }

  
}

@media   (max-width:920px){
  .pinned-shop-section .product-grid-inner{
    width:var(--container);
    margin:0 auto;
  }

  .pinned-shop-section .section-heading-row{
    margin-bottom:clamp(24px,4vw,46px);
  }

  .pinned-card-copy{
    max-width:100%;
  }

  .basket-help-intro{
    margin-bottom:0;
  }
}


/* =========================================================
   V5.5 — Home restored, basket grid pinned
   Homepage shop essentials is intentionally kept in the v5.2
   non-pinned layout. The basket items + summary grid now uses
   the sticky/pinned behaviour instead.
   ========================================================= */
@media   (min-width:921px){
  .basket-layout.pinned-basket-section{
    align-items:start;
    padding-top:clamp(12px,2vw,24px);
  }

  .basket-layout.pinned-basket-section .basket-summary{
    position:sticky;
    top:calc(var(--nav-offset) + 18px);
    align-self:start;
  }

  .basket-layout.pinned-basket-section .basket-items-panel{
    min-height:clamp(420px,58vh,680px);
  }
}

/* =========================================================
   V5.6 — Navigation, premium icons, product quick look,
   gallery arrows, and expandable product details
   ========================================================= */
body.modal-open{overflow:hidden}
body.menu-open::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:940;
  background:rgba(17,17,15,.18);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}

.nav-links>a,.nav-icon-link,.product-hover-link,.category-card{
  transition:color .24s ease, transform .24s ease, background .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.nav-links>a:hover,.nav-links>a.is-active,.nav-icon-link:hover,.nav-icon-link.is-active{
  color:var(--deep-sand);
}

.nav-links>a::after{
  background:var(--deep-sand);
  height:2px;
  bottom:-8px;
  transition:transform .28s cubic-bezier(.22,1,.36,1), background .24s ease;
}

.nav-icon-link{
  width:48px;
  height:48px;
  background:linear-gradient(145deg, rgba(255,255,255,.88), rgba(246,242,233,.78));
  border-color:rgba(185,155,115,.24);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 10px 28px rgba(31,27,20,.06);
  color:var(--ink);
}

.nav-icon-shell{
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.nav-svg-icon{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .24s ease, stroke .24s ease;
}

.nav-icon-link:hover{
  background:linear-gradient(145deg, #fff, rgba(229,212,189,.72));
  border-color:rgba(185,155,115,.48);
}

.nav-icon-link:hover .nav-svg-icon{transform:scale(1.04)}
.nav-icon-link.is-active{background:var(--ink);border-color:var(--ink);color:#fff}
.nav-icon-link.is-active:hover{background:var(--soft-black);color:var(--warm-beige)}
.nav-icon-link.is-active .nav-icon{filter:none}

@media   (min-width:921px){
  .nav-links.open{
    position:fixed;
    z-index:1001;
    top:92px;
    left:clamp(18px,3vw,42px);
    right:auto;
    width:min(390px, calc(100vw - 36px));
    margin:0;
    padding:22px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    border:1px solid rgba(185,155,115,.28);
    border-radius:34px;
    background:
      radial-gradient(circle at 0% 0%, rgba(229,212,189,.78), transparent 16rem),
      linear-gradient(145deg, rgba(255,255,255,.96), rgba(246,242,233,.92));
    box-shadow:var(--shadow-strong);
    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);
  }

  .nav-links.open>a{
    width:100%;
    padding:14px 6px 16px;
    font-size:clamp(34px,3.8vw,56px);
    line-height:.96;
    letter-spacing:-.07em;
    font-weight:650;
  }

  .nav-links.open>a::after{
    left:6px;
    right:6px;
    bottom:8px;
  }

  .nav-links.open .nav-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:12px;
  }

  .nav-links.open .nav-icon-link{
    width:100%;
    height:58px;
    justify-content:flex-start;
    gap:12px;
    padding:0 14px;
    border-radius:19px;
  }

  .nav-links.open .nav-icon-label{
    display:inline;
    font-size:14px;
    font-weight:700;
  }

  .nav-links.open .cart-count{
    position:static;
    margin-left:auto;
    transform:none;
  }
}

.product-hover-link{text-decoration:none;color:inherit}
.showcase-card strong,.category-card-text h3{
  position:relative;
  display:inline-block;
  width:max-content;
  max-width:100%;
  transition:color .24s ease;
}

.showcase-card strong::after,.category-card-text h3::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-7px;
  height:2px;
  border-radius:999px;
  background:var(--deep-sand);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .58s cubic-bezier(.22,1,.36,1);
}

.showcase-card:hover strong,.category-card:hover .category-card-text h3{
  color:var(--deep-sand);
}

.showcase-card:hover strong::after,.category-card:hover .category-card-text h3::after{
  transform:scaleX(1);
}

.product-card-surface{
  display:flex;
  flex-direction:column;
  flex:1;
  cursor:pointer;
  outline:none;
}

.product-card-surface:focus-visible{
  outline:3px solid rgba(185,155,115,.36);
  outline-offset:-6px;
  border-radius:var(--radius-lg);
}

.product-gallery-controls{
  position:absolute;
  left:12px;
  right:12px;
  bottom:12px;
  display:flex;
  justify-content:space-between;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .24s ease, transform .24s ease;
  pointer-events:none;
}

.product-item:hover .product-gallery-controls,.product-item.is-expanded .product-gallery-controls,.product-card-surface:focus-within .product-gallery-controls{
  opacity:1;
  transform:none;
  pointer-events:auto;
}

.gallery-arrow{
  width:42px;
  height:42px;
  border:1px solid rgba(17,17,15,.14);
  border-radius:999px;
  background:rgba(255,255,255,.84);
  color:var(--ink);
  box-shadow:0 12px 26px rgba(31,27,20,.10);
  cursor:pointer;
  font-size:18px;
  line-height:1;
  transition:transform .22s ease, background .22s ease, color .22s ease, border-color .22s ease;
}

.gallery-arrow:hover{
  transform:translateY(-2px);
  background:var(--ink);
  color:#fff;
  border-color:var(--ink);
}

.product-actions-row{
  margin:auto 18px 18px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.product-actions-row .add-btn,.product-actions-row .quick-look-btn,.expanded-actions .add-btn,.expanded-actions .quick-look-btn{
  margin:0;
}

.quick-look-btn{
  min-height:48px;
  border:1px solid rgba(185,155,115,.34);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:var(--ink);
  cursor:pointer;
  font-weight:700;
  transition:transform .24s cubic-bezier(.22,1,.36,1), background .24s ease, color .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.quick-look-btn:hover{
  transform:translateY(-3px) scale(1.015);
  background:var(--paper-cream);
  border-color:var(--deep-sand);
  box-shadow:0 16px 34px rgba(17,17,15,.10);
}

.product-item.is-expanded{
  grid-column:1 / -1;
  transform:none;
  background:#fff;
  box-shadow:var(--shadow);
}

.product-item.is-expanded:hover{transform:none}
.product-expanded-panel[hidden]{display:none!important}

.product-expanded-panel{
  margin:0 18px 18px;
  padding:14px;
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:clamp(18px,3vw,34px);
  border:1px solid rgba(185,155,115,.25);
  border-radius:calc(var(--radius-lg) - 10px);
  background:
    radial-gradient(circle at 0% 0%, rgba(229,212,189,.58), transparent 18rem),
    linear-gradient(145deg, rgba(246,242,233,.74), rgba(255,255,255,.92));
}

.product-expanded-media{
  min-height:clamp(360px,42vw,540px);
  border-radius:calc(var(--radius-lg) - 16px);
  overflow:hidden;
  background:var(--sand);
}

.product-expanded-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.product-expanded-copy{
  padding:clamp(16px,3vw,36px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.product-expanded-copy h3{
  font-size:clamp(36px,5vw,76px);
  line-height:.98;
  letter-spacing:-.065em;
  font-weight:650;
}

.product-expanded-price{
  margin-top:14px;
  color:var(--deep-sand);
  font-weight:700;
}

.product-expanded-lead{
  margin-top:20px;
  max-width:620px;
  color:var(--muted);
  line-height:1.75;
  font-size:17px;
}

.product-expanded-copy ul{
  margin-top:24px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
  list-style:none;
}

.product-expanded-copy li{
  padding:14px;
  border:1px solid rgba(185,155,115,.22);
  border-radius:18px;
  background:rgba(255,255,255,.66);
  color:var(--muted);
  line-height:1.45;
}

.expanded-actions{
  margin-top:24px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.expanded-actions .add-btn,.expanded-actions .quick-look-btn{
  padding-inline:22px;
}

.product-modal{
  position:fixed;
  inset:0;
  z-index:1600;
  display:grid;
  place-items:center;
  padding:clamp(16px,3vw,44px);
  opacity:0;
  transition:opacity .18s ease;
}

.product-modal.is-open{opacity:1}
.product-modal[hidden]{display:none!important}

.product-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(17,17,15,.42);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.product-modal-dialog{
  position:relative;
  width:min(1040px,100%);
  max-height:min(780px, calc(100svh - 36px));
  overflow:auto;
  border:1px solid rgba(229,212,189,.34);
  border-radius:var(--radius-xl);
  background:
    radial-gradient(circle at 0% 0%, rgba(229,212,189,.72), transparent 19rem),
    linear-gradient(145deg, #fff, var(--paper-cream));
  box-shadow:0 48px 140px rgba(0,0,0,.34);
}

.product-modal-close{
  position:absolute;
  top:18px;
  right:18px;
  z-index:2;
  width:44px;
  height:44px;
  border:1px solid rgba(17,17,15,.12);
  border-radius:999px;
  background:rgba(255,255,255,.84);
  cursor:pointer;
  font-size:28px;
  line-height:1;
}

.product-modal-content{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:clamp(18px,3vw,40px);
  padding:clamp(16px,3vw,34px);
}

.modal-gallery{
  display:grid;
  gap:12px;
  align-content:start;
}

.modal-main-image{
  width:100%;
  height:clamp(360px,50vw,580px);
  object-fit:cover;
  border-radius:calc(var(--radius-xl) - 16px);
  background:var(--sand);
}

.modal-thumbs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

.modal-thumb{
  border:1px solid rgba(17,17,15,.12);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  cursor:pointer;
  opacity:.68;
  transition:opacity .2s ease, border-color .2s ease, transform .2s ease;
}

.modal-thumb:hover,.modal-thumb.is-active{
  opacity:1;
  border-color:var(--deep-sand);
  transform:translateY(-2px);
}

.modal-thumb img{width:100%;height:96px;object-fit:cover}

.modal-product-copy{
  padding:clamp(14px,3vw,34px) clamp(6px,1vw,14px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.modal-product-copy h2{
  font-size:clamp(38px,5vw,76px);
  line-height:.98;
  letter-spacing:-.065em;
  font-weight:650;
}

.modal-price{
  margin-top:14px;
  color:var(--deep-sand);
  font-weight:700;
}

.modal-lead{
  margin-top:20px;
  color:var(--muted);
  line-height:1.75;
  font-size:17px;
}

.modal-product-copy ul{
  margin:24px 0;
  display:grid;
  gap:10px;
  list-style:none;
}

.modal-product-copy li{
  padding:13px 15px;
  border:1px solid rgba(185,155,115,.22);
  border-radius:16px;
  background:rgba(255,255,255,.64);
  color:var(--muted);
}

@media   (max-width:920px){
  body.menu-open::before{display:none}
  .nav-links.open{
    z-index:1001;
    border-color:rgba(185,155,115,.30);
    background:
      radial-gradient(circle at 0% 0%, rgba(229,212,189,.76), transparent 15rem),
      linear-gradient(145deg, rgba(255,255,255,.96), rgba(246,242,233,.94));
  }
  .nav-links.open>a{
    color:var(--ink);
    font-size:clamp(28px,8vw,46px);
    font-weight:650;
  }
  .nav-links.open>a:hover,.nav-links.open>a.is-active{color:var(--deep-sand)}
  .nav-links.open>a::after{display:block;bottom:4px;background:var(--deep-sand)}
  .nav-links.open .nav-icon-link{background:rgba(255,255,255,.72);border-color:rgba(185,155,115,.22)}
  .product-expanded-panel,.product-modal-content{grid-template-columns:1fr}
  .product-expanded-copy ul{grid-template-columns:1fr}
  .product-actions-row{grid-template-columns:1fr}
}

@media   (max-width:620px){
  .product-expanded-panel{margin:0 12px 12px;padding:10px;border-radius:24px}
  .product-expanded-media{min-height:320px}
  .product-expanded-copy{padding:12px}
  .modal-main-image{height:320px}
  .modal-thumbs{grid-template-columns:repeat(3,1fr)}
  .modal-thumb img{height:76px}
  .product-modal{padding:10px}
  .product-modal-dialog{border-radius:30px}
  .product-modal-content{padding:12px}
}

/* =========================================================
   V5.7 — Product actions, quantity add, nav/footer polish
   ========================================================= */
.product-card-surface{
  cursor:default;
}

.product-card-surface:focus-visible{
  outline:none;
}

.product-actions-row-single{
  grid-template-columns:1fr;
}

.product-actions-row-single .quick-look-btn{
  width:100%;
}

.cart-count{
  background:var(--deep-sand);
  box-shadow:0 8px 18px rgba(31,27,20,.16);
  transition:transform .22s ease, background .22s ease, min-width .22s ease, width .22s ease, height .22s ease;
}

.cart-count.is-empty{
  top:2px;
  right:2px;
  width:11px;
  min-width:11px;
  height:11px;
  padding:0;
  font-size:0;
  background:var(--paper-brown);
}

.basket-link:hover .cart-count,.basket-link.is-active .cart-count{
  transform:scale(1.08);
  background:var(--warm-beige);
  color:var(--ink);
}

.nav-links.open .cart-count.is-empty{
  position:static;
  width:11px;
  min-width:11px;
  height:11px;
  margin-left:auto;
  transform:none;
}

.nav-links.open .basket-link .nav-icon-label,.nav-links.open .nav-icon-link .nav-icon-label{
  display:inline-flex;
  align-items:center;
  min-width:max-content;
}

.quantity-add{
  margin-top:clamp(18px,2.4vw,28px);
  padding:14px;
  border:1px solid rgba(185,155,115,.24);
  border-radius:24px;
  background:rgba(255,255,255,.62);
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:end;
}

.quantity-add-label{
  display:block;
  margin-bottom:8px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.quantity-stepper{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px;
  border:1px solid rgba(17,17,15,.10);
  border-radius:999px;
  background:#fff;
}

.quantity-stepper button{
  width:34px;
  height:34px;
  border:0;
  border-radius:999px;
  background:rgba(229,212,189,.46);
  color:var(--ink);
  cursor:pointer;
  font-size:18px;
  line-height:1;
  transition:transform .22s ease, background .22s ease, color .22s ease;
}

.quantity-stepper button:hover{
  transform:scale(1.05);
  background:var(--ink);
  color:#fff;
}

.quantity-stepper input{
  width:46px;
  border:0;
  background:transparent;
  color:var(--ink);
  text-align:center;
  font:inherit;
  font-weight:700;
  outline:none;
  appearance:textfield;
}

.quantity-stepper input::-webkit-outer-spin-button,.quantity-stepper input::-webkit-inner-spin-button{
  margin:0;
  -webkit-appearance:none;
}

.quantity-add .add-btn{
  min-height:50px;
  margin:0;
}

.footer-column a,.footer-bottom a{
  position:relative;
  width:max-content;
  color:rgba(255,255,255,.76);
  transition:color .24s ease, transform .24s ease;
}

.footer-column a::after,.footer-bottom a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-5px;
  height:2px;
  border-radius:999px;
  background:var(--warm-beige);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .28s cubic-bezier(.22,1,.36,1), background .24s ease;
}

.footer-column a:hover,.footer-column a.is-active,.footer-bottom a:hover,.footer-bottom a.is-active{
  color:var(--warm-beige);
  transform:translateX(2px);
}

.footer-column a:hover::after,.footer-column a.is-active::after,.footer-bottom a:hover::after,.footer-bottom a.is-active::after{
  transform:scaleX(1);
}

@media   (max-width:920px){
  .nav-links.open .nav-icon-link{
    color:var(--ink);
  }

  .nav-links.open .nav-icon-label{
    font-weight:700;
  }
}

@media   (max-width:620px){
  .quantity-add{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   V5.8 — Hamburger-only Home link, basket count badge,
   product quantity confirmation, and themed basket clear modal
   ========================================================= */
.nav-links:not(.open) > .drawer-only{
  display:none!important;
}

.nav-links.open > .drawer-only{
  display:block;
}

.cart-count[hidden]{
  display:none!important;
}

.cart-count{
  top:-5px;
  right:-5px;
  min-width:20px;
  height:20px;
  padding:0 6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:var(--deep-sand);
  color:#fff;
  border:2px solid #fff;
  font-size:11px;
  font-weight:700;
  line-height:1;
  box-shadow:0 8px 18px rgba(31,27,20,.18);
}

.nav-links.open .cart-count{
  position:static;
  min-width:22px;
  height:22px;
  margin-left:auto;
  transform:none;
}

.basket-link:hover .cart-count,.basket-link.is-active .cart-count{
  transform:scale(1.08);
  background:var(--warm-beige);
  color:var(--ink);
}

.product-actions-row{
  grid-template-columns:1fr 1fr;
}

.product-actions-row .add-btn,.product-actions-row .quick-look-btn{
  width:100%;
}

.paperoot-action-modal{
  position:fixed;
  inset:0;
  z-index:1700;
  display:grid;
  place-items:center;
  padding:clamp(16px,3vw,42px);
  opacity:0;
  transition:opacity .18s ease;
}

.paperoot-action-modal.is-open{opacity:1}
.paperoot-action-modal[hidden]{display:none!important}

.paperoot-action-backdrop{
  position:absolute;
  inset:0;
  background:rgba(17,17,15,.42);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
}

.paperoot-action-dialog{
  position:relative;
  width:min(560px,100%);
  max-height:calc(100svh - 32px);
  overflow:auto;
  border:1px solid rgba(229,212,189,.38);
  border-radius:34px;
  background:
    radial-gradient(circle at 0% 0%, rgba(229,212,189,.78), transparent 18rem),
    linear-gradient(145deg, #fff, var(--paper-cream));
  box-shadow:0 48px 140px rgba(0,0,0,.34);
}

.paperoot-action-close{
  position:absolute;
  top:16px;
  right:16px;
  z-index:2;
  width:42px;
  height:42px;
  border:1px solid rgba(17,17,15,.12);
  border-radius:999px;
  background:rgba(255,255,255,.84);
  color:var(--ink);
  cursor:pointer;
  font-size:26px;
  line-height:1;
  transition:transform .22s ease, background .22s ease, color .22s ease;
}

.paperoot-action-close:hover{
  transform:translateY(-2px);
  background:var(--ink);
  color:#fff;
}

.paperoot-action-content{
  padding:clamp(24px,4vw,40px);
}

.action-clear-confirm h2,.action-product-confirm h2{
  max-width:420px;
  font-size:clamp(34px,4.4vw,56px);
  line-height:.98;
  letter-spacing:-.055em;
  font-weight:650;
}

.action-clear-confirm p:not(.eyebrow){
  margin-top:16px;
  color:var(--muted);
  line-height:1.7;
}

.action-product-row{
  margin-top:18px;
  display:grid;
  grid-template-columns:96px 1fr;
  gap:16px;
  align-items:center;
}

.action-product-row img{
  width:96px;
  height:96px;
  border-radius:22px;
  object-fit:cover;
  background:linear-gradient(135deg, var(--warm-beige), var(--paper-cream) 52%, var(--paper-brown));
}

.action-product-row p{
  margin-top:8px;
  color:var(--muted);
  line-height:1.5;
}

.action-quantity-panel{
  margin-top:22px;
  padding:16px;
  border:1px solid rgba(185,155,115,.24);
  border-radius:24px;
  background:rgba(255,255,255,.64);
}

.action-quantity-stepper{
  margin-top:8px;
}

.paperoot-action-buttons{
  margin-top:24px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.paperoot-action-buttons .btn-dark,.paperoot-action-buttons .btn-outline{
  width:100%;
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

@media   (max-width:920px){
  .product-actions-row{grid-template-columns:1fr}
}

@media   (max-width:620px){
  .paperoot-action-modal{padding:10px}
  .paperoot-action-dialog{border-radius:28px}
  .paperoot-action-content{padding:22px}
  .action-product-row{grid-template-columns:78px 1fr}
  .action-product-row img{width:78px;height:78px;border-radius:18px}
  .paperoot-action-buttons{grid-template-columns:1fr}
}


/* =========================================================
   V5.9 — Basket badge and hamburger basket label fixes
   ========================================================= */
.cart-count[hidden],.cart-count.is-empty{
  display:none!important;
}

.basket-link{
  position:relative;
}

.basket-link .cart-count{
  position:absolute;
  top:-5px;
  right:-5px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:var(--root-dark);
  color:#fff;
  border:2px solid #fff;
  font-size:10.5px;
  font-weight:700;
  line-height:1;
  box-shadow:0 8px 18px rgba(31,27,20,.18);
  transform:none;
}

.basket-link:hover .cart-count,.basket-link.is-active .cart-count{
  transform:scale(1.08);
  background:var(--deep-sand);
  color:#fff;
}

.nav-links.open .basket-link{
  overflow:visible;
}

.nav-links.open .basket-link .nav-icon-label{
  display:inline-flex!important;
  align-items:center;
  min-width:max-content;
  color:inherit;
  font-size:14px;
  font-weight:700;
  line-height:1;
}

.nav-links.open .basket-link .cart-count{
  position:absolute;
  top:8px;
  right:10px;
  min-width:18px;
  height:18px;
  margin:0;
  padding:0 5px;
}

@media   (max-width:620px){
  .nav-links.open .nav-actions{
    grid-template-columns:1fr;
  }

  .nav-links.open .basket-link .cart-count{
    top:10px;
    right:12px;
  }
}


/* =========================================================
   V5.10 — Final navbar badge + drawer basket label fix
   ========================================================= */
.cart-count,.cart-count[hidden],.cart-count.is-empty,.basket-link .cart-count,.nav-links.open .basket-link .cart-count{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:18px!important;
  min-width:18px!important;
  height:18px!important;
  padding:0!important;
  border-radius:999px!important;
  background:var(--root-dark)!important;
  color:#fff!important;
  border:2px solid #fff!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1!important;
  box-shadow:0 8px 18px rgba(31,27,20,.18)!important;
  opacity:1!important;
  visibility:visible!important;
}

.basket-link .cart-count{
  position:absolute!important;
  top:4px!important;
  right:5px!important;
  z-index:3!important;
  transform:none!important;
}

.basket-link:hover .cart-count,.basket-link.is-active .cart-count,.cart-count.has-items{
  background:var(--root-dark)!important;
  color:#fff!important;
}

.nav-links.open .basket-link{
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  align-items:center!important;
  column-gap:12px!important;
  overflow:visible!important;
}

.nav-links.open .basket-link .nav-icon-label{
  display:none!important;
}

.nav-links.open .basket-link::after{
  content:"Basket";
  display:block!important;
  min-width:max-content;
  color:currentColor;
  font-size:14px;
  font-weight:700;
  line-height:1;
  letter-spacing:-.01em;
}

.nav-links.open .basket-link .cart-count{
  position:static!important;
  justify-self:end!important;
  margin-left:auto!important;
  top:auto!important;
  right:auto!important;
}

.nav-links.open .nav-icon-link:not(.basket-link) .nav-icon-label{
  display:inline-flex!important;
  align-items:center!important;
  color:currentColor!important;
}

@media   (max-width:620px){
  .cart-count,.cart-count[hidden],.cart-count.is-empty,.basket-link .cart-count,.nav-links.open .basket-link .cart-count{
    width:18px!important;
    min-width:18px!important;
    height:18px!important;
    font-size:10px!important;
  }

  .basket-link .cart-count{
    top:4px!important;
    right:5px!important;
  }
}


/* =========================================================
   V5.10.1 — Rebased v5.12 polish onto v5.10
   Shop add confirmation, button balance, logo moments
   ========================================================= */
.products-page .product-actions-row{
  grid-template-columns:minmax(0,1.35fr) minmax(0,.78fr);
  gap:9px;
}

.products-page .product-actions-row .add-btn{
  min-width:0;
  padding-inline:18px;
  letter-spacing:-.01em;
}

.products-page .product-actions-row .quick-look-btn{
  min-width:0;
  padding-inline:12px;
  font-size:14px;
}

.add-btn.is-added,.products-page .product-actions-row .add-btn.is-added,.quantity-add .add-btn.is-added{
  background:linear-gradient(135deg, var(--paper-cream), #fff)!important;
  color:var(--ink)!important;
  border-color:var(--deep-sand)!important;
  box-shadow:0 16px 32px rgba(185,155,115,.18)!important;
}

.paperoot-basket-toast{
  position:fixed;
  left:50%;
  bottom:clamp(18px,4vw,34px);
  z-index:9999;
  min-width:min(360px, calc(100vw - 32px));
  max-width:420px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:13px 16px 13px 13px;
  border:1px solid rgba(185,155,115,.36);
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:var(--ink);
  box-shadow:0 26px 70px rgba(31,27,20,.20);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%, 18px) scale(.98);
  transition:opacity .28s ease, visibility .28s ease, transform .28s cubic-bezier(.22,1,.36,1);
}

.paperoot-basket-toast.is-visible{
  opacity:1;
  visibility:visible;
  transform:translate(-50%, 0) scale(1);
}

.paperoot-basket-toast img{
  width:42px;
  height:42px;
  object-fit:contain;
  border-radius:999px;
  background:var(--paper-cream);
  border:1px solid rgba(185,155,115,.24);
  padding:6px;
  flex:0 0 auto;
}

.paperoot-basket-toast strong{
  display:block;
  font-size:14px;
  letter-spacing:-.01em;
}

.paperoot-basket-toast span{
  display:block;
  margin-top:2px;
  font-size:12px;
  color:var(--muted);
}

.paperoot-modal-mark{
  width:54px;
  height:54px;
  margin:0 auto 12px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:linear-gradient(145deg, #fff, var(--paper-cream));
  border:1px solid rgba(185,155,115,.28);
  box-shadow:0 14px 32px rgba(31,27,20,.10);
}

.paperoot-modal-mark img{
  width:34px;
  height:34px;
  object-fit:contain;
}

.paperoot-page-transition{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  background:radial-gradient(circle at 50% 42%,rgba(229,212,189,.72),rgba(246,242,233,.96) 42%,rgba(255,255,255,.98));
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .24s cubic-bezier(.22,.61,.36,1),visibility .24s linear;
}
.paperoot-page-transition.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.paperoot-transition-card{
  width:clamp(104px,9vw,136px);
  height:clamp(104px,9vw,136px);
  min-width:0;
  min-height:0;
  aspect-ratio:1;
  padding:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(185,155,115,.30);
  border-radius:50%;
  background:rgba(255,255,255,.82);
  box-shadow:0 28px 90px rgba(31,27,20,.18);
  transform:translateY(8px) scale(.985);
  transition:transform .30s cubic-bezier(.22,.61,.36,1);
}
.paperoot-page-transition.is-active .paperoot-transition-card{transform:translateY(0) scale(1)}
.paperoot-transition-card img{
  display:block;
  width:68%;
  height:auto;
  max-height:68%;
  object-fit:contain;
}
.paperoot-transition-card span{display:none!important}

.products-hero,.shop-note,.premium-band,.pinned-card{
  position:relative;
}

.products-hero::before,.shop-note::before{
  content:"";
  position:absolute;
  width:74px;
  height:74px;
  right:clamp(18px,3vw,42px);
  top:clamp(18px,3vw,42px);
  background:url("/assets/images/logo-dark.png") center/contain no-repeat;
  opacity:.045;
  pointer-events:none;
}


@media   (max-width:720px){
  .products-page .product-actions-row{
    grid-template-columns:1.25fr .85fr;
  }
  .products-page .product-actions-row .add-btn,.products-page .product-actions-row .quick-look-btn{
    font-size:13px;
    padding-inline:10px;
  }
  .paperoot-basket-toast{
    border-radius:26px;
    align-items:flex-start;
  }
}

@media   (prefers-reduced-motion:reduce){
  .paperoot-page-transition{transition-duration:.08s}
  .paperoot-transition-card{transition:none}
  .paperoot-basket-toast{transition:none}
}


/* Logo-dark confirmation marks. */
.paperoot-modal-mark img,.paperoot-basket-toast img{content:url("/assets/images/logo-dark.png")}

/* V5.10.4 — subtle logo-white watermark inside the black premium grid */
.premium-band::before{
  content:"";
  position:absolute;
  inset:auto clamp(20px,5vw,80px) 50%;
  width:min(520px, 46vw);
  aspect-ratio:1;
  background:url("/assets/images/logo-white.png") center/contain no-repeat;
  opacity:.055;
  transform:translateY(50%);
  pointer-events:none;
  filter:blur(.15px);
  z-index:0;
}

.premium-band > *{
  position:relative;
  z-index:1;
}

@media   (max-width:920px){
  .premium-band::before{
    width:min(360px, 74vw);
    right:50%;
    transform:translate(50%, 45%);
    opacity:.045;
  }
}


/* =========================================================
   V5.10.5 — larger centred logo-white watermark on dark grids
   ========================================================= */
.premium-band,.about-mission-band,.footer{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}

.premium-band::before,.about-mission-band::before,.footer::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  right:auto;
  bottom:auto;
  width:min(820px, 64vw);
  aspect-ratio:1;
  background:url("/assets/images/logo-white.png") center/contain no-repeat;
  opacity:.082;
  transform:translate(-50%, -50%);
  pointer-events:none;
  filter:blur(.08px);
  z-index:0;
}

.premium-band > *,.about-mission-band > *,.footer > *{
  position:relative;
  z-index:1;
}

.about-mission-band::before{
  width:min(720px, 58vw);
  opacity:.07;
}

.footer::before{
  width:min(620px, 54vw);
  opacity:.045;
  top:48%;
}

@media   (max-width:920px){
  .premium-band::before,.about-mission-band::before,.footer::before{
    width:min(460px, 86vw);
    opacity:.052;
  }

  .footer::before{
    top:40%;
    opacity:.035;
  }
}

/* =========================================================
   V5.10.6 — custom footer logo watermark + refined mission size
   ========================================================= */
.about-mission-band::before{
  width:min(480px, 42vw);
  opacity:.056;
}

.footer::before{
  width:min(980px, 86vw);
  aspect-ratio: 1664 / 936;
  background:url("/assets/images/footer-logo-white-wide.png") center/contain no-repeat;
  opacity:.065;
  top:52%;
}

@media   (max-width:920px){
  .about-mission-band::before{
    width:min(320px, 62vw);
    opacity:.048;
  }

  .footer::before{
    width:min(560px, 92vw);
    opacity:.05;
    top:46%;
  }
}

/* =========================================================
   V5.10.7 — centred shop-page logo watermarks
   ========================================================= */
.products-hero,.shop-note{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}

.products-hero::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  right:auto;
  bottom:auto;
  width:min(760px, 66vw);
  height:auto;
  aspect-ratio:1;
  background:url("/assets/images/logo-dark.png") center/contain no-repeat;
  opacity:.034;
  transform:translate(-50%, -50%);
  pointer-events:none;
  z-index:0;
}

.shop-note::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  right:auto;
  bottom:auto;
  width:min(520px, 58%);
  height:auto;
  aspect-ratio:1;
  background:url("/assets/images/logo-dark.png") center/contain no-repeat;
  opacity:.035;
  transform:translate(-50%, -50%);
  pointer-events:none;
  z-index:0;
}

.products-hero > *,.shop-note > *{
  position:relative;
  z-index:1;
}

@media   (max-width:720px){
  .products-hero::before{
    width:min(440px, 92vw);
    opacity:.028;
  }

  .shop-note::before{
    width:min(340px, 76vw);
    opacity:.03;
  }
}


/* =========================================================
   V5.10.8 — refined shop hero watermark + modal watermarks
   ========================================================= */
.products-hero::before{
  width:min(620px, 52vw);
  opacity:.052;
  top:52%;
  left:50%;
  transform:translate(-50%, -50%);
  background-size:contain;
  background-position:center;
  background-repeat:no-repeat;
}

.paperoot-action-dialog{
  isolation:isolate;
  overflow:hidden;
}

.paperoot-action-dialog::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:min(430px, 84%);
  aspect-ratio:1;
  background:url("/assets/images/logo-dark.png") center/contain no-repeat;
  opacity:.045;
  transform:translate(-50%, -50%);
  pointer-events:none;
  z-index:0;
}

.paperoot-action-content{
  position:relative;
  z-index:1;
}

.paperoot-action-close{
  z-index:2;
}

.paperoot-modal-mark{
  display:none!important;
}

@media   (max-width:720px){
  .products-hero::before{
    width:min(360px, 78vw);
    opacity:.044;
    top:50%;
  }

  .paperoot-action-dialog::before{
    width:min(320px, 88%);
    opacity:.038;
  }
}


/* =========================================================
   V5.10.9 — slightly smaller top Shop hero watermark
   ========================================================= */
.products-hero::before{
  width:min(570px, 48vw);
}

@media   (max-width:720px){
  .products-hero::before{
    width:min(330px, 72vw);
  }
}


/* =========================================================
   V5.10.11 — extend centred dark watermark to page heroes + basket grid
   ========================================================= */
.about-hero,.contact-hero,.basket-hero,.basket-items-panel{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}

.about-hero::before,.contact-hero::before,.basket-hero::before,.basket-items-panel::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  right:auto;
  bottom:auto;
  width:min(570px, 48vw);
  aspect-ratio:1;
  background:url("/assets/images/logo-dark.png") center/contain no-repeat;
  opacity:.05;
  transform:translate(-50%, -50%);
  pointer-events:none;
  z-index:0;
}

.about-hero > *,.contact-hero > *,.basket-hero > *,.basket-items-panel > *{
  position:relative;
  z-index:1;
}

.basket-items-panel::before{
  width:min(460px, 60%);
  opacity:.038;
}

@media   (max-width:720px){
  .about-hero::before,.contact-hero::before,.basket-hero::before{
    width:min(330px, 72vw);
    opacity:.043;
  }

  .basket-items-panel::before{
    width:min(280px, 70vw);
    opacity:.032;
  }
}


/* =========================================================
   V5.10.12 — hero watermark size refinements
   ========================================================= */


.about-hero::before,.basket-hero::before{
  width:min(520px, 44vw);
}

@media   (max-width:720px){
  

  .about-hero::before,.basket-hero::before{
    width:min(300px, 66vw);
  }
}


/* =========================================================
   V5.10.13 — further hero watermark size refinements
   ========================================================= */


.basket-hero::before{
  width:min(500px, 42vw);
}

@media   (max-width:720px){
  

  .basket-hero::before{
    width:min(286px, 63vw);
  }
}

/* =========================================================
   V5.10.14 — reliable basket counter badge from v5.10.13 base
   ========================================================= */
.basket-link{
  position:relative!important;
  overflow:visible!important;
}

.cart-count[hidden],.cart-count.is-empty{
  display:none!important;
}

.basket-link .cart-count.has-items,.nav-links.open .basket-link .cart-count.has-items{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 5px!important;
  border-radius:999px!important;
  background:var(--root-dark)!important;
  color:#fff!important;
  border:2px solid #fff!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1!important;
  box-shadow:0 8px 18px rgba(31,27,20,.18)!important;
  opacity:1!important;
  visibility:visible!important;
}

.basket-link .cart-count.has-items{
  position:absolute!important;
  top:3px!important;
  right:4px!important;
  z-index:4!important;
  transform:none!important;
}

.basket-link:hover .cart-count.has-items,.basket-link.is-active .cart-count.has-items{
  transform:scale(1.08)!important;
  background:var(--deep-sand)!important;
  color:#fff!important;
}

.nav-links.open .basket-link .cart-count.has-items{
  position:absolute!important;
  top:8px!important;
  right:10px!important;
  margin:0!important;
}

@media   (max-width:620px){
  .basket-link .cart-count.has-items{
    top:3px!important;
    right:4px!important;
  }

  .nav-links.open .basket-link .cart-count.has-items{
    top:10px!important;
    right:12px!important;
  }
}


/* =========================================================
   V5.10.17 — product options, lightbox, reviews, Instagram, footer, responsive polish
   ========================================================= */
.product-item-clickable{
  cursor:pointer;
  outline:none;
}
.product-item-clickable:focus-visible{
  outline:3px solid rgba(185,155,115,.42);
  outline-offset:4px;
}
.product-card-hint{
  display:inline-flex;
  margin-top:16px;
  color:var(--root-dark);
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.products-grid{
  align-items:stretch;
}
.product-item .product-card-surface{
  height:100%;
  display:flex;
  flex-direction:column;
}
.product-item .product-info{
  flex:1;
}

.product-size-selector{
  margin:22px 0 6px;
  display:grid;
  gap:10px;
}
.size-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.size-option{
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.78);
  color:var(--ink);
  padding:13px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  cursor:pointer;
  font-family:inherit;
  font-weight:700;
  transition:transform .22s cubic-bezier(.22,1,.36,1), background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.size-option span{
  text-transform:capitalize;
}
.size-option strong{
  white-space:nowrap;
  font-size:13px;
}
.size-option:hover,.size-option.is-active{
  transform:translateY(-2px);
  background:#000;
  border-color:#000;
  color:#fff;
  box-shadow:0 16px 32px rgba(17,17,15,.14);
}
.size-status{
  min-height:20px;
  color:var(--muted);
  font-size:13px;
  line-height:1.4;
}
.modal-add-button:disabled{
  cursor:not-allowed;
  opacity:.48;
  transform:none!important;
  box-shadow:none!important;
}
.modal-add-button.is-added{
  background:var(--root-dark);
  border-color:var(--root-dark);
}
.modal-image-button{
  width:100%;
  border:0;
  padding:0;
  background:transparent;
  cursor:zoom-in;
  border-radius:calc(var(--radius-lg) - 10px);
  overflow:hidden;
}
.modal-image-button:focus-visible{
  outline:3px solid rgba(185,155,115,.42);
  outline-offset:4px;
}

.paperoot-lightbox{
  position:fixed;
  inset:0;
  z-index:1200;
  padding:clamp(16px,3vw,38px);
  display:grid;
  place-items:center;
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease;
}
.paperoot-lightbox.is-open{
  opacity:1;
  pointer-events:auto;
}
.paperoot-lightbox[hidden]{display:none!important}
.paperoot-lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(246,242,233,.88);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.paperoot-lightbox-dialog{
  position:relative;
  width:min(1040px,96vw);
  min-height:min(760px,86vh);
  border:1px solid rgba(185,155,115,.28);
  border-radius:var(--radius-xl);
  background:linear-gradient(145deg, rgba(255,255,255,.94), rgba(246,242,233,.86));
  box-shadow:var(--shadow-strong);
  display:grid;
  place-items:center;
  overflow:hidden;
}
.paperoot-lightbox-dialog::before{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:42%;
  background:linear-gradient(180deg, transparent, rgba(213,192,161,.25));
  pointer-events:none;
}
.paperoot-lightbox-dialog img{
  position:relative;
  z-index:1;
  max-width:92%;
  max-height:78vh;
  object-fit:contain;
  border-radius:28px;
}
.paperoot-lightbox-close,.paperoot-lightbox-nav{
  position:absolute;
  z-index:2;
  border:1px solid var(--line);
  background:rgba(255,255,255,.86);
  color:#000;
  border-radius:999px;
  cursor:pointer;
  box-shadow:0 14px 34px rgba(31,27,20,.08);
}
.paperoot-lightbox-close{
  top:18px;
  right:18px;
  width:48px;
  height:48px;
  font-size:26px;
}
.paperoot-lightbox-nav{
  top:50%;
  width:50px;
  height:50px;
  transform:translateY(-50%);
  font-size:22px;
}
.paperoot-lightbox-prev{left:18px}
.paperoot-lightbox-next{right:18px}

.reviews-section{
  width:var(--container);
  margin:0 auto;
  padding:clamp(56px,7vw,106px) 0;
  overflow:hidden;
}
.reviews-note{
  color:var(--muted);
  line-height:1.6;
}
.review-marquee{
  margin-top:clamp(20px,3vw,36px);
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  background:linear-gradient(145deg, rgba(255,255,255,.78), rgba(233,223,207,.46));
  overflow:hidden;
  box-shadow:0 18px 60px rgba(31,27,20,.05);
}
.review-track{
  display:flex;
  gap:14px;
  width:max-content;
  padding:16px;
  animation:paperoot-review-scroll 46s linear infinite;
}
.review-card{
  width:min(360px,82vw);
  min-height:170px;
  padding:22px;
  border:1px solid rgba(185,155,115,.22);
  border-radius:28px;
  background:rgba(255,255,255,.76);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.review-card p{
  font-size:clamp(20px,2vw,28px);
  line-height:1.08;
  letter-spacing:-.055em;
}
.review-card span{
  margin-top:22px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
@keyframes   paperoot-review-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

.instagram-section{
  width:var(--container);
  margin:0 auto clamp(58px,7vw,110px);
  padding:clamp(26px,4vw,48px);
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  background:linear-gradient(145deg, rgba(255,255,255,.82), rgba(229,212,189,.42));
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:clamp(22px,4vw,60px);
  align-items:center;
  box-shadow:0 20px 70px rgba(31,27,20,.06);
  overflow:hidden;
  position:relative;
}
.instagram-section::before{
  content:"";
  position:absolute;
  width:min(460px,48vw);
  aspect-ratio:1;
  right:-10%;
  top:-22%;
  background:url("/assets/images/logo-dark.png") center/contain no-repeat;
  opacity:.026;
  pointer-events:none;
}
.instagram-copy,.instagram-grid{
  position:relative;
  z-index:1;
}
.instagram-copy h2{
  font-size:clamp(36px,4.8vw,72px);
  line-height:.98;
  letter-spacing:-.065em;
}
.instagram-copy p:not(.eyebrow):not(.rooted-line){
  margin:18px 0 22px;
  color:var(--muted);
  line-height:1.7;
}
.instagram-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.instagram-grid a{
  display:block;
  min-height:clamp(160px,20vw,280px);
  border-radius:28px;
  overflow:hidden;
  background:var(--sand);
  box-shadow:0 16px 40px rgba(31,27,20,.08);
  transition:transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s cubic-bezier(.22,1,.36,1);
}
.instagram-grid a:nth-child(even){margin-top:34px}
.instagram-grid a:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow);
}
.instagram-grid img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.instagram-section-contact{
  margin-top:clamp(52px,6vw,96px);
}

.footer-socials,.footer-payments{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.footer-socials a,.footer-payments span{
  min-height:38px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,.78);
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
  background:rgba(255,255,255,.045);
  transition:background .24s ease,color .24s ease,border-color .24s ease,transform .24s ease;
}
.footer-socials a:hover,.footer-payments span:hover{
  transform:translateY(-2px);
  color:#fff;
  border-color:rgba(229,212,189,.58);
  background:rgba(213,192,161,.14);
}
.footer-payment-title{
  margin-top:22px;
}
.footer-payments span{
  cursor:default;
}

.basket-item{
  min-height:0;
  padding:14px 18px;
  grid-template-columns:74px minmax(0,1fr) auto auto auto;
  gap:14px;
}
.basket-item-image{
  width:74px;
  height:74px;
  border-radius:16px;
}
.basket-item-copy h3{
  font-size:18px;
}
.basket-item-copy p{
  font-size:13px;
}
.basket-item-copy span{
  margin-bottom:4px;
}
.basket-item-actions{
  padding:4px;
  gap:6px;
}
.basket-item-actions button{
  width:28px;
  height:28px;
}

@media   (max-width:1100px){
  .instagram-section{
    grid-template-columns:1fr;
  }
  .instagram-grid{
    grid-template-columns:repeat(4,minmax(120px,1fr));
  }
  .basket-item{
    grid-template-columns:70px 1fr auto;
  }
  .basket-line-total{
    grid-column:2;
  }
  .remove-item{
    grid-column:3;
  }
}
@media   (max-width:720px){
  .size-options{
    grid-template-columns:1fr;
  }
  .instagram-section{
    padding:22px;
    border-radius:34px;
  }
  .instagram-grid{
    grid-template-columns:repeat(2,1fr);
    gap:10px;
  }
  .instagram-grid a{
    min-height:170px;
    border-radius:22px;
  }
  .instagram-grid a:nth-child(even){margin-top:0}
  .review-card{
    width:78vw;
  }
  .paperoot-lightbox-dialog{
    min-height:72vh;
    border-radius:34px;
  }
  .paperoot-lightbox-nav{
    top:auto;
    bottom:16px;
    transform:none;
  }
  .basket-item{
    grid-template-columns:62px 1fr;
    padding:14px;
  }
  .basket-item-image{
    width:62px;
    height:62px;
  }
  .basket-item-actions,.basket-line-total,.remove-item{
    grid-column:2;
    justify-self:start;
  }
  .footer-socials a,.footer-payments span{
    min-height:36px;
    font-size:12px;
  }
}
@media   (prefers-reduced-motion:reduce){
  .review-track{animation:none}
}

/* =========================================================
   V5.10.18 — quick add selectors, lightbox layering, compact basket, menu watermark
   ========================================================= */
.product-item-clickable,.product-item-clickable .product-card-surface{
  cursor:pointer;
}
.product-card-actions{
  margin-top:16px;
  display:grid;
  gap:10px;
}
.product-card-size-control{
  display:grid;
  gap:7px;
  cursor:default;
}
.product-card-size-control span{
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.product-card-size-control select{
  width:100%;
  min-height:44px;
  border:1px solid rgba(185,155,115,.32);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:var(--ink);
  padding:0 42px 0 14px;
  font:inherit;
  font-size:13px;
  font-weight:700;
  outline:none;
  cursor:pointer;
  appearance:auto;
}
.product-card-size-control select:focus{
  border-color:var(--ink);
  box-shadow:0 0 0 4px rgba(31,27,20,.06);
}
.product-card-actions .add-btn,.product-card-add-btn{
  margin:0;
  width:100%;
  min-height:46px;
}
.product-card-add-btn.needs-size{
  background:var(--paper-brown);
  border-color:var(--paper-brown);
}
.card-size-status{
  min-height:18px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  line-height:1.35;
}
.card-size-status.is-warning{
  color:var(--paper-brown);
}
.product-card-hint{
  margin-top:10px;
}
.paperoot-lightbox{
  z-index:3600;
}
.product-modal{
  z-index:1600;
}
body.lightbox-open .product-modal{
  pointer-events:none;
}
body.lightbox-open .paperoot-lightbox{
  pointer-events:auto;
}
.nav-links.open{
  position:fixed;
  overflow:hidden;
  isolation:isolate;
}
.nav-links.open::before{
  content:"";
  position:absolute;
  width:min(320px,72vw);
  aspect-ratio:1;
  right:-76px;
  bottom:-116px;
  background:url("/assets/images/logo-dark.png") center/contain no-repeat;
  opacity:.055;
  pointer-events:none;
  z-index:0;
  transform:rotate(-8deg);
}
.nav-links.open > *{
  position:relative;
  z-index:1;
}
.basket-items{
  display:grid;
  grid-template-columns:1fr;
}
.basket-item{
  min-height:0!important;
  padding:10px 14px!important;
  grid-template-columns:92px minmax(0,1fr) auto auto auto!important;
  gap:12px!important;
  align-items:center!important;
}
.basket-item-image{
  width:92px!important;
  height:92px!important;
  border-radius:16px!important;
}
.basket-item-copy span{
  margin-bottom:2px!important;
  font-size:11px!important;
}
.basket-item-copy h3{
  font-size:clamp(16px,1.35vw,19px)!important;
  line-height:1.05!important;
}
.basket-item-copy p{
  margin-top:3px!important;
  font-size:12px!important;
  line-height:1.25!important;
}
.basket-item-actions{
  padding:3px!important;
  gap:4px!important;
}
.basket-item-actions button{
  width:26px!important;
  height:26px!important;
  font-size:16px!important;
}
.basket-line-total{
  font-size:14px!important;
}
.remove-item{
  font-size:12px!important;
  text-underline-offset:3px!important;
}
@media   (max-width:1100px){
  .basket-item{
    grid-template-columns:84px minmax(0,1fr) auto!important;
  }
  .basket-line-total{grid-column:2!important;justify-self:start!important;}
  .remove-item{grid-column:3!important;}
}
@media   (max-width:720px){
  .product-card-actions{gap:9px;}
  .product-card-size-control select{min-height:42px;}
  .basket-item{
    grid-template-columns:78px minmax(0,1fr)!important;
    padding:10px!important;
    gap:10px!important;
  }
  .basket-item-image{
    width:78px!important;
    height:78px!important;
  }
  .basket-item-actions,.basket-line-total,.remove-item{
    grid-column:2!important;
    justify-self:start!important;
  }
  .paperoot-lightbox{padding:12px;}
  .paperoot-lightbox-dialog img{max-width:90%;max-height:68vh;}
}


/* =========================================================
   V5.10.21 — cleaner product cards, Black Edition title lock,
   shorter basket grid, right-edge menu watermark
   ========================================================= */
.product-card-hint{
  display:none!important;
}
.card-size-status{
  min-height:0!important;
  margin:0!important;
}
.card-size-status:empty{
  display:none!important;
}
.product-title-name{
  display:grid;
  gap:2px;
  min-width:0;
}
.product-title-base,.product-title-edition{
  display:block;
  white-space:nowrap;
}
.product-title-edition{
  font-size:.86em;
  letter-spacing:-.035em;
}
@media   (max-width:760px){
  .product-title-row{
    gap:10px;
  }
  .product-title-name{
    font-size:clamp(18px,5.6vw,23px)!important;
  }
  .product-title-edition{
    font-size:.82em;
  }
}

.basket-items-panel{
  overflow:hidden;
}
.basket-panel-header{
  padding:10px 14px!important;
  min-height:0!important;
  gap:10px!important;
}
.basket-panel-header h2{
  font-size:clamp(18px,1.7vw,22px)!important;
  line-height:1!important;
}
.basket-panel-header p{
  margin-top:2px!important;
  font-size:11px!important;
  line-height:1.2!important;
}
.basket-panel-header .text-button{
  font-size:12px!important;
  line-height:1!important;
}
.basket-items{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
}
.basket-item{
  min-height:0!important;
  padding:6px 12px!important;
  grid-template-columns:78px minmax(0,1fr) auto auto auto!important;
  gap:9px!important;
  align-items:center!important;
}
.basket-item-image{
  width:78px!important;
  height:78px!important;
  border-radius:14px!important;
}
.basket-item-copy span{
  margin-bottom:1px!important;
  font-size:10px!important;
  line-height:1.1!important;
}
.basket-item-copy h3{
  font-size:clamp(15px,1.2vw,18px)!important;
  line-height:1.03!important;
}
.basket-item-copy p{
  margin-top:2px!important;
  font-size:11px!important;
  line-height:1.2!important;
}
.basket-item-actions{
  padding:2px!important;
  gap:3px!important;
}
.basket-item-actions button{
  width:24px!important;
  height:24px!important;
  font-size:15px!important;
}
.basket-item-actions strong{
  min-width:18px!important;
  font-size:13px!important;
}
.basket-line-total{
  font-size:13px!important;
}
.remove-item{
  font-size:11px!important;
  text-underline-offset:2px!important;
}
.nav-links.open::before{
  width:min(420px,78vw)!important;
  right:-178px!important;
  top:42%!important;
  bottom:auto!important;
  opacity:.055!important;
  transform:translateY(-50%) rotate(-8deg)!important;
}
@media   (max-width:1100px){
  .basket-item{
    grid-template-columns:72px minmax(0,1fr) auto!important;
    padding:6px 10px!important;
  }
  .basket-item-image{
    width:72px!important;
    height:72px!important;
  }
  .basket-line-total{
    grid-column:2!important;
    justify-self:start!important;
  }
  .remove-item{
    grid-column:3!important;
  }
}
@media   (max-width:720px){
  .basket-panel-header{
    padding:9px 12px!important;
  }
  .basket-item{
    grid-template-columns:64px minmax(0,1fr)!important;
    padding:6px 9px!important;
    gap:8px!important;
  }
  .basket-item-image{
    width:64px!important;
    height:64px!important;
    border-radius:12px!important;
  }
  .basket-item-actions,.basket-line-total,.remove-item{
    grid-column:2!important;
    justify-self:start!important;
  }
  .nav-links.open::before{
    width:min(350px,86vw)!important;
    right:-166px!important;
    top:39%!important;
  }
}

/* =========================================================
   V5.10.21 — basket empty-state height correction
   Restore the basket header to the previous comfortable size;
   shorten only the empty basket message area.
   ========================================================= */
.basket-panel-header{
  padding:22px!important;
  min-height:initial!important;
  gap:14px!important;
}
.basket-panel-header h2{
  font-size:24px!important;
  line-height:normal!important;
  letter-spacing:-.035em!important;
}
.basket-panel-header p{
  margin-top:4px!important;
  color:var(--muted)!important;
  font-size:14px!important;
  line-height:normal!important;
  font-weight:700!important;
}
.basket-panel-header .text-button{
  font-size:inherit!important;
  line-height:normal!important;
}
.empty-basket{
  padding:clamp(18px,2.4vw,30px)!important;
  text-align:center;
  display:grid;
  justify-items:center;
  align-content:center;
  gap:8px;
}
.empty-basket h3{
  font-size:clamp(22px,2.25vw,34px)!important;
  line-height:1.02!important;
  letter-spacing:-.055em!important;
  margin:0!important;
}
.empty-basket p{
  max-width:460px!important;
  margin:0 auto 4px!important;
  line-height:1.45!important;
  font-size:14px!important;
}
.empty-basket .btn-dark{
  min-height:0!important;
  padding:11px 18px!important;
  line-height:1!important;
}
@media   (max-width:720px){
  .basket-panel-header{
    padding:18px!important;
    align-items:flex-start!important;
  }
  .empty-basket{
    padding:18px 14px!important;
    gap:7px!important;
  }
  .empty-basket h3{
    font-size:clamp(22px,7vw,30px)!important;
  }
  .empty-basket p{
    font-size:13px!important;
    line-height:1.4!important;
  }
  .empty-basket .btn-dark{
    padding:10px 16px!important;
  }
}

/* =========================================================
   V5.10.21 — Basket visual revert to v5.10.16
   Keep v5.10.21 site features, restore basket spacing/layout.
   ========================================================= */
.basket-layout{
  width:var(--container)!important;
  margin:0 auto!important;
  padding:0 0 clamp(58px,7vw,100px)!important;
  display:grid!important;
  grid-template-columns:1.35fr .65fr!important;
  gap:clamp(18px,3vw,34px)!important;
  align-items:start!important;
}
.basket-items-panel,.basket-summary{
  border:1px solid var(--line)!important;
  border-radius:var(--radius-lg)!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:0 18px 54px rgba(31,27,20,.06)!important;
}
.basket-panel-header{
  padding:22px!important;
  border-bottom:1px solid var(--line)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  min-height:initial!important;
}
.basket-panel-header h2,.basket-summary h2{
  font-size:24px!important;
  letter-spacing:-.035em!important;
  line-height:normal!important;
}
.basket-panel-header p{
  margin-top:4px!important;
  color:var(--muted)!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:normal!important;
}
.basket-panel-header .text-button{
  font-size:inherit!important;
  line-height:normal!important;
}
.basket-items{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
}
.basket-item{
  padding:18px 22px!important;
  border-bottom:1px solid var(--line)!important;
  display:grid!important;
  grid-template-columns:86px 1fr auto auto auto!important;
  gap:18px!important;
  align-items:center!important;
  min-height:initial!important;
}
.basket-item:last-child{border-bottom:0!important;}
.basket-item-image{
  width:86px!important;
  height:86px!important;
  object-fit:cover!important;
  border-radius:18px!important;
  background:#eee!important;
}
.basket-item-copy span{
  display:block!important;
  margin-bottom:6px!important;
  color:var(--muted)!important;
  font-size:12px!important;
  letter-spacing:.12em!important;
  font-weight:700!important;
  line-height:normal!important;
}
.basket-item-copy h3{
  font-size:20px!important;
  line-height:normal!important;
  letter-spacing:-.035em!important;
}
.basket-item-copy p{
  margin-top:5px!important;
  color:var(--muted)!important;
  font-size:inherit!important;
  line-height:normal!important;
}
.basket-item-actions{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  border:1px solid var(--line)!important;
  border-radius:999px!important;
  padding:6px!important;
  background:#fff!important;
}
.basket-item-actions button{
  width:31px!important;
  height:31px!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(17,17,15,.06)!important;
  cursor:pointer!important;
  font-size:18px!important;
}
.basket-item-actions strong{
  min-width:22px!important;
  text-align:center!important;
  font-size:inherit!important;
}
.basket-line-total{
  white-space:nowrap!important;
  font-size:inherit!important;
}
.remove-item{
  border:0!important;
  background:transparent!important;
  color:var(--muted)!important;
  cursor:pointer!important;
  text-decoration:underline!important;
  text-underline-offset:5px!important;
  font-size:inherit!important;
}
.empty-basket{
  padding:clamp(32px,5vw,64px)!important;
  text-align:center!important;
  display:block!important;
  gap:normal!important;
  justify-items:initial!important;
  align-content:initial!important;
}
.empty-basket h3{
  font-size:clamp(28px,3.6vw,50px)!important;
  line-height:1!important;
  letter-spacing:-.06em!important;
  margin:0!important;
}
.empty-basket p{
  max-width:520px!important;
  margin:12px auto 20px!important;
  color:var(--muted)!important;
  line-height:1.7!important;
  font-size:inherit!important;
}
.empty-basket .btn-dark{
  min-height:initial!important;
  padding:16px 22px!important;
  line-height:normal!important;
}
.basket-summary{
  position:sticky!important;
  top:calc(var(--nav-offset) + 16px)!important;
  padding:22px!important;
}
.summary-row{
  padding:16px 0!important;
  border-bottom:1px solid var(--line)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  color:var(--muted)!important;
}
.summary-row strong{
  color:var(--ink)!important;
  text-align:right!important;
}
.summary-total{
  font-size:18px!important;
  color:var(--ink)!important;
}
.summary-note{
  margin:18px 0!important;
  color:var(--muted)!important;
  line-height:1.65!important;
  font-size:14px!important;
}
.summary-actions{
  display:grid!important;
  gap:10px!important;
}
.basket-help{
  width:var(--container)!important;
  margin:0 auto!important;
  padding:0 0 clamp(58px,7vw,110px)!important;
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:clamp(14px,2vw,24px)!important;
}
.basket-help-card{
  padding:22px!important;
  border:1px solid var(--line)!important;
  border-radius:var(--radius-lg)!important;
  background:rgba(255,255,255,.62)!important;
}
.basket-help-card span{
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.16em!important;
  color:var(--muted)!important;
}
.basket-help-card p{
  margin-top:12px!important;
  color:var(--muted)!important;
  line-height:1.65!important;
}
@media   (max-width:1080px){
  .basket-layout{
    grid-template-columns:1fr!important;
  }
  .basket-summary{
    position:static!important;
  }
  .basket-item{
    grid-template-columns:76px 1fr auto!important;
  }
  .basket-item-image{
    width:76px!important;
    height:76px!important;
  }
  .basket-line-total{
    grid-column:2!important;
    justify-self:start!important;
  }
  .remove-item{
    grid-column:3!important;
    justify-self:auto!important;
  }
}
@media   (max-width:760px){
  .basket-help{
    grid-template-columns:1fr!important;
  }
}
@media   (max-width:560px){
  .basket-item{
    grid-template-columns:70px 1fr!important;
    gap:14px!important;
  }
  .basket-item-image{
    width:70px!important;
    height:70px!important;
  }
  .basket-item-actions,.basket-line-total,.remove-item{
    grid-column:2!important;
    justify-self:start!important;
  }
  .empty-basket{
    padding:clamp(32px,5vw,64px)!important;
  }
  .empty-basket h3{
    font-size:clamp(28px,10vw,50px)!important;
  }
}

/* =========================================================
   V5.10.23 — footer uploaded icon replacement
   ========================================================= */
.footer-icon-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.footer-socials.footer-icon-row,.footer-payments.footer-icon-row{
  gap:10px;
}
.footer-icon-link,.footer-payment-icon{
  border:1px solid rgba(229,212,189,.22);
  background:rgba(255,255,255,.045);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:0;
  overflow:hidden;
  transition:transform .24s ease,border-color .24s ease,background .24s ease,box-shadow .24s ease;
}
.footer-socials .footer-icon-link{
  width:46px;
  height:46px;
  min-height:46px;
  padding:0;
  border-radius:999px;
}
.footer-payments .footer-payment-icon{
  width:64px;
  height:42px;
  min-height:42px;
  padding:0 10px;
  border-radius:18px;
  cursor:default;
}
.footer-icon-link img,.footer-payment-icon img{
  display:block;
  object-fit:contain;
  pointer-events:none;
  filter:drop-shadow(0 4px 10px rgba(213,192,161,.08));
}
.footer-icon-link img{
  width:21px;
  height:21px;
}
.footer-payment-icon img{
  width:100%;
  height:24px;
}
.footer-icon-link::after{
  display:none !important;
}
.footer-icon-link:hover,.footer-payment-icon:hover{
  transform:translateY(-2px);
  border-color:rgba(229,212,189,.58);
  background:rgba(213,192,161,.14);
  box-shadow:0 14px 30px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08);
}
.footer-payment-title{
  margin-top:24px;
}
@media   (max-width:680px){
  .footer-socials .footer-icon-link{
    width:42px;
    height:42px;
    min-height:42px;
  }
  .footer-icon-link img{
    width:19px;
    height:19px;
  }
  .footer-payments .footer-payment-icon{
    width:58px;
    height:38px;
    min-height:38px;
    border-radius:16px;
    padding:0 8px;
  }
  .footer-payment-icon img{
    height:21px;
  }
}


/* =========================================================
   V13 — Responsive Paperoot site search
   Shared customer-facing search beside the hamburger control.
========================================================= */
.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.nav-left-controls{
  grid-column:1;
  justify-self:start;
  min-width:0;
  margin-top:10px;
  display:flex;
  align-items:flex-start;
  gap:8px;
  position:relative;
  z-index:6;
  pointer-events:auto;
}

.nav-left-controls .hamburger{
  grid-column:auto;
  justify-self:auto;
  flex:0 0 auto;
  margin-top:0;
}

.site-search{
  position:relative;
  flex:0 0 auto;
  width:58px;
  height:58px;
  z-index:7;
  pointer-events:auto;
  transition:width .3s cubic-bezier(.22,1,.36,1);
}

.site-search.is-open{
  width:clamp(200px,18vw,300px);
}

.site-search-toggle,.site-search-field{
  height:58px;
  border:1px solid rgba(185,155,115,.28);
  border-radius:999px;
  background:rgba(246,242,233,.78);
  box-shadow:0 18px 56px rgba(26,22,17,.10);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  color:var(--ink);
}

.has-scrolled .site-search-toggle,.has-scrolled .site-search-field{
  background:rgba(255,255,255,.88);
  border-color:rgba(185,155,115,.22);
}

.site-search-toggle{
  position:absolute;
  inset:0 auto auto 0;
  width:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  transition:opacity .16s ease, transform .24s ease, background .24s ease, border-color .24s ease;
}

.site-search-toggle:hover{transform:translateY(-2px)}

.site-search.is-open .site-search-toggle{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:scale(.92);
}

.site-search-field{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 17px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  overflow:hidden;
  transform:scaleX(.9);
  transform-origin:left center;
  transition:opacity .18s ease, transform .3s cubic-bezier(.22,1,.36,1), background .24s ease, border-color .24s ease;
}

.site-search.is-open .site-search-field{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:scaleX(1);
}

.site-search-icon{
  width:22px;
  height:22px;
  flex:0 0 22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.site-search-field input{
  width:100%;
  min-width:0;
  height:100%;
  border:0;
  outline:0;
  background:transparent;
  color:var(--ink);
  font-size:15px;
  font-weight:700;
  letter-spacing:-.01em;
  caret-color:var(--deep-sand);
  -webkit-appearance:none;
  appearance:none;
}

.site-search-field input::placeholder{
  color:rgba(42,41,37,.58);
  opacity:1;
}

.site-search-field input::-webkit-search-cancel-button{
  -webkit-appearance:none;
  appearance:none;
  width:0;
  height:0;
}

.site-search-field input::-ms-clear{display:none}

.site-search-results{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  width:max(100%,320px);
  max-width:min(420px,calc(100vw - 32px));
  max-height:min(62vh,430px);
  overflow:auto;
  overscroll-behavior:contain;
  padding:8px;
  border:1px solid rgba(185,155,115,.28);
  border-radius:24px;
  background:rgba(255,250,241,.97);
  box-shadow:0 26px 72px rgba(31,27,20,.18);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  z-index:1010;
  opacity:0;
  transform:translateY(-5px) scale(.985);
  transform-origin:top left;
  pointer-events:none;
  transition:opacity .2s ease, transform .24s cubic-bezier(.22,1,.36,1);
}

.site-search-results:not([hidden]){
  opacity:1;
  transform:none;
  pointer-events:auto;
}

.site-search-result{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-height:64px;
  padding:9px 10px;
  border:1px solid transparent;
  border-radius:18px;
  color:var(--ink);
  text-decoration:none;
  outline:0;
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}

.site-search-result + .site-search-result{margin-top:3px}

.site-search-result:hover,.site-search-result.is-active,.site-search-result[aria-selected="true"]{
  background:rgba(229,212,189,.38);
  border-color:rgba(185,155,115,.24);
  transform:translateY(-1px);
}

.site-search-result-media{
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:14px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(42,41,37,.08);
}

.site-search-result-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.site-search-result-media svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:var(--soft-black);
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.site-search-result-copy{min-width:0}
.site-search-result-title{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:14px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:-.015em;
}

.site-search-result-summary{
  display:block;
  margin-top:4px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--muted);
  font-size:12px;
  line-height:1.3;
}

.site-search-result-type{
  align-self:start;
  margin-top:2px;
  padding:5px 8px;
  border:1px solid rgba(185,155,115,.25);
  border-radius:999px;
  background:rgba(255,255,255,.68);
  color:var(--muted);
  font-size:10px;
  line-height:1;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.site-search-status{
  padding:18px 16px;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
  text-align:center;
}

.site-search-toggle:focus-visible,.site-search-field:focus-within,.site-search-result:focus-visible{
  outline:3px solid rgba(185,155,115,.42);
  outline-offset:3px;
}

@media   (max-width:1180px) and (min-width:921px){
  .site-search.is-open{width:clamp(190px,17vw,230px)}
  .site-search-results{width:max(100%,300px)}
}

@media   (max-width:920px){
  .nav-left-controls{
    margin-top:4px;
    gap:7px;
  }

  .site-search{
    position:fixed;
    top:18px;
    left:78px;
    width:54px;
    height:54px;
    transition:top .3s cubic-bezier(.22,1,.36,1), left .3s cubic-bezier(.22,1,.36,1), width .3s cubic-bezier(.22,1,.36,1);
  }

  .site-search-toggle,.site-search-field{
    height:54px;
  }

  .site-search-toggle{width:54px}

  .site-search.is-open{
    top:82px;
    left:16px;
    width:calc(100vw - 32px);
  }

  .site-search-results{
    width:100%;
    max-width:100%;
    max-height:min(56vh,390px);
    border-radius:22px;
  }
}

@media   (max-width:420px){
  .site-search-result{
    grid-template-columns:auto minmax(0,1fr);
    gap:10px;
  }

  .site-search-result-type{
    grid-column:2;
    justify-self:start;
    margin-top:-2px;
  }

  .site-search-result-summary{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
}

@media   (prefers-reduced-motion:reduce){
  .site-search,.site-search-toggle,.site-search-field,.site-search-results,.site-search-result{
    transition:none!important;
  }
}


@media   (max-width:620px){
  :root{--nav-offset:166px}

  .nav-left-controls{
    position:fixed;
    top:82px;
    left:16px;
    margin:0;
  }

  .site-search{
    top:82px;
    left:78px;
  }

  .site-search.is-open{
    top:144px;
    left:16px;
  }

  .nav-links.open{top:144px}
}



















































.paperoot-text-button:focus-visible,.paperoot-check input:focus-visible + span{
  outline:3px solid rgba(185,155,115,.46);
  outline-offset:3px;
}

















.paperoot-field{display:grid;gap:8px}

.paperoot-field label{
  color:#2a2925;
  font-size:13px;
  line-height:1.3;
  font-weight:700;
  letter-spacing:.015em;
}

.paperoot-field input{
  width:100%;
  min-height:52px;
  border:1px solid rgba(42,41,37,.16);
  border-radius:18px;
  background:#fffaf1;
  color:#11110f;
  padding:14px 16px;
  outline:0;
  font-family:inherit;
  font-size:15px;
  line-height:1.2;
}

.paperoot-field input::placeholder{color:rgba(42,41,37,.42)}

.paperoot-field input:focus{
  border-color:#b99b73;
  box-shadow:0 0 0 4px rgba(185,155,115,.15);
  background:#ffffff;
}

.paperoot-field.is-invalid input,.paperoot-terms-check.is-invalid{
  border-color:#8d554d;
  box-shadow:0 0 0 4px rgba(141,85,77,.10);
}














.paperoot-field-help{
  color:rgba(42,41,37,.68);
  font-size:12px;
  line-height:1.45;
}

.paperoot-field-error{
  min-height:0;
  color:#7c453f;
  font-size:12px;
  line-height:1.45;
}

.paperoot-field-error:not(:empty)::before{
  content:"!";
  width:17px;
  height:17px;
  margin-right:6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid currentColor;
  border-radius:50%;
  font-size:10px;
  font-weight:700;
  vertical-align:1px;
}



.paperoot-check{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:rgba(42,41,37,.68);
  font-size:13px;
  line-height:1.5;
  cursor:pointer;
}

.paperoot-check > input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.paperoot-check > span[aria-hidden="true"]{
  flex:0 0 20px;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border:1px solid rgba(42,41,37,.24);
  border-radius:7px;
  background:#ffffff;
}

.paperoot-check > span[aria-hidden="true"]::after{
  content:"";
  width:8px;
  height:4px;
  border-left:2px solid #ffffff;
  border-bottom:2px solid #ffffff;
  opacity:0;
  transform:translateY(-1px) rotate(-45deg);
}

.paperoot-check input:checked + span[aria-hidden="true"]{
  border-color:#11110f;
  background:#11110f;
}
.paperoot-check input:checked + span[aria-hidden="true"]::after{opacity:1}

.paperoot-terms-check{
  padding:12px 13px;
  border:1px solid transparent;
  border-radius:14px;
}

.paperoot-terms-check a{
  color:#11110f;
  font-weight:700;
  text-underline-offset:3px;
}
.paperoot-policy-error{margin-top:-12px}

.paperoot-text-button{
  border:0;
  background:transparent;
  color:rgba(42,41,37,.68);
  font-family:inherit;
  cursor:pointer;
  text-decoration:none;
}

.paperoot-text-button{font-size:13px;font-weight:700}
.paperoot-text-button:hover{color:#11110f}






.paperoot-submit-mark{
  width:34px;
  height:34px;
  padding:7px;
  border-radius:12px;
  background:rgba(255,255,255,.12);
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}























.policy-page{
  min-height:80vh;
  padding:calc(var(--nav-offset) + 32px) 0 clamp(76px,9vw,130px);
}

.policy-card{
  width:min(820px,calc(100vw - 32px));
  margin:0 auto;
  padding:clamp(30px,6vw,72px);
  border:1px solid rgba(42,41,37,.13);
  border-radius:38px;
  background:rgba(255,255,255,.82);
  box-shadow:0 28px 82px rgba(31,27,20,.09);
}
.policy-card h1{font-size:clamp(48px,7vw,92px);line-height:.95;letter-spacing:-.07em;font-weight:650}
.policy-intro{margin:22px 0 34px;color:rgba(42,41,37,.68);font-size:18px;line-height:1.7}
.policy-card section{padding:25px 0;border-top:1px solid rgba(42,41,37,.13)}
.policy-card section h2{font-size:clamp(22px,3vw,34px);letter-spacing:-.04em}
.policy-card section p{margin-top:12px;color:rgba(42,41,37,.68);line-height:1.75}
.policy-card .btn-dark{margin-top:14px}
.footer-legal-links{display:flex;flex-wrap:wrap;align-items:center;gap:18px}

@media   (max-width:1023px){
  
  
  
  
  
  
  
  
  
  
  
  
  
}

@media   (max-width:768px){
  
  
  
  
  
  
  
  
  
  
}

@media   (max-width:520px){
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
}

@media   (max-width:360px){
  
  
  
  
  
  
  
  
  
  
  
  .paperoot-field input{min-height:50px}
  
}

@media   (prefers-reduced-motion:reduce){
  
}


/* =========================================================
   Full Local Dev v20 — smooth search close, scroll-aware header,
   matching nav-control hover treatment and premium footer.
   ========================================================= */
.navbar-inner{
  transition:transform .34s cubic-bezier(.22,.61,.36,1), opacity .28s ease, filter .28s ease;
  will-change:transform,opacity;
}
.navbar.is-hidden .navbar-inner{
  transform:translateY(calc(-100% - 28px));
  opacity:0;
  pointer-events:none;
}
.navbar.is-hidden a,.navbar.is-hidden button,.navbar.is-hidden input{pointer-events:none!important}

.hamburger{color:var(--ink);transition:transform .24s ease,background .24s ease,border-color .24s ease,color .24s ease,box-shadow .24s ease}
.hamburger span{background:currentColor}
.site-search-toggle{color:var(--ink)}

@media   (hover:hover) and (pointer:fine){
  .hamburger:hover,.site-search-toggle:hover{
    color:var(--deep-sand);
    background:linear-gradient(145deg,#fff,rgba(229,212,189,.72));
    border-color:rgba(185,155,115,.48);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 14px 34px rgba(31,27,20,.09);
    transform:translateY(-2px);
  }
}

.site-search{
  transition:width .36s cubic-bezier(.22,.61,.36,1);
}
.site-search-field{
  transition:opacity .2s ease,transform .36s cubic-bezier(.22,.61,.36,1),background .24s ease,border-color .24s ease,padding .26s ease,gap .22s ease;
}
.site-search-field input{
  opacity:1;
  transform:translateX(0);
  transition:opacity .14s ease,transform .18s ease,width .22s ease;
}
.site-search-results{
  transition:opacity .17s ease,transform .2s cubic-bezier(.22,.61,.36,1);
}
.site-search-results.is-closing{
  opacity:0!important;
  transform:translateY(-7px) scale(.985)!important;
  pointer-events:none!important;
}
.site-search.is-open.is-closing{
  width:58px;
}
.site-search.is-closing .site-search-toggle{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.site-search.is-closing .site-search-field{
  opacity:1;
  visibility:visible;
  pointer-events:none;
  transform:scaleX(1);
  gap:0;
  padding-left:17px;
  padding-right:17px;
}
.site-search.is-closing .site-search-field input{
  width:0;
  opacity:0;
  transform:translateX(-4px);
}

.footer-v19{
  margin-top:clamp(44px,7vw,96px);
  padding:clamp(48px,7vw,88px) clamp(16px,4vw,56px) 24px;
  overflow:hidden;
  border-radius:52px 52px 0 0;
  border:0;
  background:#11110f;
  color:var(--paper-cream);
  box-shadow:0 -18px 70px rgba(17,17,15,.10);
}
.footer-v19::before{display:none!important}
.footer-v19 > *{position:relative;z-index:1}
.footer-v19-shell{width:min(1320px,100%);margin:0 auto}
.footer-interest{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);
  gap:clamp(28px,6vw,92px);
  align-items:end;
  padding:0 0 clamp(38px,5vw,62px);
  border-bottom:1px solid rgba(229,212,189,.16);
}
.footer-kicker{
  margin:0 0 14px;
  color:rgba(229,212,189,.66);
  font-size:11px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.footer-interest-copy h2,.footer-v19-brand h2{
  margin:0;
  color:var(--paper-cream);
  font-size:clamp(34px,4.2vw,62px);
  line-height:.98;
  letter-spacing:-.06em;
  font-weight:650;
}
.footer-interest-copy > p:last-child,.footer-v19-brand > p:last-child{
  margin-top:16px;
  max-width:520px;
  color:rgba(246,242,233,.62);
  line-height:1.7;
}
.footer-interest-form{display:grid;gap:10px}
.footer-interest-form label{
  color:rgba(246,242,233,.78);
  font-size:13px;
  font-weight:700;
}
.footer-interest-controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  padding:7px;
  border:1px solid rgba(229,212,189,.2);
  border-radius:24px;
  background:rgba(255,255,255,.055);
}
.footer-interest-controls input{
  width:100%;
  min-height:54px;
  border:0;
  border-radius:18px;
  padding:0 18px;
  outline:0;
  background:var(--paper-cream);
  color:var(--ink);
  font:inherit;
  font-weight:700;
}
.footer-interest-controls input::placeholder{color:rgba(42,41,37,.54)}
.footer-interest-controls input:focus-visible{
  box-shadow:0 0 0 3px rgba(185,155,115,.52);
}
.footer-interest-controls input[aria-invalid="true"]{
  box-shadow:0 0 0 3px rgba(213,192,161,.6);
}
.footer-interest-controls button{
  min-height:54px;
  padding:0 22px;
  border:1px solid var(--paper-cream);
  border-radius:18px;
  background:var(--paper-cream);
  color:var(--ink);
  font:inherit;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.footer-interest-controls button:hover{background:var(--warm-beige);border-color:var(--warm-beige)}
.footer-interest-controls button:focus-visible{outline:3px solid rgba(229,212,189,.62);outline-offset:3px}
.footer-interest-status{
  min-height:20px;
  margin:0;
  color:rgba(246,242,233,.64);
  font-size:12px;
  line-height:1.5;
}
.footer-interest-status[data-status-type="error"]{color:var(--warm-beige)}
.footer-interest-status[data-status-type="success"]{color:rgba(246,242,233,.78)}

.footer-v19-grid{
  display:grid;
  grid-template-columns:minmax(260px,1.25fr) repeat(3,minmax(150px,.75fr));
  gap:clamp(30px,5vw,72px);
  padding:clamp(42px,5vw,68px) 0;
}
.footer-v19-brand h2{font-size:clamp(30px,3.4vw,48px);max-width:420px}
.footer-v19-column{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.footer-v19-column > h2{
  margin:0 0 8px;
  color:rgba(229,212,189,.64);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.footer-v19-column a,.footer-v19-bottom a{
  position:relative;
  color:rgba(246,242,233,.76);
  text-decoration:none;
  line-height:1.45;
  transition:color .2s ease;
}
.footer-v19-column a::after,.footer-v19-bottom a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-4px;
  height:1px;
  background:var(--warm-beige);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .22s cubic-bezier(.22,.61,.36,1);
}
.footer-v19-column a:hover,.footer-v19-bottom a:hover,.footer-v19-column a.is-active,.footer-v19-bottom a.is-active{color:var(--warm-beige)}
.footer-v19-column a:hover::after,.footer-v19-bottom a:hover::after,.footer-v19-column a.is-active::after,.footer-v19-bottom a.is-active::after{transform:scaleX(1)}
.footer-v19-column a:focus-visible,.footer-v19-bottom a:focus-visible{outline:2px solid var(--warm-beige);outline-offset:5px;border-radius:4px}
.footer-email{font-weight:700;word-break:break-word}
.footer-instagram-handle{display:inline-flex;width:max-content;max-width:100%;margin-top:10px;font-weight:700;color:var(--warm-beige)!important;overflow-wrap:anywhere}
.footer-v19-socials{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:12px}
.footer-v19-socials a{
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(229,212,189,.22);
  border-radius:999px;
  background:rgba(255,255,255,.05);
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.footer-v19-socials a::after{display:none}
.footer-v19-socials a:hover{transform:translateY(-2px);background:rgba(213,192,161,.14);border-color:rgba(229,212,189,.56)}
.footer-v19-socials img{width:20px;height:20px;object-fit:contain}
.footer-v19-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-top:22px;
  border-top:1px solid rgba(229,212,189,.14);
  color:rgba(246,242,233,.5);
  font-size:13px;
}
.footer-v19-bottom nav{display:flex;flex-wrap:wrap;gap:18px}

@media   (max-width:1020px){
  .footer-interest{grid-template-columns:1fr;align-items:start}
  .footer-v19-grid{grid-template-columns:1.15fr 1fr 1fr;}
  .footer-v19-brand{grid-column:1/-1;max-width:650px}
}
@media   (max-width:720px){
  .footer-v19{border-radius:38px 38px 0 0;padding-inline:18px}
  .footer-interest-controls{grid-template-columns:1fr;padding:6px;border-radius:22px}
  .footer-interest-controls button{width:100%}
  .footer-v19-grid{grid-template-columns:1fr 1fr;gap:34px 24px}
  .footer-v19-brand{grid-column:1/-1}
  .footer-v19-contact{grid-column:1/-1}
  .footer-v19-bottom{align-items:flex-start;flex-direction:column}
}
@media   (max-width:430px){
  .footer-v19{padding-inline:14px}
  .footer-v19-grid{grid-template-columns:1fr}
  .footer-v19-brand,.footer-v19-contact{grid-column:auto}
  .footer-interest-copy h2{font-size:38px}
  .footer-interest-controls input,.footer-interest-controls button{min-height:50px}
}
@media   (max-width:920px){
  .site-search.is-open.is-closing{top:18px;left:78px;width:54px}
}
@media   (max-width:620px){
  .site-search.is-open.is-closing{top:82px;left:78px;width:54px}
}
@media   (prefers-reduced-motion:reduce){
  .navbar-inner{transition-duration:.01ms!important}
  .site-search,.site-search-field,.site-search-field input,.site-search-results{transition-duration:.01ms!important}
}
/* Keep the magnifier visually centred throughout the v20 close sequence. */
.site-search.is-closing .site-search-field{
  justify-content:center;
}
.site-search.is-closing .site-search-field input{
  position:absolute;
  inset:0 17px;
  width:auto;
}
.site-search.is-closing .site-search-field > .site-search-icon{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}
/* Prevent legacy wide marquee/hero internals from creating page-level horizontal scroll on narrow screens. */
html,body{max-width:100%;overflow-x:clip}
.home-hero,.instagram-section{overflow-x:hidden}
@media   (max-width:620px){
  .hero-shell,.hero-copy,.hero-showcase{min-width:0;max-width:100%}
}
/* Pin both search faces to the same frame so the magnifier stays centred during every width. */
.site-search-field{
  position:absolute;
  inset:0;
}
.site-search.is-closing .site-search-field{
  transform:none!important;
}
.site-search.is-closing .site-search-field{
  transition-property:opacity,background-color,border-color,padding,gap!important;
  transition-duration:.2s,.24s,.24s,.26s,.22s!important;
}
.site-search.is-closing .site-search-field{
  padding:0;
}
.site-search.is-closing .site-search-field input{
  inset:0;
}
/* During close, hand the visible magnifier to the root-sized toggle layer. */
.site-search.is-closing .site-search-toggle{
  inset:0;
  width:auto;
  opacity:1;
  visibility:visible;
  pointer-events:none;
  transform:none;
}
.site-search.is-closing .site-search-field > .site-search-icon{
  opacity:0;
}
.site-search.is-closing .site-search-toggle{
  top:0;
  right:auto;
  bottom:auto;
  left:0;
  width:100%!important;
  height:100%;
  transform:none!important;
  transition-property:opacity,background-color,border-color!important;
}
.site-search-closing-icon{
  position:absolute;
  left:50%;
  top:50%;
  z-index:4;
  opacity:0;
  pointer-events:none;
  color:var(--ink);
  transform:translate(-50%,-50%);
}
.site-search.is-closing .site-search-closing-icon{opacity:1}
.site-search.is-closing .site-search-toggle{opacity:0!important;visibility:hidden!important}
.site-search-closing-icon{
  left:var(--search-close-center,50%);
}


/* =========================================================
   Full Local Dev v20 — hamburger anchoring, restored footer brand
   assets, About image cards, circular transition and darker reviews.
   ========================================================= */

/* Hamburger drawer: position is calculated from the actual button. */
.nav-links.open{
  position:fixed!important;
  top:var(--paperoot-menu-top,86px)!important;
  left:var(--paperoot-menu-left,12px)!important;
  right:auto!important;
  width:min(320px,calc(100vw - 24px))!important;
  max-height:calc(100dvh - var(--paperoot-menu-top,86px) - 12px);
  margin:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  transform-origin:var(--paperoot-menu-origin-x,28px) 0!important;
  animation:paperoot-menu-drop-v21 .24s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes   paperoot-menu-drop-v21{
  from{opacity:0;transform:translateY(-8px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media   (prefers-reduced-motion:reduce){.nav-links.open{animation:none!important}}

/* Restored footer brand assets and quiet launch-preparation payment row. */
.site-footer-host{
  display:block;
  width:100%;
  margin:0;
  padding:0;
  clear:both;
}
.footer-v21{
  position:relative;
  isolation:isolate;
  width:100%;
  --footer-watermark-opacity:.042;
  --footer-tree-watermark-opacity:.09;
}
.footer-v21-watermark{
  position:absolute;
  z-index:0;
  left:50%;
  bottom:clamp(18px,3.2vw,46px);
  width:min(86vw,980px);
  height:auto;
  max-width:none;
  opacity:var(--footer-watermark-opacity);
  transform:translateX(-50%);
  pointer-events:none;
  user-select:none;
}
.footer-v21 .footer-v19-shell{position:relative;z-index:1}

.footer-brand-logo{
  display:block;
  width:clamp(70px,7vw,96px);
  height:auto;
  margin:0 0 22px;
  object-fit:contain;
}
.footer-v21 .footer-v19-brand h2{color:var(--warm-beige)}
.footer-payments{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:24px 0;
  border-top:1px solid rgba(229,212,189,.14);
}
.footer-payments-copy h2{
  margin:0;
  color:rgba(229,212,189,.76);
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.footer-payments-copy p{
  margin:6px 0 0;
  color:rgba(246,242,233,.46);
  font-size:12px;
}
.footer-payment-icons{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px 16px}
.footer-payment-icons span{
  min-width:0;
  height:32px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.footer-payment-icons img{
  display:block;
  width:auto;
  max-width:62px;
  height:26px;
  object-fit:contain;
  background:transparent;
  filter:none;
}

/* About values: separate approved lifestyle image for each value. */
.value-item.value-item-image{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:var(--paper-cream);
  border-color:rgba(255,255,255,.24);
  background-image:
    linear-gradient(180deg,rgba(17,17,15,.12) 0%,rgba(17,17,15,.38) 48%,rgba(17,17,15,.78) 100%),
    var(--value-image)!important;
  background-size:cover!important;
  background-position:var(--value-position,center)!important;
  box-shadow:0 22px 54px rgba(31,27,20,.16);
}
.value-item.value-item-image::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(145deg,rgba(185,155,115,.08),transparent 54%);
  pointer-events:none;
}
.value-item.value-item-image h3,.value-item.value-item-image p{position:relative;z-index:1;color:var(--paper-cream)}
.value-item.value-item-image p{color:rgba(246,242,233,.86);text-shadow:0 1px 14px rgba(17,17,15,.35)}
.value-item.value-item-image:hover{
  background-image:
    linear-gradient(180deg,rgba(17,17,15,.10) 0%,rgba(17,17,15,.35) 48%,rgba(17,17,15,.76) 100%),
    var(--value-image)!important;
  background-size:cover!important;
  background-position:var(--value-position,center)!important;
  border-color:rgba(229,212,189,.5);
}
.value-item-responsible{--value-image:url("/assets/images/about/about-responsible.webp");--value-position:58% center}
.value-item-practical{--value-image:url("/assets/images/about/about-practical.webp");--value-position:63% center}
.value-item-minimal{--value-image:url("/assets/images/about/about-minimal.webp");--value-position:58% center}


/* Dark, contained home-review backdrop with light review cards. */
.reviews-section{
  padding:clamp(44px,6vw,78px) clamp(18px,4vw,56px);
  border-radius:var(--radius-xl);
  background:var(--soft-black);
  color:var(--paper-cream);
  box-shadow:0 24px 70px rgba(17,17,15,.13);
}
.reviews-section .eyebrow{color:var(--warm-beige)}
.reviews-section .section-title{color:var(--paper-cream)}
.reviews-section .reviews-note{color:rgba(246,242,233,.62)}
.reviews-section .review-marquee{
  border-color:rgba(229,212,189,.18);
  background:rgba(255,255,255,.045);
  box-shadow:none;
}
.reviews-section .review-card{
  background:var(--surface);
  border-color:rgba(229,212,189,.32);
  color:var(--ink);
  box-shadow:0 14px 34px rgba(17,17,15,.12);
}
.reviews-section .review-card span{color:var(--muted)}

@media   (max-width:720px){
  .footer-payments{align-items:flex-start;flex-direction:column}
  .footer-payment-icons{justify-content:flex-start}
  .footer-v21{
    --footer-watermark-opacity:.032;
    --footer-tree-watermark-opacity:.05;
  }
  .footer-v21-watermark{bottom:24px;width:min(92vw,760px)}
  .reviews-section{border-radius:38px}
}
@media   (max-width:430px){
  .footer-brand-logo{width:72px;margin-bottom:18px}
  .footer-payment-icons{gap:10px 13px}
  .footer-payment-icons span{height:28px;padding:0}
  .footer-payment-icons img{max-width:54px;height:23px}
  .value-item.value-item-image{min-height:300px}
  .value-item-responsible{--value-position:60% center}
  .value-item-practical{--value-position:64% center}
  .value-item-minimal{--value-position:58% center}
  .reviews-section{padding:36px 14px;border-radius:32px}
}
/* Fixed-position drawer must not inherit the desktop grid item's end alignment. */
.nav-links.open{
  justify-self:start!important;
  align-self:start!important;
  grid-column:auto!important;
}


/* =========================================================
   Full Local Dev v21 — shared larger page transition,
   centred watermark, uniform footer host and transparent payments.
   ========================================================= */
@media   (max-width:720px){
  .paperoot-transition-card{
    width:clamp(88px,25vw,104px);
    height:clamp(88px,25vw,104px);
    padding:0;
  }
}


/* =========================================================
   Full Local Dev v24 — refined upper-right tree-symbol watermark.
   Uses the circular tree mark from logo-dark.png only, with a calmer
   35–45% crop and balanced desktop/mobile visibility. The centred
   full-width PAPEROOT watermark remains unchanged.
   ========================================================= */
.footer-v24-tree-watermark{
  position:absolute;
  z-index:0;
  top:0;
  right:0;
  width:clamp(500px,42vw,850px);
  height:auto;
  aspect-ratio:1;
  object-fit:contain;
  max-width:none;
  opacity:var(--footer-tree-watermark-opacity);
  transform:translate(34%,-34%);
  transform-origin:center;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
  filter:invert(.38);
  mix-blend-mode:normal;
}

@media   (max-width:1020px){
  .footer-v24-tree-watermark{
    width:clamp(430px,58vw,640px);
    transform:translate(38%,-38%);
  }
}

@media   (max-width:720px){
  .footer-v24-tree-watermark{
    width:clamp(300px,78vw,460px);
    transform:translate(48%,-47%);
  }
}

@media   (max-width:430px){
  .footer-v24-tree-watermark{
    width:clamp(270px,86vw,360px);
    opacity:.045;
    transform:translate(58%,-56%);
  }
}

/* =========================================================
   Full Local Dev v29 — Contact topic image cards.
   The three enquiry routes use their matching local lifestyle images
   with real HTML content, warm overlays and restrained pointer hover.
   ========================================================= */
.contact-topic-grid{
  align-items:stretch;
}

.contact-card.contact-topic-card--image{
  --contact-card-position:center center;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:clamp(360px,31vw,420px);
  padding:0;
  border:1px solid rgba(229,212,189,.34);
  border-radius:var(--radius-lg);
  background:var(--soft-black);
  color:var(--surface);
  box-shadow:0 20px 54px rgba(17,17,15,.10);
  transform:none;
  transition:transform .38s cubic-bezier(.22,.61,.36,1),
             box-shadow .38s cubic-bezier(.22,.61,.36,1),
             border-color .38s ease;
}

.contact-card.contact-topic-card--image:hover{
  transform:none;
  background:var(--soft-black);
}

.contact-topic-card__image{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:var(--contact-card-position);
  transform:scale(1.002);
  transition:transform .42s cubic-bezier(.22,.61,.36,1), filter .42s ease;
}

.contact-topic-card--orders{--contact-card-position:50% center}
.contact-topic-card--products{--contact-card-position:50% center}
.contact-topic-card--bulk{--contact-card-position:51% center}

.contact-topic-card__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,
      rgba(17,17,15,.08) 10%,
      rgba(17,17,15,.16) 42%,
      rgba(17,17,15,.52) 72%,
      rgba(17,17,15,.88) 100%),
    linear-gradient(110deg, rgba(42,41,37,.10), transparent 62%);
  pointer-events:none;
  transition:background .38s ease;
}

.contact-topic-card__content{
  position:relative;
  z-index:2;
  min-height:inherit;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:clamp(22px,2.4vw,30px);
  transition:transform .38s cubic-bezier(.22,.61,.36,1);
}

.contact-card.contact-topic-card--image .contact-topic-card__content > span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:7px 11px;
  border:1px solid rgba(255,250,241,.28);
  border-radius:999px;
  background:rgba(17,17,15,.25);
  color:rgba(255,250,241,.86);
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  line-height:1;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.contact-card.contact-topic-card--image h2{
  margin-top:auto;
  max-width:12ch;
  color:var(--surface);
  font-size:clamp(30px,3.1vw,46px);
  line-height:.96;
  letter-spacing:-.06em;
  text-shadow:0 2px 20px rgba(17,17,15,.22);
}

.contact-card.contact-topic-card--image p{
  max-width:34ch;
  margin-top:12px;
  color:rgba(255,250,241,.84);
  line-height:1.6;
  text-shadow:0 1px 14px rgba(17,17,15,.24);
}

.contact-card.contact-topic-card--image a{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  margin-top:18px;
  padding:0 16px;
  border:1px solid rgba(255,250,241,.42);
  border-radius:999px;
  background:rgba(255,250,241,.12);
  color:var(--surface);
  font-weight:700;
  text-decoration:none;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:background .26s ease,border-color .26s ease,transform .26s cubic-bezier(.22,.61,.36,1);
}

.contact-card.contact-topic-card--image a:focus-visible{
  outline:3px solid rgba(229,212,189,.78);
  outline-offset:4px;
}

@media   (hover:hover) and (pointer:fine){
  .contact-card.contact-topic-card--image:hover{
    transform:translateY(-5px);
    border-color:rgba(229,212,189,.58);
    box-shadow:0 28px 68px rgba(17,17,15,.16);
  }

  .contact-card.contact-topic-card--image:hover .contact-topic-card__image{
    transform:scale(1.028);
    filter:saturate(1.02) contrast(1.01);
  }

  .contact-card.contact-topic-card--image:hover .contact-topic-card__content{
    transform:translateY(-3px);
  }

  .contact-card.contact-topic-card--image:hover .contact-topic-card__overlay{
    background:
      linear-gradient(180deg,
        rgba(17,17,15,.06) 10%,
        rgba(17,17,15,.14) 42%,
        rgba(17,17,15,.48) 72%,
        rgba(17,17,15,.86) 100%),
      linear-gradient(110deg, rgba(42,41,37,.08), transparent 62%);
  }

  .contact-card.contact-topic-card--image a:hover{
    transform:translateY(-2px);
    border-color:rgba(255,250,241,.70);
    background:rgba(255,250,241,.22);
  }
}

@media   (max-width:920px) and (min-width:621px){
  .contact-options.contact-topic-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .contact-topic-card--bulk{
    grid-column:1/-1;
    min-height:clamp(340px,45vw,400px);
    --contact-card-position:50% 54%;
  }
}

@media   (max-width:620px){
  .contact-options.contact-topic-grid{
    grid-template-columns:1fr;
  }

  .contact-card.contact-topic-card--image{
    min-height:clamp(320px,98vw,370px);
  }

  .contact-topic-card--bulk{
    grid-column:auto;
  }

  .contact-topic-card--orders{--contact-card-position:50% center}
  .contact-topic-card--products{--contact-card-position:51% center}
  .contact-topic-card--bulk{--contact-card-position:52% center}

  .contact-topic-card__content{
    padding:22px;
  }
}

@media   (prefers-reduced-motion:reduce){
  .contact-card.contact-topic-card--image,.contact-topic-card__image,.contact-topic-card__content,.contact-card.contact-topic-card--image a{
    transition:none!important;
  }
}


/* v26 crop refinement: keep the Product details tablet visible while moving
   the mobile text away from the tablet's large printed headline. */
@media   (max-width:920px){
  .contact-topic-card--products{--contact-card-position:63% center}
}

/* Product-details crop contains bold on-screen typography; add a warmer
   left-side veil so Paperoot's live card copy stays visually dominant. */
.contact-topic-card--products .contact-topic-card__overlay{
  background:
    linear-gradient(90deg,rgba(17,17,15,.42) 0%,rgba(17,17,15,.18) 58%,rgba(17,17,15,.04) 100%),
    linear-gradient(180deg,rgba(17,17,15,.08) 10%,rgba(17,17,15,.16) 42%,rgba(17,17,15,.54) 72%,rgba(17,17,15,.90) 100%);
}

@media   (hover:hover) and (pointer:fine){
  .contact-card.contact-topic-card--products:hover .contact-topic-card__overlay{
    background:
      linear-gradient(90deg,rgba(17,17,15,.38) 0%,rgba(17,17,15,.15) 58%,rgba(17,17,15,.03) 100%),
      linear-gradient(180deg,rgba(17,17,15,.06) 10%,rgba(17,17,15,.14) 42%,rgba(17,17,15,.50) 72%,rgba(17,17,15,.88) 100%);
  }
}

/* =========================================================
   Full Local Dev v31 — Premium editorial product detail
   The customer product grid stays intact; the product-detail modal is
   expanded into a calm, accessible editorial purchase experience.
   ========================================================= */
body.modal-open{overflow:hidden}

.product-modal-v31{
  align-items:start;
  justify-items:center;
  padding:12px;
  background:transparent;
}

.product-modal-v31 .product-modal-backdrop{
  background:rgba(17,17,15,.56);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.product-modal-v31 .product-modal-dialog{
  width:min(1460px,100%);
  max-height:calc(100svh - 24px);
  border:1px solid rgba(42,41,37,.14);
  border-radius:clamp(28px,3vw,48px);
  overflow:auto;
  overscroll-behavior:contain;
  background:var(--surface);
  box-shadow:0 42px 130px rgba(17,17,15,.34);
  scroll-padding-top:28px;
}

.product-modal-v31 .product-modal-close{
  position:sticky;
  top:14px;
  margin:14px 14px -58px auto;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:20;
  width:46px;
  height:46px;
  border:1px solid rgba(42,41,37,.16);
  background:rgba(255,250,241,.94);
  box-shadow:0 12px 34px rgba(17,17,15,.12);
  color:var(--ink);
}

.product-modal-v31 .product-modal-close:hover{
  transform:translateY(-1px);
  border-color:rgba(42,41,37,.32);
}

.product-modal-v31 .product-modal-close:focus-visible,.product-detail button:focus-visible,.product-detail a:focus-visible,.paperoot-lightbox-v31 button:focus-visible{
  outline:3px solid rgba(185,155,115,.55);
  outline-offset:3px;
}

.product-modal-v31 .product-modal-content{
  display:block;
  padding:0;
}

.product-detail{
  --pdp-gap:clamp(28px,4.2vw,72px);
  padding:clamp(22px,3.5vw,54px);
  padding-bottom:clamp(28px,4vw,60px);
}

.product-detail__breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  min-height:34px;
  padding-right:64px;
  color:rgba(42,41,37,.58);
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
}

.product-detail__breadcrumb a{
  text-underline-offset:4px;
  text-decoration-color:transparent;
}

.product-detail__breadcrumb a:hover{
  color:var(--ink);
  text-decoration-color:currentColor;
}

.product-detail__layout{
  display:grid;
  grid-template-columns:minmax(0,1.38fr) minmax(360px,.92fr);
  gap:var(--pdp-gap);
  align-items:start;
  margin-top:clamp(18px,2.4vw,34px);
}

.product-gallery{
  position:sticky;
  top:24px;
  display:grid;
  grid-template-columns:84px minmax(0,1fr);
  grid-template-areas:
    "thumbs stage"
    "thumbs count";
  gap:12px 16px;
  align-items:start;
}

.product-gallery__stage{
  grid-area:stage;
  position:relative;
  min-height:clamp(560px,59vw,790px);
  border:1px solid rgba(42,41,37,.09);
  border-radius:clamp(28px,3vw,44px);
  overflow:hidden;
  background:var(--paper-cream);
  cursor:zoom-in;
  isolation:isolate;
}

.product-gallery__stage::before{
  content:"";
  position:absolute;
  inset:clamp(18px,3vw,40px);
  border:1px solid rgba(185,155,115,.14);
  border-radius:calc(clamp(28px,3vw,44px) - 10px);
  pointer-events:none;
  z-index:1;
}

.product-gallery__stage img{
  width:100%;
  height:100%;
  min-height:inherit;
  object-fit:contain;
  padding:clamp(24px,4.5vw,76px);
  transition:opacity .16s ease,transform .32s cubic-bezier(.22,1,.36,1);
}

.product-gallery__stage:hover img{transform:scale(1.012)}

.product-gallery__expand{
  position:absolute;
  right:18px;
  bottom:18px;
  z-index:2;
  padding:9px 12px;
  border:1px solid rgba(42,41,37,.12);
  border-radius:999px;
  background:rgba(255,250,241,.90);
  color:var(--ink);
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.product-gallery__thumbnails{
  grid-area:thumbs;
  display:grid;
  gap:10px;
  max-height:clamp(560px,59vw,790px);
  overflow:auto;
  scrollbar-width:thin;
  padding:2px 4px 2px 2px;
}

.product-gallery__thumbnail{
  width:78px;
  aspect-ratio:1/1.12;
  border:1px solid rgba(42,41,37,.12);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  cursor:pointer;
  opacity:.64;
  transition:opacity .18s ease,border-color .18s ease,transform .18s ease;
}

.product-gallery__thumbnail img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.product-gallery__thumbnail:hover,.product-gallery__thumbnail.is-active{
  opacity:1;
  border-color:var(--deep-sand);
  transform:translateY(-1px);
}

.product-gallery__thumbnail.is-active{
  box-shadow:0 0 0 2px rgba(185,155,115,.14);
}

.product-gallery__count{
  grid-area:count;
  justify-self:end;
  color:rgba(42,41,37,.55);
  font-size:12px;
  font-weight:700;
}

.product-purchase{
  min-width:0;
  padding:clamp(12px,2vw,28px) 0 0;
}

.product-purchase__eyebrow{
  color:var(--deep-sand);
  font-size:11px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.product-purchase__title{
  margin-top:13px;
  max-width:10ch;
  font-size:clamp(42px,5.1vw,76px);
  line-height:.94;
  letter-spacing:-.065em;
  font-weight:650;
}

.product-purchase__title:focus{outline:none}

.product-purchase__price{
  margin-top:20px;
  color:var(--ink);
  font-size:clamp(24px,2.3vw,34px);
  line-height:1;
  font-weight:700;
  letter-spacing:-.035em;
}

.product-purchase__lead{
  margin-top:22px;
  max-width:48ch;
  color:var(--muted);
  font-size:16px;
  line-height:1.72;
}

.product-options{
  margin-top:clamp(28px,3vw,40px);
  border:0;
}

.product-options legend,.quantity-add-label{
  margin-bottom:11px;
  color:rgba(42,41,37,.72);
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.product-option-group{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.product-option{
  position:relative;
  min-height:64px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:4px 12px;
  padding:13px 15px;
  border:1px solid rgba(42,41,37,.14);
  border-radius:18px;
  background:rgba(255,255,255,.62);
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}

.product-option span{font-size:14px;font-weight:700}
.product-option strong{font-size:13px;white-space:nowrap}
.product-option small{grid-column:1/-1;color:var(--muted);font-size:11px;font-weight:700}

.product-option:hover:not(:disabled){
  transform:translateY(-1px);
  border-color:rgba(185,155,115,.62);
  background:#fff;
}

.product-option.is-active{
  border-color:var(--ink);
  background:var(--ink);
  color:#fff;
}

.product-option:disabled{
  cursor:not-allowed;
  opacity:.46;
  background:rgba(229,212,189,.20);
}

.product-purchase__actions{
  display:grid;
  grid-template-columns:136px minmax(0,1fr);
  gap:12px;
  align-items:end;
  margin-top:clamp(24px,2.8vw,36px);
}

.product-purchase__actions .quantity-add{
  display:grid;
  gap:0;
}

.product-purchase__actions .quantity-stepper{
  width:136px;
  min-height:54px;
  display:grid;
  grid-template-columns:42px 1fr 42px;
  border:1px solid rgba(42,41,37,.18);
  border-radius:999px;
  overflow:hidden;
  background:#fff;
}

.product-purchase__actions .quantity-stepper button,.product-purchase__actions .quantity-stepper input{
  width:auto;
  height:52px;
  min-width:0;
  border:0;
  background:transparent;
}

.product-purchase__actions .quantity-stepper button{
  cursor:pointer;
  font-size:20px;
}

.product-purchase__actions .quantity-stepper button:hover:not(:disabled){background:rgba(229,212,189,.36)}
.product-purchase__actions .quantity-stepper button:disabled{opacity:.34;cursor:not-allowed}
.product-purchase__actions .quantity-stepper input{text-align:center;font-weight:700;outline:0}

.product-purchase__add{
  min-height:54px;
  width:100%;
  font-size:14px;
}

.product-purchase__add:disabled,.mobile-purchase-bar .btn-dark:disabled{
  border-color:rgba(42,41,37,.24);
  background:rgba(42,41,37,.18);
  color:rgba(42,41,37,.55);
  cursor:not-allowed;
}

.product-purchase__add.is-loading,.mobile-purchase-bar .is-loading{cursor:wait}
.product-purchase__add.is-added,.mobile-purchase-bar .is-added{background:var(--deep-sand);border-color:var(--deep-sand)}

.product-purchase__status{
  min-height:22px;
  margin-top:10px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  line-height:1.45;
}

.product-reassurance{
  margin-top:clamp(26px,3vw,38px);
  padding:4px 18px;
  border:1px solid rgba(42,41,37,.10);
  border-radius:24px;
  background:rgba(246,242,233,.68);
}

.product-reassurance>div{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:10px;
  padding:15px 0;
  border-bottom:1px solid rgba(42,41,37,.09);
}

.product-reassurance>div:last-child{border-bottom:0}
.product-reassurance>div>span{padding-top:2px;color:var(--deep-sand);font-size:10px;font-weight:700;letter-spacing:.10em}
.product-reassurance p{display:grid;gap:3px}
.product-reassurance strong{font-size:13px}
.product-reassurance small{color:var(--muted);font-size:12px;line-height:1.45}

.product-accordions{
  margin-top:clamp(24px,3vw,38px);
  border-top:1px solid rgba(42,41,37,.15);
}

.product-accordion{
  border-bottom:1px solid rgba(42,41,37,.15);
}

.product-accordion h3{font-size:inherit}

.product-accordion h3 button{
  width:100%;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:0;
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  font-size:14px;
  font-weight:700;
}

.product-accordion__icon{
  position:relative;
  flex:0 0 18px;
  width:18px;
  height:18px;
}

.product-accordion__icon::before,.product-accordion__icon::after{
  content:"";
  position:absolute;
  left:2px;
  top:8px;
  width:14px;
  height:1.5px;
  background:currentColor;
  transition:transform .16s ease;
}

.product-accordion__icon::after{transform:rotate(90deg)}
.product-accordion.is-open .product-accordion__icon::after{transform:rotate(0)}

.product-accordion__panel{
  padding:0 28px 20px 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.7;
}

.product-accordion__panel[hidden]{display:none!important}
.product-accordion__panel p+p{margin-top:10px}
.product-accordion__panel ul{margin-top:12px;display:grid;gap:7px;padding-left:18px}
.product-accordion__panel a{text-underline-offset:4px}

.related-products{
  margin-top:clamp(60px,8vw,112px);
  padding-top:clamp(28px,4vw,48px);
  border-top:1px solid rgba(42,41,37,.12);
}

.related-products__heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:24px;
}

.related-products__heading h2{
  max-width:12ch;
  font-size:clamp(30px,3.8vw,54px);
  line-height:1;
  letter-spacing:-.055em;
}

.related-products__heading>a{
  color:var(--muted);
  font-size:13px;
  font-weight:700;
  text-underline-offset:5px;
}

.related-products__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.related-product-card{
  display:grid;
  grid-template-columns:minmax(110px,.9fr) minmax(0,1.1fr);
  gap:14px;
  align-items:center;
  padding:12px;
  border:1px solid rgba(42,41,37,.10);
  border-radius:24px;
  background:rgba(255,255,255,.58);
}

.related-product-card__image{
  min-height:170px;
  border:0;
  border-radius:18px;
  overflow:hidden;
  background:var(--paper-cream);
  cursor:pointer;
}

.related-product-card__image img{
  width:100%;
  height:100%;
  min-height:170px;
  object-fit:cover;
  transition:transform .28s ease;
}

.related-product-card:hover .related-product-card__image img{transform:scale(1.025)}
.related-product-card>div{min-width:0}
.related-product-card p{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.related-product-card h3{margin-top:7px;font-size:clamp(17px,1.4vw,22px);line-height:1.05;letter-spacing:-.035em}
.related-product-card strong{display:block;margin-top:10px;font-size:13px}
.related-product-card__link{margin-top:14px;border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px}

.mobile-purchase-bar{display:none}

.product-loading{padding:clamp(28px,4vw,58px)}
.product-loading__crumb{width:240px;height:24px;border-radius:999px}
.product-loading__layout{display:grid;grid-template-columns:1.35fr .85fr;gap:clamp(30px,5vw,72px);margin-top:30px}
.product-loading__gallery{min-height:680px;border-radius:42px}
.product-loading__copy{display:grid;align-content:start;gap:18px;padding-top:44px}
.product-loading__line{width:86%;height:22px;border-radius:999px}
.product-loading__line--small{width:36%;height:13px}
.product-loading__title{width:92%;height:112px;border-radius:22px}
.product-loading__options{height:150px;border-radius:24px;margin-top:20px}
.product-loading__action{height:56px;border-radius:999px}
.skeleton-block{background:linear-gradient(90deg,rgba(229,212,189,.42),rgba(255,255,255,.78),rgba(229,212,189,.42));background-size:220% 100%;animation:paperoot-skeleton 1.7s ease-in-out infinite}
@keyframes   paperoot-skeleton{0%{background-position:100% 0}100%{background-position:-120% 0}}

.product-error{
  min-height:640px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  max-width:760px;
  margin:0 auto;
  padding:clamp(42px,8vw,110px) clamp(24px,4vw,52px);
}
.product-error h2{max-width:10ch;font-size:clamp(44px,7vw,88px);line-height:.92;letter-spacing:-.065em}
.product-error>p:not(.eyebrow){max-width:52ch;margin-top:24px;color:var(--muted);font-size:16px;line-height:1.7}
.product-error__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.product-error__actions .btn-light{border-color:rgba(42,41,37,.18);color:var(--ink)}

.paperoot-lightbox-v31 .paperoot-lightbox-dialog{
  width:min(1180px,calc(100vw - 28px));
  max-width:none;
  max-height:calc(100svh - 28px);
  padding:clamp(18px,3vw,34px);
  border-radius:32px;
  background:var(--surface);
}
.paperoot-lightbox-v31 .paperoot-lightbox-dialog img{max-width:min(960px,80vw);max-height:78svh;object-fit:contain}
.paperoot-lightbox-count{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);color:var(--muted);font-size:12px;font-weight:700}

@media   (max-width:1120px){
  .product-detail__layout{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:clamp(24px,3vw,42px)}
  .product-gallery{grid-template-columns:70px minmax(0,1fr)}
  .product-gallery__thumbnail{width:66px;border-radius:15px}
  .product-gallery__stage{min-height:clamp(500px,57vw,680px)}
  .related-product-card{grid-template-columns:1fr}
  .related-product-card__image{min-height:210px}
  .related-product-card__image img{min-height:210px}
}

@media   (max-width:860px){
  .product-modal-v31{padding:8px}
  .product-modal-v31 .product-modal-dialog{max-height:calc(100svh - 16px);border-radius:30px}
  .product-detail{padding:22px 18px 30px}
  .product-detail__layout{grid-template-columns:1fr;gap:34px}
  .product-gallery{position:relative;top:auto;grid-template-columns:1fr;grid-template-areas:"stage" "thumbs" "count"}
  .product-gallery__stage{min-height:min(112vw,650px)}
  .product-gallery__thumbnails{display:flex;max-height:none;overflow-x:auto;overflow-y:hidden;padding:2px 2px 7px}
  .product-gallery__thumbnail{flex:0 0 76px;width:76px}
  .product-purchase{padding-top:4px}
  .product-purchase__title{max-width:13ch;font-size:clamp(44px,9vw,70px)}
  .related-products__grid{grid-template-columns:repeat(3,minmax(220px,1fr));overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:8px}
  .related-product-card{scroll-snap-align:start}
  .product-loading__layout{grid-template-columns:1fr}
  .product-loading__gallery{min-height:520px}
}

@media   (max-width:768px){
  .product-modal-v31 .product-modal-close{top:10px;margin:10px 10px -54px auto;width:44px;height:44px}
  .product-detail__breadcrumb{padding-right:50px}
  .product-purchase__actions{grid-template-columns:124px minmax(0,1fr)}
  .product-purchase__actions .quantity-stepper{width:124px;grid-template-columns:38px 1fr 38px}
  .mobile-purchase-bar{
    position:sticky;
    bottom:-1px;
    z-index:15;
    min-height:72px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin:36px -18px -30px;
    padding:10px max(18px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-right));
    border-top:1px solid rgba(42,41,37,.14);
    background:rgba(255,250,241,.96);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    transform:translateY(110%);
    opacity:0;
    pointer-events:none;
    transition:transform .2s ease,opacity .2s ease;
  }
  .mobile-purchase-bar.is-visible{transform:translateY(0);opacity:1;pointer-events:auto}
  .mobile-purchase-bar>div{display:grid;gap:2px;min-width:0}
  .mobile-purchase-bar small{max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
  .mobile-purchase-bar strong{font-size:16px}
  .mobile-purchase-bar .btn-dark{min-height:48px;flex:0 0 auto;padding-inline:18px}
}

@media   (max-width:560px){
  .product-detail{padding:18px 14px 26px}
  .product-detail__breadcrumb{gap:6px;font-size:11px}
  .product-gallery__stage{min-height:118vw;border-radius:26px}
  .product-gallery__stage::before{inset:14px;border-radius:18px}
  .product-gallery__stage img{padding:22px}
  .product-gallery__expand{right:12px;bottom:12px;padding:8px 10px;font-size:9px}
  .product-gallery__thumbnail{flex-basis:68px;width:68px;border-radius:14px}
  .product-purchase__title{font-size:clamp(42px,14vw,62px)}
  .product-purchase__lead{font-size:15px}
  .product-option-group{grid-template-columns:1fr}
  .product-option{min-height:58px}
  .product-purchase__actions{grid-template-columns:1fr}
  .product-purchase__actions .quantity-add{width:132px}
  .product-purchase__actions .quantity-stepper{width:132px}
  .product-reassurance{padding-inline:14px;border-radius:20px}
  .related-products__heading{align-items:start;flex-direction:column}
  .related-products__grid{grid-template-columns:repeat(3,minmax(245px,82vw))}
  .related-product-card{grid-template-columns:112px minmax(0,1fr)}
  .related-product-card__image,.related-product-card__image img{min-height:142px}
  .mobile-purchase-bar{margin-left:-14px;margin-right:-14px;margin-bottom:-26px}
  .mobile-purchase-bar .btn-dark{padding-inline:14px;font-size:12px}
  .product-loading{padding:22px 14px}
  .product-loading__gallery{min-height:108vw;border-radius:28px}
  .product-loading__title{height:82px}
}

@media   (max-width:360px){
  .product-detail__breadcrumb span:nth-of-type(2),.product-detail__breadcrumb a:nth-of-type(2){display:none}
  .product-gallery__stage{min-height:116vw}
  .related-products__grid{grid-template-columns:repeat(3,minmax(236px,86vw))}
  .mobile-purchase-bar small{max-width:13ch}
}

@media   (prefers-reduced-motion:reduce){
  .product-gallery__stage img,.product-gallery__thumbnail,.product-option,.related-product-card__image img,.mobile-purchase-bar,.product-accordion__icon::after,.product-modal-v31,.paperoot-lightbox-v31{
    transition:none!important;
  }
  .product-gallery__stage:hover img,.related-product-card:hover .related-product-card__image img{transform:none!important}
  .skeleton-block{animation:none!important;background:rgba(229,212,189,.46)!important}
}

/* v31 quantity control reset against the legacy modal component. */
.product-purchase__actions .quantity-add{
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  grid-template-columns:1fr;
  align-items:start;
}
.product-purchase__actions .quantity-add-label{margin:0 0 11px}
.product-purchase__actions .quantity-stepper button:hover:not(:disabled){
  transform:none;
  color:var(--ink);
}

@media   (max-width:360px){
  .mobile-purchase-bar small{
    max-width:18ch;
    white-space:normal;
    overflow:visible;
    line-height:1.1;
  }
}


/* =========================================================
   Full Local Dev v32 — Premium shared basket drawer
   ========================================================= */
.basket-drawer-layer{
  --basket-drawer-duration:320ms;
  position:fixed;
  inset:0;
  z-index:9000;
  display:grid;
  grid-template-columns:1fr auto;
  pointer-events:none;
}
.basket-drawer-layer[hidden]{display:none!important}
.basket-drawer-layer.is-open{pointer-events:auto}
.basket-drawer-overlay{
  position:absolute;
  inset:0;
  border:0;
  padding:0;
  background:rgba(17,17,15,.42);
  opacity:0;
  cursor:pointer;
  transition:opacity var(--basket-drawer-duration) cubic-bezier(.22,.61,.36,1);
}
.basket-drawer-layer.is-open .basket-drawer-overlay{opacity:1}
.basket-drawer{
  position:relative;
  grid-column:2;
  width:min(520px,48vw);
  min-width:420px;
  height:100vh;
  height:100svh;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden;
  background:var(--paper-cream,#fffaf1);
  color:var(--ink,#11110f);
  border-radius:34px 0 0 34px;
  box-shadow:-20px 0 55px rgba(17,17,15,.14);
  transform:translate3d(100%,0,0);
  transition:transform var(--basket-drawer-duration) cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.basket-drawer-layer.is-open .basket-drawer{transform:translate3d(0,0,0)}
.basket-drawer__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  padding:calc(28px + env(safe-area-inset-top,0px)) 28px 22px;
  border-bottom:1px solid rgba(185,155,115,.28);
  background:rgba(255,250,241,.96);
}
.basket-drawer__heading{min-width:0}
.basket-drawer__eyebrow{
  margin:0 0 8px;
  color:var(--muted,#6f695f);
  font-size:11px;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.basket-drawer__title-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.basket-drawer__title-row h2{
  margin:0;
  font-size:clamp(32px,3.2vw,46px);
  line-height:.95;
  letter-spacing:-.055em;
}
.basket-drawer__count{color:var(--muted,#6f695f);font-size:13px;font-weight:700}
.basket-drawer__close{
  width:46px;
  height:46px;
  flex:0 0 46px;
  display:grid;
  place-items:center;
  border:1px solid rgba(42,41,37,.14);
  border-radius:999px;
  background:#fff;
  color:var(--ink,#11110f);
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.basket-drawer__close svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.basket-drawer__close:hover{background:var(--ink,#11110f);color:#fff;border-color:var(--ink,#11110f);transform:rotate(3deg)}
.basket-drawer__close:focus-visible,.basket-drawer-item__quantity button:focus-visible,.basket-drawer-item__remove:focus-visible,.basket-drawer__checkout:focus-visible,.basket-drawer__full-link:focus-visible,.basket-drawer__shop-link:focus-visible,.basket-drawer__continue:focus-visible,.basket-drawer-item__title:focus-visible,.basket-drawer-item__media:focus-visible{
  outline:3px solid rgba(185,155,115,.45);
  outline-offset:3px;
}
.basket-drawer__content{
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  padding:0 28px;
}
.basket-drawer__items{display:grid}
.basket-drawer-item{
  position:relative;
  display:grid;
  grid-template-columns:94px minmax(0,1fr) auto;
  gap:17px;
  align-items:start;
  padding:22px 0;
  border-bottom:1px solid rgba(185,155,115,.25);
}
.basket-drawer-item:last-child{border-bottom:0}
.basket-drawer-item__media{
  width:94px;
  aspect-ratio:1;
  display:block;
  overflow:hidden;
  border-radius:22px;
  background:#f0e8da;
  border:1px solid rgba(185,155,115,.18);
}
.basket-drawer-item__media img{width:100%;height:100%;display:block;object-fit:cover}
.basket-drawer-item__details{min-width:0;padding-top:2px}
.basket-drawer-item__title{
  display:inline-block;
  color:var(--ink,#11110f);
  font-size:18px;
  font-weight:700;
  line-height:1.12;
  letter-spacing:-.035em;
  text-decoration:none;
}
.basket-drawer-item__variant{margin:6px 0 0;color:var(--muted,#6f695f);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.basket-drawer-item__unit{margin:6px 0 0;color:var(--muted,#6f695f);font-size:13px}
.basket-drawer-item__controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}
.basket-drawer-item__quantity{
  display:inline-grid;
  grid-template-columns:34px 32px 34px;
  align-items:center;
  border:1px solid rgba(42,41,37,.14);
  border-radius:999px;
  padding:4px;
  background:#fff;
}
.basket-drawer-item__quantity button{
  width:34px;
  height:34px;
  border:0;
  border-radius:999px;
  background:rgba(42,41,37,.055);
  color:var(--ink,#11110f);
  font:inherit;
  font-size:18px;
  cursor:pointer;
}
.basket-drawer-item__quantity button:hover:not(:disabled){background:var(--ink,#11110f);color:#fff}
.basket-drawer-item__quantity button:disabled{opacity:.32;cursor:not-allowed}
.basket-drawer-item__quantity strong{text-align:center;font-size:14px}
.basket-drawer-item__remove{
  border:0;
  padding:7px 0;
  background:transparent;
  color:var(--muted,#6f695f);
  font:inherit;
  font-size:12px;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:4px;
  cursor:pointer;
}
.basket-drawer-item__remove:hover{color:var(--ink,#11110f)}
.basket-drawer-item__total{padding-top:4px;white-space:nowrap;font-size:15px}
.basket-drawer__summary{
  padding:21px 28px calc(24px + env(safe-area-inset-bottom,0px));
  border-top:1px solid rgba(185,155,115,.28);
  background:rgba(255,250,241,.98);
  box-shadow:0 -18px 36px rgba(17,17,15,.055);
}
.basket-drawer__summary[hidden]{display:none!important}
.basket-drawer__subtotal{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:17px}
.basket-drawer__subtotal strong{font-size:20px;letter-spacing:-.025em}
.basket-drawer__note{margin:9px 0 17px;color:var(--muted,#6f695f);font-size:13px;line-height:1.45}
.basket-drawer__checkout,.basket-drawer__shop-link{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--ink,#11110f);
  border-radius:999px;
  padding:13px 22px;
  background:var(--ink,#11110f);
  color:#fff;
  font-weight:700;
  text-decoration:none;
  transition:transform .22s cubic-bezier(.22,.61,.36,1),background .22s ease;
}
.basket-drawer__checkout:hover,.basket-drawer__shop-link:hover{background:var(--root-dark,#2a2925);transform:translateY(-1px)}
.basket-drawer__full-link{
  width:max-content;
  display:block;
  margin:14px auto 0;
  color:var(--ink,#11110f);
  font-size:13px;
  font-weight:700;
  text-underline-offset:5px;
}
.basket-drawer__empty{
  min-height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:52px 20px;
}
.basket-drawer__empty-mark{
  position:relative;
  width:92px;
  height:92px;
  margin-bottom:26px;
  border:1.5px solid rgba(185,155,115,.4);
  border-radius:30px;
  transform:rotate(4deg);
}
.basket-drawer__empty-mark span{position:absolute;display:block;background:rgba(185,155,115,.44);border-radius:999px}
.basket-drawer__empty-mark span:nth-child(1){width:56px;height:1.5px;left:17px;top:29px}
.basket-drawer__empty-mark span:nth-child(2){width:1.5px;height:56px;left:44px;top:17px}
.basket-drawer__empty-mark span:nth-child(3){width:34px;height:34px;left:28px;top:28px;border:1.5px solid rgba(255,250,241,.9);background:transparent}
.basket-drawer__empty h3{margin:0;font-size:clamp(30px,4vw,44px);line-height:1;letter-spacing:-.055em}
.basket-drawer__empty>p:not(.basket-drawer__eyebrow){max-width:330px;margin:14px 0 24px;color:var(--muted,#6f695f);line-height:1.65}
.basket-drawer__shop-link{width:min(100%,280px)}
.basket-drawer__continue{margin-top:14px;border:0;background:transparent;color:var(--ink,#11110f);font:inherit;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:5px;cursor:pointer}
body.basket-drawer-open{overscroll-behavior:none}

@media   (max-width:1024px){
  .basket-drawer{width:62vw;min-width:390px;max-width:520px}
}
@media   (max-width:768px){
  .basket-drawer{width:min(94vw,500px);min-width:0;border-radius:28px 0 0 28px}
  .basket-drawer__header{padding-inline:22px}
  .basket-drawer__content{padding-inline:22px}
  .basket-drawer__summary{padding-inline:22px}
}
@media   (max-width:430px){
  .basket-drawer{width:100vw;max-width:none;border-radius:0}
  .basket-drawer__header{padding:calc(20px + env(safe-area-inset-top,0px)) 18px 17px}
  .basket-drawer__content{padding-inline:18px}
  .basket-drawer__summary{padding:18px 18px calc(18px + env(safe-area-inset-bottom,0px))}
  .basket-drawer-item{grid-template-columns:78px minmax(0,1fr);gap:14px;padding:18px 0}
  .basket-drawer-item__media{width:78px;border-radius:18px}
  .basket-drawer-item__total{position:absolute;right:0;top:20px;font-size:13px}
  .basket-drawer-item__details{padding-right:58px}
  .basket-drawer-item__controls{gap:10px;margin-top:12px}
  .basket-drawer-item__quantity{grid-template-columns:32px 29px 32px}
  .basket-drawer-item__quantity button{width:32px;height:32px}
  .basket-drawer__close{width:44px;height:44px;flex-basis:44px}
}
@media   (max-width:340px){
  .basket-drawer__header,.basket-drawer__content,.basket-drawer__summary{padding-left:14px;padding-right:14px}
  .basket-drawer-item{grid-template-columns:70px minmax(0,1fr);gap:11px}
  .basket-drawer-item__media{width:70px}
  .basket-drawer-item__title{font-size:16px}
  .basket-drawer-item__details{padding-right:52px}
}
@media   (prefers-reduced-motion:reduce){
  .basket-drawer-layer{--basket-drawer-duration:20ms}
  .basket-drawer-overlay,.basket-drawer,.basket-drawer__close,.basket-drawer__checkout,.basket-drawer__shop-link{transition-duration:20ms!important}
  .basket-drawer__close:hover,.basket-drawer__checkout:hover,.basket-drawer__shop-link:hover{transform:none}
}



/* Add-to-basket confirmation */
.paperoot-basket-toast{grid-template-columns:auto minmax(0,1fr)}
.paperoot-basket-toast>img{display:none!important}
.paperoot-basket-toast__check,.add-confirmation-mark{
  flex:0 0 auto;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
}
.paperoot-basket-toast__check{width:44px;height:44px;background:var(--paper-cream);color:var(--ink);border:1px solid rgba(185,155,115,.34)}
.paperoot-basket-toast__check svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.add-confirmation-mark{width:24px;height:24px;margin-right:8px;background:rgba(255,250,241,.18)}
.add-confirmation-mark svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.add-btn.is-added,.product-purchase__add.is-added,.mobile-purchase-bar .btn-dark.is-added{display:inline-flex;align-items:center;justify-content:center}

/* Basket-drawer architectural watermark */
.basket-drawer{isolation:isolate}
.basket-drawer__watermark{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;user-select:none}
.basket-drawer__watermark svg{width:100%;height:100%;display:block;fill:none;stroke-linecap:round;stroke-linejoin:round}
.basket-drawer__watermark-lines--secondary{stroke:rgba(213,192,161,.24);stroke-width:1.4}
.basket-drawer__watermark-lines--primary{stroke:rgba(185,155,115,.18);stroke-width:1.75}
.basket-drawer__watermark-lines--accent{stroke:rgba(42,41,37,.07);stroke-width:2}
.basket-drawer__header,.basket-drawer__content,.basket-drawer__summary{position:relative;z-index:1}
.basket-drawer__content{background:rgba(255,250,241,.82)}

/* Shop toolbar: normal document flow, no sticky following */
.products-controls{
  position:relative!important;
  top:auto!important;
  z-index:12;
  pointer-events:auto;
  justify-content:stretch;
  margin-bottom:clamp(30px,4vw,48px);
}
.shop-toolbar{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px}
.shop-toolbar .tabs{min-width:0;box-shadow:0 14px 42px rgba(31,27,20,.065)}
.shop-filter-button{
  min-height:48px;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 17px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:var(--ink);
  font:inherit;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 14px 42px rgba(31,27,20,.055);
  transition:color 180ms ease,background-color 180ms ease,border-color 180ms ease,transform 180ms ease;
}
.shop-filter-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.shop-filter-button:hover,.shop-filter-button:focus-visible{color:#b99b73;background:#fffaf1;border-color:#d5c0a1;transform:translateY(-1px)}
.shop-filter-button:focus-visible{outline:3px solid rgba(185,155,115,.35);outline-offset:3px}
.shop-filter-button__count{min-width:23px;height:23px;padding:0 6px;display:inline-grid;place-items:center;border-radius:999px;background:var(--ink);color:#fff;font-size:11px}

/* Shop filter drawer */
.shop-filter-layer{position:fixed;inset:0;z-index:9200;display:grid;grid-template-columns:auto 1fr;pointer-events:none}
.shop-filter-layer[hidden]{display:none!important}
.shop-filter-layer.is-open{pointer-events:auto}
.shop-filter-overlay{position:absolute;inset:0;border:0;background:rgba(17,17,15,.42);opacity:0;cursor:pointer;transition:opacity .32s cubic-bezier(.22,.61,.36,1)}
.shop-filter-layer.is-open .shop-filter-overlay{opacity:1}
.shop-filter-panel{
  position:relative;
  grid-column:1;
  width:min(430px,38vw);
  min-width:380px;
  height:100vh;
  height:100svh;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  overflow:hidden;
  border-radius:0 34px 34px 0;
  background:var(--surface);
  box-shadow:20px 0 55px rgba(17,17,15,.14);
  transform:translate3d(-100%,0,0);
  transition:transform .32s cubic-bezier(.22,.61,.36,1);
}
.shop-filter-layer.is-open .shop-filter-panel{transform:translate3d(0,0,0)}
.shop-filter-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:calc(28px + env(safe-area-inset-top,0px)) 28px 22px;border-bottom:1px solid rgba(185,155,115,.25);background:var(--paper-cream)}
.shop-filter-panel__header h2{font-size:clamp(34px,4vw,48px);line-height:.95;letter-spacing:-.055em}
.shop-filter-panel__close{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;border:1px solid rgba(42,41,37,.14);border-radius:999px;background:#fff;color:var(--ink);cursor:pointer}
.shop-filter-panel__close svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.shop-filter-panel__close:hover{background:var(--ink);color:#fff}
.shop-filter-panel__close:focus-visible,.shop-filter-form input:focus-visible,.shop-filter-form select:focus-visible,.shop-filter-form button:focus-visible{outline:3px solid rgba(185,155,115,.4);outline-offset:3px}
.shop-filter-form{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}
.shop-filter-form__content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 28px 18px}
.shop-filter-group{margin:0;padding:24px 0;border:0;border-bottom:1px solid rgba(185,155,115,.22)}
.shop-filter-group legend,.shop-filter-sort{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.shop-filter-options{display:grid;gap:9px;margin-top:15px}
.shop-filter-options label{display:flex;align-items:center;gap:10px;min-height:44px;padding:9px 12px;border:1px solid rgba(42,41,37,.11);border-radius:15px;background:rgba(255,255,255,.66);cursor:pointer}
.shop-filter-options input{accent-color:var(--ink)}
.shop-filter-options label:has(input:checked){border-color:rgba(185,155,115,.62);background:var(--paper-cream)}
.shop-filter-price{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}
.shop-filter-price label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:700}
.shop-filter-price label>span{display:flex;align-items:center;gap:4px;padding:0 12px;border:1px solid rgba(42,41,37,.13);border-radius:14px;background:#fff}
.shop-filter-price input{width:100%;min-width:0;padding:12px 0;border:0;background:transparent;outline:0;font:inherit}
.shop-filter-range{margin-top:9px;color:var(--muted);font-size:12px}
.shop-filter-sort{display:grid;gap:11px;padding:24px 0}
.shop-filter-sort select{width:100%;padding:14px;border:1px solid rgba(42,41,37,.13);border-radius:15px;background:#fff;color:var(--ink);font:inherit;text-transform:none;letter-spacing:0}
.shop-filter-panel__actions{position:relative;z-index:2;display:grid;grid-template-columns:auto 1fr;gap:10px;padding:16px 28px calc(20px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(185,155,115,.22);background:var(--surface);box-shadow:0 -12px 28px rgba(31,27,20,.035)}
.shop-filter-clear,.shop-filter-apply{min-height:50px;border-radius:999px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.shop-filter-clear{padding:0 18px;border:1px solid rgba(42,41,37,.18);background:#fff;color:var(--ink)}
.shop-filter-apply{border:1px solid var(--ink);background:var(--ink);color:#fff}
.shop-empty-results{grid-column:1/-1;min-height:360px;display:grid;place-items:center;align-content:center;text-align:center;padding:48px;border:1px solid var(--line);border-radius:var(--radius-xl);background:rgba(255,255,255,.68)}
.shop-empty-results h2{font-size:clamp(34px,5vw,62px);line-height:.95;letter-spacing:-.06em}
.shop-empty-results>p:not(.eyebrow){max-width:48ch;margin-top:14px;color:var(--muted);line-height:1.65}
.shop-empty-results button{margin-top:22px;min-height:48px;padding:0 22px;border:0;border-radius:999px;background:var(--ink);color:#fff;font-weight:700;cursor:pointer}

/* Shop note spacing and presentation */
.products-page .products-grid-section{padding-bottom:0}
.products-page .shop-note{
  position:relative;
  overflow:hidden;
  margin-top:clamp(64px,7vw,88px);
  margin-bottom:clamp(72px,8vw,120px);
  border-color:rgba(185,155,115,.28);
  background:linear-gradient(145deg,rgba(255,250,241,.95),rgba(229,212,189,.44));
  box-shadow:0 18px 48px rgba(31,27,20,.055);
}
.products-page .shop-note::after{content:"";position:absolute;right:-34px;top:-58px;width:150px;height:150px;border:1.5px solid rgba(185,155,115,.16);border-radius:50%;pointer-events:none}
.products-page .shop-note>*{position:relative;z-index:1}

/* Homepage brand-film frame and section rhythm */
.brand-film-section{width:var(--container);margin:0 auto;padding:0 0 clamp(64px,7vw,96px)}
.brand-film-frame{position:relative;isolation:isolate;min-height:clamp(280px,31vw,420px);aspect-ratio:16/5;overflow:hidden;border:1px solid rgba(185,155,115,.26);border-radius:var(--radius-xl);background:var(--sand);box-shadow:0 20px 60px rgba(31,27,20,.08)}
.brand-film-video,.brand-film-fallback,.brand-film-fallback img{position:absolute;inset:0;width:100%;height:100%}
.brand-film-video{z-index:1;object-fit:cover;background:var(--sand)}
.brand-film-video[hidden],.brand-film-play[hidden]{display:none!important}
.brand-film-fallback{z-index:0;overflow:hidden}
.brand-film-fallback img{object-fit:cover;object-position:center 54%;filter:saturate(.72) contrast(.94);opacity:.76}
.brand-film-fallback::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,17,15,.58),rgba(17,17,15,.12) 62%,rgba(17,17,15,.32))}
.brand-film-lines{position:absolute;inset:0;width:100%;height:100%;z-index:2;fill:none;stroke:rgba(255,250,241,.28);stroke-width:.38;stroke-linecap:round}
.brand-film-fallback-mark{position:absolute;right:8%;top:50%;z-index:3;width:62px;height:62px;display:grid;place-items:center;transform:translateY(-50%);border:1px solid rgba(255,250,241,.48);border-radius:999px;background:rgba(17,17,15,.22);color:var(--paper-cream)}
.brand-film-fallback-mark svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.brand-film-caption{position:absolute;left:clamp(24px,5vw,70px);bottom:clamp(24px,4vw,54px);z-index:4;max-width:min(680px,66%);color:var(--paper-cream)}
.brand-film-caption .eyebrow{color:var(--warm-beige)}
.brand-film-caption h2{margin-top:10px;font-size:clamp(34px,5vw,72px);line-height:.94;letter-spacing:-.065em;text-shadow:0 6px 26px rgba(17,17,15,.26)}
.brand-film-play{position:absolute;right:24px;bottom:24px;z-index:5;width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(255,250,241,.52);border-radius:999px;background:rgba(17,17,15,.42);color:#fff;cursor:pointer}
.brand-film-play svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.brand-film-pause-icon{display:none}.brand-film-play.is-playing .brand-film-play-icon{display:none}.brand-film-play.is-playing .brand-film-pause-icon{display:block}
.brand-film-frame.is-video-ready .brand-film-fallback{opacity:0;pointer-events:none}
.reviews-section + .product-grid-section{padding-top:clamp(88px,8vw,120px)}




































@media   (max-width:1024px){
  .shop-filter-panel{width:62vw;min-width:360px}
  
}
@media   (max-width:768px){
  .shop-toolbar{align-items:stretch;flex-direction:column}
  .shop-toolbar .tabs{width:100%}
  .shop-filter-button{align-self:flex-end}
  .shop-filter-panel{width:96vw;min-width:0;border-radius:0 28px 28px 0}
  
  .brand-film-frame{aspect-ratio:16/9;min-height:0}
  .brand-film-caption{max-width:76%}
  .reviews-section + .product-grid-section{padding-top:clamp(64px,9vw,88px)}
  .products-page .shop-note{margin-top:clamp(48px,7vw,64px)}
}
@media   (max-width:430px){
  .shop-filter-panel{width:100vw;border-radius:0}
  .shop-filter-panel__header{padding-left:20px;padding-right:20px}
  .shop-filter-form__content{padding-left:20px;padding-right:20px}
  .shop-filter-panel__actions{padding-left:20px;padding-right:20px}
  .shop-filter-price{grid-template-columns:1fr}
  .brand-film-section{padding-bottom:52px}
  .brand-film-frame{border-radius:30px}
  .brand-film-caption{left:20px;bottom:20px;max-width:78%}.brand-film-caption h2{font-size:clamp(30px,10vw,44px)}
  .brand-film-fallback-mark{right:20px;top:24px;transform:none;width:48px;height:48px}
  .reviews-section + .product-grid-section{padding-top:52px}
  .products-page .shop-note{margin-top:40px}
  .basket-drawer__watermark-lines--secondary{opacity:.78}
  .basket-drawer__watermark-lines--primary{opacity:.72}
  .basket-drawer__watermark-lines--accent{opacity:.6}
}
@media   (prefers-reduced-motion:reduce){
  .shop-filter-overlay,.shop-filter-panel,.shop-filter-button,.paperoot-basket-toast,.add-confirmation-mark,.brand-film-fallback{transition:none!important;animation:none!important}
  .shop-filter-button:hover,.shop-filter-button:focus-visible{transform:none}
  .brand-film-video{display:none!important}
}

/* =========================================================
   Full Local Dev v34 — focused UI polish fixes
   - drawer logo watermarks
   - wider homepage film area
   - logo-based basket confirmation marks
   ========================================================= */

/* Keep legacy line watermarks out of view; use the approved logo-dark.png mark. */
.basket-drawer__watermark{display:none!important}

.basket-drawer,.shop-filter-panel{position:relative;isolation:isolate;overflow:hidden}

.basket-drawer::before,.shop-filter-panel::before{
  content:"";
  position:absolute;
  z-index:0;
  width:clamp(220px,46vw,430px);
  height:clamp(220px,46vw,430px);
  right:clamp(-120px,-8vw,-48px);
  bottom:clamp(44px,10vh,120px);
  background:url("/assets/images/logo-dark.png") center/contain no-repeat;
  opacity:.055;
  pointer-events:none;
  user-select:none;
  transform:rotate(-4deg);
}

.shop-filter-panel::before{
  right:clamp(-108px,-7vw,-42px);
  bottom:clamp(38px,9vh,106px);
  transform:rotate(4deg);
  opacity:.052;
}

.basket-drawer__header,.basket-drawer__content,.basket-drawer__summary,.shop-filter-panel__header,.shop-filter-form{position:relative;z-index:1}

/* Logo mark inside add-to-basket success states and the product-added toast. */
.paperoot-basket-toast__check svg,.add-confirmation-mark svg{display:none!important}

.paperoot-basket-toast__check img{
  width:28px;
  height:28px;
  display:block;
  object-fit:contain;
}

.add-confirmation-mark img{
  width:15px;
  height:15px;
  display:block;
  object-fit:contain;
}

.add-confirmation-mark{
  border:1px solid rgba(255,250,241,.30);
}

/* Make the homepage video/fallback panel wider and a little taller without changing the section design. */
.brand-film-section{
  width:min(1540px, calc(100vw - 28px));
}

.brand-film-frame{
  min-height:clamp(340px,38vw,540px);
  aspect-ratio:16/6;
}

@media   (max-width:768px){
  .brand-film-section{width:min(100vw - 24px, 720px)}
  .brand-film-frame{min-height:clamp(300px,56vw,430px);aspect-ratio:16/9}
}

@media   (max-width:430px){
  .brand-film-section{width:calc(100vw - 20px)}
  .brand-film-frame{min-height:clamp(280px,74vw,360px)}
  .basket-drawer::before,.shop-filter-panel::before{
    width:300px;
    height:300px;
    right:-110px;
    bottom:70px;
    opacity:.05;
  }
}



/* Full Local Dev v35 — drawer logo watermarks and product-added icon correction */
.basket-drawer__watermark,.shop-filter-panel__watermark{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  user-select:none;
}

.basket-drawer__watermark img,.shop-filter-panel__watermark img{
  position:absolute;
  width:clamp(260px, 58vw, 430px);
  height:clamp(260px, 58vw, 430px);
  object-fit:contain;
  opacity:.12;
  right:clamp(-150px, -12vw, -74px);
  bottom:clamp(12px, 8vh, 82px);
  transform:rotate(-8deg);
  filter:grayscale(1) contrast(.95);
}



.shop-filter-panel__watermark img{
  opacity:.11;
  left:clamp(-155px, -13vw, -82px);
  right:auto;
  bottom:clamp(30px, 10vh, 100px);
  transform:rotate(8deg);
}

.basket-drawer__header,.basket-drawer__content,.basket-drawer__summary,.shop-filter-panel__header,.shop-filter-form{
  position:relative;
  z-index:1;
}

.shop-filter-panel{
  isolation:isolate;
}

.paperoot-basket-toast__check{
  width:70px;
  height:70px;
  flex:0 0 70px;
  display:grid!important;
  place-items:center;
  margin:0!important;
  border-radius:999px;
  background:linear-gradient(145deg, #fff, var(--paper-cream));
  border:1px solid rgba(185,155,115,.34);
  box-shadow:inset 0 0 0 8px rgba(255,250,241,.70), 0 12px 26px rgba(31,27,20,.08);
}

.paperoot-basket-toast__check::before,.paperoot-basket-toast__check::after{
  content:none!important;
}

.paperoot-basket-toast__check img{
  width:42px!important;
  height:42px!important;
  max-width:42px;
  max-height:42px;
  display:block;
  object-fit:contain;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.paperoot-basket-toast [data-toast-copy]{
  display:block;
  margin-top:2px;
  font-size:12px;
  color:var(--muted);
}

@media   (max-width:430px){
  .basket-drawer__watermark img,.shop-filter-panel__watermark img{
    width:330px;
    height:330px;
    opacity:.10;
  }
  .paperoot-basket-toast__check{
    width:60px;
    height:60px;
    flex-basis:60px;
  }
  .paperoot-basket-toast__check img{
    width:36px!important;
    height:36px!important;
  }
}




/* Disable the earlier whole-drawer watermark treatment so marks do not sit
   behind headers, footers, checkout actions, or the complete side panel. */
.basket-drawer::before,.shop-filter-panel::before{
  content:none!important;
  display:none!important;
}

.basket-drawer > .basket-drawer__watermark,.shop-filter-panel > .shop-filter-panel__watermark{
  display:none!important;
}

/* The watermark now belongs to the content zone only. */
.basket-drawer__content,.shop-filter-form__content{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.basket-drawer__content::before,.shop-filter-form__content::before{
  content:"";
  position:absolute;
  z-index:0;
  width:clamp(320px, 42vw, 520px);
  height:clamp(320px, 42vw, 520px);
  background:url("/assets/images/logo-dark.png") center/contain no-repeat;
  pointer-events:none;
  user-select:none;
  opacity:.145;
  filter:grayscale(1) contrast(.96);
}

.basket-drawer__content::before{
  right:clamp(-190px, -13vw, -88px);
  bottom:clamp(-68px, -4vh, 8px);
  transform:rotate(-8deg);
}

.shop-filter-form__content::before{
  width:clamp(360px, 47vw, 560px);
  height:clamp(360px, 47vw, 560px);
  left:clamp(-210px, -15vw, -104px);
  bottom:clamp(-92px, -6vh, -12px);
  transform:rotate(8deg);
  opacity:.16;
}



.basket-drawer__content > *,.shop-filter-form__content > *{
  position:relative;
  z-index:1;
}














@media   (max-width:430px){
  .basket-drawer__content::before,.shop-filter-form__content::before{
    width:330px;
    height:330px;
    opacity:.13;
  }
  .shop-filter-form__content::before{opacity:.145}
  .basket-drawer__content::before{right:-145px;bottom:-34px}
  .shop-filter-form__content::before{left:-145px;bottom:-48px}
  
}


:root{
  --paperoot-drawer-header-surface:linear-gradient(135deg,rgba(213,192,161,.92),rgba(229,212,189,.88));
  --paperoot-control-surface:linear-gradient(135deg,rgba(255,250,241,.96),rgba(229,212,189,.68));
}


.basket-drawer__header,.shop-filter-panel__header{
  background:var(--paperoot-drawer-header-surface);
  border-bottom-color:rgba(185,155,115,.30);
}

/* Refine the Shop category/filter controls with a related warm paper surface. */
.products-page .shop-toolbar .tabs,.products-page .shop-filter-button{
  background:var(--paperoot-control-surface);
  border-color:rgba(185,155,115,.30);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.76),0 14px 42px rgba(31,27,20,.065);
}

.products-page .shop-filter-button:hover,.products-page .shop-filter-button:focus-visible{
  background:linear-gradient(135deg,#fffaf1,rgba(229,212,189,.82));
  border-color:rgba(185,155,115,.52);
}

/* Keep the approved root mark fully legible and deliberately contained. */
.basket-drawer__content::before{
  width:clamp(280px,30vw,350px);
  height:clamp(280px,30vw,350px);
  right:clamp(14px,2vw,22px);
  bottom:clamp(14px,3vh,28px);
  background-position:center;
  background-size:contain;
  background-repeat:no-repeat;
  opacity:.058;
  filter:grayscale(1) contrast(.92);
  transform:rotate(-3deg);
}

@media   (max-width:430px){
  .basket-drawer__content::before{
    width:min(64vw,260px);
    height:min(64vw,260px);
    right:14px;
    bottom:12px;
    opacity:.055;
    transform:rotate(-2deg);
  }
}


/* =========================================================
   Full Local Dev v38 — mobile-browser responsiveness pass
   One customer-facing codebase, refined for Safari, Chrome,
   Samsung Internet, small phones, large phones and tablets.
   Desktop styling remains unchanged above the breakpoints below.
   ========================================================= */

html{
  width:100%;
  max-width:100%;
  overflow-x:clip;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  -webkit-tap-highlight-color:transparent;
}

body{
  width:100%;
  max-width:100%;
  min-height:100dvh;
  overflow-wrap:break-word;
}

main,section,article,header,footer,nav,form,fieldset,.product-item,.product-card-surface,.product-info,.product-title-row,.footer-v19-shell,.footer-v19-grid{min-width:0}

img,picture,video,canvas,svg{max-width:100%}

button,a,input,select,textarea{touch-action:manipulation}

input,select,textarea{max-width:100%}

/* Use the live visual viewport where supported, with modern viewport units as fallback. */
.basket-drawer,.shop-filter-panel{
  height:var(--paperoot-visual-viewport-height,100dvh);
  max-height:var(--paperoot-visual-viewport-height,100dvh);
}

@supports   not (overflow:clip){
  html,body{overflow-x:hidden}
}

@media   (hover:none) and (pointer:coarse){
  .logo-center:hover,.hamburger:hover,.site-search-toggle:hover,.nav-icon-link:hover,.category-card:hover,.product-item:hover,.process-card:hover,.value-item:hover,.contact-card:hover,.btn-dark:hover,.btn-light:hover,.btn-outline:hover,.btn-ghost-light:hover,.checkout-button:hover,.summary-secondary-link:hover,.add-btn:hover,.form-submit:hover,.shop-filter-button:hover,.showcase-card:hover img,.product-item:hover .product-media img,.related-product-card:hover .related-product-card__image img{
    transform:none;
  }

  .product-gallery-controls{
    opacity:1;
    transform:none;
    pointer-events:auto;
  }
}

@media   (max-width:1024px){
  :root{
    --container:min(calc(100% - 32px), 920px);
  }

  .home-hero,.products-page,.about-page,.contact-page,.basket-page,.policy-page{
    overflow-x:clip;
  }

  .hero-shell{max-width:920px}

  .product-grid,.products-grid,.contact-options,.process-grid,.values-grid,.about-stat-strip{
    gap:16px;
  }

  .footer-v19-shell{
    width:min(calc(100% - 32px),920px);
  }
}

@media   (max-width:767px){
  :root{
    --container:calc(100% - 28px);
    --nav-offset:90px;
    --mobile-section-gap:clamp(54px,14vw,76px);
    --radius-xl:34px;
    --radius-lg:30px;
  }

  body{
    min-height:100dvh;
    background:
      radial-gradient(circle at 8% 0%,rgba(229,212,189,.62),transparent 24rem),
      linear-gradient(180deg,var(--paper-cream),#fff 34rem,var(--paper-cream));
  }

  /* Compact one-row mobile browser header with safe-area support. */
  .navbar{
    height:calc(72px + env(safe-area-inset-top,0px));
  }

  .navbar-inner{
    height:100%;
    display:block;
    padding:calc(10px + env(safe-area-inset-top,0px)) 12px 0;
  }

  .nav-left-controls{
    position:fixed;
    top:calc(10px + env(safe-area-inset-top,0px));
    left:max(12px,env(safe-area-inset-left,0px));
    z-index:1012;
    margin:0;
    gap:6px;
  }

  .hamburger,.site-search,.site-search-toggle,.site-search-field{
    width:48px;
    height:48px;
    min-width:48px;
    min-height:48px;
  }

  .hamburger{margin:0}
  .hamburger span{left:14px;right:14px}
  .hamburger span:nth-child(1){top:16px}
  .hamburger span:nth-child(2){top:23px}
  .hamburger span:nth-child(3){top:30px}
  .hamburger.is-open span:nth-child(1),.hamburger.is-open span:nth-child(3){top:23px}

  .site-search{
    position:relative;
    inset:auto;
    flex:0 0 48px;
  }

  .site-search.is-open{
    position:fixed;
    top:calc(68px + env(safe-area-inset-top,0px));
    left:max(12px,env(safe-area-inset-left,0px));
    right:max(12px,env(safe-area-inset-right,0px));
    width:auto;
    height:52px;
  }

  .site-search.is-open .site-search-field{height:52px}
  .site-search-results{
    width:100%;
    max-width:100%;
    max-height:min(52dvh,380px);
    border-radius:20px;
    padding:7px;
  }

  .site-search-result{min-height:62px}

  .logo-center{
    position:fixed;
    top:calc(10px + env(safe-area-inset-top,0px));
    left:50%;
    z-index:1010;
    width:clamp(136px,42vw,172px);
    min-height:48px;
    padding:8px 14px;
    transform:translateX(-50%);
  }

  .logo-center:hover{transform:translateX(-50%)}
  .logo-center img{
    width:100%;
    height:auto;
    max-height:36px;
    object-fit:contain;
  }

  .navbar.is-hidden{
    transform:translateY(calc(-100% - env(safe-area-inset-top,0px)));
  }

  .nav-links.open{
    width:min(320px,calc(100% - 24px))!important;
    max-height:calc(var(--paperoot-visual-viewport-height,100dvh) - var(--paperoot-menu-top,74px) - 12px);
    padding:14px!important;
    border-radius:24px!important;
    overscroll-behavior:contain;
  }

  .nav-links.open>a{
    min-height:48px;
    display:flex;
    align-items:center;
    padding:8px 8px!important;
    font-size:clamp(27px,8vw,38px)!important;
    line-height:1!important;
  }

  .nav-links.open .nav-icon-link{
    min-height:54px;
  }

  /* Shared readable mobile type and spacing. */
  .eyebrow{margin-bottom:11px;font-size:10px;letter-spacing:.15em}
  .rooted-line{margin-bottom:13px;font-size:12px}
  .section-title,.section-heading h2,.section-copy h2{
    font-size:clamp(36px,11vw,54px);
    line-height:.98;
    letter-spacing:-.055em;
  }

  .section-lead{font-size:16px;line-height:1.65}
  .section-heading-row{gap:14px;margin-bottom:24px}

  .btn-dark,.btn-light,.btn-outline,.btn-ghost-light,.checkout-button,.summary-secondary-link,.form-submit,.add-btn{
    min-height:50px;
    padding:13px 18px;
  }

  /* Homepage: content-led height, balanced cards and mobile actions. */
  .home-hero{
    min-height:0;
    padding:calc(var(--nav-offset) + 8px) 14px 54px;
    align-items:start;
  }

  .hero-shell{
    min-height:0;
    grid-template-columns:1fr;
    gap:14px;
  }

  .hero-copy{
    min-height:auto;
    padding:clamp(26px,7vw,34px) 22px;
    border-radius:30px;
  }

  .hero-copy>.brand-line{
    margin-bottom:16px;
    padding:8px 11px;
    font-size:11px;
    letter-spacing:.07em;
  }

  .hero-copy h1{
    max-width:10ch;
    font-size:clamp(43px,13.5vw,68px);
    line-height:.92;
    letter-spacing:-.065em;
  }

  .hero-copy>p:not(.eyebrow){
    margin-top:18px;
    font-size:16px;
    line-height:1.58;
  }

  .hero-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin-top:22px;
  }

  .hero-actions a{width:100%;padding-inline:12px}

  .hero-showcase{
    min-height:0;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:auto auto;
    gap:10px;
    padding:10px;
    border-radius:30px;
  }

  .showcase-card{border-radius:22px;aspect-ratio:1/1}
  .showcase-card-large{grid-column:1/-1;grid-row:auto;aspect-ratio:4/3}
  .showcase-card div{left:15px;right:15px;bottom:15px}
  .showcase-card span{font-size:9px;margin-bottom:4px}
  .showcase-card strong{font-size:clamp(19px,6vw,28px)}

  .editorial-section,.about-story,.about-process,.about-cta,.contact-options,.contact-form-section,.contact-faq,.basket-help{
    padding-top:var(--mobile-section-gap);
    padding-bottom:var(--mobile-section-gap);
  }

  .split-section{gap:20px}

  .brand-film-section{
    width:calc(100% - 20px);
    padding-bottom:var(--mobile-section-gap);
  }

  .brand-film-frame{
    min-height:0;
    aspect-ratio:4/5;
    border-radius:30px;
  }

  .brand-film-caption{
    left:20px;
    right:20px;
    bottom:22px;
    max-width:calc(100% - 40px);
    padding-right:54px;
  }

  .brand-film-caption h2{
    font-size:clamp(32px,10vw,46px);
    line-height:.96;
  }

  .brand-film-play{right:18px;bottom:18px;width:48px;height:48px}

  .reviews-section{
    margin-inline:10px;
    padding:34px 14px;
    border-radius:30px;
  }

  .reviews-note{max-width:32ch}

  .product-grid-section{padding-bottom:var(--mobile-section-gap)}
  .product-grid,.category-grid{grid-template-columns:1fr}

  .category-card{
    min-height:0;
    padding:12px;
    border-radius:30px;
  }

  .category-image-stack{height:clamp(245px,72vw,350px)}
  .category-card-text{padding:2px 10px 12px}
  .category-card-text h3{font-size:clamp(30px,9vw,42px)}

  .instagram-section{
    width:var(--container);
    grid-template-columns:1fr;
    gap:22px;
    padding:var(--mobile-section-gap) 0;
  }

  .instagram-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .instagram-grid a{border-radius:20px}

  .premium-band{width:calc(100% - 20px);border-radius:32px}
  .sustainability{padding:46px 20px}
  .sustainability-inner{gap:28px}
  .sustainability-text h2{font-size:clamp(38px,11vw,56px)}
  .sustainability-actions{display:grid;grid-template-columns:1fr;gap:9px}

  /* Shared customer page heroes. */
  .products-page,.about-page,.contact-page,.basket-page{padding-top:var(--nav-offset)}

  .products-hero,.about-hero,.contact-hero,.basket-hero{
    padding:30px 0 28px;
    text-align:left;
  }

  .products-hero h1,.about-hero h1,.contact-hero h1,.basket-hero h1{
    max-width:10ch;
    margin:0;
    font-size:clamp(45px,14vw,68px);
    line-height:.92;
    letter-spacing:-.065em;
  }

  .products-hero p:last-of-type,.about-hero p:last-child,.contact-hero p:last-child,.basket-hero p:last-child{
    margin:17px 0 0;
    font-size:16px;
    line-height:1.62;
  }

  .product-count-pill{margin-left:0}

  /* Shop filters stay in one calm, horizontally scrollable mobile row. */
  .products-controls{margin-bottom:22px}
  .shop-toolbar{gap:10px}
  .shop-toolbar .tabs{
    width:100%;
    min-width:0;
    overflow-x:auto;
    overflow-y:hidden;
    padding:5px;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .shop-toolbar .tabs::-webkit-scrollbar{display:none}
  .shop-toolbar .tab{scroll-snap-align:start;min-height:44px;padding:10px 15px}
  .shop-filter-button{align-self:stretch;min-height:48px;width:100%}

  .products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .product-item{border-radius:24px}
  .product-media{height:auto;aspect-ratio:4/5;margin:7px;border-radius:18px}
  .product-badges{left:8px;top:8px;right:8px;gap:4px}
  .product-badges span{padding:5px 7px;font-size:8px}
  .product-info{padding:8px 12px 14px}
  .product-category{margin-bottom:7px;font-size:9px}
  .product-title-row{display:grid;gap:7px}
  .product-title-row h3{font-size:clamp(17px,5vw,22px)}
  .product-title-row strong{font-size:13px}
  .product-variant{font-size:12px}
  .product-detail-list{display:none}
  .product-card-actions{margin-top:12px;gap:8px}
  .product-card-size-control select{min-height:44px;padding-left:12px;font-size:12px}
  .product-card-actions .add-btn{min-height:46px;font-size:12px}
  .product-card-hint{font-size:11px}

  .shop-note{
    grid-template-columns:1fr;
    gap:14px;
    padding:24px 20px;
    border-radius:28px;
  }

  /* Drawers use the visible browser viewport and remain keyboard-safe. */
  .basket-drawer,.shop-filter-panel{
    width:100%;
    max-width:none;
    min-width:0;
    border-radius:0;
  }

  .basket-drawer__header,.shop-filter-panel__header{
    padding:calc(17px + env(safe-area-inset-top,0px)) max(18px,env(safe-area-inset-right,0px)) 16px max(18px,env(safe-area-inset-left,0px));
  }

  .basket-drawer__content,.shop-filter-form__content{
    padding-left:max(18px,env(safe-area-inset-left,0px));
    padding-right:max(18px,env(safe-area-inset-right,0px));
    -webkit-overflow-scrolling:touch;
  }

  .basket-drawer__summary,.shop-filter-panel__actions{
    padding-left:max(18px,env(safe-area-inset-left,0px));
    padding-right:max(18px,env(safe-area-inset-right,0px));
  }

  .basket-drawer__title-row h2,.shop-filter-panel__header h2{font-size:clamp(32px,10vw,42px)}

  .shop-filter-price{grid-template-columns:1fr 1fr}
  .shop-filter-options label{min-height:48px}
  .shop-filter-clear,.shop-filter-apply{min-height:52px}

  /* Content pages and forms. */
  .about-stat-strip,.process-grid,.values-grid,.contact-options,.basket-help{grid-template-columns:1fr}

  .about-stat-item,.process-card,.value-item,.basket-help-card{border-radius:24px}
  .process-card{min-height:230px}
  .value-item{min-height:290px}

  .about-story-images{gap:10px}
  .about-story-images img{border-radius:24px}
  .about-mission-band{padding:34px 22px;border-radius:30px}
  .about-mission-band h2{font-size:clamp(35px,10.5vw,50px)}
  .about-cta-actions{display:grid;grid-template-columns:1fr;gap:9px}

  .contact-card.contact-topic-card--image{
    min-height:clamp(310px,92vw,380px);
    border-radius:28px;
  }

  .contact-form{
    padding:22px 18px;
    border-radius:28px;
  }

  .form-grid-two{grid-template-columns:1fr}
  .contact-form input,.contact-form select,.contact-form textarea,.paperoot-field input,.footer-interest-form input{
    font-size:16px;
  }

  .faq-item{padding:20px 0}

  .basket-layout{gap:16px}
  .basket-items-panel,.basket-summary{border-radius:28px}
  .basket-panel-header{align-items:flex-start;gap:12px}
  .basket-item{grid-template-columns:72px minmax(0,1fr);gap:12px}
  .basket-item-image{width:72px;height:72px;border-radius:18px}
  .summary-actions{gap:9px}

  .policy-page{padding:calc(var(--nav-offset) + 20px) 0 64px}
  .policy-card{
    width:var(--container);
    padding:28px 20px;
    border-radius:30px;
  }
  .policy-card h1{font-size:clamp(42px,13vw,62px)}
  .policy-card h2{font-size:clamp(25px,8vw,34px)}

  
  
  
  
  
  
  

  /* Product detail behaves like a full-screen mobile sheet. */
  .product-modal-v31{padding:0}
  .product-modal-v31 .product-modal-dialog{
    width:100%;
    max-height:var(--paperoot-visual-viewport-height,100dvh);
    min-height:var(--paperoot-visual-viewport-height,100dvh);
    border:0;
    border-radius:0;
  }
  .product-modal-v31 .product-modal-close{
    top:calc(10px + env(safe-area-inset-top,0px));
    margin:calc(10px + env(safe-area-inset-top,0px)) 10px -54px auto;
  }
  .product-detail{padding:18px 14px calc(28px + env(safe-area-inset-bottom,0px))}
  .product-gallery__stage{min-height:0;aspect-ratio:4/5}
  .product-gallery__stage img{min-height:0}
  .product-purchase__actions{grid-template-columns:1fr}
  .product-purchase__actions .quantity-add,.product-purchase__actions .quantity-stepper{width:136px}
  .mobile-purchase-bar{
    padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));
  }

  .paperoot-lightbox-v31 .paperoot-lightbox-dialog{
    width:100%;
    height:var(--paperoot-visual-viewport-height,100dvh);
    max-height:none;
    border-radius:0;
    padding:56px 12px calc(38px + env(safe-area-inset-bottom,0px));
  }
  .paperoot-lightbox-v31 .paperoot-lightbox-dialog img{
    max-width:100%;
    max-height:calc(var(--paperoot-visual-viewport-height,100dvh) - 110px);
  }
  .paperoot-lightbox-close{top:calc(10px + env(safe-area-inset-top,0px));right:12px}
  .paperoot-lightbox-prev{left:10px}
  .paperoot-lightbox-next{right:10px}

  /* Footer stacks without cramped links or clipped form controls. */
  .footer{border-radius:32px 32px 0 0}
  .footer-v19-shell{width:calc(100% - 28px);padding-top:46px}
  .footer-interest{grid-template-columns:1fr;gap:22px;padding:0 0 34px}
  .footer-interest-controls{grid-template-columns:1fr}
  .footer-interest-controls button{width:100%;min-height:50px}
  .footer-v19-grid{grid-template-columns:1fr 1fr;gap:34px 20px}
  .footer-v19-brand{grid-column:1/-1}
  .footer-v19-contact{grid-column:1/-1}
  .footer-v19-column a{min-height:34px;display:flex;align-items:center}
  .footer-v19-socials a{width:46px;height:46px}
  .footer-payments{gap:18px}
  .footer-payment-icons{gap:10px 14px}
  .footer-v19-bottom{align-items:flex-start;flex-direction:column;gap:12px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
}

@media   (max-width:520px){
  :root{--container:calc(100% - 24px)}

  .hero-actions{grid-template-columns:1fr}
  .hero-copy{padding-inline:20px}

  .products-grid{grid-template-columns:1fr}
  .product-item{border-radius:28px}
  .product-media{aspect-ratio:5/4;margin:9px;border-radius:21px}
  .product-detail-list{display:grid}
  .product-info{padding:10px 16px 16px}
  .product-title-row{display:flex}
  .product-title-row h3{font-size:23px}
  .product-title-row strong{font-size:15px}
  .product-badges span{font-size:9px;padding:6px 8px}

  .shop-filter-price{grid-template-columns:1fr}
  .shop-filter-panel__actions{grid-template-columns:1fr 1fr}

  .basket-drawer-item{grid-template-columns:74px minmax(0,1fr)}
  .basket-drawer-item__media{width:74px}
  .basket-drawer-item__details{padding-right:52px}
  .basket-drawer-item__controls{align-items:flex-start;flex-direction:column}

  .product-option-group{grid-template-columns:1fr}
  .product-purchase__title{font-size:clamp(40px,13vw,58px)}
  .related-products__grid{grid-template-columns:repeat(3,minmax(242px,84vw))}

  .instagram-grid{grid-template-columns:1fr 1fr}

  .footer-v19-grid{grid-template-columns:1fr}
  .footer-v19-brand,.footer-v19-contact{grid-column:auto}
  .footer-payment-icons{justify-content:flex-start}
}

@media   (max-width:360px){
  :root{
    --container:calc(100% - 20px);
    --nav-offset:84px;
  }

  .navbar-inner{padding-left:10px;padding-right:10px}
  .nav-left-controls{left:10px;gap:5px}
  .hamburger,.site-search,.site-search-toggle,.site-search-field{
    width:46px;
    height:46px;
    min-width:46px;
    min-height:46px;
  }

  .logo-center{width:128px;min-height:46px;padding-inline:11px}
  .logo-center img{max-height:32px}

  .site-search.is-open{
    left:10px;
    right:10px;
    width:auto;
  }

  .hero-copy h1,.products-hero h1,.about-hero h1,.contact-hero h1,.basket-hero h1{font-size:42px}

  .showcase-card div{left:12px;right:12px;bottom:12px}
  .showcase-card strong{font-size:18px}

  .basket-drawer__header,.shop-filter-panel__header,.basket-drawer__content,.shop-filter-form__content,.basket-drawer__summary,.shop-filter-panel__actions{
    padding-left:14px;
    padding-right:14px;
  }

  
  
  .footer-v19-shell{width:calc(100% - 20px)}
}

@media   (max-height:520px) and (orientation:landscape) and (max-width:920px){
  :root{--nav-offset:72px}
  .navbar{height:62px}
  .navbar-inner{padding-top:7px}
  .nav-left-controls,.logo-center{top:7px}
  .home-hero{padding-top:78px}
  .hero-shell{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
  .hero-copy h1{font-size:clamp(36px,7vw,54px)}
  .hero-copy>p:not(.eyebrow){font-size:14px}
  .hero-showcase{grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr}
  .showcase-card-large{grid-column:auto;grid-row:1/-1;aspect-ratio:auto}
  .showcase-card{aspect-ratio:auto;min-height:150px}
  .nav-links.open{max-height:calc(100dvh - var(--paperoot-menu-top,62px) - 8px)}
}


/* =========================================================
   Full Local Dev v39 — close controls, hero type and reviews
   Targeted customer-facing refinement only.
   ========================================================= */

:root{
  --paperoot-close-inner:#ffffff;
  --paperoot-close-gap:#fffaf1;
  --paperoot-close-ring:#d5c0a1;
  --paperoot-close-border:rgba(42,41,37,.13);
  --paperoot-close-ink:#11110f;
}

/* One reusable premium double-circle treatment for customer-facing X controls. */
.paperoot-close-control,.hamburger.is-open{
  display:grid;
  place-items:center;
  min-width:44px;
  min-height:44px;
  padding:0;
  border:1px solid var(--paperoot-close-border);
  border-radius:999px;
  background:var(--paperoot-close-inner);
  color:var(--paperoot-close-ink);
  box-shadow:
    0 0 0 3px var(--paperoot-close-gap),
    0 0 0 7px var(--paperoot-close-ring),
    0 12px 30px rgba(31,27,20,.10);
  transition:
    background .2s ease,
    border-color .2s ease,
    box-shadow .2s ease,
    transform .2s ease;
}

.paperoot-close-control svg{
  display:block;
  width:19px;
  height:19px;
  overflow:visible;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}

.paperoot-close-control:hover,.hamburger.is-open:hover{
  background:var(--paperoot-close-gap);
  color:var(--paperoot-close-ink);
  border-color:rgba(42,41,37,.24);
  box-shadow:
    0 0 0 3px #ffffff,
    0 0 0 7px var(--paperoot-close-ring),
    0 15px 34px rgba(31,27,20,.14);
  transform:translateY(-1px);
}

.paperoot-close-control:active,.hamburger.is-open:active{
  transform:translateY(0) scale(.98);
}

.paperoot-close-control:focus-visible,.hamburger.is-open:focus-visible{
  outline:3px solid rgba(185,155,115,.58);
  outline-offset:9px;
}

/* Override older component-specific dark/rotating close hover states. */
.product-modal-v31 .product-modal-close:hover,.basket-drawer__close:hover,.shop-filter-panel__close:hover,.paperoot-action-close:hover,.paperoot-lightbox-close:hover{
  background:var(--paperoot-close-gap);
  color:var(--paperoot-close-ink);
  border-color:rgba(42,41,37,.24);
  box-shadow:
    0 0 0 3px #ffffff,
    0 0 0 7px var(--paperoot-close-ring),
    0 15px 34px rgba(31,27,20,.14);
  transform:translateY(-1px);
}

/* Keep the open mobile-menu X centred within the same approved ring system. */
.hamburger.is-open span{
  background:var(--paperoot-close-ink);
}

/* Preserve the approved hero rhythm with the self-hosted Josefin Sans typeface. */
.hero-copy h1{
  line-height:.96;
  text-wrap:balance;
  padding-bottom:.05em;
}

/* A warmer, clearer paper-clay outline against the dark reviews section. */
.reviews-section .review-marquee{
  border-color:rgba(213,192,161,.72);
  box-shadow:
    inset 0 1px 0 rgba(255,250,241,.08),
    0 12px 34px rgba(17,17,15,.08);
}

@media   (max-width:767px){
  .hero-copy h1{
    line-height:1;
    letter-spacing:-.058em;
    padding-bottom:.06em;
  }

}

@media   (max-width:359px){
  .hero-copy h1{
    font-size:40px;
    line-height:1.01;
    letter-spacing:-.052em;
  }
}

@media   (prefers-reduced-motion:reduce){
  .paperoot-close-control,.hamburger.is-open{transition-duration:20ms!important}
}


/* =========================================================
   Full Local Dev v40 — homepage hero word-wrap correction
   Keep complete heading words intact and scale the display type
   to the real width of the left hero card across browser sizes.
   ========================================================= */
.hero-copy h1{
  max-width:100%;
  font-size:clamp(50px,6.9vw,108px);
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  text-wrap:balance;
}

.hero-copy h1 .hero-no-break{
  display:inline-block;
  white-space:nowrap;
  max-width:100%;
}

@media   (max-width:767px){
  .hero-copy h1{
    font-size:clamp(43px,13.5vw,68px);
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
}

@media   (max-width:359px){
  .hero-copy h1{font-size:40px}
}

/* =========================================================
  Full Local Dev v43 — About values visual restoration
  Reuses the original image-backed values-card system without alteration.
========================================================= */

/* =========================================================
   Full Local Dev v45 — sequential homepage brand film
   - responsive 16:9 presentation for the supplied landscape clips
   - dual-player opacity hand-off without fallback flashes
   - upper-right playback control clear of embedded lower-right marks
   - reduced-motion visitors retain manual playback access
   ========================================================= */
.brand-film-frame{
  min-height:0;
  aspect-ratio:16/9;
}
.brand-film-video{
  z-index:1;
  object-fit:cover;
  object-position:center;
  opacity:0;
  transition:opacity .18s ease;
}
.brand-film-video.is-active{z-index:2;opacity:1}
.brand-film-frame.is-video-ready .brand-film-fallback{
  opacity:0;
  visibility:hidden;
  transition:opacity .24s ease,visibility 0s linear .24s;
  pointer-events:none;
}
.brand-film-frame.is-video-unavailable .brand-film-fallback{
  opacity:1;
  visibility:visible;
}
.brand-film-caption{
  z-index:4;
  padding-right:0;
}
.brand-film-frame::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(17,17,15,.50) 0%,rgba(17,17,15,.14) 57%,rgba(17,17,15,.08) 100%);
}
.brand-film-play{
  right:clamp(18px,2vw,28px);
  top:clamp(18px,2vw,28px);
  bottom:auto;
  z-index:5;
}
@media   (max-width:768px){
  .brand-film-frame{min-height:0;aspect-ratio:16/9}
  .brand-film-caption{
    left:clamp(18px,4vw,28px);
    right:clamp(18px,4vw,28px);
    bottom:clamp(16px,3.6vw,26px);
    max-width:78%;
  }
  .brand-film-caption h2{font-size:clamp(26px,6.8vw,44px);line-height:.96}
  .brand-film-caption p:last-child{font-size:clamp(12px,2.7vw,15px);line-height:1.45}
}
@media   (max-width:430px){
  .brand-film-frame{min-height:0;aspect-ratio:16/9;border-radius:26px}
  .brand-film-caption{left:16px;right:16px;bottom:14px;max-width:76%}
  .brand-film-caption .eyebrow{font-size:9px;margin-bottom:4px}
  .brand-film-caption h2{margin-top:4px;font-size:clamp(22px,6.5vw,30px);line-height:.98;letter-spacing:-.045em}
  .brand-film-caption p:last-child{display:none}
  .brand-film-play{right:14px;top:14px;width:46px;height:46px}
}
@media   (prefers-reduced-motion:reduce){
  .brand-film-video{display:block!important;transition:none!important}
  .brand-film-frame.is-video-unavailable .brand-film-video{opacity:0}
  .brand-film-play{display:grid!important}
}


/* =========================================================
   Full Local Dev v46 — About "What guides Paperoot" image-backed cards
   Decorative imagery sits behind the approved principle copy.
   ========================================================= */
.about-process .process-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.about-process .process-card.process-card-image{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:clamp(300px,31vw,430px);
  padding:clamp(22px,2.4vw,32px);
  color:var(--paper-cream);
  border-color:rgba(255,255,255,.24);
  background-image:
    linear-gradient(180deg,rgba(17,17,15,.10) 0%,rgba(17,17,15,.22) 42%,rgba(17,17,15,.78) 100%),
    var(--process-image,none);
  background-size:cover;
  background-position:var(--process-position,center);
  background-repeat:no-repeat;
  box-shadow:0 22px 54px rgba(31,27,20,.15);
  transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s cubic-bezier(.22,1,.36,1),border-color .28s ease,background-size .45s cubic-bezier(.22,1,.36,1);
}
.about-process .process-card.process-card-image::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(145deg,rgba(185,155,115,.08),transparent 54%);
}
.about-process .process-card.process-card-image h3,.about-process .process-card.process-card-image p{
  position:relative;
  z-index:1;
  color:var(--paper-cream);
}
.about-process .process-card.process-card-image h3{
  font-size:clamp(30px,3vw,48px);
  text-shadow:0 2px 20px rgba(17,17,15,.42);
}
.about-process .process-card.process-card-image p{
  max-width:34ch;
  color:rgba(255,250,241,.90);
  text-shadow:0 1px 16px rgba(17,17,15,.48);
}
.about-process .process-card.process-card-image:hover{
  transform:translateY(-5px);
  border-color:rgba(229,212,189,.52);
  background-image:
    linear-gradient(180deg,rgba(17,17,15,.08) 0%,rgba(17,17,15,.20) 42%,rgba(17,17,15,.76) 100%),
    var(--process-image,none);
  background-size:103%;
  background-position:var(--process-position,center);
  box-shadow:0 26px 62px rgba(31,27,20,.19);
}
.about-process .process-card-practical{
  --process-image:url("/assets/images/about/about-guide-practical.webp");
  --process-position:52% center;
}
.about-process .process-card-considered{
  --process-image:url("/assets/images/about/about-guide-considered.webp");
  --process-position:56% 54%;
}
.about-process .process-card-simple{
  --process-image:url("/assets/images/about/about-guide-simple.webp");
  --process-position:50% center;
}
@media   (max-width:1020px){
  .about-process .process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-process .process-card.process-card-image{min-height:clamp(310px,46vw,430px)}
  .about-process .process-card-simple{grid-column:1 / -1;min-height:clamp(300px,42vw,400px)}
}
@media   (max-width:720px){
  .about-process .process-grid{grid-template-columns:1fr}
  .about-process .process-card.process-card-image,.about-process .process-card-simple{
    grid-column:auto;
    min-height:clamp(270px,72vw,380px);
  }
  .about-process .process-card-practical{--process-position:48% center}
  .about-process .process-card-considered{--process-position:58% 56%}
  .about-process .process-card-simple{--process-position:50% center}
}
@media   (max-width:430px){
  .about-process .process-card.process-card-image{
    min-height:280px;
    padding:22px;
    border-radius:24px;
  }
  .about-process .process-card.process-card-image h3{font-size:clamp(30px,9vw,40px)}
  .about-process .process-card.process-card-image p{font-size:14px;line-height:1.58}
}
@media   (prefers-reduced-motion:reduce){
  .about-process .process-card.process-card-image,.about-process .process-card.process-card-image:hover{
    transition:none!important;
    transform:none!important;
    background-size:cover;
  }
}


/* =========================================================
   Full Local Dev v47 — guide-card proportions, type spacing,
   and targeted customer watermark placement
   ========================================================= */

/* Keep the two large editorial headings clear of their supporting copy. */
.products-hero h1{
  margin-bottom:clamp(30px,3vw,48px);
  line-height:.90;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.products-hero [data-category-intro]{
  position:relative;
  z-index:2;
  max-width:760px;
  margin:0 auto;
  color:var(--muted);
  font-size:clamp(17px,1.5vw,21px);
  line-height:1.68;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.products-hero .summary-note{
  max-width:980px;
  margin:clamp(16px,2vw,24px) auto 0!important;
  font-size:14px!important;
  line-height:1.6!important;
}

.about-process .section-heading h2{
  line-height:.98;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.about-process .section-heading > p:last-child{
  max-width:720px;
  margin-top:clamp(22px,2.5vw,34px);
  color:var(--muted);
  font-size:clamp(16px,1.35vw,20px);
  line-height:1.65;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

/* Landscape editorial proportions for the three image-backed guide cards. */
.about-process .process-card.process-card-image{
  min-height:0;
  aspect-ratio:16 / 10;
  justify-content:flex-end;
}

/* Empty basket drawer: place the decorative mark in the open upper-left zone. */
.basket-drawer__content.is-empty::before{
  width:clamp(260px,29vw,340px);
  height:clamp(260px,29vw,340px);
  left:clamp(-126px,-8vw,-92px);
  right:auto;
  top:clamp(34px,6vh,72px);
  bottom:auto;
  opacity:.052;
  transform:rotate(-4deg);
}





/* Basket page: move the watermark into the lower-left open content area. */
.basket-items-panel::before{
  width:min(390px,56%);
  left:clamp(20px,4vw,56px);
  right:auto;
  top:auto;
  bottom:clamp(-40px,-2vw,-18px);
  opacity:.036;
  transform:rotate(-5deg);
  background-position:center;
  background-size:contain;
}

@media   (max-width:1020px){
  .about-process .process-card.process-card-image{
    aspect-ratio:16 / 10;
    min-height:0;
  }
  .about-process .process-card-simple{
    grid-column:1 / -1;
    width:calc((100% - clamp(12px,1.7vw,22px)) / 2);
    max-width:520px;
    justify-self:center;
    min-height:0;
  }
}

@media   (max-width:720px){
  .products-hero h1{
    margin-bottom:24px;
    line-height:.94;
  }
  .products-hero [data-category-intro]{
    margin:0;
    font-size:16px;
    line-height:1.62;
  }
  .products-hero .summary-note{
    margin:16px 0 0!important;
    font-size:13px!important;
  }
  .about-process .section-heading h2{line-height:1}
  .about-process .section-heading > p:last-child{
    margin-top:20px;
    font-size:16px;
  }
  /* PAPEROOT SECTION 18.2 — Mobile guide-card width consistency
     Reset the tablet-only centred third-card sizing so all three cards
     stretch across the same single grid column on phone widths. */
  .about-process .process-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .about-process .process-card.process-card-image,.about-process .process-card.process-card-image:last-child,.about-process .process-card-simple{
    grid-column:auto;
    width:100%;
    max-width:none;
    justify-self:stretch;
    margin-inline:0;
    aspect-ratio:4 / 3;
    min-height:0;
  }
  .basket-items-panel::before{
    width:min(280px,68%);
    left:18px;
    bottom:8px;
    opacity:.032;
  }
}

@media   (max-width:430px){
  .about-process .process-card.process-card-image{
    min-height:0;
    aspect-ratio:4 / 3;
  }
  .basket-drawer__content.is-empty::before{
    width:min(62vw,250px);
    height:min(62vw,250px);
    left:-138px;
    right:auto;
    top:30px;
    bottom:auto;
    opacity:.05;
    transform:rotate(-3deg);
  }
  
  
}

@media   (prefers-reduced-motion:reduce){
  .about-process .process-card.process-card-image,.about-process .process-card.process-card-image:hover{
    transform:none!important;
    transition:none!important;
  }
}

/* =========================================================
   Full Local Dev v48 — consistent half-cropped customer watermarks
   Uses the hamburger-menu watermark as the reference: one large,
   softly rendered root mark, deliberately cropped by a panel edge.
   ========================================================= */
:root{
  --paperoot-edge-watermark-image:url("/assets/images/logo-dark.png");
  --paperoot-edge-watermark-opacity:.055;
  --paperoot-edge-watermark-rotation:-8deg;
}

/* Retire the earlier state-specific marks so drawers never show duplicates. */
.basket-drawer > .basket-drawer__watermark{
  display:none!important;
}
.basket-drawer__content.is-empty::before,.basket-drawer__content::before,.basket-items-panel::before{
  content:"";
  position:absolute;
  z-index:0;
  display:block;
  aspect-ratio:1;
  background:var(--paperoot-edge-watermark-image) center/contain no-repeat;
  opacity:var(--paperoot-edge-watermark-opacity);
  filter:grayscale(1) contrast(.96);
  pointer-events:none;
  user-select:none;
  transform:rotate(var(--paperoot-edge-watermark-rotation));
  transform-origin:center;
}

/* The stable content containers own one watermark across every UI state. */
.basket-drawer__content{
  position:relative;
  isolation:isolate;
  overflow-x:hidden;
}
.basket-drawer__content > *{
  position:relative;
  z-index:1;
}

/* Empty and populated basket drawers share exactly the same half-crop. */
.basket-drawer__content::before,.basket-drawer__content.is-empty::before{
  width:clamp(390px,43vw,500px);
  height:auto;
  left:clamp(-250px,-16vw,-205px);
  right:auto;
  top:clamp(30px,5vh,62px);
  bottom:auto;
}







/* Full basket: one large lower-left mark, cropped by both card edges. */
.basket-items-panel::before{
  width:clamp(470px,44vw,590px);
  height:auto;
  left:clamp(-300px,-17vw,-238px);
  right:auto;
  top:auto;
  bottom:clamp(-138px,-7vw,-86px);
  background-position:center;
  background-size:contain;
  opacity:.045;
}

@media   (max-width:768px){
  .basket-drawer__content::before,.basket-drawer__content.is-empty::before{
    width:clamp(340px,92vw,430px);
    left:clamp(-218px,-51vw,-174px);
    top:clamp(24px,4vh,44px);
  }
  
  .basket-items-panel::before{
    width:clamp(360px,84vw,470px);
    left:clamp(-230px,-48vw,-184px);
    bottom:clamp(-116px,-14vw,-72px);
    opacity:.043;
  }
}

@media   (max-width:430px){
  .basket-drawer__content::before,.basket-drawer__content.is-empty::before{
    width:min(94vw,390px);
    left:clamp(-203px,-49vw,-166px);
    top:26px;
    opacity:.052;
  }
  
  .basket-items-panel::before{
    width:min(92vw,390px);
    left:clamp(-203px,-48vw,-166px);
    bottom:-82px;
    opacity:.041;
  }
}

/* =========================================================
   Full Local Dev v49 — close-icon rotation and restrained
   destructive interaction states for customer basket actions
   ========================================================= */
:root{
  --paperoot-danger-ink:#8f433b;
  --paperoot-danger-ink-active:#75342f;
  --paperoot-danger-bg:rgba(143,67,59,.10);
  --paperoot-danger-bg-active:rgba(143,67,59,.16);
  --paperoot-danger-border:rgba(143,67,59,.34);
  --paperoot-danger-focus:rgba(143,67,59,.28);
}

/* Rotate only the X glyph; the approved inner and outer circles stay still. */
.paperoot-close-control svg{
  transform-box:fill-box;
  transform-origin:center;
  will-change:transform;
  transition:transform 260ms cubic-bezier(.2,.8,.2,1);
}

@media   (hover:hover) and (pointer:fine){
  .paperoot-close-control:hover svg{
    transform:rotate(90deg);
  }

  /* The open hamburger uses two lines instead of an SVG. These values
     rotate the completed X as a group while leaving its circular shell still. */
  .hamburger.is-open:hover span:nth-child(1){
    transform:rotate(135deg);
  }
  .hamburger.is-open:hover span:nth-child(3){
    transform:rotate(45deg);
  }
}

.paperoot-close-control:focus-visible svg{
  transform:rotate(90deg);
}
.hamburger.is-open:focus-visible span:nth-child(1){
  transform:rotate(135deg);
}
.hamburger.is-open:focus-visible span:nth-child(3){
  transform:rotate(45deg);
}

/* Keep remove actions neutral by default, then reveal a restrained brick-red
   cue on destructive interaction only. */
.basket-drawer-item__remove,.remove-item,button[data-clear-basket]{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid transparent!important;
  border-radius:999px;
  padding:7px 11px!important;
  background:transparent!important;
  color:var(--muted,#6f695f)!important;
  transition:
    color 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

@media   (hover:hover) and (pointer:fine){
  .basket-drawer-item__remove:hover,.remove-item:hover,button[data-clear-basket]:hover{
    color:var(--paperoot-danger-ink)!important;
    background:var(--paperoot-danger-bg)!important;
    border-color:var(--paperoot-danger-border)!important;
    transform:translateY(-1px);
  }
}

.basket-drawer-item__remove:focus-visible,.remove-item:focus-visible,button[data-clear-basket]:focus-visible{
  color:var(--paperoot-danger-ink)!important;
  background:var(--paperoot-danger-bg)!important;
  border-color:var(--paperoot-danger-border)!important;
  outline:3px solid var(--paperoot-danger-focus)!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 1px rgba(255,250,241,.92);
}

.basket-drawer-item__remove:active,.remove-item:active,button[data-clear-basket]:active{
  color:var(--paperoot-danger-ink-active)!important;
  background:var(--paperoot-danger-bg-active)!important;
  border-color:rgba(117,52,47,.42)!important;
  transform:translateY(0) scale(.98);
}

.basket-drawer-item__remove:disabled,.remove-item:disabled,button[data-clear-basket]:disabled{
  color:var(--muted,#6f695f)!important;
  background:transparent!important;
  border-color:transparent!important;
  opacity:.45;
  cursor:not-allowed;
  transform:none;
}

@media   (prefers-reduced-motion:reduce){
  .paperoot-close-control svg{
    transition:none!important;
    transform:none!important;
    will-change:auto;
  }
  .hamburger.is-open span{
    transition:none!important;
  }
  .hamburger.is-open span:nth-child(1){
    transform:rotate(45deg)!important;
  }
  .hamburger.is-open span:nth-child(3){
    transform:rotate(-45deg)!important;
  }
  .basket-drawer-item__remove,.remove-item,button[data-clear-basket]{
    transition:none!important;
    transform:none!important;
  }
}

@media   (hover:hover) and (pointer:fine){
  /* The close-button shell stays physically still; only the X glyph moves. */
  .paperoot-close-control:hover,.product-modal-v31 .product-modal-close:hover,.basket-drawer__close:hover,.shop-filter-panel__close:hover,.paperoot-action-close:hover,.paperoot-lightbox-close:hover,.hamburger.is-open:hover{
    transform:none;
  }
}

/* =========================================================
   PAPEROOT SECTION 26 — Full Local Dev v51 responsive system
   Mobile navigation alignment, scalable wordmark, basket stamp,
   safe-area handling and cross-page overflow protection.
   ========================================================= */

/* PAPEROOT SECTION 02.1 — Responsive Paperoot wordmark */
.logo-center{
  max-width:min(440px,42vw);
}
.logo-center img{
  width:clamp(250px,24vw,370px);
  max-width:100%;
  height:auto;
  object-fit:contain;
}


@media   (max-width:920px){
  .nav-links.open .nav-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%;
    gap:10px!important;
  }

  .nav-links.open .nav-icon-link{
    width:100%!important;
    min-height:64px!important;
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:14px!important;
    padding:8px 16px!important;
    border-radius:20px!important;
    overflow:hidden!important;
  }

  .nav-links.open .nav-icon-link .nav-icon-shell{
    grid-column:1;
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    justify-self:start;
  }

  .nav-links.open .nav-icon-link .nav-icon-label,.nav-links.open .basket-link .nav-icon-label{
    grid-column:2;
    display:inline-flex!important;
    align-items:center;
    justify-self:start;
    min-width:0;
    margin:0!important;
    color:currentColor!important;
    font-size:clamp(15px,4vw,18px)!important;
    font-weight:700!important;
    line-height:1.1!important;
    white-space:nowrap;
  }

  .nav-links.open .basket-link::after{
    content:none!important;
    display:none!important;
  }

  .nav-links.open .basket-link .cart-count,.nav-links.open .basket-link .cart-count[hidden],.nav-links.open .basket-link .cart-count.is-empty{
    grid-column:3;
    position:static!important;
    display:inline-flex!important;
    justify-self:end!important;
    align-self:center!important;
    width:auto!important;
    min-width:22px!important;
    height:22px!important;
    margin:0!important;
    padding:0 6px!important;
    border:2px solid #fff!important;
    border-radius:999px!important;
    font-size:10px!important;
    line-height:1!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
  }
}

/* PAPEROOT SECTION 06.3 — Empty-basket Paperoot stamp */
.basket-drawer__empty-stamp{
  position:relative;
  z-index:2;
  width:clamp(78px,9vw,104px);
  aspect-ratio:1;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  margin:0 0 clamp(22px,3vh,30px);
  border-radius:50%;
  background:var(--soft-black,#2a2925);
  box-shadow:
    inset 0 0 0 1px rgba(255,250,241,.08),
    0 14px 34px rgba(17,17,15,.14);
}
.basket-drawer__empty-stamp img{
  width:68%;
  height:68%;
  object-fit:contain;
  user-select:none;
  pointer-events:none;
}

/* Retire the earlier generic plus-mark if stale markup is cached. */
.basket-drawer__empty-mark{display:none!important}

/* PAPEROOT SECTION 26.1 — Safe global wrapping and media containment */
h1,h2,h3,h4,h5,h6,.logo-center,.nav-links.open a,.btn-dark,.btn-light,.btn-outline,.checkout-button,.summary-secondary-link{
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

main,section,article,aside,header,footer,nav,form,fieldset,.hero-copy,.section-heading,.section-heading-row,.product-info,.basket-drawer__content,.shop-filter-form__content{
  min-width:0;
}

img,video,picture,svg,canvas{
  max-width:100%;
}

/* PAPEROOT SECTION 26.2 — Tablet and phone wordmark scaling */
@media   (max-width:1024px){
  .logo-center{
    max-width:min(390px,44vw);
  }
  .logo-center img{
    width:clamp(220px,30vw,330px);
  }
}

@media   (max-width:767px){
  .navbar-inner{
    min-width:0;
  }

  .logo-center{
    width:clamp(174px,48vw,232px);
    max-width:none;
    min-height:54px;
    padding:8px clamp(14px,3vw,22px);
  }
  .logo-center img{
    width:100%;
    max-width:none;
    max-height:none;
    height:auto;
  }

  .nav-links.open{
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))!important;
  }

  .basket-drawer__empty{
    min-height:100%;
    padding:
      clamp(58px,10vh,96px)
      max(14px,env(safe-area-inset-right,0px))
      calc(46px + env(safe-area-inset-bottom,0px))
      max(14px,env(safe-area-inset-left,0px));
  }

  .basket-drawer__empty h3{
    max-width:13ch;
    font-size:clamp(34px,9.7vw,46px);
    line-height:1.02;
  }
  .basket-drawer__empty>p:not(.basket-drawer__eyebrow){
    max-width:31ch;
    font-size:clamp(15px,4.1vw,18px);
    line-height:1.62;
  }

  .basket-drawer__shop-link{
    width:min(100%,310px);
  }

  /* Keep long page titles premium without clipping on compact screens. */
  .products-hero h1,.about-hero h1,.contact-hero h1,.basket-hero h1,.policy-card h1{
    max-width:100%;
    text-wrap:balance;
  }

  .basket-layout,.contact-options,.process-grid,.values-grid,.product-grid,.products-grid{
    min-width:0;
  }

  .basket-summary{
    position:static;
  }
}

@media   (max-width:430px){
  .logo-center{
    width:clamp(164px,47vw,202px);
    min-height:52px;
    padding-inline:13px;
  }

  .nav-links.open .nav-icon-link{
    min-height:62px!important;
    grid-template-columns:42px minmax(0,1fr) auto!important;
    gap:12px!important;
    padding-inline:14px!important;
  }
  .nav-links.open .nav-icon-link .nav-icon-shell{
    width:42px;
    height:42px;
  }

  .basket-drawer__empty-stamp{
    width:clamp(82px,22vw,98px);
  }
}

@media   (max-width:380px){
  .logo-center{
    left:calc(50% + 22px);
    width:clamp(150px,45vw,172px);
  }
  .logo-center:hover{
    transform:translateX(-50%);
  }
}

/* PAPEROOT SECTION 27 — Accessibility and reduced motion */
@media   (prefers-reduced-motion:reduce){
  .basket-drawer__empty-stamp{
    transition:none!important;
    transform:none!important;
  }
}


/* ========================================================================== 
   PAPEROOT PUBLIC RELEASE V2 — targeted prelaunch replacements
   The complete approved v51 customer design remains above this section.
   ========================================================================== */
.prelaunch-status{
  display:inline-flex!important;
  min-width:auto!important;
  width:auto!important;
  height:24px!important;
  padding:0 8px!important;
  border-radius:999px!important;
  font-size:10px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase;
  line-height:1!important;
}
.product-card-actions{grid-template-columns:1fr 1fr;align-items:stretch}
.product-card-interest{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--ink);border:1px solid var(--line)}
.product-card-interest:hover{background:var(--paper)}
.product-purchase__actions>a{width:100%;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.mobile-purchase-bar>a{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.basket-prelaunch-layout{align-items:start}
.basket-prelaunch-empty{display:grid;justify-items:center;gap:14px}
.basket-prelaunch-empty .basket-drawer__empty-stamp{margin-bottom:4px}
.basket-prelaunch-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.basket-prelaunch-actions a{text-decoration:none}
.basket-prelaunch-page .checkout-button{display:flex;align-items:center;justify-content:center;text-decoration:none}
@media   (max-width:720px){
  .product-card-actions{grid-template-columns:1fr}
  .nav-links.open .nav-actions .account-link,.nav-links.open .nav-actions .basket-link{grid-template-columns:auto minmax(0,1fr) auto}
  .nav-links.open .prelaunch-status{justify-self:end}
  .basket-prelaunch-actions{display:grid;width:100%}
  .basket-prelaunch-actions a{width:100%;justify-content:center}
}

/* ========================================================================== 
   PAPEROOT PUBLIC RELEASE V3 — public-safe Basket and Contact drawers
   ========================================================================== */
.nav-icon-link[type="button"]{
  padding:0;
  color:var(--ink);
  font:inherit;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
}

.paperoot-public-drawer{
  height:var(--paperoot-visual-viewport-height,100dvh);
  max-height:100dvh;
  grid-template-rows:auto minmax(0,1fr);
}

.paperoot-public-drawer-layer[hidden]{display:none!important}
.paperoot-public-drawer-layer.is-open{pointer-events:auto}
.paperoot-public-drawer__content{padding-block:0}
body.paperoot-public-drawer-open{overscroll-behavior:none}

.paperoot-public-drawer .basket-drawer__close{
  background:var(--paperoot-close-inner,#fff);
  box-shadow:
    0 0 0 3px var(--paperoot-close-gap,#fff),
    0 0 0 7px var(--paperoot-close-ring,#d5c0a1),
    0 12px 30px rgba(31,27,20,.10);
}

.paperoot-public-drawer .basket-drawer__empty{
  min-height:100%;
}

.paperoot-public-drawer__contact-trigger{
  min-height:44px;
}

.paperoot-contact-drawer__content{
  display:flex;
  flex-direction:column;
  gap:clamp(20px,3vh,30px);
  padding-top:clamp(28px,5vh,50px);
  padding-bottom:calc(clamp(28px,5vh,50px) + env(safe-area-inset-bottom,0px));
}

.paperoot-contact-drawer__intro{
  max-width:38ch;
}
.paperoot-contact-drawer__intro>p:first-child{
  margin:0;
  font-size:clamp(18px,2.1vw,23px);
  line-height:1.42;
  letter-spacing:-.025em;
}
.paperoot-contact-drawer__privacy{
  margin:12px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}
.paperoot-contact-actions{
  display:grid;
  gap:10px;
}
.paperoot-contact-action{
  min-height:82px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:14px;
  align-items:center;
  padding:15px 16px;
  border:1px solid rgba(185,155,115,.28);
  border-radius:22px;
  background:rgba(255,255,255,.72);
  color:var(--ink);
  text-decoration:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
  transition:transform 180ms ease,background-color 180ms ease,border-color 180ms ease,box-shadow 180ms ease;
}
.paperoot-contact-action>span{
  grid-row:1/3;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--soft-black,#2a2925);
  color:var(--deep-sand,#b99b73);
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
}
.paperoot-contact-action strong{
  align-self:end;
  font-size:16px;
  line-height:1.15;
  letter-spacing:-.02em;
}
.paperoot-contact-action small{
  align-self:start;
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}
.paperoot-contact-drawer__page-link{
  margin-top:auto;
}

.mobile-menu-basket{
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
}

@media (hover:hover) and (pointer:fine){
  .paperoot-contact-action:hover{
    transform:translateY(-2px);
    background:#fff;
    border-color:rgba(185,155,115,.5);
    box-shadow:0 14px 30px rgba(31,27,20,.08);
  }
}

.paperoot-contact-action:focus-visible{
  outline:3px solid rgba(185,155,115,.5);
  outline-offset:3px;
}

@media (max-width:920px){
  .nav-links.open .nav-icon-link[type="button"]{
    text-align:left;
  }
  .nav-links.open .mobile-menu-basket{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) auto!important;
  }
  .nav-links.open .mobile-menu-basket .prelaunch-status{
    grid-column:3;
    justify-self:end!important;
    margin-left:0!important;
  }
}

@media (max-width:430px){
  .paperoot-public-drawer{
    height:var(--paperoot-visual-viewport-height,100dvh);
    max-height:100dvh;
  }
  .paperoot-contact-drawer__content{
    padding-top:26px;
  }
  .paperoot-contact-action{
    min-height:78px;
    grid-template-columns:40px minmax(0,1fr);
    column-gap:12px;
    padding:13px 14px;
    border-radius:19px;
  }
  .paperoot-contact-action>span{
    width:40px;
    height:40px;
  }
  .nav-links.open .mobile-menu-basket{
    grid-template-columns:42px minmax(0,1fr) auto!important;
  }
}

@media (max-width:340px){
  .paperoot-contact-action small{font-size:11px}
  .paperoot-contact-action strong{font-size:15px}
}

@media (prefers-reduced-motion:reduce){
  .paperoot-contact-action{transition:none!important}
  .paperoot-contact-action:hover{transform:none!important}
}


/* ========================================================================== 
   PAPEROOT PUBLIC RELEASE V4 — stable desktop and mobile drawer controls
   Removes legacy basket-badge conflicts and prevents hover/touch layout jumps.
   ========================================================================== */

/* Drawer triggers must not move when hovered, focused, pressed or tapped. */
.nav-icon-link[data-paperoot-drawer-trigger],
.nav-icon-link[data-paperoot-drawer-trigger]:hover,
.nav-icon-link[data-paperoot-drawer-trigger]:focus,
.nav-icon-link[data-paperoot-drawer-trigger]:focus-visible,
.nav-icon-link[data-paperoot-drawer-trigger]:active {
  transform:none!important;
}

/* Keep visual feedback without moving the controls. */
@media (hover:hover) and (pointer:fine) {
  .nav-icon-link[data-paperoot-drawer-trigger]:hover {
    background:linear-gradient(145deg,#fff,rgba(229,212,189,.72));
    border-color:rgba(185,155,115,.48);
    color:var(--deep-sand);
  }
}

/* Use the real Basket label and remove legacy pseudo-label behaviour. */
.nav-links.open .basket-link .nav-icon-label {
  display:inline-flex!important;
  align-items:center!important;
  min-width:0!important;
}
.nav-links.open .basket-link::after {
  content:none!important;
  display:none!important;
}

/* Stable public prelaunch status in desktop and mobile navigation. */
.basket-link .prelaunch-status,
.nav-links.open .basket-link .prelaunch-status {
  position:static!important;
  top:auto!important;
  right:auto!important;
  width:auto!important;
  min-width:auto!important;
  height:24px!important;
  margin:0!important;
  padding:0 8px!important;
  justify-self:end!important;
  flex:0 0 auto!important;
  transform:none!important;
  white-space:nowrap!important;
}

/* Desktop remains circular and compact; status sits beside the control only
   where the existing navigation has room for it. */
@media (min-width:921px) {
  .basket-link .prelaunch-status {
    position:absolute!important;
    top:-8px!important;
    right:-14px!important;
    height:20px!important;
    padding-inline:7px!important;
    font-size:9px!important;
  }
}

/* Mobile action rows share one fixed grid and do not change on hover/tap. */
@media (max-width:920px) {
  .nav-links.open .nav-actions {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
  }

  .nav-links.open .nav-icon-link[data-paperoot-drawer-trigger] {
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) auto!important;
    align-items:center!important;
    width:100%!important;
    min-height:62px!important;
    gap:12px!important;
    padding:0 14px!important;
    text-align:left!important;
    overflow:hidden!important;
  }

  .nav-links.open .account-link .nav-icon-label,
  .nav-links.open .basket-link .nav-icon-label {
    display:inline-flex!important;
    min-width:0!important;
    white-space:nowrap!important;
  }

  .nav-links.open .account-link .nav-icon-label {
    grid-column:2 / 4;
  }

  .nav-links.open .basket-link .prelaunch-status {
    grid-column:3!important;
    justify-self:end!important;
  }
}

@media (max-width:430px) {
  .nav-links.open .nav-icon-link[data-paperoot-drawer-trigger] {
    grid-template-columns:42px minmax(0,1fr) auto!important;
  }
}

@media (prefers-reduced-motion:reduce) {
  .nav-icon-link[data-paperoot-drawer-trigger],
  .nav-icon-link[data-paperoot-drawer-trigger] * {
    transition:none!important;
  }
}

/* ========================================================================== 
   PAPEROOT PUBLIC RELEASE V5 — hamburger action-row containment
   The open hamburger panel is a narrow fixed drawer at every viewport width.
   Stack the two long public actions so neither label nor status can overflow.
   ========================================================================== */
.nav-links.open .nav-actions {
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  gap:8px!important;
  box-sizing:border-box!important;
  margin-inline:0!important;
}

.nav-links.open .nav-icon-link[data-paperoot-drawer-trigger] {
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) auto!important;
  align-items:center!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:62px!important;
  height:auto!important;
  gap:12px!important;
  padding:8px 14px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  white-space:nowrap!important;
}

.nav-links.open .nav-icon-link[data-paperoot-drawer-trigger] .nav-icon-shell {
  grid-column:1!important;
  flex:0 0 auto!important;
  justify-self:start!important;
}

.nav-links.open .nav-icon-link[data-paperoot-drawer-trigger] .nav-icon-label {
  grid-column:2!important;
  min-width:0!important;
  max-width:100%!important;
  justify-self:start!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
}

.nav-links.open .account-link .nav-icon-label {
  grid-column:2 / 4!important;
}

.nav-links.open .basket-link .prelaunch-status {
  grid-column:3!important;
  position:static!important;
  inset:auto!important;
  justify-self:end!important;
  align-self:center!important;
  width:max-content!important;
  min-width:max-content!important;
  max-width:none!important;
  margin:0!important;
  padding:0 8px!important;
  transform:none!important;
  overflow:visible!important;
  white-space:nowrap!important;
}

/* The legacy basket pseudo-label and badge offsets must never reappear inside
   the open hamburger panel. */
.nav-links.open .basket-link::after {
  content:none!important;
  display:none!important;
}

@media (max-width:430px) {
  .nav-links.open .nav-icon-link[data-paperoot-drawer-trigger] {
    grid-template-columns:42px minmax(0,1fr) auto!important;
    gap:10px!important;
    padding-inline:12px!important;
  }
}

/* Decorative menu artwork from the inherited v51 design may extend beyond the
   panel's padding box. Keep it visually clipped without allowing an x-scrollbar. */
.nav-links.open {
  overflow-x:hidden!important;
}


/* ========================================================================== 
   PAPEROOT PUBLIC RELEASE V8 — drawer and filter line-pattern watermark only
   The footer pattern was removed. The uploaded line work remains limited to
   the Contact, Basket, and Shop Filter header bands.
   ========================================================================== */
:root{
  --paperoot-line-pattern-url:url("/assets/images/paperoot-line-pattern.png");
  --paperoot-line-pattern-opacity:.10;
}

/* Shared highlighted header treatment. The original warm header surface stays
   intact; this pseudo-element only adds the uploaded line work above the
   surface and below all headings, controls, and close-button rings. */
.basket-drawer__header,
.shop-filter-panel__header{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  --paperoot-header-pattern-position:center 42%;
  --paperoot-header-pattern-size:clamp(390px,47vw,620px) auto;
}
.basket-drawer__header::before,
.shop-filter-panel__header::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  user-select:none;
  background-image:var(--paperoot-line-pattern-url);
  background-repeat:no-repeat;
  background-position:var(--paperoot-header-pattern-position);
  background-size:var(--paperoot-header-pattern-size);
  opacity:var(--paperoot-line-pattern-opacity);
  mix-blend-mode:multiply;
}
.basket-drawer__header > *,
.shop-filter-panel__header > *{
  position:relative;
  z-index:1;
}
.paperoot-contact-drawer .basket-drawer__header{
  --paperoot-header-pattern-position:68% 44%;
  --paperoot-header-pattern-size:clamp(430px,52vw,680px) auto;
}
.paperoot-public-drawer--basket .basket-drawer__header{
  --paperoot-header-pattern-position:62% 38%;
}
.shop-filter-panel__header{
  --paperoot-header-pattern-position:56% 38%;
  --paperoot-header-pattern-size:clamp(400px,50vw,650px) auto;
}

@media (max-width:720px){
  .basket-drawer__header,
  .shop-filter-panel__header{
    --paperoot-header-pattern-size:clamp(360px,118vw,520px) auto;
  }
}

@media (max-width:430px){
  :root{
    --paperoot-line-pattern-opacity:.09;
  }
  .paperoot-contact-drawer .basket-drawer__header{
    --paperoot-header-pattern-position:64% 40%;
  }
}

/* ========================================================================== 
   PAPEROOT PUBLIC RELEASE V9 — product gallery and card typography repair
   ========================================================================== */

/* Product cards: keep the title, price and actions in a calm vertical hierarchy. */
.product-title-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:start!important;
  justify-content:initial!important;
  gap:clamp(7px,.7vw,10px)!important;
}

.product-title-row .product-title-name{
  min-width:0;
  margin:0;
}

.product-title-row .product-card-price,
.product-title-row strong[data-card-price]{
  display:block;
  justify-self:start;
  margin:0;
  color:var(--muted);
  font-size:clamp(14px,1.05vw,17px)!important;
  font-weight:700;
  line-height:1.25;
  letter-spacing:-.015em;
  white-space:normal!important;
}

.product-card-actions{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  align-items:stretch;
  gap:clamp(8px,.8vw,12px);
}

.product-card-actions .product-card-add-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  width:100%;
  min-height:50px;
  box-sizing:border-box;
  padding:0 clamp(12px,1.2vw,18px);
  overflow:visible;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
  font-size:clamp(12px,.95vw,15px)!important;
  line-height:1;
}

/* The generated lightbox uses these classes; position controls around the image, not in normal flow. */
.paperoot-lightbox-v31 .paperoot-lightbox-dialog{
  position:relative;
  display:grid;
  place-items:center;
}

.paperoot-lightbox-v31 .paperoot-lightbox-arrow{
  position:absolute;
  top:50%;
  z-index:4;
  display:inline-grid;
  place-items:center;
  width:50px;
  height:50px;
  margin:0;
  padding:0;
  transform:translateY(-50%);
  border:1px solid rgba(42,41,37,.18);
  border-radius:999px;
  background:rgba(255,250,241,.94);
  color:var(--ink);
  box-shadow:0 14px 34px rgba(31,27,20,.12);
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
}

.paperoot-lightbox-v31 .paperoot-lightbox-arrow span{
  display:block;
  font-size:30px;
  font-weight:500;
  line-height:.8;
  transform:translateY(-1px);
}

.paperoot-lightbox-v31 .paperoot-lightbox-arrow--prev{left:clamp(14px,2.2vw,28px)}
.paperoot-lightbox-v31 .paperoot-lightbox-arrow--next{right:clamp(14px,2.2vw,28px)}

.paperoot-lightbox-v31 .paperoot-lightbox-arrow:hover{
  background:var(--ink);
  color:#fff;
  border-color:var(--ink);
}

.paperoot-lightbox-v31 .paperoot-lightbox-arrow:focus-visible{
  outline:3px solid rgba(185,155,115,.48);
  outline-offset:4px;
}

.paperoot-lightbox-v31 .paperoot-lightbox-count{
  position:absolute;
  left:50%;
  bottom:clamp(12px,1.5vw,20px);
  z-index:4;
  margin:0;
  transform:translateX(-50%);
  padding:7px 12px;
  border:1px solid rgba(42,41,37,.12);
  border-radius:999px;
  background:rgba(255,250,241,.92);
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  pointer-events:none;
}

@media (max-width:760px){
  .product-card-actions{
    grid-template-columns:1fr!important;
  }
  .product-card-actions .product-card-add-btn{
    min-height:48px;
    font-size:14px!important;
  }
  .paperoot-lightbox-v31 .paperoot-lightbox-arrow{
    width:44px;
    height:44px;
  }
  .paperoot-lightbox-v31 .paperoot-lightbox-arrow--prev{left:10px}
  .paperoot-lightbox-v31 .paperoot-lightbox-arrow--next{right:10px}
  .paperoot-lightbox-v31 .paperoot-lightbox-arrow span{font-size:27px}
}

@media (prefers-reduced-motion:reduce){
  .paperoot-lightbox-v31 .paperoot-lightbox-arrow,
  .product-card-actions .product-card-add-btn{
    transition:none!important;
  }
}



/* PAPEROOT PUBLIC RELEASE V10 — verified Instagram-only social layout. */
.footer-v19-contact .footer-instagram-handle:focus-visible{outline:2px solid var(--warm-beige);outline-offset:5px;border-radius:4px}


/* ========================================================================== 
   PAPEROOT PUBLIC RELEASE V11 — development status and static Journal
   ========================================================================== */
.development-status{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin:0 0 18px;
  padding:7px 11px;
  border:1px solid rgba(185,155,115,.38);
  border-radius:999px;
  background:rgba(229,212,189,.54);
  color:var(--soft-black);
  font-size:11px;
  font-weight:700;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.development-status--card{margin:0 0 10px;padding:6px 9px;font-size:10px}
.development-notice,.product-development-copy,.journal-development-note{
  color:var(--muted);
  line-height:1.65;
}
.product-development-copy{
  margin:14px 0 20px;
  padding:15px 17px;
  border-left:3px solid var(--deep-sand);
  border-radius:0 14px 14px 0;
  background:rgba(229,212,189,.26);
  font-size:14px;
}
.paperoot-contact-drawer__intro .development-status{margin-bottom:12px}

.journal-page,.journal-article-page{
  width:var(--container);
  margin:0 auto;
  padding:var(--nav-offset) 0 clamp(78px,9vw,130px);
}
.journal-hero{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(360px,.8fr);
  align-items:center;
  gap:clamp(38px,7vw,110px);
  min-height:clamp(650px,76vh,880px);
  padding:clamp(38px,5vw,72px) 0 clamp(60px,7vw,100px);
}
.journal-hero__copy{max-width:720px}
.journal-hero h1{
  max-width:720px;
  margin:0 0 24px;
  font-size:clamp(58px,7.7vw,116px);
  font-weight:700;
  line-height:.86;
  letter-spacing:-.075em;
}
.journal-hero__lead{
  max-width:680px;
  color:var(--muted);
  font-size:clamp(18px,1.55vw,24px);
  line-height:1.55;
}
.journal-development-note{
  max-width:640px;
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid var(--line);
  font-size:14px;
}
.journal-hero__media{
  position:relative;
  overflow:hidden;
  min-height:clamp(480px,54vw,720px);
  border-radius:clamp(28px,4vw,58px);
  background:var(--warm-beige);
  box-shadow:var(--shadow);
}
.journal-hero__media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.journal-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(16px,2vw,28px);
  padding:0 0 clamp(54px,7vw,92px);
}
.journal-card{
  min-height:460px;
  display:flex;
  flex-direction:column;
  padding:clamp(28px,3vw,44px);
  border:1px solid var(--line);
  border-radius:clamp(26px,3vw,42px);
  background:rgba(255,255,255,.62);
  box-shadow:0 20px 60px rgba(31,27,20,.045);
}
.journal-card__category{
  margin-bottom:clamp(50px,6vw,88px);
  color:var(--deep-sand);
  font-size:11px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.journal-card h2{
  margin-bottom:20px;
  font-size:clamp(32px,3.25vw,52px);
  font-weight:700;
  line-height:.95;
  letter-spacing:-.055em;
}
.journal-card > p:not(.journal-card__category){color:var(--muted);font-size:16px;line-height:1.58}
.journal-card a{
  width:max-content;
  margin-top:auto;
  padding-top:28px;
  color:var(--ink);
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid transparent;
}
.journal-card a:hover{border-bottom-color:currentColor}
.journal-card a:focus-visible,.journal-breadcrumb a:focus-visible{outline:3px solid rgba(185,155,115,.48);outline-offset:5px;border-radius:4px}
.journal-cta{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:32px;
  padding:clamp(30px,4vw,56px);
  border-radius:clamp(28px,4vw,48px);
  background:var(--warm-beige);
}
.journal-cta > div{max-width:850px}
.journal-cta h2{margin-bottom:14px;font-size:clamp(38px,5.5vw,76px);line-height:.95;letter-spacing:-.06em}
.journal-cta p:not(.eyebrow){color:var(--muted);font-size:16px;line-height:1.6}
.journal-cta .btn-dark{flex:0 0 auto;cursor:pointer}

.journal-article{max-width:980px;margin:0 auto;padding:clamp(40px,6vw,90px) 0}
.journal-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  margin-bottom:clamp(44px,6vw,78px);
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}
.journal-breadcrumb a{text-underline-offset:4px}
.journal-article__header{max-width:900px;padding-bottom:clamp(42px,5vw,70px);border-bottom:1px solid var(--line)}
.journal-article__header .journal-card__category{margin-bottom:24px}
.journal-article__header h1{margin-bottom:24px;font-size:clamp(52px,7.2vw,100px);line-height:.91;letter-spacing:-.07em}
.journal-article__intro{max-width:760px;margin-bottom:22px;color:var(--muted);font-size:clamp(20px,2vw,28px);line-height:1.5}
.journal-article__header time{color:var(--muted);font-size:14px;font-weight:700}
.journal-article__body{max-width:740px;margin:0 auto;padding:clamp(44px,7vw,90px) 0}
.journal-article__body > p,.journal-article__body section p,.journal-paperoot-note p{font-size:clamp(17px,1.35vw,20px);line-height:1.78;color:var(--soft-black)}
.journal-article__body section{margin-top:clamp(42px,5vw,64px)}
.journal-article__body h2{margin-bottom:18px;font-size:clamp(32px,4vw,52px);line-height:1;letter-spacing:-.045em}
.journal-paperoot-note{margin-top:clamp(52px,7vw,86px);padding:clamp(28px,4vw,46px);border-radius:28px;background:rgba(229,212,189,.48)}
.journal-paperoot-note h2{font-size:clamp(28px,3vw,40px)}
.journal-article__footer{max-width:740px;margin:0 auto;padding-bottom:clamp(30px,5vw,62px)}
.journal-cta--article{max-width:1120px;margin:0 auto}

@media (max-width:1024px){
  .journal-hero{grid-template-columns:minmax(0,1fr) minmax(300px,.78fr);gap:38px}
  .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .journal-card:last-child{grid-column:1/-1}
}
@media (max-width:760px){
  .journal-page,.journal-article-page{width:min(100% - 28px,1320px)}
  .journal-hero{grid-template-columns:1fr;min-height:0;padding-top:32px}
  .journal-hero__copy{order:1}.journal-hero__media{order:2;min-height:min(118vw,620px)}
  .journal-hero h1{font-size:clamp(52px,15vw,82px)}
  .journal-grid{grid-template-columns:1fr}
  .journal-card,.journal-card:last-child{grid-column:auto;min-height:390px}
  .journal-card__category{margin-bottom:42px}
  .journal-cta{align-items:stretch;flex-direction:column}
  .journal-cta .btn-dark{width:100%}
  .journal-article__header h1{font-size:clamp(48px,13vw,76px)}
}
@media (max-width:430px){
  .journal-page,.journal-article-page{width:min(100% - 22px,1320px)}
  .journal-card{padding:27px 24px;border-radius:28px}
  .journal-card h2{font-size:34px}
  .journal-cta{padding:28px 24px;border-radius:28px}
  .journal-breadcrumb{font-size:12px}
}


/* ========================================================================== 
   PAPEROOT PUBLIC RELEASE V13 — development transparency and For business
   ========================================================================== */
.editorial-info-page{
  width:var(--container);
  margin:0 auto;
  padding:var(--nav-offset) 0 clamp(82px,9vw,136px);
}
.editorial-breadcrumb{max-width:1320px;margin:0 auto;padding-top:clamp(28px,4vw,52px);margin-bottom:0}
.editorial-info-hero{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(420px,.95fr);
  align-items:center;
  gap:clamp(38px,6.5vw,104px);
  min-height:clamp(650px,76vh,880px);
  padding:clamp(36px,5vw,72px) 0 clamp(66px,8vw,112px);
}
.editorial-info-hero__copy{max-width:760px}
.editorial-info-hero h1{
  margin:0 0 26px;
  font-size:clamp(56px,7vw,106px);
  font-weight:700;
  line-height:.9;
  letter-spacing:-.07em;
}
.editorial-info-hero__lead{max-width:720px;color:var(--muted);font-size:clamp(18px,1.55vw,24px);line-height:1.58}
.editorial-info-hero .development-notice{margin-top:24px;padding:18px 20px;border-left:3px solid var(--deep-sand);border-radius:0 16px 16px 0;background:rgba(229,212,189,.32);font-size:15px}
.editorial-info-hero__media{position:relative;overflow:hidden;min-height:clamp(470px,48vw,700px);margin:0;border-radius:clamp(28px,4vw,58px);background:var(--warm-beige);box-shadow:var(--shadow)}
.editorial-info-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.editorial-section-heading{max-width:800px;margin-bottom:clamp(34px,5vw,64px)}
.editorial-section-heading h2{font-size:clamp(42px,5.5vw,78px);line-height:.95;letter-spacing:-.06em}
.numbered-process{padding:clamp(58px,7vw,104px) 0}
.numbered-process__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.numbered-process__item{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,2.5vw,36px);min-height:260px;padding:clamp(26px,3.3vw,46px);border:1px solid var(--line);border-radius:clamp(24px,3vw,40px);background:rgba(255,255,255,.6)}
.numbered-process__item:last-child:nth-child(odd){grid-column:1/-1}
.numbered-process__item > span{color:var(--deep-sand);font-size:13px;font-weight:700;letter-spacing:.14em}
.numbered-process__item h3{margin:0 0 16px;font-size:clamp(30px,3.2vw,48px);line-height:1;letter-spacing:-.045em}
.numbered-process__item p{color:var(--muted);font-size:16px;line-height:1.68}
.numbered-process--three .numbered-process__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.numbered-process--three .numbered-process__item:last-child:nth-child(odd){grid-column:auto}
.claim-limits{margin:clamp(30px,5vw,70px) 0;padding:clamp(34px,5vw,72px);border-radius:clamp(28px,4vw,52px);background:var(--soft-black);color:#fff}
.claim-limits .eyebrow{color:var(--warm-beige)}
.claim-limits h2{max-width:920px;margin-bottom:clamp(30px,4vw,48px);font-size:clamp(44px,6vw,84px);line-height:.94;letter-spacing:-.06em}
.claim-limits ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 36px;margin:0;padding:0;list-style:none}
.claim-limits li{position:relative;padding:18px 0 18px 28px;border-top:1px solid rgba(255,255,255,.18);font-size:clamp(16px,1.35vw,19px);line-height:1.6}
.claim-limits li::before{content:'—';position:absolute;left:0;color:var(--deep-sand)}
.cross-link-panel{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:clamp(48px,6vw,88px) 0;padding:clamp(28px,4vw,52px);border:1px solid var(--line);border-radius:clamp(26px,3.5vw,46px);background:rgba(255,255,255,.62)}
.cross-link-panel > div{max-width:820px}.cross-link-panel h2{margin-bottom:12px;font-size:clamp(34px,4vw,58px);line-height:.98;letter-spacing:-.05em}.cross-link-panel p:not(.eyebrow){color:var(--muted);line-height:1.6}.cross-link-panel .btn-outline{flex:0 0 auto;text-align:center}
.editorial-info-cta{margin-top:clamp(44px,6vw,86px)}
.editorial-info-cta__secondary{margin-top:12px}.editorial-info-cta__note{margin-top:16px;font-size:13px!important;font-weight:700}
.early-conversation{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.5fr);gap:clamp(32px,6vw,90px);margin:clamp(40px,6vw,90px) 0;padding:clamp(36px,5vw,68px);border-radius:clamp(28px,4vw,52px);background:var(--warm-beige)}
.early-conversation__intro h2{font-size:clamp(42px,5vw,72px);line-height:.95;letter-spacing:-.06em}.early-conversation__intro > p:last-child{margin-top:20px;color:var(--muted);line-height:1.65}
.early-conversation__grid{display:grid;gap:18px}.early-conversation__grid article{padding:24px 0;border-top:1px solid rgba(42,41,37,.16)}.early-conversation__grid h3{margin-bottom:10px;font-size:clamp(25px,2.5vw,36px);letter-spacing:-.035em}.early-conversation__grid p{color:var(--muted);line-height:1.65}
.business-form-section{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.35fr);gap:clamp(36px,6vw,96px);padding:clamp(60px,8vw,112px) 0}
.business-form-copy{align-self:start;position:sticky;top:calc(var(--nav-height) + 32px)}.business-form-copy h2{margin-bottom:20px;font-size:clamp(44px,5.5vw,78px);line-height:.95;letter-spacing:-.06em}.business-form-copy > p:not(.eyebrow){color:var(--muted);line-height:1.65}.business-form-explainer{margin-top:26px;padding:20px;border-left:3px solid var(--deep-sand);background:rgba(229,212,189,.32);border-radius:0 14px 14px 0}.business-form-storage-note{margin-top:14px;font-size:13px;font-weight:700}
.business-interest-form{padding:clamp(26px,4vw,50px);border:1px solid var(--line);border-radius:clamp(26px,4vw,48px);background:rgba(255,255,255,.68);box-shadow:0 24px 70px rgba(31,27,20,.055)}
.business-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.business-form-grid label{display:grid;gap:9px;font-size:13px;font-weight:700;letter-spacing:.02em}.business-form-grid input,.business-form-grid select,.business-form-grid textarea{width:100%;min-height:52px;padding:13px 15px;border:1px solid rgba(42,41,37,.22);border-radius:13px;background:#fff;color:var(--ink);font:inherit}.business-form-grid textarea{min-height:160px;resize:vertical}.business-form-grid input:focus,.business-form-grid select:focus,.business-form-grid textarea:focus{outline:3px solid rgba(185,155,115,.35);border-color:var(--deep-sand)}.business-form-grid [aria-invalid=true]{border-color:#8c2f2f;outline:2px solid rgba(140,47,47,.18)}
.business-form-message{grid-column:1/-1}.optional-label{color:var(--muted);font-weight:600}
.business-updates-option{display:flex;align-items:flex-start;gap:12px;margin:24px 0 16px;padding:18px;border-radius:15px;background:rgba(229,212,189,.3);font-weight:700;line-height:1.45}.business-updates-option input{width:20px;height:20px;margin-top:2px;accent-color:var(--ink)}.business-updates-option small{display:block;margin-top:6px;color:var(--muted);font-weight:500}
.business-form-privacy{margin:0 0 22px;color:var(--muted);font-size:13px;line-height:1.6}.business-form-privacy a{text-decoration:underline;text-underline-offset:3px}.business-interest-form .form-submit{width:100%}
.business-form-errors{margin-bottom:20px;padding:18px 20px;border:1px solid rgba(140,47,47,.34);border-radius:14px;background:rgba(140,47,47,.07);color:#682424}.business-form-errors p{font-weight:700}.business-form-errors ul{margin:8px 0 0;padding-left:20px}.business-form-errors:focus{outline:3px solid rgba(140,47,47,.25)}
.home-pathways{width:var(--container);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.5vw,34px);margin:clamp(70px,9vw,132px) auto;padding:0}
.home-pathway-card{display:flex;flex-direction:column;min-height:390px;padding:clamp(30px,4vw,58px);border:1px solid var(--line);border-radius:clamp(28px,4vw,52px);background:rgba(255,255,255,.7)}
.home-pathway-card--business{background:var(--warm-beige)}.home-pathway-card h2{margin-bottom:20px;font-size:clamp(40px,5vw,72px);line-height:.95;letter-spacing:-.06em}.home-pathway-card > p:not(.eyebrow){max-width:700px;color:var(--muted);line-height:1.65}.home-pathway-card .text-link{width:max-content;margin-top:auto;padding-top:28px}
.hero-transparency-link{align-self:center}.paperoot-drawer-context-link{display:inline-block;margin:0 0 14px;color:var(--soft-black);font-size:13px;font-weight:700;text-underline-offset:4px}.product-development-copy a,.shop-note a,.journal-note-link{font-weight:700;text-decoration:underline;text-underline-offset:4px}.journal-note-link{display:inline-block;margin-top:14px}
.article-business-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:740px;margin:0 auto clamp(34px,5vw,62px);padding:clamp(24px,3.5vw,40px);border:1px solid var(--line);border-radius:28px;background:var(--warm-beige)}.article-business-cta h2{font-size:clamp(28px,3.5vw,46px);line-height:1;letter-spacing:-.045em}.article-business-cta .btn-outline{flex:0 0 auto;text-align:center}

@media (max-width:1100px){
  .editorial-info-hero{grid-template-columns:minmax(0,1fr) minmax(340px,.82fr);gap:42px}
  .numbered-process--three .numbered-process__grid{grid-template-columns:1fr}.numbered-process--three .numbered-process__item{grid-column:auto}
  .business-form-section{grid-template-columns:1fr}.business-form-copy{position:static;max-width:850px}
}
@media (max-width:760px){
  .editorial-info-page{width:min(100% - 28px,1320px)}
  .editorial-info-hero{grid-template-columns:1fr;min-height:0;padding-top:34px}.editorial-info-hero__copy{order:1}.editorial-info-hero__media{order:2;min-height:min(70vw,520px)}
  .editorial-info-hero h1{font-size:clamp(48px,13vw,76px)}
  .numbered-process__grid,.claim-limits ul,.home-pathways{grid-template-columns:1fr}.numbered-process__item,.numbered-process__item:last-child:nth-child(odd){grid-column:auto;min-height:0}
  .cross-link-panel,.article-business-cta{align-items:stretch;flex-direction:column}.cross-link-panel .btn-outline,.article-business-cta .btn-outline{width:100%}
  .early-conversation{grid-template-columns:1fr}.business-form-grid{grid-template-columns:1fr}.business-form-message{grid-column:auto}
  .home-pathway-card{min-height:340px}
}
@media (max-width:430px){
  .editorial-info-page{width:min(100% - 22px,1320px)}
  .editorial-info-hero__media{min-height:72vw;border-radius:28px}.numbered-process__item{grid-template-columns:1fr;padding:26px 23px;border-radius:26px}.numbered-process__item > span{margin-bottom:3px}
  .claim-limits,.early-conversation,.business-interest-form,.cross-link-panel{padding:27px 23px;border-radius:28px}.home-pathway-card{padding:28px 24px;border-radius:28px}.home-pathway-card h2{font-size:38px}
}

/* ========================================================================== 
   PAPEROOT PUBLIC RELEASE V13 — left-side Journal / For business navigation
   Desktop secondary navigation sits beside Search without becoming a status
   control. It collapses before the header becomes crowded; the same links
   remain available in the hamburger menu at every compact breakpoint.
   ========================================================================== */
.secondary-nav{
  height:58px;
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:0 20px;
  border:1px solid rgba(185,155,115,.28);
  border-radius:999px;
  background:rgba(246,242,233,.78);
  box-shadow:0 18px 56px rgba(26,22,17,.10);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  pointer-events:auto;
  transition:opacity .2s ease,transform .24s ease,background .24s ease,border-color .24s ease;
}
.has-scrolled .secondary-nav{
  background:rgba(255,255,255,.88);
  border-color:rgba(185,155,115,.22);
}
.secondary-nav a{
  position:relative;
  color:var(--ink);
  text-decoration:none;
  white-space:nowrap;
  font-size:14px;
  font-weight:700;
  letter-spacing:-.015em;
}
.secondary-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-6px;
  height:2px;
  border-radius:999px;
  background:var(--deep-sand);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s ease;
}
.secondary-nav a:hover::after,
.secondary-nav a.is-active::after{transform:scaleX(1)}
.secondary-nav>span{
  width:1px;
  height:20px;
  background:rgba(42,41,37,.16);
  flex:0 0 1px;
}
.secondary-nav a:focus-visible{
  outline:3px solid rgba(185,155,115,.45);
  outline-offset:6px;
  border-radius:4px;
}
.site-search.is-open + .secondary-nav{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(-8px);
}
@media (max-width:1180px){
  .secondary-nav{display:none}
}
@media (prefers-reduced-motion:reduce){
  .secondary-nav,.secondary-nav a::after{transition:none!important}
}

/* V13 — Netlify form consent and transparent submission notes. */
.footer-interest-consent{
  margin-top:12px;
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:rgba(255,255,255,.9);
  font-size:12px;
  line-height:1.45;
  cursor:pointer;
}
.footer-interest-consent input{
  width:18px;
  height:18px;
  margin-top:1px;
  flex:0 0 18px;
  accent-color:var(--deep-sand);
}
.footer-interest-consent-note{
  margin-top:7px;
  color:rgba(255,255,255,.66);
  font-size:11px;
  line-height:1.45;
}
.footer-interest-consent-note a{color:inherit;text-underline-offset:3px}
.footer-interest-consent input:focus-visible{
  outline:3px solid rgba(229,212,189,.62);
  outline-offset:3px;
}
.summary-note a,.business-form-privacy a{color:inherit;text-underline-offset:3px}


/* ========================================================================== 
   PAPEROOT PUBLIC RELEASE V14 — UI, footer and information-page refinement
   ========================================================================== */

/* Secondary navigation now shares the primary navigation colour, underline,
   timing and active-state language while retaining its left-side position. */
.secondary-nav a{
  color:var(--ink);
  transition:color .24s ease,transform .24s ease,background .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.secondary-nav a:hover,.secondary-nav a.is-active{color:var(--deep-sand)}
.secondary-nav a::after{
  bottom:-8px;
  background:var(--deep-sand);
  transition:transform .28s cubic-bezier(.22,1,.36,1),background .24s ease;
}

/* Compact menu typography keeps every long label inside the narrow drawer. */
@media (max-width:920px){
  .nav-links.open>a{
    font-size:clamp(24px,6.6vw,34px)!important;
    line-height:1.04!important;
    letter-spacing:-.055em!important;
    min-height:44px;
    padding:7px 8px!important;
  }
}
@media (max-width:360px){
  .nav-links.open>a{font-size:clamp(23px,7.2vw,30px)!important}
}

/* For Business hero: shorter editorial media, better balance and intentional crop. */
.editorial-info-hero--business{
  min-height:0;
  align-items:center;
  padding-top:clamp(48px,6vw,86px);
}
.editorial-info-hero__media--business{
  min-height:0;
  aspect-ratio:16/11;
  max-height:590px;
  align-self:center;
}
.editorial-info-hero__media--business img{object-position:center 52%}

/* Business audience cards no longer reserve a number column. */
.numbered-process__item--unnumbered{
  grid-template-columns:1fr;
  gap:0;
  min-height:230px;
}
.numbered-process__item--unnumbered h3{margin-top:0}

/* Business form matches the approved warm two-column reference. */
.business-interest-form{
  padding:clamp(30px,4vw,54px);
  border:1px solid rgba(185,155,115,.26);
  border-radius:clamp(26px,3vw,40px);
  background:var(--surface);
  box-shadow:0 24px 70px rgba(31,27,20,.045);
}
.business-form-grid{gap:18px 20px}
.business-form-grid label{font-size:14px;line-height:1.35}
.business-form-grid input,.business-form-grid select,.business-form-grid textarea{
  min-height:54px;
  border-color:rgba(42,41,37,.2);
  border-radius:14px;
  background:rgba(255,255,255,.88);
}
.business-form-wide{grid-column:1/-1}
.business-form-message{grid-column:1/-1}
.business-updates-option{
  margin:22px 0 16px;
  padding:0;
  background:transparent;
  border-radius:0;
}
.business-interest-form .form-submit{min-height:52px;border-radius:999px}

/* Clear Limits remains semantic but uses calm unmarked rows. */
.claim-limits li{padding-left:0}
.claim-limits li::before{content:none!important;display:none!important}

/* Footer prelaunch status. */
.footer-prelaunch-status{
  display:grid;
  grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);
  gap:clamp(24px,5vw,72px);
  align-items:center;
  padding:clamp(30px,4vw,48px) 0;
  border-bottom:1px solid rgba(229,212,189,.16);
}
.footer-prelaunch-status h2{
  margin:0;
  color:var(--paper-cream);
  font-size:clamp(28px,3.2vw,44px);
  line-height:1;
  letter-spacing:-.045em;
}
.footer-prelaunch-status p:not(.footer-kicker){
  margin:0 0 12px;
  max-width:720px;
  color:rgba(246,242,233,.68);
  line-height:1.65;
}
.footer-prelaunch-status a{
  color:var(--warm-beige);
  font-weight:700;
  text-underline-offset:5px;
}
.footer-v19-grid{
  grid-template-columns:minmax(220px,1.15fr) repeat(4,minmax(130px,.72fr));
  gap:clamp(26px,3.5vw,54px);
}
.footer-v19-brand{max-width:360px}

/* Shared information / legal page layout. */
.information-page{
  width:min(100% - 32px,980px);
  margin:0 auto;
  padding:calc(var(--nav-offset) + clamp(30px,5vw,68px)) 0 clamp(76px,9vw,128px);
}
.information-hero{
  max-width:820px;
  margin:0 auto;
  padding:clamp(28px,4vw,52px) 0 clamp(34px,5vw,62px);
  border-bottom:1px solid var(--line);
}
.information-hero h1{
  margin:0 0 22px;
  font-size:clamp(48px,7vw,86px);
  line-height:.96;
  letter-spacing:-.06em;
}
.information-lead{
  max-width:720px;
  color:var(--muted);
  font-size:clamp(17px,1.45vw,21px);
  line-height:1.65;
}
.information-updated{
  margin-top:18px;
  color:var(--deep-sand);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.information-content{
  max-width:820px;
  margin:0 auto;
  padding:clamp(18px,3vw,34px) 0 0;
}
.information-content>section{
  padding:clamp(28px,4vw,44px) 0;
  border-bottom:1px solid var(--line);
}
.information-content h2{
  margin:0 0 14px;
  font-size:clamp(26px,3vw,38px);
  line-height:1.06;
  letter-spacing:-.035em;
}
.information-content p,.information-content li{
  max-width:78ch;
  color:var(--muted);
  font-size:16px;
  line-height:1.75;
}
.information-content p+p{margin-top:14px}
.information-content a{color:var(--ink);font-weight:700;text-underline-offset:4px}
.information-links{
  max-width:820px;
  margin:clamp(38px,6vw,70px) auto 0;
  padding:24px 0 0;
  border-top:1px solid var(--line);
}
.information-links__label{
  margin:0 0 14px;
  color:var(--deep-sand);
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.information-links>div{display:flex;flex-wrap:wrap;gap:10px 18px}
.information-links a{
  color:var(--ink);
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid rgba(42,41,37,.28);
  transition:color .24s ease,border-color .24s ease;
}
.information-links a:hover{color:var(--deep-sand);border-color:var(--deep-sand)}
.information-links a:focus-visible{outline:3px solid rgba(185,155,115,.42);outline-offset:5px;border-radius:3px}

@media (max-width:1180px){
  .footer-v19-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer-v19-brand{grid-column:1/-1;max-width:620px}
}
@media (max-width:760px){
  .editorial-info-hero__media--business{aspect-ratio:16/10;max-height:none;min-height:0}
  .business-form-wide,.business-form-message{grid-column:auto}
  .footer-prelaunch-status{grid-template-columns:1fr}
  .footer-v19-grid{grid-template-columns:1fr 1fr}
  .footer-v19-brand,.footer-v19-contact{grid-column:1/-1}
}
@media (max-width:430px){
  .editorial-info-hero--business{padding-top:30px}
  .editorial-info-hero__media--business{aspect-ratio:4/3;border-radius:28px}
  .business-interest-form{padding:27px 22px;border-radius:28px}
  .footer-v19-grid{grid-template-columns:1fr}
  .footer-v19-brand,.footer-v19-contact{grid-column:auto}
  .information-page{width:min(100% - 24px,980px)}
  .information-hero h1{font-size:clamp(44px,13vw,62px)}
  .information-content p,.information-content li{font-size:15px}
}

@media (prefers-reduced-motion:reduce){
  .secondary-nav a,.secondary-nav a::after,.information-links a{transition:none!important}
}
.business-label-text{display:inline-flex;align-items:baseline;gap:3px}


/* ========================================================================== 
   PAPEROOT PUBLIC RELEASE V15 — Contact business enquiries and development cards
   ========================================================================== */

/* Journal remains the only desktop secondary-navigation link. */
.secondary-nav--journal{padding-inline:22px}

/* Contextual business route in the open hamburger drawer. */
.nav-links.open>a.drawer-context-link{
  margin-top:-2px;
  padding:8px 10px 12px!important;
  color:var(--muted);
  font-size:clamp(15px,4.2vw,18px)!important;
  font-weight:700;
  line-height:1.25!important;
  letter-spacing:-.015em!important;
}
.nav-links.open>a.drawer-context-link::before{
  content:"Contact route";
  display:block;
  margin-bottom:4px;
  color:var(--deep-sand);
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.nav-links.open>a.drawer-context-link::after{bottom:5px}

/* Contact-page route choices. */
.contact-enquiry-choices{
  width:var(--container);
  margin:0 auto clamp(38px,5vw,74px);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(14px,2vw,24px);
}
.contact-enquiry-choice{
  min-height:230px;
  padding:clamp(24px,3vw,38px);
  border:1px solid var(--line);
  border-radius:clamp(24px,3vw,36px);
  background:var(--surface);
  color:var(--ink);
  text-decoration:none;
  display:flex;
  flex-direction:column;
  transition:transform .24s ease,border-color .24s ease,background .24s ease,box-shadow .24s ease;
}
.contact-enquiry-choice--business{background:rgba(229,212,189,.54)}
.contact-enquiry-choice strong{
  max-width:24ch;
  margin-top:auto;
  font-size:clamp(27px,3vw,43px);
  line-height:1;
  letter-spacing:-.045em;
}
.contact-enquiry-choice small{max-width:55ch;margin-top:13px;color:var(--muted);font-size:15px;line-height:1.55}
.contact-enquiry-choice__link{margin-top:18px;color:var(--deep-sand);font-size:14px;font-weight:700}
.contact-enquiry-choice:hover{transform:translateY(-3px);border-color:rgba(185,155,115,.48);box-shadow:0 20px 55px rgba(31,27,20,.06)}
.contact-enquiry-choice:focus-visible{outline:3px solid rgba(185,155,115,.45);outline-offset:5px}

#contact-form,#business-enquiries{scroll-margin-top:calc(var(--nav-offset) + 28px)}
.business-form-section--contact{
  width:var(--container);
  margin:0 auto;
  border-top:1px solid var(--line);
}
.business-form-section--contact .business-form-copy{max-width:620px}
.business-form-section--contact .business-form-storage-note{
  margin-top:16px;
  padding:18px 20px;
  border-left:3px solid var(--deep-sand);
  border-radius:0 14px 14px 0;
  background:rgba(229,212,189,.32);
  color:var(--muted);
  line-height:1.6;
}
.business-enquiry-cta__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;flex:0 0 auto}

/* Development Transparency: unnumbered, coordinated tonal cards. */
.development-process-grid{align-items:stretch}
.development-process-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  grid-template-columns:1fr;
  gap:0;
  min-height:270px;
  border-color:rgba(185,155,115,.26);
}
.development-process-card::after{
  content:"";
  position:absolute;
  right:-42px;
  bottom:-52px;
  z-index:-1;
  width:220px;
  aspect-ratio:1;
  background:url('/assets/images/paperoot-root-icon-deep-sand.png') center/contain no-repeat;
  opacity:.045;
  pointer-events:none;
}
.development-process-card>div{position:relative;z-index:1}
.development-card--tone-1{background:#fffaf1}
.development-card--tone-2{background:#f6f2e9}
.development-card--tone-3{background:#eee3d3}
.development-card--tone-4{background:#e5d4bd}
.development-card--tone-5{background:#dfd0ba}
.development-process-card h3{margin-top:0;max-width:17ch}
.development-process-card p{max-width:68ch;color:rgba(42,41,37,.78)}
.development-process-card:last-child:nth-child(odd){min-height:230px}

@media (max-width:760px){
  .contact-enquiry-choices{grid-template-columns:1fr}
  .contact-enquiry-choice{min-height:210px}
  .business-form-section--contact{grid-template-columns:1fr}
  .business-form-section--contact .business-form-copy{position:static}
  .business-enquiry-cta__actions{width:100%;align-items:stretch;flex-direction:column}
  .business-enquiry-cta__actions .btn-dark{width:100%;text-align:center}
}
@media (max-width:430px){
  .contact-enquiry-choices{width:min(100% - 22px,1320px)}
  .contact-enquiry-choice{min-height:190px;padding:25px 23px;border-radius:27px}
  .development-process-card{min-height:0}
}
@media (prefers-reduced-motion:reduce){
  .contact-enquiry-choice{transition:none!important}
}


/* ========================================================================== 
   PAPEROOT PUBLIC RELEASE V16 — CTA watermarks, transparency clean-up
   and exact public label presentation
   ========================================================================== */

/* The visible Development Transparency breadcrumb has been removed. This
   safeguard prevents an old cached wrapper from leaving a visual gap. */
.transparency-page > .editorial-breadcrumb{
  display:none!important;
}

/* Ensure the five development cards remain unnumbered even if older cached
   markup includes legacy number spans. */
.transparency-page .development-process-card > span,
.transparency-page .numbered-process__item > span{
  display:none!important;
}
.transparency-page .development-process-card{
  grid-template-columns:1fr;
  gap:0;
}

/* Shared decorative watermark foundation for the three highlighted panels. */
.journal-cta--watermarked,
.editorial-info-cta--watermarked,
.claim-limits--watermarked{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.journal-cta--watermarked > *,
.editorial-info-cta--watermarked > *,
.claim-limits--watermarked > *{
  position:relative;
  z-index:1;
}
.journal-cta--watermarked::after,
.editorial-info-cta--watermarked::after,
.claim-limits--watermarked::after{
  content:"";
  position:absolute;
  z-index:0;
  width:clamp(250px,31vw,470px);
  aspect-ratio:1;
  pointer-events:none;
  user-select:none;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  transform:rotate(-8deg);
}

/* Warm panels use the approved dark root mark, half-cropped at the right edge. */
.journal-cta--watermarked::after,
.editorial-info-cta--watermarked::after{
  top:50%;
  right:clamp(-145px,-7vw,-72px);
  background-image:url('/assets/images/logo-dark.png');
  opacity:.045;
  transform:translateY(-50%) rotate(-8deg);
}

/* The dark trust panel uses the approved light root mark. */
.claim-limits--watermarked::after{
  top:clamp(-105px,-5vw,-52px);
  right:clamp(-130px,-6vw,-66px);
  background-image:url('/assets/images/logo-light.png');
  opacity:.065;
}

@media (max-width:760px){
  .journal-cta--watermarked::after,
  .editorial-info-cta--watermarked::after{
    top:34%;
    right:-125px;
    width:300px;
    opacity:.035;
  }
  .claim-limits--watermarked::after{
    top:-66px;
    right:-116px;
    width:290px;
    opacity:.05;
  }
}

@media (max-width:430px){
  .journal-cta--watermarked::after,
  .editorial-info-cta--watermarked::after{
    right:-132px;
    width:270px;
    opacity:.03;
  }
  .claim-limits--watermarked::after{
    right:-122px;
    width:265px;
    opacity:.045;
  }
}

@media (prefers-reduced-motion:reduce){
  .journal-cta--watermarked::after,
  .editorial-info-cta--watermarked::after,
  .claim-limits--watermarked::after{
    transform:none;
  }
}


/* ========================================================================== 
   PAPEROOT PUBLIC RELEASE V17 — Search push interaction, varied development
   card watermarks and same-page sticky Business Enquiries introduction.
   ========================================================================== */

/* Desktop Search expands within the left flex group so Journal is pushed
   gently to the right rather than hidden. The central wordmark remains in its
   own grid column. */
@media (min-width:1181px){
  .nav-left-controls{
    align-items:center;
    overflow:visible;
  }
  .site-search{
    transition:width .24s cubic-bezier(.22,1,.36,1);
  }
  .site-search.is-open{
    width:clamp(210px,15vw,260px);
  }
  .site-search + .secondary-nav{
    flex:0 0 auto;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateX(0);
    transition:opacity .2s ease,transform .24s cubic-bezier(.22,1,.36,1),background .24s ease,border-color .24s ease;
  }
  .site-search.is-open + .secondary-nav{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateX(0);
  }
}

.site-search-close{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:inline-grid;
  place-items:center;
  border:0;
  border-radius:999px;
  background:rgba(42,41,37,.07);
  color:var(--ink);
  cursor:pointer;
  transition:background .2s ease,transform .2s ease;
}
.site-search-close svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
}
.site-search-close:hover{background:rgba(42,41,37,.12);transform:scale(1.04)}
.site-search-close:focus-visible{outline:3px solid rgba(185,155,115,.42);outline-offset:2px}

/* More visible, deliberately varied root-watermark composition across the
   five tonal Development Transparency cards. */
.development-process-card::after{
  z-index:0;
  opacity:.075;
  transform-origin:center;
}
.development-process-card>div{position:relative;z-index:1}
.development-card--tone-1::after{
  top:auto;right:-54px;bottom:-68px;left:auto;
  width:235px;opacity:.078;transform:rotate(-7deg);
}
.development-card--tone-2::after{
  top:-58px;right:-38px;bottom:auto;left:auto;
  width:210px;opacity:.07;transform:rotate(8deg);
}
.development-card--tone-3::after{
  top:auto;right:-82px;bottom:-16px;left:auto;
  width:255px;opacity:.082;transform:rotate(-11deg);
}
.development-card--tone-4::after{
  top:-74px;right:-62px;bottom:auto;left:auto;
  width:265px;opacity:.068;transform:rotate(12deg);
}
.development-card--tone-5::after{
  top:auto;right:3%;bottom:-118px;left:auto;
  width:335px;opacity:.07;transform:rotate(-5deg);
}

/* Sticky copy is applied to an inner element so reveal transforms and the
   section grid do not disable position:sticky. */
.business-form-section--contact{
  align-items:start;
  overflow:visible;
}
.business-form-section--contact .business-form-copy{
  position:relative;
  top:auto;
  align-self:stretch;
  max-width:620px;
}
.business-form-copy__sticky{
  position:sticky;
  top:calc(var(--nav-offset) + 28px);
}
.business-form-copy__sticky > p:not(.eyebrow){
  color:var(--muted);
  line-height:1.65;
}

@media (max-width:1100px){
  .business-form-copy__sticky{position:static;top:auto}
}

@media (max-width:760px){
  .development-card--tone-1::after{right:-62px;bottom:-74px;width:210px;opacity:.064}
  .development-card--tone-2::after{top:-56px;right:-54px;width:190px;opacity:.06}
  .development-card--tone-3::after{right:-72px;bottom:-24px;width:220px;opacity:.068}
  .development-card--tone-4::after{top:-62px;right:-68px;width:220px;opacity:.058}
  .development-card--tone-5::after{right:-28px;bottom:-92px;width:250px;opacity:.062}
}

@media (prefers-reduced-motion:reduce){
  .site-search,.secondary-nav,.site-search-close{transition:none!important}
  .site-search-close:hover{transform:none}
}


/* PAPEROOT PUBLIC PRELAUNCH RELEASE V18 — launch hardening */
.skip-link{position:fixed;top:10px;left:10px;z-index:20000;transform:translateY(-180%);padding:12px 18px;border-radius:999px;background:#11110f;color:#fff;font-weight:700;text-decoration:none;box-shadow:0 10px 30px rgba(17,17,15,.2)}
.skip-link:focus{transform:translateY(0);outline:3px solid #b99b73;outline-offset:3px}
.category-deep-link-targets{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.product-concept-note{display:grid;grid-template-columns:minmax(120px,.28fr) minmax(0,1fr);gap:clamp(18px,4vw,54px);align-items:start;margin:clamp(26px,4vw,52px) 0 0;padding:clamp(18px,2.4vw,28px) 0;border-top:1px solid rgba(42,41,37,.16);border-bottom:1px solid rgba(42,41,37,.10)}
.product-concept-note span{color:#6a563d;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.product-concept-note p{max-width:70ch;color:#4b4841;font-size:14px;font-weight:650;line-height:1.65}
.form-privacy-note{margin:4px 0 18px;color:#4b4841;font-size:13px;line-height:1.6}
.form-privacy-note a{color:#2a2925;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.rooted-line,.contact-enquiry-choice__link{color:#5a4934}
.contact-enquiry-choice__link{text-decoration:underline;text-underline-offset:4px}
.product-item{cursor:default}
.product-item:hover{transform:none}
@media(max-width:860px){.product-concept-note{grid-template-columns:1fr;gap:8px;margin-top:28px}}
@media(prefers-reduced-motion:reduce){.skip-link{transition:none!important}}

/* ========================================================================== 
   PAPEROOT PUBLIC PRELAUNCH RELEASE V19 — mobile Search correction and
   thank-you page design alignment. Delta-only overrides for Release v18.
   ========================================================================== */

/* Mobile: keep the controls in a vertical group and leave the centred
   wordmark undisturbed. The Search panel itself opens beneath the header in a
   stable frame, so position and width do not animate across the logo. */
@media (max-width:767px){
  :root{--nav-offset:136px}

  .navbar{
    height:calc(122px + env(safe-area-inset-top,0px));
  }

  .nav-left-controls{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }

  .site-search,
  .site-search.is-open,
  .site-search.is-open.is-closing{
    position:relative;
    inset:auto;
    width:48px;
    height:48px;
    flex:0 0 48px;
    transition:none;
  }

  .site-search-toggle{
    position:absolute;
    inset:0;
    width:48px;
    height:48px;
  }

  .site-search-field,
  .site-search.is-open .site-search-field,
  .site-search.is-closing .site-search-field{
    position:fixed;
    top:calc(122px + env(safe-area-inset-top,0px));
    left:max(12px,env(safe-area-inset-left,0px));
    right:max(12px,env(safe-area-inset-right,0px));
    width:auto;
    height:52px;
    padding:0 14px 0 16px;
    gap:10px;
    justify-content:flex-start;
    transform:translateY(-7px);
    transform-origin:center;
    transition:opacity .18s ease,transform .22s cubic-bezier(.22,1,.36,1),background .2s ease,border-color .2s ease;
  }

  .site-search.is-open .site-search-field{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }

  .site-search.is-open.is-closing .site-search-field,
  .site-search.is-closing .site-search-field{
    opacity:0;
    visibility:visible;
    pointer-events:none;
    transform:translateY(-7px)!important;
  }

  .site-search.is-closing .site-search-field input,
  .site-search.is-open.is-closing .site-search-field input{
    position:static;
    inset:auto;
    width:100%;
    opacity:1;
    transform:none;
  }

  .site-search.is-closing .site-search-field > .site-search-icon,
  .site-search.is-open.is-closing .site-search-field > .site-search-icon{
    position:static;
    transform:none;
  }

  .site-search-closing-icon{
    display:none!important;
  }

  .site-search-results,
  .site-search.is-open .site-search-results{
    position:fixed;
    top:calc(182px + env(safe-area-inset-top,0px));
    left:max(12px,env(safe-area-inset-left,0px));
    right:max(12px,env(safe-area-inset-right,0px));
    width:auto;
    max-width:none;
    max-height:min(52dvh,380px);
    transform-origin:top center;
  }

  .site-search-results.is-closing{
    opacity:0!important;
    transform:translateY(-6px) scale(.99)!important;
  }

  .nav-links.open{
    top:calc(122px + env(safe-area-inset-top,0px));
  }

  .logo-center{
    top:calc(10px + env(safe-area-inset-top,0px));
  }

  .home-hero,
  .products-page,
  .about-page,
  .contact-page,
  .basket-page,
  .policy-page,
  .thank-you-page{
    padding-top:calc(var(--nav-offset) + 8px);
  }
}

@media (max-width:360px){
  .nav-left-controls{left:max(10px,env(safe-area-inset-left,0px))}
  .site-search-field,
  .site-search.is-open .site-search-field,
  .site-search.is-closing .site-search-field,
  .site-search-results,
  .site-search.is-open .site-search-results{
    left:max(10px,env(safe-area-inset-left,0px));
    right:max(10px,env(safe-area-inset-right,0px));
  }
}

@media (prefers-reduced-motion:reduce) and (max-width:767px){
  .site-search-field,
  .site-search-results{
    transition:none!important;
    transform:none!important;
  }
}

/* Thank-you page: a calm editorial confirmation using the existing Paperoot
   palette, typography, spacing, buttons and shared header/footer. */
.thank-you-page{
  min-height:82vh;
  padding:calc(var(--nav-offset) + 38px) 16px clamp(72px,9vw,126px);
  display:flex;
  align-items:center;
}

.thank-you-panel{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:min(1120px,100%);
  min-height:clamp(470px,58vw,620px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,.42fr);
  align-items:stretch;
  border:1px solid rgba(42,41,37,.12);
  border-radius:clamp(34px,5vw,58px);
  background:linear-gradient(135deg,rgba(255,250,241,.98) 0%,rgba(246,242,233,.98) 58%,rgba(229,212,189,.9) 100%);
  box-shadow:0 32px 90px rgba(31,27,20,.11);
}

.thank-you-panel::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(circle at 13% 12%,rgba(255,255,255,.95),transparent 34%),
    linear-gradient(115deg,transparent 0 57%,rgba(255,255,255,.28) 57% 100%);
}

.thank-you-copy{
  align-self:center;
  max-width:760px;
  padding:clamp(42px,7vw,88px);
}

.thank-you-copy .eyebrow{
  margin-bottom:18px;
  color:#6a563d;
}

.thank-you-copy h1{
  max-width:9.5ch;
  margin:0;
  font-size:clamp(52px,7.4vw,104px);
  line-height:.91;
  letter-spacing:-.07em;
  font-weight:650;
}

.thank-you-lead{
  max-width:58ch;
  margin-top:28px;
  color:var(--soft-black);
  font-size:clamp(18px,2vw,22px);
  line-height:1.58;
}

.thank-you-context{
  max-width:62ch;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(42,41,37,.13);
  color:var(--muted);
  font-size:14px;
  line-height:1.65;
}

.thank-you-actions{
  margin-top:30px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:18px;
}

.thank-you-secondary-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:46px;
  color:var(--ink);
  font-size:14px;
  font-weight:700;
  text-underline-offset:5px;
}

.thank-you-secondary-link:hover{text-decoration-thickness:2px}
.thank-you-secondary-link:focus-visible{outline:3px solid rgba(185,155,115,.42);outline-offset:5px;border-radius:5px}

.thank-you-decoration{
  position:relative;
  min-height:100%;
  border-left:1px solid rgba(42,41,37,.1);
}

.thank-you-decoration::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:clamp(220px,29vw,390px);
  aspect-ratio:1;
  background:url('/assets/images/paperoot-root-icon-deep-sand.png') center/contain no-repeat;
  opacity:.16;
  transform:translate(-50%,-52%) rotate(-8deg);
}

.thank-you-decoration span{
  position:absolute;
  right:clamp(22px,3vw,42px);
  bottom:clamp(24px,3vw,42px);
  max-width:15ch;
  color:rgba(42,41,37,.68);
  font-size:11px;
  font-weight:700;
  line-height:1.45;
  letter-spacing:.12em;
  text-align:right;
  text-transform:uppercase;
}

@media (max-width:767px){
  .thank-you-page{
    min-height:0;
    padding:calc(var(--nav-offset) + 18px) 12px 64px;
    align-items:flex-start;
  }

  .thank-you-panel{
    min-height:0;
    grid-template-columns:1fr;
    border-radius:32px;
  }

  .thank-you-copy{
    padding:clamp(34px,9vw,48px) 24px 30px;
  }

  .thank-you-copy h1{
    max-width:10ch;
    font-size:clamp(46px,14vw,68px);
  }

  .thank-you-lead{margin-top:22px;font-size:17px}
  .thank-you-actions{align-items:stretch;flex-direction:column;gap:12px}
  .thank-you-actions .btn-dark{width:100%;text-align:center}
  .thank-you-secondary-link{justify-content:center;width:100%}

  .thank-you-decoration{
    min-height:160px;
    border-top:1px solid rgba(42,41,37,.1);
    border-left:0;
  }

  .thank-you-decoration::before{
    left:auto;
    right:-34px;
    width:230px;
    transform:translateY(-50%) rotate(-8deg);
  }
}

@media (max-width:430px){
  .thank-you-copy{padding-inline:20px}
  .thank-you-copy h1{font-size:clamp(43px,13.2vw,58px)}
  .thank-you-context{font-size:13px}
}

@media (prefers-reduced-motion:reduce){
  .thank-you-decoration::before{transform:translate(-50%,-52%)}
}

@media (prefers-reduced-motion:reduce) and (max-width:767px){
  .thank-you-decoration::before{transform:translateY(-50%)}
}

@media (max-width:380px){
  .logo-center{left:50%}
}


/* ========================================================================== 
   PAPEROOT PUBLIC PRELAUNCH RELEASE V20 — coordinated mobile Search/menu,
   discreet AI prelaunch disclosures and privacy-controller presentation.
   Delta-only overrides for Release v19.
   ========================================================================== */

.ai-visual-disclosure{
  display:grid;
  grid-template-columns:minmax(118px,.24fr) minmax(0,1fr);
  gap:clamp(12px,2.5vw,28px);
  align-items:start;
  width:100%;
  margin-top:16px;
  padding:13px 16px;
  border:1px solid rgba(185,155,115,.22);
  border-radius:18px;
  background:rgba(255,250,241,.74);
  color:var(--soft-black);
  box-sizing:border-box;
}
.ai-visual-disclosure span{
  color:#6a563d;
  font-size:10px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.ai-visual-disclosure p{
  max-width:76ch;
  margin:0;
  color:#4b4841;
  font-size:12px;
  line-height:1.55;
  font-weight:650;
}
.ai-visual-disclosure--section{
  width:min(calc(100% - 32px),1320px);
  margin:16px auto 0;
}
.ai-visual-disclosure--shop{
  width:100%;
  margin-top:18px;
}
.ai-visual-disclosure--figure{
  width:calc(100% - 20px);
  margin:10px auto 0;
}
.ai-visual-disclosure--compact{
  margin:8px 0 20px;
  padding:11px 14px;
  border-radius:16px;
}

@media (max-width:760px){
  .ai-visual-disclosure{
    grid-template-columns:1fr;
    gap:5px;
    padding:12px 13px;
  }
  .ai-visual-disclosure--section{width:min(calc(100% - 24px),1320px)}
  .ai-visual-disclosure--figure{width:calc(100% - 14px)}
}

/* Mobile v20: the Search trigger and field now occupy one stable control
   anchor beneath the hamburger. The same container widens and contracts,
   so Search no longer jumps to a separate fixed row. */
@media (max-width:767px){
  :root{--nav-offset:136px}

  .navbar{height:calc(122px + env(safe-area-inset-top,0px))}

  .nav-left-controls{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    width:auto;
  }

  .site-search,
  .site-search.is-open,
  .site-search.is-open.is-closing,
  .site-search.is-closing{
    position:relative;
    top:auto;
    right:auto;
    bottom:auto;
    left:auto;
    width:48px;
    height:48px;
    min-width:48px;
    min-height:48px;
    flex:0 0 48px;
    overflow:visible;
    transform:none;
    transition:width .28s cubic-bezier(.22,1,.36,1);
  }

  .site-search.is-open{
    width:calc(100vw - max(24px,env(safe-area-inset-left,0px) + env(safe-area-inset-right,0px) + 24px));
  }

  .site-search.is-open.is-closing,
  .site-search.is-closing{
    width:48px;
  }

  .site-search-toggle{
    position:absolute;
    inset:0;
    width:48px;
    height:48px;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    transition:opacity .12s ease,background .2s ease,border-color .2s ease;
  }
  .site-search-toggle:hover{transform:none}

  .site-search.is-open .site-search-toggle{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:none;
    transition:opacity .1s ease;
  }

  .site-search-field,
  .site-search.is-open .site-search-field,
  .site-search.is-closing .site-search-field,
  .site-search.is-open.is-closing .site-search-field{
    position:absolute;
    top:0;
    right:auto;
    bottom:auto;
    left:0;
    width:100%;
    height:48px;
    min-width:48px;
    padding:0 10px 0 14px;
    gap:9px;
    justify-content:flex-start;
    overflow:hidden;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:none!important;
    transform-origin:left center;
    transition:opacity .1s ease,visibility 0s linear .1s,background .2s ease,border-color .2s ease;
  }

  .site-search.is-open .site-search-field{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition:opacity .08s ease,visibility 0s linear 0s,background .2s ease,border-color .2s ease;
  }

  .site-search.is-open.is-closing .site-search-field,
  .site-search.is-closing .site-search-field{
    opacity:1;
    visibility:visible;
    pointer-events:none;
  }

  .site-search-field input,
  .site-search.is-open .site-search-field input,
  .site-search.is-closing .site-search-field input,
  .site-search.is-open.is-closing .site-search-field input{
    position:static;
    inset:auto;
    width:100%;
    min-width:0;
    opacity:0;
    transform:none;
    transition:opacity .14s ease .08s;
  }

  .site-search.is-open .site-search-field input{opacity:1}
  .site-search.is-closing .site-search-field input,
  .site-search.is-open.is-closing .site-search-field input{
    opacity:0;
    transition-delay:0s;
  }

  .site-search-field > .site-search-icon,
  .site-search.is-closing .site-search-field > .site-search-icon,
  .site-search.is-open.is-closing .site-search-field > .site-search-icon{
    position:static;
    transform:none;
    flex:0 0 21px;
  }

  .site-search-close{
    flex:0 0 34px;
    opacity:0;
    transform:scale(.9);
    transition:opacity .12s ease .1s,transform .18s cubic-bezier(.22,1,.36,1) .06s,background .2s ease;
  }
  .site-search.is-open .site-search-close{opacity:1;transform:scale(1)}
  .site-search.is-closing .site-search-close,
  .site-search.is-open.is-closing .site-search-close{opacity:0;transform:scale(.92);transition-delay:0s}

  .site-search-closing-icon{display:none!important}

  .site-search-results,
  .site-search.is-open .site-search-results{
    position:absolute;
    top:calc(100% + 8px);
    right:auto;
    bottom:auto;
    left:0;
    width:min(calc(100vw - 24px),430px);
    max-width:none;
    max-height:min(52dvh,380px);
    transform-origin:top left;
  }

  .site-search-results.is-closing{
    opacity:0!important;
    transform:translateY(-5px) scale(.99)!important;
  }

  /* The menu top is calculated from the lower edge of the whole coordinated
     hamburger/Search group in include.js. Keep CSS from forcing a second row. */
  .nav-links.open{
    transition:top .18s cubic-bezier(.22,1,.36,1);
  }

  .logo-center{top:calc(10px + env(safe-area-inset-top,0px))}

  .home-hero,
  .products-page,
  .about-page,
  .contact-page,
  .basket-page,
  .policy-page,
  .thank-you-page{
    padding-top:calc(var(--nav-offset) + 8px);
  }
}

@media (max-width:360px){
  .site-search,
  .site-search.is-open.is-closing,
  .site-search.is-closing{
    width:46px;
    height:46px;
    min-width:46px;
    min-height:46px;
    flex-basis:46px;
  }
  .site-search.is-open{width:calc(100vw - 20px)}
  .site-search-toggle,
  .site-search-field,
  .site-search.is-open .site-search-field,
  .site-search.is-closing .site-search-field,
  .site-search.is-open.is-closing .site-search-field{
    width:100%;
    height:46px;
    min-width:46px;
    min-height:46px;
  }
}

@media (prefers-reduced-motion:reduce) and (max-width:767px){
  .site-search,
  .site-search-toggle,
  .site-search-field,
  .site-search-field input,
  .site-search-close,
  .site-search-results,
  .nav-links.open{
    transition:none!important;
    animation:none!important;
  }
}

/* =========================================================
   Public Prelaunch v22.4 — Futura → Josefin Sans fidelity calibration
   Reference: approved v21 Futura screenshots + v21 typography CSS.
   Josefin Sans is the self-hosted production family. The mapping below
   re-evaluates the v22.3 typography compensation against the supplied Josefin font.
   ========================================================= */
:root{
  --paperoot-josefin-body-weight:500;
  --paperoot-josefin-heading-weight:700;
  --paperoot-josefin-page-display-weight:700;
  --paperoot-josefin-home-display-weight:700;
}

/* Josefin Sans 500 produces a regular-copy ink texture close to the prior
   calibrated v22.3 body while compensating for Josefin Sans's smaller x-height.
   Explicit component weights remain role-specific elsewhere in the stylesheet. */
body{
  font-weight:var(--paperoot-josefin-body-weight);
}

/* Josefin Sans is lighter in stroke character than the previous production mapping,
   so primary display roles use the supplied variable font's supported maximum
   weight (700) rather than asking the browser to synthesize unsupported weight. */
.section-title,
.section-heading h2,.section-copy h2,
.sustainability-text h2,
.about-story-text h2,
.about-mission-band h2,
.values-card h2{
  font-weight:var(--paperoot-josefin-heading-weight);
}

.products-hero h1,.about-hero h1,.contact-hero h1,.basket-hero h1{
  font-weight:var(--paperoot-josefin-page-display-weight);
  letter-spacing:-.05em;
}

/* Desktop hero calibration. Raster measurements of the supplied Josefin Sans
   Bold/700 against the previously measured v21 Futura reference show that a
   ~7% optical-size increase plus a modest 1.07 horizontal correction brings
   the principal word silhouettes within roughly 0–5% of the Futura target.
   The correction is smaller than v22.3's 1.10 scale, so obsolete
   compensation is not carried forward unchanged. The .90 line-height keeps
   baseline rhythm effectively stable after the optical-size increase. */
@media (min-width:1181px){
  .hero-copy h1{
    font-size:clamp(55px,8.56vw,137px);
    line-height:.90;
    letter-spacing:-.05em;
    font-weight:var(--paperoot-josefin-home-display-weight);
    transform:scaleX(1.07);
    transform-origin:left top;
  }

  /* Josefin Sans has a comparatively small x-height. A ~10% optical-size lift
     restores the body-copy presence while 1.48 line-height holds the original
     baseline rhythm close to the approved Futura reference. */
  .hero-copy>p:not(.eyebrow){
    font-size:clamp(20px,1.60vw,24px);
    line-height:1.48;
    font-weight:var(--paperoot-josefin-body-weight);
  }
}

/* Tablet/mobile keep native geometry to avoid brittle width compensation. */
@media (max-width:1180px){
  .hero-copy h1{
    font-weight:var(--paperoot-josefin-page-display-weight);
  }
}

/* =========================================================
   Homepage hero watermark — subtle Paperoot mark
   Added as a CSS-only decorative layer. No HTML changes required.
   ========================================================= */
.hero-copy{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}

.hero-copy::before{
  content:"";
  position:absolute;
  top:50%;
  right:-15%;
  width:min(660px, 66vw);
  aspect-ratio:1;
  background:url("/assets/images/logo-dark.png") center/contain no-repeat;
  opacity:.050;
  transform:translateY(-50%);
  pointer-events:none;
  user-select:none;
  z-index:0;
}

.hero-copy > *{
  position:relative;
  z-index:1;
}

@media (max-width:620px){
  .hero-copy::before{
    width:110%;
    right:-42%;
    opacity:.050;
  }
}
