@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--paper:#f9f6ef;--ink:#29291f;--olive:#3c4938;--muted:#625e52;--line:#d9d3c7;--serif:"Cormorant Garamond",Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 DM Sans,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #5f795b;outline-offset:4px}.wrap{width:min(1320px,calc(100% - 100px));margin:auto}header{border-bottom:1px solid var(--line)}.top{height:85px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center}.top nav{display:flex;gap:24px}.logo{font:600 43px/.85 var(--serif);letter-spacing:-.045em;white-space:nowrap}.logo span{font:13px Arial;margin-left:5px;vertical-align:top;color:#7e6944}.top .logo{text-align:center}.saved{justify-self:end;border:0;background:none;padding:8px 0 8px 8px}.saved span{margin-left:6px;color:var(--muted)}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:540px;margin:32px 0 88px;background:#ede8db}.intro{padding:clamp(30px,5.3vw,88px);align-self:center}.kicker{text-transform:uppercase;letter-spacing:.18em;font-weight:700;font-size:11px;margin:0 0 18px;color:#5d6550}h1,h2,h3{font-family:var(--serif);font-weight:600;margin:0;line-height:.99}h1{font-size:clamp(52px,6.1vw,100px);letter-spacing:-.055em}h1 em{font-weight:500;color:var(--olive)}.lead{max-width:320px;color:var(--muted);margin:25px 0 29px}.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:var(--olive);color:white;padding:14px 20px;font-size:13px;min-height:46px}.primary:hover{background:#273526}.hero-photo,.product-photo{margin:0;position:relative;display:grid;place-items:center;isolation:isolate;overflow:hidden;background:#e2d6c6}.hero-photo{min-height:440px}.photo-fallback{position:absolute;inset:0;display:grid;place-items:center;color:#514b40;font-size:12px;letter-spacing:.05em;text-align:center;padding:18px}.hero-photo img,.product-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;mix-blend-mode:multiply}.hero-photo img{padding:14px 6% 40px}.hero-photo figcaption{position:absolute;bottom:0;inset-inline:0;padding:15px 22px;background:#f9f6efe8;display:flex;justify-content:space-between;font-size:12px}.section-head,.controls{display:flex;justify-content:space-between;align-items:end;gap:20px}.section-head a,.atelier a,footer>a:last-child{border-bottom:1px solid var(--line);padding-bottom:3px}.section-head h2,.atelier h2{font-size:clamp(44px,5vw,72px);letter-spacing:-.04em}.controls{margin:28px 0 20px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button,.search{background:transparent;border:1px solid var(--line);padding:8px 15px;border-radius:30px}.filters button[aria-pressed=true]{background:var(--olive);border-color:var(--olive);color:white}.search{display:flex;gap:7px;align-items:center}.search input{background:none;border:0;width:145px;outline:none}.search:focus-within{outline:2px solid var(--olive)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 18px}.card{position:relative;min-width:0}.product-photo{border:0;width:100%;aspect-ratio:4/4.8;background:var(--tone);display:block}.product-photo img{padding:9%}.product-photo:hover img{transform:scale(1.045)}.product-photo img{transition:transform .25s}.heart{position:absolute;top:12px;right:12px;border:0;border-radius:50%;width:36px;height:36px;background:var(--paper);font-size:21px;line-height:1}.heart[aria-pressed=true]{color:#872e35}.product-title{display:block;text-align:left;padding:0;border:0;background:none;font:600 27px/1 var(--serif);margin:13px 0 4px}.card p{margin:0;color:var(--muted);font-size:13px}.atelier{margin:85px 0 55px;padding:46px 6%;background:#e8ebdf;display:grid;grid-template-columns:1fr 2fr;gap:12px}.atelier p:not(.kicker){max-width:500px}footer{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding:26px 0 35px}footer p{font-size:12px;color:var(--muted)}dialog{max-height:90vh;width:min(690px,calc(100% - 28px));border:1px solid var(--line);padding:30px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#28261e88}.close{position:absolute;right:12px;top:10px;background:var(--paper);border:1px solid var(--line);border-radius:50%;width:35px;height:35px;font-size:21px;z-index:2}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.detail-grid h2,dialog>h2{font-size:42px}.wish-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:12px 0}.empty{grid-column:1/-1;color:var(--muted)}
@media(max-width:950px){.wrap{width:calc(100% - 50px)}.cards{grid-template-columns:repeat(3,1fr)}.hero{min-height:450px}.intro{padding:33px}}@media(max-width:660px){.wrap{width:calc(100% - 28px)}.top{height:64px;grid-template-columns:1fr auto}.top nav{display:none}.top .logo{text-align:left}.logo{font-size:36px}.hero{grid-template-columns:1fr;margin:14px 0 54px}.intro{padding:32px 23px}.hero-photo{min-height:340px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 10px}.section-head,.controls{align-items:start;flex-direction:column;gap:10px}.section-head .kicker{margin-bottom:12px}.controls{margin-top:17px}.product-title{font-size:23px}.atelier{grid-template-columns:1fr;margin:55px 0 30px;padding:25px 20px}.detail-grid{grid-template-columns:1fr}.detail-grid .product-photo{aspect-ratio:1.2}.detail-grid h2{font-size:34px}footer{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}[hidden]{display:none!important}

.actions{justify-self:end;display:flex;gap:16px}.actions .saved{white-space:nowrap}.inner{padding-block:42px 80px;min-height:70vh}.crumb{display:inline-block;margin-bottom:26px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}.inner h1{font-size:clamp(48px,6.5vw,90px)}.materials{margin:0;padding:0;border:0}.materials legend{margin-bottom:9px;font-size:13px;font-weight:700}.result{color:var(--muted);font-size:13px}.price{display:block;margin:8px 0;font-weight:700}.add{border:0;margin-top:6px}.product-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(25px,6vw,90px);align-items:center}.product-layout .product-photo{aspect-ratio:1.08}.product-layout dl{border-block:1px solid var(--line);display:flex;justify-content:space-between;padding:12px 0;margin:24px 0}.product-layout dd{margin:0}.product-layout .price{font-size:25px}.feedback{min-height:1.6em;color:var(--olive)}.cart-row{display:grid;grid-template-columns:74px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0}.cart-row>a:first-child{display:block;isolation:isolate;background:var(--paper)}.cart-row img{display:block;width:100%;aspect-ratio:1;object-fit:contain;mix-blend-mode:multiply}.cart-row p{margin:3px 0}.quantity{display:flex;align-items:center;gap:10px}.quantity button,.remove{border:1px solid var(--line);background:transparent;padding:4px 9px}.quantity button:disabled{opacity:.45}.remove{font-size:12px}.cart-total{display:flex;justify-content:space-between;font-size:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.home-collection{margin:0 0 42px}.home-collection .primary{margin-top:20px}@media(max-width:660px){.actions{gap:8px}.actions .saved{font-size:12px;padding-left:3px}.actions .saved span{margin-left:2px}.inner{padding-block:25px 48px}.product-layout{grid-template-columns:1fr}.card .add{padding:9px;gap:7px}.cart-row{grid-template-columns:52px 1fr auto;gap:8px}}

/* Keep the original photographs inside softly rounded frames. */
.hero-photo { border-radius: 0 22px 22px 0; }
.product-photo { border-radius: 18px; display: grid; place-items: center; }
.product-photo img {
  position: static;
  width: auto;
  height: auto;
  max-width: 86%;
  max-height: 86%;
  padding: 0;
}
:is(.product-photo, .framed-photo, .hero-photo, .toy-rotation) img[src$="/fox.jpg"] {
  mask-image: linear-gradient(to right, transparent, black 9%);
}
:is(.product-photo, .framed-photo, .hero-photo, .toy-rotation) img:is([src$="/rabbit.jpg"], [src$="/mint.jpg"]) {
  mask-image: linear-gradient(to right, transparent, black 7%, black 94%, transparent),
              linear-gradient(to bottom, black 84%, transparent 100%);
  mask-composite: intersect;
}
#cart {
  position: fixed;
  inset: 0 0 0 auto;
  margin: 0;
  width: min(520px, 100%);
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  padding: 32px clamp(18px, 5vw, 32px);
  border: 0;
  border-radius: 22px 0 0 22px;
  box-shadow: -12px 0 40px #28261e20;
  overscroll-behavior: contain;
}
#cart[open] { animation: cart-slide-in 280ms cubic-bezier(.2,.75,.25,1) both; }
#cart[open]::backdrop { animation: cart-fade-in 280ms ease both; }
#cart[open].closing { animation: cart-slide-out 220ms ease-in both; }
#cart[open].closing::backdrop { animation: cart-fade-out 220ms ease both; }
@keyframes cart-slide-in { from { transform: translateX(100%); } to { transform: translateX(0); } }
@keyframes cart-slide-out { from { transform: translateX(0); } to { transform: translateX(100%); } }
@keyframes cart-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes cart-fade-out { from { opacity: 1; } to { opacity: 0; } }
@media (max-width: 660px) {
  .hero-photo { border-radius: 0 0 18px 18px; }
  #cart { border-radius: 0; }
}
@media (prefers-reduced-motion: reduce) {
  #cart[open], #cart[open]::backdrop { animation: none; }
}
.product-photo { grid-template: minmax(0, 1fr) / minmax(0, 1fr); }

#wishlist { width: min(750px, calc(100% - 28px)); }
.wish-row:last-child { border-bottom: 0; }
.wish-product { min-width: 0; display: flex; align-items: center; gap: 14px; font-weight: 600; background: var(--paper); isolation: isolate; }
.wish-product:hover span { text-decoration: underline; text-underline-offset: 3px; }
.wish-remove { flex: none; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--muted); }
.wish-remove:hover { background: #f2e5e1; border-color: #e5cbc5; color: #872e35; }
.actions .saved { min-height: 44px; font-size: 17px; }
@media (max-width: 660px) {
  .actions .saved { font-size: 13px; }
  .wish-product { gap: 10px; }
  }
.atelier > div:first-child .kicker { margin-bottom: 10px; }
.atelier > div:first-child h2 { margin-inline-start: -.04em; }
.subcategories {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows 280ms ease, opacity 220ms ease;
}
.subcategories.expanded { grid-template-rows: 1fr; opacity: 1; }
.subcategories-inner { min-height: 0; overflow: hidden; }
.subcategories .filters { padding: 5px 5px 18px; }
.card { display: flex; flex-direction: column; align-items: start; }
.card .card-description { margin: 8px 0 12px; }
.card .price { margin-top: auto; padding-top: 6px; }



.inner.collection-page { padding-block-start: 0; }
.collection-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) min(460px, 53%);
  align-items: start;
  gap: 24px;
}
.collection-title { padding-top: 42px; align-self: center; }
.hanging-photos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 2vw, 26px);
  align-items: start;
  padding: 0 10px 8px;
}
.hanging-photo {
  --thread: 72px;
  --tilt: -5deg;
  --swing: 2.5deg;
  position: relative;
  display: grid;
  grid-template-rows: 1fr auto;
  min-width: 0;
  margin-top: var(--thread);
  padding: 6px;
  border: 1px solid #ddd5c5;
  background: #fffcf6;
  box-shadow: 0 7px 15px #352c191b;
  transform-origin: 50% calc(-1px - var(--thread));
  transform: rotate(var(--tilt));
  animation: photo-sway 4.6s ease-in-out infinite alternate;
}
.photo-hanger:nth-child(2) > .hanging-photo { --thread: 112px; --tilt: 3deg; animation-delay: -2s; }
.photo-hanger:nth-child(3) > .hanging-photo { --thread: 49px; --tilt: -2deg; animation-delay: -3.1s; }
.hanging-photo::before {
  content: "";
  position: absolute;
  inset: calc(2px - var(--thread)) auto auto 50%;
  width: 4px;
  height: calc(var(--thread) - 1px);
  margin-left: -2px;
  border-radius: 3px;
  background:
    linear-gradient(90deg, #57432f70, transparent 34%, #fff3d355 55%, #57432f70),
    repeating-linear-gradient(155deg, #6f553e 0 .65px, #a78966 .65px 1.3px, #dac19b 1.3px 2px, #ad8c67 2px 2.9px);
  box-shadow: .5px 0 1px #53391f35;
  pointer-events: none;
}
.hanging-photo > span:last-child {
  display: grid;
  place-items: center;
  min-height: 2.9em;
  padding-top: 3px;
  text-align: center;
  font-size: 11px;
  line-height: 1.2;
}
.hanging-photo:is(:hover, :focus-visible) { animation-play-state: paused; }
.hanging-photo:hover > span:last-child { text-decoration: underline; text-underline-offset: 3px; }
@keyframes photo-sway {
  from { transform: rotate(calc(var(--tilt) - var(--swing))); }
  to { transform: rotate(calc(var(--tilt) + var(--swing))); }
}
@media (max-width: 660px) {
  .collection-heading { grid-template-columns: 1fr; gap: 18px; }
  .collection-title { grid-row: 2; padding-top: 0; }
  .hanging-photos { grid-row: 1; width: min(100%, 390px); justify-self: center; }
  .hanging-photo { --thread: 41px; }
  .photo-hanger:nth-child(2) > .hanging-photo { --thread: 62px; }
  .photo-hanger:nth-child(3) > .hanging-photo { --thread: 26px; }
}
@media (prefers-reduced-motion: reduce) {
  .hanging-photo { animation: none; }
}

.hanging-photo {
  border-color: color-mix(in srgb, var(--tone) 72%, #948369);
  border-radius: 6px;
  padding: 7px;
}
.framed-photo {
  display: grid;
  grid-template: minmax(0, 1fr) / minmax(0, 1fr);
  place-items: center;
  isolation: isolate;
  overflow: hidden;
  background: var(--tone);
  border-radius: 4px;
}
.hanging-photo .framed-photo { aspect-ratio: 1.28; }
.wish-product .framed-photo { width: 76px; aspect-ratio: 1; flex: none; border-radius: 10px; }
.framed-photo img {
  display: block;
  max-width: 94%;
  max-height: 94%;
  object-fit: contain;
  mix-blend-mode: multiply;
}
@media (max-width: 660px) {
  .wish-product .framed-photo { width: 58px; }
}

.heart { display: grid; place-items: center; padding: 0; }
.heart svg { fill: transparent; stroke: currentColor; stroke-width: 1.65; stroke-linejoin: round; }
.heart[aria-pressed="true"] svg { fill: currentColor; }

.photo-hanger { position: relative; min-width: 0; display: flow-root; }
.photo-hanger::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: -1px;
  left: 50%;
  width: 9px;
  height: 10px;
  transform: translateX(-50%);
  border: 1px solid #8d7552;
  border-radius: 2px 2px 4px 4px;
  background: linear-gradient(90deg, #ad9169, #dfc69a 48%, #a18459);
  box-shadow: 0 1px 2px #49351b33;
  pointer-events: none;
}

.about-page .atelier { margin: 0 0 44px; }
.about-page .atelier h1 { font-size: clamp(54px, 6vw, 88px); margin-inline-start: -.04em; }
.about-page .atelier .kicker { margin-bottom: 10px; }
.brand-contacts { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; border-block-start: 1px solid var(--line); padding-block-start: 26px; }
.brand-contacts h2 { font-size: 46px; }
.brand-contacts h3 { font-size: 26px; margin-bottom: 10px; }
.brand-contacts a { display: table; padding: 4px 0; text-decoration: underline; text-underline-offset: 4px; }
.brand-contacts p { margin: 4px 0; color: var(--muted); }
.top nav [aria-current]:not([aria-current="false"]) { text-decoration: underline; text-underline-offset: 5px; }
@media (max-width: 660px) {
  .top { height: auto; min-height: 64px; padding-block: 8px; }
  .top nav { display: flex; grid-column: 1 / -1; grid-row: 2; gap: 20px; font-size: 13px; }
  .brand-contacts { grid-template-columns: 1fr; }
}

.about-page .atelier { margin-bottom: 24px; }
.brand-discussion {
  margin-bottom: 36px;
  padding: 22px clamp(20px, 6%, 70px);
  border: 1px dashed var(--line);
  background: #f1ede3;
}
.brand-discussion p { margin: 0; font: 600 28px/1.15 var(--serif); }
.new-collection, .home-collection {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .75fr);
  align-items: center;
  gap: clamp(24px, 5vw, 74px);
  padding: clamp(20px, 4vw, 54px);
  margin-bottom: 28px;
}
.new-collection { background: #e8ebdf; }
.home-collection { background: #ede8db; }
.new-collection h2, .home-collection h2, .toy-history h2 { font-size: clamp(42px, 5vw, 70px); letter-spacing: -.035em; }
.new-collection-photo { display: block; border-radius: 16px; background: var(--paper); padding: 14px; }
.new-collection-photo img { display: block; width: 100%; height: clamp(170px, 20vw, 260px); object-fit: contain; mix-blend-mode: multiply; }
.toy-rotation { position: relative; height: clamp(190px, 24vw, 310px); border-radius: 16px; overflow: hidden; background: #e3dac9; isolation: isolate; }
.toy-rotation img { position: absolute; inset: 0; width: 100%; height: 100%; padding: 14px; object-fit: contain; mix-blend-mode: multiply; opacity: 0; animation: toy-crossfade 16s linear var(--delay) infinite; }
@keyframes toy-crossfade {
  0%, 20% { opacity: 1; }
  25%, 95% { opacity: 0; }
  100% { opacity: 1; }
}
.toy-history { border-block-start: 1px solid var(--line); padding-block: 36px; }
.toy-history p { color: var(--muted); margin: 12px 0 0; }
@media (max-width: 660px) {
  .new-collection, .home-collection { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .toy-rotation img { animation: none; }
  .toy-rotation img:first-child { opacity: 1; }
}

.top nav { flex-wrap: wrap; }
.toy-history h1 { font-size: clamp(42px, 5vw, 70px); }

.about-page .atelier .brand-since { font-family: "DM Sans", Arial, sans-serif; font-size: clamp(32px, 4vw, 56px); font-weight: 500; letter-spacing: -.025em; font-variant-numeric: lining-nums; }

:is(.hero-photo, .toy-rotation) img {
  inset: 0;
  margin: auto;
  width: auto;
  height: auto;
  padding: 0;
  max-width: calc(100% - 28px);
  max-height: calc(100% - 28px);
}
.hero-photo img { bottom: 48px; max-height: calc(100% - 76px); }
