/* Product collections and traceability — campaign imagery around the original catalogue. */
.atelier-hero { min-height:760px; height:92svh; max-height:1060px; background:#230d14; }
.atelier-hero .chapter-hero-content { padding-top:clamp(165px,20vh,220px); }
.atelier-hero .chapter-veil { background:linear-gradient(90deg,#1d0713d9 0%,#1d071380 34%,#1d071300 70%),linear-gradient(0deg,#190b15de,transparent 35%,#190b151a); }
.atelier-hero h1 { font-size:clamp(48px,5.7vw,85px); max-width:900px; }
.atelier-hero .chapter-hero-description { max-width:455px; font-size:13px; }
.atelier-hero .hero-actions { gap:28px; margin-top:27px; }
.atelier-hero .btn.primary { background:#f1e2d1; color:#58192b; }
.atelier-hero .hero-text-link { color:#f0dfd0; }
.atelier-hero .hero-atmosphere { z-index:-1; }
.atelier-orbit { position:absolute; z-index:-1; top:19%; right:4%; width:43vw; height:43vw; max-width:800px; max-height:800px; border:1px solid #f2d5af25; border-radius:50%; animation:atelier-orbit 65s linear infinite; pointer-events:none; }
.atelier-orbit::before { content:""; position:absolute; inset:24px; border:1px solid #f2d5af0e; border-radius:50%; }
.atelier-orbit::after { content:""; position:absolute; width:5px; height:5px; background:#efc69d; box-shadow:0 0 20px #efc69d; top:50%; left:-3px; border-radius:50%; }
.atelier-stamp { position:absolute; right:var(--gutter); bottom:155px; color:#f0d0b799; display:grid; gap:13px; text-align:right; font-size:9px; letter-spacing:.15em; }
.atelier-stamp strong { font:italic 26px Georgia,serif; letter-spacing:0; font-weight:400; }
.collection-page .chapter-nav { border-bottom-color:#d5c4b6; }
.collection-page #catalogue { scroll-margin-top:155px; }
.collection-intro { padding:70px var(--gutter) 55px; display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:end; }
.collection-intro h2 { margin:18px 0 0; font:500 clamp(27px,3vw,44px)/1.6 var(--serif); }
.collection-intro h2 em { font-style:normal; color:var(--burgundy); }
.collection-intro p:not(.eyebrow) { color:var(--muted); font-size:13px; line-height:2; margin:0; }
.collection-scenarios { display:flex; flex-wrap:wrap; gap:12px 23px; border-top:1px solid var(--line); padding-top:22px; margin-top:23px; }
.collection-scenarios span { font-size:10px; letter-spacing:.1em; color:var(--burgundy); }
.collection-scenarios span::before { content:""; display:inline-block; width:12px; height:12px; vertical-align:-1px; margin-right:8px; background-color:#ac856b; -webkit-mask:url("./assets/brand-star.svg") center/contain no-repeat; mask:url("./assets/brand-star.svg") center/contain no-repeat; }
.collection-page .product-family-section { padding-top:25px; padding-bottom:85px; }
.collection-page .product-family-head { text-align:left; margin:0 0 36px; }
.collection-page .product-family-head h2 { font-size:29px; }
.collection-page .product-family-head p { font-size:12px; }
.collection-page .product-family-grid { max-width:none; gap:30px; counter-reset:product-family; }
.collection-page .family-card { position:relative; border:1px solid #dfd2c8; background:var(--paper); }
.collection-page .family-card::before { counter-increment:product-family; content:counter(product-family,decimal-leading-zero); position:absolute; z-index:1; top:20px; left:24px; font:italic 15px Georgia,serif; color:#9c7464; }
.collection-page .family-card-media { aspect-ratio:4/4.2; background:white; padding:28px; }
.collection-page .family-card-copy { padding:28px 28px 32px; border-top:1px solid #eee5df; }
.collection-page .family-card-action { display:flex; justify-content:space-between; border-top:1px solid var(--line); margin-top:25px; padding-top:18px; font-size:12px; }
.collection-page .family-card-action i { font-size:22px; }
.collection-page .download-panel { max-width:none; padding:26px 30px; background:#ece2d8; border:0; margin-top:40px; }
.collection-page .download-copy strong { font:500 22px var(--serif); }
.collection-page .download-copy p { font-size:12px; }
.flavour-story { display:grid; grid-template-columns:1.05fr 1fr; background:#2b1921; color:var(--paper); min-height:530px; }
.flavour-story-image { position:relative; overflow:hidden; min-width:0; }
.flavour-story-image img { width:100%; height:100%; object-fit:cover; position:absolute; transition:transform 1.6s var(--ease); }
.flavour-story-image:hover img { transform:scale(1.05); }
.flavour-story-copy { padding:75px clamp(35px,6vw,100px); align-self:center; }
.flavour-story-copy .eyebrow { color:#cba08b; }
.flavour-story-copy h2 { font:500 clamp(29px,3vw,43px)/1.6 var(--serif); margin:22px 0; }
.flavour-story-copy h2 em { color:#dfb299; font-style:normal; }
.flavour-story-copy p:not(.eyebrow) { color:#c4b3b4; font-size:13px; line-height:2; }
.flavour-story-copy .text-link { color:#e0b599; border-color:#e0b59945; }
.collection-portals { display:grid; grid-template-columns:1fr 1fr; gap:30px; padding:20px var(--gutter) 85px; }
.collection-portal { position:relative; min-height:440px; overflow:hidden; isolation:isolate; padding:35px; display:flex; flex-direction:column; justify-content:end; color:var(--paper); background:#261019; }
.collection-portal img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:65% center; z-index:-2; transition:transform 1.2s var(--ease); }
.collection-portal::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,#1a0818eb,transparent 90%); }
.collection-portal:hover img { transform:scale(1.06); }
.collection-portal>span:first-of-type { font:10px Georgia,serif; letter-spacing:.18em; color:#e3b495; }
.collection-portal h2 { font:500 34px var(--serif); margin:18px 0 15px; }
.collection-portal p { font-size:12px; line-height:1.9; max-width:75%; margin:0; color:#ddc8c2; }
.collection-portal .round-arrow { right:30px; bottom:35px; }
.collection-page .product-list-section,.collection-page .section.tinted { background:var(--paper); }
.collection-page .section-head { max-width:none; }
.collection-page .section-head h2 { font-family:var(--serif); font-weight:500; }
.collection-page .section-head p { font-size:13px; }
.collection-page .product-card { background:#fcfaf6; }
.collection-cta { padding:70px var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:40px; background:#e9dcd1; }
.collection-cta h2 { font:500 clamp(28px,3.3vw,46px)/1.55 var(--serif); margin:15px 0 0; }
.collection-cta .btn { flex-shrink:0; }
.taste-signature { display:flex; justify-content:space-between; gap:20px; padding:24px var(--gutter); border-bottom:1px solid var(--line); background:var(--cream); }
.taste-signature span { font-size:10px; color:var(--muted); letter-spacing:.13em; }

/* Traceability is a capability story and an interactive explanation, not a simulated batch query. */
.trace-intro { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:center; }
.trace-intro h2 { font:500 clamp(30px,3.5vw,50px)/1.55 var(--serif); margin:20px 0; }
.trace-intro-copy>p:not(.eyebrow) { color:var(--muted); line-height:2; font-size:14px; }
.trace-principles { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); margin-top:28px; padding-top:25px; gap:20px; }
.trace-principles strong { display:block; font:italic 24px Georgia,serif; color:var(--burgundy); }
.trace-principles span { display:block; font-size:11px; margin-top:10px; color:var(--muted); }
.trace-intro-image { position:relative; min-width:0; aspect-ratio:4/3.6; overflow:hidden; }
.trace-intro-image img { width:100%; height:100%; object-fit:cover; }
.trace-seal { position:absolute; right:20px; bottom:20px; width:100px; height:100px; border-radius:50%; border:1px solid #f0d4b485; background:#24111bb3; backdrop-filter:blur(16px); display:flex; flex-direction:column; justify-content:center; align-items:center; gap:8px; color:#e7c4a7; }
.trace-seal strong { font:italic 36px Georgia,serif; }
.trace-seal small { font-size:7px; letter-spacing:.15em; }
.trace-experience { padding:100px var(--gutter); color:#f6e9dd; background:#231b22; position:relative; isolation:isolate; overflow:hidden; }
.trace-experience::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.35; pointer-events:none; background-image:linear-gradient(#dec5b008 1px,transparent 1px),linear-gradient(90deg,#dec5b008 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(transparent,#000 40%,transparent); }
.trace-experience-head { display:flex; justify-content:space-between; align-items:end; gap:40px; }
.trace-experience .eyebrow { color:#c99d85; }
.trace-experience h2 { font:500 clamp(30px,3.8vw,54px)/1.5 var(--serif); margin:20px 0 15px; }
.trace-experience h2 em { color:#dfb99f; font-style:normal; }
.trace-experience-head p:not(.eyebrow) { color:#bcacb0; font-size:13px; line-height:1.9; max-width:580px; }
.trace-directions { display:flex; border:1px solid #b7907b4d; border-radius:999px; padding:5px; flex-shrink:0; margin-bottom:15px; gap:3px; }
.trace-directions button { background:none; color:#bda8ae; border:0; border-radius:99px; padding:13px 23px; font-size:12px; cursor:pointer; transition:background .35s,color .35s; }
.trace-directions button[aria-pressed="true"] { background:#e5c4ac; color:#3b1a2a; }
.trace-path-caption { display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:10px; letter-spacing:.12em; color:#ae8c8b; margin-top:50px; }
.trace-path-caption strong { color:#d8b9a9; font-weight:400; }
.trace-track { position:relative; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:18px; margin:25px 0 45px; isolation:isolate; }
.trace-track::before { content:""; position:absolute; top:37px; left:8.4%; right:8.4%; height:1px; background:#9c796560; z-index:-1; }
.trace-flow { position:absolute; left:8.4%; right:8.4%; top:34px; height:7px; overflow:hidden; z-index:-1; pointer-events:none; }
.trace-flow::after { content:""; position:absolute; width:42px; height:2px; top:3px; background:linear-gradient(90deg,transparent,#fbd8af); box-shadow:3px 0 7px #eec092; animation:trace-stream 6s linear infinite; }
.trace-node { display:flex; align-items:center; flex-direction:column; padding:0 4px; border:0; background:none; color:#baabb0; cursor:pointer; gap:17px; min-width:0; }
.trace-orb { display:grid; place-items:center; height:75px; width:75px; border:1px solid #aa837050; background:#231b22; border-radius:50%; position:relative; color:#b18b76; font:italic 23px Georgia,serif; transition:border-color .4s,box-shadow .4s,background .4s,color .4s,transform .4s; }
.trace-orb::after { content:""; position:absolute; inset:7px; border:1px solid #d5b39918; border-radius:50%; }
.trace-node[aria-selected="true"] .trace-orb { color:#f7ddbc; border-color:#d8b590; background:#4b2c33; box-shadow:0 0 30px #d79e772b,inset 0 0 25px #c9927418; }
.trace-node:hover .trace-orb { transform:translateY(-4px); border-color:#d8b590; }
.trace-node[aria-selected="true"] { color:#f1d6ba; }
.trace-node>span:last-child { font-size:12px; text-align:center; line-height:1.7; }
.trace-panel { display:grid; grid-template-columns:.85fr 1.15fr; border:1px solid #ae82732e; min-height:365px; background:#30212a; }
.trace-panel-visual { overflow:hidden; position:relative; min-width:0; background:#251b20; }
.trace-panel-visual img { width:100%; height:100%; position:absolute; object-fit:cover; }
.trace-panel-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#2012218a,transparent 60%); }
.trace-panel-visual>span { position:absolute; bottom:22px; left:25px; font-size:9px; letter-spacing:.16em; color:#ecd4ba; z-index:1; }
.trace-panel-copy { padding:40px 45px; min-width:0; }
.trace-detail-top { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:22px; }
.trace-detail-top small { font:9px Georgia,serif; letter-spacing:.2em; color:#b89682; }
.trace-detail-count { font:italic 17px Georgia,serif; color:#b99b8b; }
.trace-panel h3 { font:500 31px/1.45 var(--serif); margin:0 0 14px; }
.trace-panel-copy>p { color:#bdaeb4; font-size:13px; line-height:2; margin:0; }
.trace-records { display:flex; flex-wrap:wrap; gap:9px; margin:25px 0 8px; padding:0; list-style:none; }
.trace-records li { padding:8px 12px; border:1px solid #c0967a30; color:#d2b7a9; font-size:10px; }
.trace-panel .text-link { color:#e0b99d; border-color:#e0b99d40; font-size:11px; }
.trace-controls { display:flex; align-items:center; gap:16px; margin-top:24px; justify-content:flex-end; }
.trace-controls button { height:40px; width:40px; border:1px solid #c3998160; border-radius:50%; color:#e3b798; background:transparent; cursor:pointer; font-size:21px; transition:background .3s; }
.trace-controls button:hover { background:#65414b; }
.trace-controls small { color:#9e838f; margin-right:auto; font-size:10px; }
.trace-index { margin-top:40px; border-top:1px solid #ffffff1a; padding-top:25px; color:#bca9ad; }
.trace-index summary { cursor:pointer; width:max-content; max-width:100%; font-size:12px; }
.trace-index-content { display:grid; grid-template-columns:1fr 1fr; gap:50px; padding-top:25px; }
.trace-index h2,.trace-index h3 { font:500 23px/1.5 var(--serif); color:#e6c2a8; margin:0 0 15px; }
.trace-index p { font-size:12px; line-height:1.9; color:#bfafb5!important; }
.trace-index ol { display:flex; gap:9px 20px; flex-wrap:wrap; padding-left:20px; font-size:12px; line-height:2; }
.trust-value-head { display:flex; justify-content:space-between; align-items:end; gap:50px; margin-bottom:50px; }
.trust-value-head h2 { font:500 clamp(31px,3.5vw,50px)/1.5 var(--serif); margin:20px 0 0; }
.trust-value-head>p { font-size:13px; line-height:1.9; color:var(--muted); max-width:370px; }
.trust-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #cbb8aa; }
.trust-values article { padding:40px 40px 5px 0; }
.trust-values article+article { padding-left:40px; border-left:1px solid var(--line); }
.trust-values span { font:italic 38px Georgia,serif; color:#b68c77; }
.trust-values h3 { font:500 28px var(--serif); margin:30px 0 20px; }
.trust-values p { font-size:13px; line-height:2; color:var(--muted); }
.trace-evidence { display:grid; grid-template-columns:1fr 1fr; gap:7vw; align-items:center; background:#eee4db; }
.trace-evidence-image { aspect-ratio:4/3.4; overflow:hidden; }
.trace-evidence-image img { height:100%; width:100%; object-fit:cover; }
.trace-evidence h2 { font:500 clamp(29px,3.5vw,48px)/1.55 var(--serif); margin:22px 0; }
.trace-evidence p:not(.eyebrow) { font-size:13px; line-height:2; color:var(--muted); }
.collection-page.lang-en .atelier-hero h1 { max-width:780px; }
.collection-page.lang-en .trace-node>span:last-child { font-size:10px; }
.collection-page.lang-en .trace-panel h3 { font-family:Georgia,serif; }
@keyframes atelier-orbit { to { transform:rotate(360deg); } }
@keyframes trace-stream { from { left:-50px; } to { left:calc(100% + 50px); } }
@media(max-width:1180px) {
  .trace-panel-copy { padding:35px; }
  .trace-directions button { padding-inline:18px; }
  .trace-track { gap:12px; }
  .collection-page .family-card-media { padding:22px; }
  .collection-page .family-card-copy { padding:24px; }
}
@media(max-width:900px) {
  .atelier-hero { min-height:760px; height:90svh; }
  .atelier-hero h1 { font-size:60px; }
  .atelier-orbit { width:65vw; height:65vw; right:-10%; top:28%; }
  .collection-intro { gap:40px; }
  .collection-page .product-family-grid { gap:20px; }
  .collection-page .family-card-media { aspect-ratio:4/4.3; }
  .collection-portal { min-height:380px; padding:27px; }
  .collection-portal h2 { font-size:28px; }
  .flavour-story { min-height:440px; }
  .flavour-story-copy { padding:50px 35px; }
  .trace-intro { gap:40px; }
  .trace-experience { padding:75px var(--gutter); }
  .trace-experience-head { display:block; }
  .trace-directions { width:max-content; margin:25px 0 0; }
  .trace-orb { height:60px; width:60px; font-size:21px; }
  .trace-track::before { top:30px; }
  .trace-flow { top:27px; }
  .trace-panel { grid-template-columns:.8fr 1.2fr; }
  .trace-panel-copy { padding:30px; }
  .trace-panel h3 { font-size:29px; }
  .trust-values article { padding-right:25px; }
  .trust-values article+article { padding-left:25px; }
}
@media(max-width:620px) {
  .atelier-hero { min-height:790px; height:100svh; max-height:950px; }
  .atelier-hero .chapter-hero-content { padding-top:150px; }
  .atelier-hero h1 { font-size:clamp(37px,10vw,52px); line-height:1.45; max-width:100%; }
  .atelier-hero .chapter-hero-description { font-size:12px; line-height:2; }
  .atelier-hero .chapter-veil { background:linear-gradient(90deg,#1d0713dd,#1d071365),linear-gradient(0deg,#190b15e6,transparent 85%); }
  .atelier-hero .cinema-image img { object-position:65% center; }
  .atelier-hero .hero-actions { gap:20px; }
  .atelier-hero .hero-actions .btn { flex:0 1 auto; }
  .atelier-stamp { display:none; }
  .atelier-orbit { width:90vw; height:90vw; right:-35%; }
  .collection-intro { grid-template-columns:1fr; gap:24px; padding:55px 24px 40px; }
  .collection-intro h2 { font-size:29px; margin-top:15px; }
  .collection-intro p:not(.eyebrow) { font-size:12px; }
  .collection-scenarios { gap:12px 18px; }
  .collection-page .product-family-section { padding:15px 24px 60px; }
  .collection-page .product-family-head h2 { font-size:28px; }
  .collection-page .product-family-grid { grid-template-columns:1fr; gap:28px; }
  .collection-page .family-card-media { aspect-ratio:4/3.8; padding:30px; }
  .collection-page .download-panel { padding:25px; }
  .collection-page .download-copy strong { font-size:20px; }
  .collection-page .download-copy p { font-size:11px; }
  .collection-page #catalogue { scroll-margin-top:135px; }
  .flavour-story { grid-template-columns:1fr; }
  .flavour-story-image { aspect-ratio:4/3.5; }
  .flavour-story-copy { padding:45px 24px 55px; }
  .flavour-story-copy h2 { font-size:30px; }
  .collection-portals { grid-template-columns:1fr; gap:25px; padding:0 24px 55px; }
  .collection-portal { min-height:370px; padding:25px; }
  .collection-portal p { max-width:80%; }
  .collection-cta { display:block; padding:50px 24px; }
  .collection-cta h2 { font-size:31px; }
  .collection-cta .btn { margin-top:27px; }
  .taste-signature { padding:21px 24px; gap:15px; }
  .taste-signature span { font-size:8px; letter-spacing:.04em; }
  .trace-intro { grid-template-columns:1fr; gap:30px; }
  .trace-intro h2 { font-size:32px; }
  .trace-intro-copy>p:not(.eyebrow) { font-size:13px; }
  .trace-principles { gap:14px; }
  .trace-principles strong { font-size:22px; }
  .trace-principles span { font-size:10px; }
  .trace-experience { padding:65px 24px; }
  .trace-experience h2 { font-size:34px; }
  .trace-experience-head p:not(.eyebrow) { font-size:12px; }
  .trace-directions { width:100%; }
  .trace-directions button { flex:1; padding-inline:13px; }
  .trace-path-caption { margin-top:35px; letter-spacing:.03em; font-size:9px; gap:12px; }
  .trace-track { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:25px; column-gap:8px; margin:27px 0 33px; }
  .trace-track::before,.trace-flow { display:none; }
  .trace-node { gap:10px; }
  .trace-node>span:last-child { font-size:11px; }
  .trace-orb { height:59px; width:59px; font-size:20px; }
  .trace-panel { grid-template-columns:1fr; }
  .trace-panel-visual { aspect-ratio:4/2.8; }
  .trace-panel-copy { padding:28px 24px; }
  .trace-panel h3 { font-size:28px; }
  .trace-panel-copy>p { font-size:12px; }
  .trace-records { gap:7px; }
  .trace-records li { padding:7px 10px; font-size:9px; }
  .trace-controls { gap:10px; }
  .trace-controls small { font-size:9px; max-width:60%; line-height:1.8; }
  .trace-index-content { grid-template-columns:1fr; gap:18px; }
  .trust-value-head { display:block; margin-bottom:32px; }
  .trust-value-head h2 { font-size:32px; }
  .trust-value-head>p { font-size:12px; margin-top:24px; }
  .trust-values { grid-template-columns:1fr; }
  .trust-values article,.trust-values article+article { padding:30px 0; border-left:0; border-bottom:1px solid var(--line); }
  .trust-values span { font-size:30px; }
  .trust-values h3 { font-size:26px; margin:20px 0 15px; }
  .trace-evidence { grid-template-columns:1fr; gap:30px; }
  .trace-evidence h2 { font-size:31px; }
  .collection-page.lang-en .atelier-hero { min-height:920px; }
  .collection-page.lang-en .atelier-hero h1 { font-size:clamp(35px,9vw,46px); }
  .collection-page.lang-en .trace-node>span:last-child { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) { .atelier-orbit,.trace-flow::after { animation:none; } }
.motion-paused .trace-panel img { transition:none; }
.trace-experience:not(.trace-is-visible) .trace-flow::after { animation-play-state:paused; }
.collection-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.collection-page #trace-journey,.collection-page #trace-values,.collection-page #trace-evidence { scroll-margin-top:155px; }
