/* The collection connects the Institution's editorial homepage to practical treatment detail. */
.collection-matrix-home { padding:clamp(63px,7vw,114px) var(--pad); background:#faf7f1; color:#353530; }
.collection-home-head { display:grid; grid-template-columns:1.15fr .65fr; gap:clamp(28px,8vw,110px); align-items:end; margin-bottom:38px; }
.collection-home-head h2,.collection-page-intro h1 { font:500 clamp(52px,6vw,97px)/.97 var(--serif); letter-spacing:-.035em; margin:18px 0 0; }
.collection-home-head em,.collection-page-intro em { color:#87515b; }
.collection-home-head>div:last-child>p { font:14px/1.75 'DM Sans',sans-serif; color:#575b53; max-width:415px; }
.collection-home-head .text-link { font:600 10px/1.5 'DM Sans',sans-serif; letter-spacing:.13em; color:#774c52; display:inline-block; padding:12px 0 6px; border-bottom:1px solid #ad8a76; }
.mini-collection-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:11px; }
.mini-collection-grid>a { min-width:0; min-height:213px; padding:22px clamp(12px,1.7vw,25px); background:#efe9df; border-top:2px solid #80515a; display:flex; flex-direction:column; color:#353732; transition:background .2s ease,transform .2s ease; }
.mini-collection-grid>a:hover { background:#e7dbcf; transform:translateY(-3px); }
.mini-collection-grid span { color:#82565e; font:600 9px/1.4 'DM Sans',sans-serif; letter-spacing:.12em; }
.mini-collection-grid strong { font:500 clamp(22px,2.1vw,33px)/1.07 var(--serif); margin:19px 0 14px; }
.mini-collection-grid small { font:12px/1.55 'DM Sans',sans-serif; color:#64675e; }
.mini-collection-grid b { font:600 9px/1.4 'DM Sans',sans-serif; letter-spacing:.09em; color:#75515a; margin-top:auto; padding-top:22px; }
.collection-home-note { margin:17px 0 0; font:11px/1.65 'DM Sans',sans-serif; color:#6c7069; }
.collection-page { background:#faf8f4; color:#333730; }
.collection-page-intro { padding:clamp(68px,7vw,110px) var(--pad) clamp(46px,5vw,70px); display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.65fr); gap:60px; align-items:end; background:#efe9df; border-bottom:1px solid #d9cdc0; }
.collection-page-intro p:not(.eyebrow) { font:15px/1.72 'DM Sans',sans-serif; color:#565b53; max-width:520px; }
.collection-stage-note { background:#f9f6f1; border-left:2px solid #94656b; padding:24px 29px; margin-top:20px; }
.collection-stage-note strong,.collection-stage-note span { display:block; font:600 10px/1.65 'DM Sans',sans-serif; letter-spacing:.09em; }
.collection-stage-note strong { color:#7a4b55; margin-bottom:6px; }
.collection-stage-note span { font-weight:400; letter-spacing:0; font-size:12px; color:#555d52; }
.collection-chooser { padding:55px var(--pad) 90px; }
.collection-chooser-top { display:flex; justify-content:space-between; align-items:baseline; gap:20px; margin-bottom:29px; border-bottom:1px solid #c9bdb1; padding-bottom:15px; }
.collection-chooser-top h2 { font:500 clamp(36px,3.4vw,53px)/1.08 var(--serif); margin:0; }
.collection-chooser-top>span { font:600 9px/1.5 'DM Sans',sans-serif; letter-spacing:.12em; color:#76525a; text-align:right; }
.collection-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.collection-product { min-width:0; background:#fffdf9; border:1px solid #ded4c8; display:flex; flex-direction:column; overflow:hidden; }
.collection-product-visual { height:340px; position:relative; overflow:hidden; background:#eae1d5; display:flex; align-items:center; justify-content:center; }
.collection-product-visual>img { width:100%; height:100%; object-fit:cover; object-position:68% center; display:block; transition:transform .35s ease; }
.collection-product:hover .collection-product-visual>img { transform:scale(1.035); }
.collection-product-visual.barrier { background:radial-gradient(ellipse at 50% 38%,#f2e5d5,#ccbeb0); }
.collection-product-visual.refine { background:radial-gradient(ellipse at 52% 32%,#f4eee7,#cfc6bc); }
.collection-product-visual.tonic { background:radial-gradient(ellipse at 52% 32%,#e9ebdf,#c8cfc2); }
.collection-status { position:absolute; top:17px; left:17px; background:#f9f5eeec; color:#664650; padding:8px 11px; font:600 8px/1.4 'DM Sans',sans-serif; letter-spacing:.13em; }
.collection-product-body { padding:27px 28px 29px; display:flex; flex-direction:column; flex:1; }
.collection-product-body>span { color:#85525d; font:600 9px/1.4 'DM Sans',sans-serif; letter-spacing:.12em; }
.collection-product h3 { font:500 clamp(32px,3.15vw,47px)/1.04 var(--serif); letter-spacing:-.025em; margin:12px 0 16px; }
.collection-product-body p { color:#525951; font:13px/1.65 'DM Sans',sans-serif; margin:0 0 16px; }
.collection-product-facts { border-top:1px solid #d9cdc1; margin:7px 0 20px; padding:14px 0; list-style:none; display:grid; gap:10px; }
.collection-product-facts li { font:12px/1.4 'DM Sans',sans-serif; color:#454c43; }
.collection-product-facts b { display:block; font:600 9px/1.4 'DM Sans',sans-serif; color:#81535e; letter-spacing:.1em; margin-bottom:4px; }
.collection-product-body>a { margin-top:auto; padding:13px 0 5px; border-top:1px solid #ad887a; color:#754853; font:600 10px/1.4 'DM Sans',sans-serif; letter-spacing:.1em; display:flex; justify-content:space-between; }
.collection-product-body>a:hover { color:#3c2530; }
.concept-vial { width:90px; height:244px; position:relative; margin:26px auto 0; filter:drop-shadow(10px 14px 10px #5b504437); transform:rotate(-1deg); }
.concept-vial .cap { position:absolute; top:0; left:11px; width:68px; height:48px; border-radius:10px 10px 3px 3px; background:linear-gradient(90deg,#6a6761,#fafafa 20%,#95938f 45%,#fafafa 68%,#787772 100%); box-shadow:0 3px 4px #615a5030; z-index:2; }
.concept-vial .glass { position:absolute; inset:42px 0 0; border-radius:9px 9px 16px 16px; background:linear-gradient(90deg,#fffdfa7c,#fbf7eae8 24%,#e7e0d4ee 62%,#fff9ef95); border:1px solid #ffffffa1; box-shadow:inset -9px 0 11px #867a7222; display:flex; justify-content:center; align-items:center; }
.concept-vial .vial-label { width:83px; min-height:111px; background:#593740; border:1px solid #c2a27a; box-shadow:0 0 0 3px #593740; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:8px 4px; text-align:center; color:#f0dfc3; }
.concept-vial .vial-label small { font:600 5px/1.5 'DM Sans',sans-serif; letter-spacing:.1em; }
.concept-vial .vial-label strong { font:500 14px/.98 var(--serif); margin:9px 0; }
.concept-vial .vial-label em { font:500 6px/1.4 'DM Sans',sans-serif; letter-spacing:.07em; font-style:normal; }
.collection-note-bottom { padding:40px; margin-top:38px; background:#eee5da; border-left:3px solid #89565f; }
.collection-note-bottom h2 { font:500 39px/1.1 var(--serif); margin:0 0 14px; }
.collection-note-bottom p { font:13px/1.7 'DM Sans',sans-serif; max-width:850px; color:#535850; }
.collection-note-bottom a { display:inline-block; margin-top:12px; color:#784b54; border-bottom:1px solid #a88f81; padding-bottom:5px; font:600 10px/1.5 'DM Sans',sans-serif; letter-spacing:.1em; }
/* Additional product details: deliberately provisional rather than fake finished product pages. */
.secondary-detail-page { background:#faf8f4; }
.secondary-detail-page .detail-hero { background:#eee7dd; }
.secondary-detail-page .detail-hero-copy h1 { font-size:clamp(51px,5.6vw,86px); }
.secondary-detail-visual { min-height:590px; display:flex; flex-direction:column; justify-content:center; background:radial-gradient(ellipse at center,#f4ebdf,#cfc4b5); margin:0; }
.secondary-detail-visual.barrier { background:radial-gradient(ellipse at center,#f4e9dc,#cbb9a5); }
.secondary-detail-visual.refine { background:radial-gradient(ellipse at center,#f3ede7,#c9c4c0); }
.secondary-detail-visual.tonic { background:radial-gradient(ellipse at center,#f4f4e7,#c8d0c2); }
.secondary-detail-visual .concept-vial { width:150px; height:400px; transform:scale(1.4); transform-origin:center; margin-top:40px; margin-bottom:40px; }
.secondary-detail-visual figcaption { color:#684c4c; font:600 9px/1.5 'DM Sans',sans-serif; letter-spacing:.11em; text-align:center; margin:0 18px 26px; }
.secondary-detail-page .detail-small { max-width:650px; }
.secondary-detail-page .detail-return { background:#eee5da; }
.secondary-detail-info { background:#fcfaf6; padding:72px var(--pad); display:grid; grid-template-columns:.6fr 1fr; gap:clamp(25px,7vw,120px); }
.secondary-detail-info h2 { font:500 clamp(43px,4.5vw,67px)/1.06 var(--serif); margin:15px 0; }
.secondary-detail-info dl { margin:0; }
.secondary-detail-info dt { color:#89565d; font:600 10px/1.5 'DM Sans',sans-serif; letter-spacing:.12em; border-top:1px solid #d5cabe; padding-top:17px; }
.secondary-detail-info dd { margin:8px 0 22px; font:14px/1.7 'DM Sans',sans-serif; color:#52574f; }
.secondary-detail-info dd.ingredients { overflow-wrap:anywhere; }
@media(max-width:1100px) { .mini-collection-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.collection-products { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:800px) { .collection-home-head,.collection-page-intro,.secondary-detail-info { grid-template-columns:1fr; gap:17px; }.collection-home-head>div:last-child { max-width:650px; }.secondary-detail-visual { min-height:420px; } }
@media(max-width:650px) { .collection-matrix-home,.collection-chooser,.secondary-detail-info { padding:58px 23px; }.collection-home-head h2,.collection-page-intro h1 { font-size:clamp(48px,13vw,65px); }.mini-collection-grid { grid-template-columns:1fr 1fr; gap:9px; }.mini-collection-grid>a { padding:19px 15px; min-height:190px; }.mini-collection-grid strong { font-size:26px; }.mini-collection-grid small { font-size:11px; }.collection-page-intro { padding:55px 23px 45px; }.collection-products { grid-template-columns:1fr; }.collection-product-visual { height:310px; }.collection-product-body { padding:26px; }.collection-chooser-top { align-items:start; }.collection-chooser-top h2 { font-size:36px; }.collection-chooser-top>span { font-size:8px; }.collection-note-bottom { padding:26px; }.secondary-detail-visual { min-height:360px; }.secondary-detail-visual .concept-vial { transform:scale(1.02); margin:20px auto; }.secondary-detail-visual figcaption { font-size:8px; } }
@media(max-width:400px) { .mini-collection-grid { grid-template-columns:1fr; }.mini-collection-grid>a { min-height:0; }.mini-collection-grid strong { margin:12px 0; } }
@media(prefers-reduced-motion:reduce) { .mini-collection-grid>a,.collection-product-visual>img { transition:none; } }

/* Product gallery: two image-led tiles across, repeated vertically. */
.mini-collection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.mini-collection-grid>a { display:flex; flex-direction:column; aspect-ratio:1 / .97; min-height:0; padding:0; border:1px solid #d4c7bc; background:#f6f1e9; overflow:hidden; transform:none; }
.mini-collection-grid>a:hover { transform:none; background:#f6f1e9; }
.mini-tile-media { display:flex; align-items:center; justify-content:center; position:relative; flex:1 1 auto; min-height:0; background:#e9dfd3; overflow:hidden; }
.mini-tile-media>img { display:block; width:100%; height:100%; object-fit:cover; object-position:67% center; transition:transform .3s ease; }
.mini-collection-grid>a:hover .mini-tile-media>img { transform:scale(1.03); }
.mini-tile-media.barrier { background:radial-gradient(ellipse at center,#f0e6d9,#cfc1b2); }
.mini-tile-media.refine { background:radial-gradient(ellipse at center,#f5eee7,#d1c6bc); }
.mini-tile-media.tonic { background:radial-gradient(ellipse at center,#eef0e2,#c6cfc1); }
.mini-tile-media .concept-vial { transform:scale(1.12); transform-origin:center; }
.mini-tile-caption { flex:0 0 auto; width:100%; min-height:125px; padding:18px 25px 21px; display:grid; grid-template-columns:1fr auto; align-content:center; column-gap:14px; background:#f7f3ec; }
.mini-tile-caption span { grid-column:1 / -1; color:#82565e; }
.mini-tile-caption strong { display:block; font:500 clamp(28px,3.25vw,48px)/1.07 var(--serif); margin:9px 0 0; }
.mini-tile-caption b { align-self:end; white-space:nowrap; padding:0 0 7px; }
.mini-collection-grid>a.mini-collection-guide { background:#68464f; border-color:#68464f; }
.mini-collection-grid>a.mini-collection-guide:hover { background:#5e3e47; }
.mini-tile-guide { flex:1; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:clamp(25px,5vw,75px); color:#f7ebdf; width:100%; background:radial-gradient(circle at 80% 10%,#93727a,#68464f 63%); }
.mini-tile-guide>span { color:#e0c9b7; }
.mini-tile-guide strong { font:500 clamp(42px,5vw,76px)/.98 var(--serif); margin:25px 0; color:#f9efe5; }
.mini-tile-guide strong em { color:#e9c4bd; }
.mini-tile-guide b { margin-top:20px; border-bottom:1px solid #d1b3a1; padding:0 0 9px; color:#f9efe5; font-size:10px; }

/* Full collection also displays exactly two product cards per row. */
.collection-products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.collection-product { min-height:0; aspect-ratio:1 / 1.08; }
.collection-product-visual { height:auto; flex:1 1 58%; min-height:0; }
.collection-product-body { flex:0 0 auto; padding:17px 25px 21px; }
.collection-product-body h3 { font-size:clamp(30px,3.1vw,44px); margin:7px 0 9px; }
.collection-product-body p { margin:0 0 8px; line-height:1.45; }
.collection-product-facts { margin:0 0 8px; padding:8px 0; display:flex; gap:20px; }
.collection-product-facts li { flex:1; min-width:0; font-size:10px; line-height:1.35; }
.collection-product-facts b { font-size:8px; }
.collection-product-body>a { margin:0; padding:9px 0 0; }

@media(max-width:900px) {
  .mini-tile-caption { grid-template-columns:1fr; min-height:135px; padding:17px 20px; }
  .mini-tile-caption b { padding:10px 0 0; }
  .mini-tile-media .concept-vial { transform:scale(1); }
  .collection-product { aspect-ratio:1 / 1.25; }
  .collection-product-facts { display:none; }
  .collection-product-body { padding:18px 19px; }
  .collection-product-body p { font-size:12px; }
}
@media(max-width:650px) {
  .mini-collection-grid,.collection-products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .mini-collection-grid>a { aspect-ratio:1 / 1.25; }
  .mini-tile-caption { min-height:80px; padding:10px 10px 12px; }
  .mini-tile-caption span { font-size:7px; letter-spacing:.07em; }
  .mini-tile-caption strong { font-size:clamp(21px,5.6vw,26px); line-height:1; margin:6px 0 0; }
  .mini-tile-caption b { font-size:7px; padding:6px 0 0; }
  .mini-tile-media .concept-vial { transform:scale(.66); }
  .mini-tile-guide { padding:16px; }
  .mini-tile-guide>span { font-size:7px; }
  .mini-tile-guide strong { font-size:clamp(22px,6vw,34px); margin:14px 0; }
  .mini-tile-guide b { font-size:7px; margin-top:7px; }
  .collection-product { aspect-ratio:1 / 1.37; }
  .collection-product-visual { flex:1 1 auto; }
  .collection-product-body { padding:11px 11px 13px; }
  .collection-product-body>span { font-size:7px; letter-spacing:.08em; }
  .collection-product h3 { font-size:clamp(23px,6vw,29px); margin:6px 0; line-height:1; }
  .collection-product-body p,.collection-product-facts { display:none; }
  .collection-product-body>a { font-size:7px; letter-spacing:.045em; padding:7px 0 0; }
  .collection-status { top:8px; left:8px; font-size:6px; padding:5px 6px; max-width:calc(100% - 16px); }
  .collection-product-visual .concept-vial { transform:scale(.71); }
  .collection-chooser { padding-inline:17px; }
}
@media(max-width:400px) {
  .mini-collection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mini-tile-caption strong { font-size:21px; }
  .collection-product h3 { font-size:22px; }
}

/* Photographic product studies replace the temporary CSS-drawn bottles. */
.detail-hero figure.secondary-detail-visual { position:relative; display:block; height:720px; min-height:0; max-height:750px; overflow:hidden; }
.detail-hero figure.secondary-detail-visual img { display:block; width:100%; height:100%; min-height:0; object-fit:cover; object-position:68% center; }
.secondary-detail-visual figcaption { position:absolute; left:16px; bottom:16px; max-width:calc(100% - 32px); margin:0; padding:8px 11px; background:#faf7f1ea; color:#75525c; text-align:left; font-size:8px; }
@media(max-width:800px) { .detail-hero figure.secondary-detail-visual { height:380px; } }
@media(max-width:650px) { .detail-hero figure.secondary-detail-visual { height:310px; } .secondary-detail-visual figcaption { left:9px; bottom:9px; font-size:7px; padding:6px 8px; } }
