@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Playfair+Display:opsz,wght@6..120,500;6..120,600;6..120,700&display=swap");

:root {
  --paper: #fffaf6;
  --paper-deep: #f8e5dc;
  --ink: #3d2932;
  --ink-soft: #725d64;
  --berry: #d85f82;
  --berry-deep: #9f4663;
  --rose: #f5a7bc;
  --apricot: #ffc19c;
  --sun: #f4c966;
  --sky: #9fd6d7;
  --leaf: #758a62;
  --line: rgba(108, 57, 73, .17);
  --shadow: 0 22px 52px rgba(130, 64, 86, .14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--paper); color: var(--ink); font-family: "DM Sans", system-ui, sans-serif; margin: 0; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
.skip { background: var(--ink); color: #fff; left: 1rem; padding: .7rem 1rem; position: fixed; top: -5rem; z-index: 50; }
.skip:focus { top: 1rem; }

.site-header { align-items: center; background: rgba(255,250,246,.94); border-bottom: 1px solid var(--line); display: flex; height: 5.6rem; justify-content: space-between; padding: 0 clamp(1.2rem, 5vw, 5.5rem); position: sticky; top: 0; z-index: 20; backdrop-filter: blur(13px); }
.brand { background: url("assets/arax-atelier-logo.png") left center/contain no-repeat; display: block; flex: 0 0 clamp(9.8rem,13vw,12.4rem); height: clamp(3rem,4vw,3.85rem); position: relative; width: clamp(9.8rem,13vw,12.4rem); }
.brand::before,.brand__mark { display: none; }
.brand__name,.brand__kind { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.main-nav { align-items: center; display: flex; gap: clamp(.7rem,2vw,1.8rem); }
.main-nav a { color: #543b45; font: 500 .73rem/1 "DM Mono", monospace; letter-spacing: .09em; padding: .6rem 0; position: relative; text-transform: uppercase; }
.main-nav a::after { background: var(--berry); bottom: .18rem; content: ""; height: 2px; left: 0; position: absolute; transform: scaleX(0); transform-origin: left; transition: transform .25s ease; width: 100%; }
.main-nav a:hover::after, .main-nav a:focus-visible::after, .main-nav a[aria-current="page"]::after { transform: scaleX(1); }
.nav-cta, .button { align-items: center; border: 1px solid transparent; display: inline-flex; font: 500 .71rem/1 "DM Mono", monospace; gap: .7rem; justify-content: center; letter-spacing: .1em; min-height: 3rem; padding: 0 1.15rem; text-transform: uppercase; transition: background .25s, color .25s, transform .25s, box-shadow .25s; }
.nav-cta, .button--primary { background: var(--berry); color: #fff; box-shadow: 0 9px 18px rgba(216,95,130,.22); }
.nav-cta:hover, .button--primary:hover { background: var(--berry-deep); box-shadow: 0 12px 24px rgba(159,70,99,.26); transform: translateY(-2px); }
.button--quiet { background: rgba(255,255,255,.52); border-color: rgba(91,48,63,.3); color: var(--ink); }
.button--quiet:hover { background: var(--sun); border-color: var(--sun); }
.nav-toggle { background: transparent; border: 0; display: none; height: 2.8rem; padding: .4rem; width: 2.8rem; }
.nav-toggle span { background: var(--berry-deep); display: block; height: 2px; margin: .38rem auto; transition: transform .2s; width: 1.6rem; }

.eyebrow { color: var(--berry-deep); font: 500 .69rem/1.4 "DM Mono", monospace; letter-spacing: .14em; margin: 0 0 1rem; text-transform: uppercase; }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { font-family: "Playfair Display", Georgia, serif; font-weight: 600; }
h1 { font-size: clamp(3.5rem,7vw,7.8rem); letter-spacing: -.075em; line-height: .86; margin-bottom: 1.6rem; max-width: 8ch; }

.page-hero { display: grid; grid-template-columns: minmax(18rem,.78fr) minmax(28rem,1.22fr); min-height: min(48rem, calc(100svh - 5.6rem)); overflow: hidden; position: relative; }
.page-hero__copy { align-content: center; background: linear-gradient(140deg,#fff3ed 0%,#f8dce2 100%); display: grid; overflow: hidden; padding: clamp(2.8rem,7vw,8rem); position: relative; }
.page-hero__copy::before { background: radial-gradient(circle at 0 0,rgba(255,255,255,.9) 0 10%,transparent 11%), radial-gradient(circle at 100% 8%,rgba(244,201,102,.62) 0 8%,transparent 9%), radial-gradient(circle at 15% 94%,rgba(159,214,215,.62) 0 12%,transparent 13%); content: ""; inset: 0; opacity: .68; pointer-events: none; position: absolute; }
.page-hero__copy > * { position: relative; z-index: 1; }
.script-line { color: var(--berry-deep); font: italic 500 clamp(1.8rem,3.4vw,3.4rem)/1.1 "Playfair Display", serif; margin: -.8rem 0 1.8rem; }
.lead { color: var(--ink-soft); font-size: 1.08rem; line-height: 1.7; max-width: 34rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.4rem; }
.hero-signature { align-items: center; border-top: 1px solid rgba(159,70,99,.24); display: flex; gap: 1rem; margin-top: 3rem; padding-top: 1.2rem; }
.hero-signature strong { color: var(--berry-deep); font: 600 .75rem/1.3 "DM Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.hero-signature span { color: var(--ink-soft); font-size: .85rem; }
.page-hero__visual { background: var(--apricot); min-height: 34rem; overflow: hidden; position: relative; }
.page-hero__visual img { height: 100%; object-fit: cover; object-position: 54% center; position: absolute; width: 100%; }
.page-hero__visual::before { border: 2px solid rgba(255,255,255,.88); border-radius: 50%; content: "✦"; color: var(--berry); display: grid; font: 2rem/1 Georgia,serif; height: 6.2rem; place-items: center; position: absolute; right: clamp(1rem,4vw,4.5rem); top: clamp(1rem,4vw,4.5rem); width: 6.2rem; z-index: 2; }
.page-hero__visual::after { background: linear-gradient(90deg,rgba(255,223,218,.46),transparent 32%),linear-gradient(0deg,rgba(216,95,130,.16),transparent 32%); content: ""; inset: 0; pointer-events: none; position: absolute; }

.trust-strip { background: linear-gradient(105deg,#db6d8d,#d9587b 52%,#cc5277); color: #fffaf7; display: grid; grid-template-columns: repeat(3,1fr); }
.trust-strip article { border-right: 1px solid rgba(255,255,255,.3); padding: 1.45rem clamp(1rem,5vw,5.5rem); position: relative; }
.trust-strip article:last-child { border: 0; }
.trust-strip span { color: #ffe092; display: block; font: 500 .61rem/1.2 "DM Mono", monospace; letter-spacing: .12em; text-transform: uppercase; }
.trust-strip strong { display: block; font: 500 clamp(1rem,1.7vw,1.35rem)/1.2 "Playfair Display", serif; margin-top: .5rem; }

.section { padding: clamp(4.5rem,9vw,9rem) clamp(1.2rem,8vw,8rem); }
.section--paper { background: var(--paper); }
.section--blush { background: linear-gradient(130deg,#fff0eb,#f7dce5); }
.section--ink { background: linear-gradient(120deg,#b44e70,#d76182 55%,#e98a91); color: #fffaf8; overflow: hidden; position: relative; }
.section--ink::before { border: 1px solid rgba(255,255,255,.4); border-radius: 50%; content: ""; height: 28rem; position: absolute; right: -11rem; top: -14rem; width: 28rem; }
.section--ink > * { position: relative; z-index: 1; }
.section-head { align-items: end; display: flex; gap: 2rem; justify-content: space-between; margin-bottom: clamp(2rem,5vw,4.4rem); }
.section-head h2 { font-size: clamp(2.7rem,5vw,5.5rem); letter-spacing: -.065em; line-height: .92; margin-bottom: 0; max-width: 10ch; }
.section-head > p { color: var(--ink-soft); line-height: 1.7; margin: 0; max-width: 31rem; }
.section--ink .eyebrow { color: #ffe49a; }
.section--ink .section-head h2 { color: #fffaf8; }
.section--ink .section-head > p { color: #fff2ed; }

.occasion-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3,1fr); }
.occasion-grid article { background: #fffdf9; border: 1px solid var(--line); box-shadow: 0 12px 25px rgba(170,86,106,.08); min-height: 17rem; overflow: hidden; padding: clamp(1.4rem,3vw,2.5rem); position: relative; transition: transform .28s ease, box-shadow .28s ease; }
.occasion-grid article:hover { box-shadow: var(--shadow); transform: translateY(-5px) rotate(-.25deg); }
.occasion-grid article:nth-child(2) { background: #fff3d3; }
.occasion-grid article:nth-child(3) { background: #e9f5ee; }
.occasion-grid article::after { color: var(--berry); content: "✿"; font: 2.5rem/1 Georgia,serif; position: absolute; right: 1.35rem; top: 1.25rem; }
.occasion-grid article:nth-child(2)::after { color: #e89950; content: "♡"; }
.occasion-grid article:nth-child(3)::after { color: #5d956e; content: "✦"; }
.occasion-grid .number { color: var(--berry-deep); font: 500 .65rem/1 "DM Mono", monospace; letter-spacing: .1em; }
.occasion-icon { color: var(--berry); font: 2.5rem/1 Georgia,serif; position: absolute; right: 1.35rem; top: 1.25rem; }
.occasion-grid article:nth-child(2) .occasion-icon { color: #e89950; }
.occasion-grid article:nth-child(3) .occasion-icon { color: #5d956e; }
.occasion-grid h3 { font-size: clamp(1.7rem,2.5vw,2.45rem); letter-spacing: -.05em; margin: 2.4rem 0 .7rem; }
.occasion-grid p { color: var(--ink-soft); line-height: 1.6; margin-bottom: 0; max-width: 22rem; }

.featured-collection { display: grid; gap: clamp(1rem,3vw,3rem); grid-template-columns: minmax(16rem,.72fr) minmax(22rem,1.28fr); align-items: start; }
.collection-intro { padding-top: .7rem; position: relative; }
.collection-intro::before { color: var(--sun); content: "✿"; font: 7rem/1 Georgia,serif; left: -1rem; opacity: .5; position: absolute; top: -4rem; }
.collection-intro > * { position: relative; }
.collection-intro h2 { font-size: clamp(2.6rem,4vw,4.7rem); letter-spacing: -.06em; line-height: .92; }
.collection-intro p { color: var(--ink-soft); line-height: 1.7; max-width: 25rem; }
.collection-intro .button { margin-top: 1.3rem; }
.cake-tiles { display: grid; gap: 1rem; grid-template-columns: repeat(2,1fr); }
.cake-tile { background: #fff; border: 1px solid rgba(170,74,107,.12); box-shadow: 0 11px 23px rgba(141,73,98,.09); padding: 0; text-align: left; transition: transform .28s ease; }
.cake-tile:hover { transform: translateY(-4px); }
.cake-tile__photo { aspect-ratio: 4/5; overflow: hidden; position: relative; }
.cake-tile__photo img { height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.7,.2,1); width: 100%; }
.cake-tile:nth-child(3) .cake-tile__photo { aspect-ratio: 1.27/1; }
.cake-tile:nth-child(3) { grid-column: span 2; }
.cake-tile:hover img, .cake-tile:focus-visible img { transform: scale(1.045); }
.cake-tile__meta { align-items: center; display: flex; gap: .8rem; justify-content: space-between; padding: .95rem 1rem 1.1rem; }
.cake-tile__meta span { color: var(--berry-deep); font: 500 .61rem/1 "DM Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.cake-tile__meta strong { font: 600 1.28rem/1 "Playfair Display", serif; }
.cake-tile__meta b { background: #fff1ed; border: 1px solid var(--line); border-radius: 50%; color: var(--berry-deep); display: grid; font: 400 1.05rem/1 serif; height: 1.8rem; place-items: center; width: 1.8rem; }

.process-ribbon { display: grid; gap: 1rem; grid-template-columns: repeat(4,1fr); }
.process-ribbon article { background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.26); padding: 1.3rem; }
.process-ribbon span { color: #ffe49a; font: 500 .65rem/1 "DM Mono", monospace; letter-spacing: .1em; }
.process-ribbon h3 { font-size: 1.7rem; letter-spacing: -.04em; margin: .8rem 0; }
.process-ribbon p { color: #fff5ee; font-size: .94rem; line-height: 1.6; margin: 0; }

.feature-hero { display: grid; grid-template-columns: minmax(18rem,.9fr) minmax(24rem,1.1fr); min-height: 33rem; overflow: hidden; }
.feature-hero__copy { align-content: center; background: linear-gradient(140deg,#fff1eb,#f7d8e2); display: grid; padding: clamp(3rem,8vw,8rem); position: relative; }
.feature-hero__copy::after { color: rgba(216,95,130,.25); content: "✿"; font: 14rem/1 Georgia,serif; position: absolute; right: -3rem; top: -3rem; }
.feature-hero__copy > * { position: relative; z-index: 1; }
.feature-hero__copy h1 { font-size: clamp(3.5rem,6.3vw,6.8rem); max-width: 9ch; }
.feature-hero__copy p:not(.eyebrow) { color: var(--ink-soft); font-size: 1.08rem; line-height: 1.75; max-width: 33rem; }
.feature-hero__media { background: var(--sun); min-height: 28rem; overflow: hidden; position: relative; }
.feature-hero__media img { height: 100%; object-fit: cover; position: absolute; width: 100%; }
.feature-hero__media::after { content: none; }
.feature-hero__note { background: #fffaf4; bottom: 1.6rem; box-shadow: var(--shadow); color: var(--ink); font: 500 .7rem/1.45 "DM Mono", monospace; letter-spacing: .08em; max-width: 15rem; padding: 1rem; position: absolute; right: 1.6rem; text-transform: uppercase; z-index: 2; }

.story-split { display: grid; gap: clamp(2.5rem,7vw,8rem); grid-template-columns: minmax(18rem,.8fr) minmax(18rem,1.2fr); }
.story-split h1 { max-width: 11ch; }
.story-split p { color: var(--ink-soft); font-size: 1.08rem; line-height: 1.8; }
.story-split p + p { margin-top: 1.15rem; }
.quote { border-left: 3px solid var(--berry); color: var(--berry-deep) !important; font: italic 500 clamp(1.5rem,2.5vw,2.4rem)/1.3 "Playfair Display", serif !important; padding-left: 1.4rem; }

.collection-hero { background: linear-gradient(125deg,#fff1ea,#f8d9df); overflow: hidden; padding: clamp(4rem,8vw,8rem) clamp(1.2rem,8vw,8rem) clamp(3rem,6vw,5rem); position: relative; }
.collection-hero::before { background: radial-gradient(circle,rgba(255,255,255,.95) 0 9%,transparent 10%) 0 0/4.7rem 4.7rem; content: ""; height: 15rem; opacity: .72; position: absolute; right: -2rem; top: -3rem; width: 22rem; }
.collection-hero > * { position: relative; z-index: 1; }
.collection-hero h1, .inner-hero h1 { font-size: clamp(3.6rem,7vw,7.2rem); max-width: 11ch; }
.collection-hero p, .inner-hero p { color: var(--ink-soft); font-size: 1.1rem; line-height: 1.7; max-width: 39rem; }
.collection-hero--image { align-content: center; background-color: var(--berry-deep); background-image: linear-gradient(90deg,rgba(74,35,54,.76),rgba(117,45,72,.44) 50%,rgba(255,161,166,.08)),url("assets/after-rain-atelier-hero-v1.png"); background-position: center; background-size: cover; color: #fffaf8; display: grid; min-height: 34rem; }
.collection-hero--image::before { background: radial-gradient(circle,rgba(255,255,255,.72) 0 9%,transparent 10%) 0 0/4.7rem 4.7rem; opacity: .32; }
.collection-hero--image .eyebrow { color: #ffe695; }
.collection-hero--image p { color: #fff6f0; }
.collection-hero--image h1 { text-shadow: 0 2px 20px rgba(51,20,36,.25); }
.hero-ribbon { align-items: center; background: rgba(255,249,245,.92); color: var(--berry-deep); display: inline-flex; font: 500 .64rem/1.1 "DM Mono", monospace; gap: .6rem; letter-spacing: .11em; margin-top: 1.5rem; padding: .75rem 1rem; text-transform: uppercase; width: fit-content; }
.hero-ribbon b { color: var(--sun); font-size: 1.2rem; }
.collection-interlude { align-items: center; background: linear-gradient(100deg,#fffaf6,#fff1e8 55%,#f9dfe5); border-bottom: 1px solid var(--line); display: grid; gap: 1rem clamp(1.5rem,5vw,4rem); grid-template-columns: minmax(12rem,.65fr) minmax(18rem,1.15fr) auto; padding: clamp(1.6rem,3.5vw,2.7rem) clamp(1.2rem,8vw,8rem); }
.collection-interlude .eyebrow { margin: 0; }
.collection-interlude > p:not(.eyebrow) { color: var(--ink-soft); line-height: 1.65; margin: 0; max-width: 36rem; }
.collection-interlude ul { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.collection-interlude li { align-items: center; background: rgba(255,255,255,.72); border: 1px solid rgba(159,70,99,.16); color: var(--ink); display: inline-flex; font: 500 .6rem/1 "DM Mono",monospace; gap: .42rem; letter-spacing: .08em; padding: .6rem .7rem; text-transform: uppercase; }
.collection-interlude li:nth-child(1) span { color: var(--berry); font-size: 1rem; }.collection-interlude li:nth-child(2) span { color: #b5374b; font-size: .75rem; }.collection-interlude li:nth-child(3) span { color: #683a32; font-size: .8rem; }

.collection-grid { align-items: start; display: grid; gap: clamp(1rem,2.5vw,2rem); grid-auto-flow: row dense; grid-template-columns: repeat(12,1fr); }
.collection-card { align-self: start; background: #fffdf9; border: 1px solid rgba(216,95,130,.2); box-shadow: 0 12px 24px rgba(148,73,96,.07); grid-column: span 4; transition: box-shadow .28s ease, transform .28s ease; }
.collection-card:hover { box-shadow: var(--shadow); transform: translateY(-4px); }
.collection-card:nth-child(1) { grid-column: span 7; }
.collection-card:nth-child(2) { grid-column: span 5; }
.collection-card:nth-child(3), .collection-card:nth-child(4) { grid-column: span 6; }
.gallery-page .collection-card:nth-child(5) { grid-column: 1 / -1; }
.gallery-page .collection-card:nth-child(5) .collection-card__open { display: grid; grid-template-columns: minmax(18rem,1fr) minmax(17rem,.62fr); }
.gallery-page .collection-card:nth-child(5) .collection-card__photo { aspect-ratio: 16/7; }
.gallery-page .collection-card:nth-child(5) .collection-card__body { align-content: center; display: grid; padding: clamp(1.5rem,4vw,4rem); }
.collection-card__open { background: transparent; border: 0; display: block; padding: 0; text-align: left; width: 100%; }
.collection-card__photo { aspect-ratio: 4/5; overflow: hidden; }
.collection-card:nth-child(1) .collection-card__photo { aspect-ratio: 3/2; }
.collection-card:nth-child(4) .collection-card__photo { aspect-ratio: 3/2; }
.collection-card img { height: 100%; object-fit: cover; transition: transform .6s ease; width: 100%; }
.collection-card__open:hover img, .collection-card__open:focus-visible img { transform: scale(1.035); }
.collection-card__body { padding: 1.2rem 1.3rem 1.5rem; }
.collection-card__body span { color: var(--berry-deep); font: 500 .63rem/1 "DM Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.collection-card__body h2 { font-size: clamp(1.8rem,3vw,2.8rem); letter-spacing: -.05em; margin: .6rem 0; }
.collection-card__body p { color: var(--ink-soft); line-height: 1.6; margin-bottom: 0; }
.masonry-gallery { display: grid; gap: clamp(1rem,2.5vw,2rem); grid-template-columns: repeat(3,minmax(0,1fr)); }
.masonry-gallery__column { align-content: start; display: grid; gap: clamp(1rem,2.5vw,2rem); }
.masonry-gallery .collection-card,.masonry-gallery .collection-card:nth-child(n) { grid-column: auto; width: 100%; }
.masonry-gallery .collection-card__photo { aspect-ratio: 4/5; }
.masonry-gallery .collection-card--landscape .collection-card__photo { aspect-ratio: 3/2; }
.masonry-gallery .collection-card--square .collection-card__photo { aspect-ratio: 1/1; }
.masonry-gallery .collection-card--portrait .collection-card__photo { aspect-ratio: 4/5; }
.section-head h2,.collection-hero h1 { overflow-wrap: anywhere; }

.detail-dialog { background: transparent; border: 0; max-height: min(84svh,720px); max-width: min(88vw,940px); padding: 0; width: 100%; }
.detail-dialog::backdrop { background: rgba(102,45,68,.7); backdrop-filter: blur(8px); }
.detail-dialog__shell { background: var(--paper); display: grid; grid-template-columns: minmax(0,1.12fr) minmax(17rem,.88fr); max-height: min(84svh,720px); min-height: 0; position: relative; }
.detail-dialog__image { background: #f6d8d5; height: min(62svh,560px); min-height: 0; }
.detail-dialog__image img { height: 100%; object-fit: cover; width: 100%; }
.detail-dialog__copy { align-content: center; display: grid; overflow: auto; padding: clamp(2rem,5vw,4rem); }
.detail-dialog__copy h2 { font-size: clamp(2.5rem,5vw,4.5rem); letter-spacing: -.07em; line-height: .9; }
.detail-dialog__copy p { color: var(--ink-soft); line-height: 1.7; }
.detail-dialog__close { background: #fffaf6; border: 1px solid var(--line); border-radius: 50%; color: var(--berry-deep); display: grid; font-size: 1.3rem; height: 2.6rem; place-items: center; position: absolute; right: 1rem; top: 1rem; width: 2.6rem; z-index: 1; }

.steps { counter-reset: steps; display: grid; gap: 1rem; grid-template-columns: repeat(4,1fr); }
.steps article { background: rgba(255,255,255,.72); border: 1px solid rgba(216,95,130,.2); box-shadow: 0 10px 20px rgba(153,70,100,.08); min-height: 17rem; padding: 1.4rem; }
.steps article::before { color: var(--berry-deep); content: "0" counter(steps); counter-increment: steps; font: 500 .69rem/1 "DM Mono", monospace; letter-spacing: .1em; }
.steps h2 { font-size: clamp(1.7rem,2.4vw,2.35rem); letter-spacing: -.05em; margin: 3rem 0 .7rem; }
.steps p { color: var(--ink-soft); line-height: 1.6; max-width: 19rem; }
.process-photo { border: 10px solid #fffaf7; box-shadow: var(--shadow); height: clamp(20rem,38vw,31rem); margin: 0 auto; max-width: 41rem; overflow: hidden; transform: rotate(1.5deg); }
.process-photo img { height: 100%; object-fit: cover; object-position: center 44%; width: 100%; }
.process-detail { align-items: center; display: grid; gap: clamp(2.5rem,8vw,8rem); grid-template-columns: minmax(17rem,.68fr) minmax(20rem,1.12fr); }
.process-detail__copy h2 { font-size: clamp(2.7rem,4.5vw,4.8rem); letter-spacing: -.065em; line-height: .9; max-width: 8ch; }
.process-detail__copy p:not(.eyebrow) { color: var(--ink-soft); line-height: 1.75; max-width: 30rem; }
.process-detail__copy ul { display: grid; gap: .65rem; list-style: none; margin: 1.7rem 0 0; padding: 0; }
.process-detail__copy li { color: var(--ink-soft); font: 500 .65rem/1.4 "DM Mono",monospace; letter-spacing: .08em; text-transform: uppercase; }
.process-detail__copy li span { color: var(--berry); font-size: 1rem; margin-right: .6rem; }
.process-photo { position: relative; }
.process-photo figcaption { background: rgba(255,250,246,.92); bottom: 1rem; color: var(--berry-deep); font: 500 .58rem/1 "DM Mono",monospace; left: 1rem; letter-spacing: .1em; padding: .75rem; position: absolute; text-transform: uppercase; }
.contact-grid { align-items: start; display: grid; gap: clamp(2rem,5vw,5rem); grid-template-columns: minmax(16rem,.9fr) minmax(22rem,1.1fr); margin-inline: auto; max-width: 72rem; }
.contact-grid h1 { max-width: 8ch; }
.contact-grid p { color: var(--ink-soft); line-height: 1.7; }
.price-guide { background: rgba(255,250,246,.72); border-left: 3px solid var(--berry); margin-top: 2rem; max-width: 34rem; padding: 1.35rem 1.45rem 1.45rem; }
.price-guide .eyebrow { margin-bottom: .55rem; }
.price-guide__lead { color: var(--ink) !important; font: 600 clamp(1.4rem,2.2vw,1.85rem)/1.1 "Playfair Display",serif; letter-spacing: -.035em; margin-bottom: .8rem; }
.price-guide__lead strong { color: var(--berry-deep); white-space: nowrap; }
.price-guide__levels { border-top: 1px solid var(--line); display: grid; gap: 0; margin: 1.15rem 0 0; padding: 0; }
.price-guide__levels div { align-items: baseline; border-bottom: 1px solid rgba(104,72,82,.16); display: grid; gap: .65rem; grid-template-columns: minmax(5.5rem,.5fr) minmax(12rem,1.5fr); padding: .65rem 0; }
.price-guide__levels dt { color: var(--berry-deep); font: 600 .65rem/1.2 "DM Mono",monospace; letter-spacing: .08em; text-transform: uppercase; }
.price-guide__levels dd { color: var(--ink-soft); font-size: .88rem; margin: 0; }
.price-guide__note { border-top: 1px solid var(--line); font-size: .9rem; margin: 1rem 0 0; padding-top: .9rem; }
.contact-form { align-self: start; background: rgba(255,255,255,.62); border: 1px solid rgba(216,95,130,.24); box-shadow: var(--shadow); display: grid; gap: 1rem; justify-self: start; max-width: 38rem; padding: clamp(1.3rem,3vw,2.3rem); width: 100%; }
.field { display: grid; gap: .5rem; }
.field label { color: var(--berry-deep); font: 500 .65rem/1 "DM Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.field input,.field select,.field textarea { background: #fffdf9; border: 1px solid var(--line); border-radius: 0; color: var(--ink); min-height: 3.2rem; padding: .85rem; width: 100%; }
.field textarea { min-height: 9rem; resize: vertical; }
.form-status { color: var(--leaf); font-size: .9rem; line-height: 1.5; min-height: 1.4rem; }
.availability { background: #fff9d8; border: 1px solid rgba(210,156,54,.3); margin-top: 2rem; padding: 1.2rem; }
.availability strong { display: block; font: 600 1.4rem "Playfair Display", serif; margin: .4rem 0; }
.availability span { color: #94753d; font: 500 .64rem "DM Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }

.site-footer { background: linear-gradient(135deg,#a74768 0%,#bd5374 48%,#d36584 100%); color: #fffaf8; display: grid; gap: 0; grid-template-columns: minmax(15rem,1.18fr) minmax(11rem,.72fr) minmax(11rem,.72fr); overflow: hidden; padding: clamp(2.7rem,5vw,4.7rem) clamp(1.2rem,8vw,8rem) 1.5rem; position: relative; }
.site-footer::before { color: rgba(255,255,255,.11); content: "✿"; font: 12rem/1 Georgia,serif; position: absolute; right: 6vw; top: 1.65rem; }
.site-footer > * { position: relative; z-index: 1; }
.footer-top { display: contents; }
.footer-top > div { align-self: start; grid-column: 1; grid-row: 2; max-width: 25rem; }
.footer-top .eyebrow { color: #fff0a2; }
.footer-top h2 { font-size: clamp(2.25rem,3.6vw,3.8rem); letter-spacing: -.055em; line-height: .94; margin-bottom: 0; max-width: 9.5ch; }
.footer-social { align-items: center; display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 2.4rem; }
.footer-social__label { color: #fff7ed; font: 500 .68rem/1 "DM Mono", monospace; letter-spacing: .12em; margin-right: .4rem; text-transform: uppercase; }
.social-icon { align-items: center; border-radius: 999px; color: #fff; display: inline-flex; font: 700 1rem/1 Arial,sans-serif; height: 2.55rem; justify-content: center; text-decoration: none; transition: transform .22s ease, box-shadow .22s ease; width: 2.55rem; }
.social-icon:hover,.social-icon:focus-visible { box-shadow: 0 7px 18px rgba(77,32,48,.27); transform: translateY(-3px) rotate(-3deg); }
.social-icon--instagram { background: radial-gradient(circle at 30% 105%,#ffd76e 0 13%,#f24f72 32%,#a932a8 61%,#515bd4 100%); }
.social-icon--tiktok { background: #111; text-shadow: 2px 1px #25f4ee,-1px -1px #fe2c55; }
.social-icon--youtube { background: #ff1733; font-size: .84rem; }
.social-icon--facebook { background: #1877f2; font-family: Arial,sans-serif; font-size: 1.45rem; }
.footer-nav { align-content: start; display: grid; gap: .9rem; grid-column: 2; grid-row: 2; justify-self: start; }
.footer-nav a { color: #fffaf7; font: 500 .68rem "DM Mono", monospace; letter-spacing: .09em; text-transform: uppercase; }
.footer-base { border-top: 1px solid rgba(255,255,255,.34); color: #fff3ef; display: flex; font: .68rem "DM Mono", monospace; grid-column: 1 / -1; grid-row: 4; justify-content: space-between; letter-spacing: .06em; margin-top: clamp(2.3rem,5vw,4.3rem); padding-top: 1rem; }
.footer-brand { align-items: center; align-self: start; background: transparent; border: 0; color: #fffaf8; display: grid; gap: clamp(1rem,2.6vw,2.2rem); grid-column: 1 / -1; grid-row: 1; grid-template-columns: minmax(11rem,16rem) minmax(12rem,21rem); margin: 0 0 clamp(2.8rem,5vw,4.7rem); max-width: 42rem; padding: 0; text-decoration: none; }
.footer-brand__logo { background: url("assets/arax-atelier-logo.png") left center/contain no-repeat; display: block; filter: drop-shadow(0 .2rem .7rem rgba(255,250,246,.28)); height: clamp(4.3rem,6vw,5.6rem); position: relative; width: 100%; }
.footer-brand__word { border-left: 1px solid rgba(255,250,246,.42); display: grid; gap: .35rem; padding-left: clamp(1rem,2vw,1.65rem); }
.footer-brand__word strong { color: #fffaf8; font: 600 clamp(1.1rem,1.8vw,1.45rem)/1.1 "Playfair Display",Georgia,serif; letter-spacing: -.035em; }
.footer-brand__word small { color: rgba(255,250,246,.86); font: 500 .58rem/1.55 "DM Mono",monospace; letter-spacing: .07em; text-transform: uppercase; }
.footer-social { align-content: start; align-self: start; display: flex; flex-wrap: wrap; gap: .6rem; grid-column: 3; grid-row: 2; margin: 0; }
.footer-social__label { color: #fff0a2; flex-basis: 100%; font: 500 .62rem "DM Mono",monospace; letter-spacing: .1em; margin-bottom: .2rem; text-transform: uppercase; }
.footer-legal { display: flex; flex-wrap: wrap; gap: .55rem 1.15rem; grid-column: 3; grid-row: 3; margin-top: 2rem; }
.footer-legal a { color: #fffaf7; font: 500 .63rem/1.3 "DM Mono",monospace; letter-spacing: .07em; text-decoration: underline; text-decoration-color: rgba(255,255,255,.55); text-underline-offset: .3rem; }
.cookie-banner { align-items: center; background: rgba(255,250,246,.98); border: 1px solid rgba(178,72,105,.35); bottom: 1rem; box-shadow: 0 1.2rem 3.5rem rgba(70,32,47,.24); color: var(--ink); display: flex; gap: 1.25rem; justify-content: space-between; left: 50%; max-width: min(46rem,calc(100vw - 2rem)); padding: 1rem 1.15rem; position: fixed; transform: translateX(-50%); width: 100%; z-index: 50; }
.cookie-banner p { color: var(--ink-soft); font-size: .84rem; line-height: 1.5; margin: .35rem 0 0; max-width: 32rem; }
.cookie-banner__actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: .5rem; }
.cookie-banner button { border: 1px solid var(--berry); cursor: pointer; font: 600 .59rem/1 "DM Mono",monospace; letter-spacing: .08em; min-height: 2.4rem; padding: 0 .8rem; text-transform: uppercase; }
.cookie-banner [data-cookie-choice="essential"] { background: transparent; color: var(--berry-deep); }
.cookie-banner [data-cookie-choice="all"] { background: var(--berry); color: #fff; }
.legal-page { background: var(--paper); }
.legal-hero { background: linear-gradient(110deg,#f8d9d7,#fff4d8 48%,#e2f0e9); padding: clamp(4.5rem,9vw,8rem) clamp(1.4rem,8vw,8rem) clamp(3.5rem,7vw,6rem); }
.legal-hero > *,.legal-content { margin-inline: auto; max-width: 68rem; }
.legal-hero h1 { max-width: 10ch; }
.legal-hero p:not(.eyebrow) { color: var(--ink-soft); line-height: 1.7; max-width: 39rem; }
.legal-content { display: grid; gap: 1.8rem; padding: clamp(3.5rem,7vw,6.5rem) 0; }
.legal-content section { background: rgba(255,255,255,.6); border: 1px solid var(--line); padding: clamp(1.4rem,3vw,2.4rem); }
.legal-content h2 { font-size: clamp(1.6rem,2.8vw,2.35rem); margin-bottom: .7rem; }
.legal-content p,.legal-content li { color: var(--ink-soft); line-height: 1.7; max-width: 48rem; }
.legal-content ul { margin: .7rem 0 0; padding-left: 1.1rem; }

@media (max-width: 900px) {
  .main-nav, .nav-cta { display: none; }
  .nav-toggle { display: block; }
  .site-header[data-menu-open="true"] .main-nav { background: var(--paper); border-bottom: 1px solid var(--line); display: grid; left: 0; padding: 1.2rem clamp(1.2rem,5vw,5.5rem) 1.6rem; position: absolute; right: 0; top: 5.55rem; }
  .site-header[data-menu-open="true"] .main-nav a { font-size: .78rem; padding: .8rem 0; }
  .page-hero,.featured-collection,.story-split,.contact-grid,.feature-hero,.process-detail { grid-template-columns: 1fr; }
  .contact-form { max-width: 42rem; }
  .site-footer { grid-template-columns: 1fr; }
  .footer-brand,.footer-top > div,.footer-nav,.footer-social,.footer-legal,.footer-base { grid-column: 1; grid-row: auto; }
  .footer-brand { margin-bottom: 2.7rem; max-width: 36rem; }
  .footer-top > div { max-width: 28rem; }
  .footer-nav { display: flex; flex-wrap: wrap; gap: .8rem 1.25rem; margin-top: 2.3rem; }
  .footer-social { margin-top: 2.1rem; }
  .footer-legal { margin-top: 1.65rem; }
  .footer-base { margin-top: 2.4rem; }
  .page-hero__copy { min-height: 39rem; }
  .page-hero__visual { min-height: 27rem; }
  .feature-hero__media { min-height: 25rem; }
  .trust-strip,.process-ribbon,.steps { grid-template-columns: 1fr 1fr; }
  .trust-strip article { border-bottom: 1px solid rgba(255,255,255,.24); }
  .collection-card:nth-child(1),.collection-card:nth-child(2),.collection-card:nth-child(3),.collection-card:nth-child(4) { grid-column: span 6; }
  .collection-card:nth-child(1) .collection-card__photo,.collection-card:nth-child(4) .collection-card__photo { aspect-ratio: 4/5; }
  .gallery-page .collection-card:nth-child(5) { grid-column: 1 / -1; }
  .masonry-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .collection-interlude { grid-template-columns: 1fr 1.4fr; }
  .collection-interlude ul { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  .site-header { height: 4.7rem; }
  .site-header[data-menu-open="true"] .main-nav { top: 4.65rem; }
  h1 { font-size: clamp(3.4rem,15vw,5rem); }
  .page-hero__copy { min-height: 33rem; padding: 3rem 1.4rem; }
  .page-hero__visual { min-height: 20rem; }
  .page-hero__visual::before { height: 4.4rem; right: 1.1rem; top: 1.1rem; width: 4.4rem; }
  .section { padding: 4.5rem 1.4rem; }
  .section-head,.footer-top { align-items: start; flex-direction: column; gap: 1rem; }
  .trust-strip,.occasion-grid,.process-ribbon,.steps { grid-template-columns: 1fr; }
  .trust-strip article { border-right: 0; }
  .cake-tiles { grid-template-columns: 1fr; }
  .cake-tile:nth-child(3) { grid-column: auto; }
  .cake-tile:nth-child(3) .cake-tile__photo { aspect-ratio: 4/5; }
  .collection-card:nth-child(n) { grid-column: span 12; }
  .detail-dialog__shell { grid-template-columns: 1fr; max-height: 92svh; overflow: auto; }
  .detail-dialog__image { min-height: 20rem; }
  .detail-dialog__copy { padding: 2rem 1.5rem; }
  .feature-hero__copy { padding: 3.5rem 1.4rem; }
  .feature-hero__media { min-height: 21rem; }
  .footer-base { flex-direction: column; gap: .6rem; }
  .footer-brand { gap: .9rem; grid-template-columns: minmax(7.5rem,10rem) 1fr; padding: 0; }
  .footer-brand__word { padding-left: .9rem; }
  .cookie-banner { align-items: stretch; flex-direction: column; gap: .8rem; }
  .cookie-banner__actions { width: 100%; }
  .cookie-banner button { flex: 1 1 10rem; }
}

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

/* Arax Atelier high-detail editorial layer */
.home-page { background: #fffaf6; }
.editorial-hero { background: #f9e7e2; min-height: min(54rem,calc(100svh - 5.6rem)); overflow: hidden; position: relative; }
.editorial-hero__image { height: 100%; inset: 0; object-fit: cover; object-position: center; position: absolute; width: 100%; }
.editorial-hero__wash { background: linear-gradient(90deg,rgba(255,248,243,.96) 0%,rgba(255,244,239,.89) 34%,rgba(255,237,231,.18) 63%,rgba(255,235,228,.05)); inset: 0; position: absolute; }
.editorial-hero::after { background: radial-gradient(circle at 20% 25%,rgba(255,255,255,.85) 0 3%,transparent 3.3%),radial-gradient(circle at 84% 18%,rgba(255,255,255,.7) 0 2%,transparent 2.3%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.editorial-hero__vertical { bottom: 2.8rem; color: var(--berry-deep); font: 500 .65rem/1 "DM Mono",monospace; left: 1.5rem; letter-spacing: .24em; margin: 0; position: absolute; text-transform: uppercase; transform: rotate(-90deg); transform-origin: left top; z-index: 2; }
.editorial-hero__paper { left: clamp(4.5rem,8vw,10rem); max-width: min(40rem,48vw); padding: clamp(2rem,4vw,4rem) 0; position: absolute; top: 50%; transform: translateY(-47%); z-index: 3; }
.editorial-hero__paper::before { background: rgba(255,251,247,.44); clip-path: polygon(0 2%,98% 0,100% 94%,4% 100%); content: ""; inset: -2.2rem -2.8rem; position: absolute; z-index: -1; }
.editorial-hero h1 { font-size: clamp(4.4rem,7.8vw,8.8rem); line-height: .83; max-width: 7.1ch; text-wrap: balance; }
.editorial-hero .script-line { font-size: clamp(2.1rem,3.5vw,3.7rem); margin-top: -.6rem; }
.editorial-hero .lead { font-family: "Playfair Display",Georgia,serif; font-size: 1.05rem; max-width: 31rem; }
.text-link { border-bottom: 1px solid currentColor; color: var(--berry-deep); display: inline-flex; font: 500 .71rem/1.2 "DM Mono",monospace; gap: .65rem; letter-spacing: .08em; padding-bottom: .4rem; text-transform: uppercase; transition: color .2s,transform .2s; }
.text-link:hover { color: var(--ink); transform: translateX(3px); }
.editorial-hero .text-link { align-self: center; margin-left: .5rem; }
.editorial-hero__sensory { display: flex; gap: clamp(.5rem,1.7vw,1.5rem); position: absolute; right: clamp(2rem,7vw,9rem); top: clamp(1.7rem,5vw,4.2rem); z-index: 3; }
.editorial-hero__sensory span { align-items: center; color: var(--ink); display: grid; font: 500 .58rem/1.25 "DM Mono",monospace; gap: .45rem; justify-items: center; letter-spacing: .08em; text-transform: uppercase; }
.editorial-hero__sensory b { align-items: center; background: rgba(255,251,247,.74); border: 1px solid rgba(136,70,89,.18); border-radius: 50%; color: var(--berry-deep); display: grid; font: 1.3rem/1 Georgia,serif; height: 3.65rem; place-items: center; width: 3.65rem; }
.editorial-hero__note { bottom: clamp(4rem,8vw,8.7rem); color: var(--ink); margin: 0; max-width: 15rem; position: absolute; right: clamp(3rem,8vw,10.5rem); z-index: 3; }
.editorial-hero__note::before { background: rgba(255,251,247,.83); border: 1px solid rgba(255,255,255,.7); border-radius: .35rem; box-shadow: 0 18px 34px rgba(112,59,75,.12); content: ""; inset: -1.5rem; position: absolute; transform: rotate(1.5deg); z-index: -1; }
.editorial-hero__note .eyebrow { margin-bottom: .6rem; }
.editorial-hero__note p:not(.eyebrow) { font-size: .94rem; line-height: 1.65; margin-bottom: .85rem; }
.editorial-hero__note a { color: var(--berry-deep); font: 600 .64rem "DM Mono",monospace; letter-spacing: .1em; text-transform: uppercase; }
.note-star { color: var(--berry); font: 1.25rem/1 Georgia,serif; left: -2.35rem; position: absolute; top: -1rem; }
.editorial-hero__scroll { align-items: center; bottom: 1.5rem; color: var(--berry-deep); display: flex; font: 500 .57rem/1 "DM Mono",monospace; gap: .65rem; left: 50%; letter-spacing: .12em; position: absolute; text-transform: uppercase; transform: translateX(-50%); z-index: 3; }
.editorial-hero__scroll span { border: 1px solid var(--berry-deep); border-radius: 1rem; height: 1.65rem; position: relative; width: .95rem; }
.editorial-hero__scroll span::after { background: var(--berry-deep); border-radius: 50%; content: ""; height: .22rem; left: 50%; position: absolute; top: .32rem; transform: translateX(-50%); width: .22rem; }

.manifesto-band { align-items: center; background: #fffaf6; display: grid; gap: 2rem; grid-template-columns: .55fr 1.25fr 1.1fr auto; overflow: hidden; padding: clamp(3rem,5vw,5.5rem) clamp(1.5rem,8vw,8rem); position: relative; }
.manifesto-band::before { background: linear-gradient(90deg,transparent,rgba(216,95,130,.18),transparent); content: ""; height: 1px; left: 8vw; position: absolute; right: 8vw; top: 0; }
.manifesto-band__flower { color: var(--rose); font: clamp(4.5rem,7vw,8rem)/1 Georgia,serif; text-align: center; }
.manifesto-band h2 { font-size: clamp(2.3rem,4vw,4.2rem); letter-spacing: -.06em; line-height: .93; margin: 0; max-width: 9ch; }
.manifesto-band > p { color: var(--ink-soft); line-height: 1.7; margin: 0; max-width: 28rem; }

.occasion-section { background: linear-gradient(180deg,#fffaf6 0%,#fce9e6 100%); overflow: hidden; position: relative; }
.occasion-section::before { background: radial-gradient(circle at center,rgba(244,201,102,.2) 0 10%,transparent 10.4%); content: ""; height: 25rem; position: absolute; right: -7rem; top: 5rem; width: 25rem; }
.occasion-section > * { position: relative; z-index: 1; }
.occasion-grid article { border-radius: .15rem; display: flex; flex-direction: column; min-height: 20rem; }
.occasion-grid article::after { font-size: 3.2rem; }
.occasion-grid article a { color: var(--berry-deep); font: 500 .62rem/1 "DM Mono",monospace; letter-spacing: .09em; margin-top: auto; padding-top: 2rem; text-transform: uppercase; }

.scrapbook-section { background: #ead6ca; display: grid; gap: clamp(2rem,6vw,7rem); grid-template-columns: minmax(18rem,.8fr) minmax(29rem,1.2fr); min-height: 56rem; overflow: hidden; padding: clamp(4rem,9vw,9rem) clamp(1.5rem,8vw,8rem); position: relative; }
.scrapbook-section::before { background: repeating-linear-gradient(0deg,rgba(122,74,69,.04) 0 1px,transparent 1px 5px); content: ""; inset: 0; opacity: .7; pointer-events: none; position: absolute; }
.scrapbook-section::after { border: 1px solid rgba(146,80,96,.16); border-radius: 50%; content: ""; height: 32rem; left: -17rem; position: absolute; top: -14rem; width: 32rem; }
.scrapbook-section > * { position: relative; z-index: 1; }
.scrapbook-section__paper { align-self: center; background: #fffaf4; box-shadow: 0 18px 40px rgba(114,62,72,.13); max-width: 29rem; padding: clamp(2rem,4vw,4.5rem); transform: rotate(-1.3deg); }
.scrapbook-section__paper::before { border: 1px solid rgba(168,99,112,.2); content: ""; inset: .8rem; pointer-events: none; position: absolute; }
.scrapbook-section__paper h2 { font-size: clamp(3rem,5vw,5rem); letter-spacing: -.07em; line-height: .87; max-width: 7ch; }
.scrapbook-section__paper p:not(.eyebrow) { color: var(--ink-soft); line-height: 1.7; }
.scrapbook-section__doodle { bottom: -2.7rem; color: var(--rose); font: 7rem/1 Georgia,serif; position: absolute; right: -2.2rem; }
.scrapbook-collage { min-height: 39rem; position: relative; }
.scrapbook-card { background: #fffdf9; box-shadow: 0 16px 28px rgba(99,55,56,.18); margin: 0; padding: .7rem .7rem 2.7rem; position: absolute; }
.scrapbook-card img { height: 100%; object-fit: cover; width: 100%; }
.scrapbook-card figcaption { bottom: .85rem; color: var(--ink-soft); font: italic 1.45rem/1 "Playfair Display",serif; left: 1rem; position: absolute; transform: rotate(-2deg); }
.scrapbook-card figcaption span { color: var(--berry); font: 1.1rem Georgia,serif; margin-left: .7rem; }
.scrapbook-card--one { height: 28rem; left: 3%; top: 3%; transform: rotate(-5deg); width: 40%; }
.scrapbook-card--two { height: 26rem; right: 5%; top: 0; transform: rotate(4deg); width: 34%; }
.scrapbook-card--three { bottom: 0; height: 19rem; right: 13%; transform: rotate(1.2deg); width: 50%; }
.scrapbook-note { background: #f7ebda; bottom: 1.7rem; color: var(--ink-soft); font: italic 1.15rem/1.55 "Playfair Display",serif; left: 7%; margin: 0; padding: 1.3rem; position: absolute; transform: rotate(4deg); width: 15rem; }
.scrapbook-note span { color: var(--berry-deep); font-family: "DM Mono",monospace; font-size: .8rem; }

.social-story { background: #fffaf6; display: grid; grid-template-columns: minmax(17rem,.8fr) minmax(23rem,1.05fr) minmax(16rem,.65fr); overflow: hidden; position: relative; }
.social-story::before { background: radial-gradient(circle at 14% 80%,rgba(255,205,88,.32) 0 4%,transparent 4.3%),radial-gradient(circle at 88% 20%,rgba(216,95,130,.18) 0 12%,transparent 12.3%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.social-story > * { position: relative; z-index: 1; }
.social-story__portrait { min-height: 37rem; overflow: hidden; position: relative; }
.social-story__portrait img { height: 100%; object-fit: cover; width: 100%; }
.social-story__portrait::after { background: linear-gradient(0deg,rgba(81,40,59,.23),transparent 48%); content: ""; inset: 0; position: absolute; }
.social-story__portrait span { bottom: 1.2rem; color: #fff; font: 4.5rem/1 Georgia,serif; position: absolute; right: 1.5rem; text-shadow: 0 3px 18px rgba(75,31,46,.34); z-index: 1; }
.social-story__copy { align-content: center; display: grid; padding: clamp(3rem,6vw,6.5rem); }
.social-story__copy h2 { font-size: clamp(3.4rem,5.4vw,5.8rem); letter-spacing: -.075em; line-height: .83; margin: 0; }
.social-story__copy .script-line { color: var(--berry); font-size: clamp(1.5rem,2.6vw,2.4rem); margin: .25rem 0 1.5rem; }
.social-story__copy p:not(.eyebrow):not(.script-line) { color: var(--ink-soft); line-height: 1.7; max-width: 33rem; }
.social-follow { align-items: center; background: #fff; border: 1px solid rgba(216,95,130,.3); box-shadow: 0 12px 24px rgba(151,67,93,.11); color: var(--ink); display: inline-flex; font: 600 .68rem/1 "DM Mono",monospace; gap: .75rem; justify-self: start; letter-spacing: .07em; margin-top: 1rem; padding: .55rem .9rem .55rem .6rem; text-decoration: none; text-transform: uppercase; transition: transform .22s ease,box-shadow .22s ease; }
.social-follow:hover,.social-follow:focus-visible { box-shadow: 0 16px 28px rgba(151,67,93,.2); transform: translateY(-3px); }
.social-follow .social-icon { height: 2.15rem; width: 2.15rem; }
.social-story__aside { align-content: end; background: linear-gradient(155deg,#b64e74,#e47291); color: #fffaf6; display: grid; padding: clamp(2rem,4vw,4rem); }
.social-story__aside .eyebrow { color: #ffe8a4; }
.social-story__aside strong { font: 600 clamp(2rem,3.2vw,3.4rem)/.88 "Playfair Display",serif; letter-spacing: -.06em; }
.social-story__aside p:not(.eyebrow) { color: #fff1ea; line-height: 1.65; margin-top: 1.5rem; }
.social-story__handle { border-top: 1px solid rgba(255,255,255,.35); font: 500 .67rem/1 "DM Mono",monospace; letter-spacing: .1em; margin-top: 1.4rem; padding-top: .9rem; }

.atelier-ledger { background: linear-gradient(105deg,#ae4d6b,#e27592); color: #fffaf8; display: grid; grid-template-columns: minmax(22rem,.94fr) minmax(22rem,1.06fr); min-height: 38rem; overflow: hidden; position: relative; }
.atelier-ledger::after { border: 1px solid rgba(255,255,255,.3); border-radius: 50%; content: ""; height: 35rem; position: absolute; right: -17rem; top: -15rem; width: 35rem; }
.atelier-ledger__image { min-height: 30rem; overflow: hidden; position: relative; }
.atelier-ledger__image::after { background: linear-gradient(90deg,rgba(137,51,79,.1),rgba(125,41,69,.5)); content: ""; inset: 0; position: absolute; }
.atelier-ledger__image img { height: 100%; object-fit: cover; width: 100%; }
.atelier-ledger__copy { align-content: center; display: grid; padding: clamp(3rem,7vw,7rem); position: relative; z-index: 1; }
.atelier-ledger .eyebrow { color: #ffe49d; }
.atelier-ledger h2 { font-size: clamp(3rem,5vw,5.5rem); letter-spacing: -.075em; line-height: .85; max-width: 8ch; }
.atelier-ledger__copy > p:not(.eyebrow) { color: #fff2ed; line-height: 1.7; max-width: 31rem; }
.atelier-ledger ol { display: grid; gap: .6rem 1rem; grid-template-columns: 1fr 1fr; list-style: none; margin: 1.4rem 0 2rem; padding: 0; }
.atelier-ledger li { border-top: 1px solid rgba(255,255,255,.35); font: 600 1.2rem/1.2 "Playfair Display",serif; padding-top: .75rem; }
.atelier-ledger li span { color: #ffe49d; font: 500 .59rem/1 "DM Mono",monospace; letter-spacing: .1em; margin-right: .5rem; vertical-align: middle; }
.atelier-ledger .button--primary { background: #fffaf6; color: var(--berry-deep); justify-self: start; }

.feature-hero { background: #efd9d7; padding: clamp(1.2rem,3vw,3.3rem) clamp(1.2rem,5vw,5.5rem); position: relative; }
.feature-hero::before { background: repeating-linear-gradient(90deg,rgba(255,255,255,.48) 0 1px,transparent 1px 5rem); content: ""; inset: 0; pointer-events: none; position: absolute; }
.feature-hero__copy { box-shadow: 0 18px 34px rgba(120,56,80,.08); clip-path: polygon(0 2%,99% 0,100% 97%,1% 100%); }
.feature-hero__media { border: .65rem solid #fffaf6; box-shadow: 0 20px 36px rgba(101,52,66,.16); transform: rotate(1.1deg); }
.feature-hero__media::before { border: 0; color: #fffaf6; content: "✿"; font: 7rem/1 Georgia,serif; left: auto; opacity: .35; right: -1.4rem; top: -1.6rem; }
.feature-hero__note { transform: rotate(-1.5deg); }

.material-deck { background: #ecdad0; display: grid; gap: clamp(1.5rem,4vw,4rem); grid-template-columns: minmax(17rem,.85fr) minmax(15rem,.55fr) minmax(18rem,.75fr); min-height: 35rem; overflow: hidden; padding: clamp(4rem,8vw,8rem); position: relative; }
.material-deck::before { border: 1px solid rgba(139,75,94,.16); border-radius: 50%; content: ""; height: 35rem; left: -21rem; position: absolute; top: -20rem; width: 35rem; }
.material-deck__copy { align-self: center; }
.material-deck__copy h2 { font-size: clamp(3rem,5vw,5rem); letter-spacing: -.07em; line-height: .88; max-width: 7ch; }
.material-deck__copy p:not(.eyebrow) { color: var(--ink-soft); line-height: 1.7; max-width: 26rem; }
.material-deck__card { background: #fffdf9; box-shadow: 0 16px 30px rgba(96,55,59,.16); margin: 0; padding: .65rem .65rem 2.45rem; position: relative; }
.material-deck__card img { height: 100%; object-fit: cover; width: 100%; }
.material-deck__card figcaption { bottom: .8rem; color: var(--ink-soft); font: italic 1.25rem/1 "Playfair Display",serif; left: 1rem; position: absolute; }
.material-deck__card--one { height: 25rem; transform: rotate(-4deg); }
.material-deck__card--two { align-self: end; height: 19rem; transform: rotate(4deg); }
.material-deck__note { align-self: end; background: #fff5dc; color: var(--ink-soft); font: italic 1.1rem/1.55 "Playfair Display",serif; justify-self: end; margin: 0 -2.4rem 0 0; padding: 1.3rem; transform: rotate(3deg); width: 15rem; }
.material-deck__note span { color: var(--berry); font-style: normal; }

.collection-studio { background: #f6e5df; display: grid; gap: 0; grid-template-columns: minmax(18rem,.72fr) minmax(30rem,1.28fr) minmax(16rem,.55fr); min-height: 41rem; overflow: hidden; position: relative; }
.collection-studio::before { background: repeating-linear-gradient(90deg,rgba(141,73,97,.05) 0 1px,transparent 1px 4.5rem); content: ""; inset: 0; pointer-events: none; }
.collection-studio > * { position: relative; z-index: 1; }
.collection-studio__intro { align-content: center; display: grid; grid-column: 1; padding: clamp(2rem,5vw,5.5rem); }
.collection-studio__intro h2 { font-size: clamp(3rem,5vw,5.4rem); letter-spacing: -.07em; line-height: .86; max-width: 7ch; }
.collection-studio__intro p:not(.eyebrow) { color: var(--ink-soft); line-height: 1.7; max-width: 24rem; }
.studio-options { display: grid; gap: .55rem; margin: 1.6rem 0 2rem; }
.studio-option { align-items: center; background: rgba(255,253,249,.68); border: 1px solid rgba(154,74,100,.17); color: var(--ink); display: flex; font: 500 .68rem/1 "DM Mono",monospace; gap: .85rem; letter-spacing: .1em; padding: .85rem .95rem; text-align: left; text-transform: uppercase; transition: background .22s,transform .22s,border-color .22s; }
.studio-option span { color: var(--berry); font: 1.2rem/1 Georgia,serif; }
.studio-option:hover,.studio-option.is-active { background: #fffaf6; border-color: var(--berry); transform: translateX(.45rem); }
.collection-studio__visual { grid-column: 2; min-height: 38rem; overflow: hidden; position: relative; }
.collection-studio__visual::after { background: linear-gradient(90deg,rgba(255,244,237,.1),rgba(116,51,71,.2)); content: ""; inset: 0; pointer-events: none; position: absolute; }
.collection-studio__visual img { height: 100%; object-fit: cover; object-position: center; width: 100%; }
.studio-materials { bottom: 1.2rem; display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; left: 50%; max-width: calc(100% - 2rem); position: absolute; transform: translateX(-50%); width: max-content; z-index: 2; }
.studio-materials span { align-items: center; backdrop-filter: blur(10px); background: rgba(255,250,246,.91); border: 1px solid rgba(255,255,255,.9); box-shadow: 0 7px 20px rgba(79,37,48,.14); color: var(--ink); display: inline-flex; font: 500 .58rem/1 "DM Mono",monospace; gap: .42rem; letter-spacing: .08em; padding: .65rem .72rem; text-transform: uppercase; white-space: nowrap; }
.studio-materials i { color: var(--berry); font: 1rem/1 Georgia,serif; font-style: normal; }.studio-materials span:nth-child(2) i { color: #ae3449; font-size: .75rem; }.studio-materials span:nth-child(3) i { color: #704033; font-size: .85rem; }
.studio-recipe { align-content: center; background: rgba(255,250,246,.85); border-left: 1px solid rgba(154,74,100,.18); display: grid; grid-column: 3; padding: clamp(1.5rem,3vw,3rem); }
.studio-recipe h3 { font-size: clamp(2rem,3vw,3rem); letter-spacing: -.06em; margin: 0 0 1.2rem; }
.studio-recipe__summary { color: var(--ink-soft); line-height: 1.7; margin: 0 0 1.5rem; }
.studio-recipe .button { font-size: .62rem; padding: 0 .8rem; }

@media (min-width: 821px) {
  .collection-studio { height: clamp(38rem,52vw,44rem); min-height: 0; }
  .collection-studio__visual { height: 100%; min-height: 0; }
}

@media (max-width: 1100px) {
  .editorial-hero__paper { left: 8vw; max-width: 47vw; }
  .editorial-hero__sensory { right: 4vw; }
  .editorial-hero__note { right: 6vw; }
  .manifesto-band { grid-template-columns: auto 1fr 1fr; }
  .manifesto-band .button { grid-column: 2 / -1; justify-self: start; }
}

@media (max-width: 820px) {
  .editorial-hero { min-height: 57rem; }
  .editorial-hero__image { object-position: 63% center; }
  .editorial-hero__wash { background: linear-gradient(90deg,rgba(255,248,243,.97) 0%,rgba(255,245,240,.88) 60%,rgba(255,239,233,.26)); }
  .editorial-hero__paper { left: 10vw; max-width: 27rem; top: 54%; }
  .editorial-hero__sensory { display: none; }
  .editorial-hero__note { bottom: 4rem; max-width: 12rem; right: 8vw; }
  .editorial-hero__vertical { display: none; }
  .manifesto-band { grid-template-columns: auto 1fr; }
  .manifesto-band > p,.manifesto-band .button { grid-column: 2; }
  .scrapbook-section { grid-template-columns: 1fr; }
  .scrapbook-section__paper { max-width: 35rem; }
  .social-story { grid-template-columns: minmax(14rem,.7fr) 1fr; }
  .social-story__aside { grid-column: 1 / -1; grid-template-columns: 1fr 1.1fr 1fr; gap: 1.5rem; align-items: end; }
  .social-story__aside p:not(.eyebrow) { margin: 0; }
  .social-story__handle { margin: 0; }
  .atelier-ledger { grid-template-columns: 1fr; }
  .atelier-ledger__image { min-height: 22rem; }
  .collection-studio { grid-template-columns: 1fr 1fr; grid-template-rows: minmax(24rem,1fr) minmax(15rem,.62fr); min-height: 40rem; }
  .collection-studio__intro { grid-column: 1; grid-row: span 2; }
  .collection-studio__visual { grid-column: 2; }
  .studio-recipe { grid-column: 2; }
  .material-deck { grid-template-columns: 1fr 1fr; }
  .material-deck__copy { grid-column: 1 / -1; }
  .material-deck__note { margin-right: 0; }
}

@media (max-width: 560px) {
  .editorial-hero { min-height: 51rem; }
  .editorial-hero__image { object-position: 63% center; }
  .editorial-hero__wash { background: linear-gradient(180deg,rgba(255,248,243,.82),rgba(255,248,243,.98) 63%,rgba(255,244,239,.98)); }
  .editorial-hero__paper { left: 1.5rem; max-width: calc(100% - 3rem); padding-top: 4.2rem; top: 0; transform: none; }
  .editorial-hero__paper::before { inset: 2rem -1rem -1rem; }
  .editorial-hero h1 { font-size: clamp(3.9rem,17vw,5.7rem); }
  .editorial-hero .lead { font-size: .94rem; max-width: 21rem; }
  .editorial-hero .script-line { font-size: 1.95rem; }
  .editorial-hero__note { bottom: 1.6rem; max-width: 11rem; right: 1.8rem; }
  .editorial-hero__note::before { inset: -.8rem; }
  .editorial-hero__note p:not(.eyebrow) { display: none; }
  .editorial-hero__scroll { display: none; }
  .manifesto-band { gap: 1rem; grid-template-columns: 4.5rem 1fr; padding: 3rem 1.4rem; }
  .manifesto-band__flower { font-size: 4.5rem; }
  .manifesto-band h2 { font-size: 2.5rem; }
  .manifesto-band > p,.manifesto-band .button { grid-column: 1 / -1; }
  .scrapbook-section { min-height: 69rem; padding: 4rem 1.4rem; }
  .scrapbook-section__paper { padding: 2.3rem 2rem; }
  .scrapbook-collage { min-height: 31rem; }
  .scrapbook-card--one { height: 19rem; left: 0; width: 48%; }
  .scrapbook-card--two { height: 18rem; right: 0; width: 42%; }
  .scrapbook-card--three { bottom: 0; height: 13rem; right: 4%; width: 65%; }
  .scrapbook-card figcaption { font-size: 1.05rem; }
  .scrapbook-note { bottom: 1.2rem; font-size: .9rem; left: 0; padding: .75rem; width: 10.5rem; }
  .social-story { grid-template-columns: 1fr; }
  .social-story__portrait { min-height: 22rem; }
  .social-story__copy { padding: 3.5rem 1.4rem; }
  .social-story__aside { display: grid; grid-template-columns: 1fr; padding: 2.8rem 1.4rem; }
  .social-story__aside p:not(.eyebrow) { margin-top: 1rem; }
  .social-story__handle { margin-top: 1.3rem; }
  .social-follow { font-size: .6rem; }
  .atelier-ledger__copy { padding: 3.5rem 1.4rem; }
  .atelier-ledger ol { grid-template-columns: 1fr; }
  .collection-studio { gap: 1.25rem 0; grid-template-columns: 1fr; grid-template-rows: auto 25rem auto; min-height: 0; padding-block: 1.25rem; scroll-margin-top: 5.2rem; }
  .collection-studio__intro { grid-column: auto; grid-row: auto; padding: 3.5rem 1.4rem 4rem; }
  .collection-studio__visual { grid-column: auto; height: 25rem; min-height: 0; }
  .studio-options { margin: 2rem 0 2.6rem; }
  .studio-recipe { grid-column: auto; padding: 3rem 1.4rem; }
  .gallery-page .collection-card:nth-child(5) .collection-card__open { display: block; }
  .gallery-page .collection-card:nth-child(5) .collection-card__photo { aspect-ratio: 4/5; }
  .collection-interlude { grid-template-columns: 1fr; padding: 1.8rem 1.4rem; }
  .collection-interlude ul { grid-column: auto; }
  .studio-materials { bottom: .8rem; gap: .35rem; }
  .studio-materials span { font-size: .53rem; padding: .55rem .55rem; }
  .process-photo { height: 23rem; }
  .masonry-gallery { grid-template-columns: 1fr; }
  .feature-hero { padding: 0; }
  .feature-hero__media { border-width: .35rem; margin: 0 .8rem .8rem; transform: rotate(.6deg); }
  .material-deck { grid-template-columns: 1fr 1fr; padding: 4rem 1.4rem; }
  .material-deck__copy { grid-column: 1 / -1; }
  .material-deck__card--one { height: 17rem; }
  .material-deck__card--two { height: 14rem; }
  .material-deck__note { display: none; }
}

/* Catalog controls and deliberate visual rhythm */
.catalog-tools { background: linear-gradient(115deg,#f7d6dc,#fcebc6 52%,#d8eeee); display: grid; gap: 1.25rem 2rem; grid-template-columns: minmax(18rem,1fr) minmax(17rem,.8fr); overflow: hidden; padding: clamp(3rem,6vw,6rem) clamp(1.2rem,8vw,8rem); position: relative; }
.collection-hero { overflow: hidden; }
.catalog-tools::before { border: 1px solid rgba(159,70,99,.22); border-radius: 50%; content: ""; height: 22rem; position: absolute; right: -8rem; top: -11rem; width: 22rem; }
.catalog-tools > * { position: relative; z-index: 1; }
.catalog-tools h2 { font-size: clamp(3rem,5vw,5.4rem); letter-spacing: -.07em; line-height: .86; margin: 0 0 .8rem; }
.catalog-tools p:not(.eyebrow):not(.catalog-result) { color: var(--ink-soft); line-height: 1.65; margin-bottom: 0; max-width: 35rem; }
.catalog-search { align-items: center; align-self: end; background: rgba(255,253,249,.83); border: 1px solid rgba(159,70,99,.26); box-shadow: 0 12px 24px rgba(125,67,87,.1); display: flex; min-height: 3.7rem; padding: 0 1rem; }
.catalog-search__label { border-right: 1px solid rgba(159,70,99,.28); color: var(--berry-deep); font: 500 .62rem/1 "DM Mono",monospace; letter-spacing: .08em; margin-right: .8rem; padding-right: .8rem; text-transform: uppercase; white-space: nowrap; }
.catalog-search input { background: transparent; border: 0; color: var(--ink); flex: 1; min-width: 0; outline: none; }
.catalog-search input::placeholder { color: #9a7d84; }
.catalog-search b { color: var(--berry-deep); font: 1.7rem/1 Georgia,serif; }
.catalog-filters { display: flex; flex-wrap: wrap; gap: .55rem; grid-column: 1 / -1; }
.catalog-filters button { background: rgba(255,253,249,.64); border: 1px solid rgba(159,70,99,.22); border-radius: 999px; color: var(--ink); font: 500 .66rem/1 "DM Mono",monospace; letter-spacing: .07em; padding: .75rem .9rem; text-transform: uppercase; transition: background .2s,color .2s,transform .2s; }
.catalog-filters button:hover,.catalog-filters button.is-active { background: var(--berry-deep); color: #fff; transform: translateY(-2px); }
.catalog-result { color: var(--berry-deep); font: 500 .66rem/1 "DM Mono",monospace; grid-column: 1 / -1; letter-spacing: .12em; margin: .2rem 0 0; text-transform: uppercase; }
.collection-card.is-filtered-out { display: none; }

.manifesto-band { background: linear-gradient(105deg,#fffaf6,#f6e0d4); padding: clamp(2.6rem,4vw,4.3rem) clamp(1.5rem,8vw,8rem); }
.occasion-section { background: linear-gradient(135deg,#f7dfe1 0%,#fae5cc 48%,#e7f1e9 100%); padding-bottom: clamp(3.5rem,6vw,6rem); padding-top: clamp(3.5rem,6vw,6rem); }
.atelier-ledger { background: linear-gradient(105deg,#ead7cd,#fff8f3); color: var(--ink); min-height: 34rem; }
.atelier-ledger::after { border-color: rgba(159,70,99,.16); }
.atelier-ledger__image::after { background: linear-gradient(90deg,rgba(255,247,241,.08),rgba(118,63,72,.18)); }
.atelier-ledger .eyebrow { color: var(--berry-deep); }
.atelier-ledger h2 { font-size: clamp(2.8rem,4.5vw,4.8rem); line-height: .87; max-width: 9ch; }
.atelier-ledger__copy > p:not(.eyebrow) { color: var(--ink-soft); }
.atelier-ledger li { border-top-color: rgba(159,70,99,.22); }
.atelier-ledger li span { color: var(--berry); }
.atelier-ledger .button--primary { background: var(--berry-deep); color: #fffaf6; }
.quote-break { background: #fbf0e9; display: grid; grid-template-columns: minmax(23rem,1.36fr) minmax(14rem,.64fr); min-height: 19rem; }
.quote-break__image { grid-column: 2; grid-row: 1; min-height: 19rem; overflow: hidden; }
.quote-break__image img { height: 100%; object-fit: cover; width: 100%; }
.quote-break__copy { align-content: center; display: grid; grid-column: 1; grid-row: 1; max-width: 44rem; padding: clamp(3rem,6vw,6rem); }
.quote-break blockquote { color: var(--ink); font: 600 clamp(2rem,3.6vw,3.8rem)/.98 "Playfair Display",serif; letter-spacing: -.055em; margin: .3rem 0 1rem; max-width: 16ch; }
.quote-break__copy > p:not(.eyebrow) { color: var(--ink-soft); line-height: 1.7; margin: 0; max-width: 34rem; }
.footer-buffer { background: #fff8f3; display: grid; grid-template-columns: minmax(24rem,1.58fr) minmax(12rem,.42fr); min-height: 13rem; overflow: hidden; }
.footer-buffer__image { grid-column: 2; grid-row: 1; overflow: hidden; }
.footer-buffer__image img { height: 100%; object-fit: cover; width: 100%; }
.footer-buffer__copy { align-content: center; display: grid; grid-column: 1; grid-row: 1; padding: clamp(2rem,5vw,4.5rem); }
.footer-buffer__copy > p:not(.eyebrow) { color: var(--ink); font: 600 clamp(1.75rem,3.1vw,3.15rem)/1.03 "Playfair Display",serif; letter-spacing: -.045em; margin: .25rem 0 0; max-width: 18ch; }
.theme-collection { background: linear-gradient(135deg,#2f2630,#65404a 52%,#a85e66); color: #fffaf7; overflow: hidden; position: relative; }
.theme-collection::before { background: radial-gradient(circle at 10% 15%,rgba(244,201,102,.22) 0 7%,transparent 7.4%),radial-gradient(circle at 94% 88%,rgba(255,255,255,.1) 0 12%,transparent 12.4%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.theme-collection > * { position: relative; z-index: 1; }
.theme-collection .eyebrow { color: #ffd477; }
.theme-collection .section-head h2 { color: #fffaf7; }
.theme-collection .section-head > p { color: #fae8df; }
.theme-collection .collection-card { box-shadow: 0 15px 28px rgba(0,0,0,.18); }

.catalog-results { background: #fffaf6; padding: clamp(3rem,6vw,6rem) clamp(1.2rem,8vw,8rem); }
.catalog-results__head { align-items: end; border-bottom: 1px solid rgba(159,70,99,.2); display: grid; gap: .7rem 1.4rem; grid-template-columns: 1fr auto; margin-bottom: clamp(1.8rem,3vw,3rem); padding-bottom: 1.25rem; }
.catalog-results__head .eyebrow { grid-column: 1 / -1; margin: 0; }
.catalog-results__head h2 { font-size: clamp(2rem,3.4vw,3.5rem); letter-spacing: -.055em; line-height: .95; margin: 0; }
.catalog-results__head button { background: transparent; border: 0; border-bottom: 1px solid var(--berry); color: var(--berry-deep); cursor: pointer; font: 500 .65rem/1.2 "DM Mono",monospace; letter-spacing: .07em; padding: .55rem 0; text-transform: uppercase; }
.catalog-results__head button span { font-size: 1rem; margin-left: .3rem; }
.catalog-results__grid { align-items: start; display: grid; gap: clamp(.85rem,1.4vw,1.25rem); grid-template-columns: repeat(4,minmax(0,1fr)); max-width: 78rem; }
.catalog-results__grid .collection-card { grid-column: auto; margin: 0; width: 100%; }
.catalog-results__grid .collection-card__photo { aspect-ratio: 1/1.12; }
.catalog-results__grid .collection-card__photo img { height: 100%; object-fit: cover; width: 100%; }
.catalog-results__grid .collection-card__body { padding: .95rem 1rem 1.1rem; }
.catalog-results__grid .collection-card__body h2 { font-size: clamp(1.4rem,2.15vw,2rem); margin: .45rem 0; }
.catalog-results__grid .collection-card__body p { font-size: .88rem; line-height: 1.5; }
.catalog-results__grid .collection-card__open { position: relative; }
.catalog-results__grid .collection-card__open::after { align-items: center; background: rgba(255,250,246,.94); border: 1px solid rgba(159,70,99,.24); bottom: .7rem; color: var(--berry-deep); content: "⌕  Bekijk detail"; display: inline-flex; font: 500 .56rem/1 "DM Mono",monospace; gap: .3rem; letter-spacing: .05em; opacity: 0; padding: .48rem .58rem; position: absolute; right: .7rem; text-transform: uppercase; transform: translateY(.3rem); transition: opacity .2s ease,transform .2s ease; }
.catalog-results__grid .collection-card__open:hover::after,.catalog-results__grid .collection-card__open:focus-visible::after { opacity: 1; transform: translateY(0); }

@media (max-width: 1080px) { .catalog-results__grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }

@media (max-width: 680px) {
  .catalog-tools { grid-template-columns: 1fr; }
  .catalog-search { grid-column: 1; }
  .catalog-search__label { margin-right: .6rem; padding-right: .6rem; }
  .catalog-results__head { grid-template-columns: 1fr; }
  .catalog-results__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .quote-break,.footer-buffer { grid-template-columns: 1fr; }
  .quote-break__image,.quote-break__copy,.footer-buffer__image,.footer-buffer__copy { grid-column: 1; grid-row: auto; }
  .quote-break__image { min-height: 15rem; }
  .quote-break__copy { padding: 3rem 1.4rem; }
  .footer-buffer__image { height: 10rem; }
  .footer-buffer__copy { padding: 2.5rem 1.4rem; }
}

/* The gallery is an editorial social feed, deliberately distinct from the catalog. */
.gallery-page main > .section--paper { display: none; }
.gallery-social-feed { background: #f7e4dc; display: grid; gap: clamp(2rem,6vw,7rem); grid-template-columns: minmax(17rem,.54fr) minmax(28rem,1.46fr); padding: clamp(3.5rem,8vw,8rem) clamp(1.2rem,8vw,8rem); position: relative; }
.gallery-social-feed::before { background: repeating-linear-gradient(90deg,rgba(159,70,99,.06) 0 1px,transparent 1px 6rem); content: ""; inset: 0; pointer-events: none; }
.gallery-social-feed > * { position: relative; z-index: 1; }
.gallery-social-feed__intro { align-self: start; grid-column: 1; grid-row: 1; position: sticky; top: 8rem; }
.gallery-social-feed__intro h2 { font-size: clamp(3.5rem,5.5vw,6.2rem); letter-spacing: -.08em; line-height: .8; margin: 0 0 1.35rem; max-width: 6ch; }
.gallery-social-feed__intro p:not(.eyebrow) { color: var(--ink-soft); line-height: 1.7; max-width: 24rem; }
.gallery-feed-grid { align-self: start; display: grid; gap: clamp(.75rem,1.5vw,1.35rem); grid-column: 2; grid-row: 1; grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; }
.gallery-feed-tile { background: #fffaf7; border: 0; box-shadow: 0 12px 26px rgba(110,55,72,.12); min-height: 12rem; overflow: hidden; padding: 0; position: relative; text-align: left; }
.gallery-feed-tile img { height: 100%; object-fit: cover; transition: transform .5s ease; width: 100%; }
.gallery-feed-tile::after { background: linear-gradient(0deg,rgba(51,27,37,.7),transparent 54%); content: ""; inset: 0; opacity: 0; pointer-events: none; position: absolute; transition: opacity .25s ease; }
.gallery-feed-tile span { bottom: 0; color: #fff; display: flex; font: 500 .62rem/1 "DM Mono",monospace; justify-content: space-between; left: 0; letter-spacing: .08em; opacity: 0; padding: 1rem; position: absolute; right: 0; text-transform: uppercase; transform: translateY(.4rem); transition: opacity .25s ease,transform .25s ease; z-index: 1; }
.gallery-feed-tile span i { font-style: normal; }
.gallery-feed-tile:hover img,.gallery-feed-tile:focus-visible img { transform: scale(1.04); }
.gallery-feed-tile:hover::after,.gallery-feed-tile:focus-visible::after,.gallery-feed-tile:hover span,.gallery-feed-tile:focus-visible span { opacity: 1; transform: translateY(0); }
.gallery-feed-tile--feature { grid-row: span 2; min-height: 34rem; }
.gallery-feed-tile--wide { grid-column: span 2; min-height: 18rem; }
.gallery-feed-tile:not(.gallery-feed-tile--feature):not(.gallery-feed-tile--wide) { aspect-ratio: 1/1.15; }
@media (max-width: 820px) {
  .gallery-social-feed { grid-template-columns: 1fr; }
  .gallery-social-feed__intro,.gallery-feed-grid { grid-column: 1; grid-row: auto; position: static; }
}
@media (max-width: 560px) {
  .gallery-social-feed { padding: 3.5rem 1.4rem; }
  .gallery-feed-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gallery-feed-tile--feature { grid-row: span 2; min-height: 28rem; }
  .gallery-feed-tile--wide { grid-column: span 2; min-height: 15rem; }
  .gallery-feed-tile span { opacity: 1; transform: none; }
  .gallery-feed-tile::after { opacity: 1; }
}

/* Arax editorial refinement — richer botanical language, depth and small patisserie */
.occasion-grid article::after,
.collection-intro::before,
.feature-hero__copy::after,
.feature-hero__media::before,
.site-footer::before {
  border: 0;
  color: transparent;
  content: "";
  pointer-events: none;
}

.occasion-grid article::after { background: url("assets/ornament-poppy-v1.webp") center/contain no-repeat; height: 7.5rem; opacity: .3; right: -.4rem; top: -.45rem; width: 8.2rem; }
.occasion-grid article:nth-child(2)::after { background-image: url("assets/ornament-berries-v1.webp"); opacity: .34; }
.occasion-grid article:nth-child(3)::after { background-image: url("assets/ornament-chocolate-v1.webp"); opacity: .3; }
.occasion-grid .occasion-icon {
  align-items: center;
  background: rgba(178,70,103,.09);
  border: 1px solid rgba(178,70,103,.28);
  border-radius: 50%;
  color: #a74264;
  display: flex;
  font: 1.55rem/1 Georgia,serif;
  height: 3.15rem;
  justify-content: center;
  right: 1.15rem;
  top: 1.05rem;
  width: 3.15rem;
  z-index: 2;
}
.occasion-grid article:nth-child(2) .occasion-icon { background: rgba(232,153,80,.11); border-color: rgba(205,136,67,.34); }
.occasion-grid article:nth-child(3) .occasion-icon { background: rgba(93,149,110,.11); border-color: rgba(93,149,110,.34); }
.collection-intro::before { background: url("assets/ornament-corner-top-left-v1.webp") center/contain no-repeat; height: 10rem; left: -4rem; opacity: .24; top: -5.4rem; width: 14rem; }

.note-star,
.manifesto-band__flower,
.scrapbook-section__doodle,
.social-story__portrait > span,
.hero-ribbon b,
.collection-interlude li:first-child span,
.studio-option:first-child span,
.studio-materials span:first-child i {
  color: transparent !important;
  display: inline-block;
  font-size: 0 !important;
  overflow: hidden;
}
.process-detail__copy li:nth-child(3) span { background: url("assets/ornament-chocolate-v1.webp") center/contain no-repeat; color: transparent; display: inline-block; font-size: 0; height: 1.5rem; margin-right: .6rem; vertical-align: middle; width: 2.5rem; }
.note-star { background: url("assets/ornament-poppy-v1.webp") center/contain no-repeat; height: 4.4rem; left: -4.2rem; top: -1.9rem; width: 5.2rem; }
.manifesto-band__flower { background: url("assets/ornament-poppy-v1.webp") center/contain no-repeat; height: clamp(6rem,9vw,10rem); min-width: clamp(7rem,11vw,12rem); }
.scrapbook-section__doodle { background: url("assets/ornament-floating-petals-v1.webp") center/contain no-repeat; bottom: -2.8rem; height: 9rem; right: -2.4rem; width: 14rem; }
.social-story__portrait > span { background: url("assets/ornament-poppy-v1.webp") center/contain no-repeat; bottom: .4rem; height: 7.5rem; right: .5rem; width: 8.5rem; }
.hero-ribbon b { background: url("assets/ornament-berries-v1.webp") center/contain no-repeat; height: 1.65rem; width: 2.7rem; }
.collection-interlude li:first-child span,
.studio-option:first-child span,
.studio-materials span:first-child i { background: url("assets/ornament-poppy-v1.webp") center/contain no-repeat; height: 1.35rem; flex: 0 0 2rem; width: 2rem; }

.editorial-hero__paper > * { position: relative; z-index: 1; }
.editorial-hero__paper::after {
  background: url("assets/ornament-floating-petals-v1.webp") center/contain no-repeat;
  content: "";
  height: 15rem;
  opacity: .2;
  pointer-events: none;
  position: absolute;
  right: -4rem;
  top: -3rem;
  transform: rotate(-5deg);
  width: 23rem;
}
.editorial-hero__wash {
  background:
    radial-gradient(ellipse at 13% 50%,rgba(255,250,246,.98) 0 12%,rgba(255,244,239,.84) 29%,rgba(255,237,231,.2) 42%,transparent 51%),
    linear-gradient(90deg,rgba(255,248,243,.91) 0%,rgba(255,244,239,.57) 29%,rgba(255,237,231,.1) 45%,transparent 56%);
}
.editorial-hero__note::before { background: linear-gradient(145deg,rgba(255,253,249,.95),rgba(250,232,230,.88)); border-color: rgba(255,255,255,.9); }

.feature-hero {
  background:
    radial-gradient(circle at 11% 7%,rgba(255,255,255,.78) 0 5%,transparent 17%),
    linear-gradient(128deg,#ecd5d1 0%,#f2dadd 47%,#dfb6c2 100%);
  gap: clamp(.6rem,1.5vw,1.2rem);
  min-height: clamp(34rem,44vw,43rem);
}
.feature-hero__copy {
  background: linear-gradient(145deg,rgba(255,250,246,.98),rgba(249,224,228,.92));
  clip-path: polygon(0 2%,98.5% 0,100% 96.5%,1% 100%);
  overflow: hidden;
}
.feature-hero__copy::after { background: url("assets/ornament-corner-top-left-v1.webp") center/contain no-repeat; height: 17rem; opacity: .16; right: -4.5rem; top: -3rem; transform: rotate(4deg); width: 22rem; }
.feature-hero__media { border-width: .75rem; transform: rotate(.7deg); }
.feature-hero__media::before { background: url("assets/ornament-floating-petals-v1.webp") center/contain no-repeat; height: 12rem; left: -2rem; opacity: .18; right: auto; top: -2.5rem; width: 18rem; z-index: 2; }
.about-page .feature-hero__copy::after { background-image: url("assets/ornament-poppy-v1.webp"); height: 16rem; opacity: .13; right: -2rem; top: -1rem; width: 16rem; }
.process-page .feature-hero__copy::after { background-image: url("assets/ornament-berries-v1.webp"); height: 15rem; opacity: .15; right: -1rem; top: -2rem; width: 20rem; }
.contact-page .feature-hero__copy::after { background-image: url("assets/ornament-cake-texture-corner-v1.webp"); height: 18rem; opacity: .13; right: -3rem; top: -2rem; width: 25rem; }
.feature-hero__media::after { background: linear-gradient(115deg,rgba(255,248,241,.16),transparent 42%,rgba(111,45,64,.14)); content: ""; inset: 0; pointer-events: none; position: absolute; z-index: 1; }

.petite-callout {
  background: linear-gradient(112deg,#fffaf6 0%,#f7dfdf 44%,#eab7c5 100%);
  display: grid;
  grid-template-columns: minmax(24rem,1.15fr) minmax(20rem,.85fr);
  min-height: 30rem;
  overflow: hidden;
  position: relative;
}
.petite-callout::after { background: url("assets/ornament-buttercream-line-v1.webp") center/contain no-repeat; content: ""; height: 8rem; opacity: .32; position: absolute; right: -2rem; top: -.8rem; transform: rotate(-3deg); width: 25rem; }
.petite-callout__image { grid-column: 1; min-height: 30rem; overflow: hidden; position: relative; }
.petite-callout__image::after { background: linear-gradient(90deg,transparent 68%,#f3d1d6 100%); content: ""; inset: 0; position: absolute; }
.petite-callout__image img { height: 100%; object-fit: cover; width: 100%; }
.petite-callout__copy { align-content: center; display: grid; padding: clamp(3rem,6vw,6rem); position: relative; z-index: 1; }
.petite-callout__copy h2 { font-size: clamp(2.8rem,4.5vw,4.8rem); letter-spacing: -.065em; line-height: .9; margin: 0 0 1.2rem; max-width: 9ch; }
.petite-callout__copy > p:not(.eyebrow) { color: var(--ink-soft); line-height: 1.7; max-width: 30rem; }
.petite-callout__copy .text-link { justify-self: start; margin-top: .8rem; }

.small-sweets {
  background:
    radial-gradient(circle at 92% 4%,rgba(244,201,102,.28) 0 6%,transparent 19%),
    linear-gradient(135deg,#f7e4df 0%,#fff8f1 49%,#e8efe7 100%);
  overflow: hidden;
  padding: clamp(4.5rem,8vw,8rem) clamp(1.2rem,8vw,8rem);
  position: relative;
}
.small-sweets::before { background: url("assets/ornament-cake-texture-corner-v1.webp") right top/contain no-repeat; content: ""; height: 22rem; opacity: .16; position: absolute; right: -3rem; top: -5rem; width: 30rem; }
.small-sweets > * { position: relative; z-index: 1; }
.small-sweets__head { align-items: end; display: grid; gap: 2rem 6rem; grid-template-columns: minmax(20rem,.85fr) minmax(20rem,1.15fr); margin-bottom: clamp(2.5rem,5vw,4.5rem); }
.small-sweets__head h2 { font-size: clamp(3rem,5vw,5.4rem); letter-spacing: -.07em; line-height: .88; margin: 0; max-width: 10ch; }
.small-sweets__head > p { color: var(--ink-soft); line-height: 1.75; margin: 0; max-width: 38rem; }
.small-sweets-grid { align-items: start; display: grid; gap: clamp(1rem,2vw,1.6rem); grid-template-columns: repeat(12,minmax(0,1fr)); }
.small-sweets-grid .collection-card { grid-column: span 6; margin: 0; width: 100%; }
.small-sweets-grid .collection-card:nth-child(1),.small-sweets-grid .collection-card:nth-child(4) { grid-column: span 7; }
.small-sweets-grid .collection-card:nth-child(2),.small-sweets-grid .collection-card:nth-child(3) { grid-column: span 5; }
.small-sweets-grid .collection-card__photo { aspect-ratio: 3/2; }
.small-sweets-grid .collection-card__body { min-height: 10.5rem; }

.footer-buffer {
  background: linear-gradient(105deg,#fffaf6 0%,#fae8e5 50%,#e7bbc6 100%);
  display: grid;
  grid-template-columns: 1fr;
  min-height: clamp(18rem,24vw,23rem);
  overflow: hidden;
  position: relative;
}
.footer-buffer::after { background: url("assets/ornament-divider-botanical-v1.webp") center/contain no-repeat; bottom: -2rem; content: ""; height: 8rem; left: 28%; opacity: .2; position: absolute; width: 32rem; }
.footer-buffer__image { grid-column: 1; grid-row: 1; height: 100%; justify-self: end; overflow: hidden; position: absolute; right: 0; top: 0; width: min(64rem,62%); }
.footer-buffer__image::before { background: linear-gradient(90deg,#fffaf6 0%,rgba(255,250,246,.94) 12%,rgba(255,250,246,.25) 48%,transparent 72%),linear-gradient(0deg,rgba(126,52,77,.1),transparent 45%); content: ""; inset: 0; position: absolute; z-index: 1; }
.footer-buffer__image img { height: 100%; object-fit: cover; object-position: center 46%; width: 100%; }
.footer-buffer__copy { align-content: center; display: grid; grid-column: 1; grid-row: 1; max-width: 52rem; padding: clamp(3rem,6vw,6rem) clamp(1.4rem,8vw,8rem); position: relative; z-index: 2; }
.footer-buffer__copy > p:not(.eyebrow):not(.footer-buffer__detail) { font-size: clamp(2.3rem,4vw,4.35rem); line-height: .93; max-width: 13ch; }
.footer-buffer__detail { color: var(--ink-soft); font: 400 .96rem/1.65 "DM Sans",system-ui,sans-serif !important; letter-spacing: normal; margin: .7rem 0 1.25rem; max-width: 31rem; }
.footer-buffer__copy > a { border-bottom: 1px solid var(--berry-deep); color: var(--berry-deep); font: 600 .65rem/1.3 "DM Mono",monospace; justify-self: start; letter-spacing: .08em; padding-bottom: .35rem; text-transform: uppercase; }

.site-footer {
  background:
    radial-gradient(ellipse 64rem 17rem at 10% -2%,#fffaf6 0%,#fff8f4 36%,#f8dfe2 61%,rgba(234,142,168,.38) 82%,transparent 100%),
    linear-gradient(128deg,#e89ab0 0%,#c35b7d 48%,#783650 100%);
  grid-template-columns: minmax(15rem,1.18fr) minmax(11rem,.72fr) minmax(11rem,.72fr);
  padding-top: clamp(2.2rem,4vw,3.5rem);
}
.site-footer::after { background: linear-gradient(90deg,rgba(255,255,255,.16),transparent 62%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.site-footer::before { background: url("assets/ornament-corner-bottom-right-v1.webp") right bottom/contain no-repeat; bottom: -2rem; height: clamp(18rem,26vw,27rem); opacity: .24; right: -2rem; top: auto; width: clamp(23rem,38vw,40rem); }
.site-footer > * { z-index: 2; }
.footer-brand { color: var(--ink); grid-template-columns: minmax(14rem,18rem) minmax(14rem,22rem) 1fr; margin-bottom: clamp(3.4rem,5vw,5rem); max-width: none; }
.footer-brand::after { background: linear-gradient(90deg,rgba(116,56,76,.3),transparent); content: ""; grid-column: 3; height: 1px; }
.footer-brand__logo { filter: none; height: clamp(5.5rem,7vw,6.8rem); }
.footer-brand__word { border-left-color: rgba(112,55,74,.28); }
.footer-brand__word strong { color: #6f3650; }
.footer-brand__word small { color: #795867; }

/* Visual polish: detailed process cards and a full-width pricing rhythm. */
.steps { gap: clamp(.8rem,1.4vw,1.2rem); }
.steps article {
  background: linear-gradient(155deg,rgba(255,253,250,.96),rgba(250,229,232,.82));
  border-color: rgba(174,70,101,.22);
  box-shadow: 0 18px 38px rgba(137,57,81,.09);
  display: flex;
  flex-direction: column;
  min-height: 21rem;
  overflow: hidden;
  padding: 1.55rem;
  position: relative;
}
.steps article:nth-child(2) { background: linear-gradient(155deg,#fffaf3,#faefd0); }
.steps article:nth-child(3) { background: linear-gradient(155deg,#fffaf7,#ebf2e9); }
.steps article:nth-child(4) { background: linear-gradient(155deg,#fffaf7,#f2dce2); }
.steps article::after {
  background: url("assets/ornament-corner-top-left-v1.webp") center/contain no-repeat;
  content: "";
  height: 6rem;
  opacity: .2;
  position: absolute;
  right: -1.4rem;
  top: -.9rem;
  transform: rotate(-8deg);
  width: 10.5rem;
}
.steps article:nth-child(2)::after { background-image: url("assets/ornament-berries-v1.webp"); transform: rotate(5deg); }
.steps article:nth-child(3)::after { background-image: url("assets/ornament-chocolate-v1.webp"); transform: rotate(-5deg); }
.steps article:nth-child(4)::after { background-image: url("assets/ornament-buttercream-line-v1.webp"); height: 5rem; right: -.6rem; top: -.4rem; transform: rotate(3deg); width: 11rem; }
.steps article::before { border: 1px solid rgba(174,70,101,.32); border-radius: 50%; display: grid; height: 2.55rem; place-items: center; position: relative; width: 2.55rem; z-index: 1; }
.steps h2 { margin: 1.4rem 0 .7rem; position: relative; z-index: 1; }
.steps p { margin-bottom: 1.3rem; position: relative; z-index: 1; }
.step-kicker { color: var(--berry-deep); font: 500 .56rem/1.3 "DM Mono",monospace; letter-spacing: .1em; margin-top: .85rem; position: relative; text-transform: uppercase; z-index: 1; }
.step-detail { border-top: 1px solid rgba(174,70,101,.2); color: #795867; font: 500 .58rem/1.45 "DM Mono",monospace; letter-spacing: .055em; margin-top: auto; padding-top: .9rem; position: relative; text-transform: uppercase; z-index: 1; }

.contact-grid { row-gap: clamp(2.2rem,4vw,4rem); }
.contact-intro { align-self: start; }
.price-guide {
  background: linear-gradient(128deg,rgba(255,252,248,.94),rgba(250,226,231,.82));
  border-left-width: 4px;
  display: grid;
  gap: clamp(1.2rem,2.4vw,2.5rem);
  grid-column: 1 / -1;
  grid-template-columns: minmax(12rem,.75fr) minmax(15rem,1fr) minmax(23rem,1.5fr);
  margin-top: 0;
  max-width: none;
  overflow: hidden;
  padding: clamp(1.5rem,3vw,2.4rem);
  position: relative;
}
.price-guide::after { background: url("assets/ornament-cake-texture-corner-v1.webp") right top/contain no-repeat; content: ""; height: 11rem; opacity: .14; position: absolute; right: 0; top: -2.6rem; width: 16rem; }

/* The supplied decorative set is composed as a system, with a different role per format. */
.collection-interlude { overflow: hidden; position: relative; }
.collection-interlude::before {
  background: url("assets/ornament-divider-botanical-v1.webp") center/contain no-repeat;
  bottom: -2.8rem;
  content: "";
  height: 7rem;
  left: 23%;
  opacity: .11;
  pointer-events: none;
  position: absolute;
  width: 38rem;
}
.collection-interlude > * { position: relative; z-index: 1; }
.collection-studio::after {
  background: url("assets/ornament-vertical-border-v1.webp") center/contain no-repeat;
  content: "";
  height: min(34rem,72%);
  left: -2.3rem;
  opacity: .14;
  pointer-events: none;
  position: absolute;
  top: 15%;
  width: 9rem;
  z-index: 1;
}
.collection-studio > * { position: relative; z-index: 2; }
.gallery-social-feed::after {
  background: url("assets/ornament-vertical-border-v1.webp") center/contain no-repeat;
  bottom: 2rem;
  content: "";
  height: min(32rem,58%);
  left: -2rem;
  opacity: .16;
  pointer-events: none;
  position: absolute;
  width: 10rem;
  z-index: 0;
}
.price-guide__intro,.price-guide__explanation,.price-guide__levels { position: relative; z-index: 1; }
.price-guide__lead { margin-bottom: 0; }
.price-guide__explanation { align-self: start; margin: 1.45rem 0 0; }
.price-guide__levels { margin: 0; }
.price-guide__levels div { grid-template-columns: minmax(5.5rem,.7fr) minmax(11rem,1.3fr); }
.price-guide__note { grid-column: 1 / -1; margin: -.5rem 0 0; position: relative; z-index: 1; }

@media (max-width: 900px) {
  .petite-callout { grid-template-columns: 1fr; }
  .petite-callout__image,.petite-callout__copy { grid-column: 1; }
  .petite-callout__image { min-height: 24rem; }
  .petite-callout__copy { padding: 3.5rem 1.4rem; }
  .small-sweets__head { grid-template-columns: 1fr; }
  .site-footer { grid-template-columns: 1fr; }
  .footer-brand { grid-template-columns: minmax(10rem,15rem) minmax(13rem,1fr); }
  .footer-brand::after { display: none; }
  .price-guide { grid-template-columns: 1fr 1fr; }
  .price-guide__levels { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .feature-hero { gap: 0; min-height: 0; }
  .feature-hero__copy { clip-path: none; }
  .feature-hero__media { transform: none; }
  .petite-callout__image { min-height: 19rem; }
  .small-sweets { padding: 4rem 1.4rem; }
  .small-sweets-grid { grid-template-columns: 1fr; }
  .small-sweets-grid .collection-card:nth-child(n) { grid-column: auto; }
  .small-sweets-grid .collection-card__body { min-height: 0; }
  .footer-buffer { grid-template-columns: 1fr; }
  .footer-buffer__image { grid-column: 1; grid-row: 1; height: 15rem; position: relative; width: 100%; }
  .footer-buffer__image::before { background: linear-gradient(0deg,#fffaf6 0%,rgba(255,250,246,.2) 42%,transparent 70%); }
  .footer-buffer__copy { grid-column: 1; grid-row: 2; padding: 2.8rem 1.4rem 3.2rem; }
  .footer-buffer__detail { font-size: .9rem; }
  .site-footer { background: linear-gradient(155deg,#fffaf6 0 8rem,#f7dadd 12rem,#d6728f 22rem,#8b3d5a 100%); }
  .footer-brand { gap: 1rem; grid-template-columns: 1fr; }
  .footer-brand__logo { height: 5.6rem; max-width: 18rem; }
  .footer-brand__word { border-left: 0; border-top: 1px solid rgba(112,55,74,.25); max-width: 20rem; padding: 1rem 0 0; }
  .site-footer::before { bottom: -1rem; height: 15rem; opacity: .16; right: -5rem; top: auto; width: 22rem; }
  .price-guide { gap: 1.2rem; grid-template-columns: 1fr; }
  .price-guide__levels,.price-guide__note { grid-column: 1; }
  .editorial-hero__paper::after { height: 10rem; opacity: .12; right: -5rem; top: -2rem; width: 16rem; }
  .occasion-grid article::after { height: 6.6rem; opacity: .24; width: 7rem; }
  .collection-interlude::before { bottom: -1.6rem; height: 5rem; left: 18%; opacity: .09; width: 23rem; }
  .collection-studio::after { height: 18rem; left: -3.3rem; opacity: .1; top: 4rem; width: 7rem; }
  .gallery-social-feed::after { display: none; }
  .petite-callout::after { height: 5.5rem; opacity: .22; right: -4rem; top: -.4rem; width: 18rem; }
  .small-sweets::before { height: 15rem; opacity: .1; right: -5rem; top: -2rem; width: 21rem; }
  .footer-buffer::after { bottom: -1rem; height: 5rem; left: -4rem; opacity: .13; width: 22rem; }
  .price-guide::after { height: 8rem; opacity: .1; right: -2rem; top: -1rem; width: 11rem; }
}

/* Icon balance — one purposeful visual per component, never over photography. */
.note-star,
.social-story__portrait > span,
.feature-hero__media::before { display: none; }

.occasion-grid article::after,
.petite-callout::after,
.footer-buffer::after { content: none; }

.occasion-grid .occasion-icon {
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  border: 0;
  border-radius: 0;
  height: 4.8rem;
  opacity: .78;
  right: 1.2rem;
  top: .85rem;
  width: 4.8rem;
}
.occasion-grid .occasion-icon--birthday { background-image: url("assets/icon-verjaardag-v1.webp"); }
.occasion-grid article:nth-child(2) .occasion-icon--family { background: url("assets/icon-samenkomen-v1.webp") center/contain no-repeat; }
.occasion-grid article:nth-child(3) .occasion-icon--signature { background: url("assets/icon-handtekening-v1.webp") center/contain no-repeat; }
.occasion-grid article:nth-child(1)::after,
.occasion-grid article:nth-child(2)::after,
.occasion-grid article:nth-child(3)::after { background: none; content: none; }
.occasion-grid h3 { margin-top: 4.2rem; }

.steps article::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  height: 5.25rem;
  opacity: .52;
  right: .9rem;
  top: .7rem;
  transform: none;
  width: 5.25rem;
}
.steps article:nth-child(1)::after { background-image: url("assets/icon-luisteren-v1.webp"); }
.steps article:nth-child(2)::after { background-image: url("assets/icon-schetsen-v1.webp"); transform: none; }
.steps article:nth-child(3)::after { background-image: url("assets/icon-proeven-v1.webp"); transform: none; }
.steps article:nth-child(4)::after { background-image: url("assets/icon-afwerken-v1.webp"); height: 5.25rem; right: .9rem; top: .7rem; transform: none; width: 5.25rem; }
.steps h2 { margin-top: 2rem; }

.process-detail__copy li {
  align-items: center;
  display: flex;
  gap: .7rem;
  min-height: 2.6rem;
}
.process-detail__copy li .material-icon {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  flex: 0 0 2.6rem;
  height: 2.6rem;
  margin: 0;
  width: 2.6rem;
}
.process-detail__copy li .material-icon--chocolate { background-image: url("assets/icon-chocolade-v1.webp"); }
.process-detail__copy li .material-icon--berries { background-image: url("assets/icon-bessen-v1.webp"); }
.process-detail__copy li:nth-child(3) .material-icon--flower { background: url("assets/icon-bloem-v1.webp") center/contain no-repeat; }

.about-page .feature-hero__copy::after {
  background-image: url("assets/icon-aandacht-v1.webp");
  height: 13rem;
  opacity: .11;
  right: 1rem;
  top: 1rem;
  width: 13rem;
}
.process-page .feature-hero__copy::after {
  background-image: url("assets/icon-luisteren-v1.webp");
  height: 13rem;
  opacity: .1;
  right: 1rem;
  top: 1rem;
  width: 13rem;
}
.contact-page .feature-hero__copy::after {
  background-image: url("assets/icon-contact-email-v1.webp");
  height: 13rem;
  opacity: .1;
  right: 1rem;
  top: 1rem;
  width: 13rem;
}

.conviction-section__icon {
  background: url("assets/icon-ambacht-v1.webp") center/contain no-repeat;
  display: block;
  height: 8.5rem;
  margin: 2.2rem auto 0;
  opacity: .62;
  width: 8.5rem;
}

.petite-callout__divider {
  background: url("assets/ornament-buttercream-line-v1.webp") center/contain no-repeat;
  display: block;
  height: 3.8rem;
  justify-self: center;
  margin: .8rem 0 .15rem;
  opacity: .38;
  width: min(18rem,100%);
}

.footer-buffer__motif {
  background: url("assets/ornament-divider-botanical-v1.webp") center/contain no-repeat;
  display: block;
  height: 3.4rem;
  justify-self: center;
  margin: .35rem 0 .55rem;
  opacity: .28;
  width: min(16rem,100%);
}

.section--ink .story-split h2 { color: #fffaf8; }
.section--ink .story-split p:not(.eyebrow) { color: #fff3ef; }
.section--ink .story-split .button--primary {
  background: #74334e;
  box-shadow: 0 12px 24px rgba(89,31,54,.2);
  color: #fffaf8;
}

@media (max-width: 680px) {
  .occasion-grid .occasion-icon { height: 4.25rem; width: 4.25rem; }
  .occasion-grid h3 { margin-top: 3.8rem; }
  .steps article::after { height: 4.6rem; opacity: .48; width: 4.6rem; }
  .conviction-section__icon { height: 7rem; margin-left: 0; width: 7rem; }
  .petite-callout__divider { justify-self: start; width: min(15rem,100%); }
  .footer-buffer__motif { justify-self: start; width: min(14rem,100%); }
}
